Adagrad 学习率算法:使用梯度平方和而不是二阶矩
不,Adagrad 并没有直接记录梯度的二阶矩。
Adagrad 是一种自适应学习率算法,它通过记录梯度的平方和来调整学习率。具体而言,Adagrad 维护一个累积梯度平方和的变量,并将其用作学习率的分母。该算法会根据梯度的历史信息对不同参数应用不同的学习率。
Adagrad 的更新规则如下:
learning_rate = initial_learning_rate / sqrt(gradient_squared_sum + epsilon)
parameter = parameter - learning_rate * gradient
其中,gradient_squared_sum 是梯度平方的累积和,epsilon 是一个小的正值,用于避免除以零的情况。
虽然 Adagrad 使用了梯度的二阶矩的累积和,但它并没有直接存储梯度的二阶矩。它仅通过累积梯度平方和来动态调整学习率。这使得 Adagrad 在训练过程中对较稀疏的特征有良好的适应性,并能够自动调整学习率的尺度。
原文地址: https://www.cveoy.top/t/topic/bjTq 著作权归作者所有。请勿转载和采集!