ニューラル ネットワークを構築するには 非線形を学習する まず、おなじみの次のようなモデル構造から始めます。 次の形式の線形モデル $y 分= b + w_1x_1 + w_2x_2 + w_3x_3$ です。
この方程式を視覚化すると以下のようになります。ここで、$x_1$、 $x_2$ と $x_3$ は 3 つの入力ノード(青)、$y'$ は出力ノード (緑色で表示)。
演習 1
上記のモデルでは、重みと バイアス値はランダムに 初期化されます。次のタスクを実行して、 線形モデルを見てみましょう。Google Chat では ここでは [活性化関数] プルダウンは無視します。これについては 後ほど説明します。
ネットワークの上の [再生](▶️)ボタンをクリックすると、 入力値 $x_1 = 1.00$、$x_2 = 2.00$、 x_3 = 3.00 ドルです。
フィールドの 2 番目のノードを 入力層、 2.00 から値 2.50 に変更します。出力ノードの値が変化することに注意してください。出力を選択する ノード(緑色)が表示され、[Calculations] パネルで出力が 値を計算しました。
出力ノード(緑色)をクリックすると、重み($w_1$、$w_2$、$w_3$)が表示されます。 バイアス($b$)パラメータ値次の要素の重みの値を小さくする $w_3$(繰り返しますが、出力ノードの値と以下の計算は あります。次に、バイアス値を増やします。今回の変更が 影響しているかを確認できます
ネットワークへのレイヤの追加
前のステップでネットワークの重みとバイアスの値を調整したときに、 演習 1 は数学的概念全体を変えませんでした 入力と出力の関係です。このモデルはまだ線形モデルですが、
しかし、入力レイヤとネットワークの間にある別のレイヤをネットワークに どうすればよいでしょうか。ニューラル ネットワーク用語では、ニューラル ネットワークの 入力層と出力層のことを、 隠しレイヤ、ノード レイヤで「レイヤ」と呼ばれる ニューロン。
隠れ層の各ニューロンの値は、 線形モデルの出力: 各入力の積の和を取る (前のネットワーク層のニューロン)と一意の重みパラメータ、 バイアスが加わります同様に、次のレイヤ(ここでは出力レイヤ)のニューロンも 隠れ層のニューロン値を入力として使用して計算されます。
この新しい隠れ層により、モデルは別のものを使用して入力データを 使用できます。モデルが非線形関係を学習するのに役立つでしょうか?
演習 2
4 つのニューロンを含む隠れ層をモデルに追加しました。
ネットワークの上の [再生](▶️)ボタンをクリックすると、 4 つの隠れ層ノードと入力値の出力ノードを $x_1 = 1.00$、$x_2 = 2.00$、$x_3 = 3.00$ となります。
次に、モデルを確認し、そのモデルを使用して以下の質問に答えます。
モデル パラメータを変更してみて、 隠れ層のノードの値と出力値が含まれます。詳細については、 下の [計算] パネルで、これらの値が 計算されます)。
このモデルは非線形性を学習できますか?
隠れ層の各ノードをクリックして内容を確認すると、 以下の計算では、いずれも線形関数です。 (乗算と加算の演算が含まれます)。
出力ノードをクリックして計算結果を確認すると 下では、この計算も線形であることがわかります。線形 線形計算の出力に対して実行される計算は、 線形でもあります。つまり、このモデルは非線形性を学習できません。