OMOGANEYA Technical Academy 〜 重金屋 技術塾 〜

技術アカデミー

【深層学習の基礎|第1章 機械学習と深層学習の基礎】1.2 教師あり学習

教師あり学習では、1つ以上の入力から1つ以上の出力への対応関係をモデルによって表す。

モデルは、入力とパラメータを含む関数として表される。

入力をモデルに与えて出力を計算する処理を推論という。

モデルの数式は、入力と出力の間に存在し得る関係のを表しており、パラメータの値を選ぶことで、その中の特定の関係が定まる。

教師あり学習の基本的な仕組み

教師あり学習では、入力 𝒙\boldsymbol{x} を受け取り、予測 𝒚\boldsymbol{y} を出力するモデルを構築する。

ここでは簡単のため、入力 𝒙\boldsymbol{x} と出力 𝒚\boldsymbol{y} は、いずれもあらかじめ定められた固定長のベクトルであり、それぞれの要素が常に同じ順序で並んでいるものとする。

このように、各データが決められた項目と順序によって構成されるデータは、構造化データまたは表形式データと呼ばれる。

入力 𝒙\boldsymbol{x} から予測 𝒚\boldsymbol{y} を求めるには、𝒙\boldsymbol{x} を受け取り、𝒚\boldsymbol{y} を返すモデル f[]f[\cdot] が必要である。

したがって、モデルによる予測は次式で表される。

𝒚=f[𝒙](1.2-1)\boldsymbol{y} = f[\boldsymbol{x}] \tag{1.2-1}



このように、入力 𝒙\boldsymbol{x} から予測 𝒚\boldsymbol{y} を計算することを推論という。

モデルには、入力のほかにパラメータベクトル 𝝓\boldsymbol{\phi} が含まれている。

パラメータの値を選ぶことによって、モデルが表す関係の族の中から、特定の入出力関係が定まる。

このため、実際のモデルは次式のように表される。

𝒚=f[𝒙,𝝓](1.2-2)\boldsymbol{y} = f[\boldsymbol{x},\boldsymbol{\phi}] \tag{1.2-2}



モデルの学習または訓練とは、入力から妥当な出力を予測できるパラメータ 𝝓\boldsymbol{\phi} を求めることである。

学習には、入力とそれに対応する正解の出力を組み合わせた、I 個の入出力対からなる訓練データセットを用いる。

学習では、それぞれの訓練入力 𝒙i\boldsymbol{x}_i に対するモデルの予測が、対応する訓練出力 𝒚i\boldsymbol{y}_i にできるだけ近づくように、パラメータを調整する。

モデルの予測と正解とのずれは、損失 L によって定量化する。

損失はスカラー値であり、パラメータ 𝝓\boldsymbol{\phi} を用いたモデルが、訓練入力に対応する正解の出力をどの程度誤って予測したかを表す。

訓練データセットを固定すると、損失はパラメータ 𝝓\boldsymbol{\phi} の関数 L[𝝓]L[\boldsymbol{\phi}] として扱うことができる。

モデルを訓練する目的は、この損失関数を最小にするパラメータ 𝝓^\hat{\boldsymbol{\phi}} を求めることである。

𝝓^=arg min𝝓L[𝝓](1.2-3)\hat{\boldsymbol{\phi}} = \underset{\boldsymbol{\phi}}{\operatorname{arg\,min}} \, L[\boldsymbol{\phi}] \tag{1.2-3}



訓練後の損失が小さければ、訓練入力 𝒙i\boldsymbol{x}_i から訓練出力 𝒚i\boldsymbol{y}_i を適切に予測できるパラメータが得られたことを意味する。

ただし、訓練データに対する損失が小さいだけでは、未知のデータに対しても適切な予測ができるとは限らない。

そこで、モデルの訓練に使用していない別のテストデータを用いて性能を評価する。

テストデータに対しても適切な予測ができれば、モデルは訓練時に観測していないデータに対して汎化できていると考えられる。

十分な性能を確認できたモデルは、実際の予測に使用するために配備できる。

線形回帰の例

教師あり学習の基本的な例として、1つの入力 x から1つの出力 y を予測するモデル y=f[x,𝝓]y=f[x,\boldsymbol{\phi}] を考える。

1次元線形回帰モデル

1次元線形回帰モデルは、入力 xx と出力 yy の関係を直線によって表す。

