Domanda

fai a sapere tutte le applicazioni accanto modello RICONOSC. worthe al fine di implementare Hopfield modello di rete neurale?

È stato utile?

Soluzione

reti neurali ricorrenti (di cui Hopfield reti sono un tipo speciale) sono utilizzati per diverse attività di apprendimento sequenza:

  • Previsione Sequenza (Mappa una storia di valori di borsa al valore atteso nel prossimo passo temporale)
  • classificazione Sequence (Map ogni frammento di audio completo a un altoparlante)
  • etichettatura Sequence (Visualizza la mappa di un frammento di audio alla frase pronunciata)
  • rinforzo non markoviano di apprendimento (ad esempio le attività che richiedono una memoria profonda, come il punto di riferimento T-Maze)

Non sono sicuro di cosa si intende per "pattern recognition" esattamente, dal momento che in fondo è un tutto campo in cui ogni attività per le quali le reti neurali può essere utilizzato si adatta.

Altri suggerimenti

È possibile utilizzare la rete Hopfield per problemi di ottimizzazione pure.

È possibile checkout questo repository -> Hopfield Network

Ci si dispone di un esempio per il test un modello dopo addestrare la rete off-line. Questo è il 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();
 }

E dopo eseguire il test si può vedere

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

Spero che questo può aiutare a

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top