随机梯度下降(Stochastic Gradient Descent,SGD)是一种用于最小化目标函数的迭代优化算法,在机器学习和深度学习领域应用广泛。
该算法是基于梯度的优化算法,用于寻找函数的最优解,通常是最小化损失函数。在机器学习和深度学习中,模型通过调整参数来最小化损失函数,以达到最佳的预测性能。
从初始的模型参数开始,通过不断的迭代来更新参数。每次迭代都朝着使损失函数值减小的方向更新参数。
与传统的批量梯度下降算法每次使用整个数据集来计算梯度不同,随机梯度下降算法每次只随机选取一个样本或一小批样本(Mini-batch SGD)来计算损失函数关于模型参数的梯度。假设损失函数为\(L(\theta)\),其中\(\theta\)是模型的参数,对于单个样本\((x_i, y_i)\),计算梯度\(\nabla L(\theta; x_i, y_i)\)。
根据计算出的梯度,按照负梯度方向来更新模型参数。更新公式为\(\theta_{t+1}=\theta_t-\eta\nabla L(\theta_t; x_{i_t}, y_{i_t})\),其中\(\theta_{t}\)是第\(t\)次迭代时的参数值,\(\eta\)是学习率,用于控制参数更新的步长,\((x_{i_t}, y_{i_t})\)是第\(t\)次迭代时随机选取的样本。
不断重复上述随机选择样本、计算梯度和更新参数的过程,直到满足预设的停止条件,如达到预设的最大迭代次数,或者损失函数的值变化小于某个阈值,此时认为模型参数收敛到了一个较优的值。
设损失函数为\(L(w)\),随机梯度下降的迭代公式为\(w_{t + 1}=w_t-\eta_t\nabla L_{i_t}(w_t)\),其中\(i_t\)是第\(t\)次迭代时随机选取的样本索引,\(\nabla L_{i_t}(w_t)\)是基于样本\(i_t\)计算的梯度。
考虑\(w_t\)与最优解\(w^*\)的距离的平方\(\|w_{t + 1}-w^*\|^2\),将迭代公式代入并展开可得:
\(\|w_{t + 1}-w^*\|^2=\|w_t-\eta_t\nabla L_{i_t}(w_t)-w^*\|^2=\|w_t - w^*\|^2 - 2\eta_t\nabla L_{i_t}(w_t)^T(w_t - w^*)+\eta_t^2\|\nabla L_{i_t}(w_t)\|^2\)
根据凸函数的性质\(L(w^*;x_{i_t},y_{i_t})\geq L(w_t;x_{i_t},y_{i_t})+\nabla_w L(w_t;x_{i_t},y_{i_t})^T(w^*-w_t)\),可得\(-\nabla L_{i_t}(w_t)^T(w_t - w^*)\leq L(w_t;x_{i_t},y_{i_t})-L(w^*;x_{i_t},y_{i_t})\)。
又因为\(\|\nabla_w L(w;x,y)\|\leq G\),所以\(\|\nabla L_{i_t}(w_t)\|^2\leq G^2\)。
将上述两个不等式代入\(\|w_{t + 1}-w^*\|^2\)的展开式中,得到:
\(\|w_{t + 1}-w^*\|^2\leq\|w_t - w^*\|^2 - 2\eta_t\left[L(w_t;x_{i_t},y_{i_t})-L(w^*;x_{i_t},y_{i_t})\right]+\eta_t^2G^2\)
对\(t\)从\(1\)到\(T\)求和,可得:
\(\|w_{T + 1}-w^*\|^2\leq\|w_1 - w^*\|^2 - 2\sum_{t = 1}^{T}\eta_t\left[L(w_t;x_{i_t},y_{i_t})-L(w^*;x_{i_t},y_{i_t})\right]+\sum_{t = 1}^{T}\eta_t^2G^2\)
整理可得:
\(2\sum_{t = 1}^{T}\eta_t\left[L(w_t;x_{i_t},y_{i_t})-L(w^*;x_{i_t},y_{i_t})\right]\leq\|w_1 - w^*\|^2+\sum_{t = 1}^{T}\eta_t^2G^2\)
由于\(\sum_{t = 1}^{\infty}\eta_t^2<\infty\),\(\|w_1 - w^*\|^2\)是一个常数,所以\(\sum_{t = 1}^{T}\eta_t\left[L(w_t;x_{i_t},y_{i_t})-L(w^*;x_{i_t},y_{i_t})\right]\)有上界。
再根据\(\sum_{t = 1}^{\infty}\eta_t=\infty\),可以推出\(\liminf_{T\rightarrow\infty}\frac{1}{T}\sum_{t = 1}^{T}\left[L(w_t;x_{i_t},y_{i_t})-L(w^*;x_{i_t},y_{i_t})\right]=0\),即在期望意义下,随机梯度下降的平均损失会收敛到最优解的损失,也就证明了随机梯度下降在这些假设条件下是收敛的。