Keras - 局部连接层



局部连接层类似于Conv1D层,但不同之处在于Conv1D层的权重是共享的,而这里权重是不共享的。我们可以使用不同的过滤器集来应用不同的输入块。

局部连接层有一个参数,如下所示:

keras.layers.LocallyConnected1D(n)

使用一维局部连接层的一个简单示例如下所示:

>>> 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))

一维局部连接层的函数签名及其参数(带有默认值)如下所示:

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

广告
© . All rights reserved.