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

Цитата:
Сообщение от 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 портретов, для каждого приготовьте вектор признаков и вводите их с помощью программы в сеть и изменяйте коэффиценты нейронов с помощью программы.

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

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

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