天天看点

Tensorflow学习五---全连接Tensorflow学习五—全连接

Tensorflow学习五—全连接

Tensorflow学习五---全连接Tensorflow学习五—全连接

什么是全连接

今天开始我们以神经层的形式开始介绍,首先介绍全连接层。

那么什么是全连接?

全连接层就是对n-1层和n层而言,n-1层的任意一个节点,都和第n层所有节点有连接。即第n层的每个节点在进行计算的时候,激活函数的输入是n-1层所有节点的加权。换句话来说全连接层就是每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来。

在CNN中全连接层的作用?

在CNN(卷积神经网络)中可以整合卷积层或者池化层中具有类别区分性的局部信息.为了提升 CNN 网络性能,全连接层每个神经元的激励函数一般采用 ReLU 函数。最后一层全连接层的输出值被传递给一个输出,可以采用 softmax 逻辑回归(softmax regression)进行 分 类,该层也可 称为 softmax 层(softmax layer)。

tf.layers.dense(inputs,
				units,
				activation=None,
				use_bias=True,
				kernel_initializer=None,
				bias_initializer=tf.zeros_initializer(),
				kernel_regularizer=None,
				bias_regularizer=None,
				activity_regularizer=None,
				kernel_constraint=None,
				bias_constraint=None,
				trainable=True,
				name=None,
				reuse=None)
           

• inputs:该层的输入。

• units: 输出的大小(维数),整数或long。

• activation: 使用什么激活函数(神经网络的非线性层),默认为None,不使用激活函数。

• use_bias: 使用bias为True(默认使用),不用bias改成False即可。

• kernel_initializer:权重矩阵的初始化函数。 如果为None(默认值),则使用tf.get_variable使用的默认初始化程序初始化权重。

• bias_initializer:bias的初始化函数。

• kernel_regularizer:权重矩阵的正则函数。

• bias_regularizer:bias的的正则函数。

• activity_regularizer:输出的的正则函数。

• kernel_constraint:由优化器更新后应用于内核的可选投影函数(例如,用于实现层权重的范数约束或值约束)。 该函数必须将未投影的变量作为输入,并且必须返回投影变量(必须具有相同的形状)。 在进行异步分布式培训时,使用约束是不安全的。

• bias_constraint:由优化器更新后应用于偏差的可选投影函数。

• trainable:Boolean,如果为True,还将变量添加到图集collectionGraphKeys.TRAINABLE_VARIABLES(参见tf.Variable)。

• name:名字

• reuse:Boolean,是否以同一名称重用前一层的权重。

举个例子:

model = keras.Sequential([
		keras.layers.Dense(2, activation='relu'),
		keras.layers.Dense(2, activation='relu'),
		keras.layers.Dense(2)
	])
           

继续阅读