マツシタのお勉強

【Deep Learningのお勉強 #1 】パーセプトロンとはなんぞや

はじめに

『ゼロから作るDeep Learning』という本を読み、得た知識などをメモとしてを書き記す。 また、この記事はパーセプトロンというアルゴリズムについてまとめる。 どうやら、パーセプトロンというものは、ディープラーニングの起源となるアルゴリズムらしく、パーセプトロンの仕組みを学ぶことは、ディープラーニングを理解する上で重要らしい。

パーセプトロンとは

パーセプトロンとは、複数の信号を入力として受け取り、1つの信号を出力するもの。 パーセプトロンはよく以下のような図で説明される。

f:id:atiek1121:20170414155521p:plain

上の図の中のx1, x2は入力信号であり、yは出力信号となる。また、w1, w2は重みを表している。 また、それぞれの◯は「ニューロン」と呼ぶ。

パーセプトロンの計算方法

上の図のように、入力信号がニューロンの送られる際に、「重み」が乗算されて、x1の入力信号が送られる時の値はx1*w1となる。また、入力信号は複数あるので、ニューロンyは全ての入力信号の総和を計算し、x1*w1 + x2*w2となる。この総和がある限界値θを超えた場合、yは出力として1を出す。

このように、「複数の信号を受け取り重み付けされた値の総和」が「限界値」を超えた時に値を出力することを「ニューロンが発火する」と表現する。

またパーセプトロンの出力信号は1か0の2値であり、限界値はθとして表す。よって上記の例では以下のような式でパーセプトロンを表現することができる。

パーセプトロンの「重み」とは

パーセプトロンの入力信号はそれぞれ固有の重みを持っている。この重みは、それぞれの入力信号の重要性をコントロールする要素として働く。

重みが大きければ大きいほど、それに対応する入力信号の重要性が高くなるということ。

パーセプトロンの「バイアス(限界値)」とは

上に登場した式を見るとθという限界値が存在し、入力信号を計算した値がこの値を境界にして出力の内容を決めている。

このθは- bと置き換え、バイアスと呼ぶこともある。θ = - bとすると上記の式は以下のように書くことができる。

こうすることで左辺を0にでき、単純になる。

重みwの働きは信号の重要性をコントロールすることだったが、バイアスの働きは、発火のしやすさをコントロールする。

機械学習でいう「学習」とは、この重みやバイアスをコンピュータで自動で行わせ、適切なパラメータを決める作業である。人が行うことは、パーセプトロンの構造を考え、コンピュータに学習データを与える事になる。

最後に

パーセプトロンの概念はなんとなく分かってきたが、このモデルが機械学習にどう活かされていくのかはもう少しお勉強が必要そうだ。