torch:sgd
(torch:sgd params &key lr momentum weight-decay)
params (モジュール、またはパラメータテンソルのリスト) に対する確率的勾配降下法のオプティマイザ (PyTorch の torch.optim.SGD) を返します。:lr の既定値は 0.01、:momentum と :weight-decay は 0 です。torch:step は要素ごとに次を計算します。
g <- grad + weight-decay * param
buf <- momentum * buf + g ; momentum が 0 でないときのみ
param <- param - lr * (momentum が 0 でなければ buf、そうでなければ g)
モーメンタムバッファはゼロから始まり、これは PyTorch の「初回はクローン」と同じ結果になります。ハイパーパラメータは普通のフィールドなので、学習率スケジュールは (torch:set-field opt :lr new) で書けます。