2009-06-01 2 views
2

Знаете ли вы какое-либо приложение рядом с образцом recog. worthe, чтобы реализовать модель нейронной сети Хопфилда?Нейронная сеть Хопфилда

+3

Ваш вопрос очень трудно понять, вы должны быть более конкретными, если вы хотите получить ответ. – brad

ответ

3

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

  • Sequence Prediction (Карта история фондовых ценностей ожидаемое значение в следующем временном шаге)
  • Последовательность классификации (Карта каждый полный аудио фрагмент на динамик)
  • Последовательность маркировки (Карта звуковой фрагмент в предложении разговорного) обучения
  • немарковская армирование (например, задачи, которые требуют глубокой памяти как Т-образном лабиринте скамейка mark)

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

+0

Не могли бы вы быть более точными об их использовании с немарковским обучением подкрепления? Вы говорите, что они используются для задач, требующих глубокой памяти, но не будет ли многопользовательская сеть backprops одинаковой? Что делает их лучшими для работы? Спасибо –

+0

Как правило, вы представляете наблюдения k последних временных меток MLP, чтобы сопоставить их с действием или значением. Это то, что вы можете назвать «k-markovian». Однако «глубокая память» относится к ситуациям, когда количество временных меток, которые вы должны оглядываться, необязательно ограничено. В этом случае вам нужна рекуррентная сеть, которая может (по крайней мере теоретически) оглянуться назад во времени бесконечным количеством временных меток. Возможно, вы захотите проверить этот документ: http://www.idsia.ch/~daan/papers/jof.pdf – bayer

0

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

+2

Возможно, вы можете привести пример/ссылку. – runDOSrun

+0

Например, проблема с продавцом или самый короткий путь [ссылка] (http://www.mini.pw.edu.pl/~mandziuk/PRACE/TSP_DM.pdf) –

0

Вы можете оформить этот репозиторий ->Hopfield Network

Там у вас есть пример для испытания образца после обучения сети офф-лайн. Это испытание

@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 

Я надеюсь, что это может помочь вам

Смежные вопросы