複数の層からなるネットワークを、 グラフで簡潔に表す
【 複数の層からなるネットワークを、グラフで簡潔に表す 】
このセッションでは、前回見たニューラル・ネットワークの状態の行ベクトル表示 Y=XW+b をベースに、新しいグラフによるネットワークの新しい表示を紹介します。
まずは、「複数のニューロンからなる一つの層」の新しいグラフ表示を考えてみましょう。
これまでは、ニューラル・ネットワークの表示は、ニューロンをノードとし、ニューロンとニューロンの接続を直線で表してきました。新しい表示では、φ( X・W + b ) といった式そのものを、グラフで表すことにします。
このグラフのノードはもはやニューロンではありません。ノードはこのニューラル・ネットワークの振る舞いを決めている、XやWやb と言った量を表しているか、あるいは、ノードへの入力をノードの出力に変える「計算」を表しています。
この新しいグラフの辺は、もはやニューロンとニューロンの接続を表していません。辺は、ノードからノードへのデータの流れを表しています。
そうすると面白いことが起きます。
「複数のニューロンからなる一つの層」の振る舞い(層への入力を層からの出力に変える)は、φ( X・W + b ) という一つの式で表現されますので、その式そのものをグラフにした新しいグラフもその形は一つしかありません。
「一つの層」のネットワークを表現する、この一つしかないグラフの形は、「複数の層」からなるネットワークを表現する際に、基本的なブロックの役割を果たします。
【 複数の層からなるFull Connectなネットワークを表現する 】
複数のニューロンからなる層が複数存在するネットワークは、無数に存在します。ただ、その中でも最も基本的なパターンは、「複数の層からなるネットワークで、向かい合った層のノードがすべて接続されているネットワーク」のパターンです。これをを、Full Connect Network といいます。Full Connect Networkを、DNN(Deep Neural Network)、あるいは Feed forward Network と呼ぶこともあります。
こうしたグラフを(旧来のグラフの意味でです)、「完全二部グラフ」というのですが、その意味は、図形的には明らかだと思います。
この複数の層からなるFull Connect なネットワークを、先に見た「一つの層」を表現する基本ブロックを用いて、簡単・簡潔に表現できます。それは、それぞれの一つの層を表すグラフの基本ブロックを直列に結合すればいいのです。
【 グラフを流れる量 -- テンソル 】
先に、スカラーもベクトルも行列の一種と見なすことができるという話をしたのですが、ここでは、スカラーもベクトルも行列も、「テンソル」という拡張された量の一種として扱われています。このグラフでは、グラフの辺を流れる量は、全てテンソルなのです。
-------------------------------------------------------
ビデオ「 複数の層からなるネットワークを、 グラフで簡潔に表す 」を公開しました
https://youtu.be/u0LAOlshF80?list=PLQIrJ0f9gMcN8dalyOH9sjVK6CQkd7NJw
資料 pdf「複数の層からなるネットワークを、 グラフで簡潔に表す」
https://drive.google.com/file/d/1OOTod4slGgbyiRcqvjxFV0mhY3NI6QTC/view?usp=sharing
blog: 「複数の層からなるネットワークを、 グラフで簡潔に表す 」
https://maruyama097.blogspot.com/2023/08/blog-post_22.html
「ニューラルネットワークの基礎」まとめページ
https://www.marulabo.net/docs/neural-network/
「ニューラルネットワークの基礎」ビデオ再生リスト
https://www.youtube.com/playlist?list=PLQIrJ0f9gMcN8dalyOH9sjVK6CQkd7NJw
コメント
コメントを投稿