のんびりしているエンジニアの日記

ソフトウェアなどのエンジニア的な何かを書きます。

ニューラルネットワークとは?

Sponsored Links

皆さんこんにちは
お元気ですか?私はー。

さて、本日はニューラルネットワークについて

ニューラルネットワークって?

脳機能に見られるいくつかの特性を計算機上のシミュレーションによって表現することを目指した数学モデルである(Wikipedia)。

なるほど、わからん。

実際のネットワークの構造を見てみましょう。

全体のモデル

f:id:tereka:20140624003532p:plain

入力層からベクトルを入力し、中間層で一定の処理を行います。
その中間層から出力する値を元に出力層で再計算を行い、値を出力します。

学習時には値と実際の理想の値(教師データ)の差から学習を行います。
変更するパラメータは各ニューロンの重み(W)とバイアス(b)です。

ニューロンのモデル

f:id:tereka:20140623235821p:plain

それぞれのニューロンにおいて入力ベクトルと各ニューロンの持つwとの線形和(Wx)、そしてバイアス(b)を足すによって出力の計算が行われます。(Wx+b)
各出力の計算後には活性化関数を掛け、次の層の入力として扱っています。(=s(Wx+b))

実装や学習などの数式はおいおい少しずつやります。

今回は、前から入力して後ろに伝搬して行く。そして、それを元に戻して学習して行くのがこのニューラルネットワークだと思ってもらえれば幸いです。