【发布时间】:2021-05-21 12:31:55
【问题描述】:
我有一个关于SGD Optimizer的问题。
Gradient Descent Algorithm有3种类型:
- 批量梯度下降
- 小批量梯度下降和
- 随机梯度下降
Stochastic Gradient Descent 是一个Algorithm,其中来自Training Set 的Instance 是在Random 获取的,而Weights 会相应更新到那个Instance。
SGD Optimizer 与上述定义略有偏差,它可以接受大于 1 的 batch_size。有人可以澄清这种偏差吗?
下面的代码似乎符合Stochastic Gradient Descent的定义:
model.compile(optimizer = 'sgd', loss = 'mse')
model.fit(x, y,epochs = 500, batch_size = 1,verbose=1)
但是,下面的代码似乎令人困惑/偏离(因为batch_size > 1):
model.compile(optimizer = 'sgd', loss = 'mse')
model.fit(x, y,epochs = 500, batch_size = 32, verbose=1)
提前感谢您的澄清。
【问题讨论】:
标签: tensorflow keras tf.keras