Чтение онлайн

ЖАНРЫ

Искусственный интеллект
Шрифт:

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

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

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

Сеть Ворда

Сеть Хопфилда

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

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

Машина Больцмана

Ограниченная машина Больцмана

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

Глубокая сеть доверия

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

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

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

В 1988 г. Барт Коско разработал тип нейронной сети, названный им «двунаправленной ассоциативной памятью» (а сегодня она называется сетью Коско). Это вариант сети Хопфилда, в котором входными является часть нейронов, а выходными – оставшиеся нейроны. Все нейроны входного и выходного слоёв соединены друг с другом двунаправленными связями, которые обучаются так же, как и для сети Хопфилда. Сеть Коско работает на тех же задачах, что и сеть Хопфилда, но делает это немногим более эффективно. Также разработаны некоторые подтипы этой сети, в частности адаптивный вариант, в котором осуществляется изменение весов связей в процессе работы. Тем самым адаптивная сеть Коско позволяет идентифицировать искажённые и зашумлённые образцы.

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

Поделиться с друзьями: