Рекуррентные нейронные сети (RNN) — это класс искусственных нейронных сетей, которые содержат связи вдоль временной оси, создавая функционирующую память о предыдущих сетевых выводах, которые влияют на выходные данные сети. Двумя наиболее распространенными типами RNN являются ячейки с долговременной кратковременной памятью (LSTM) и Gated Recurrent Unit (GRU). LSTM и GRU предназначены для долговременной памяти. В обоих случаях ячейка RNN поддерживает скрытое состояние памяти, которое изменяется после каждого вызова логического вывода.

В этом посте мы проводим эксперимент по исследованию продолжительности влияния вывода на память ячеек LSTM и GRU. Другими словами, мы хотим знать, сколько временных шагов RNN может «запомнить».

Эксперимент

Для этого эксперимента мы создадим нейронную сеть, содержащую один слой RNN (либо LSTM, либо GRU) с инициализацией веса Glorot Uniform. Мы будем вызывать вывод в сети, используя две разные последовательности по 100 000 временных шагов каждая. Значения наших последовательностей будут генерироваться случайным образом из нормального распределения. Первые 1000 временных шагов каждой последовательности будут уникальными. Однако оставшиеся 99 000 временных шагов будут идентичны для обеих последовательностей. Мы хотим увидеть, сколько временных шагов требуется сетям для получения идентичных выходных данных после 1000-го временного шага, когда обе входные последовательности становятся идентичными.

Мы предполагаем, что результат этого эксперимента зависит от размера входных данных, а также от количества нейронов в нашем слое RNN. По этой причине эксперимент проводится для различных размеров входных данных и слоев RNN, как для LSTM, так и для конфигураций GRU. Для каждой перестановки гиперпараметров эксперимент проводится 10 раз с рандомизированными весами сети и значениями входной последовательности для каждого запуска. Наконец, мы усредняем десять результатов для каждой перестановки гиперпараметров.

Результаты

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

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

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

Будущая работа

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

Масала.ИИ

Команда Mindboard Data Science исследует передовые технологии инновационными способами для предоставления оригинальных решений, включая линейку продуктов Masala.AI. Masala предоставляет службы оценки медиаконтента, такие как vRate, расширение для браузера, которое обнаруживает и блокирует контент для взрослых с настраиваемыми настройками чувствительности. Расширение браузера vRate доступно для загрузки в Интернет-магазине Chrome. Посетите www.masala.ai для получения дополнительной информации.