Нейронная сеть

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Lightning13 (обсуждение | вклад) в 18:43, 3 сентября 2007. Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску
Схема простой нейросети. Зелёным обозначены входные элементы, жёлтым — выходной элемент

Иску́сcтвенная нейро́нная се́ть — это математическая модель, а также устройства параллельных вычислений, представляющие собой систему соединённых и взаимодействующих между собой простых процессоров (искусственных нейронов). Как математическая модель искусcтвенная нейронная сеть представляет собой частный случай методов распознавания образов или дискриминантного анализа.

Такие процессоры обычно исключительно просты, особенно в сравнении с процессорами, используемыми в персональных компьютерах.

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

Понятие возникло при изучении процессов, протекающих в мозге при мышлении, и при попытке смоделировать эти процессы. Полученные модели называются искусственными нейронными сетями (ИНС).

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

Известные применения

Распознавание образов и классификация

В качестве образов могут выступать различные, по своей природе, объекты: символы текста, изображения, образцы звуков и т. д. При обучении сети предлагаются различные образцы образов с указанием того, к какому классу они относятся. По окончании обучения сети можно предъявлять неизвестные ей ранее образы и получать от нее ответ о принадлежности к определенному классу. Топология такой сети характеризуется тем, что количество нейронов в выходном слое, как правило, равно количеству определяемых классов. При этом устанавливается соответствие между выходом нейронной сети и классом, который он представляет. Когда сети предъявляется некий образ, на одном из ее выходов должен появится признак того, что образ принадлежит этому классу. В то же время на других выходах должен быть признак того, что образ данному классу не принадлежит. Если на двух или более выходах есть признак принадлежности к классу, считается что сеть «не уверена» в своем ответе.

Принятие решений

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

Кластеризация

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

Способности нейронной сети к прогнозированию напрямую следуют из ее способности к обобщению и выделению скрытых зависимостей между входными и выходными данными. После обучения сеть способна предсказать будущее значение некой последовательности на основе нескольких предыдущих значение и/или каких-то существующих в настоящий момент факторов. Следует отметить, что прогнозирование возможна только тогда, когда предыдущие изменения действительно в какой то степени предопределяют будущие. Например, прогнозирование котировок акций на основе котировок за прошлую неделю может оказаться успешным (а может и не оказаться), тогда как прогнозирование результатов завтрашней лотереи на основе данных за последние 50 лет почти наверняка не даст никаких результатов.

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

Этапы решения задач

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

Следует рассмотреть подробнее некоторые из этих этапов.

Сбор данных для обучения

Выбор данных для обучения сети и их обработка является самым сложным этапом решения задачи. Набор данных для обучения должен удовлетворять нескольким критериям:

  • Репрезентативность — данные должны иллюстрировать истинное положение вещей в предметной области
  • Непротиворечивость — противоречивые данные в обучающей выборке приведут к плохому качеству обучения сети
  • Объем — существует мнение, что число записей в выборке должно на несколько порядков превосходить количество связей между нейронами в сети. В противном случае сеть просто «запомнит» всю обучающую выборку и не сможет выполнить обобщение.

Подготовка и нормализация данных

Исходные данные преобразуются к виду, в котором их можно подать на входы сети. Каждая запись в файле данных называется обучающей парой или обкучающим вектором. Обучающий вектор содержит по одному значению на каждый вход сети и, в зависимоссти от типа обучения (с учителем или без), по одному значению для каждого выхода сети. Обучение сети на «сыром» наборе, как правило, не дает качественных результатов. Существует ряд способов улучшить «восприятие» сети.

  • Нормировка выполняется, когда на различные входы подаются данные разной размерности. Например, на первый вход сети подается величины со значениями от нуля до единицы, а на второй — от ста до тысячи. При отсутствии нормировки значения на втором входе будут всегда оказывать существенно большее влияние на выход сети, чем значения на первом входе. При нормировке размерности всех входных и выходных данных сводятся воедино.
  • Квантование выполняется над непрерывными величинами для которых выделяется конечный набор дискретных значений. Например, квантование используют для задания частот звуковых сигналов при распознавании речи.
  • Фильтрация выполняется для «зашумленных» данных.

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

