Question

Connaissez-vous l'application à côté modèle recon. worthe afin de mettre en œuvre le modèle de réseau de neurones Hopfield?

Était-ce utile?

La solution

réseaux de neurones récurrents (dont Hopfield filets sont un type spécial) sont utilisées pour plusieurs tâches dans l'apprentissage de la séquence:

  • Prédiction de séquence (Mapper une histoire de la valeur des actions à la valeur attendue dans la prochaine timestep)
  • Classification de séquence (Carte chaque extrait audio complet à un haut-parleur)
  • l'étiquetage de séquence (carte un extrait audio à la phrase prononcée)
  • apprentissage par renforcement Markoviens (par exemple des tâches qui nécessitent de la mémoire profonde comme la référence T-Maze)

Je ne sais pas ce que vous entendez par « la reconnaissance des formes » exactement, car il est essentiellement un champ entier dans lequel chaque tâche pour laquelle les réseaux de neurones peut être utilisé fits.

Autres conseils

Vous pouvez utiliser le réseau Hopfield pour les problèmes d'optimisation ainsi.

Vous pouvez checkout ce dépôt -> Hopfield Réseau

Il vous un exemple pour le test d'un modèle après le train du réseau hors ligne. Ceci est le 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();
 }

Et vous pouvez voir après le test

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

J'espère que cela peut vous aider

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top