Keras - 局部连接层
局部连接层类似于 Conv1D 层,但不同之处在于 Conv1D 层权重是共享的,但此处权重不共享。我们可以使用不同的过滤器集来应用不同的输入补丁。
局部连接层有一个参数,如下所示 −
keras.layers.LocallyConnected1D(n)
使用 局部连接 1D 层的一个简单示例如下 −
>>> from keras.models import Sequential >>> from keras.layers import Activation, Dense,LocallyConnected1D >>> model = Sequential() # 将长度为 3 的非共享权重卷积 1 维应用于具有 # 10 个时间步长、16 个输出过滤器的序列 >>> model.add(LocallyConnected1D(16, 3, input_shape = (10, 8))) # 在顶部添加新的 conv1d >>> model.add(LocallyConnected1D(8, 3))
Locally Connected 1D 层函数及其参数的签名及其默认值如下 −
keras.layers.LocallyConnected1D ( filters, kernel_size, strides = 1, padding = 'valid', data_format = None, 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 )
此处,
kernel_initializer 指内核权重矩阵的初始化程序
kernel_regularizer 用于将正则化函数应用于内核权重矩阵。
bias_regularizer 用于将正则化函数应用于偏差向量。
activity_regularizer 用于将正则化函数应用于层的输出。
同样,我们也可以使用 2D 和 3D 层。
循环层
它用于循环神经网络 (RNN)。它的定义如下所示 −
keras.engine.base_layer.wrapped_fn()
它支持以下参数 −
cell 引用一个实例。
return_sequences 返回输出序列中的最后一个输出,或者完整序列。
return_state 除了输出之外还返回最后一个状态。
go_backwards 返回布尔结果。如果值为真,则反向处理输入序列,否则返回反向序列。
stateful 表示每个索引的状态。
unroll 指定是否展开网络。
input_dim 表示输入维度。
input_length 表示输入序列的长度。