点这里,搜索淘宝优惠券!
点这里,搜索淘宝优惠券!

10-1 Keras深入-常用层

常用层对应于core模块,core内部定义了一系列常用的网络层,包括全连接、激活层等

【Dense层】

1 keras.layers.core.Dense(units, activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None)

  Dense就是常用的全连接层,所实现的运算是output = activation(dot(input, kernel)+bias)

  其中activation是逐元素计算的激活函数,kernel是本层的权值矩阵,bias为偏置向量,只有当use_bias=True才会添加。

  参数

  • units:大于0的整数,代表该层的输出维度

  • activation:激活函数,为预定义的激活函数名或逐元素。如果不指定该参数,将不会使用任何激活函数(即使用线性激活函数:a(x)=x)

  • use_bias: 布尔值,是否使用偏置项

  • kernel_initializer:权值初始化方法预定义初始化方法名的字符串,或用于初始化权重的初始化器。

  • bias_initializer:偏置向量初始化方法预定义初始化方法名的字符串,或用于初始化偏置向量的初始化器。

  • kernel_regularizer:施加在权重上的正则项

  • bias_regularizer:施加在偏置向量上的正则项

  • activity_regularizer:施加在输出上的正则项

  • kernel_constraints:施加在权重上的约束项

  • bias_constraints:施加在偏置上的约束项

  输入张量

  输出:张量

【Activation层】:激活层对一个层的输出施加激活函数

1 keras.layers.core.Activation(activation)

  参数:

    activation :将要使用的激活函数为预定义激活函数名或一个Tensorflow/Theano的函数

  输入shape:

    任意,当使用激活层作为第一层时,要指定input_shape

  输出shape:

    与输入shape相同

【Dropout层】:为输入数据施加Dropout。Dropout将在训练过程中每次更新参数时按一定概率(rate)随机断开输入神经元,Dropout层用于防止过拟合。

1 keras.layers.core.Dropout(rate, noise_shape=None, seed=None)

  参数

  • rate:0~1的浮点数,控制需要断开的神经元的比例

  • noise_shape:整数张量,为将要应用在输入上的二值Dropout mask的shape,例如你的输入为(batch_size, timesteps, features),并且你希望在各个时间步上的Dropout mask都相同,则可传入noise_shape=(batch_size, 1, features)。

  • seed:整数,使用的随机数种子

【Flatten层】:Flatten层用来将输入“压平”,即把多维的输入一维化,常用在从卷积层到全连接层的过渡。Flatten不影响batch的大小。

1 keras.layers.core.Flatten()

【Reshape层】:用来将输入shape转换为特定的shape

1 keras.layers.core.Reshape(target_shape)

【Permute层】:Permute层将输入的维度按照给定模式进行重排,例如,当需要将RNN和CNN网络连接时,可能会用到该层。

1 keras.layers.core.Permute(dims)

【RepeatVector层】:RepeatVector层将输入重复n次

1 keras.layers.core.RepeatVector(n)

【Lambda层】:本函数用以对上一层的输出施以任何Theano/TensorFlow表达式

1 keras.layers.core.Lambda(function, output_shape=None, mask=None, arguments=None)

【ActivityRegularizer层】:经过本层的数据不会有任何变化,但会基于其激活值更新损失函数值

1 keras.layers.core.ActivityRegularization(l1=0.0, l2=0.0)

【Masking层】:使用给定的值对输入的序列信号进行“屏蔽”,用以定位需要跳过的时间步

1 keras.layers.core.Masking(mask_value=0.0)

 

 

 

posted @ 2018-09-05 17:33  chd_ailex  阅读(463)  评论(0编辑  收藏  举报