权重共享对比解释(含数值例子)

MLP与RNN的参数共享对比(含数值例子)

什么是权重共享?

权重共享是指在神经网络的重复结构中使用同一组参数(权重)进行计算,而非为每个位置单独学习一组新参数。这种机制在RNN中尤为重大,可显著减少参数量,提高模型效率。

权重共享对比解释(含数值例子)

RNN vs MLP


神经网络参数计算与对比

输入设置

  • 句子:我喜爱读书(4个词)
  • 词向量维度:5
  • 隐藏层神经元:6

MLP(权重不共享)

网络结构

  • 输入层:将句子“[我, 喜爱, 读, 书]”展平成 4×5=20维向量。
  • 隐藏层:6个神经元。
  • 输出层:假设输出1个值(如情感分类)。

参数计算

  1. 输入到隐藏层: 权重:20×6=120 偏置:6 总计:120+6=126个参数
  2. 隐藏层到输出层: 权重:6×1=6 偏置:1 总计:6+1=7个参数

MLP总参数:126+7=133个参数


RNN(权重共享)

网络结构

  • 时间步1:输入“我”(5维)→隐藏状态h1(6维)
  • 时间步2:输入“喜爱”(5维)+h1→隐藏状态h2(6维)
  • 时间步3:输入“读”(5维)+h2→隐藏状态h3(6维)
  • 时间步4:输入“书”(5维)+h3→隐藏状态h4(6维)

参数计算

  1. 输入到隐藏层权重:5×6=30个参数
  2. 隐藏层循环权重:6×6=36个参数
  3. 隐藏层偏置6个参数
  4. 输出层权重:6×1=6个参数
  5. 输出层偏置1个参数

RNN总参数:30+36+6+6+1=79个参数


对比结果

模型参数数量差异

  • MLP:133个参数,需将序列展平,参数随输入长度增长。
  • RNN:79个参数,通过权重共享,参数量固定。

序列长度影响

  • MLP:若句子增至8个词,参数变为8×5×6+6+7=253个参数
  • RNN:无论8个词或100个词,参数始终为79个参数

参数效率

  • RNN:通过权重共享实现更高效率。
  • MLP:需为每个位置分配独立参数,效率较低。

实际应用

  • MLP:需固定序列长度(填充或截断)。
  • RNN:可自然处理任意长度序列。

权重共享示意图

权重共享对比解释(含数值例子)

实例RNN与MLP对比图

在RNN中,同一权重矩阵(如)在每个时间步重复使用:

  • 时间步1:输入(“我”),使用计算隐藏状态。
  • 时间步2:输入(“喜爱”),仍使用一样的。
  • 时间步3、4:依此类推,均复用。

时间步

输入向量

使用的权重矩阵

t=1

t=2

t=3

t=4


结论

RNN通过权重共享以更少的参数(79 vs 133)处理任意长度序列,适合序列数据建模,而MLP因参数随长度增长,效率较低。

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容