我正在关注以下教程:
http://deeplearning.net/tutorial/mlp.html
这是关于为 MNIST 数据集训练多层感知器 (MLP)。
据我了解,Theano所做的是使用符号微分来计算梯度。通过这个计算,很容易实现梯度下降,我相信 Theano 是通过以下几行来实现的:
gparams = [T.grad(cost, param) for param in classifier.params]
现在我的问题是:鉴于反向传播是梯度下降的一种形式, Theano 实际上是否使用反向传播?换句话说,在某些情况下象征性地使用梯度下降和实际实现后向传递是否不同?它更稳定还是更容易出错?
我想在大多数情况下结果应该是相同的,但我想知道它。
在此先感谢并祝一切顺利,
