1. 概要

このチュートリアルでは、ニューラルネットワークのアーキテクチャにバイアス項を含める理論的な理由を研究します。

まず、バイアスを支持するいくつかの一般的な正当化について見ていきます。 次に、モデルに含めることについて、理論的には有効であるが一般的ではない正当化についても検討します。

そのためには、まず、バイアスという言葉の常識的な意味を見ていきます。 これにより、バイアスの概念をニューラルネットワークのバイアス項に一般化できます。

次に、単層ニューラルネットワークとディープニューラルネットワークの一般的なアーキテクチャについて説明します。 そうすることで、バイアスが存在する場合、それが各ネットワークに固有のスカラーまたはベクトルであることを示します。 これは最終的に、決定面とアフィン空間の観点からバイアスを正当化する方向に私たちを促します。

この記事の終わりに、バイアス項がニューラルネットワークに追加される理由を理解します。 しかし、さらに重要なこととして、バイアスのないニューラルネットワークが予測エラーを保証した場所を正確に学習します。

2. 人間のバイアスと測定

2.1. その常識的な意味でのバイアス

ここでは、一般的な意味でのバイアスの概念を最初に見ていきます。 次に、より具体的には、機械学習のコンテキストでそれを研究します。 実際、バイアスの一般的な意味は、ニューラルネットワーク活性化関数にバイアスを含める理由に関連しています。これについては後で説明します。

バイアス、およびエラーと予測との関係は、実際には、機械学習だけでなく、統計分析の分野全体を特徴付ける問題です。

その一般的な意味では、バイアスは通常、特定の現象の周りで実行される予測または測定の系統的エラーを示す単語です。 たとえば、反対の証拠に関係なく、ある人がそれを支持する場合、その人はその考えに偏っていると言います。 また、一部のプレーヤーが他のプレーヤーに対して不当な優位性を持っている場合、ゲームは偏っていると言います。

これは、バイアスは状況の状況に関係なく常に発生するものであることを直感的に示しています

2.2. 測定理論におけるバイアス

測定理論のコンテキストでは、バイアスはいわゆる真の値に関連しています。真の値は、完璧な精度の機器。 言うまでもなく、完全な精度を備えた実際の機器はありませんが、その概念はまだ存在しています。

したがって、測定値の一部は真であるのに対し、他の正当に取得された値は真ではないことが想像できます。 そうすると、一部の機器がその真の値に対して誤った測定値を体系的に報告していることに気付くことができます。

これに気付いた場合は、このエラーを考慮して機器を再校正できます。 そうすることで、最終的に測定値の真の値のみを取得できます。

興味深いことに、このキャリブレーションのプロセスは、ニューラルシナプスでも発生し、通常は学習と呼ばれるものを構成します。

したがって、この考え方に従うと、次のことに気付くことができます。

  • 与えられた値を測定の期待される結果として優先的に定義しない限り
  • その値を「真」と呼ばない限り

したがって、エラーはまったく発生しません。 その場合、測定値とそれらによって返される値がそのまま残されます。

ただし、真の値がある場合は、特定の測定値がそれらに対してエラーを体系的に返す可能性があります。 この系統的誤差は、測定理論のバイアスの定義に対応します。

2.3. バイアスと予測

このアイデアを見る別の方法は、予測のエラーとしてバイアスをフレーム化することです。 その文脈では、真の値は、いくつかの観察を行うことによって得られると予測される測定値です。 対照的に、バイアスは、経験的観測に対して予測がどの程度ずれているかを示します。

測定または予測における系統的誤差としてのバイアスの2つの定義は同等です。 ただし、後者はニューラルネットワークのコンテキストでより適しています。 実際、ニューラルネットワークは、受け取る入力の関数としてを予測し、このフレームワークでバイアスを調べることができます。

ただし、今のところ、さまざまなコンテキストでの測定と予測の例をいくつか取り上げることで、このアイデアに慣れることができます。 これを行っている間、いくつかのエラーを体系的に定義し、その後修正する方法を強調します。

2.4. スカラーの体系的なエラーと修正

たとえば、クラスの一部の生徒の身長を推測することを想像できます。 私たち自身は特に背が高いので、生徒の身長を10センチほど過小評価する傾向があります。これは、生徒全員が同じように背が低いように見えるためです。 この場合、個人は実際よりも短いという考えに偏っていると言えます。

