GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.1 (1)   Поиск:  
 Автор Тема: Создание простейшей НС
hre_off
Сообщений: 8
Создание простейшей НС
Добавлено: 10 дек 06 14:36
Здравствуйте. Я тут абсолютный ламер в искусственном интелекте. Организую простейшую нейронную сеть, заручась помощью этого сайта.

Вот страница, с которой я работаю: 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). Почему?

Очень прошу помочь. Чувствую, без вас мне никак с места не сдвинуться. Там написано, что это простейший пример, так что, не освоив его, мне дальше делать нечего будет... Если я что-то не понятно объяснил в своей проблеме, пишите, я опишу подробнее. Большое спасибо.
[Ответ][Цитата]
daner
Сообщений: 4593
На: Создание простейшей НС Хеба
Добавлено: 10 дек 06 15:06
Т.е. вы используете сеть Хеба...
1 - opt всегда равен правильному ответу
2 - ну да, веса увеличиваются, но только не все веса а некоторые, в этом и смысл. т.е. уселять (увеличивать) веса тех нейронов которые взаимно активны. ipt и так будет меняться, а что бы веса не всегда росли, применяйте Post-Not-Pre LTD , т.е. читайте статью дальше!!!

Общие вопросы:
1 - веса меняются только при обучении.
2 - выход один, но он может быть входом ко многим нейронам. Если бы говорилось о множестве выходов, то подразумевалось бы, что у них может быть разное значение, а у нас оно одно, так что (если а1=а2=а3 постоянно равны, то это одна и таже переменная).

кстати, имейте ввиду что эта сеть линейный сепаратор.
[Ответ][Цитата]
hre_off
Сообщений: 8
На: Создание простейшей НС Хеба
Добавлено: 10 дек 06 15:33
>>веса тех нейронов которые взаимно активны<<
Что имеется ввиду?

>>ipt и так будет меняться<<
Как он будет меняться? При обучении мне необходимо случайно задавать его содержание?

>>выход один, но он может быть входом ко многим нейронам<<
Вначале я так и предположил. Но во втором примере массив весов 4-х мерный. То есть от каждого из 5х5 нейронов идет синапс к каждому из 3х3 нейронов (каждый из этих синапсов может иметь свой вес, судя по структуре массива, а значит выходов много и они все разные).

>>кстати, имейте ввиду что эта сеть линейный сепаратор<<
О чем это говорит?
[Ответ][Цитата]
гость
83.69.129.*
На: Создание простейшей НС Хеба
Добавлено: 10 дек 06 18:24
можеш рисовать любые лица
распознает без проблем

http://www.hushcrash.land.ru/mysoft/CRS103.zip

в белом окошке рисуем "эмоцию",в поле Name пишем название "эмоции" и жмем Teach
например:
рисуем "улыбку" и пишем "улыбка", жмем Teach
рисуем "грусть" и пишем "грусть", жмем Teach
итд.

рисуем любую обученную "эмоцию", жмем Recognize
наслаждаемся результатом распознавания



[Ответ][Цитата]
hre_off
Сообщений: 8
На: Создание простейшей НС Хеба
Добавлено: 10 дек 06 18:35
Да, я вижу, что программа работает. Но мне от этого легче не становится. Я хочу разобрать код более простой НС.
[Ответ][Цитата]
гость
132.70.50.*
На: Создание простейшей НС Хеба
Добавлено: 10 дек 06 19:56
username: DANER
--------------------------------
Цитата:
Автор: hre_off

>>>веса тех нейронов которые взаимно активны<<
>Что имеется ввиду?

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

>>>ipt и так будет меняться<<
>Как он будет меняться? При обучении мне необходимо случайно задавать его содержание?


вы не правильно понимаете
если скажем есть 20 тестовых примеров <ipt1,opt1>,<ipt2,opt2>,....
то opt = opt1,opt2,.... меняется!!!


>>>выход один, но он может быть входом ко многим нейронам<<
>Вначале я так и предположил. Но во втором примере массив весов 4-х мерный. То есть
> от каждого из 5х5 нейронов идет синапс к каждому из 3х3 нейронов (каждый из этих
>синапсов может иметь свой вес, судя по структуре массива, а значит выходов много и
>они все разные).

правильно. выход один, но входов много!!! представте что вы к батарейки подсоединили 10 лампочек. батарея одна, но каждая лампочка имеет свое сопротивление.

>>>кстати, имейте ввиду что эта сеть линейный сепаратор<<
>О чем это говорит?

есть много задач, которые он не может выучить. как и перцептрон.

[Ответ][Цитата]
 Стр.1 (1)