Здравствуйте. Я тут абсолютный ламер в искусственном интелекте. Организую простейшую нейронную сеть, заручась помощью этого сайта.
Вот страница, с которой я работаю:
http://www.gotai.net/documents/doc-nn-009-02.aspxСуть НС такова:
есть 25 входных векторов (по-моему, это так называется). Короче, матрица входных сигналов размером 5х5 (эти изначальные входные сигналы могут принимать только 2 значения). Эти сигналы через синапсы идут к одному нейрону, вывод этого нейрона и является выводом всей сети. Матрица 5х5 есть "рисунок" (примитивный, понятное дело). Сеть должна распознать, нарисована на этом рисунке веселая рожица или грустная.
Вопрос:
На странице есть пример обучения. Изменяются веса: (двумерный цикл 1..i,1..j)
strengths[i,j]:=strengths[i,j]+ ETA * (2*ipt[i,j]-1) * opt;
strengths[i,j] - один из весов связей от ячейки [i,j] матрицы входов к нашему конечному нейрону
ETA - постоянный коэфициент
ipt[i,j] - ячейка матрицы входных данных
opt - нейрон (он последний, его вывод - это вывод всей сети)
1.Чему должен быть равен opt в начале обучения?
2.Этот цикл предложено запускать много раз (10000 раз). Тогда веса постоянно будут увеличиваться. В чем тогда смысл такого обучения? Чтобы веса постоянно не увеличивались, ipt должна меняться? Или как?
Общие вопросы:
1. Должны ли меняться веса при функционировании моей сети? Или веса должны меняться только при обучении?
2. Я читал, что у каждого нейрона может быть неограниченное количество входов, но только один выход. Но во втором примере на той странице (ссылка выше) у каждого нейрока первой матрицы (5х5) есть выходы к каждому нейрону второй матрицы (3х3). Почему?
Очень прошу помочь. Чувствую, без вас мне никак с места не сдвинуться. Там написано, что это простейший пример, так что, не освоив его, мне дальше делать нечего будет... Если я что-то не понятно объяснил в своей проблеме, пишите, я опишу подробнее. Большое спасибо.