- 12V Akku mit 280 Ah bauen         
Seite 4 von 4 ErsteErste ... 234
Ergebnis 31 bis 40 von 40

Thema: Neuronales Netz

  1. #31
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.05.2004
    Ort
    Schönaich
    Alter
    48
    Beiträge
    315
    Anzeige

    Praxistest und DIY Projekte
    Hey, das hab ich auf anhieb verstanden !!!

    Das mit einem Netzwerk, das ständig weiterlernt ist ja so ne Sache.
    Bei mir gehe ich erstmal von einem Netzwerk, das nur einmalig trainiert wird aus,um die Sache zu vereinfachen.

    Wenn das Netzwerk jedoch ständig weiterlernt, muss ja irgendwoher der Feedback kommen ob der Output richtig oder falsch ist. Das funktioniert beim Menschen ja auch nicht anders. Ohne Feedback kein Lernen.

    Um das Netzwerk selbstlernend zu machen muss ich ihm die nötige Sensorik geben, anhand derer er seine Ergebnisse überprüfen kann.
    Dazu bedarf es einer Art Wissensbasis die im vermittelt welche Sensorischen Informationen gut oder schlecht sind. Diese Sensorischen Richtwerte sind eher statischer Natur (damit beziehe ich mich auch so etwas wie einen Schmerz-Sinn).
    Desweiteren benötigt so ein Netz natürlich auch gewisse Zielsetzungen die es erfüllen muss (vgl. menschliche Triebe und Bedürftnisse).

    Wenn man da weiter ausschweift würde ich den Begriff der Diversifikation einwerfen. Ein einzelnes ist zwar schön und gut, mehrere Netze können jedoch bessere Ergebnisse erzielen. Und da beziehe ich mich auf eine Art natürliche Auslese. Ein Netz muss nicht nur lernen können, es muss auch sterben können. Das ist so wie wenn man mehrere Netze testet (mit Verschiedenen Einstellungen) und am Ende die behält, die die besten Ergebnisse gebracht haben.
    Dieses ist natürlich streng Zielorientiert. Unser Ziel ist (lowlevel) überleben.
    ----
    Sich selber fortpflanzende Netze (Reproduktion) die aussterben wenn Ihre Anpassungsfähigkeit umgebungsbedingt nicht ausreichend sind.

    Umgebungsbedingt in dem Sinne, das verschiedene Netzmodelle für verschiedene Aufgaben besser geeignet sind und für andere wiederum nicht.
    ----
    So das reicht fürs erste. Das Thema läßt sich ja ewig fortführen.
    (degeneriert dieses Forum zu einem Techno-Philosophischem Forum ???)
    Spinoza sagt (epist.62), daß der durch einen Stoß in die Luft fliegende Stein, wenn er Bewußtseyn hätte, meinen würde, aus seinem eigenen Willen zu fliegen. Schopenhauer

  2. #32
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    71
    Beiträge
    13.075
    Ja, es ist schwer eine Grenze zu finden wenn man ins Philosophieren kommt.
    Eine Grenze gibt es, den Unterschied zwischen dem einmal lernen, das bei technischen Systemen auf die man sich verlassen können muß sicher sinnvoll ist und den ewigen lernen mit fließenden Grenzen und offenen Bewertungen ohne die eine sich entwicklende Welt nicht möglich wäre.

    Das wäre auch die Grenze zwischen dem Ziel 2 und 3. Bis dahin ist einiges noch technisch sicher noch fassbar und eine Frage der Effizienz. Dahinter verwischen die Grenzen. Das Feld ist sehr viel offener aber anhand von Beispielen wie dem Wetterbericht lassen sich irgendwie auch dort noch technische Anwendungen finden.
    Manfred

    Eben sehe ich es noch mal, das ist ja gerade auch die Einleitung Deines Postings.

  3. #33
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.05.2004
    Ort
    Schönaich
    Alter
    48
    Beiträge
    315
    Tja, ich beschäftige mich hier mit Neuronalen Netzen und habe hier aber ganz andere existenzielle Probleme zu lösen:
    "Wie zum Teufel kriege ich die Räder auf meine Schrittmotoren. Welle und Loch im Rad haben unterschiedliche Größen."
    -----
    Ich denke da wird noch einiges auf uns Zukommen.
    nicht nur im Bereich NN, sondern ganz allgemein im Computer und KI Bereich. Lassen wir uns mal überraschen.
    Spinoza sagt (epist.62), daß der durch einen Stoß in die Luft fliegende Stein, wenn er Bewußtseyn hätte, meinen würde, aus seinem eigenen Willen zu fliegen. Schopenhauer

  4. #34
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.11.2003
    Ort
    Chemnitz
    Alter
    43
    Beiträge
    129
    Zitat Zitat von matren
    Ein Punkt ist mir irgendwie aber sehr suspekt:
    (Das ist an der Stelle an der die Gewichtung und der BIAS der einzelnen Neuronen geändert werden)
    Code:
    For k = 1 To 2
    
        HiddenNeuron(k).Bias = HiddenNeuron(k).Bias + LEARNING_RATE * 1 * HiddenNeuron(k).Delta
    Was mich irgendwie daran stört ist, daß die Gewichtung und der Bias ja immer größer wird:
    (Da das Delta ja wohl immer zwischen 0 und 1 liegt.)
    Ich hab mir das Programm nicht angeschaut, aber das Delta wird nicht nur zwischen 0 und 1 liegen, sondern kann durchaus auch negativ sein. Das Delta bezeichnet hier sicher die Differenz zwischen gewünschter Ausgabe des Neurons und der tatsächlichen Ausgabe.
    Da im Code von "hidden Neuron" die Rede ist, handelt es sich wohl um ein Netz mit mehreren (also "versteckten" Schichten). Der Lernalgorithmus, der hier angewendet werden muß, nennt sich Backpropagation-Algorithmus (steht auch in dem Skript). Das, was ich oben gepostet hatte, lässt sich nur in Netzen mit einer Schicht von Neuronen anwenden. Der Backpropagation-Alg. funktioniert grob gesagt so, dass zunächst am letzen Neuron (Ausgabeneuron) der Fehler (Delta) bestimmt wird, und dann durch das Netz hindurch zurück zum Anfang (Eingangsneuron) "propagiert" wird. D.h. die Netzkanten werden jetzt rückwärts durchlaufen und die Gewichte dabei je nach zurückpropagiertem Fehler und vorhergehenden Kantengewicht geändert. Genauere und verständlichere Erklärung steht im Skript.

    Übrigens kann ich noch von Rojas das Buch "Theorie der neuronalen Netze" empfehlen. Ist gar nicht so theoretisch, wie der Name vermuten lässt, ist aber leider vergriffen, soweit ich weiß. Mit etwas Glück wird man (so wie ich) noch bei Ebay fündig.
    Grüße,
    zefram

    --
    www.roboking.de - Jetzt bis zum 31. Mai 2007 anmelden für die fünfte Runde des großen Roboterwettbewerbs für Schüler aus Deutschland, Österreich und der Schweiz -

  5. #35
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.05.2004
    Ort
    Schönaich
    Alter
    48
    Beiträge
    315
    Hast recht, mein Fehler.

    Hab ja heute auch schon festgestellt, daß die verwendete Aktivierungsfunktion:
    Code:
    function Activate($value)
    {
    	return (1 / (1 + Exp($value * -1)));
    }
    immer Werte zwischen >-1 und <1 liefert.

    Hab irgendwie angenommen das sich alles zwischen 0 und 1 bewegt.
    Gut, dann werde ich da demnächst mal weitermachen.
    Spinoza sagt (epist.62), daß der durch einen Stoß in die Luft fliegende Stein, wenn er Bewußtseyn hätte, meinen würde, aus seinem eigenen Willen zu fliegen. Schopenhauer

  6. #36
    Gast
    Hi.

    Habt ihr schonmal daran gedacht genetische algorithmen für die erzeugung von NN's zu verwenden? Diese könnten auch das überlernen abschaffen, indem dies in ihrem Ziel als unerwünschter Zustand programmiert wird. Ausserdem vergesst ihr, dass natürliche NN's ihre Lernfähigkeit mit dem Alter einbüßen.

    MfG,

    Do.Pe.

    desert-at-fol.dyndns.org

  7. #37
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.11.2003
    Ort
    Chemnitz
    Alter
    43
    Beiträge
    129
    Hmm, kannst du bitte etwas konkreter werden? Wie "erzeugt" ein genetischer Algorithmus ein neuronales Netz? Wie formulierst du den Zustand des Überlernens mathematisch und für den genetischen Algorithmus verarbeitbar? Was hat die nachlassende Lernfähigkeit im Alter mit all dem zu tun?

    Fragen über Fragen ...
    Grüße,
    zefram

    --
    www.roboking.de - Jetzt bis zum 31. Mai 2007 anmelden für die fünfte Runde des großen Roboterwettbewerbs für Schüler aus Deutschland, Österreich und der Schweiz -

  8. #38
    Gast
    Ein genetischer Algorithmus ist eine sich selbst anpassende Programmsequenz. Man setzt ein Ergebnis fest und lässt diesen Algorithmus wiederum dafür sorgen, dass er "lernt" das Egebnis mit den gegebenen Umständen zu erreichen. Gen. algorithmen werden in nicht linearen Bereichen verwendet.
    So verwenden z.B. Programme, die Pflanzenwachstum simulieren gen. Algorithmen, um deren Wachstum realistisch zu machen(reaktion der Zellen auf Grund der Umweltbedingungen unter der Berücksichtigung des Ergebnisses, was eine ideale Ausleuchtung der Pflanzen sein mag), auch das Grafikprogramm GIMP nutzt genetische Algorithmen, um ein Muster zu erzeugen, das vom Anwender angepasst werden kann. Dabei erzeugen genetische Algorithmen ein Flammenmuster, jeder algorithmus etwas anders. Der Benutzer wählt die Form aus, die ihm am besten gefällt. Danach werden die algorithmen neu gemischt, wobei die Vererbung für jenen algorithmus am besten verläuft, die die schönste Form hervorgebracht hat.
    Auf diese Weise sind gen. Algorithmen dazu in der Lage so ziemlich alles zu machen.

    Der Zustand des Überlebens ist auch für uns Menschen nur an wenigen Variblen fest gebunden... z.B. Ernährung, Flüssigkeitszufuhr, etc.
    Die Menschliche Umgebung ist komplex, daher gibts auch noch mehr Bedingungen für eine gutes Menschliches Überleben, wie z.B. Gesellschaft, etc.
    Dem Roboter kann man aber einige einfachere Grundlagen geben, wie Batteriestatus, Vorsicht vor Hindernissen...

    Ein Neuronales Netz kann sich auch überlernen, wenn die Lernfähigleit zu hoch justiert wird. Wenn diese Fähigkeit wie bei uns beim Altern aber kontinuierlich nachlassen würde, könnte man dadurch auch das Überlernen verhindern.

  9. #39
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.11.2003
    Ort
    Chemnitz
    Alter
    43
    Beiträge
    129
    Zitat Zitat von Anonymous
    Ein genetischer Algorithmus ist eine sich selbst anpassende Programmsequenz. Man setzt ein Ergebnis fest und lässt diesen Algorithmus wiederum dafür sorgen, dass er "lernt" das Egebnis mit den gegebenen Umständen zu erreichen. Gen. algorithmen werden in nicht linearen Bereichen verwendet.
    Also wo wir schon dabei sind, können wir auch etwas exakter definieren: Genetische Algorithmen sind stochastische Optimierungs- bzw. Suchmethoden. Zum gen. Alg. gehören a) eine geeignete Codierung des Optimierungsproblems b) ein Mutationsoperator c) Informationsaustauschoperator (Crossover) d) eine Fitnessfunktion

    Beispiel:
    Wir betrachten 4-stellige Binärzahlen. Optimierungsproblem: Erzeuge die größte 4-Stellige Zahl. Fitnessfunktion: fehler(x)=15-x (offensichtlich ist 15 die größte 4-stellige Binärzahl und damit unser Ziel).
    Wir starten mit einer Menge von, sagen wir, 3 zufällig gewählten Zahlen, 0000, 0010, 1001.
    Jede Zahl darf sich jetzt vermehren. Bei der Vermehrung treten, wie bei der Zellteilung, durch Mutation Fehler auf. So können einzelne Bits umkippen (aus 0 wird 1). Ob ein Bit mutiert oder nicht, wird zufällig ausgewählt. Für die Mutation wird vorher eine bestimmte Wahrscheinlichkeit festgelegt, zum Beispiel 20%. Wenn wir die erste unserer drei Zahlen, die 0000, vermehren, wird also jedes Bit mit einer Wahrsceinlichkeit von 20% umkippen. Wir erhalten also als "Kopie" von 0000 zum Beispiel 0010.
    Jetzt noch zum Crossover: Wie bei der Zellteilung können Teile der Bitketten zwischen zwei Zahlen ausgetauscht werden. Zum Beispiel nehmen wir die ersten beiden Bits der Zahl 1001 und die letzten beiden Bits von 0010 und fügen sie zusammen. Wir erhalten also als neues Element die Zahl 1010.

    Haben wir jetzt alle Zahlen vermehrt, berechnen wir für jede die Fitnessfunktion (fehler(x)). Nur die drei Zahlen mit dem kleinsten Fehler (also der geringsten Abweichung von 15) bleiben am Leben und dürfen sich weiter vermehren, die anderen "sterben", werden also gelöscht. Auf diese Weise findet man nach endlicher Schrittzahl also auf die gesuchte Bitkette von 1111.

    Ok, das Beispiel war vielleicht etwas trivial, verdeutlicht aber in etwa die Arbeitsweise von genetischen Algorithmen. Vielleicht kommt die Diskussion wieder etwas in Gange ...


    Ein Neuronales Netz kann sich auch überlernen, wenn die Lernfähigleit zu hoch justiert wird. Wenn diese Fähigkeit wie bei uns beim Altern aber kontinuierlich nachlassen würde, könnte man dadurch auch das Überlernen verhindern.
    Richtig, deshalb verringert man ja oftmals nach jedem Lernschritt auch die Lernkonstante immer weiter, bis auf einen kleinen Wert nahe Null.
    Grüße,
    zefram

    --
    www.roboking.de - Jetzt bis zum 31. Mai 2007 anmelden für die fünfte Runde des großen Roboterwettbewerbs für Schüler aus Deutschland, Österreich und der Schweiz -

  10. #40
    Neuer Benutzer Öfters hier
    Registriert seit
    26.07.2004
    Beiträge
    9
    Hallo,

    ich hab jetzt nicht alle Artikel durchgelesen zu deinem Problem durchgelesen allerdings hab ich da en Buch (ja offline ) für dich falls du dich näher mit dem Thema auseinandersetzen willst:

    Von: Robert Callan
    Titel: Neuronale Netze im Klartext
    Verlag: Pearson Studium
    Erscheinungstermin: 2003
    ISBN: 3-8273-7071-x
    Preis: 17,95 Eus

    also einfach mal bestellen und Nase reinstecken nicht zu technisch nicht zu kompliziert und Sprachenunabhängig.

    Viel Spass
    Mathias

Seite 4 von 4 ErsteErste ... 234

Berechtigungen

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

12V Akku bauen