Добавить в цитаты Настройки чтения

Страница 15 из 17

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

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

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

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

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

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

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

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

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

Сеть Коско

Общий вид архитектуры рекуррентной нейронной сети можно представить следующим образом.

В процессе исследований рекуррентных нейронных сетей стало ясно, что с обычными искусственными нейронами они работают не совсем эффективно – обычные нейроны с течением времени как будто бы «размываются», теряют своё обучение. Это не позволяет эффективно использовать обычные нейроны в рекуррентных нейронных сетях для задач классификации и, главное, прогнозирования временных рядов. И тогда появилась идея по разработке новых типов искусственных нейронов. Одним из наиболее знаменитых в этом плане является LSTM-нейрон (от англ. LongShort-TermMemory – «долгая краткосрочная память»).

Итак, Сепп Хохрайтер и Юрген Шмидхубер в 1997 г. предложили новый вариант искусственного нейрона, который затем был улучшен Феликсом Герсом в 2000 г. Искусственная нейросеть, составленная из LSTM-нейронов, является универсальной в смысле Тьюринга, т. е. при помощи неё можно вычислить любую вычислимую функцию (матрицу весов такой нейросети можно воспринимать как программу). Именно такие нейросети сегодня являются фундаментальной основой для построения решений ведущих компаний, работающих в области искусственного интеллекта. Сам же LSTM-нейрон может быть представлен при помощи следующей диаграммы.

Представленные выше диаграммы нарисованы с использованием следующих условных обозначений:

• обычная стрелка – входные и выходные связи нейрона, поток значений между функциями внутри нейрона;





• пунктирная стрелка – входные и выходные связи нейрона, поток значений между функциями внутри нейрона с задержкой по времени (на один или более тактов работы нейронной сети);

• плюс – функция суммирования входных значений;

• точка – функция перемножения входных значений;

• чёрный круг – дубликатор потока значений;

• гейт S – функция активации, обычно представляющая собой сигмоиду;

• гейт G – функция активации для входного потока, обычно являющаяся гиперболическим тангенсом;

• гейт H – функция активации для выходного потока, обычно тоже гиперболический тангенс;

• поток i – результат активации для входного потока;

• поток z – результат активации для рекуррентного входного потока (обычно с нейронов того же слоя);

• поток f – результат активации для гейта забывания;

• поток o – результат активации для выходного потока;

• поток y – результат работы LSTM-нейрона в целом.

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