TensorFlow 深度学习框架(3)-- 深层神经网络

xiaoxiao2021-02-28  41

线性模型的局限性

在线性模型中,模型的输出为输入的加权和。假设一个模型的输出 y 和输入 xi 满足线性加权的关系,那么这个模型就是一个线性模型,跟前面体现过的模型一样。被称之为线性模型是因为当输入有n个的时候,x 和 y 组成了 n + 1 维空间的一个平面。一个线性模型中通过输入得到输出的函数被称之为一个线性变换。

线性模型最大的特点是任意线性模型的组合仍然还是线性模型,只通过线性变换,任意层的全连接神经网络和单层神经网络的表达能力没有任何区别。这就是线性模型的局限性。简单的证明如下

这样输入和输出的关系就可以表示为

任意层也如此,这样就可以表示,线性变换存在很大的局限性,但是也并不是说多层次的全连接模型没有意义。我的理解是,针对线性规律的模型,多层次的连接可以精化参数的调节。

激活函数

在前面的介绍中提到过神经元的传输,假设神经元的输出是多个输入的加权和,那么就是线性化的模型。但是如果将每一个神经元的输出通过一个非线性的函数,那么整个神经网络的模型也就不再是线性的了。

加上激活函数和偏置项后的前向传播公式如下

跟线性公式不同的是,第一加入了偏置项,偏置项是神经网络结构中非常常用的一种结构。第二个改变是每个节点的取值不再是单纯的加权和,每个节点的输出在加权和的基础上还做了一个非线性变换。

如图是常用的三个激活函数曲线图(tf.nn.relu  tf.sigmoid  tf.tanh),前向传播更改如下

a = tf.nn.relu(tf.matmul(x,w1) + biases1) y = tf.nn.relu(tf.matmul(a,w2) + biases2)

于是就形成了一个非线性的深层网络模型。

 

转载请注明原文地址: https://www.6miu.com/read-2650267.html

最新回复(0)