Этологический форум

Этологический форум (http://forum.ethology.ru/index.php)
-   Эволюция (http://forum.ethology.ru/forumdisplay.php?f=10)
-   -   Как нейронные сети мозга кодируются в генах? (http://forum.ethology.ru/showthread.php?t=2648)

Sonta 19.02.2010 17:59

извините..:mad: куда то не туда меня понесло ...
поверил Ломоносову ,что математика ум в порядок приводит

Sonta 19.02.2010 18:11

Цитата:

Сообщение от leo

Алгоритмов обучения такой сети известно несколько. Например, алгоритм обратного распространения ошибки. Преподносится лицо. Сеть обрабатывает его и выдает ответ. Вычисляется ошибка - разница между лицом и тем, что выдала сеть. Эта разница вносится как поправка в предыдущий слой. Затем оттуда в еще предыдущий слой и так до входного слоя.

Leo, а можно уточнить,поправки вносятся автоматически?
Сеть самообучаемая?

Sonta 19.02.2010 18:24

Возможно не совсем по теме ..про распознавание лиц...у нас в Германии есть закон запрещающий носить маски...в том смысле если мне вдруг без всякого на то основания захочется прогуляться по улице в маске ..пдойдет полицейский и оштрафует...так же женщинам запрещено носить паранжу

leo 19.02.2010 21:53

Цитата:

Сообщение от Sonta
Leo, а можно уточнить,поправки вносятся автоматически?
Сеть самообучаемая?


Что Вы имеете в виду под "автоматически"?

Сеть - это learning system (обучающаяся система).

Учитель может быть человеком или компьютерной программой - это не важно.

Обучение происходит так. Имеется training set, который состоит из векторов признаков (то есть, ввода) и требуемого вывода для каждого ввода.

Например, training set может включать 100 портретов + имя того, кто на портрете. В сеть вводится вектор признаков, например: (1, 1, 0, 1, 0, 0, ...) - (есть длинной нос, есть борода, нет двойного подбородка, есть сросшиеся брови, нет волос, нет раскосых глаз, ...) и ответ + "Федя Петров".

Сеть запускается с данным вводом и выдает результат: (0, 0, 1, 0, 0, 0, ..., 0), то есть (не Сталин, не Ленин, да Федя Петров, не сосед напротив, не Коля с водокачки, ...).

Это правильный результат, ошибка = 0.

Если сеть выдаст, например: (0, 0, 0, 1, 0, 0, ...) = (не Сталин, не Ленин, не Федя Петров, да сосед напротив, не Коля с водокачки, ...), то есть ошибка.

Ошибка равна разности векторов : (0, 0, 1, 0, 0, ...) - (0, 0, 0, 1, 0, ...) = (0, 0, 1, -1, 0, ...).

С помощью этой ошибки корректируются коэффиценты нейронов предпоследнего слоя. То есть, нейрон, который выдал 1 там, где должен был быть 0, корректируется. И второй нейрон, который выдал 0 там, где должна была быть 1.

Потом считается ошибка в предыдущем слое и т.д. наверх.

Всё это можно, естественно, производить автоматически - приготовьте 100 портретов, для каждого приготовьте вектор признаков и вводите их с помощью программы в сеть и изменяйте коэффиценты нейронов с помощью программы.

У человека это тоже автоматически - вы идете с женой по улице, она показывает вам на проходящего мимо незнакомого мужчину и говорит: "Это Ермаков. Он мне вчера сказал, что у меня красивые глаза".

Ваша сеть распознавания лиц быстренько добавляет один выходной нейрон, который будет выдавать Ермакова. Потом в сеть вводится вектор признаков лица Ермакова. Сеть выдает ответ: Петров и Сидоров - потому что эти ваши приятели немного походи на Ермакова.

Вы вычисляете ошибку и меняете коэфиценты нейронов так, чтобы Петров с Сидоровым не выдавали Ермакова, а Ермаков не выдавал их.


Часовой пояс GMT +4, время: 00:52.

Русский vBulletin v3.5.1, Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Перевод сделал zCarot