(1)GD(Gradient Descent):
梯度下降:每次对整个数据集进行训练。
优点:其loss的收敛性好,因为每次参数的调整都考虑到了所有的数据。
缺点:由于深度学习模型的训练依赖于大量的数据,所以每次进行训练都会消耗大量的时间。
(2)SGD(Stochastic Gradient Descent):
随机梯度下降:每次挑选一个样本进行训练。
优点:由于每次的参数调整仅考虑一个样本数据,所以每次训练都会节省大量时间。
缺点:其loss的收敛性非常不稳定,因为参数的每一次调整仅仅考虑一个样本数据。
(3)mini batch GD:
小批量梯度下降:它是GD和SGD的中和,每次取出batch_size个样本数据来进行训练。
优点:不论是训练过程中的时间消耗方面还是loss的收敛性稳定方面,都不是最差的,当然也不是最好的。
时间消耗:GD > mini batch GD > SGD (值越大消耗时间越长)
收敛性稳定情况:GD > mini batch GD > SGD (值越大越稳定)