Нейробум: поэзия и проза нейронных сетей

Вид материалаДокументы

Содержание


Лекция 7.1. Двойственные сети
Краткий обзор нейронных сетей
Подобный материал:
1   ...   7   8   9   10   11   12   13   14   ...   31
^

Лекция 7.1. Двойственные сети


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

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

До сих пор эти правила, архитектуры, системы оценки и интерпретации, приемы использования и другие интеллектуальные находки существуют в виде «зоопарка» сетей. Каждая сеть из нейросетевого зоопарка имеет свою архитектуру, правило обучения и решает конкретный набор задач, аналогично тому, как каждое животное в обычном зоопарке имеет свои голову, лапы, хвост и питается определенной пищей. В данном курсе проводится систематизация «зоопарка» и превращение его в «технопарк». То есть переход от разнообразия организмов к разнообразию деталей – это и эффективнее, и экономнее. Процесс накопления зоопарка и последующего преобразования его в технопарк вполне закономерен при возникновении всего нового. Хорошим примером может послужить процесс развития персональных компьютеров. В семидесятых годах, когда они только появились, происходил процесс накопления зоопарка. В то время существовало множество абсолютно несовместимых друг с другом персональных компьютеров (IBM PC, Apple, PDP, HP и др.). В восьмидесятых и начале девяностых годов происходил процесс систематизации и преобразования зоопарка персональных компьютеров в технопарк. Сейчас, придя в хороший магазин, торгующий компьютерами, вы можете из имеющейся в наличии комплектации собрать такой персональный компьютер, какой вам нужен. Вы можете сами выбрать процессор, память, принтер, аудио и видео карты и т.д.

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

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

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

Краткий обзор нейронных сетей


Можно по разному описывать «зоопарк» нейронных сетей. Приведем классификацию нейронных сетей по решаемым ими задачам.
  1. Классификация без учителя или поиск закономерностей в данных. Наиболее известным представителем этого класса сетей является сеть Кохонена, реализующая простейший вариант решения этой задачи. Наиболее общий вариант решения этой задачи известен как метод динамических ядер [224, 262].
  1. Ассоциативная память. Наиболее известный представитель – сети Хопфилда. Эта задача также позволяет строить обобщения. Наиболее общий вариант описан в [78 – 80].
  1. Аппроксимация функций, заданных в конечном числе точек. К сетям, решающим эту задачу, относятся персептроны, сети обратного распространения ошибки.

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

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

Основное различие между дифференцируемыми и пороговыми сетями состоит в способе обучения. Для дифференцируемых сетей есть конструктивная процедура обучения, гарантирующая результат, если архитектура сети позволяет ей решит задачу (см. разд. «Оценка способности сети решить задачу» – метод двойственного обучения (обратного распространения ошибки). Следует заметить, что при использовании обучения по методу двойственности так же возникают сложности, типа локальных минимумов. Однако существует набор регулярных процедур, позволяющих с ними бороться (см. [91]). Для обучения пороговых сетей используют правило Хебба или его модификации. Однако, для многослойных сетей с пороговыми элементами правило Хебба не гарантирует обучения. (В случае однослойных сетей – персептронов, доказана теорема о достижении результата в случае его принципиальной достижимости). С другой стороны, в работе [146] доказано, что многослойные сети с пороговыми нейронами можно заменить эквивалентными двухслойными сетями с необучаемыми весами первого слоя.