- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 21

Thema: weltweit erstes Neuronales Jordan Netz auf Arduino Due !

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #7
    HaWe
    Gast
    was die Praktikabilität in bestimmten technischen oder industriellen Steuerungen angeht, gebe ich euch völlig recht -
    man kann sicher umschriebene Probleme durch andere Algorithmen oder Filter ebenfalls lösen, ich denke da nur an den Kalmanfilter oder den Partikelfilter oder AStern oder Bug2 oder Probleme wie das des "travelling Salesman".
    Die "Durchschaubarkeit und Nachvollziehbarkeit" ist hier für mich gar nicht das durchschlagende Argument, gerade bei AI lege ich hier dieselben Maßstäbe an wie in der Psycholgie beim operanden Konditionieren - da weiß ich ja auch nicht, was genau im Hirn des Trainierten vorgeht, ich sehe nur die Reize, und dann die daraus erfolgende Reaktion.
    Mein Ansatz war eher: mal auf einem Due ein wirklich komplexes KI Programm zu programmieren, das alle beliebigen Situationen trainierbar macht, samt Erinnerungsvermögen per Rückkopplung, in einem Umfang, was hier grade so machbar ist.

    Letzlich war ich bei der Entwicklung selber sehr erstaunt, was da so an cpu-Resourcen nötig wird, wenn man etwas umsetzen will. Ich dachte zwar schon, ein DUE käme damit an seine Grenzen, und ich habe ehrlich gesagt auch vorgehabt, die eigentliche spätere Weiterentwicklung auf einem viel mächtigeren TRE vorzunehmen (den es ja wohl jetzt nicht mehr geben wird). Herausgestellt hat sich dann aber, dass der DUE in der vorliegenden Implementierung nur gut 60 Reiz-Reaktionsmuster lernen kann (ich hatte ursprünglich schon mindestens 10 mal so viele von allen auf dem DUE vorgesehen gehabt), aber immerhin konnte ich zeigen, dass sowohl die Implementierung eines rückgekoppelten Backpropagation Netzes und auch dann dessen autonomes Training theoretisch und auch praktisch auf einem DUE möglich und durchführbar ist. Mit den sehr beschränkten Möglichkeiten des DUE für diese Applikation zeigt es aber doch hier erstmalig immerhin: Es geht, es funktioniert prinzipiell und auch praktisch, und das Verhaltens-Training samt User-Interface sogar zum manuellen Patchen der Neuron-Matrix ist mit einfachen Button- und Display-Menü-Steuerungen machbar !
    Auch lässt sich das antrainierte "Wissen" multipel abspeichern, dann ein alternatives Training durchführen, dieses ebenfalls abspeichern und dann wieder ein anderes (früheres oder leeres) "Gedächtnis" während der Laufzeit laden: Total Recall auf dem Arduino ^^.

    Das hat immerhin bisher noch niemand auf dieser Plattform etablieren und zeigen können.

    Das Programm spannt hierbei ein skalierbares Netz aus 60 Neuronen auf (plus Input-Layer von gut 100 reelen und virtuellen Sensor-Inputs), man muss zur Erweiterung nur die Konstanten für die Neuronen-Layer und die max. Lernmusterzahl vergößern:

    Code:
    #define  NMAXIN    108       // max number of inputs (sensors)
    #define  NMAXHID    20       // max number of hidden layer neurons
    #define  NMAXOUT    20       // max number of output layer neurons
    #define  NMAXCONT  NMAXOUT   // max number of context neurons
    #define  NMAXPAT    60       // <<< max number of possibly trained patterns;
    und schon hat man sein persönliches Netz an seine persönlichen Anforderungen auch größerer cpus mit mehr Speicher-Resourcen angepasst.
    Mein Wunsch hierbei:

    Code:
    #define  NMAXIN   1000       // max number of inputs (sensors)
    #define  NMAXHID   250       // max number of hidden layer neurons
    #define  NMAXOUT   250       // max number of output layer neurons
    #define  NMAXCONT  NMAXOUT   // max number of context neurons
    #define  NMAXPAT  5000       // <<< max number of possibly trained patterns;
    Legt man zugrunde, dass der DUE 96kB RAM hat, und dass dieses mit den bisherigen Neuronen bis Oberkante Unterlippe ausgelastet ist, kann man sich schnell ausrechnen, in welche RAM-Größenordnungen man hier vorstoßen müsste, denn die Mächtigkeit der Netz-Matrix (d.h. des Neuronennetzes und das Gedächtnis für alle seiner trainierten Lernmuster) beträgt ja etwa (Neuronenzahl * Lernmuster).

    Aber es geht!

    Man reiche mir eine cpu mit entsprechender Leistungsfähigkeit und portiere das Sketch-Programm auf diese andere Plattform,
    dann braucht man einzig und allein die #define-Konstanten auf die gewünschte Größe zu ändern und zu kompilieren, und, voila, schon hat man ein weit größeres lernfähiges rückgekoppeltes Netz mit Erinnerungsvermögen.

    Hätte ich einen TRE, der mit Sketch/Wiring programmierbar ist, würde ich es innerhalb von 30 Sekunden eben mal schnell machen. 8-)
    Geändert von HaWe (19.08.2015 um 12:28 Uhr)

Ä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
  •  

LiFePO4 Speicher Test