「また間違えた」
陸が小テストの結果を見て、ため息をついた。
「失敗は学習の機会だ」葵が慰めた。
「でも、何度も同じ間違い…」
「それは興味深い」ミラが珍しく口を開いた。「Cross entropy perspective」
由紀が興味を示した。「クロスエントロピー?」
葵がノートを開いた。「H(p,q) = -Σ p(x) log q(x)」
「pが真の分布、qが予測分布だ」
「どういうこと?」陸が聞いた。
「真実がpで、君がqだと予測してる。この時のコストがクロスエントロピー」
葵は例を出した。
「明日が晴れる確率が実際は80%だとする。でも君は50%だと思ってる」
「そういう時、何が起こるの?」由紀が聞いた。
「予測が外れたとき、驚きが大きくなる。クロスエントロピーが増える」
陸が理解し始めた。「俺の予測が悪いと、クロスエントロピーが高い?」
「正確。H(p,q) ≥ H(p)。等号は、p = qの時だけ」
「真の分布を完璧に予測できれば、最小になる」
ミラが式を書いた。
「H(p,q) = H(p) + D_KL(p||q)」
「カルバック・ライブラー・ダイバージェンス」葵が説明した。「pとqの距離みたいなもの」
「距離?」由紀が聞いた。
「厳密には距離じゃない。非対称だから」
「非対称?」
「D_KL(p||q) ≠ D_KL(q||p)。順序が重要なんだ」
陸が考えた。「じゃあ、俺が学習するってことは、qをpに近づけること?」
「その通り」葵が嬉しそうに言った。「機械学習も同じ原理だ」
「機械学習?」
「ニューラルネットワークは、クロスエントロピーを最小化するように訓練される」
由紀がノートに書いた。「予測分布を真の分布に近づける」
「そう。そのために、何度も失敗して、調整する」
陸が納得した顔をした。「失敗するたび、クロスエントロピーが教えてくれるんだ」
「どれだけ間違ってるか、数値で」
ミラが静かに言った。「Gradient descent on cross entropy」
「勾配降下法」葵が続けた。「クロスエントロピーの勾配に沿って、パラメータを更新する」
「失敗の方向から、正解に向かう」由紀がまとめた。
陸が笑った。「俺の人生も、勾配降下法だな」
「悪くない比喩だ」葵が認めた。
「でも」由紀が心配そうに言った。「局所最適に陥ることもあるんですよね?」
「鋭い。勾配降下法の弱点だ」
「局所最適?」陸が聞いた。
「近くでは最良だけど、全体では最良じゃない状態」
葵は図を描いた。起伏のある曲線。
「ここに落ちると、抜け出せない」
「人生も、そうかもしれませんね」由紀が言った。「今の環境では最良でも、もっといい選択肢があるかも」
ミラが頷いた。「Exploration versus exploitation」
「探索と活用のトレードオフ」葵が説明した。「今ある情報で最適化するか、新しい情報を探すか」
陸が立ち上がった。「じゃあ、俺も探索してみようかな」
「どういう意味?」
「新しい勉強法、新しい友達、新しい趣味」
「高エントロピーな選択だ」葵が笑った。
「でも、局所最適から抜け出すには、ランダム性が必要」
由紀が続けた。「シミュレーテッド・アニーリングみたい」
「よく知ってるね」葵が感心した。「温度パラメータで、探索と活用のバランスを調整する」
ミラが最後に言った。「Cross entropy measures surprise. Failure is information」
「失敗は情報」陸が繰り返した。「クロスエントロピーが教えてくれる」
葵がまとめた。「予測が外れるたび、学ぶ機会がある。それが学習の本質だ」
「じゃあ、失敗を恐れなくていいんですね」由紀が言った。
「むしろ、失敗から学べない方が問題だ」
陸が小テストを鞄にしまった。「次は、予測分布を改善してみる」
「それが学習だ」葵が微笑んだ。
夕日が部室を照らした。失敗と学習と、そして成長と。クロスエントロピーは、今日も彼らに教えていた。