モデルがそもそも上達する仕組み——坂を下る小さな一歩。

SRC·08 Source
モデルは書かれない。一歩ずつ、坂を下るように微調整される。

モデルは書かれない。一歩ずつ、坂を下るように微調整される。

モデルの何十億もの設定を人が手で書くわけではない。モデルは自分でそれを見つける——どれだけ間違っているかを測り、すべてのつまみを少しだけ正しい方へひと押しする。これを百万回くり返せば、空っぽのネットワークが知性になる。この方法には素朴な名前がある——勾配降下法、自分の間違いという坂を下っていくこと。
一つの数字が「どれだけ外したか」を語る。そしてつまみは十億個。

一つの数字が「どれだけ外したか」を語る。そしてつまみは十億個。

学習はすべての間違いを一つの数字に押し込める——損失だ。低いほどよく、その値はすべてのつまみに同時に左右される。見渡すかぎり並ぶ、同じ形のバルブの壁のように:一つずつ回して組み合わせを試していたら、宇宙の寿命より長くかかる。総当たりでは探せない。必要なのは方向——いま、それぞれのつまみをどちらへ回すべきか、だ。
どっちが下り坂? 傾きに訊け。

どっちが下り坂? 傾きに訊け。

L(θ)=(Lθ1, , Lθn)\nabla L(\theta) = \left( \dfrac{\partial L}{\partial \theta_1},\ \dots,\ \dfrac{\partial L}{\partial \theta_n} \right)
一つのつまみについて、その傾きは損失がどちらへ登るか、そしてどれだけ急かを教える。すべてのつまみの傾きを一本の矢印にまとめれば、それが勾配——いちばん急な登り方だ。霧の中、靴底で斜面を読むように:山全体は見えなくても、足はどちらへ地面が傾くかを正確に感じ取る。かんたんに言えば:勾配とは、全つまみの傾きを一度にまとめ、最も急な登りを指す一本の矢印だ。
下りたい? なら矢印と逆向きに一歩。

下りたい? なら矢印と逆向きに一歩。

θt+1=θtηL(θt)\theta_{t+1} = \theta_t - \eta\, \nabla L(\theta_t)
勾配は登りを指す——いちばん行きたくない方だ。だから反転させる:いまのつまみを取り、向きに少しだけ踏み出す。そしてまた。さらにまた。ギターを調律するように:高すぎれば少し緩め、低すぎれば少し締める——一気に引っぱらず、つねに正しい音へそっと寄せる。かんたんに言えば:新しいつまみ=古いつまみ から 坂を下る小さな一歩(η)を引いたもの。この一行を百万回くり返すこと、それが学習そのもの
歩幅がすべて。大きすぎても小さすぎても失敗する。

歩幅がすべて。大きすぎても小さすぎても失敗する。

L(θηL)L(θ)ηL2L(\theta - \eta \nabla L) \approx L(\theta) - \eta\, \lVert \nabla L \rVert^{2}
その歩幅——η学習率——こそ学習で最も重要なつまみだ。かんたんに言えば:坂を下る小さな一歩は、損失をおよそ(歩幅)×(急さ)² だけ下げる。正直で予測できる前進だ——ただし、この直線近似が通用するほど歩幅が小さいあいだだけ。パットのように:強く打ちすぎればカップをはるかに通り過ぎ、弱すぎれば手前で止まる。ちょうどよい力加減だけが、それを沈める。
毎歩すべての例を量るのは無理。だからひと握りで済ます。

毎歩すべての例を量るのは無理。だからひと握りで済ます。

L(θ)1BiBLi(θ)\nabla L(\theta) \approx \dfrac{1}{|B|} \sum_{i \in B} \nabla L_i(\theta)
本当の傾きを知るにはすべての訓練例を回す必要がある——毎歩やるには遅すぎる。そこで小さなバッチを無作為に取り、その傾きだけを平均する。一握りでコーヒー一袋を見極めるように:袋を全部あけたりしない——正直なひとすくいが残りを言い当てる。かんたんに言えば:傾きの、安上がりで揺らいだ当て推量だ——しかもその揺らぎが、浅いくぼみから抜け出す助けにすらなる。これが確率的勾配降下法だ。
これでエンジンの全部だ。地面が平らになったら、終わり。

これでエンジンの全部だ。地面が平らになったら、終わり。

L(θ)=0\nabla L(\theta^{*}) = 0
名前をはがせば、学習はループする四つの動きだ:どれだけ外したか測り、傾きを読み、それに逆らって一歩進み、くり返す。何十億のつまみに、たった一つの規則。かんたんに言えば:勾配がゼロになったら到着だ——傾きはもう残らず、地面は平らで、下る先がない。その平らな場所こそ、歩み全体が向かっていた底だ。空っぽのネットワークが知性になった——そしてこれ、辛抱強く、目の見えない、執拗な降下だけが、それをそこへ連れていった。
🌱 でも、どの底? それは、どこから始めたかで決まる。

🌱 でも、どの底? それは、どこから始めたかで決まる。

🌱 これほど広い地形には、谷は一つではなく、いくつもある。平らな地面はただある一つの底を意味するだけで、その底ではない——別の場所から始め、少し違う踏み出し方をすれば、まったく別の盆地に落ち着く。だから得られるモデルは、当てはまる唯一のものではない。あなたの道筋がたまたま落ち着いた先にすぎない。そもそも、ただ一つの本当の答えがあの底で待っているのか——それとも、あなたが転がり込んだ窪みと、そこへ導いた道があるだけなのか?
タップ →↑スワイプで詳しく↓スワイプで終了