Нейрокомпьютеры: какие они?
Классификация базовых нейроархитектур
Типы обучения нейросети
Ошибка сети зависит, как уже говорилось, от конфигурации сети - совокупности всех ее синаптических весов. Но эта зависимость не прямая, а опосредованная. Ведь непосредственные значения весов скрыты от внешнего наблюдателя. Для него сеть - своего рода черный ящик, и оценивать ее работу он может лишь основываясь на ее поведении, т.е. на том, каковы значения выходов сети при данных входах. Иными словами, в общем виде функция ошибки имеет вид:
Здесь - набор примеров (т.е. пар входов-выходов), на которых обучается нейросеть, а - реальные значения выходов нейросети, зависящие от конкретных значений ее синаптических весов. Такой способ обучения, когда действительный выход нейросети сравнивают с эталонным, называют обучением с учителем.
Иногда выходная информация известна не полностью. Например, вместо эталонных ответов известно лишь хуже или лучше данная конфигурация сети справляется с задачей (вспомним детскую игру "холоднее-горячее" или лабораторную мышь в лабиринте с лакомствами и электрошоком). Этот тип обучения называют обучением с подкреплением (reinforcement learning).
Вообще говоря, возможен и такой режим обучения, когда желаемые значения выходов вообще неизвестны, и сеть обучается только на наборе входных данных:
Такой режим обучения сети называют обучением без учителя. В этом случае сети предлагается самой найти скрытые закономерности в массиве данных. Так, избыточность данных допускает сжатие информации, и сеть можно научить находить наиболее компактное представление таких данных, т.е. произвести оптимальное кодирование данного вида входной информации.
Вид обучения: | С "учителем" | С "подкреплением" | Без "учителя" |
---|---|---|---|
Что подается в качестве обучающих примеров | Набор пар входов-выходов | Оценка выходов сети | Только набор входных значений |
Что требуется от сети | Найти функцию, обобщающую примеры, в случае дискретных - классифицировать входы. В целом - научиться реагировать схожим образом в схожих ситуациях. | Научиться заданной "правильной" линии поведения. | Найти закономерности в массиве данных, отыскать порождающую данные функцию распределения, найти более компактное описание данных. |
С практической точки зрения, "помеченные" данные зачастую дороги и не столь многочисленны, как "непомеченные" , например, в случае, когда "учителем" является человек - эксперт. В силу этого обстоятельства на таких данных можно обучить лишь относительно простые и компактные нейросети. Напротив, нейросети, обучаемые без учителя часто используют для переработки больших массивов "сырых" данных - в качестве предобрабатывающих фильтров. Указанное различие, однако, исчезает, когда данные естественным образом распадаются на входы-выходы, например при предсказании временных рядов, где следующее значение ряда является выходом, а предыдущие несколько значений - соответствующими входами обучаемой нейросети.
Архитектура связей
На способ обработки информации решающим образом сказывается наличие или отсутствие в сети петель обратных связей. Если обратные связи между нейронами отсутствуют (т.е. сеть имеет структуру последовательных слоев, где каждый нейрон получает информацию только с предыдущих слоев), обработка информации в сети однонаправленна. Входной сигнал обрабатывается последовательностью слоев и ответ гарантированно получается через число тактов равное числу слоев.
Наличие же обратных связей может сделать динамику нейросети (называемой в этом случае рекуррентной) непредсказуемой. В принципе, сеть может "зациклиться" и не выдать ответа никогда. Причем, согласно Тьюрингу, не существует алгоритма, позволяющего для произвольной сети определить придут ли когда-либо ее элементы в состояние равновесия (т.н. проблема останова).
Вообще говоря, то, что нейроны в рекуррентных сетях по многу раз принимают участие в обработке информации позволяет таким сетям производить более разнообразную и глубокую обработку информации. Но в этом случае следует принимать специальные меры к тому, чтобы сеть не зацикливалась (например, использовать симметричные связи, как в сети Хопфилда, или принудительно ограничивать число итераций, как это делается в эмуляторе MultiNeuron группы НейроКомп).
Сравнение сетей: | Без обратных связей (многослойные) | С обратными связями |
---|---|---|
Преимущества | Простота реализации. Гарантированное получение ответа после прохождения данных по слоям. | Минимизация размеров сети - нейроны многократно участвуют в обработке данных. Меньший объем сети облегчает процесс обучения. |
Недостатки | Требуется большее число нейронов для алгоритмов одного и того же уровня сложности. Следствие - большая сложность обучения. | Требуются специальные условия, гарантирующие сходимость вычислений. |
Классификация по типу связей и типу обучения (Encoding-Decoding)
Ограничившись лишь двумя описанными выше факторами, разделяющими сети по типу обучения (программирования) и функционирования, получим следующую полезную классификацию базовых нейро-архитектур, впервые предложенную, по-видимому, Бартом Коско (Таблица 2.7).
Тип обучения (Coding) Тип связей (Decoding) | С "учителем" | Без "учителя" |
---|---|---|
Без обратных связей | Многослойные персептроны (аппроксимация функций, классификация) | Соревновательные сети, карты Кохонена (сжатие данных, выделение признаков) |
С обратными связями | Рекуррентные аппроксиматоры (предсказание временных рядов, обучение в режиме on-line) | Сеть Хопфилда (ассоциативная память, кластеризация данных, оптимизация) |
В этой таблице различные архитектуры сетей, которые встретятся нам далее в этой книге, распределены по ячейкам в зависимости от способа обработки ими информации и способа их обучения. В скобках указаны основные типы задач, обычно решаемых данным классом нейросетей.
В следующих лекциях, после более близкого знакомства с перечисленными выше основными нейро-архитектурами, мы рассмотрим конкретные примеры задач из области финансов и бизнеса, интересные с практической точки зрения.