Keras文档学习08.局部连接层&嵌入层&融合层&高级激活层&批量标准化层&噪声层

一、局部连接层

关键词:LocallyConnected1D、LocallyConnected2D
原文地址:文档对应地址

LocallyConnected1D 层与 Conv1D 层的工作方式相同,除了权值不共享外, 也就是说,在输入的每个不同部分应用不同的一组过滤器。


二、嵌入层

关键词:embedding
原文地址:文档对应地址

keras.layers.Embedding(input_dim, output_dim, embeddings_initializer='uniform', 
             embeddings_regularizer=None, activity_regularizer=None, 
             embeddings_constraint=None, mask_zero=False, input_length=None)

作用:将正整数(索引值)转换为固定尺寸的稠密向量。 例如: [[4], [20]] -> [[0.25, 0.1], [0.6, -0.2]]
该层只能用作模型中的第一层。

使用示例:
model = Sequential()
model.add(Embedding(1000, 64, input_length=10))
# 模型将输入一个大小为 (batch, input_length) 的整数矩阵。
# 输入中最大的整数(即词索引)不应该大于 999 (词汇表大小)
# 现在 model.output_shape == (None, 10, 64),其中 None 是 batch 的维度。

input_array = np.random.randint(1000, size=(32, 10))

model.compile('rmsprop', 'mse')
output_array = model.predict(input_array)
assert output_array.shape == (32, 10, 64)

三、融合层

关键词:Add、Subtract、Multiply、Average、Maximum、Concatenate、Dot
原文地址:文档对应地址

1.Add
keras.layers.Add()

作用:计算输入张量列表的和。

它接受一个张量的列表, 所有的张量必须有相同的输入尺寸, 然后返回一个张量(和输入张量尺寸相同)。

2.Subtract
keras.layers.Subtract()

作用:计算两个输入张量的差。

它接受一个长度为 2 的张量列表, 两个张量必须有相同的尺寸,然后返回一个值为 (inputs[0] - inputs[1]) 的张量, 输出张量和输入张量尺寸相同。

3.Multiply
keras.layers.Multiply()

作用:计算输入张量列表的(逐元素间的)乘积。

它接受一个张量的列表, 所有的张量必须有相同的输入尺寸, 然后返回一个张量(和输入张量尺寸相同)。

4.Average
keras.layers.Average()

作用:计算输入张量列表的平均值。

它接受一个张量的列表, 所有的张量必须有相同的输入尺寸, 然后返回一个张量(和输入张量尺寸相同)。

5.Maximum
keras.layers.Maximum()

作用:计算输入张量列表的(逐元素间的)最大值。

它接受一个张量的列表, 所有的张量必须有相同的输入尺寸, 然后返回一个张量(和输入张量尺寸相同)。

6.Concatenate
keras.layers.Concatenate(axis=-1)

作用:连接一个输入张量的列表。

它接受一个张量的列表, 除了连接轴之外,其他的尺寸都必须相同, 然后返回一个由所有输入张量连接起来的输出张量。

7.Dot
keras.layers.Dot(axes, normalize=False)

作用:计算两个张量之间样本的点积。

例如,如果作用于输入尺寸为 (batch_size, n) 的两个张量 a 和 b, 那么输出结果就会是尺寸为 (batch_size, 1) 的一个张量。 在这个张量中,每一个条目 i 是 a[i] 和 b[i] 之间的点积。


四、高级激活层

关键词:LeakyReLU、PReLU、ELU、ThresholdedReLU、Softmax、ReLU
原文地址:文档对应地址

1.LeakyReLU
keras.layers.LeakyReLU(alpha=0.3)
2.PReLU
keras.layers.PReLU(alpha_initializer='zeros', alpha_regularizer=None, alpha_constraint=None, 
                   shared_axes=None)
3.ELU
keras.layers.ELU(alpha=1.0)
4.ThresholdedReLU
keras.layers.ThresholdedReLU(theta=1.0)
5.Softmax
keras.layers.Softmax(axis=-1)
6.ReLU
keras.layers.ReLU(max_value=None, negative_slope=0.0, threshold=0.0)

五、批量标准化层

原文地址:文档对应地址

keras.layers.BatchNormalization(axis=-1, momentum=0.99, epsilon=0.001, center=True, 
                     scale=True, beta_initializer='zeros', gamma_initializer='ones', 
                     moving_mean_initializer='zeros', moving_variance_initializer='ones', 
                     beta_regularizer=None, gamma_regularizer=None, beta_constraint=None, 
                     gamma_constraint=None)

作用:在每一个批次的数据中标准化前一层的激活项, 即,应用一个维持激活项平均值接近 0,标准差接近 1 的转换。

参数:
【1】axis: 整数,需要标准化的轴 (通常是特征轴)。
例如,在 data_format=“channels_first” 的 Conv2D 层之后, 在 BatchNormalization 中设置 axis=1。
【2】momentum: 移动均值和移动方差的动量。
【3】epsilon: 增加到方差的小的浮点数,以避免除以零。
【4】center: 如果为 True,把 beta 的偏移量加到标准化的张量上。 如果为 False, beta 被忽略。
【5】scale: 如果为 True,乘以 gamma。 如果为 False,gamma 不使用。
当下一层为线性层(或者例如 nn.relu), 这可以被禁用,因为缩放将由下一层完成。
【6】beta_initializer: beta 权重的初始化方法。
【7】gamma_initializer: gamma 权重的初始化方法。
【8】moving_mean_initializer: 移动均值的初始化方法。
【9】moving_variance_initializer: 移动方差的初始化方法。
【10】beta_regularizer: 可选的 beta 权重的正则化方法。
【11】gamma_regularizer: 可选的 gamma 权重的正则化方法。
【12】beta_constraint: 可选的 beta 权重的约束方法。
【13】gamma_constraint: 可选的 gamma 权重的约束方法。


六、噪声层

原文地址:文档对应地址

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值