能不能通俗易懂翻译翻译“梯度下降法是什么”?

前面文章(通过 AutoGrad 来理解 TextGrad ,反向传播中的自动微分)提到梯度了,那么梯度、梯度下降法是什么?本篇再深入一点来看看。

梯度下降法对于神经网络来说,真的是太重要了。可以说是没有梯度下降法,就不会有现代的神经网络。如果没有梯度下降法,神经网络可能都没有办法被训练。梯度其实是微积分里的一个技术概念。

通过前文介绍,对损失函数有了一定理解,损失函数计算出来的值其实就是神经网络里的概率模型和理想中的概率模型之间的差距的定量表达。

那么差距找到了,接下来就是要缩短差距了。至于怎么缩短呢?肯定是要调整神经网络里的那些参数。参数有这么多,如果我们没有什么策略,只凭直觉去调整的话,理论上虽然也有可能把它调好,但是估计得调整到宇宙爆炸了。所以,要想把这么多的参数能快速调整好,必须要有策略。这个策略就是反向传播,梯度下降法就是反向传播中的一种方法。

正向传播我们其实都能知道,就是把数据输入到神经网络,这些数据会沿着神经网络向前传递,传递的过程中,一层一层地进行操作,最后得出一个结果。

反向传播也一样,一个神经网络还没有训练好的时候,它的输出结果是有偏差的。当我们已经知道了偏差值的时候,要把这个偏差缩小,肯定是优先调整那些对最后输出结果有重大影响的参数,这样性价比最高。反的那个传递的信息,传递的是偏差的信息,这些偏差最后传递到各个参数上,然后根据这些参数对偏差的贡献大小,来承担相应的修改责任。原理上是这样子的。

具体是怎么修改呢?我们先来脑补一个符合自己直觉的一种分配方式。

假设神经网络最后输出层的一个输出值是A3来表示,具体的这个输出值分别由W系数、偏置系数和上一层的输出值来决定的。知道了这些之后,我们就能计算出它的损失函数。

比如说我们就用交叉熵的方式(损失函数),整个神经网络计算完之后存在偏差,目的是这个偏差越小越好,最好是减到0,要通过神经网络里的这些各个感知机,以及感知机上的参数来调整。其实是可以把偏差分成三部分,分别对应着感知机里的W系数、偏置系数以及上一层的输出结果。如果贡献大的就多调整一点,如果贡献小就少调整一点,通过调整来减小最终的数值。

这种分配偏差的方法,虽然直观容易理解,但操作起来却没有那么简单。如果想要定量的去调整每一个参数,这些参数的数值具体大小应该是怎样子呢?它们相互之间的依赖关系又是怎样?这些都很麻烦。

我们还可以考虑另外一种方法。上述利用的是数值的加法。除了数值的加法,还有没有别的加法呢?比如说向量的加法!!

向量的合力等于两个分力的矢合,这就是向量的加法。向量它是有方向的,而偏差值只是一个数值没有方向,所以我们还需要找到一个确定的方向。到这里,其实就要引出我们这次要讲的梯度。

梯度的方向是变化率最快的方向,顺着这个方向就能找到变化率最大的值,在梯度下降法里面,我们要做的是沿着梯度的反方向走,取反就是减小最快的方向,就能找到最佳的调整方式了。

相关推荐
大模型教程几秒前
使用Langchain4j和Ollama3搭建RAG系统
langchain·llm·ollama
高洁01几秒前
一文了解图神经网络
人工智能·python·深度学习·机器学习·transformer
数据猿2 分钟前
【金猿CIO展】莱商银行信息科技部总经理张勇:AI Infra与Data Agent驱动金融数据价值新十年
人工智能·金融
大模型教程3 分钟前
全网首发!清北麻省顶级教授力荐的《图解大模型》中文版终于来了,碾压 95% 同类教材
程序员·llm·agent
verse_armour4 分钟前
【深度学习】Grand Challenge、zenodo、huggingface数据集下载
人工智能·深度学习·huggingface·zenodo·数据集下载
古城小栈7 分钟前
工业互联网:Go + 边缘计算实现设备监控实战
人工智能·golang·边缘计算
极客BIM工作室7 分钟前
大模型参数高效微调:5种主流方法的技术解析
人工智能·机器学习
海边夕阳200610 分钟前
【每天一个AI小知识】:什么是扩散模型?
人工智能·经验分享·深度学习·机器学习·扩散模型
这张生成的图像能检测吗12 分钟前
(论文速读)卷积层谱范数的紧凑高效上界
人工智能·深度学习·计算机视觉·卷积层谱范数
ken223213 分钟前
[转] AI 官方:ComfyUI 的软件、硬件要求
人工智能