这是一篇讲解深度学习数学的系列文章,但并非是基础数学,还涉及到了拓扑与测度论等内容。本文为该系列文章的第一部分,机器之心会持续把后续内容全部放出。更规范的公式,请查看原文地址。
该系列文章的目录(不完整版),本文为 Lecture 1 的内容。 深度前馈网络 我们从统计学出发,先很自然地定义一个函数 f,而数据样本由?Xi,f(Xi)?给出,其中 Xi 为典型的高维向量,f(Xi) 可取值为 {0,1} 或一个实数。我们的目标是找到一个最接近于描述给定数据的函数 f?(不过拟合的情况下),因此其才能进行精准的预测。 在深度学习之中,总体上来说就是参数统计的一个子集,即有一族函数 f(X;θ),其中 X 为输入数据,θ为参数(典型的高阶矩阵)。而目标则是寻找一组最优参数θ?,使得 f(X;θ?) 最合适于描述给定的数据。 在前馈神经网络中,θ就是神经网络,而该网络由 d 个函数组成: 大部分神经网络都是高维的,因此其也可以通过以下结构图表达: 其中是向量值函数 f^(i) 的分量,也即第 i 层神经网络的分量,每一个 是的函数。在上面的结构图中,每一层函数 f^(i) 的分量数也称为层级 i 的宽度,层级间的宽度可能是不一样的。我们称神经网络的层级数 d 为网络的深度。重要的是,第 d 层的神经网络和前面的网络是不一样的,其为输出层,在上面的结构图中,输出层的宽度为 1,即 f=f(d) 为一个标量值。通常统计学家最喜欢的是线性函数,但如果我们规定神经网络中的函数 f^(i) 为一个线性函数,那么总体的组合函数 f 也只能是一个线性函数,也样就完全不能拟合高维复杂数据。因此我们通常激活函数使用的是非线性函数。 最常用的激活函数来自神经科学模型的启发,即每一个细胞接收到多种信号,但神经突触基于输入只能选择激活或不激活一个特定的电位。因为输入可以表征为。 对于一些非线性函数 g,atv,由样本激励的函数可以定义为: 其中 g? 定义了以线性函数为自变量的一个非线性函数。 通常我们希望函数 g 为非线性函数,并且还需要它能很方便地求导。因此我们一般使用 ReLU(线性整流单元)函数 g(z)=max(0,z)。其它类型的激活函数 g 还包括 logistic 函数: 和双曲正切函数:。 这两种激活函数相对 ReLU 的优点,即它们都是有界函数。 正如前面所说的,最后的输出层和前面的层级都不一样。首先它通常是标量值,其次它通常会有一些统计学解释:。 通常可以看作经典统计学模型的参数,且 d-1 层的输出构成了输出层激活函数的输入。输出层激活函数可以使用线性函数。 该线性函数将输出作为高斯分布的条件均值。其它也可以使用 σ(wTh+b),其中σ代表 Sigmoid 函数,即 该 Sigmoid 函数将输出视为 P(y)为 exp(yz) 的伯努利试验,其中。 更广义的 soft-max 函数可以给定为: 其中。 现在,z 的分量和可能的输出值相对应,softmax(z)i 代表输出值 i 的概率。例如输入图像到神经网络,而输出(softmax(z)1,softmax(z)2,softmax(z)1)则可以解释为不同类别(如猫、狗、狼)的概率。 卷积网络 卷积网络是一种带有线性算符的神经网络,即采用一些隐藏的几何矩阵作为局部卷积算符。例如,第 k 层神经网络可以用 m*m 阶矩阵表达: 我们定义 k+1 层的函数可以由 2*2 矩阵在前一层神经网络执行卷积而得出,然后再应用非线性函数 g: 。 参数 a(k)、b(k)、c(k) 和 d(k) 只取决于不同层级滤波器的设定,而不取决于特定的元素 i,j。虽然该约束条件在广义定义下并不必要,但在一些如机器视觉之类的应用上还是很合理的。除了有利于参数的共享,这种类型的网络因为函数 h 的定义而自然呈现出一种稀疏的优良特征。 (责任编辑:本港台直播) |