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

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

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

ブログ    
ブログ    
ブログ    

推薦する

リアルタイムの高忠実度レンダリング、PlenOctrees に基づく NeRF レンダリング速度が 3000 倍に向上

[[393143]]まばらな静止画像から任意の 3D オブジェクトとシーンの新しいビューを合成するこ...

液体ロボットはマーケティングの策略か、それとも自動化の未来か?

液体ロボットのコンセプトは、ロボット工学と自動化をいくつかの点で変えることが期待されています。その ...

...

スーパーマリオをプレイする3本の機械指がサイエンス誌に掲載された

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

本当に良いものです!機械学習技術と市場の最強評価ガイド

【51CTO.comオリジナル記事】機械学習の特許は、2013 年から 2017 年の間に 34% ...

AIが初めて量子レベルで物質を記述!自然:化学分野で最も価値のある技術の一つ

[[440047]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...

米裁判所、人工知能コンピューターは発明を特許できないと判決

[[421713]]人工知能(AI)がその発明に対して特許を申請できるかどうかに関して、米国連邦政府...

...

メディア分野における人工知能の革新は期待に値する

過去 30 年間にわたり、この種のイノベーションの歴史に残る例は数多くありました。ウェブサイト上のメ...

2024年以降に注目すべき10のジェネレーティブAIトレンド

第 4 次産業革命の時代を迎え、人工知能 (AI) は急速に進歩し続けており、生成型 AI がイノベ...

...

学覇君主任科学者陳瑞峰:テクノロジーを活用して知識のサイロ化を減らし、教育の効率化を実現する

[51CTO.comからのオリジナル記事] 学習圧力が高く、教育資源の配分が不均衡な中国の教育システ...

李開復氏、ペントランド氏と会談:AIはワンマンショーではない、AI冷戦は避けるべき

最近、Sinovation Venturesの会長兼CEOであるKai-Fu Lee博士とAlex ...

スタンフォード大学の64歳の学長が辞任!学術不正スキャンダルが勃発、95ページの調査報告書が公表

今日、衝撃的なニュースが突然飛び込んできました。スタンフォード大学のマーク・テシエ・ラヴィーンの学長...