我对自动编码器还是个新手。我有来自Keras (https://blog.keras.io/building-autoencoders-in-keras.html)的代码。我想知道我在代码中的注释是正确的吗?
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
如果可能的话,你们能多解释一下吗?谢谢!
发布于 2020-11-24 14:50:45
隐藏层是位于输入层和输出层(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)
https://stackoverflow.com/questions/64760496
复制