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

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

[[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年生と強化学習の博士課程の学生が対決した

ブログ    

推薦する

ロンドンの顔認識で誤った人物が逮捕される:合理的な使用が鍵

顔認識の応用範囲は、アクセス制御やデバイスログインから空港や公共エリアの監視まで、非常に広範囲にわた...

ハーバード大学のロボット魚は、知的に協力し、集団で「泳ぎ」、サイエンス誌の表紙に登場しました。

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

...

強いAIと弱いAIの議論:人工知能の意識に関する興味深い理論

[[344692]]最近、私のお気に入りの新進思想家の一人と高性能 AI と低性能 AI について議...

AIがモノのインターネットをどう変えるのか

AI は、ネットワークとデバイスが過去の決定から学習し、将来のアクティビティを予測し、パフォーマン...

DeepMind: ビッグモデルのもう一つの大きな欠陥は、正しい答えが事前にわかっていなければ推論を自己修正できないことだ。

大規模言語モデルのもう一つの重大な欠陥が DeepMind によって明らかにされました。 LLM は...

...

...

人工知能の世界を探る: インテリジェントな質問応答システムの構築 - 環境

導入前回の記事では、プロジェクトに必要な知識のポイントについて簡単に説明しました。今日は、プロジェク...

Vision Pro を着用せずに買い物に行く人がいるでしょうか? ? ?

頭に貼るビジョンプロは人から人へと広がっています。これがロンドンの街の最新風景です。 「刺激が欲しけ...

人工知能が美女を元の姿に戻す方法

誰もが美を愛しますが、誰もが生まれながらに美しさを持っているわけではないので、さまざまな種類の写真美...

OpenAIがカスタムコマンド機能を開始、会話ごとに好みや情報を繰り返す必要がなくなる

OpenAIは7月21日、カスタム指示機能のリリースを発表しました。この機能はまずPLUSプランのベ...

5G+AI:将来的には1+1>2の効果は得られるのか?

情報産業革命以来、人々の生活は大きく変化しました。それぞれの新しいテクノロジーの出現は、さまざまなレ...

ロボットがすべての仕事を奪ったら、人間はどうなるでしょうか?

[51CTO.com クイック翻訳] 過去1年間、人工知能と自動化技術が人間の雇用と労働市場に与え...

人工知能とは何ですか?

人工知能とは何か人工知能(AI)の誕生以来、その定義と意味合いは議論の的となってきました。文字通り、...