- 3D-Druck Einstieg und Tipps         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 20 von 45

Thema: einfaches neuronales Netz, inkl. deep learning

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    HaWe
    Gast
    Zitat Zitat von Rumgucker Beitrag anzeigen
    Hallo Moppi, HaWe, Mxt und Holomino,

    ich danke Euch für diesen interessanten Thread und hoffe, dass "Thread erledigt" nicht heißt, dass mein später Beitrag hier unerwünscht ist.


    Ich stelle mir eine nur mir bekannte geheime und dunkle "Umwelt" vor.

    Sie besteht aus einem Schachbrett mit 8 mal 8 Feldern, von denen viele mit Mauern besetzt sind. Ein vollständig blinder Roboter soll durch diese ihm unbekannte Umwelt hüpfen und den Ausgang finden.

    Der Roboter kann ausgehend von seiner Position in alle acht Richtungen springen. Wenn der arme Kerl gegen eine Mauer hüpft, wird er bestraft und zurück auf die Startposition gestellt. Die Anzahl der Strafen wird gezählt.

    Als "normales" Programm wäre das ein 50-Zeiler inkl. Deklarationen und man findet findet mit weniger als 64 Strafen nicht nur irgendeinen, sondern sogar den optimalen Weg, wenn es denn überhaupt einen Weg gibt.

    Ich spekuliere, dass KNN dem weit unterlegen sind.

    Man wird viele ähnlich einfache (aber sinnvolle) Anwendungen finden, in denen KI eher hinderlich erscheint. Sinnvoller scheint der Einsatz erst zu werden, wenn die Aufgaben komplexer werden. Sprach- und Bildererkennung. Aber damit geht automatisch die von Moppi geforderte anschauliche Einfachheit verloren.

    Bei großen Projekten treten auch strukturelle Probleme in den Vordergrund. Die mangelnde Parallelität und die fehlende dynamische Vernetzung unserer Computer. Beide strukturellen Mängel können nur mit der brutalen Rechnergeschwindigkeit von GPUs halbwegs ausgebügelt werden.

    ---------------

    Mich persönlich würden winzige lernende und sich vernetzende KNN sehr interessieren. Aber dann mit einem matrixarmen Ansatz, der besser an die Gegebenheiten unserer kleinen Controller angepasst ist.

    Und ich glaube auch, dass hier im Forum genug Expertise vorhanden ist, um auf neue Ansätze zu kommen.

    Viele Grüße

    Wolfgang
    NNs sind nur dann festem prozeduralem Code überlegen, wenn sie auf komplexe und auch auf unscharfe Bedingungen sinnvolle Reaktionen bringen müssen.
    Um verschieden große Autos, Fussgänger und Fahrräder an beliebigen Stellen und aus verschiedenen Perspektiven in Bildern zu identifizieren
    - oder auch Gesichter in verschiedenen Größen und aus verschiedenen Perspektiven mit unterschiedlichem Gesichtsausdruck als Personen zu identifizieren und zu erkennen, wirst du um NNs nicht herumkommen.
    Gleiches gilt für Buchstaben- und Ziffernerkennung (Texterkennung) bei verschieden großer Schrift mit verschiedenen Font-Typen, die auch an verschiedenen Stellen und auch geneigt und verdreht gegen die Matrix-Waagerechte/Senkrechte in einem großen Pixel-Feld erscheinen (TFT-Pixelmatrix, Kamera-CCD-Sensor).

    Es gibt aber für verschiedene Anwendungszwecke viele verschiedene NN-Topologien und - Funktionalitäten, sowohl assistiert trainiert als auch selbst-trainierend, und nicht jedes Netz ist für alle Zwecke geeignet.
    Ein EINFACHES Netz (Topic-Titel) wird jedoch KEINE sinnvollen Anwendungsgebiete in der Robotik haben, sondern nur sehr komplizierte, große und komplexe NNs:
    Zum Verständnis der einfachsten Neuron-Funktionen sind große und komplexe aber absolut ungeeignet.

    Ein schon etwas größeres NN mit verwendbarer Funktionalität habe ich ja hier entworfen:
    https://www.roboternetz.de/community...Cr-Arduino-ESP
    doch es gerät bereits extremst an die Grenzen der Leistungsfähigkeit (RAM, Speed) von Arduino-MCUs.

  2. #2
    HaWe
    Gast
    Arduino-Code übersetzt nur die Formeln in Arduino-Bezeichner, also für


    S = i=0i=100Σxi als

    Code:
    S=0;
    for (i=0; i<=100; i++) {S+=x[i]}
    (hier sieht man auch, dass man hier im Forum gar keine vernünftigen Formeln reinschreiben kann, was aber unbedingt nötig wäre für ein Tutorial. Dazu bräuchte man LaTeX.)

    - - - Aktualisiert - - -

    Zitat Zitat von Holomino Beitrag anzeigen
    Man muss ja nicht die ganze Regelung mit KI machen, sondern einfach nur die Konstanten generieren.

    Eingangsgrößen könnten z.B. Betriebsspannung und Zuladung sein. Ausgangsgrößen sind die Regelkonstanten. Bewertungskriterien sind Zeit bis zum Ziel und Anzahl der Überschwinger.
    Wenn ich das alles richtig verstehe, sollte sich ein einfaches Fahrgestell mit Motoren und Inkrementalgebern doch so mit der Zeit selbst optimieren.
    Die Menge an Inputs sind viel größer als du wschl denkst, denn du kannst ja nur Zahlen als bit-Inputs eingeben.
    Wenn du einen Incrementalgeber verfolgen willst, brauchst du auch die vorherige Position oder Geschwindigkeit.

    wenn du also 4 16-Bit-Zahlen als Inputs eingeben willst, brauchst du alleine schon 64 Inputs.
    Und wenn du eine 16-bit Encoder-Zielposition eingeben willst, brauchst du ebenfalls 16 In-oder Outputs. Hinzu kommen die Zahlen für Ki, Kp und Kd, das sind float-Zahlen, die ebenfalls als Int mindestens mit je 16bit dargestellt werden müssen, also nochmal 48 Inputs und sicher auch Outputs, denn als Outputs müssen sie ja korrigiert werden - ggf geht das auch über ein rückgekoppeltes 4-Schicht-Netz (Elman oder Jordan) oder eine "self-organizing map" - die SOMs sind aber um etliches schwerer auf Arduinos zu verwirklichen als Backpropagation Netze.

    Verwende doch mal mein Backpropagation Netz als Basis und versuche es so abzuwandeln, dass es PID-Werte lernt und optimiert!
    Insgesamt sicher nicht trivial!

    - - - Aktualisiert - - -
    Auch lernt ein Backpropagation Net keine Optimierung, sondern lernt nur präsentierte Inputs den gewünschten Ziel-Outputs zuzuordnen,
    und es wird anschließend neu präsentierte Input-Muster dann entweder bisher gelernten Outputs zuordnen oder aber auch neue, eigene Outputs generieren, die sinnvoll, aber auch völlig sinnlos sein können,
    also z.B

    gelernt (als bit-Inputs):
    1 -> 1
    0 -> 1
    3 -> 1
    4 -> 1
    8 -> 1
    11 -> 2
    10 -> 2
    12 -> 2
    15 -> 2
    17 -> 2
    20 -> 3
    21 -> 3
    22 -> 3
    25 -> 3
    27 -> 3

    und wenn man nun präsentiert: 13 (nicht trainiert)
    dann wird vlt als Ergebnis kommen: 2

    und als Input: 24 (nicht trainiert)
    dann möglicherweise als Output 3
    es könnte aber durchaus auch 1 oder 0 als Ergebnis herauskommen.
    Weicht das Ergebnis zu stark vom erwarteten Ergebnis ab, muss man es zusätzlich nachtrainieren.

    Bei der Objekt-Erkennung auf Fotos oder in Videos wird man dem Netz beim Training z.B. 10000000 Fotos zu je mindestens 1000x1000 16-Graustufen Pixeln (16.000.000 Inputs) mit Fahrrädern, PKWs, LKWs, Menschen, Straßenschildern und Ampeln präsentieren und als Output, ob und wieviele Fahrräder (erste 7bits) , PKWs (zweite 7bits), LKWs (dritte 7bits), Menschen (vierte 7bits) oder Straßenschilder (fünfte 7bits) drauf waren und wo (Bildkoordinaten).
    Dann präsentiert man ein Bild mit einem Zug, einer Auto-Schlange und ein paar Motorrädern und einer Schranke, und dann kann man sich überraschen lassen, was es per pixelweiser Bild-Analyse erkennt.
    Bild hier  

    Bild hier  


    PS,
    Man kann solche BP-Netze u.U. auch zur Optimierung von Prozessen verwenden, dazu sind aber noch etliche weitere Prozeduren oder Schritte nötig - möglicherweise wären aber speziell dafür SOMs oder auch Q-Learning Netze besser geeignet.
    Geändert von HaWe (17.11.2019 um 14:57 Uhr)

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. Microsoft: Nächste Hololens nutzt Deep-Learning-Kerne
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 24.07.2017, 15:40
  2. Deep-Learning-Konferenz von Golem.de: Studierende bekommen Tickets günstiger
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 04.04.2016, 09:40
  3. Konferenz Quo Vadis 2016: Wie Deep Learning Games verändern kann
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 03.03.2016, 10:10
  4. Antworten: 7
    Letzter Beitrag: 31.01.2009, 22:41
  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
  •  

12V Akku bauen