Questions tagged «gradient-descent»

梯度下降是一阶迭代优化算法。要使用梯度下降来找到函数的局部最小值,需要采取与该函数在当前点的梯度(或近似梯度)的负值成比例的步骤。对于随机梯度下降,也有[sgd]标签。




6
对于凸问题,随机梯度下降(SGD)中的梯度是否始终指向全局极值?
给定凸成本函数,使用SGD进行优化,我们将在优化过程中的某个点处具有一个梯度(矢量)。 我的问题是,给定凸面上的点,梯度是否仅指向函数增加/减少最快的方向,或者梯度始终指向成本函数的最优/极端? 前者是本地概念,后者是全球概念。 SGD最终可以收敛到成本函数的极值。我想知道给定凸面上任意点的渐变方向与指向全局极值的方向之间的差异。 梯度的方向应该是函数在该点上最快增减的方向,对吗?

1
如何定义梯度下降的终止条件?
实际上,我想问你如何定义梯度下降的终止条件。 我可以基于迭代次数来停止它,即考虑参数值进行100次迭代吗? 还是应该等两个参数值'new'和'old'的差异小到可以说?这肯定会花费很多时间。10− 610-610^{-6} 什么是最好的方法?就我而言,即使一次迭代也要花费大量时间。在这种情况下,如果我等待第二种情况,我想可能甚至要花几周的时间。 因此,我应该使用哪种方法。如何解决这种情况?

3
坐标与梯度下降
我想知道Coordinate Descent和Gradient Descent这两种算法的不同用例是什么。 我知道坐标下降存在函数不平滑的问题,但是它已用于诸如SVM和LASSO的流行算法中。 但是我认为梯度下降法得到了更广泛的应用,尤其是随着人工神经网络的兴起以及许多其他机器学习任务的出现。 我的问题是:哪种类型的问题适合一种而不是另一种,在这方面,什么使SVM和LASSO的坐标下降适合,而对ANN的梯度下降适合? 选择优化算法时,应该如何在两者之间进行选择?

1
通过ResNet跳过连接进行梯度反向传播
我很好奇如何使用ResNet模块/跳过连接通过神经网络向后传播梯度。我已经看到了关于ResNet的几个问题(例如,具有跳过层连接的神经网络),但是这个问题专门询问了训练过程中梯度的反向传播。 基本架构在这里: 我读了这篇论文《残差网络的图像识别研究》,在第2部分中,他们讨论了ResNet的目标之一是如何为梯度提供更短/更清晰的路径,使其反向传播至基础层。 谁能解释梯度如何流过这种类型的网络?我不太了解加法运算以及加法后缺少参数化图层如何实现更好的梯度传播。它是否与流经加法运算符时渐变不发生变化以及是否以无乘法方式重新分布有关? 此外,我可以理解,如果梯度不需要流过权重层,那么如何减轻消失的梯度问题,但是如果没有梯度流经权重,那么在向后传递之后如何更新它们?

3
为什么要对神经网络使用梯度下降?
当使用反向传播算法训练神经网络时,使用梯度下降法确定权重更新。我的问题是:与其使用梯度下降法相对于某个权重缓慢地定位最小点,不如我们只设置导数,并找到将误差最小化的权重的值?d(错误)dw= 0d(错误)dw=0\frac{d(\text{Error})}{dw}=0www 另外,为什么我们可以确定反向传播中的误差函数将是最小的?难道不是错误函数是最大值?压扁函数是否具有特定的特性,可以保证具有任意数量的具有任意权重和输入矢量的隐藏节点的网络将始终提供具有某些最小值的误差函数?

3
内核化SVM是否有可能实现Gradient Descent(如果有的话,人们为什么要使用二次编程)?
人们在处理带内核的SVM时为什么使用二次编程技术(例如SMO)?梯度下降有什么问题?不能与内核一起使用还是速度太慢(为什么?)。 这里有一些上下文:为了更好地理解SVM,我使用了Gradient Descent通过以下成本函数来训练线性SVM分类器: Ĵ(w,b )= C∑我= 1米中号一个X ( 0 ,1 - ÿ(我)(wŤ⋅ X(我)+ b ))+1个2wŤ⋅ w ^J(w,b)=C∑i=1mmax(0,1−y(i)(wt⋅x(i)+b))+12wt⋅wJ(\mathbf{w}, b) = C {\displaystyle \sum\limits_{i=1}^{m} max\left(0, 1 - y^{(i)} (\mathbf{w}^t \cdot \mathbf{x}^{(i)} + b)\right)} \quad + \quad \dfrac{1}{2} \mathbf{w}^t \cdot \mathbf{w} 我正在使用以下符号: ww\mathbf{w}是模型的特征权重,是其偏差参数。bbb X(我)x(i)\mathbf{x}^{(i)}是第训练实例的特征向量。一世日ithi^\text{th} ÿ(我)y(i)y^{(i)}是实例的目标类(-1或1)。一世日ithi^\text{th} 米mm是训练实例的数量。 CCC是正则化超参数。 我从该方程式导出了一个(子)梯度向量(关于和),而Gradient Descent效果很好。ww\mathbf{w}bbb 现在,我想解决非线性问题。我可以在成本函数中用替换所有点积,其中是内核函数(例如高斯RBF,),然后使用演算来导出(子)梯度向量并继续进行Gradescent Descent?üŤ⋅ vüŤ⋅v\mathbf{u}^t \cdot …

