为何双向循环神经网络的return_sequences=False时,参数量依旧不变?

来源:7-5 循环神经网络实战文本分类

OliverSong

2019-09-06

图片描述

请教老师,我的理解是如果return_sequences=False,即图中篮圈中的3个y被删去,仅留最右侧一个。那么红圈标出的权重就没有更新的意义了。
这样的话,为何return_sequences=False和True,参数量不变呢?(即tf为何在return_sequences=False时,model.summary()依旧会保留红圈的权重呢?)

  • Update:
  1. return_sequence = True时参数量与return_sequence = False时一样.
    图片描述

  2. return_sequence = False
    图片描述

写回答

1回答

正十七

2019-10-15

同学你好,红圈的部分代表的是双向LSTM中的逆向LSTM, return_sequences所控制的是你蓝线圈出来的东西。所以return_sequences = True或False, 不会影响红线圈出来的东西。

另外,我理解,双向LSTM应该会比单向LSTM多出LSTM部分的参数量(word embedding和输出的矩阵是共享的),你的return_sequences=True|False时参数量一样是如何判断的呢?

0
2
正十七
回复
OliverSong
因为虽然输出是序列,但是参数都是共享的,所有类型的rnn,他们在每一步的参数都是一样的。
2019-10-17
共2条回复

Google老师亲授 TensorFlow2.0 入门到进阶

Tensorflow2.0实战—以实战促理论的方式学习深度学习

1849 学习 · 896 问题

查看课程