- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 50

Thema: lernfähiger Lininenfolger mit KI

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    Gar nicht so schwer - schon fast fertig
    Ein guter Anfang. Man muss konkret werden, sonst nützt alles nichts.
    Man kann das System am Anfang auch ohne lernen ganz einfach aufbauen:
    Code:
    ...
    boolean SensorLinks;
    boolean SensorRechts;
    
    boolean MotorLinks;
    boolean MotorRechts;
    
    int w[4];
    
    .... 
    void loop()
    {
    
    MotorLinks=w[0]*SensorLinks+w[1]*SensorRechts;
    MotorRechts=v[2]*SensoLinks+w[3]*SensorRechts;
    
    stepMotorLinks(MotorLinks);
    stepMotorRechts(MotorRechts);
    
    ...
    
    }

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Ich würde zunächst auf eine konkrete Problemlösung verzichten. Und erst einmal mit den grundsätzlichen Dingen und Fragen zum neuronalen Netz anfangen.


    1. Netzstruktur


    Hier würde ich mich jetzt auf das Beispiel beziehen, daher wäre das ein was für ein Netz? Feed Forward mit Backpropagation, wenn ich richtig gelesen habe.
    Dafür wir mindestens benötigt: ein Eingangsneuron, ein verstecktes Neuron (zwischen Ein- und Ausgang) und ein Ausgangsneuron.
    Wenn ich das richtig sehe, ist jedes Eingangsneuron mit jedem versteckten Neuron verbunden (ich brauche einen Speicherplatz für das Gewicht jeder dieser Verbindungen)
    und jedes versteckte Neuron ist mit jedem Ausgangsneuron verbunden (auch hier wieder Speicherplatz für das Gewicht jeder dieser Verbindungen).




    Für die Gewichtsberechnung wird wohl der Datentyp "float" benötigt, für Datenmengen werden Arrays benötigt:


    //Gewicht für Verbindungen Eingangsneuron, mit jedem versteckten Neuron
    float IH_Weights[InputNeurons][HiddenNeurons];


    //Gewicht für Verbindungen jedes versteckte Neuron, mit jedem Ausgangsneuron
    float HO_Weights[HiddenNeurons][OutputNeurons];






    Wenn ich mir das jetzt im Vergleich zur Beispielseite ansschaue, ist dort nur die Rede von HiddenWeights und OutputWeights.


    Die Frage, wie bezeichne ich die Gewichte zwischen den Input Nodes und den Hidden Nodes - als InputWeights oder als HiddenWeights? - war für mich noch nicht ganz so spontan zu beantworten.
    Deshalb habe ich die mal IH_Weights und HO_Weights genannt.
    Man will ja auch nicht immer langwierig den Sachverhalt in jeder Variablen beschreiben, was zu Vereinfachungen führt, die für Außenstehende aber missverständlich sein können.
    Deswegen lasse ich das jetzt erst mal so stehen.







    MfG

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    Ich würde zunächst auf eine konkrete Problemlösung verzichten. Und erst einmal mit den grundsätzlichen Dingen und Fragen zum neuronalen Netz anfangen.
    Das ist mir jetzt ein wenig zu "low level". Schau Dir doch erst mal ein paar Videos auf Youtube zum Aufbau neuronaler Netze an, damit Du mal ein wenig Grundverständnis für die Sache bekommst, sonst wird das hier wie das Lernen des 1x1.

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Zitat Zitat von stochri Beitrag anzeigen
    Schau Dir doch erst mal ein paar Videos auf Youtube zum Aufbau neuronaler Netze an, damit Du mal ein wenig Grundverständnis für die Sache bekommst, sonst wird das hier wie das Lernen des 1x1.
    Ich habe mir schon einige Sachen angeschaut, dennoch muss doch ein Grundgerüst erarbeitet werden und damit einhergehend ein Verständnis, dem auch jeder hier folgen kann.

    Zitat Zitat von stochri Beitrag anzeigen
    Das ist mir jetzt ein wenig zu "low level".
    Gut, dann passt das nicht in diesen Thread. Denn Du hast den ja erstellt.
    Da von Deiner Seite aus nichts kam, hatte ich einfach mal angefangen.
    Dann mach Du auf einem andern Level weiter. Wenn Du das nichts kannst, aber eine Lösung für Dich suchst, verstehe ich das auch. Mir geht es mehr um die Allegmeinheit, damit wir hier mehr Leute finden, die an einem solchen Thema teilnehmen können, aber dafür braucht es idealer Weise eine einheitliche Wissensbasis. Das ist nicht so schnell gemacht, das weiß ich.

    Manf kann den bisherigen Verlauf löschen und Du kannst neu starten.



    MfG
    Geändert von Moppi (11.12.2019 um 10:26 Uhr)

  5. #5
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    72
    Beiträge
    13.143
    Manf kann den bisherigen Verlauf löschen und Du kannst neu starten.
    Das ist mehr ein Kurs abstecken und gehört eher dazu, wenn es ganz neu sein soll dann ist auch ein neuer Thread möglich.
    Aber ich lösche bei Bedarf auch selektiv.

  6. #6
    HaWe
    Gast
    Zitat Zitat von stochri Beitrag anzeigen
    Ein guter Anfang. Man muss konkret werden, sonst nützt alles nichts.
    Man kann das System am Anfang auch ohne lernen ganz einfach aufbauen:
    Code:
    ...
    boolean SensorLinks;
    boolean SensorRechts;
    
    boolean MotorLinks;
    boolean MotorRechts;
    
    int w[4];
    
    .... 
    void loop()
    {
    
    MotorLinks=w[0]*SensorLinks+w[1]*SensorRechts;
    MotorRechts=v[2]*SensoLinks+w[3]*SensorRechts;
    
    stepMotorLinks(MotorLinks);
    stepMotorRechts(MotorRechts);
    
    ...
    
    }
    das hat aber weder etwas mit einem Perzeptron noch mit einem Netz noch mit lernfähig zu tun...
    und wie das (mindestens) designed werden müste, habe ich ja bereits oben skizziert...

    Außerdem halte ich nach wie vor einen Linienfolger nicht für NN-Anfänger-geeignet, hier braucht man schon das Grundwissen und das Verständnis über einfache Netze, wie das in Mxts Link.

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    das hat aber weder etwas mit einem Perzeptron noch mit einem Netz noch mit lernfähig zu tun..
    Ja, das war auch im Sinne der "Gucki"-Intelligenz gedacht, nämlich auf die Reduktion auf das absolut Essentielle, von dem man weiter aufbauten kann.
    Aber hier geht die Diskussion in die gleiche Richtung wie bei der Gucki Intelligenz: Der eine versteht die Grundlagen nicht, der andere meint, er weiß schon alles.
    Ich halte es jetzt mal wie Wolfgang: Ich lasse die Diskussion hier bleiben, das führt zu nichts.

Berechtigungen

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

12V Akku bauen