3
从感知器规则到梯度下降:具有S型激活函数的感知器与逻辑回归有何不同?
本质上,我的问题是在多层感知器中,感知器具有S形激活功能。因此,在更新规则Ÿ计算公式为y^y^\hat{y} y^=11+exp(−wTxi)y^=11+exp⁡(−wTxi)\hat{y} = \frac{1}{1+\exp(-\mathbf{w}^T\mathbf{x}_i)} 那么,这种“ S型”感知器与逻辑回归有何不同? 我要说的是一个单层乙状结肠感知等效于逻辑回归的意义上,二者使用ÿ = 1y^=11+exp(−wTxi)y^=11+exp⁡(−wTxi)\hat{y} = \frac{1}{1+\exp(-\mathbf{w}^T\mathbf{x}_i)}更新规则中为 1 + exp (− w T x i)。此外,这两个返回sign(y^=11+exp(−wTxi))sign⁡(y^=11+exp⁡(−wTxi))\operatorname{sign}(\hat{y} = \frac{1}{1+\exp(-\mathbf{w}^T\mathbf{x}_i)})在预测。但是,在多层感知器中,与逻辑回归和单层感知器相比,使用S形激活函数来返回概率,而不是通断信号。 我认为“感知器”一词的用法可能有点含糊,所以让我根据对单层感知器的当前理解提供一些背景知识: 经典感知器规则 首先,是F. Rosenblatt的经典感知器,其中具有阶跃函数: Δwd=η(yi−yi^)xidyi,yi^∈{−1,1}Δwd=η(yi−yi^)xidyi,yi^∈{−1,1}\Delta w_d = \eta(y_{i} - \hat{y_i})x_{id} \quad\quad y_{i}, \hat{y_i} \in \{-1,1\} 更新权重 wk:=wk+Δwk(k∈{1,...,d})wk:=wk+Δwk(k∈{1,...,d})w_k := w_k + \Delta w_k \quad \quad (k \in \{1, ..., d\}) …





3
批量大小如何影响SGD的收敛,为什么?
我在许多讨论中都得出了类似的结论,即随着小批量生产的规模变大,SGD的收敛实际上变得越来越困难,例如本文和这个答案。我也听说有人在早期使用小学习率或批量大小之类的技巧来解决大批量问题。 但是,这似乎是违反直觉的,因为小批量的平均损失可以认为是数据分布上预期损失的近似值 1个| X|∑X ∈ Xl (x ,w )≈ ÈX 〜 pd一个牛逼一[ l (x ,w )]1个|X|∑X∈X升(X,w)≈ËX〜pd一种Ť一种[升(X,w)]\frac{1}{|X|}\sum_{x\in X} l(x,w)\approx E_{x\sim p_{data}}[l(x,w)] 较大的批量大小的更准确它应该是。为什么实际上不是这样? 以下是我的一些想法(可能是错误的),试图加以解释。 模型的参数彼此高度依赖,当批处理变得太大时,它会同时影响太多的参数,以至于参数很难达到稳定的固有依赖性?(如批处理规范化文件中提到的内部协变量偏移问题) 还是当几乎所有参数都在每次迭代中负责时,它们将倾向于学习冗余的隐式模式,从而降低了模型的容量?(我的意思是说,对于数字分类问题,某些图案应负责点,某些图案应负责边缘,但是当发生这种情况时,每个图案都应负责所有形状)。 还是因为当批的大小接近训练集的规模时,由于相关小批的可能性很大,所以小批不再从数据分布中被视为同小异? 更新 正如Benoit Sanchez的答案所指出的,一个重要的原因是大型微型批次需要更多的计算才能完成一次更新,并且大多数分析都使用固定数量的训练时期进行比较。 但是,这篇论文(Wilson和Martinez,2003年)表明,即使有足够的训练时间,较大的批次规模仍然略有不利。通常是这样吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.