BiLSTM (двунаправленные сети с кратковременной памятью) с MLP (многослойный персептрон) - PullRequest
0 голосов
/ 03 апреля 2020

Я пытаюсь реализовать сетевую архитектуру этой статьи. Обнаружение смены громкоговорителей в вещательном телевидении с использованием двунаправленных сетей кратковременной кратковременной памяти. Автор Ruiqing Yin, Herve Bredin, Claude Barras , что как введите описание изображения здесь

. Модель состоит из двух Bi-LSTM (Bi-LSTM 1 и 2) и многослойного персептрона (MLP), вес которого распределяется по всей последовательности. B. Bi-LSTM1 имеет 64 выхода (32 вперед и 32 назад). Би-LSTM2 имеет 40 (по 20). Полностью связанные слои 40-, 10- и 1-мерные соответственно. Выходные данные как прямого, так и обратного LSTM объединяются и передаются на следующий уровень. Общий MLP состоит из трех полностью соединенных слоев прямой связи с использованием функции активации tanh для первых двух слоев и функции активации сигмоида для последнего слоя, чтобы вывести оценку от 0 до 1. Я взял ссылку из различных источников и придумать следующий код:

model = Sequential()

model.add(Bidirectional(LSTM(64, return_sequences=True)))
model.add(Bidirectional(LSTM(40, return_sequences=True)))
model.add(TimeDistributed(Dense(40,activation='tanh')))
model.add(TimeDistributed(Dense(10,activation='tanh')))
model.add(TimeDistributed(Dense(1, activation='sigmoid')))

model.build(input_shape=(None, 200, 35))
model.summary()

Я запутался со слоем TimeDistributed и с тем, как он может имитировать MLP, а также с тем, как распределяются веса, можете ли вы хотя бы указать, что погода у меня идет правильно? или нет, если вы можете помочь, пожалуйста, ответьте / прокомментируйте, это очень ценится

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...