y=f[x,𝝓]=ϕ0+ϕ1x(1.2-4)\begin{aligned} y &= f[x,\boldsymbol{\phi}] \\ &= \phi_0+\phi_1x \end{aligned} \tag{1.2-4}



ここで、ϕ0\phi_0 yy 切片、ϕ1\phi_1 は傾きを表し、このモデルは2つのパラメータからなるベクトル 𝝓=[ϕ0,ϕ1]T\boldsymbol{\phi}=[\phi_0,\phi_1]^{\mathrm{T}} を持つ。

yy 切片 ϕ0\phi_0 と傾き ϕ1\phi_1 の値を変えると、入力と出力の関係を表す直線も変化する。

式(1.2-4)は、入力と出力の関係として考えられる直線の族を定義している。パラメータ 𝝓\boldsymbol{\phi} の値を選ぶことによって、その族の中から1本の直線が定まる。

損失

1次元線形回帰では、訓練データセットは II 個の入出力対から構成される。

モデルを訓練するには、どのパラメータ 𝝓\boldsymbol{\phi} がデータに最も適しているかを判断するための基準が必要である。

そこで、モデルによる予測と正解とのずれを数値によって表す。

この数値が損失であり、損失が小さいほどモデルが訓練データに適合していることを意味する。

入力 xix_i に対するモデルの予測値は f[xi,𝝓]f[x_i,\boldsymbol{\phi}] である。この予測値と正解 yiy_i との差を、予測のずれとして捉える。

1次元線形回帰では、すべての訓練データにおけるずれの二乗和を、次式によって表す。

L[𝝓]=i=1I(f[xi,𝝓]yi)2=i=1I(ϕ0+ϕ1xiyi)2(1.2-5)\begin{aligned} L[\boldsymbol{\phi}] &= \sum_{i=1}^{I} \left( f[x_i,\boldsymbol{\phi}]-y_i \right)^2 \\ &= \sum_{i=1}^{I} \left( \phi_0+\phi_1x_i-y_i \right)^2 \end{aligned} \tag{1.2-5}



偏差を二乗するため、予測した直線がデータ点よりも上にあるか下にあるかにかかわらず、ずれの大きさを正の値として評価できる。

この二乗和を最小にするようにパラメータを求める方法を、最小二乗法という。

損失 L はパラメータ 𝝓\boldsymbol{\phi} の関数である。

モデルと訓練データとの適合が悪い場合には損失が大きくなり、適合が良い場合には損失が小さくなる。

このような関数は、損失関数またはコスト関数と呼ばれる。

したがって、線形回帰モデルの訓練では、次式を満たすパラメータ 𝝓^\hat{\boldsymbol{\phi}} を求める。

𝝓^=arg min𝝓L[𝝓]=arg min𝝓i=1I(f[xi,𝝓]yi)2=arg min𝝓i=1I(ϕ0+ϕ1xiyi)2(1.2-6)\begin{aligned} \hat{\boldsymbol{\phi}} &= \underset{\boldsymbol{\phi}}{\operatorname{arg\,min}} \, L[\boldsymbol{\phi}] \\ &= \underset{\boldsymbol{\phi}}{\operatorname{arg\,min}} \sum_{i=1}^{I} \left( f[x_i,\boldsymbol{\phi}]-y_i \right)^2 \\ &= \underset{\boldsymbol{\phi}}{\operatorname{arg\,min}} \sum_{i=1}^{I} \left( \phi_0+\phi_1x_i-y_i \right)^2 \end{aligned} \tag{1.2-6}



このモデルのパラメータは、yy 切片 ϕ0\phi_0 と傾き ϕ1\phi_1 の2つである。

そのため、さまざまなパラメータの組み合わせに対して損失を計算し、損失関数を曲面として可視化できる。

損失関数の曲面における最小点が、訓練データに最も適合するパラメータに対応する。

訓練

損失を最小にするパラメータを求める処理は、モデル適合モデル訓練またはモデル学習と呼ばれる。

損失を小さくする基本的な方法の一つが、勾配降下法である。

勾配降下法では、最初にパラメータの初期値を定める。その後、損失関数の値が小さくなる方向へパラメータを少しずつ変化させる。

これは、損失関数によって形成される曲面上を、より低い位置へ向かって少しずつ下ることに相当する。

現在の位置における曲面の勾配を求め、その勾配を基に、損失が最も大きく減少する方向へパラメータを更新する。

この操作を繰り返し、勾配がゼロに近づいて、それ以上損失を小さくできなくなる点を目指す。

