• точка – функция перемножения входных значений;
• чёрный круг – дубликатор потока значений;
• гейт S – функция активации, обычно представляющая собой сигмоиду;
• гейт G – функция активации для входного потока, обычно являющаяся гиперболическим тангенсом;
• гейт H – функция активации для выходного потока, обычно тоже гиперболический тангенс;
• поток i – результат активации для входного потока;
• поток z – результат активации для рекуррентного входного потока (обычно с нейронов того же слоя);
• поток f – результат активации для гейта забывания;
• поток o – результат активации для выходного потока;
• поток y – результат работы LSTM-нейрона в целом.
На сегодняшний день, как уже сказано выше, LSTM-нейрон является самой продвинутой моделью биологического нейрона. Однако он всё так же имеет одно важное упущение – нейроны в нервной системе млекопитающих получают информацию не только при помощи передачи электрических импульсов от дендритов через аксоны к следующим нейронам, но ещё используются различные нейромедиаторы в синаптических щелях, а также гуморальное воздействие на весь нейрон в целом. Кроме того, до сих пор не до конца изучена роль глиальных клеток, которых в нервной системе на порядок больше, чем нейронов. Другая сложность, которая проявляется при реализации искусственных нейросетей на LSTM-нейронах, – их относительно высокие требования к вычислительным ресурсам.
Из-за описанных сложностей с LSTM-нейроном был разработан так называемый GRU-нейрон (от
Мы изучили сети прямого распространения и рекуррентные сети, и уже по пройденному материалу видно, как широко это направление исследований. Так что теперь мы можем перейти к более прикладным вариантам, на которых сегодня решается большинство задач, где используются искусственные нейронные сети.
Самый первый интересный вариант – так называемый «автокодировщик». Этим словом обозначается специальная архитектура искусственной нейронной сети с одним скрытым слоем без обратных связей. Главная особенность такой сети заключается в том, что количество нейронов на входном и выходном слоях одинаково, а на скрытом слое – меньше. Это ограничение необходимо для того, чтобы сеть не зафиксировалась на тривиальном варианте в процессе обучения без учителя, которое для автокодировщиков заключается в получении на выходном слое результатов, как можно более похожих на входные параметры сети. Другими словами, обучение нейронов скрытого слоя в таких условиях позволяет автокодировщику как бы осуществлять обобщение, сжимающее кодирование входной информации, отсюда и такое наименование.
Автокодировщики часто используются для последовательного обучения слоёв искусственных нейронных сетей. При таком подходе каждый новый слой представляется в качестве скрытого слоя автокодировщика, при этом входным слоем является предыдущий слой, обученный на предыдущем же шаге. Размерность каждого следующего слоя снижается, и тем самым нейросеть должна находить всё больше и больше обобщений, она должна всё сильнее и сильнее повышать степень абстракции кодируемой информации. После такого обучения нейросеть на каждом скрытом слое содержит нейроны, которые отвечают за очень глубокие уровни абстракции входной информации, и чем глубже слой, на котором находится нейрон, тем выше уровень абстракции. Сегодня это один из основных подходов в технологии глубокого обучения.
Автокодировщик
Перед переходом к рассмотрению глубоких нейронных сетей остаётся отметить несколько особенных вариантов автокодировщиков.
•
•