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 表示输入序列的长度。