share facebook facebook2 twitter menu hatena pocket slack

2016.10.03 MON

ニューラルネットワークを学ぶ

田村 謙介

WRITTEN BY 田村 謙介

Deep Learning(深層学習)に用いられるニューラルネットワークについてのまとめ

  1. 脳の仕組み
  2. ニューラルネットワークの仕組み
    • 3層パーセプトロンとは何か
  3. ニューロンの仕組み
  4. Deep Learningでどう使うのか

脳の仕組み

脳は10%の神経細胞と90%のグリア細胞で構成されている。
グリア細胞は神経細胞を補助する役目であり、主役は神経細胞である。
神経細胞は電気信号によって情報のやりとりを行う。
神経細胞のことをニューロンと呼び、ニューロンのつなぎ目をシナプスと呼ぶ。

ニューラルネットワークの仕組み

脳の仕組みをコンピュータに再現しようとしたものがニューラルネットワークである。
いくつかニューラルネットワークの形があるが、3層パーセプトロンが有名である。

3層パーセプトロンとは何か

ニューロンの役割を果たすノードを種類ごとに分類し、同じ種類のノード同士では情報のやりとりを行わない。
ノードの種類は「入力層」「隠れ層(中間層)」「出力層」の3つに分類される。
隠れ層は複数種類のノード群から構成され、このノード群をユニットと呼ぶ。

ユニットを増やすことでより複雑な事が判別できるようになり
ユニット内のノードを増やすことで1つのことをより正確に判別できるようになる。

neuralnetwork

ニューロンの仕組み

ニューロンの集合体は複雑な処理を行うが、ニューロン単体の仕組みはシンプルである。
ニューロンに対しての入力が6つ(X1~X6)あるとした場合、それぞれの入力に対して重み(W1~W6)が設定されている。
入力の信号は0か1かで判断され、1の場合は重み分の数が加減算される。
最終的な重みの和が閾値を上回った場合はニューロンが「発火」し、次のニューロンに情報が伝達される。

W1(重み) × X1(入力) + W2 × X2 + … + W6 × X6 > 閾値 ?
(-1)×0+3×1+2×0+(-1)×1+1×1+(-2)×0 > 1 ?
3 > 1 ? →発火

閾値の符号を反転し左辺に統合することで右辺が0となり、下記の式で表すことができる。
この符号を反転した閾値は「バイアス」と呼ばれる。
formula
formulaW1(重み) × X1(入力) + W2 × X2 + … + W6 × X6 + b(バイアス) > 0 ?
(-1)×0+3×1+2×0+(-1)×1+1×1+(-2)×0 -1 > 0 ?
2 > 0 ? →発火
neuron

Deep Learningでどう使うのか

ニューロンの仕組みのW(重み)とb(バイアス)を調整することで学習が進む。
膨大な数のニューロン(ノード)が存在するため、大量のデータによって学習を重ねる必要がある。
Wとbを調整するだけであることから、入力と出力の因果関係は得られなくなる。

元記事はこちら

ニューラルネットワークを学ぶ

田村 謙介

田村 謙介

構築運用(虎)セクションのリーダー/ソリューションアーキテクトとして、コンサルティング・設計・構築を主に担当しています。 使用するプロダクトやサービスの思想を尊重しつつお客様の要望に応えられる「美しい設計」を日々追い求めています。