【问题标题】:LSTM Keras neural network representationLSTM Keras 神经网络表示
【发布时间】:2020-02-25 00:16:35
【问题描述】:

我遇到了以下代码,它使用 Keras 生成了一个 Sequential LSTM 神经网络,我想知道它是如何在绘图中表示的。

model = Sequential()
model.add(LSTM(60, input_shape=(1, 6),
               activation='softmax'))
model.add(Dense(2))

如果有人能给我解释一下,那就太好了!

编辑: 我正在寻找类似这张图片的东西:https://adventuresinmachinelearning.com/wp-content/uploads/2018/02/Keras-LSTM-tutorial-architecture.png

更具体地说:LSTM 层的输入/输出会是什么样子,它们如何链接到密集层?

@Edit 2:我制作了以下图片:https://pasteboard.co/IEgqiVp.png 如果我将每个输入与 60 个神经元中的每个神经元建立的额外突触连接相加,神经网络是否会像我在图像中绘制的那样?

【问题讨论】:

    标签: python machine-learning keras deep-learning lstm


    【解决方案1】:

    以下是在 Google Colab 中运行的一些代码,可以为您提供有关输入和输出的一些信息:

    from keras import Sequential
    from keras.layers import LSTM, Dense
    
    model = Sequential()
    model.add(LSTM(60, input_shape=(1, 6),
                   activation='softmax'))
    model.add(Dense(2))
    
    # write out model architecture
    model.summary()
    
    # Graphical plot
    from IPython.display import SVG
    from keras.utils import model_to_dot
    
    iv1_dot = model_to_dot(model, show_shapes=True, show_layer_names=True, dpi=60)
    SVG(iv1_dot.create(prog=['dot'], format='svg'))
    

    在具体设计上,LSTM 层有 60 个节点,与最终的 2 个节点紧密相连。这意味着 60 个 LSTM 中的每一个都直接连接到最终的两个 Dense 节点(具有适当的权重)。在输入端,您通过 input_shape=(1,6) 为 LSTM 层定义了一个具有 6 个特征的时间步长。因此,LSTM 层的完整输入如下所示:

    (num_samples, num_timesteps, num_features)

    在这种情况下,num_timesteps=1,num_features=6。我相信,每个特征然后连接到每个 LSTM 节点。通常在 keras 中,num_samples 不是直接在网络中指定的,而是在架构图和摘要中显示为“None”。

    我希望这会有所帮助。

    【讨论】:

    • 这个神经网络会一模一样像这个吗? pasteboard.co/IEgqiVp.png(考虑到在这张图片中,x_i 输入连接到 60 个神经元之一,并且由于 num_timesteps=1 每个神经元展开一次,对吧?)
    • 请阅读我的“编辑 2”。
    • @John 根据我对 LSTM 实现的理解,在你的图中,你应该有 60 个输出节点(你称之为“h”)并且每个输入特征(x0 到 x5)应该密集连接到每个LSTM 节点。换句话说,x0 应该连接到所有 LSTM 节点,x1 等也是如此。我相信这就是实施正在做的事情。您可以通过检查 Keras github 上的代码来进一步确认这一点(LSTM 在文件中:recurrent.py)。我希望这会有所帮助。
    猜你喜欢
    • 2022-08-15
    • 2021-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-17
    • 2018-10-10
    • 2021-09-22
    • 1970-01-01
    相关资源
    最近更新 更多