(ミニ)バッチグラジエントのグラジエントの合計または平均は適切ですか?


15

ミニバッチグラジエントを適切に実装したとき、トレーニングバッチのすべての例のグラジエントを平均しました。しかし、私は今、最適な学習率がオンライン勾配まともな場合よりもはるかに高いことに気づきました。私の直感では、これは平均化された勾配のノイズが少ないため、より速く追跡できるためです。したがって、バッチの勾配を合計するだけでも理にかなっています。とにかく、値は正と負になります。

学習率を使用してバランスを取ることができるのは、単なる一定の要因であることは知っています。しかし、ニューラルネットワークの論文から結果を再現できるように、科学者が合意した定義はどれかと思います。

通常、バッチの合計勾配をバッチサイズで除算しますか?

回答:


21

平均。

例:Alex Holehouseが編集した、Andrew NgのCourseraに関する機械学習コースのメモ。

個々のサンプルに起因する勾配を合計すると、より滑らかな勾配が得られます。バッチが大きいほど、重みの更新で使用される結果の勾配が滑らかになります。

合計をバッチサイズで除算し、平均勾配を取得すると、次の効果があります。

  1. 重みの大きさは不均衡になりません。重みの更新にL2正則化を追加すると、大きな重み値がペナルティになります。これにより、一般化されたパフォーマンスが向上します。特に勾配が同じ方向を指す場合は、平均を取ることで、重みが大きくなりすぎないようにします。
  2. 勾配の大きさはバッチサイズとは無関係です。これにより、異なるバッチサイズを使用した他の実験の重量を比較できます。
  3. 学習率でバッチサイズの影響に対抗することは数値的には同等ですが、実装固有の学習率になります。使用しているパラメーターの規模に関係がなく、実験の再現に問題がある場合、結果と実験の設定を伝えることが難しくなります。

平均化により、比較可能性が明確になり、バッチサイズに関係なく勾配の大きさを維持できます。バッチサイズの選択は、所有している計算リソースによって制約される場合があり、モデルを評価する際にこの影響を緩和したい場合があります。


リンクは現在
無効です-cdeterman

1
リンクが更新され、元のスライドにリンクできなくなったため、Alex Holehouseによる適切に編集されたメモを選択しました
ypx

このチュートリアルは、平均ではなく総和になりそうです。deeplearning.net/tutorial/gettingstarted.html#regularization
AD
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.