波動と機械学習

人間の声を色相の変化を利用して3次元プロットした図に美しさを感じて、そのまま音声解析の道を進んでいます。自分なりに調べて実装できたものから更新していきます。アドバイス、アイデアなどあれば是非お願いします。

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

ニューラルネットワークモデルは、ニューロンモデルを単位として構築されます。

ニューロンモデルは脳の神経細胞ニューロン)の動きから考案されたモデルで、その動きは大きく分けると2つになります。

①他の神経細胞から電気パルスを受け取る。

②受け取った電気パルスの合計が閾値を超えるとパルスを出力する。

ニューロンモデルは数学的に上記2つの動きを再現します。

 

f:id:araitbs007:20200422223953j:plain

 

では、具体的に数学的モデルとして説明します。

f:id:araitbs007:20200423001605j:plain

上図の四角形は入力値、円形がニューロンを表しています。

入力値xは実数値をとり、各入力の重み付け和aを計算します。

a = w0x0 + w1x1 + w2x2

入力総和aは活性化関数によって出力値yに変換し、次のニューロンに渡されます。

 

活性化関数は一般に以下のような関数が使用されます。

 

また、損失関数は目的関数とも呼ばれ、出力yと教師データとの誤差を学習パラメータとして使用するために必要な関数です。最終的な学習結果で最小にすべき値を出力します。

これは最小二乗法でいうところの誤差関数であり、確率モデルでいうところ交差エントロピー誤差にあたります。

 

特にシグモイド関数&交差エントロピー誤差を使用した場合、上図のニューロンモデルは最尤推定・交差エントロピー誤差(2)で紹介した学習手法と等価です。

 

このニューロンモデルをいくつもつなげたネットワークのことをニューラルネットワークモデルと呼び、その層を2層、3層と重ねた物が一般に深層学習と呼ばれています。

 

ニューラルネットワークモデルは活性化関数、損失関数、ネットワークの構成をうまく組み合わせることで高い精度を実現します。

また、ネットワーク構成によって、名称やできることが変わっています。

 

今後の記事ではそういったニューラルネットワークモデルを少しずつご紹介できればと考えています。