Опубликован: 25.12.2006 | Доступ: свободный | Студентов: 1883 / 400 | Оценка: 4.43 / 4.13 | Длительность: 15:29:00
Специальности: Программист, Экономист
Лекция 2:

Нейрокомпьютеры: какие они?

< Лекция 1 || Лекция 2: 123456 || Лекция 3 >

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

Типы обучения нейросети

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

E(w)=E\{x^\alpha,y^\alpha,y(x^\alpha,w)\}

Здесь \{x^\alpha,y^\alpha\} - набор примеров (т.е. пар входов-выходов), на которых обучается нейросеть, а \{y(x^\alpha,w)\} - реальные значения выходов нейросети, зависящие от конкретных значений ее синаптических весов. Такой способ обучения, когда действительный выход нейросети сравнивают с эталонным, называют обучением с учителем.

Иногда выходная информация известна не полностью. Например, вместо эталонных ответов известно лишь хуже или лучше данная конфигурация сети справляется с задачей (вспомним детскую игру "холоднее-горячее" или лабораторную мышь в лабиринте с лакомствами и электрошоком). Этот тип обучения называют обучением с подкреплением (reinforcement learning).

Вообще говоря, возможен и такой режим обучения, когда желаемые значения выходов вообще неизвестны, и сеть обучается только на наборе входных данных: \{x^\alpha\}

E(w)=E\{x^\alpha,y(x^\alpha,w)\}

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

Таблица 2.5. Сравнение режимов обучения нейросетей
Вид обучения: С "учителем" С "подкреплением" Без "учителя"
Что подается в качестве обучающих примеров Набор пар входов-выходов \{x^\alpha,y^\alpha\} Оценка выходов сети \{x^\alpha,y(x^\alpha)\} Только набор входных значений \{x^\alpha\}
Что требуется от сети Найти функцию, обобщающую примеры, в случае дискретных y^\alpha - классифицировать входы. В целом - научиться реагировать схожим образом в схожих ситуациях. Научиться заданной "правильной" линии поведения. Найти закономерности в массиве данных, отыскать порождающую данные функцию распределения, найти более компактное описание данных.

С практической точки зрения, "помеченные" данные \{x^\alpha,y(x^\alpha)\} зачастую дороги и не столь многочисленны, как "непомеченные" \{x^\alpha\}, например, в случае, когда "учителем" является человек - эксперт. В силу этого обстоятельства на таких данных можно обучить лишь относительно простые и компактные нейросети. Напротив, нейросети, обучаемые без учителя часто используют для переработки больших массивов "сырых" данных - в качестве предобрабатывающих фильтров. Указанное различие, однако, исчезает, когда данные естественным образом распадаются на входы-выходы, например при предсказании временных рядов, где следующее значение ряда является выходом, а предыдущие несколько значений - соответствующими входами обучаемой нейросети.

Архитектура связей

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

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

Вообще говоря, то, что нейроны в рекуррентных сетях по многу раз принимают участие в обработке информации позволяет таким сетям производить более разнообразную и глубокую обработку информации. Но в этом случае следует принимать специальные меры к тому, чтобы сеть не зацикливалась (например, использовать симметричные связи, как в сети Хопфилда, или принудительно ограничивать число итераций, как это делается в эмуляторе MultiNeuron группы НейроКомп).

Таблица 2.6. Сравнение архитектур связей нейросетей
Сравнение сетей: Без обратных связей (многослойные) С обратными связями
Преимущества Простота реализации. Гарантированное получение ответа после прохождения данных по слоям. Минимизация размеров сети - нейроны многократно участвуют в обработке данных. Меньший объем сети облегчает процесс обучения.
Недостатки Требуется большее число нейронов для алгоритмов одного и того же уровня сложности. Следствие - большая сложность обучения. Требуются специальные условия, гарантирующие сходимость вычислений.
Классификация по типу связей и типу обучения (Encoding-Decoding)

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

Таблица 2.7. Классификация нейросетей
Тип обучения (Coding) \rightarrow Тип связей (Decoding) \downarrow С "учителем" Без "учителя"
Без обратных связей Многослойные персептроны (аппроксимация функций, классификация) Соревновательные сети, карты Кохонена (сжатие данных, выделение признаков)
С обратными связями Рекуррентные аппроксиматоры (предсказание временных рядов, обучение в режиме on-line) Сеть Хопфилда (ассоциативная память, кластеризация данных, оптимизация)

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

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

< Лекция 1 || Лекция 2: 123456 || Лекция 3 >