大家好,欢迎来到IT知识分享网。
1 常见参数
model.add(Dense(units, #输出的大小(神经元个数) activation=None, #激活函数 use_bias=True, #是否添加偏置 kernel_initializer='glorot_uniform', #权重矩阵初始化 bias_initializer='zeros', #偏置初始化 kernel_regularizer=None, #权重矩阵的正则函数 bias_regularizer=None,) #偏置的的正则函数 )
注意,当Dence层作为输入层时需要添加一个参数 input_dim。
input_dim:代表输入数据的维度 。
2 作用
Dense层可在model中添加神经网络层,model.add(Dense())。
下图(从网上找的图)的黑圆圈为神经元,输入层的神经元会将输入数据直接传递给下一层,在下一层的神经元中对输入值进行处理。因此用Dense层作为输入层时,同时增加了输入层和隐藏层。
由上图可以,在输入层没有对输入数据进行处理,输入层神经元节点会将输入数据直接传递给下一层(隐层或输出层)。
3 举例
model.add(Dense(512, activation= 'sigmoid', input_dim=2))
input_dim= 2:输入是(*,2)的数组;
units=512:输出是 (*,512) 的数组;
由于Dense层的输出公式为:Out=Activation( Input·Kernel )+Bias,该Dense层的输入Input是(*,2),输出Out是(*,512),因此Bias和Kernel是(2,512)的向量。
注意:当input的秩小于等于2时,那么它直接与权重矩阵进行点乘;当input的秩大于2时,它首先被展平flatten,再计算与权重矩阵的点乘。
4 Dense层参数计算
由于Dense层的输出公式为:Out=Activation( Input·Kernel )+Bias,因此Dense层参数计算公式为:Param = (上一层神经元数量)x (本层的神经元数量) + (本层的神经元数量)。其中,(上一层神经元数量)x (本层的神经元数量)代表的是 的参数个数,加上的本层的神经元数量代表的是
的参数。
from keras.layers import Dense from keras.models import Sequential model=Sequential() model.add(Dense(10,input_dim=5)) model.summary()
即Param=(5+1)×10=60。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/155448.html