これは本当に天才的ですね!パーセプトロンを組み合わせると、ニューラル ネットワークになるのではないでしょうか。

これは本当に天才的ですね!パーセプトロンを組み合わせると、ニューラル ネットワークになるのではないでしょうか。

[[354709]]

みなさんこんにちは。今日もディープラーニングについてお話していきましょう。

クラスメートの何人かは、ディープラーニングモデルを長い間更新していないと言っていました。更新したくないわけではなく、技術的なトピックを一度に書き終えたいというのが主な理由です。しかし、ほとんどの視聴者は純粋に技術的な記事を読みたくないので、私は通常、それらを 2 番目に置きます。しかし、クラスメイトから更新を促されたので、要望に応えて記事を更新します。

ニューラルネットワークとパーセプトロンの違い

その時の記事に写真を掲載しました。この写真は多層パーセプトロンの写真です。見てみてください。下の写真です。

この図は一見すると問題ないように見えますが、よく考えてみると、少し奇妙に思えます。私たちがこれまで見てきたニューラルネットワークの図もこのようなものだったようです。この場合、それらの違いは何でしょうか。

表面上、最も明らかな違いは名前です。これはニューラル ネットワークの図です。まだ 3 つの層があることがわかりましたが、各層の名前は入力層、中間層 (隠れ層)、出力層です。通常、入力層と出力層は別々に名前が付けられ、その間の層は隠し層または中間層と呼ばれます。もちろん、パーセプトロンのように、層に番号で名前を付けることもできます。たとえば、下の図の入力層はレイヤー 0、中間層はレイヤー 1、最後の出力層はレイヤー 2 と呼ばれます。

通常、出力層は有効なニューラル ネットワークとは見なされないため、下の図のネットワークは 3 層ニューラル ネットワークではなく 2 層ニューラル ネットワークと呼ばれます。

名前の違いに加えて、もう 1 つの重要な違いは活性化関数です。これを明確にするために、まずニューラル ネットワークにおける信号伝達について見てみましょう。

信号伝送

下の図は、私が偶然見つけたニューラル ネットワーク ダイアグラムです。最初の入力ノードが 1 に設定されていることがわかります。これはオフセットの導入を容易にするために行われますが、一般的に絵を描くときには意図的にオフセットを描くことはありません。ニューラル ネットワーク内で信号がどのように伝達されるかを確認するために、次の図を例に挙げてみましょう。

まだ終わりではありません。ニューラル ネットワークの各層には、対応する活性化関数があります。一般的に言えば、ネットワークの同じ層内の活性化関数は同じであり、これを h と呼びます。したがって、このノードの最終出力は、先ほど取得したものではなく、 になります。


活性化関数についてはすでによくご存知でしょう。これまでにも何度も紹介してきました。一般的に使用されているのは、おそらく Relu、Sigmoid、tanh、softmax、およびいくつかの派生型です。一般的に、出力層の前に Relu を使用します。モデルが分類モデルの場合は、最後に Sigmoid または softmax を使用します。回帰モデルの場合は、活性化関数は使用されません。

シグモイドについてはすでによく知られています。LR モデルを単層ニューラル ネットワークと見なすと、シグモイドはその活性化関数になります。シグモイドは、バイナリ分類シナリオの単一の出力ノードに適用されます。出力値が 0.5 より大きい場合は true、それ以外の場合は false になります。いくつかの確率予測シナリオでは、出力値はイベントが発生する確率を表すと考えることもできます。

これに対応するのが、多重分類問題で使用されるソフトマックス関数です。使用するノードの数は 1 ではなく、k です。ここで、k はマルチ分類シナリオにおけるカテゴリの数を表します。 k=3 を例にとり、次の図を見てみましょう。

グラフには 3 つのノードがあります。各ノードの式は次のように記述できます。

実際の計算方法は、最後に重みを計算する点を除いて、Sigmoid と同じです。最後に、これらの k 個のノードのうち最大のものを最終的な分類結果として選択します。

コードの実装

最後に、ニューラル ネットワークのコードを書いてみます。ニューラル ネットワークのトレーニング方法はまだ導入していないため、予測部分のみを実装できます。バックプロパゲーション アルゴリズムを紹介した後、モデルのトレーニング プロセスについて説明します。

