Читаем Мозг напрокат. Как работает человеческое мышление и как создать душу для компьютера полностью

 Описанный формальный нейрон — это некая абстрактная конструкция, наделенная перечисленными свойствами, дающая возможность строить нейронные сети, применимые в определенных ситуациях. Еще раз подчеркнем, что такой формальный нейрон очень далек от реального нейрона головного мозга. Можно придумать другие формальные нейроны, обладающие более сложными свойствами,— например способные работать в разных режимах, каждому из которых свойственен свой алгоритм поведения. Более того, можно описать нейрон, одновременно работающий в нескольких режимах, и задать сложное информационное использование его связей. Такие более сложные формальные нейроны могут оказаться удобнее для решения специфических задач или служить иллюстрацией того, как работают реальные нейроны головного мозга.

 А теперь посмотрим, как может выглядеть нейронная сеть, решающая задачу распознавания цифр от 0 до 9.

 Предположим, что мы пишем цифры «от руки» на матрице 16х16 точек. Входом нашей нейронной сети будет информация о состоянии 256 точек, образующих нашу матрицу. Выходом нейронной сети будет информация о том, какая цифра от 0 до 9 распознана.


Рисунок 8. Нейронная сеть, распознающая цифры. Показана только часть нейронов и их связей.

 Запасемся обучающими примерами, то есть напишем одни и те же цифры разными способами (Рисунок 9).


Рисунок 9. Обучающие примеры.

Будем подавать множество таких примеров на вход нейронной сети и путем «шаманских» манипуляций менять веса у связей нейронов, добиваясь наилучшего соответствия сигналов на выходе с поданным тестовым примером.

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

 Основная идея обратного распространения состоит в том, как получить оценку ошибки для нейронов скрытых слоев. Заметим, что известные ошибки, делаемые нейронами выходного слоя, возникают вследствие неизвестных пока ошибок нейронов скрытых слоев. Чем больше значение синаптической связи между нейроном скрытого слоя и выходным нейроном, тем сильнее ошибка первого влияет на ошибку второго. Следовательно, оценку ошибки элементов скрытых слоев можно получить как взвешенную сумму ошибок последующих слоев. При обучении информация распространяется от низших слоев иерархии к высшим, а оценки ошибок, делаемые сетью,— в обратном направлении, что и отражено в названии метода (Терехов, 1999).

 При оценке ошибки на каждом шаге можно записать зависимость ошибки и весовых коэффициентов конкретного нейрона. Минимизация ошибки — это нахождение минимума полученной функции, что делается дифференцированием полученной функции и поиском весовых коэффициентов, обращающих производную в ноль. Отсюда, кстати, становится понятным, почему в моделях, использующих этот метод, для описания работы нейрона применяется сигмоидная функция: в отличие от скачкообразной функции, она дифференцируема.

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

 Обобщим.

Перейти на страницу:

Похожие книги