- 12V Akku mit 280 Ah bauen         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 20 von 50

Thema: lernfähiger Lininenfolger mit KI

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.677
    Blog-Einträge
    1
    MXT hatte, in einem andern Thread, schon einen guten Link auf diese Seite: http://robotics.hobbizine.com/arduinoann.html
    Nachdem ich das mehrfach angeschaut und nichts verstanden habe, hat mein biologisches Netz aber langsam gelernt, dass das nicht soo schwer ist. Zumal auf der Seite jeder einzelne Schritt gut erklärt ist. Allerdings lernt das Netz nur. Jetzt weiß ich nicht, wie man das einfach nutzt, wenn es trainiert ist.
    Code:
    /******************************************************************* 
    Compute output layer activations and calculate errors
    ******************************************************************/
    
    
        for( i = 0 ; i < OutputNodes ; i++ ) {    
          Accum = OutputWeights[HiddenNodes][i] ;
          for( j = 0 ; j < HiddenNodes ; j++ ) {
            Accum += Hidden[j] * OutputWeights[j][i] ;
          }
          Output[i] = 1.0/(1.0 + exp(-Accum)) ; 
        }
        Serial.print ("  Output ");
        for( i = 0 ; i < OutputNodes ; i++ ) {       
          Serial.print (Output[i], 5);
          Serial.print (" ");
        }
      }
    Macht man das einfach mit diesem Programmteil? - Aus Unwissenheit würde ich vermuten: ja

    Dann kann aus den einzelnen Fragmenten (des kompletten Codes), die alle erklärt sind, ein eigenes KNN aufgebaut werden. Man kann auch mit einem Eingabe-, einem Ausgabeneuron und einem Neuron für die Zwischenschicht starten. Dann evaluieren, wie das funktioniert und ob es funktioniert, um den Durchblick zu bekommen. Klar ist mir außerdem nicht, wieviele Neuronen für eine Zwischenschicht benötigt werden. Wovon hängt das ab? Kann man die Anzahl, je nach Anwendungsfall, frei wählen?

    Vielleicht bauen wir ein Grundgerüst auf, das jeder nachvollziehen und verstehen kann. Ich würde das mit dem PAP dann schon machen, wenn das sonst keiner tun will, nur muss ich nat. dafür selber den Programmcode erst einmal verinnerlicht haben, der dann auch funktionieren sollte. Deshalb: Schritt um Schritt aufbauen.

    Man kann ja so anfangen, wenn man sich hier auf Arduino-Code einigt:

    Code:
    #include <math.h>
    
    void setup()
    {
    
    }
    
    void loop()
    {
    
    }

    Gar nicht so schwer - schon fast fertig


    MfG
    Geändert von Moppi (10.12.2019 um 13:24 Uhr)

  2. #2
    HaWe
    Gast
    Faustregel
    InputLayer = Anzahl der Inputs
    HiddenLayer = etwa wie Inputlayer oder auch etwas größer
    OutputLayer = Anzahl der Outputs

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.677
    Blog-Einträge
    1
    Warum nimmt man für die versteckte Schicht mehr Neuronen?

  4. #4
    HaWe
    Gast
    hängt vom Lernziel und Zweck ab, man kann auch einen Wert zwischen In- und Outputzahl nehmen, muss man ausprobieren - daher: "Faustregel".
    Je kleiner das HiddenLayer, desto weniger Input-Informationen werden logischerweise an die Outputs weitergereicht, und je größer, desto differenzierter können diese moduliert werden.

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    78
    Beiträge
    2.180
    und genau damit wäre es HaWe gelungen ein Thema zu beenden. Wollen wir das wirklich?
    gruß inka

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.677
    Blog-Einträge
    1
    Ich denke nicht, dass diesmal HaWe ...
    Wenn er wirklich davon viel versteht, hat er Kommentare abgegeben, was nach seiner Erfahrung richtig ist.

    Allerdings hätte Stochri auch früher sagen können, dass er mit diesem Thema hier nicht in die Richtung gehen möchte, wie sie in der von MXT verlinkten Seite aufgezeigt wird. Sondern, dass er einen neuen Ansatz sucht. Allerdings wissen wir nicht welchen. Und wenn der Ansatz in Richtung KNN geht, dann gibt es Ansätze, die grundlegend wichtig sind, damit so etwas funktioniert. Man kann das Thema auch ganz neu interpretieren, aus einem ganz andern Blickwinkel betrachten und ganz andere Techniken anwenden, aber welche und wie? Das muss Stochri dann vorgeben.

    "Der eine versteht die Grundlagen nicht, der andere meint, er weiß schon alles."
    Und dem nächstes sind Grundlagen zu langweilig.


    Das ist ein generelles Problem. Spiegelt wohl aber die Bandbreite wider, die wir hier im Forum haben.
    Verschiedene Meinungen sollten kein Problem sein, und so hat auch jeder seinen Standpunkt, wann er sich beteiligt oder wann er helfende Kommentare abgibt.
    Ich für meinen Teil halte es für wenig hilfreich, wenn erst abgewartet wird, was andere beginnen, um dann z.B. mit einem "ist mir zu langweilig" dazwischen zu gehen.
    Das ist auch ein Standpunkt und von der Sache her vertretbar. Aber man sollte schon daran denken, dass andere sich Arbeit machen, um im Thema voran zu kommen. Und das geht schnell mal in die Stunden, wenn man auch was Sinnvolles zu einem Thema beitragen möchte, dass man selbst noch nie erarbeitet hat.


    Mich persönlich interessiert das Thema nicht wirklich, weil ich weiß, wohin es führt und welche Früchte mit so etwas, wie einem KNN, zu ernten sind. Dreißig Jahre Programmiererfarung helfen mir. Ich bin eher Verfechter anderer Methoden.
    Dennoch habe ich im Moment Zeit, mich damit irgendwie zu beschäftigen, weil ich auf Teile warte, die erst zu Weihnachten hier sein werden.


    Um aus dem schlau zu werden, wer hier was will und was unnötig ist, zu presentieren, habe ich, für alle User im Forum, eine Umfrage gestartet, die aber nur bei Beteiligung einen Sinn ergibt. Deswegen wäre es gut, wenn sich jeder daran beteiligt, egal welcher Meinung er ist. Ich habe versucht die wesentlichen drei Meinungen abzubilden, von denen jeder eine für sich priorisieren können sollte. So dass wir alle ein Bild bekommen, wie das Thema behandelt werden kann. Dann sieht auch jeder, der seine Meinung dazu hat, wofür die Mehrheit ist und kann sich daran orientieren. So weiß man auch von vornherein, wie ein Kommentar, den man abzugeben gedenkt, ankommen wird. Deshalb kann ich nur an Teilnahme an der Umfrage appellieren.


    Ich hoffe, dass wir weiter kommen. Warum soll das Thema jetzt beendet sein? Stochri, Du hast das Thema gestartet, dann nimm die Sache in die Hand und bestimme, wie es weiter gehen kann.






    MfG


    - - - Aktualisiert - - -

    Zitat Zitat von stochri Beitrag anzeigen
    ... nämlich auf die Reduktion auf das absolut Essentielle, von dem man weiter aufbauten kann.
    Ja, genau das haben wir hier begonnen. KNNe haben eine Art Grundstock, der zunächst für viele Aufgabenstellungen tauglich ist. Der ist im Wesentlich nicht komplex und hat sich im Laufe der Entwicklung von KNNen etabliert. Gewisse Voraussetzungen, die Lernfähigkeit hervorbringen. MXT hat einen Link gepostet. Ich habe darauf Bezug genommen und versucht, einen Anfang zu gestalten. Sollte zeigen, wie man an so eine Sache rangehen kann. Wird als Unwissenheit abgetan und dann beginnen wir wieder mit der Suche nach dem absolut Essentiellen, von dem man weiter aufbauten kann.
    Ich will jetzt nichts behaupten, aber für mich sieht es so aus, als ob die Thematik, im Ansatz, nicht verstanden wurde.
    Geändert von Moppi (12.12.2019 um 13:35 Uhr)

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

12V Akku bauen