バックプロパゲーションを無視すれば、アルゴリズム全体のコードは実は非常に単純で、Python 構文に精通している人なら誰でも理解できます。

  1. numpyをnpとしてインポートする
  2.  
  3. 定義 relu(x):
  4. np.where (x > 0, x, 0 )を返す
  5.  
  6.  
  7. シグモイド(x)を定義します:
  8. 1 / (1 + np.exp(-x))を返します
  9.  
  10.  
  11. クラスNeuralNetwork():
  12. __init__(self)を定義します。
  13. 自己パラメータ = {}
  14. 自己.params[ 'W1' ] = np.random.rand(2, 3)
  15. self.params[ 'b1' ] = np.random.rand(1, 3)
  16. 自己.params[ 'W2' ] = np.random.rand(3, 2)
  17. self.params[ 'b2' ] = np.random.rand(1, 2)
  18. 自己.params[ 'W3' ] = np.random.rand(2, 1)
  19. self.params[ 'b3' ] = np.random.rand(1, 1)
  20.         
  21. def forward (self, x):
  22. a1 = np.dot(x, self.params[ 'W1' ]) + self.params[ 'b1' ]
  23. z1 = relu(a1)
  24.          
  25. a2 = np.dot(z1, self.params[ 'W2' ]) + self.params[ 'b2' ]
  26. z2 = relu(a2)
  27.          
  28. a3 = np.dot(z2, self.params[ 'W3' ]) + self.params[ 'b3' ]
  29. np.where (sigmoid(a3) > 0.5, 1, 0 )を返します
  30.      
  31.      
  32. __name__ == "__main__"の場合:
  33. nn = ニューラルネットワーク()
  34. print( nn.forward (np.array([3, 2])))

この記事はWeChatの公開アカウント「TechFlow」から転載したもので、以下のQRコードからフォローできます。この記事を転載する場合は、TechFlow公式アカウントまでご連絡ください。

<<:  5G の商用化が加速しています。これはドローンにとって何を意味するのでしょうか?

>>:  博士号を取得したいですか?機械学習の博士課程5年生と強化学習の博士課程の学生が対決した

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

世界的EDA大手のシノプシスは米国から情報漏洩の疑いで捜査を受けており、ファーウェイとSMICもその渦中に巻き込まれている。

再度調査中! 世界最大の半導体設計ソフトウェア(EDA)サプライヤーであるシノプシスは、中国に重要な...

...

百度の最新アルゴリズム調整対応戦略

Baiduの最新アルゴリズム調整対応戦略、4つの対策でBaiduの最新アルゴリズム調整に対応します。...

...

...

...

「ブラックミラー」が登場!ボストン・ダイナミクスのロボット犬がニューヨーク市警に加わり、街中を飛び回って法を執行する

私たちはサイバーパンクの世界に生きているのでしょうか?最近、「ブラックミラー」のようなシーンが登場し...

AI+医療がさらに一歩前進:免疫療法と精密医療の推進

免疫療法はがんの診断と治療に革命をもたらしていますが、まだ少数の患者(20%~30%)にしか効果があ...

自動運転のための2Dおよび3D視覚認識アルゴリズムについて話す

環境認識は自動運転における最初のリンクであり、車両と環境を結び付けるものです。自動運転システムの全体...

大規模モデルの最大のバグは、正解率がほぼゼロであり、GPTからLlamaまで誰も免れないことです。

GPT-3とLlamaに「AはBである」という単純な知識を教え、​​次にBが何であるかを尋ねました...

自己強化型機械学習プロジェクト 10 選

機械学習プロジェクトは大きな発展の可能性を秘めています。最近、韓国の人気ドラマでもこの用語が使用され...

AIを活用した自動化が成果を上げる:自動化の破壊的イノベーションにより収益成長が1.5倍に増加

新型コロナウイルス感染症のパンデミックによって引き起こされた市場の混乱は、世界中の企業に引き続き重く...

Amazon SageMaker を使用した機械学習モデルのトレーニングとデプロイ

[[248715]] [51CTO.com 速訳] re:Invent 2017 カンファレンスで ...

...

信頼できる AI ソリューション プロバイダー 5 社

人工知能は、機械内で知的な行動や人間のように考える能力をシミュレートすることで、ヘルスケア、自動車、...