54 CHEN

参透AI(持续更新)

在chatgpt流行之前就想把底层的东西好好研究一遍,正好借此机会,保持长期更新,本文会涉及的内容应该会有:非常基础的一系列知识,从监督和非监督学习开始,到浅层神经网络,再到损失函数,梯度下降,如何衡量网络,正则化,卷积,Residual networks,transformers…强化学习,等等,所以要长期更新。

机器学习三个分类

强化学习,监督学习,非监督学习。

万能近似理论

Universal Approximation Theorem

如果一个只有一个隐藏层的浅层网络有足够多的单元的话,一样可以逼近任意的连续函数。

浅层网络的ReLU和线性区间的关系

在这种情况下,有N个ReLU,就可以造出来N+1个线性区间.

深度网络替代浅层网络的原因

同样的隐藏单元,深度网络可以代表更多得多的线性区间。

同样的隐藏单元,深度网络可以更快地train。

同样的隐藏单元,深度网络可以用更少的数据得到相同的准确性。

对数函数作用特点

在与原函数相同的x(或输入)值的情况下,仍能达到最大值(但不一定是原来的值)。

softmax函数

给任意输入的值得到一个从0到1的像概率分布一样的结果。

梯度下降

可能会卡在局部最小值,但这在高维环境中似乎并不是个大问题。

Nesterov动量

Nesterov动量是简单动量思想的一个变种,其中动量步骤是在梯度计算之前进行的。

反向传播算法 前向传导

为了计算weights的导数,我们需要计算和存储隐藏层的activations。这被称为前向传递,因为它涉及到按顺序运行网络方程。算到最后就能知道loss是多少了。

反向传播算法 反向传导

向后传递首先计算网络末端的导数,然后向后工作以利用这些之前计算好的冗余。

梯度爆炸和梯度消失

如果我们初始化的值较大,梯度的大小在我们通过网络后迅速增加。如果我们初始化的值较小,那么幅度就会下降。这些问题分别被称为梯度爆炸和梯度消失问题。

噪声,偏差,方差

这是针对数据的,训练数组和测试数据相对比,经常可以得出结论是因为这三个的原因导致模型效果不好。

噪声先天存在,啥也不能做。

偏差是指模型不够灵活,比如说拿3个ReLU来表达正弦函数,这肯定是有缺陷的,这可以通过提高网络的复杂度来改善。

方差是指模型收敛的结果不太足够拟合数据,并且由于是随机学习算法,每次训练的模型都会有不同的方差,这可以通过增加训练数据量级来提升。

偏差方差权衡

并不是一直增加模型的复杂性,偏差就会一直变小,过于复杂的模型数据不足会导致容易过拟合。

存在一个中间状态,模型的容量和数据量在这个点刚好是最小偏差,方差还不变大。

双重下降

在存在噪声的数据集中,随着增加模型的复杂,基本都会出现两次误差下降的情况,目前原因尚不明确。

三种数据作用

训练数据(用于学习模型参数)、验证数据(用于选择超参数)和测试数据(用于估计最终性能)。

正则化

正则化是指为了减少训练集和测试集的性能差距的一系列方法。严格讲是给损失函数加东西,然后再选参数。

References

#big data #cutting-edge #Algorithms