ホーム第11章: AIと機械学習の計算モデル
第11章 1節

ルールベースから『学習』へのアプローチ

コンピュータにタスクを実行させるために、これまでは人間がアルゴリズム(明示的な処理手順)をすべて記述してきました。しかし、画像認識や自然言語理解のように「ルールを言葉で定義しきれない問題」に対して、コンピュータ自身がデータから規則性を発見する「機械学習」の考え方と、その最適化を支える「勾配降下法」の数学的アプローチを解説します。

1. 明示的な記述からデータの「学習」への転換

従来のプログラミングはルールベースアプローチと呼ばれます。人間が「猫の画像とは、耳が三角形で、ヒゲがあり……」とルール(条件分岐)を定義し、コンピュータはその指示に従って判定します。しかし、角度や照明、毛並みのバリエーションが無限にあるため、このアプローチは破綻します。

これに対し、機械学習(Machine Learning)アプローチでは、人間は具体的な判定ルールを書きません。代わりに、大量のデータ(例:猫の画像と犬の画像のペア)と、数式モデル(パラメータを含む関数)をコンピュータに与えます。コンピュータは、「正解と予測値がどれだけズレているか」を計算し、そのズレが最小になるように関数の「重み(パラメータ)」を自動で調整していきます。これが「学習(Training)」の定義です。

2. 予測モデルと目的関数(Loss Function)

機械学習モデルは、入力データ $x$ に対して予測値 $y$ を出力する関数 $f(x; W)$ と考えることができます。ここで $W$ は、関数の性質を決めるパラメータ(重み)です。

モデルの予測の悪さを測る指標を目的関数(または損失関数: Loss Function)と呼びます。 例えば、代表的な目的関数である二乗誤差(Squared Error)は次のように定義されます。

Loss = 1/2 * (予測値 - 正解値)²

予測値が正解値に近づくほど、損失(Loss)の値は $0$ に近づきます。機械学習の目標は、この目的関数の出力を限りなく $0$ に近づける最適なパラメータ $W$ の値を探索することに集約されます。

3. 勾配降下法(Gradient Descent)のアルゴリズム

無数のパラメータの組み合わせの中から、損失を最小にする値を手探りで効率よく見つけ出す数学的手法が勾配降下法です。

目的関数の形状を山と谷がある地形に見立てます。現在のパラメータの位置において、目的関数をパラメータで微分した値(=傾き・勾配)を計算します。 この傾きは「山を登る方向」を指し示すため、その逆方向(マイナス方向)に向けてパラメータの値を一歩進めることで、最も低い谷底(損失の最小値)へ下ることができます。

パラメータ W 損失 (Loss) 現在値 勾配の逆方向へ更新 最小値(目標)
図 11-1:勾配降下法によるパラメータ $W$ の最適化プロセス概念図

具体的な数式での更新は次のように表されます(η は1歩の大きさを決める学習率)。

W ➔ W - η * (∂Loss / ∂W)

偏微分(∂Loss / ∂W)を求めることで、数万〜数十億のパラメータがあっても、各パラメータを「少し増やすべきか、減らすべきか」を一度に計算し、最適化を進めることができます。

次節では、この予測モデル $f(x; W)$ の最も強力な構成単位である「人工ニューロン」の計算式と、それを効率的に実装するためのデータ表現である「テンソル演算」について学びます。