【问题标题】:Kernel and Recurrent Kernel in Keras LSTMsKeras LSTM 中的内核和循环内核
【发布时间】:2021-03-01 01:24:28
【问题描述】:

我试图在脑海中描绘 LSTM 的结构,但我不明白什么是内核和循环内核。根据 LSTMs 部分中的post,内核是与输入相乘的四个矩阵,循环内核是与隐藏状态相乘的四个矩阵,但是,该图中的这四个矩阵是什么?

是大门吗?

我正在用这个app 测试下面代码的unit 变量如何影响内核、循环内核和偏差:

model = Sequential()
model.add(LSTM(unit = 1, input_shape=(1, look_back)))

look_back = 1 它返回给我的是:

unit = 2 它返回给我这个

unit = 3这个

用这个值测试我可以推断出这个表达式

但我不知道这在内部是如何运作的。 <1x(4u)><ux(4u)> 是什么意思? u = units

【问题讨论】:

    标签: python machine-learning keras lstm


    【解决方案1】:

    内核基本上是由 LSTM 单元处理的权重

    units = 神经元,就像经典的多层感知器

    它没有显示在您的图表中,但输入是一个具有 1 个或多个值的向量 X,并且每个值都在具有自己权重 w 的神经元中发送(我们将通过反向传播学习)

    这四个矩阵是这些(表示为 Wf、Wi、Wc、Wo):

    当您添加一个神经元时,您正在添加其他 4 个权重\内核

    因此,对于您的输入向量 X,您有四个矩阵。因此

    1 * 4 * units = kernel
    

    关于recurrent_kernelhere you can find the answer。 基本上在 keras 中,输入和隐藏状态没有像示例图中那样连接 (W[ht-1, t]),但是它们被分割并与其他四个称为 U的矩阵一起处理>:

    因为你有一个隐藏状态 x 神经元,权重 U(所有四个 U)是:

    units * (4 * units) = recurrent kernel
    

    ht-1 从你所有的神经元中循环出现。就像在多层感知器中一样,神经元的每个输出都会进入所有下一个循环层神经元

    来源:http://colah.github.io/posts/2015-08-Understanding-LSTMs/

    【讨论】:

      猜你喜欢
      • 2019-05-26
      • 1970-01-01
      • 2021-02-16
      • 2019-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多