対象はJDLAの「ディープラーニングの概要」Q6・Q7です。公式正解は Q6=A:KLダイバージェンス、Q7=D:勾配消失。選択肢の原文は公式ページで確認してください。
Q6:確率分布の「違い」をどう測るか
KLダイバージェンスは、確率分布 P を分布 Q で近似するときのずれを表す量です。離散分布なら D_KL(P||Q) = Σ_x P(x) log(P(x)/Q(x)) と書きます。モデルの予測分布が正解分布からどれだけ離れるかを考えるときに登場します。
名前に「距離」のような響きがありますが、一般に D_KL(P||Q) と D_KL(Q||P) は一致しません。したがって通常の距離のように対称だと覚えるのは誤りです。P(x)>0 なのに Q(x)=0 となる点があれば、発散は無限大になります。これは「正解側では起こり得る事象にモデルが確率ゼロを付ける」ことへの強い罰則と理解できます。
エントロピー H(P) は一つの分布の不確実性、交差エントロピー H(P,Q) は P を基準に Q の予測を評価する量です。H(P,Q)=H(P)+D_KL(P||Q) なので、P を固定して Q を学習するときは交差エントロピーを小さくすることがKLダイバージェンスを小さくすることにつながります。式を丸暗記する前に、「何を固定し、何を近づけるか」を確認します。
Q7:深い層で学習が進まない理由
誤差逆伝播では、出力側から入力側へ微分を掛け合わせて勾配を伝えます。各段階の微分が小さい場合、層をさかのぼるほど積は小さくなります。たとえば毎段階で 0.5 を20回掛ければ約 0.000001 です。前方の層まで十分な更新信号が届かない状態を勾配消失と呼びます。
深いネットワークは必ず勾配消失する、という意味ではありません。活性化関数、初期化、正規化、残差接続などで状況は変わります。逆に微分の積が大きくなりすぎるのは勾配爆発です。Q7では「層を深くすると学習が難しくなる」という症状から、逆伝播の信号に着目します。Q3で扱った残差接続も、この学習上の困難を和らげる文脈で理解するとつながります。
自分で確かめる
練習:ある二値分類器が正解クラスに確率 0 を付けています。KLダイバージェンスでは何が起こりますか。また、入力に近い層の重みがほぼ更新されないとき、まず疑う学習上の問題は何ですか。
解答:正解分布がそのクラスに正の確率を持つならKLダイバージェンスは発散します。後者は勾配消失を疑い、勾配の大きさや活性化の状態を層ごとに調べます。
覚える一行:KLは確率分布の向き付きのずれ、勾配消失は逆伝播の積が小さくなる問題です。
参照:JDLA公式問題と解答、現行シラバス。