Поколения нейросетей

  • Первое
  • Второе
  • Третье
  • Четвертое

Классификация по топологии

Классификация по характеру связей

Сети прямого распространения (Feedforward)

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

Рекуррентные сети

Сигнал с выходных нейронов частично передается обратно на входы нейронов входного слоя. Такие сети позволяют решать задачи компрессии данных и построения ассоциативной памяти. Ярким примером таких сетей является сеть Хопфилда

Двунаправленные сети

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

Радиальные сети

Самоорганизующиеся карты

Отличия от машин с архитектурой фон Неймана

Длительный период эволюции придал мозгу человека много качеств, которые отсутствуют в машинах с архитектурой фон Неймана:

  • Массовый параллелизм
  • Распределённое представление информации и вычисления
  • Способность к обучению и обобщению
  • Адаптивность
  • Свойство контекстуальной обработки информации
  • Толерантность к ошибкам
  • Низкое энергопотребление

Пример

Входные данные — курс акций за год. Задача — определить завтрашний курс. Проводится следующее преобразование — выстраивается в ряд курс за сегодня, вчера, за позавчера, за позапозавчера. Следующий ряд — смещается по дате на один день и так далее. На полученном наборе обучается сеть с 3 входами и одним выходом — то есть выход: курс на дату, входы: курс на дату минус 1 день, минус 2 дня, минус 3 дня. Обученной сети подаем на вход курс за сегодня, вчера, позавчера и получаем ответ на завтра. Нетрудно заметить, что в этом случае сеть просто выведет зависимость одного параметра от трех предыдущих. Если желательно учитывать ещё какой-то параметр (например, общий индекс по отрасли), то его надо добавить как вход (и включить в примеры), переобучить сеть и получить новые результаты. Для наиболее точного обучения стоит использовать метод ОРО, как наиболее предсказуемый и несложный в реализации.

Развитие

В последние десятилетия активно развиваются приложения на базе искусственных нейронных сетей. Среди таких приложений можно отметить следующие задачи: классификация образов, кластеризация/категоризация, аппроксимация функций, предсказание/прогноз, оптимизация, память, адресуемая по содержимому, управление. Эти и подобные задачи успешно решаются средствами пакета Neural Networks, который входит в состав расширенных версий системы MATLAB.

Для решения задачи следует выбрать следующее:

  1. тип используемых нейронов (число входов, передаточные функции);
  2. архитектуру сети;
  3. входные и выходные параметры.

На втором этапе производится обучение созданной нейронной сети. После этого производится количественный анализ полученной модели искусственной нейронной сети. Нами использовалась модель нейронной сети, основанная на радиальном базисном нейроне. При ее «обучении» использовалась встроенная функция пакета Neural Networks системы MATLAB — newrb.

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

Ссылки

Литература

  • Круглов В. В., Борисов В. В. Искусственные нейронные сети. Теория и практика. — М.: Горячая линия — Телеком, 2001. С. 382 . ISBN 5-93517-031-О
  • Терехов В. А. Нейросетевые системы управления: Учеб. пособие для вузов/В. А. Терехов, Д. В. Ефимов, И. Ю. Тюкин. — М.: Высш. шк. 2002. С. 183
  • Уоссермен Ф. Нейрокомпьютерная техника. — М.: Мир, 1992.
  • Саймон Хайкин. Нейронные сети: полный курс = Neural Networks: A Comprehensive Foundation. — 2-е изд. — М.: «Вильямс», 2006. — С. 1104. — ISBN 0-13-273350-1.
  • Роберт Каллан, «Основные концепции нейронных сетей» : Пер. с англ. — М. : 2001. — 288 стр. с ил., «Вильямс»
  • Статья противника применения нейронных сетей в прогнозировании цен на акции

См. также

|