Keras – 局部连接层
局部连接层类似于Conv1D层,但不同的是Conv1D层的权重是共享的,而这里的权重是不共享的。我们可以使用不同的过滤器组来应用不同的输入补丁。
局部连接层有 一个参数,如下所示
keras.layers.LocallyConnected1D(n)
使用 局部连接1D 层的一个简单例子如下
>>> from keras.models import Sequential
>>> from keras.layers import Activation, Dense,LocallyConnected1D
>>> model = Sequential()
# apply a unshared weight convolution 1-dimension of length 3 to a sequence with
# 10 timesteps, with 16 output filters
>>> model.add(LocallyConnected1D(16, 3, input_shape = (10, 8)))
# add a new conv1d on top
>>> model.add(LocallyConnected1D(8, 3))
本地连接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 用于对该层的输出进行正则化处理。
类似地,我们也可以使用二维和三维层。
递归层
它用于循环神经网络(RNN)。它的定义如下所示
keras.engine.base_layer.wrapped_fn()
它支持以下参数 –
-
cell 指一个实例。
-
return_sequences 返回输出序列中的最后一个输出,或者完整的序列。
-
return_state 返回除输出之外的最后一个状态。
-
go_backwards 返回一个布尔值的结果。如果该值为真,则向后处理输入序列,否则返回反转的序列。
-
stateful 指的是每个索引的状态。
-
unroll 指的是网络是否要被展开。
-
input_dim 指的是输入尺寸。
-
input_length 是指输入序列的长度。