Показать сообщение отдельно
  #38  
Старый 19.02.2010, 16:18
leo leo вне форума
натуралист
 
Регистрация: 23.12.2008
Сообщения: 64
По умолчанию

Вернемся к нейронным сетям.

Рассмотрим сеть, которая должна распознавать человеческие лица. Такие сети (искусственные) давно созданны программистами и хорошо изучены. И широко используются.

Предположим, что подобная сеть есть где-то в мозгу человека.

Устроена она примерно следующим образом.

У нее есть несколько слоев. Первый слой - входной. Каждый из входных нейронов "загорается" при наличии в картинке лица некоего признака. Скажем первый нейрон горит, если длинный нос, второй - если короткий, третий - если голубые глаза, и т.п.

Эти нейроны получают сигнал от внешних нейронов (не относящихся к нашей сети).

Думаю, 300 входных нейронов (т.у. 300 признаков) должно хватить для качественного распознавания лиц.

Выходной слой сети содержит нейроны, каждый из которых горит, если он распознал конкретное лицо. Первый горит, если распознал Сталина, второй - Пушкина, третий - дядю Васю.

Если ни один из внешних нейронов не горит, значит, лицо не распознано сетью. Если горят сразу несколько - значит, однозначного ответа сеть дать не может.

Слои между входным и выходным - промежуточные. Каждый обрабатывает информацию, выданную предыдущим слоем. В искусственных сетях распознавания лиц внутренних слоев бывает 3-5.

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

Итак, входных нейронов столько, сколько признаков лица, выходных - сколько лиц нам знакомо.

Если сеть совершенствуется и появляются новые признаки (скажем, мы начинаем использовать цвет волос), то добавляется входной нейрон. Если мы встречаем новое лицо, которое хотим запомнить, добавляется выходной нейрон.

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