文章目录
一、深度学习的三个步骤
-
神经元(Neuron):任意的一个逻辑回归单元
-
神经网络(Neural Network):不同的连接导致不同的网络结构
-
网络参数(Network parameter)𝜃:“神经元”中的所有权重weight和偏差bias
1.1 全连接前馈网络(Fully Connect Feedforward Network)
- 当我们对权重weight和偏差bias进行不同的设置时,就得到了一个函数集合。
- 最后一张图是全连接前馈网络的一般画法,由于层(Layer)与层(Layer)之间所有的神经元都是两两连接,因此它叫全连接(Fully Connect),传递的方向是从后往前(1->2->3…->L),因此叫前馈(Feedforward)
- 输入层(Input Layer): x 1 , x 2 . . . x n x_1,x_2...x_n x1,x2...xn
- 隐藏层(Hidden Layers): L 1 , L 2 . . . L n − 1 L_1,L_2...L_{n-1} L1,L2...Ln−1
- 输出层(Output Layer): L n L_n Ln
- 输出(Output): y 1 , y 2 . . . y m y_1,y_2...y_m y1,y2...ym
- 常见的神经网络
1.2 矩阵运算(Matrix Operation)
- 下图是整个网络进行的矩阵运算,可以用GPU进行加速。最后一张图红色框起来的部分被称为特征抽取(Feature extractor),取代了我们之前机器学习中手动做特征工程(feature engineering),特征变换的过程(feature transformation)。
1.3 手写数字辨识
- 对于一个16*16=256的图片来说,它的输入就是256维,输出就是10维,至于中间的网络结构一共有多少层,每层需要多少个神经元就需要自行设计了,而这些经验就来源于:试错+直觉
- 有人可能会说,要是网络结构也能让机器自动确定就好了,事实上还真有,例如进化人工神经网络(Evolutionary Artificial Neural Networks)
- 除了之前介绍的全连接前馈网络,还可以采用卷积神经网络(CNN)来设计网络
二、确定评价函数(goodness of function)
- 计算预测值与真实值之间的交叉熵(CrossEntropy),全部的数据产生的交叉熵求和就是我们的Loss函数,使loss值最小的那个函数就是最好的模型。找最小loss值所使用的方法就是梯度下降
三、寻找最优模型(pick the best function)
- 下面就是做梯度下降的过程
- 反向传播(Backpropagation):反向传播就是用来在神经网络中计算 ∂ L ∂ w \frac{\partial L}{\partial w} ∂w∂L(偏微分)的一个有效方式