CouseraのDeepAIコース(Week3ビデオ1 "Neural Networks Overview")で説明します。AndrewNgは、ニューラルネットワークの各レイヤーが単なるロジスティック回帰の1つである方法を説明していますが、より正確な方法については説明していません。
それでは、2層ネットワークで、ロジスティックを複数回計算すると、どのように正確になりますか?
CouseraのDeepAIコース(Week3ビデオ1 "Neural Networks Overview")で説明します。AndrewNgは、ニューラルネットワークの各レイヤーが単なるロジスティック回帰の1つである方法を説明していますが、より正確な方法については説明していません。
それでは、2層ネットワークで、ロジスティックを複数回計算すると、どのように正確になりますか?
回答:
ロジスティックアクティベーション関数を使用する場合、各ユニットの入力をその出力に関連付ける関数がロジスティック回帰の場合と同じであることは事実です。しかし、これは実際にロジスティック回帰を実行する各ユニットと同じではありません。違いは、ロジスティック回帰では、出力が特定のターゲット値に最も一致するように、重みとバイアスが選択されることです(ログ/クロスエントロピー損失を使用)。対照的に、ニューラルネットの非表示ユニットは、出力をダウンストリームユニットに送信します。個々の非表示ユニットに一致するターゲット出力はありません。むしろ、重みとバイアスは、ネットワークの最終出力に依存する目的関数を最小化するように選択されます。
ロジスティック回帰を実行するのではなく、各非表示ユニットをいくつかの特徴空間で座標を計算するものと考える方が理にかなっている場合があります。この観点から、非表示層の目的は、その入力を変換することです。入力ベクトルは、非表示層のアクティブ化のベクトルにマッピングされます。これは、各非表示ユニットに対応する次元を持つ特徴空間への入力のマッピングと考えることができます。
出力層は、多くの場合、この機能空間で動作する標準的な学習アルゴリズムと考えることができます。たとえば、分類タスクで、クロスエントロピー損失のあるロジスティック出力単位を使用することは、特徴空間でロジスティック回帰を実行することと同等です(softmax出力を使用する場合は多項ロジスティック回帰)。回帰タスクでは、二乗誤差のある線形出力を使用することは、特徴空間で最小二乗線形回帰を実行することと同等です。
ネットワークのトレーニングは、機能スペースマッピングと分類/回帰関数(機能スペース内)を学習することであり、これらを組み合わせて最高のパフォーマンスを実現します。非線形の非表示ユニットを想定して、非表示レイヤーの幅を増やすか、複数の非表示レイヤーをスタックすると、より複雑な機能空間マッピングが可能になり、より複雑な機能を適合させることができます。
非線形性の力を見る1つの方法は、普遍近似定理に注意することです。
実際にはあまり重要ではありませんが(単層ネットワークの機能に関するものです)、シグモイドの(任意の長い)合計を使用すると、原則として任意の連続関数を任意のレベルに近似できることがわかります。フーリエ理論を知っていたり、ワイエルシュトラスの近似定理を覚えていれば、驚くべきことではありません。
ニューラルネットワークに隠れた層が存在する場合、非線形機能を追加しています。ここで私の答えをチェックして、意味を理解してください。
ニューラルネットワークを非線形分類モデルにするものは何ですか?
特に、ネストされたシグモイド関数は、元の特徴と1つのシグモイド関数の線形変換(ロジスティック回帰)よりも「強力」になります。
OPのコメントに対処するための数値例を次に示します。
標準ロジスティック回帰では、最終層に1つの出力があります。ただし、単一の隠れ層ニューラルネットワークでは、それぞれが異なるロジスティック回帰モデルの出力と考えることができる複数の中間値を持つことができます。つまり、同じロジスティック回帰を何度も実行するわけではありません。その場合、これらの組み合わせが標準的なロジスティック回帰モデルよりも表現力が高い可能性があると考えることは大きなジャンプではありません(また、実践と理論で示されています)。
バイアスです。重みは、目的を最適化するために最適化アルゴリズムによって選択されます。たとえば、分類エラーを最小化します。初期化は、重みの最適化に通常使用される勾配降下アルゴリズムにとって非常に重要です。https://intoli.com/blog/neural-network-initialization/を参照してください。すべての重みが0から始まる場合、ネットワークは学習できません。