この偏見は、10センチメートルの尺度で定量化することができます。 私たちはこの偏見を持っていることがわかっているので、誰かの身長に本能的に割り当てる特定の数値に10を加えることで、その測定値を修正できます。

このシナリオでは、生徒の身長に本能的な値を割り当てるために使用する決定関数は、10センチメートル偏っていると言えます。 したがって、本能的に割り当てる直感的な高さに10を追加することで、その高さの真の値を計算できます。

より正式には、ifは特定の学生の身長を推測する関数を示し、はその学生の実際の身長であるため、予測は体系的に10センチメートルずれていると言えます。 問題を表現するこの方法は、後で説明するように、ニューラルネットワークのバイアスの数学的定式化に特によく対応しています。

2.5. 分類における体系的なエラーと修正

序数カテゴリ変数分類のコンテキストで別の例を作成できます。 実際、測定における系統的誤差の問題は、数値やスカラーだけでなく、カテゴリ値にも関係しており、それらについても同様に扱うことができます。

この2番目の例では、以前と同じ学生が学校の学位も持っていると想像できます。これは、次の4つの値のいずれかを想定できます。 私たち自身は中学校を修了していなかったため、人の一般的な教育レベルを過大評価する傾向があります。

このレベルを過大評価する傾向があることを認識しているため、本能的な予測をすべて前例のレベルにシフトすることで、エラーを修正できます。

この文脈では、順序変数への値の割り当てにバイアスがかかっていたと言えます。 このバイアスを修正するために、生徒の教育に割り当てる自発的な値を一定のステップでシフトすることにより、本能的な推測を補正しました。

2.4. 予測における系統的エラーとしてのバイアス

次に、モデルのバイアスの定義とそれを修正する方法を定式化するために、上記で行った考慮事項を一般化できます。これは、ニューラルネットワークによく変換されます。 上記の例は、エラーが体系的に発生した場合、その予測可能な性質を利用して、それを補正できることを示しています。 その結果、そのエラー、つまりバイアスがまったく存在しなかったかのように、正確な予測を実行できます。

これは、実行されたエラーのタイプに関係なく、特にエラーの原因となる変数の性質に関係ありません。 ここでのキーワードは、エラーは「体系的」でなければならないということです。 このエラーが体系的である場合は、それを「バイアス」と呼び、true測定値を取得するために修正できます。

同じことが予測にも当てはまります。 予測が一定の安定した量だけ一貫してずれている場合は、その量のバイアスを呼び出して、モデルでそれを説明できると言えます。 後者は、前に見たように、これらのモデルが回帰または分類に関連するかどうかに関係なく有効であり、統計分析のすべてのタスクに一般的に有効です。

体系的なエラーの概念に精通していることが重要です。これは、体系的なエラーを計算で処理する方法が知られているためです。 したがって、ニューラルネットワークのバイアスを処理する方法を確認し、線形代数と数値解析のより広い原理からニューラルネットワークのアーキテクチャにバイアスを含めることを正当化する方法について説明します。

3. ニューラルネットワークのバイアス

3.1. ニューラルネットワークと線形関数

最初に単層ニューラルネットワークに取り組み、次にディープニューラルネットワークに一般化することから、ニューラルネットワークとそのバイアスについての説明を開始します。

任意の単層ニューラルネットワークが何らかの関数を計算することはわかっています。ここで、とはそれぞれ、独立したコンポーネントを含む入力ベクトルと出力ベクトルです。 ニューラルネットワークに重みの行列がある場合は、上記の関数をとして書き直すこともできます。 との両方に次元がある場合、2次元プロットで関数をさらに表すことができます。

このような縮退したニューラルネットワークは非常に単純ですが、それでも形式の線形関数を近似できます。 この関数は、定数項を含めずに、との間の積を示すことができますが、必ずしもそうする必要はありません。 この場合、ニューラルネットワークは、原点を通過するすべての関数を近似できますが、他の関数は近似できません。

ただし、関数に定数項が含まれている場合、の場合、ニューラルネットワークは平面内の任意の線形関数を近似できます。

縮退したニューラルネットワークの動作に関するこの直感的な理解から始めて、より複雑なネットワークアーキテクチャに拡張することができます。

