18+
реклама
18+
Бургер менюБургер меню

Александр Волошин – Нейротон. Занимательные истории о нервном импульсе (страница 44)

18

Математическая модель искусственного нейрона вместе с моделью сети, состоящей из этих нейронов была предложена Уорреном Мак-Каллоком и Уолтером Питтсом в 1943 году. В своей фундаментальной статье о логическом исчислении идей и нервной активности эти учёные формализовали понятие нейронной сети. Авторы продемонстрировали, что сеть на таких элементах способна выполнять и логические, и числовые операции. Для создания первых эквивалентов ИНС предлагались электровакуумные лампы в качестве идеального на тот момент технического устройства.

Работая у истоков нейробиологии, Уоррен Мак-Каллок и Уолтер Питтс в своей статье 1943 года «Логическое исчисление идей, присущих нервной деятельности» предложили первую логическую схему нейрона.

Рисунок 44 Базовый нейрон Маккалока и Питтса

Первая нейросеть была создана Розенблаттом и Мак-Каллоком в 1956—1965 годах. Это была попытка создать систему, моделирующую взаимодействие человеческого глаза с мозгом. Устройство, созданное ими тогда, получило название «Персептрон» (Perceptron). Оно реально умело различать буквы алфавита, хотя и было чувствительно к их написанию. Персептрон обрёл популярность – его и сейчас используют для распознавания образов, прогнозирования погоды и т. д.

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

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

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

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

Что бы понять, как работает нейросеть, давайте рассмотрим подробнее её составляющие и их параметры.

Что такое искусственный нейрон?

Современная ИНС любой сложности состоит из элементов – нейронов. Нейрон – это элементарная вычислительная единица, способная получать информацию, производить над ней простые вычисления и передавать её дальше. Нейроны бывают трёх типов:

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

Рисунок 45 Логическая схема элементарной однослойной НИС. Веса S – A связей могут иметь значения —1, +1 или 0 (то есть отсутствие связи). Веса A – R связей W могут быть любыми.

Ассоциативные нейроны (A-нейроны), названы так потому что каждому такому элементу, соответствует некоторый набор (ассоциация) S-нейронов. A-нейрон активизируется, как только количество сигналов от S-нейронов на его входе превысит некоторый порог θ.

Сигналы от возбудившихся A-нейронов, в свою очередь, передаются в сумматор R, причём сигнал от i-го ассоциативного нейрона передаётся с коэффициентом (Wi). Этот коэффициент называется весом A—R связи.

Так же, как и A-нейрон, R-нейрон подсчитывает сумму значений входных сигналов, помноженных на веса (линейную форму).

На выходе R-нейрона генерируется «1», если сумма входящих сигналов превысит заданный порог θ, иначе на выходе будет «—1» или «0». Математически, функцию, реализуемую R-элементом, можно записать так:

У каждого из рассмотренных нейронов есть два обязательных параметра: входные данные «вход» и выходные «выход». В случае сенсо́рного S-нейрона: «вход» равен «выходу». В остальных, на «входы» передаётся суммарная информация «выходов» нейронов из предыдущего слоя которая после нормализации попадает на «выход».

В каждой искусственной сети обязательно присутствуют входной слой – S, выходной слой, который выводит результат, и в зависимости от сложности есть некоторое количество слоёв (A).

Что такое искусственный синапс?

Синапс – это связь между двумя нейронами. У синапсов есть всего один параметр – вес (Wi). Благодаря ему информация между нейронами передаётся с определённым коэффициентом. Допустим, есть три нейрона, которые передают информацию следующему. Тогда мы имеем три веса, соответствующие каждому из их синапсов. Информация, переданная через синапс бо́льшим весовым коэффициентом, окажется доминирующей в следующем нейроне (пример – смешение цветов). На самом деле, совокупность весов нейронной сети или матрица весов – это и есть своеобразный мозг всей системы.

Рисунок46. Логика искусственного синапса

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

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

Как работает искусственная нейронная сеть?

Теперь, когда у нас есть входные данные и веса́, мы можем получить выходные данные. Получив выходные данные, мы передаём их дальше. И так повторяем для всех слоёв, пока не дойдём до выходного нейрона. Включив такую сеть в первый раз, мы, вероятно, получим результат весьма далёкий от правильного. Это потому что сеть «не натренирована». Чтобы улучшить результаты мы будем её тренировать. Но прежде давайте введём несколько терминов и свойств нейронной сети.

Тренировочный сет – это последовательность данных, которыми оперирует нейронная сеть.

Эпоха. Перед запуском нейронной сети эта величина устанавливается в 0 и имеет предел, заданный вручную. Эпоха увеличивается каждый раз, по завершении всего набора тренировочных сетов.

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

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

После обучения сеть может работать в режиме распознавания и обобщения. При этом ей предъявляются ранее неизвестные объекты, а она должна установить, к какому классу они принадлежат.

Обученная нейронная сеть приобретает способность выявлять сложные и даже неочевидные взаимосвязи между входными данными и выходными. Такая сеть сможет выдать верный результат на основании данных, которых не было в обучающей выборке, а также неполных и частично искажённых данных.

Кто будет обучать ИНС? Ответ – компьютер. Откуда компьютер знает? Человек вложил в него информацию. Искусственный интеллект – это по-прежнему абстракция.

Практическое применение

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

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

Обученной таким образом сети подаём на вход курсы за сегодня, вчера, позавчера, а сеть выдаёт нам прогноз на завтра. Стоит заметить, что в этом случае сеть просто выведет зависимость одного параметра от трёх предыдущих. Если возникнет необходимость учитывать ещё какой-то параметр, например, разные биржевые индексы, то его надо добавить как «вход», включить в примеры, переобучить сеть и получить новые результаты. И всё бы было здорово если бы удалось учесть все возможные параметры.