2019/04/23
2020/04/14
パーセプトロンの仕組み・性質について解説
この記事ではニューラルネットワークの基礎になるパーセプトロンについて解説します。
パーセプトロンは脳神経を模することによって人間と同じ認識能力を再現しようというアルゴリズムです。
パーセプトロンとは
パーセプトロンは入力された信号を処理して一つの値を出力します。
入力された信号に応じて何かを出力するブラックボックスを想像するといいでしょう。
パーセプトロンの仕組み
パーセプトロンの図 / 用語
パーセプトロンは信号をどのように受け取り、1つの値を出力するのでしょうか。
今回は\( 2 \)つの入力された信号に対し1か0を出力するパーセプトロンを例に考えます。
以下のパーセプトロンを表した図を見ながら考えてみましょう。入力される信号を\( x_1, x_2 \)、出力される信号を\( y \)とします。
上の図にある青丸はニューロン、ノードと呼ばれます。また、\( w_0 \)はバイアス、\( w_1 , w_2 \)は重みと言います。これら\( w_0, w_1, w_2 \)はパラメータであり、どのようなパーセプトロンであるかを表現します。
入力\( x_1, x_2 \)を処理して\( y \)が出力されていることこの図は表しています。1を含むノードはバイアスを表現するために用いられます。
パーセプトロンの処理
どのような処理をして入力\( x_1, x_2\)を\( y \)に変換するのでしょうか。
パーセプトロンは入力\( x_1, x_2 \)に対して\( y’ = w_0 + w_1x_1 + w_2x_2 \)を計算します。
\( \ y’ \)が0以上の時に\( 1 \)を出力し,\( \ y’ \)が0より小さい時\( 0 \)を出力します。
以下の式を見ると分かりやすいでしょう。
\( \begin{eqnarray} y = \begin{cases} 1 & ( y’ \geq 0 ) \\ 0 & ( y’ \lt 0 ) \end{cases} \end{eqnarray} \)
\( y’ \)が0を超えることを「ニューロンの発火」と呼びます。
発火のしやすさはバイアス\( w_0 \)によって決まります。
\( w_0 + w_1x_1 + w_2x_2 \geq 0 \)の時、ニューロンが発火するので\( w_0 \)が発火のしやすさを調整していると分かります。
今回は\( 2 \)個の入力を受け取り\( 1 \)か\( 0 \)の出力するパーセプトロンについて考えました。
もちろん\( n \)個の入力\( \ x_1,x_2,\ldots, x_n \)を受け取ることも可能です。
パーセプトロンの利用と性質
どのようにこのパーセプトロンを用いるのでしょうか。入力信号を受け取り、1か0を出力するパーセプトロンを例に考えます。
例えば、身長、体重といったデータを入力として受け取り、男性であるか女性であるかを判定する分類器を作ることができます。1を出力したときは男性、0を出力したときは女性といったように。
入力する変数を増やせば、迷惑メールであるかを判定するより高度な分類器を作ることも可能です。そのためには適切な重みパラメータを指定する必要があります。 適切なパラメータの推定方法については次回以降の記事で触れます。
ただしパーセプトロンは分類器として弱点を持っています。一つのパーセプトロンでは複雑な分類をすることができないのです。
複数のパーセプトロンを組み合わせることではじめて複雑な分類を行うことができるようになります。
より詳しく説明すると、複数のパーセプトロンを用いることで非線形領域を表現できるようになり、高度な識別を行うようになります。
まとめ
今回はパーセプトロンについて考えてきました。ニューロン、バイアス、重みといった用語を頭のなかにいれておくとよいでしょう。
また、複数のパーセプトロンを組み合わせるとより高度なモデルが作成できることを覚えておくとよいでしょう。
今回は「ゼロから作るDeep Leaning」を参考にしました。
Recommended