3.2. ネットワークへのバイアスの追加

この時点で、前のセクションで行った考慮事項をこのおもちゃのニューラルネットワークに適用できます。 そうすれば、ネットワークによって実行される予測に体系的なエラーがある場合、このエラーを呼び出してネットワークの出力に追加し、真の値を取得できると推測できます。

キャリブレーションされたネットワークは、次の形式の関数を計算します。 この関数は、前のセクションの用語を使用するために、ネットワークのすべての直感的な予測で構成され、定数によって単純にシフトされます。 この定数はバイアスであり、その体系的な予測誤差に対応します。

次に、関数を計算するように、ネットワークにもう1つの入力を追加しましょう。 2つの入力は線形独立コンポーネントを参照する必要があるため、とを呼び出すことができる独自の自律バイアスがあることを想像できます。

そうすれば、を計算することによって、これら2つの独立したバイアスによってネットワークの予測を修正することを想像できます。 問題は次のようになります。このニューラルネットワークには2つのバイアスがありますか

3.3. レイヤーごとに1つのバイアスしかありません

より一般的には、単層ニューラルネットワークのバイアスが一意であるかどうかを示すことに関心があります。 これは次のように実行できます。

まず、すべての独立した機能とそれに関連するすべての体系的なエラーについて、上記のプロセスを繰り返します。 そうすれば、入力と重み行列を備えた単層ニューラルネットワークが実際に関数を計算していると想像できます。

スカラーの線形結合もスカラーであるため、各独立入力に関連付けられているすべてのバイアス項をそれらの線形結合に置き換えて、式を。として書き直すことができます。 この議論は、与えられたニューラルネットワークの層のバイアスが一意のスカラーであることを示しています。 これで、この考慮事項を1より大きい層の数を持つニューラルネットワークに一般化できます。

3.4. バイアスのベクトルは1つだけです

ここで、層を持つニューラルネットワークの層の活性化関数と、層の活性化関数への入力を呼び出しましょう。 そうすれば、ニューラルネットワークが関数を計算していると言えます。

また、ニューラルネットワークのすべての層のすべてのバイアスを含むベクトルを呼び出しましょう。 は、すべて一意のコンポーネントで構成されているため、一意です。

ここで、線形単位、、または双極シグモイドの場合のように、活性化関数が奇数の場合、ニューラルネットワークは非ヌルのバイアスベクトルを持っている必要があります。そうでない場合、従属変数はゼロに近づきます

この考慮事項は、標準化された入力と平均を使用する場合に特に重要です。 その場合、ゼロ以外のバイアスベクトルを含めないと、ニューラルネットワークのパフォーマンスが低下することが予想されます。

ネットワークの活性化関数が奇数でない限り、また近似されている関数が特徴空間の部分空間でない限り、ニューラルネットワークのアーキテクチャにゼロ以外のバイアスベクトルを含めることが重要です。

3.5. 活性化関数にバイアスがかかっている場合はどうなりますか?

上記の状況は、 LaTeX でのネットワークの描画に関するチュートリアルで表すものなど、ニューラルネットワークのいくつかのクラスによく関連しています。 ただし、ニューロンの出力ではなく、バイアスがかかっているのが各ニューロンの活性化関数である場合はどうなりますか

この問題は、使用する活性化関数が線形または準線形である場合に特に重要です。 その場合、実際には、ニューロンの入力が特定の値を想定している場合、ニューロンは頻繁に非アクティブになる可能性があります。 たとえば、ReLU関数を考えてみましょう。

関数の定義域の一部にいる場合、いわゆる勾配消失問題の影響を受けます。 ただし、ReLU関数への独立した入力として機能するバイアス項を含めることもできます。 これにより、以下を変更するだけで、アクティベーション関数を左と右にシフトできます

このように、バイアスの小さな値でさえ、誤差関数の導関数を非ゼロに初期化するのに十分です。 これにより、入力がゼロの場合でもバックプロパゲーションを実行できます。 したがって、入力がゼロの場合でも特定のニューロンがアクティブである必要があると考える理由がある場合は、バイアスを導入することをお勧めします

3.6. 他の活性化関数を使用

