【问题标题】:Where are the hidden layers?隐藏层在哪里?
【发布时间】:2021-02-21 21:28:57
【问题描述】:

我对自动编码器有点陌生。我有来自 Keras (https://blog.keras.io/building-autoencoders-in-keras.html) 的代码。我想知道我这里的代码中的 cmets 是否正确?

input_img = keras.Input(shape=(784,)) # input
encoded = layers.Dense(128, activation='relu')(input_img) # is it hidden layer???
encoded = layers.Dense(64, activation='relu')(encoded) # is it hidden layer???
encoded = layers.Dense(32, activation='relu')(encoded) # is it hidden layer???

decoded = layers.Dense(64, activation='relu')(encoded) # is it hidden layer???
decoded = layers.Dense(128, activation='relu')(decoded) # is it hidden layer???
decoded = layers.Dense(784, activation='sigmoid')(decoded) # output

如果可能的话,你们能解释一下吗?谢谢!

【问题讨论】:

    标签: keras neural-network nlp keras-layer autoencoder


    【解决方案1】:

    隐藏层是位于输入和输出层之间的任何层 (ref)。因此,所有这些都是网络中的隐藏层:

    encoded = layers.Dense(128, activation='relu')(input_img)
    encoded = layers.Dense(64, activation='relu')(encoded)
    encoded = layers.Dense(32, activation='relu')(encoded)
    decoded = layers.Dense(64, activation='relu')(encoded)
    decoded = layers.Dense(128, activation='relu')(decoded)
    

    在自动编码器中,有一个特别令人感兴趣的隐藏层:网络中的“瓶颈”隐藏层,它强制对原始输入进行压缩知识表示。在您的示例中,它是 784 到 32 的压缩,瓶颈隐藏层将是:

    encoded = layers.Dense(32, activation='relu')(encoded)
    

    source

    【讨论】:

    • 是否可以有多个隐藏层?
    • 是的。修改了答案。
    猜你喜欢
    • 1970-01-01
    • 2010-11-17
    • 2021-12-21
    • 2010-10-06
    • 2011-04-05
    • 1970-01-01
    • 1970-01-01
    • 2011-07-31
    • 2018-07-12
    相关资源
    最近更新 更多