前回「ディープラーニングの基礎」として解説した「パーセプトロン」は、複数の入力を受け取り、1つの出力を返すという非常に単純な構造でした。入力は数値で、出力は0か1のいずれかです。具体的には、複数の入力値に「重み」を掛け算し、足し合わせた値が出力側に送られ、その値によって0を出力するのか1を出力するのかが決まる……というところまで説明しました。

A、Bの入力値にそれぞれ「重み」が掛け算された上で合算され、その合計値がCで判定されて0または1が出力される

ここで「パーセプトロンがたくさん繋がったものがディープラーニングです」と言い切るにはまだ少し説明が足りません。ディープラーニングについてもう少し理解を深めるために、今回は「バイアス」という考え方について説明します。

条件を偏らせる要素「バイアス」

前回紹介した水の例では、出力値を判定するCの条件に「300ml以上ならば1を出力し、300ml未満ならば0を出力する」と設定しました。そのため、Aの重みが1でBの重みが2のとき、Aから150ml、Bから50mlの水が入れられた場合、合計は250mlとなり、0が出力されます。

合計300ml以下なので、0が出力される

前回、ディープラーニングではこの重みの部分を学習するのだと説明しましたが、それを聞いて「Cの条件は固定なのだろうか(学習しないのだろうか)」と疑問に思った方がいるかもしれません。

Cの条件のうち「Cからは、0または1を出力する」という部分は固定ですが、「いつ1を出力して、いつ0を出力するのか」については学習によって調整されます。先の例で言うと、判定の基準になる「300ml」という値が調整されるわけです。この「300ml」にあたる部分を表現するのが「バイアス」です。冒頭の図に「バイアス」を加えてみましょう。

冒頭の図にバイアスのイメージ(「1」と書かれた黄色の丸)を追加

上図の内、「1」と書かれた黄色の丸がバイアスを表しています。バイアスは日本語で「偏り」という意味で、その名の通り、Cの条件を偏らせるために存在しています。水の例で言えば、Cの水の量を調整する要素だと思ってください。

バイアスを導入する場合、Cの条件は「合計値が0以上ならば1、0未満ならば0を出力する」と決まります。これは、学習によって変化しない固定のものです。

もう少し具体的な例で見てみましょう。

この記事は
Members+会員の方のみ御覧いただけます

ログイン/無料会員登録

会員サービスの詳細はこちら