本文へ移動

G検定(ジェネラリスト検定)

せんけいかんすう

線形関数

Linear Function

深層学習で線形関数と言うときは、入力のそれぞれに重みを掛けて足し合わせ、バイアスを加えて出力を得る関数を指します。効率よく学習できる一方で、2つの入力の相互作用を表せないという限界があります。

詳しい説明

深層学習で線形関数と呼ぶ形

深層学習の文脈で線形関数と言うときは、入力の線形結合にバイアスを加えた関数を指すことがほとんどです。線形結合とは、入力の値それぞれに重みと呼ぶ数を掛け、その積をすべて足し合わせる計算です。この和にバイアスと呼ぶ定数を1つ加えたものが出力になります。入力が 個あるときの式は次のとおりです。

から が入力、 から がそれぞれの入力に対応する重み、 がバイアス、 が出力です。入力はデータから与えられる値で、重みとバイアスは学習によって決まる値です。

2入力の線形関数での計算例

入力が2つの場合で出力を計算します。入力を 、、重みを 、、バイアスを とします。どれも説明のために決めた架空の値です。

入力に重みを掛けた値は1.2と で、その合計0.2にバイアス1.5を足すと出力は1.7になります。

重みの値から読み取れること

式の形から、入力を1つだけ1増やしたときの出力の変化は、その入力の重みと等しくなります。上の例で を3から4に増やすと、出力は0.4増えて2.1になります。 を5から6に増やすと、出力は0.2減って1.5になります。重みが正の入力は増えるほど出力を増やし、重みが負の入力は増えるほど出力を減らします。重みの絶対値が大きい入力ほど、出力を動かす幅も大きくなります。

この変化の幅は、ほかの入力がいくつであっても変わりません。 が5でも100でも、 を1増やせば出力は必ず0.4増えます。この性質が、次の節で説明する線形関数の限界につながります。

線形モデルの利点と限界

出力を入力の線形関数で表すモデルを線形モデルと呼びます。イアン・グッドフェロー(Ian Goodfellow)、ヨシュア・ベンジオ(Yoshua Bengio)、アーロン・クールヴィル(Aaron Courville)による教科書『Deep Learning』(2016年)の第6章は、線形モデルの長所として、効率よく確実に学習できることを挙げています。同じ章は欠点として、モデルの表現力が線形関数の範囲に限られるので、どの2つの入力変数の相互作用も捉えられないことを指摘しています。

相互作用とは、ある入力が出力に与える影響の大きさが、別の入力の値によって変わる関係のことです。前の節で見たとおり、線形関数では1つの入力が出力に与える影響は重みだけで決まり、ほかの入力の値では変わりません。そのため線形関数には相互作用を表す手段がありません。

入力の積を線形関数で表せないことを数値で確かめる

相互作用のいちばん単純な例は、2つの入力の積 です。この関係では、 を1増やしたときの出力の変化が の値と等しくなり、 によって影響の大きさが変わります。入力が0か1の4つの点で、この関係に線形関数を当てはめられるかを調べます。

求めたい出力は、 のとき0、 のとき0、 のとき0、 のとき1です。線形関数 に4つの点を順に代入します。

を代入すると となるので、出力0に合わせるには が必要です。

を代入すると となるので、 が必要です。

を代入すると となるので、 が必要です。

最初の3点で、重みとバイアスはすべて0に決まりました。この値で の出力を計算すると となり、求めたい出力の1と一致しません。3点に合わせた時点で重みとバイアスが1通りに決まり、その値では残りの1点が外れるので、4点すべてを満たす線形関数はありません。

限界を補う考え方

同じ教科書の第6章は、この欠点を補う方法として、入力 をそのまま使わずに非線形な変換 を通し、変換後の値に線形モデルを当てはめる方法を挙げています。

上の4点で考えると、入力の積 を3つめの入力 として加えれば、重みを 、、、バイアスを とした線形関数 で4点すべての出力を再現できます。 では なので出力は1、残りの3点では なので出力は0です。式は入力について線形のままで、積という非線形な関係は入力の変換の側が受け持っています。

試験で問われること

G検定

  • 深層学習でいう線形関数は、入力それぞれに重みを掛けて足し合わせ、バイアスを加えて出力を得る関数です。
  • 入力を1つだけ1増やしたときの出力の変化はその入力の重みと等しく、ほかの入力の値によって変わりません。
  • 線形モデルは効率よく学習できる一方で、表現力が線形関数に限られるので、2つの入力の積のような相互作用を表せません。
  • 入力に非線形な変換を施してから線形モデルを当てはめると、線形関数だけでは表せない関係を扱えるようになります。

最終更新日: 2026/09/23