在搭建神经网络结构时,我们要向网络中添加一些网络层,下面列举出来常用的网络层及其相关用法。
一、常用层
常用层对应于core模块,core内部定义了一系列常用的网络层,包括全连接、激活层等。
1.Dense层
Dense层:全连接层。
keras.layers.core.Dense(output_dim, init='glorot_uniform', activation='linear', weights=None, W_regularizer=None, b_regularizer=None, activity_regularizer=None, W_constraint=None, b_constraint=None, bias=True, input_dim=None)
- output_dim:大于0的整数,代表该层的输出维度。模型中非首层的全连接层其输入维度可以自动推断,因此非首层的全连接定义时不需要指定输入维度。
- init:初始化方法,为预定义初始化方法名的字符串,或用于初始化权重的Theano函数。该参数仅在不传递weights参数时才有意义。
- activation:激活函数,为预定义的激活函数名,或逐元素(element-wise)的Theano函数。如果不指定该参数,将不会使用任何激活函数(即使用线性激活函数:a(x)=x)。
- weights:权值,为numpy array的list。该list应含有一个形如(input_dim,output_dim)的权重矩阵和一个形如(output_dim,)的偏置向量。
- W_regularizer:施加在权重上的正则项,为WeightRegularizer对象。
- b_regularizer:施加在偏置向量上的正则项,为WeightRegularizer对象。
- activity_regularizer:施加在输出上的正则项,为ActivityRegularizer对象。
- W_constraints:施加在权重上的约束项,为Constraints对象。
- b_constraints:施加在偏置上的约束项,为Constraints