← Вернуться к списку

Как графически представить архитектуру RNN, реализованную в Keras?

Краткое содержание

Я пытаюсь создать простую статью в блоге об RNN, которая даст более глубокое понимание того, как они работают в Keras. Предположим: `model = keras.models.Sequential()` `model.add(keras.layers.SimpleRNN(5, return_sequences=True, input_shape=[None, 1]))` `model.add(keras.layers.SimpleRNN(5, return_sequences=True))` `model.add(keras.layers.Dense(1))` Я придумал следующее визуальное представление (это лишь эскиз), в котором я довольно неуверен: Архитектура RNN состоит из 3 слоев, представленных на картинке. Вопрос: это правильно? Течет ли входной сигнал через каждый слой нейронов к другим нейронам внутри слоя или только через сами слои, как показано ниже на картинке? Есть ли что-то еще неверное - какие другие визуализации стоит изучить? Обновление: мои предположения основаны на моем понимании из того, что я видел в книге Герона. Рекуррентные нейроны соединены, смотрите: https://pasteboard.co/JDXTFVw... затем он говорит о соединениях между разными слоями, смотрите: https://pasteboard.co/JDXTXcz. Я правильно понимаю?

Полный текст

Как представить графически архитектуру RNN, реализованную в Keras? Задать вопрос

Задано 5 лет назад Изменено сегодня Просмотрено 253 раза

7 $\begingroup$ Я пытаюсь создать простую поделку об RNN, которая даст лучшее представление о том, как они работают в Keras. Предположим: model = keras.models.Sequential() model.add(keras.layers.SimpleRNN(5, return_sequences=True, input_shape=[None, 1])) model.add(keras.layers.SimpleRNN(5, return_sequences=True)) model.add(keras.layers.Dense(1)) У меня получилась следующая визуализация (это всего лишь эскиз), в которой я довольно неуверен: Архитектура RNN состоит из 3 слоев, представленных на картинке. Вопрос: это правильно? "Течет" ли вход через каждый слой нейронов к нейронам или только через слои, как показано на картинке ниже. Есть ли что-то еще неверное - какие-либо другие визуализации для изучения? Обновление: мои предположения основаны на моем понимании из того, что я видел в книге Герона. Рекуррентные нейроны соединены, видите: https://pasteboard.co/JDXTFVw.png ... затем он говорит о соединениях между разными слоями, видите: https://pasteboard.co/JDXTXcz.png - я неправильно понял его или это просто особенность фреймворка Keras? recurrent-neural-networks data-visualization Share Improve this question Follow edited 8 дек. 2020 в 11:39 задано 8 дек. 2020 в 9:44 Mindaugas Bernatavičius 171 3 3 bronze badges $\endgroup$ 2 1 $\begingroup$ Как видно на рис. 15-2, нейроны в слое не общаются друг с другом, это версия без развертывания во второй части 15-2, то есть это один и тот же слой на каждом временном шаге, там нет следующего слоя на этой диаграмме. На рис. 15-1 показан один нейрон (развернут справа). То, что происходит с одним нейроном в 15-1, происходит со всеми нейронами в 15-2, концепция нескольких слоев не вводится на изображениях, которые вы ссылаетесь на, это разные временные шаги для одного и того же нейрона/слоя. $\endgroup$ SajanGohil – SajanGohil 2020-12-08 11:49:43 +00:00 Комментировано 8 дек. 2020 в 11:49 1 $\begingroup$ Да, я понял второй аргумент, теперь я также понимаю первый - путаница возникла из-за того, что пример использовал один нейрон RNN как упрощенную самодостаточную сеть и затем добавил несколько клеток в одном слое RNN. Как вы сказали - на обе картинках показан один слой RNN, развернутый во времени, разница в том, что первая имеет один нейрон, а другая - несколько нейронов в этом слое. Спасибо $\endgroup$ Mindaugas Bernatavičius – Mindaugas Bernatavičius 2020-12-08 12:45:11 +00:00 Комментировано 8 дек. 2020 в 12:45 Добавить комментарий | 1 Ответ 1 Отсортировано по: Сбросить к значению по умолчанию Наивысший рейтинг (по умолчанию) Измененная дата (от новых к старым) Созданная дата (от старых к новым) 0 $\begingroup$ Первый рисунок верен. Информация течет слева направо в каждом слое и сверху вниз между слоями. Share Improve this answer Follow edited 8 дек. 2020 в 11:45 отвечено 8 дек. 2020 в 10:41 razvanc92 1,158 1 1 золотой значок 9 9 серебряный значок 18 18 бронзовый значок $\endgroup$ 3 $\begingroup$ Спасибо за комментарий Я принимаю, что там должно быть 5 узлов на картинке, а не 4? Также хорошая точка о скрытом состоянии - я думаю, я тоже чего-то не понимаю - проходит ли скрытое состояние через плотный слой и значение y (предсказание)? $\endgroup$ Mindaugas Bernatavičius – Mindaugas Bernatavičius 2020-12-08 10:59:21 +00:00 Комментировано 8 дек. 2020 в 10:59 $\begingroup$ @SajanGohil вы правы, я не заметил return_sequences=True во втором слое. Я обновил ответ. $\endgroup$ razvanc92 – razvanc92 2020-12-08 11:42:25 +00:00 Комментировано 8 дек. 2020 в 11:42 $\begingroup$ @MindaugasBernatavičius Да, там должно было быть 5 узлов вместо 4. Я удалил картинку, так как она больше не обязательна. Да, скрытое состояние передается через плотный слой. Если вы выбираете return_sequences=True, каждый скрытый вид из последнего RNN слоя передается через плотный слой. Если вы устанавливаете return_sequences=True