Hopfield neuronale Netzwerk
-
06-09-2019 - |
Frage
Sie wissen, jede Anwendung neben Muster aner. worthe um neuronale Netzwerkmodell zu implementieren Hopfield?
Lösung
rekurrenten neuronalen Netzen (von denen Hopfield-Netze sind eine spezielle Art) werden für mehrere Aufgaben in der Reihenfolge Lernen verwendet:
- Sequence Prediction (Karte eine Geschichte von Bestandswerten auf den erwarteten Wert in dem nächsten Zeitschritt)
- Sequenzklassifizierung (Karte jeden kompletten Audio-Schnipsels an einen Lautsprecher)
- Sequence Kennzeichnung (Karte ein Audio-Schnipsel auf den Satz gesprochen)
- Non-Markow Verstärkung Lernen (z Aufgaben, die tiefen Speicher als T-Maze-Benchmark erfordert)
Ich bin nicht sicher, was Sie unter „Mustererkennung“ genau bedeuten, da es im Grunde ein ganzes Feld ist, in denen jede Aufgabe, für die neuronale Netze fits verwendet werden.
Andere Tipps
Sie können mit Hopfieldnetzes für Optimierungsprobleme als auch.
Sie können diese Repository Kasse -> Hopfieldnetzes
Da haben Sie ein Beispiel für den Test ein Muster nach dem Zuge der Netzwerk-off-line. Dies ist der Test
@Test
public void HopfieldTest(){
double[] p1 = new double[]{1.0, -1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0};
double[] p2 = new double[]{1.0, 1.0,1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0};
double[] p3 = new double[]{1.0, 1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0};
ArrayList<double[]> patterns = new ArrayList<>();
patterns.add(p1);
patterns.add(p2);
Hopfield h = new Hopfield(9, new StepFunction());
h.train(patterns); //train and load the Weight matrix
double[] result = h.test(p3); //Test a pattern
System.out.println("\nConnections of Network: " + h.connections() + "\n"); //show Neural connections
System.out.println("Good recuperation capacity of samples: " + Hopfield.goodRecuperation(h.getWeights().length) + "\n");
System.out.println("Perfect recuperation capacity of samples: " + Hopfield.perfectRacuperation(h.getWeights().length) + "\n");
System.out.println("Energy: " + h.energy(result));
System.out.println("Weight Matrix");
Matrix.showMatrix(h.getWeights());
System.out.println("\nPattern result of test");
Matrix.showVector(result);
h.showAuxVector();
}
Und nach dem Testlauf können Sie sehen,
Running HopfieldTest
Connections of Network: 72
Good recuperation capacity of samples: 1
Perfect recuperation capacity of samples: 1
Energy: -32.0
Weight Matrix
0.0 0.0 2.0 -2.0 2.0 -2.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 -2.0 2.0 -2.0
2.0 0.0 0.0 -2.0 2.0 -2.0 0.0 0.0 0.0
-2.0 0.0 -2.0 0.0 -2.0 2.0 0.0 0.0 0.0
2.0 0.0 2.0 -2.0 0.0 -2.0 0.0 0.0 0.0
-2.0 0.0 -2.0 2.0 -2.0 0.0 0.0 0.0 0.0
0.0 -2.0 0.0 0.0 0.0 0.0 0.0 -2.0 2.0
0.0 2.0 0.0 0.0 0.0 0.0 -2.0 0.0 -2.0
0.0 -2.0 0.0 0.0 0.0 0.0 2.0 -2.0 0.0
Pattern result of test
1.0 1.0 1.0 -1.0 1.0 -1.0 -1.0 1.0 -1.0
-------------------------
The auxiliar vector is empty
Ich hoffe, dies kann Ihnen helfen,