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

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

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

ブログ    
ブログ    
ブログ    

推薦する

...

...

...

形状精度の高い 3D 認識画像合成のためのシェーディング ガイド付き生成暗黙モデル

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

機械学習の問題を解決する一般的な方法があります!この記事を1つだけ読んでみてください!

[[205485]]アビシェーク・タクル編集者: Cathy、Huang Wenchang、Jia...

...

日常生活における人工知能の12の例

以下の記事では、私たちの日常生活に登場する人工知能の12の例を確認することができます。人工知能 (A...

生体認証監視がデータセンターの物理的セキュリティを強化する方法

生体認証監視を使用してデータセンター全体または一部へのアクセスを制御することには多くの利点があります...

データマイニングの分野でトップ 10 の古典的なアルゴリズムの 1 つ - K-Means アルゴリズム (コード付きで非常に詳細)

k-means アルゴリズムは比較的単純です。 k-means アルゴリズムでは、クラスターはクラ...

ドローンは諸刃の剣でしょうか?それでは5Gを追加した後をご覧ください!

「ドローンは諸刃の剣だ」とよく言われます。なぜなら、一方ではドローンの大きな応用価値が私たちの生産...

競争が激化する中、ドローン配達の時代はいつ来るのでしょうか?

現在、電子商取引の発展が継続的に加速する中、物流と配送のプレッシャーは高まり続けており、ドローンは業...

音声認識を開発する方法

ディープラーニング技術を用いた自然言語の深い理解は、常に注目されてきました。自分で音楽を調べる必要が...

暗号化アルゴリズムの鍵交換は少し安全ではない

今日は対称暗号化アルゴリズムの重要な問題についてお話ししましょう。暗号化の基本的な概念に精通していな...

Daguan 推奨アルゴリズムの実装: 協調フィルタリングのアイテム埋め込み

レコメンデーションシステムの本質は、ユーザーのニーズが不明確な場合の情報過多の問題を解決し、ユーザー...