Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #55, ИЮНЬ 2005 г.

Нервные клетки для компьютера

Денис Колисниченко

Спецвыпуск: Хакер, номер #055, стр. 055-004-2


Как представить человеческий нейрон в виде математической модели? Это будет функция, которой передается N параметров - это дендриты. Wn - это вес синапсов каждого дендрита. Для простоты будем считать, что дендритов имеется три. К синапсам поступают импульсы силы X1, X2, X3. После прохождения синапсов к нейрону поступают импульсы силы W1*X1, W2*X2, W3*X3. Суммарный полученный импульс равен S = W1*X1+ W2*X2+ W3*X3. Сила исходящего импульса задается некоторой функцией F(S) = F(W1*X1+ W2*X2+ W3*X3). Как видишь, с математической точки зрения все просто.

Строим нейронную сеть

Нейронная сеть - это набор соединенных между собой нейронов. Функции всех нейронов сети постоянны, а веса и параметры (импульсы) могут изменяться. Нейронная сеть имеет внешние входы и внешние выходы. Мы передаем сети информацию на внешние входы, а получаем преобразованную сетью информацию на внешних выходах. Выходит, что задача нейронной сети - это преобразование одного вектора в другой, причем в процессе преобразования принимают участие все нейроны сети. Ясно, что сейчас мы говорим о математической нейронной сети, а не биологической. Рассмотрим одну из самых распространенных и одну их самых нужных задач, решаемых нейронной сетью - распознавание символа. Распознавание образа и его ассоциация с чем-либо - задача посложнее.

Итак, входная информация - изображение символа размером 30х30 точек. На выходе мы должны получить символ: сеть определит то изображение, символ которого был передан ей, и возвратит всего один байт. Для простоты возьмем только английский алфавит, в котором 26 букв. Наша сеть будет иметь 900 внешних входов и 26 внешних выходов. Если на входе - изображение буквы "D", то максимальный сигнал будет на выходе "D" - аналогично для остальных букв.

Построение нейронной сети заключается в выборе архитектуры сети и подборе весов сети. Подбор весов - это обучение сети. Осталось определиться с архитектурой.

При разработке архитектуры сети нужно учитывать:

- число входов и передаточные функции;

- способ соединения нейронов между собой внутри сети;

- количество выходов и то, что будет на каждом выходе.

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

Обучение сети

Обучение нейронной сети похоже на обучение ребенка - мы показываем ему букву "А" и спрашиваем, что это за буква. Ребенок ответил неправильно - нужно сказать, что ему показали букву "А". Так будем повторять, пока ребенок не запомнит все буквы алфавита, и точно так же происходит процесс обучения нейронной сети.

Назад на стр. 055-004-1  Содержание  Вперед на стр. 055-004-3