1次元線形回帰では、損失を最小にするパラメータを閉形式の解として求められるため、必ずしも反復計算を行う必要はない。

閉形式とは、有限回の四則演算や基本的な関数の組み合わせによって、解を明示的に表せる形式を指す。

一方、より複雑なモデルでは、閉形式の解を求められない場合や、パラメータが多すぎてすべての組み合わせに対する損失を計算できない場合がある。

勾配降下法は、このような複雑なモデルのパラメータを求める場合にも利用できる。

テスト

モデルを訓練した後は、訓練に使用していないデータに対して、どの程度適切に機能するかを確認する必要がある。

そのために、訓練データとは別に用意したテストデータセットをモデルへ入力し、予測結果と正解との間の損失を計算する。

モデルが未知のデータに対してどの程度汎化できるかは、訓練データが実際のデータをどの程度適切に表しているかにも左右される。

直線のように単純なモデルでは、入力と出力の本来の関係を十分に捉えられない場合がある。

このように、モデルの表現力が不足しており、訓練データに対しても十分に適合できない状態をアンダーフィッティング(過少適合)という。

一方、表現力の高いモデルが、訓練データに含まれる非典型的な特徴にまで過度に適合すると、訓練データに対する損失は小さくても、未知のデータに対して不適切な予測を行う可能性がある。

この状態をオーバーフィッティング(過適合)という。

識別モデルと生成モデル

ここまで扱ってきた 𝒚=f[𝒙,𝝓]\boldsymbol{y}=f[\boldsymbol{x},\boldsymbol{\phi}] という形式のモデルは、入力 𝒙𝒚\boldsymbol{x} から出力 \boldsymbol{y} を直接予測する。

このようなモデルを識別モデルという。

これに対して、𝒙=g[𝒚,𝝓]\boldsymbol{x}=g[\boldsymbol{y},\boldsymbol{\phi}] のように、出力 𝒚\boldsymbol{y} から実世界の測定値 𝒙\boldsymbol{x} がどのように生成されるかを表すモデルを生成モデルという。

識別モデルは、観測された入力 𝒙\boldsymbol{x} から出力 𝒚\boldsymbol{y} を直接求める。

一方、生成モデルを用いて推論する場合は、観測された 𝒙\boldsymbol{x} が、どのような 𝒚\boldsymbol{y} から生成されたのかを求める必要がある。

しかし、生成の関係を逆方向にたどり、観測値から出力を求める処理は、必ずしも簡単ではない。

生成モデルには、実世界の測定値がどのように生成されたのかという事前知識を、モデルに組み込める利点がある。

ただし、十分な量の訓練データを用いて表現力の高い識別モデルを学習できる場合には、生成モデルに事前知識を組み込むことで得られる利点は、相対的に小さくなることが多い。

そのため、現在の機械学習では、入力から出力への関係を直接学習する識別モデルが広く用いられている。

まとめ

教師あり学習では、入力と正解の出力を組み合わせた訓練データを用いて、入力から出力を予測するモデルのパラメータを学習する。

モデルによる予測と正解とのずれは損失関数によって表され、モデルの訓練では、この損失を小さくするパラメータを求める。

1次元線形回帰は、入力と出力の関係を直線として表す単純なモデルである。そのため、直線では表せない複雑な入出力関係を十分に捉えられない場合がある。

より複雑な関係を表すためには、浅いニューラルネットワークや深層ニューラルネットワークなど、より高い表現力を持つモデルを用いる。

特に深層ニューラルネットワークは、複数の層を組み合わせることによって、複雑な関数を効率よく表現できる場合がある。

ただし、モデルの表現力を高めるだけでは十分ではない。

未知のデータに対して適切に汎化できるかを、訓練データとは別のテストデータによって確認する必要がある。

この記事について

参考文献
・「深層学習を理解する I―教師あり学習とモデルの基礎―」Simon J. D. Prince 著、黒川利明 訳


※本記事は、上記文献を参考にしつつ、筆者の理解に基づき整理したものである。


この記事を書いた企業

企業名
株式会社Lightcone Technology
事業内容
LLMを活用したAIサービスの企画・開発・運営
Web・モバイルアプリケーションの企画・開発・運営
Webサイトの企画・制作
AI基盤技術の研究・開発
URL
https://lc-techno.com/
連絡先
info@lc-techno.com
企業ページを見る
contact

製品・サービスの掲載、掲載情報に関するお問い合わせ、OMOGANEYAを通じた調達・販売・取引支援について、お気軽にご相談ください。