マナティ

詳解 ディープラーニング

第1回 単純パーセプトロン(1)

書籍「詳解ディープラーニング」の第3章ではディープラーニングの要である「ニューラルネットワーク」について学んでいきます。本記事では書籍で扱う4つの手法のうち「単純パーセプトロン」について解説します。

72424_ext_06_0.jpg

電子書籍『詳解 ディープラーニング』をマナティで発売中!
(上の書籍画像をクリックすると購入サイトに移動できます)

モデル化

 ニューラルネットワークで論理ゲートを学習する際には、ニューロンの発火の式や誤り訂正学習法の更新式を定式化して、順次計算していきました。論理ゲートでは入力が(たかだか)2 つでしたが、入力がもっとたくさんある場合について考えるとどうなるでしょうか。入力を n 個に拡張して、一般化してみましょう。下図が、モデルの概略図です。

1-1.jpg

図 入力を拡張したモデル

 入力の数が増えても「受け取った電気の量が閾値を超えると発火する」というニューロンの特徴は変わらないので、出力を表す式は

1-2.jpg

となります。ここで、下式で表される関数 f (x) を考えると、

1-3.jpg

ネットワークの出力 y

1-4.jpg

と書き直すことができます。この f (x) のことをステップ関数(step function)と呼びます。式を和で統一して扱いやすくするために、 b = – 𝜃 とおき、また、重み wk と入力 wk (k = 1, 2, ..., n) の線形和の部分はベクトルの内積を用いて表すことができるので、次で表される(列)ベクトル xw を考えると、

1-5.jpg

最終的に出力は

1-6.jpg

という形でまとまります。これで、ネットワークの出力を一般形で書くことができました。ニュー ロンの出力がこの式の形で表されるニューラルネットワークのモデルのことをパーセプトロン(perceptron)と呼び、特に、上図のように入力した値がすぐに出力に伝播する一番単純な形をしたモデルのことを単純パーセプトロン (simple perceptron) と呼びます。また、ここで定義したベクトル w重みベクトルbバイアスと呼びます。

 論理ゲートをモデル化した際には、w1w2 および 𝜃 の値を調整する必要がありましたが、同様 に、一般化したモデル(すなわちパーセプトロン)では重みベクトル w とバイアス b をうまく設定する必要があります。ベクトル表記にすることによって、誤り訂正学習法の更新式も簡潔にまとめることができます。

1-7.jpg

1-8.jpg

次回は実装について解説していきましょう。

著者プロフィール

巣籠悠輔(著者)
Gunosy、READYFOR創業メンバー、電通・Google NY支社に勤務後、株式会社情報医療の創業に参加。医療分野での人工知能活用を目指す。著書に『Deep Learning Javaプログラミング 深層学習の理論と実装』(インプレス刊、Packet Publishing:Java Deep Learning Essentials)がある。