>100 Views
June 16, 25
スライド概要
AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!
ゼロつく輪読会 #7 (2025/06/16) 6章 学習に関するテクニック 6.1 パラメーターの更新 京都大学 総合人間学部 認知情報学系 B3 神原みちる 0
アジェンダ 1. 最適化(optimization) / パラメータの更新 2. SGD・SGDの欠点 3. momentum 4. AdaGrad 5. Adam 6. どの更新手法を用いるか / 比較 1
アジェンダ 1. 最適化(optimization) / パラメータの更新 2. SGD・SGDの欠点 3. momentum 4. AdaGrad 5. Adam 6. どの更新手法を用いるか / 比較 2
最適化(optimization)/パラメータの更新 複雑なパラメータ空間で最適な解を見つけるには、勾配方向にパラメータを更新するSGDが基本 学習の目的:損失関数の値をできるだけ小さくするパラメータを見つける こと しかしパラメータ空間は非常に複雑、数式を解いて一瞬で最小値を求めることはできない 手がかりはパラメータの勾配(微分) 傾き方向に向かってパラメータを更新するというステップを繰り返して、目的の最小値へ辿り着こ うとする これが確率的勾配降下法:SGD(stochastic gradient descent) • 復習:ランダムに選ばれた1部のデータ(ミニバッチ)に基づいた近似勾配を用いる(本書p113)ため『確率 的』となっている 3
アジェンダ 1. 最適化(optimization) / パラメータの更新 2. SGD・SGDの欠点 3. momentum 4. AdaGrad 5. Adam 6. どの更新手法を用いるか / 比較 4
SGD・SGDの欠点 SGDは学習率✖勾配を引くことでパラメータを更新する • クラスを分離して実装することで機能のモジュール化が容易になる • 別のoptimizerを実装するときも共通のupdate(param, grads)メソッドを持つように実装する 5
SGD・SGDの欠点 勾配の向きと最小値への向きが一致しない時、非効率になる ・示す関数fのように、勾配の方向が本来の最小値では ない時、SGDはジグザグ進むことになる。 非効率な探索経路をたどる • 関数f 自体固定された勾配を持つのにジグザグな経路をたどることに疑問をもった方へ:この関数 fにおいては、微 分をしてもxとyが残るからです 6
アジェンダ 1. 最適化(optimization) / パラメータの更新 2. SGD・SGDの欠点 3. Momentum 4. AdaGrad 5. Adam 6. どの更新手法を用いるか / 比較 7
Momentum 更新に「速度」を加えることでジグザグ度合いを軽減できる ・Vは物理でいうところの速度に対応で前回からの更新方向(ベクトル差分)、αは慣性項 8
アジェンダ 1. 最適化(optimization) / パラメータの更新 2. SGD・SGDの欠点 3. momentum 4. AdaGrad 5. Adam 6. どの更新手法を用いるか / 比較 9
AdaGrad 学習係数の減衰をパラメータごとに導入することで、より適応的(Adaptive)に学習を行う ・「学習係数の減衰」(最初は大きく学習し、次第に小さく学習する)とは、パラメータ「全体」 の学習係数の値を一括して下げることに相当。これを発展させた。 ・hはこれまで経験した勾配の2乗和(要素ごと)を保持 する ・パラメータ更新の際に大きく動いた要素は学習係数が 小さくなる=よく動いたパラメータの学習係数が減衰す ることを、パラメータの要素ごとに 行える ・勾配の二乗和の記録更新を調節した改良版をRMSPropという。 ・εは非常に小さな値(本書では1e-7)で0で除算しないためにおいておく。多くのDLフレームワークではこれもパラ メータとして設定できるものである 10
[補足]RMSProp Ada Gradの更新の欠点を、直近の累積和に注目することで改善 ・AdaGradは累積和で割った値を学習率としている。 =無限に学習すると更新量はゼロになる。 ・欠点:一度学習率がゼロに近づくと再度あげること ができない →重みをかけて直近の累積和のみを用いる 重み付きの前回の更新量 新しい勾配 ・以前の勾配はρによって減衰していく 11
アジェンダ 1. 最適化(optimization) / パラメータの更新 2. SGD・SGDの欠点 3. momentum 4. AdaGrad 5. Adam 6. どの更新手法を用いるか / 比較 12
Adam モーメントを用いた適応的学習率の推定 ・勾配の平均(1次モーメント)と分散(2次モーメント)を用いて、各パラメータごとに学習率を調整する ・1次モーメント :勾配の指数移動平均。Momentumのように過去の勾配の平均を追いかける。Vtは現在の 速度ベクトル。方向が安定する ・2次モーメント :勾配の二乗の指数移動平均。勾配の大きさ(二乗)を追跡。AdaGrad,RMSPropで見られる ように、「パラメータごとの変動性」を記録 ・パラメータ更新式:αは学習率、Sの大きな方向はRMSPropと同様に学習率が小さくなる ・バイアス補正というものも重要。初期ステップでのS,Vの過小評価を防ぐ補正が入る。 13
アジェンダ 1. 最適化(optimization) / パラメータの更新 2. SGD・SGDの欠点 3. momentum 4. AdaGrad 5. Adam 6. どの更新手法を用いるか / 比較 14
どの更新手法を用いるか・比較 SGD以外の最適化手法が上回っている(本書の提供コードで実行) 15
簡易実装コード 1つの隠れ層だけのTwoLayerNetで簡易実装しました https://colab.research.google.com/drive/18qI-yu_5KopHTtfFrMhQx3iXnHEBTDd2?usp=sharing 16
References Duchi, J., Hazan, E., & Singer, Y. (2011). Adaptive subgradient methods for online learning and stochastic optimization. *Journal of Machine Learning Research, 12*(7), 2121–2159. Hinton, G. (2012). *Lecture 6e—RMSProp: Divide the gradient by a running average of its recent magnitude*. https://www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf Kingma, D. P., & Ba, J. (2015). Adam: A method for stochastic optimization. *International Conference on Learning Representations (ICLR)*. https://arxiv.org/abs/1412.6980 Polyak, B. T. (1964). Some methods of speeding up the convergence of iteration methods. *USSR Computational Mathematics and Mathematical Physics, 4*(5), 1–17. https://doi.org/10.1016/0041-5553(64)90137-5 Robbins, H., & Monro, S. (1951). A stochastic approximation method. *The Annals of Mathematical Statistics, 22*(3), 400–407. https://doi.org/10.1214/aoms/1177729586 17