0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Deep Learning from scratch vol.2

Last updated at Posted at 2021-12-31

abstract

本ページでは, NNの起源となるアルゴリズム, パーセプトロン(Perceptron)についてまとめる.
参考資料:O'REILLY®「ゼロから作るDeep Learning ~Pythonで学ぶディープラーニングの理論と実装~」

Perceptron

参考資料上におけるパーセプトロンとは, 「人工ニューロン」「単純パーセプトロン」と呼ばれる類のもの. 基本的な処理内容は同じ.
↔ 多層パーセプトロン

パーセプトロンの動作原理

パーセプトロンの動作原理をモデル化すると, 以下の式で表される.

y = 
\left\{
\begin{array}{cc}
0 & (w_{1}x_{1} + w_{2}x_{2} \leq \theta)\\
1 & (w_{1}x_{1} + w_{2}x_{2} > \theta)
\end{array}
\right.

ここで$w_{*}$は重み, $\theta_{*}$は閾値であり, 入力と重みの総和が閾値を超えたときのみ1を出力する. その状態をニューロンが発火すると表現される.
この式を一般化するため, $b = -\theta$と置くと, 上の式は以下の形に書き換えられる.

y = 
\left\{
\begin{array}{cc}
0 & (b + w_{1}x_{1} + w_{2}x_{2} \leq 0)\\
1 & (b + w_{1}x_{1} + w_{2}x_{2} > 0)
\end{array}
\right.

上記式で置いた$b$をバイアスと呼ぶ. ここで重みとの違いをまとめる.

  • weight(重み):入力信号の重要度をコントロールするパラメータ
  • bias(バイアス):発火しやすさをコントロールするパラメータ

多層パーセプトロン

上記の式では線形領域を表現しており, 非線形領域を表現できない. しかし, パーセプトロンは層を重ねることができ, 非線形領域を表現することができる.

XORゲートの作成

上記の式だけではXORゲートは実装できない. そこで, 線形領域で表されるANDゲート, NANDゲート, ORゲートを使って実装する.
$x_{1}$, $x_{2}$と$y$に関する真理値表を書くと以下のようになる.

$x_{1}$ $x_{2}$ $y$
0 0 0
0 1 1
1 0 1
1 1 0

上記の真理値表を表現すると以下の配線になる.
6785cc90-16c9-32fb-c76d-639bc2e52d89.jpeg
NANDゲートの出力を$s_{1}$, ORゲートの出力を$s_{2}$とすると以下のコードで実装される.

# NAND, OR, ANDは別のスクリプトで実装済み
def XOR(x1, x2):
    s1 = NAND(x1, x2)
    s2 = OR(x1, x2)
    y = AND(s1, s2)
    return y

この構造をパーセプトロンにより表記すると, 以下の形となる.
image.png
このように層を複数重ねたパーセプトロンを多層パーセプトロンと呼ぶ.
動作フローを詳しく説明する.

  1. 第0層の2つのニューロンが入力信号を受け取り, 第1層のニューロンへ信号を送る.
  2. 第1層のニューロンが第2層のニューロンへ信号を送り, 第2層目のニューロン$y$を出力する.

このように層を重ねることで, 複雑な処理を実装することができる.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?