ニューラルネットワークの学習で精度ではなく損失関数を指標に用いる理由

こんにちは。ゆうせいです。

ディープラーニングや機械学習を学び始めると、モデルの良し悪しを判断する基準として、正解率などの精度と、誤差の大きさを示す損失関数という2つの指標に出会います。完成したモデルを評価する場面では、100問中何問正解したかという精度が広く使われます。それにもかかわらず、モデルの内部数値を調整する学習の段階では、精度を直接の指標とせず、損失関数を指標として用います。

なぜニューラルネットワークの学習において精度を直接の目的に設定できないのか、その背景にある数学的な理由とそれぞれの指標の性質について解説します。

精度と損失関数の定義の違い

精度と損失関数は、それぞれモデルを評価する視点が異なります。

  • 精度(正解率など)用意されたデータ全体のうち、モデルの最終的な判定結果が正解と一致したデータの割合を表す数値です。
  • 損失関数モデルが出力した数値と正解の数値との間に、どれほどのズレが存在するかを連続的な数値として算出する計算式です。

高校の部活動で行われる弓道やアーチェリーに置き換えて考えてみます。的の中心に当たれば1点、外れれば0点として、放った矢のうち何本が的に当たったかを集計した的中率が精度に相当します。それに対して、矢が的の中心から何センチメートル離れた位置に刺さったのかという距離を測る行為が損失関数の計算に相当します。

的中率という精度は、矢が的の端にぎりぎり当たっても、中心を射抜いても同じ1点として扱われます。また、的のすぐ外側に外れた惜しい失敗も、的から大きく外れた失敗も、同じ0点として記録されます。

学習指標に精度を用いられない数学的な理由

ニューラルネットワークの学習は、モデル内部の無数のパラメータを少しずつ変化させ、出力結果を正解へ近づけていく最適化処理です。この調整を行うために、勾配降下法と呼ばれる手法が用いられます。勾配降下法を成立させるためには、数式の微分計算が可能である必要があります。

微分係数が0になる問題

精度を指標とした場合、パラメータをわずかに動かしても、最終的な分類の判定結果が入れ替わらない限り、精度の数値はまったく変化しません。

100問のテストで80問正解している状態を想定します。モデルのパラメータをほんの少しだけ正解の方向へ調整しても、正解数は80問のまま変わらず、精度も80パーセントのままです。ある境界線を越えて81問目に正解した瞬間にのみ、精度は突然81パーセントへと飛び跳ねます。

このように値が階段状に変化する関数を微分すると、値が一定である平らな区間では傾き(微分係数)が常に0になります。傾きが0になると、パラメータをどの方向へどれだけ修正すればよいのかという情報が消失するため、勾配降下法によるパラメータの更新が完全に停止します。

損失関数が持つ連続性と滑らかさ

損失関数は、モデルが出力する確率値や誤差の大きさを連続的な数値として捉えます。

弓道の例に戻ると、矢が的から外れた場合でも、中心からの距離が50センチメートルから48センチメートルへ縮まれば、その前進が数値の変化として即座に反映されます。ニューラルネットワークの出力層で算出される予測確率が0.2から0.3へ上昇した際、正解判定には至らなくても損失関数の値は確実に小さくなります。

損失関数の値は滑らかな曲線を描いて連続的に変化するため、数学的に微分することが可能です。傾きの方向と急峻さを計算で求めることができるため、モデルは正解へ向かう正しい調整手順を把握できます。

精度と損失関数の比較

精度の利点と留意点

  • 利点:正解した割合がパーセンテージで直感的に把握できるため、人間がモデルの完成度を最終判断する指標として適しています。
  • 留意点:数値の変化が階段状であり微分の傾きがほぼ全域で0となるため、勾配を利用して数値を微調整するアルゴリズムの指標には適用できません。

損失関数の利点と留意点

  • 利点:パラメータの微小な変化に対して滑らかに数値が変動し、明確な傾きが得られるため、微分の連鎖律を用いた逆伝播による自動学習が可能になります。
  • 留意点:数値の大きさ自体が問題の複雑さやデータの定義に依存するため、算出された値そのものから人間の直感でモデルの性能水準を把握することが難しくなります。

まとめ

ニューラルネットワークの学習において精度ではなく損失関数を用いる理由は、パラメータ調整に不可欠な微分の傾きを連続的に確保するためです。精度は人間にとって分かりやすい最終評価として扱い、損失関数は計算機が学習を進めるための精密な方位磁針として使い分けられています。

ニューラルネットワークの最適化に関する理解を深めるための学習順序を提示します。

  1. ステップ関数とシグモイド関数の微分特性の比較0か1かを不連続に出力するステップ関数と、滑らかな曲線を出力するシグモイド関数のグラフ形状を描き、各地点における傾きの存在を確認します。
  2. 平均二乗誤差と交差エントロピー誤差の数式展開回帰問題と分類問題でそれぞれ使われる代表的な損失関数を取り上げ、予測値の変化に対して誤差の値がどのように連続的に減少するかを計算します。
  3. 勾配降下法によるパラメータ更新シミュレーション単純な2次関数の窪みに向かって、導関数の傾き情報と学習率を用いて現在地を少しずつ更新していく計算過程を追跡します。

セイ・コンサルティング・グループでは新人エンジニア研修のアシスタント講師を募集しています。

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
海外放浪の末、2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。