Dense层

Dense层keras 建立多层神经网络 持续更新 简书小白对上述文章的代码进行一个更详细的分析理解

大家好,欢迎来到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层作为输入层时,同时增加了输入层和隐藏层。

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 (本层的神经元数量)代表的是 input\cdot kernel 的参数个数,加上的本层的神经元数量代表的是bias的参数。

from keras.layers import Dense from keras.models import Sequential model=Sequential() model.add(Dense(10,input_dim=5)) model.summary()

Dense层

即Param=(5+1)×10=60。 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/155448.html

(0)
上一篇 2025-02-19 14:20
下一篇 2025-02-19 14:25

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信