PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ein Neuronales Netzwer für einen AVR



teslanikola
07.04.2005, 21:31
Hallo Leute,
ich programmiere schon ne weile und durch zufall fiel mir ein 4 Teiliger Artikel im Elektor in die Hände, Titel: Praktische Neuronale Netzwerke.
Da ich begeisterter Elektor leser bin hab ich den mal gelesen und natürlich nix ( OK fast nix ) verstanden 8-[ ( trotz 3maligen lesens ).
Ich hab gehört, das Roboter mit Cams gesteuert werden können wenn man sie mit dem entsprechenden NN füttert. Reicht die leistung eines AVR für ein EINFACHES NN aus? Wenn ja, hat irgend jemand einen guten und verständlichen, mit Basic oder Bascom beispielen bestückte Einführung? Hat jemand schon NNs in ein AVR Flash gebrannt?
Helft mir Bitte [-o< !

Werner_Just
08.04.2005, 07:53
Hallo Nikola,

> Ich hab gehört, das Roboter mit Cams gesteuert werden können
> wenn man sie mit dem entsprechenden NN füttert.

mit dem entsprechenden NN können sie auch sprechen, fühlen, hören etc. :teufel:

> Reicht die leistung eines AVR für ein EINFACHES NN aus?

Wenn es einfach genug ist und langsam genug seien darf - JA!
Mehr als Trivialaufgaben, die sich ohne NN leichter lösen lassen würden, werden imo aber nicht in einen AVR passen.

> Wenn ja, hat irgend jemand einen guten und verständlichen, mit Basic
> oder Bascom beispielen bestückte Einführung?

Würde mich stark wundern.

> Hat jemand schon NNs in ein AVR Flash gebrannt?
Frag mal im Mikrocontroller.net oder bei den AVR-Freaks. BASCOM wird dort aber eher selten benutzt. Das Du dort jemanden findest, der das in C oder Assembler schonmal gemacht hat könnte ich mir vorstellen.

> Helft mir Bitte
Sorry, ich hab selbst keine Ahnung von NNs.
Wenn ich Dir etwas raten sollte, vergiß es. Auch wenn das Thema reizvoll ist, es übersteigt Deine Programmierfähigkeiten und vermutlich auch Dein Mathematik-Verständnis soweit, daß Du - zur Zeit zumindest - keine Chance hast auch nur ansatzweise auf einen grünen Zweig zu kommen.

Ciao,
Werner

flooze
08.04.2005, 12:40
ich fürchte die bilderkennung und das einfache neuronale netz passen nicht zusammen.

ein einfaches neuronales netz lässt sich bestimmt mit einem µC implementieren, da es sich im prinzip mit summen, produkten und vergleichen darstellen lässt. allerdings sind diese summen gewichtet, und diese gewichtung muss dem netz erstmal beigebracht werden.

falls du dich weiter einlesen willst:
Brause, Rüdiger
"Neuronale Netze"
ISBN 3-519-12247-2
B.G. Teubner Verlag, Stuttgart

noch eins auf englisch, laut meiner dozentin für neuronale netze sehr übersichtlich:
Cichocki, Andrzei und Unbehauen, Rolf
"Neuronal Networks for Optimisation and Signal Processing"
ISBN 3-519-06444-8
B.G. Teubner / John Wiley & Sons

millioneer
08.04.2005, 15:54
Es gibt da den SNNS - Stuttgart Neural Network Simulator (http://www-ra.informatik.uni-tuebingen.de/SNNS/) mit dem kann man NNs aufbauen, die trainieren und dann einen C-Quellcode mit den trainierten Werten und dem zugehörigen Algorithmus generieren lassen. Diesen kann man mit entsprechenden Anpassungen im WinAVR kompilieren und irgendwie dann verwenden.

Man darf nur nicht zuviel erwarten von neuronalen Netzen, das ist kein Wunderwerk auch wenn es manchmal so dargestellt wird.

Ich habe sowas schonmal für einen Roboter verwendet, falls den jemand kennt er heißt "Khepera" und ist kommerziell fertig erhältlich (http://www.k-team.com/robots/khepera/), hat 6 IR-Sensoren vorn und zwei hinten, links und rechts ein Rad. Das Ergebnis war aber eher bescheiden, das hätte man mit einem hand-gestrickten Algortihmus schneller hinbekommen. Vorteile ergeben sich nur wenn man keinen Plan hat wie man das programmieren soll, dann kann man diverse Trainingsdaten aufzeichenen, das in eine geeignetes NN kippen und das Ergebnis bildet ungefähr das ab, was man wollte, manchmal.

teslanikola
08.04.2005, 16:00
Äh also wenn ihr meint das des sehr kompliziert ist und es fast keine Basiccodes gibt, will ich das noch mal auf ICe lege und warten bis ich C/C++ für µC in der Schule lerne. Danke für eure Hilfe. War eh nur ne Frage aus interesse.

09.04.2005, 12:46
Hallo,

nix für ungut, das mit den neuronalen Netzen hat nicht nur was mit C zu tun tun, sondern das wichtigste dabei ist höhere Mathematik und Kybernetik und das musst dann in Code fassen, was du vorher mathematisch modelliert hast.

Gruß

Sven

teslanikola
09.04.2005, 14:42
Das mit C/c++ bezog sich auf das Programm,´des erzeugt den Qeullcode in C/C++.

Xeus
25.04.2005, 14:31
Hab ich auch schon mal damit befasst. Es ist möglch den roboter komplett über nn zusteuern. Dazu brauchst du eine webcam und ein programm z.b. mlab von mathworks, dass die bilder in hgv oder so umwandelt diese verarbeitet und mit den datenim nn vergleicht. und steuerbefehle über die serielle schnittstelle sussendet.mlab hat daür ein extra fuzzy logic tool

viel spass
xeus

Marco78
26.04.2005, 20:38
...und warten bis ich C/C++ für µC in der Schule lerne...
Sorry, gehört nicht zum Thema, aber was ist das für eine Schule :?:

teslanikola
27.04.2005, 11:01
Wie wärs mit dem Technischen Gymnasium

Marco78
27.04.2005, 17:00
Wie wärs mit dem Technischen Gymnasium
Eine Frage mit einer Gegenfrage beantworten ist unhöflich ;)

Werner_Just
28.04.2005, 07:53
Hallo Nikola,

da wir eh inzwischen OffTopic sind...
Auf Deiner Webseite fehlt das Impressum :teufel:

Ciao,
Werner

teslanikola
28.04.2005, 15:39
D fehlt noch so manches!!!!!!!!!!!!

plusminus
12.04.2007, 12:15
Hallo,

nix für ungut, das mit den neuronalen Netzen hat nicht nur was mit C zu tun tun, sondern das wichtigste dabei ist höhere Mathematik und Kybernetik und das musst dann in Code fassen, was du vorher mathematisch modelliert hast.

Gruß

Sven

Grade über die Suche auf den Thread gestoßen...

Lustig was hier so erzählt wird ^^

1. Man kann ein Neuronales Netz auch in ASSEMBLER programmieren, wenn man Spaß und Zeit dafür hat.

2. Du brauchst gar nix mehr mathematisch modellieren, weil das schon ca 2000x durchgekaut wurde und gut erklärt wird :!:

3. Ja es steckt ein wenige (kaum höhere) Mathematik dahinter außerdem noch ein paar Schleifen und Arrays... fertig.

4. Kybernetik ist vielleicht ein Überbegriff, unter den das Thema Neuronale Netze fällt, aber ich habe mir das auch so angelernt ohne den Begriff jemals bewusst gelesen zu haben...

5. Neuronale Netze sind kein Hexenwerk... (z.B: Texterkennung !)
http://www.alekto-programming.com/modules.php?name=News&file=article&sid=17

5. Habe auf meiner Page ein Backpropagation-Netz für .NET CF (also PDAs) veröffentlicht, dabei sind auch ein paar gute Links und eine Beispiel-Implementierung. Mit einem PDA kann man also sehr leicht einen Roboter "Intelligenz" einhauchen...
http://www.alekto-programming.com/modules.php?name=Content&pa=list_pages_categories&cid=10

7. In einem NN werden übrigens keine Daten gespeichert! Ein NN programmier sich selber und interpretiert/generalisiert Eingangs-Signale/Muster auf bestimmte AusgangsMuster :!:

- Bsp: Zeigst du deinem Roboter 30 mal, wie er eine 90° Kurve zu fahren hat, dann hast du gute Chancen, dass er auch ne Haarnadelkurve meistern wird.

:arrow: Die Entwicklung eines NNs für AVRs reizt mich irgendwie ^^ mal schauen was sich da ergibt =)

so far..
plusminus