TensorFlow入门-07.深度学习与深层神经网络

0.深度学习的定义(维基百科):

一类通过多层非线性变换对高复杂性数据建模算法的合集。

1.深度学习与深层神经网络的关系:

因为深层神经网络时实现“多层非线性变换”最常用的一种方法,所以在实际中基本上可以认为深度学习就是深层神经网络的代名词。

2.深度学习的两个重要特性:

    |- 多层:

    |- 非线性:

3.线性模型的定义:

在线性模型中,模型的输出为输入的加权和。假设一个模型的输出y和输入xi满足以下关系,那么这个模型就是一个线性模型。

y= \sum_{i} w_i*x_i+b

4.线性模型名称由来:

当模型的输入只有一个的时候,x和y形成了二维座标系上的一条直线。类似的,当模型有n个输入时,x和y形成了n+1维空间中的一个平面。

5.线性变换:

一个线性模型中通过输入得到输出的函数被称为一个线性变换。

线性模型的特点:任意线性模型的组合仍然是线性模型。

6.线性模型化简推导:

以前向传播为例

a^{(1)}=xW^{(1)}y=a^{(1)}W^{(2)}

==》y=(xW^{1})W^{2}

由矩阵乘法的结合律:

==》y=x(W^{1}W^{2})=xW^{'} 

在上面的公式里,W(1)和W(2)被表示为了一个新的参数W':

W'=W^{(1)}W^{(2)}= \begin{bmatrix} W_{1,1} & W_{1,2} & W_{1,3}\\ W_{2,1} & W_{2,2} & W_{2,3} \end{bmatrix} \begin{bmatrix} W_{1,1}^{(2)}\\ W_{2,1}^{(2)}\\ W_{3,1}^{(2)} \end{bmatrix}= \begin{bmatrix} W_{1,1}^{(1)}W_{1,1}^{(2)}+W_{1,2}^{(1)}W_{2,1}^{(2)}+W_{1,3}^{(1)}W_{3,1}^{(2)}\\ W_{2,1}^{(1)}W_{1,1}^{(2)}+W_{2,2}^{(1)}W_{2,1}^{(2)}+W_{2,3}^{(1)}W_{3,1}^{(2)} \end{bmatrix}= \begin{bmatrix} W_{1}^{'}\\ W_{2}^{'} \end{bmatrix}

这样输入和输出的更新就可以表示为:

y=xW'=\begin{bmatrix} x_1 & x_2 \end{bmatrix} \begin{bmatrix} W_{1}'\\ W_{2}' \end{bmatrix}=\begin{bmatrix} W_{1}'x_1+W_{2}'x_2 \end{bmatrix}

7.线性模型的局限性

从上面的例子可以看出,尽管前向传播算法对应的神经网络有两层隐藏层,但是它和单层的神经网络并没有区别。以此类推,只通过线性变换,任意层的全连接神经网络和单层神经网络模型的表达能力没有任何区别,而且他们都是线性模型。然而线性模型能够解决的问题是有限的,这就是线性模型最大的局限性。这也是深度学习要强调非线性的原因。

7.1 用线性模型解决线性可分问题:

解析:

问题:线性可分问题。

激活函数(Activation):使用的是线性激活函数linear。

分类情况:能分类(右下座标图的识别结果显示,该网络能对数据点进行有效的区分)。

7.2 用线性模型解决线性不可分问题:

问题:合格零件是蓝色点,不合格零件是黄色点。横座标的值是一个零件的长度与平均长度的差值,纵座标的值是一个零件的质量与平均质量的差值。

激活函数(Activation):使用的是线性激活函数linear。

分类效果:不能分类(右下座标图的识别结果显示,该网络不能对数据点进行有效的区分)。

7.3 用非线性模型解决线性不可分问题:

问题:合格零件是蓝色点,不合格零件是黄色点。横座标的值是一个零件的长度与平均长度的差值,纵座标的值是一个零件的质量与平均质量的差值。

激活函数(Activation):使用的是非线性激活函数ReLU。

分类效果:能分类(右下座标图的识别结果显示,该网络能对数据点进行有效的区分)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章