深度学习之前馈网络

前馈网络与普通机器学习里的神经网络比较类似,因此本博客没做深入总结,具体可以参考之前博客。

简介

之前我们已经学习过了基础的神经网络模型,深度学习的深层神经网络所谓的深度,就是相较于普通神经网络的单隐层,深层神经网络模型往往有着更加复杂、更多的隐层关系,我们知道单隐层神经网络相当于一次非线性变换,而深层模型则相当于使用到三个或更多次非线性变换的更复杂的非线性回归模型,而前馈则意味着模型的输出与模型的本市没有反馈连接(如果有反馈,则次网络称为循环神经网络)。假设第一、第二、第三隐层对应的非线性变换为$f^{(1)},f^{(2)},f^{(3)}$,则这3层隐层相互连接将形成$f(x)=f^{(3)}(f^{(2)}(f^{(1)}(x)))$,为了书写、计算的方便,之后我们将学习如何用有向图来表示这个网络。

代价函数

大多数现代神经网络采用极大似然训练,代价函数为负的对数似然。
$$J(\theta) = -\mathbb{E} _ {\mathbf{x, y} \sim \hat{p} _ \text{data}} \log p _ \text{model}(y \mid x)$$

输出单元

  1. 线性单元
  2. softmax单元
  3. sigmoid单元

隐层单元

  1. 整流线性单元
  2. logistic sigmoid与双曲正切函数

架构设计

架构(architecture)一词是指网络的整体结构:它应该具有多少单元,以及这些单元应该如何连接。

  1. 网络越深,泛化能力越强,但越难优化
  2. 深度和宽度折中
  3. 理想的架构需要不断实验

万能近似性质和深度

一个前馈神经网络如果具有线性输出层和至少一层具有任何一种“挤压”性质的激活函数(例如logistic sigmoid激活函数)的隐藏层,只要给予网络足够数量的隐藏单元,它可以以任意的精度来近似任何从一个有限维空间到另一个有限维空间的Borel可测函数。 前馈网络的导数也可以任意好地来近似函数的导数。

在神经网络框架中,更深的神经网络远远比大模型尺寸的单层网络好得多,这说明神经网络中应该用许多简单的函数组成,而尽量不用复杂庞大的单模型。

计算图

简介

使用更精确的计算图(computational graph)可以更精确地描述反向传播算法。以下是计算图的基本规则:

  1. 在计算图中,我们使用节点来表示变量。变量可以是标量、向量、矩阵、张量、或者甚至是另一类型的变量。
  2. 我们通过有向边代表一个操作,操作是指一个或多个变量的简单函数。我们可以通过将多个操作复合在一起来描述更为复杂的函数。

下面为计算图示例:

其中图(a)代表$z=x\times y$的计算图,(b)代表用于逻辑回归预测$\hat{y} = \sigma(x^\top w + b)$的图,$u^{(1)},u^{(2)}$代表计算过程中出现的中间变量。

微积分

使用计算图可以很方便地对反向传播算法地微积分进行计算。

例一:

例如上图(b)计算图,如果需要计算$\frac{\partial \hat{y}}{\partial x}$,则可沿$x\rightarrow \hat{y}$的有向边路径,依次求偏微分$\frac{\partial \hat{y}}{\partial u^{(2)}}$,$\frac{\partial u^{(2)}}{\partial u^{(1)}}$,$\frac{\partial u^{(1)}}{\partial x}$,然后依据链式法则依次相乘即可得到需要的$\frac{\partial \hat{y}}{\partial x}$。

例二:

有如下函数:

$$y=xe^{x^2}$$

求$\frac{\partial y}{\partial x}$,则沿有向边依次计算偏导得到上图中绿色部分。以最右边2个绿色参数为例,箭头代表的操作为点乘,则表达式为 $y=u\times x$ ,依次对变量$u,x$做偏导得$\frac{\partial y}{\partial u}=x,\frac{\partial y}{\partial x}=u$,将结果写在对应得有向边即可。最后将沿不同路径得到得$\frac{\partial y}{\partial x}$相加起来即是最后结果。

反向传播

深度前馈网络反向传播与神经网络中类似,差别仅在层数更多,计算叫复杂(使用矩阵之间的偏导),在此不多做介绍。

参考资料

https://www.bilibili.com/video/av9770302/?p=3

本文标题:深度学习之前馈网络

文章作者:微石

发布时间:2018年07月23日 - 09:07

最后更新:2018年07月29日 - 17:07

原始链接:akihoo.github.io/posts/e8a24270.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。