- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 10 von 21

Thema: weltweit erstes Neuronales Jordan Netz auf Arduino Due !

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Robobionic
    Gast
    Hallo HaWe, da habe ich mich wohl etwas missverstaendlich ausgedrueckt.

    Ich war davon ausgegangen das Du Dir am Anfang noch nicht sicher ueber die Anforderungen und zukuenftige Entwicklung warst.

    Ich kam darauf weil Backpropagation keine Moeglichkeiten fuer "Erinnerungen" bietet. Ich dachte dies sei der Grund fuer Dich gewesen weshalb Du es dann erst spaeter mit Jordan umgesetzt hast.

  2. #2
    HaWe
    Gast
    ich glaube, das mit den "Erinnerungen" hast du falsch verstanden.
    Erinnern an gelernte Muster kann sich jedes Netz (z.B. beim mobilen Robot bei <50 cm Abstand ein Hindernis umfahren oder beim Anstoßen in Stück zurückfahren),
    aber ein Jordan Netz hat noch ein zusätzliches "automatisches Kurzzeitgedächtnis", um Situationen besser einzuordnen ("Was ist gerade kurz vorher geschehen und was hat sich soeben verändert?").
    Wenn nämlich der Abstand jetzt zwar 49cm ist, aber kurz vorher war er noch 47cm, dann entfernt er sich ja bereits wieder und muss gar nicht mehr irgendwas umfahren. Das könnte z.B. bei einem Tier als Hindernis passieren, das sich inzwischen bewegt hat - oder er fährt bereits schon schräg dran vorbei oder sogar rückwärts - oder was auch immer.
    Ich fürchte, du musst dazu wirklich mal eine gewisse Zeit investieren, um dich in die Theorie der Neuronalen Netze einzuarbeiten... bei mir sind es insgesamt fast 10 Jahre, allerdings mit enormen Unterbrechungen...
    Geändert von HaWe (20.08.2015 um 16:52 Uhr)

  3. #3
    Robobionic
    Gast
    Ja, ein spannendes Thema.

    Das von Dir genannte Beispiel ist für die praktische Anwendung in der Robotik von hoher Bedeutung.

    Je nach Anwendungszweck müssen autonome Roboter so schnell wie möglich auf ihre Umwelt reagieren.
    Das hat jetzt nur noch wenig mit Deinem Projekt zutun aber für die zukünftige Netze ist es ein unverzichtbares Thema.

    In der Praxis haben bisherige Modelle neuronaler Netze einige Nachteile, eines davon ist das wir vorhandenes Wissen nicht
    auf autonome Systeme übertragen können. Erfahrungen kann man nicht kopieren und vererben sondern müssen immer trainiert werden.
    Erschwerend hinzu kommt das Trainingsdaten nur simuliert werden und sehr Anwendungsspezifisch sind.

    Kompliziert wird es also immer dann wenn ein autonomes System vor ungelösten Aufgaben steht.
    Die Königsklasse künstlicher Intelligenz.

    Um Entscheidungsbäume zu entwickeln braucht es immer Antworten die sich durch mangelnde Erfahrung
    in bisher gelernten Mustern nicht so leicht finden lassen. Das System ist also Situationsbedingt
    unfähig selbstständig zu entscheiden.

    Um das zu verbessern orientiert man sich heute immer mehr an der Funktionsweise des menschlichen
    Gehirns, genauer gesagt an unserem Großhirn. Den Ansatz verfolgt auch IBM mit True North,
    ein Prozessor der die Neocortex von Säugetieren in einfacher Form simuliert.

    Die Leistung wird aber erst durch Spiking Netze möglich die sich somit auch besser eignen als Multilayer Perceptron
    vor allem dann wenn es sich um Anwendungsbereiche wie Sensorik und Mustererkennung handelt.

  4. #4
    HaWe
    Gast
    das klingt jetzt wie irgendwo abgeschrieben...
    aber es stimmt so nicht ganz:

    Selbstverständlich ist mein Jordan Netz für den DUE ja als autonomes System konzipiert,
    gelerntes / trainiertes Wissen kann in mannigfaltiger Weise auf SD abgespeichert werden,
    und wenn das Netz (als compiliertes .ino- Programm) auf einem anderen Due hochgeladen wurde, dann kann man selbstverständlich die woanders trainierten Daten auch hier von der originalen oder einer beliebigen kopierten SD card lesen, verarbeiten, modifizieren, abspeichern, und dann wieder auf der ersten oder einer 3. oder 4. MCU lesen, laden, und verarbeiten.

    Aber selbst wenn der Netz-.ino-Sourcecode in seiner Struktur nicht per Arduino IDE für den DUE kompiliert wurde, sondern auf GCC/Geany für RasPi portiert wurde und als .cpp source für den Raspi kompiliert wurde (nur die reine Netz-Architektur muss die gleiche sein, damit alle Inputs und Outputs an den gleichen Array-Stellen landen), selbst DANN kann man das auf dem DUE trainierte Netz-Gedächtnis (sein erworbenes "Wissen") auf den Raspi kopieren - und es wird in identischer Weise auch dort laufen.

    Das ist hier ja auch gerade ein - für manche Leser - neuer Aspekt meines autonomen Netzes.

    Und du brauchst dir nur sämtlich Gewichte und Schwellwerte sämtlicher Neuronen auf einem Display anzeigen zu lassen (es sind ja alles nur simple floats in durchnummerierten arrays), schon hast du das Gedächtnis in "Zahlenform" und kannst direkte float-Werte bestimmter Neuronen manuell patchen - und schon hast du das Gedächtnis manuell modifiziert und kannst auch diese Gedächtnisversion wieder abspeichern für später. Genau so funktioniert ja auch das Speichern und Lesen des Gedächtnisses auf SD !

    Willst du hingegen beim autonomen Betrieb (!) direkt bestimmte Input-Konstellationen mit einer bestimmten output-Reaktion "manuell designen" (d.h. manuell erstellte Matrix-patterns) , so kannst du dies auch tun:
    Das User-Interface meines Programms bietet die Möglichkeit dazu!
    Einfach nach dem input-output-verknüpfen per Knopfdruck einen neuen Trainingslauf durchführen (kannst du autonom ebenfalls jederzeit zwischendurch tun!), schon ist auch das neue manuell eingegebene pattern zusätzlich gelernt!

    Aber auch andere von dir angeführte theoretische oder generelle Aspekte deines letzten Posts stimmen nicht, ich will aber jetzt hier nicht weiter darauf eingehen, denn es führt hier deutlich zu weit, und muss daher wieder auf entsprechende Lehrbücher verweisen.


    ps,
    Interessant finde ich allerdings die Frage, warum du hier in diesem Thread per Gastaccount schreibst - du bist doch sicher hier auch registrierter Benutzer in diesem Forum und schreibst hier sicher nicht zum ersten Mal - warum versteckst du dich also hinter "Robobionic (Gast)" ?
    Geändert von HaWe (22.08.2015 um 09:29 Uhr)

  5. #5
    Robobionic
    Gast
    Zitat Zitat von HaWe Beitrag anzeigen
    das klingt jetzt wie irgendwo abgeschrieben...
    aber es stimmt so nicht ganz:

    Selbstverständlich ist mein Jordan Netz für den DUE ja als autonomes System konzipiert,
    gelerntes / trainiertes Wissen kann in mannigfaltiger Weise auf SD abgespeichert werden,
    und wenn das Netz als Programm auf einem anderen Due hochgeladen wurde, dann kann man selbstverständlich die woanders trainierten Daten auch hier von der originalen oder einer beliebigen kopierten SD card lesen, verarbeiten, modifizieren, abspeichern, und dann wieder auf der ersten oder einer 3. oder 4. MCU lesen, laden, und verarbeiten.
    Wie bereits erwähnt ging es in meinem Beispiel nicht mehr um Dein Projekt sondern allgemein um die Netztypen und ihre Leistung.
    Die Nachteile haben also nichts mit baugleichen Robotern zutun bei denen man einfach mal von A nach B kopiert sondern
    mit dem Wissen unabhängiger Systeme das man theoretisch teilen könnte, technisch aber noch nicht möglich ist.

  6. #6
    HaWe
    Gast
    doch, auch das geht:
    wenn du eine wichtige Verknüpfung (ganz simpel: auf einen bestiimten Sensor-Input einfach eine Rechtskurve fahren) auf einem Robi gelernt hast, dann brauchst du dieses input-output-Muster nur auf das andere System transponieren (ggf. die array-Indizes anpassen, wenn einmal der besagte Button an Input 10 hängt und das andere Mal an Input 11 und einmal die Motoren an D22-D31 und das andere Mal an D32-D41... das kann sogar automatisiert beim Einlesen der Daten erfolgen!) - und schon kann der 2. Robi genau das, was der 1. gelernt hat, nämlich bei einem bestimmtem Buttonclick rechtsrum fahren, selbst wenn der 1. einen ganz anderen Hardwareaufbau und ganz andere weitere Sensoren besitzt: alles was dazu nötig ist wäre ein Verfestigen des neuen Wissens per einmaligem Trainingszyklus.

    Aber natürlich gilt das mit Einschränkungen, gewisse Ähnlichkeiten der Netze müssen schon vorhanden sein, man kann ja auch (bisher) kein Vogel-Gedächtnis auf einen Goldfisch portieren.

  7. #7
    Robobionic
    Gast
    Zitat Zitat von HaWe Beitrag anzeigen
    das klingt jetzt wie irgendwo abgeschrieben...
    aber es stimmt so nicht ganz:
    Interessant finde ich allerdings die Frage, warum du hier in diesem Thread per Gastaccount schreibst - du bist doch sicher hier auch registrierter Benutzer in diesem Forum und schreibst hier sicher nicht zum ersten Mal - warum versteckst du dich also hinter "Robobionic (Gast)"
    Was ist denn daran bitte interessant? Klär diese belanglose Angelegenheit doch bitte mit dem Adminstrator wenn Du keine Gäste in einem Forum duldest ...

    Ich nutze diese Möglichkeit weil registrierte E-Mail Adressen in vielen Foren irgendwann in Spamverteilern landen, nicht durch die Betreiber sondern über Dritte.
    Von daher finde ich die Option in diesem Forum ganz nett.

    Ich weiss ja nicht wieviele E-mails du bekommst, aber mich nervt das ganz gewaltig also vermeide ich unnötige E-Mail Registrierungen wo es nur geht.

Ähnliche Themen

  1. weltweit erstes Neuronales Jordan Netz auf Arduino Due !
    Von HaWe im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 7
    Letzter Beitrag: 26.10.2016, 20:25
  2. weltweit erstes Neuronales Jordan Netz auf Arduino Due
    Von HaWe im Forum Arduino -Plattform
    Antworten: 0
    Letzter Beitrag: 17.08.2015, 15:02
  3. Neuronales Netz zur Mustererkennung
    Von Che Guevara im Forum Software, Algorithmen und KI
    Antworten: 2
    Letzter Beitrag: 14.02.2012, 12:06
  4. Neuronales Netz mit dem Atmega8
    Von Spartakus im Forum AVR Hardwarethemen
    Antworten: 7
    Letzter Beitrag: 19.03.2006, 08:46
  5. Neuronales Netz
    Von matren im Forum Software, Algorithmen und KI
    Antworten: 39
    Letzter Beitrag: 26.07.2004, 00:52

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress