梯度上升与梯度下降

Gradient Ascent vs Gradient Descent

我是一名编程人员,最近正在研究机器学习和深度学习。

梯度上升和下降的用法到底有什么区别?为什么我们要最大化损失而不是最小化损失?更具体地说,我很好奇它在卷积网络中的用途。

区别是一个符号,梯度上升是指根据函数的梯度改变参数(因此增加其值)和梯度下降逆梯度(从而减小)。

你几乎不想增加损失(除了某种形式的游戏化系统,例如 GAN)。但是,如果您将问题定义为 正确答案概率 的最大化,那么您需要利用梯度上升。它总是一个对偶的东西,对于每一个表示为某物的梯度上升的问题,你可以将其视为减去这个函数的梯度下降,反之亦然。

theta_t + grad(f)[theta_t] = theta_t - grad(-f)[theta_t]
gradient ascent on f         gradient descent on -f

也就是说这两种方法在用法上完全没有区别,它们是等价的。人们使用其中一种的原因正是有助于以最自然的方式解释该方法的原因。说“我要降低成本”或“我要最大化概率”比说“我要降低减成本”或“我要最小化 1 减概率”更自然.