Нейронная сеть Хопфилда - PullRequest
0 голосов
/ 02 июня 2009

знаете ли вы какое-либо приложение, кроме шаблона распознавания. будет ли реализована модель нейронной сети Хопфилда?

Ответы [ 3 ]

3 голосов
/ 02 июня 2009

Рекуррентные нейронные сети (из которых сети гопфилдов являются особым типом) используются для нескольких задач в обучении последовательности:

  • Прогнозирование последовательности (отображение истории значений запасов на ожидаемое значение в следующем временном шаге)
  • Классификация последовательности (сопоставьте каждый полный аудио фрагмент с динамиком)
  • Маркировка последовательности (сопоставить фрагмент аудио с произнесенным предложением)
  • Немарковское обучение с подкреплением (например, задачи, требующие глубокой памяти в качестве эталона T-Maze)

Я не уверен, что именно вы подразумеваете под «распознаванием образов», поскольку в основном это целое поле, в которое вписывается каждая задача, для которой могут использоваться нейронные сети.

0 голосов
/ 12 июня 2016

Вы можете проверить это хранилище -> Сеть Хопфилд

Там у вас есть пример для тестирования шаблона после тренировки сети в автономном режиме. Это тест

 @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();
 }

И после запуска теста вы можете увидеть

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

Надеюсь, это поможет вам

0 голосов
/ 10 июля 2015

Вы также можете использовать сеть Hopfield для оптимизации задач.

...