深度学习概论

目录
  1. 神经网络结构
  2. 梯度下降法
  3. 反向传播算法
TOC

本文为3Blue1Brown深度学习的笔记。

神经网络结构

将神经元看作一个装着数字(0,1)的容器。

这个数字被叫做“激活值”(Activation),正如它的名字一样,激发值越大,这个神经元被点得更亮。

为什么这种层状结构被认为是智能的:转化为抽象元素,层层剖析。

每一层的神经元取值经过一定系数的加权求和,可以得到下一层的某个神经元的取值。

这个系数组合经过训练得到,和要提取的特征有一定关系。

为了方便多层保持一样的数据格式,让结果经过一个sigmoid函数,将数轴变换到(0,1)之间。

同时,为了衡量多正的时候输出,添加一个偏置项使得结果可以继续计算。

所以,当把一层的所有参数看成一个向量,这就是一个矩阵问题。

实际上,将神经元(甚至整个神经网络)看作一个函数更为恰当,它输入一个上层的数值,返回一个(0,1)之间的数字。

梯度下降法

定义损失函数 -> 一般越大,说明电脑判断越差

告诉电脑做的不好,并要告诉它改进的方向 -> 用梯度表示(斜率)

为了防止调整过头,一般设置调整的步长和梯度成一定比例(比例即为学习率)

梯度下降法可以让损失函数收敛到最小的坑里。

对梯度的另一种理解方式:

数值越大,说明这个位置的参数对结果的影响越大,越重要。

但实际上,如果将一层的权重重新组合为一张图像(即显示第一层到底在识别什么),我们会发现它所干的事情是不容易理解的各种奇怪图形。

同时,如果向网络丢入一个随机噪声,它也可能自信判断结果,这是由于它训练的范围只有一小部分导致的。

反向传播算法

神经网络学习的核心算法。

赫布理论(生物学):一同激活的神经元关联在一起。

对每一个训练样本,查看它想要怎样改变权重和配置,并将结果取平均。

反向传播算法处理的是两层间激活值要求如何知道相应的权重和激活值变化,将这种要求沿着每一层传递下去,就是反向传播算法。

对于具体的数学实现,则由链式法则计算完成。

DAR
SON