Keras关于层数的困惑
deep-learning
keras
neural-network
python
8
0

我对Keras模型中使用的层数感到困惑。该文件在这个问题上相当模糊。

根据Jason Brownlee的说法,从技术上讲,第一层包括两层,即由input_dim指定的输入层和隐藏层。请参阅他的博客中的第一个问题。

在所有model.add(Dense(number_of_neurons, input_dim=number_of_cols_in_input, activtion=some_activation_function))文档中,第一层通常指定为model.add(Dense(number_of_neurons, input_dim=number_of_cols_in_input, activtion=some_activation_function))

因此,我们可以制作的最基本的模型是:

 model = Sequential()
 model.add(Dense(1, input_dim = 100, activation = None))

该模型是由一个单层(其中100维输入通过单个输入神经元传递)组成还是由两层组成,第一层是100维输入层,第二层是一维隐藏层?

此外,如果我要指定这样的模型,它有多少层?

model = Sequential()
model.add(Dense(32, input_dim = 100, activation = 'sigmoid'))
model.add(Dense(1)))

这是一个具有1个输入层,1个隐藏层和1个输出层的模型,还是一个具有1个输入层和1个输出层的模型?

参考资料:
Stack Overflow
收藏
评论
共 2 个回答
高赞 时间 活跃

对于第一个问题,模型是:

1个输入层和1个输出层。

对于第二个问题:

1个输入层

1个隐藏层

1个激活层(乙状结肠)

1个输出层

对于输入层,这是Keras使用input_dim arg或input_shape进行抽象的,但是您可以在以下位置找到该层:

from keras.layers import Input

激活层相同。

from keras.layers import Activation
收藏
评论

您的第一个神经元由连接到一个输出神经元的100个神经元输入层组成

您的第二个神经元由一个100个神经元输入层,一个32个神经元的隐藏层和一个单一神经元的一个输出层组成。

您必须将第一层视为输入层(神经元的数量与维数相同,所以100个)连接到具有指定数量的神经元的另一层(第一种情况下为1,第二种情况下为32)一)

在Keras中,有用的命令是

model.summary()
收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号