構造や活性化関数に関係なく、ニューラルネットワークの活性化関数にバイアス項を導入することには、実証済みの利点があります。 たとえば、小さなバイアスを導入すると、さまざまな一般的な機械学習タスクでリカレントニューラルネットワークのパフォーマンスが向上することが証明されています。 ただし、活性化関数が変わってもメリットは持続します。

BERTで機能する最近のGeLUなど、線形ユニットのさらに複雑な形式は、ゼロ以外のバイアス項の恩恵を受けることができます。 たとえば、が正規分布にマッピングされるように標準化した場合、観測値の周囲の値は-3よりも小さいと予想されます。 その場合、これらの値の対応する値はゼロに非常に近い可能性があります。

これにより、モデルはこれらの観測でトレーニングできなくなります。 もちろん、データセット全体での観測の発生率は大きくありません。 ただし、トレーニングにまったく貢献しないことを事前に予測できる場合は、特定の観測値を使用することは正当化されません。 ただし、活性化関数を少しシフトすると、-3付近の観測値が再びトレーニングに貢献します。

これは、活性化関数の導関数が再び非nullになるためです。 したがって、原則として、活性化関数の入力にバイアス項を追加することは良い習慣です。これは、モデルのトレーニングに必要な計算時間のわずかな増加を正当化するものです。

4. バイアスを含めるための理論的理由

4.1. バイアスの主な議論

これで、上記の考慮事項を要約できます。 これにより、ニューラルネットワークにnull以外のバイアスを含める必要がある条件を一覧表示できます。 これまで見てきたことは、ニューラルネットワークが次の場合にゼロ以外のバイアスベクトルを必要とすることを示唆しています。

  • 偏りのないニューラルネットワークによって実行される予測に系統的なエラーがあります
  • ネットワークへのヌル入力は、同じネットワークの非ヌル出力を意味します
  • ニューラルネットワークの決定面は、ネットワーク空間のサブスペースではありません

ここで、この最後の点をさらに詳しく見ていきましょう。 これにより、ニューラルネットワークにバイアスを追加する理由がさらに1つ提供されます。

上記のセクションで、ターゲット関数がネットワークの空間の部分空間である場合に何が起こるかについて簡単に説明しました。 その場合、活性化関数がすべて奇数の場合、バイアスは必要ないと言いました。 ここで、そのネットワークの決定面の観点から、なぜこれが当てはまるのかを見てみましょう。

4.2. バイアスの代数的正当化

ニューラルネットワークが形式の関数を計算している場合、ネットワークが動作する次元のベクトル空間を定義できます。 ニューラルネットワークのベクトル空間と呼びましょう。 この場合、関数はのサブセットであることが保証されますが、線形部分空間であることが保証されません。

の線形部分空間であるためには、ゼロベクトルを含める必要があります。 これが発生した場合は、。 これは、バイアスがゼロの関数が近似できる唯一の関数であることを保証するものではありません; ただし、少なくとも1つのそのような関数が存在することを保証します

逆に、関数がの部分空間ではなく、のアフィン超平面に対応する可能性もあります。 この場合、ゼロ以外のバイアスベクトルをに含める必要があります。 それ以外の場合、ニューラルネットワークは、入力がゼロになる傾向があるため、近似されている関数から分岐することが保証されます。

これを見る別の方法は、ニューラルネットワークの決定面を想像することです。 次に、近似されているターゲット関数との関係を自問することができます。 この関数は、そのネットワークのベクトル空間のベクトルまたはアフィン超平面のいずれかで構成できます。 関数がベクトル空間ではなくアフィン空間で構成されている場合は、バイアスベクトルが必要です。

これを含めなかった場合、その決定面のゼロ付近のすべてのポイントは、一定の誤差でずれます。 これは、次に、翻訳によって修正できるその決定の系統的エラーに対応します。

次に、決定面を定数値で変換し、その値を bias と呼ぶことができます。そうすることで、ゼロ付近のターゲット関数。

5. 結論

この記事では、測定、予測、ニューラルネットワークにおけるバイアスの正式な定義について学習しました。 また、単層および深層ニューラルネットワークでバイアスを定義する方法も確認しました。 その定義に基づいて、ニューラルネットワークのバイアスベクトルの一意性を示しました。

また、ニューラルネットワークにバイアスが含まれる最も一般的な理論的理由をリストしました。 これに加えて、線形代数の枠組みの下で彼らに有利な、より珍しい議論も研究しました。