ニューラルネットワーク

2021/11/12

AI

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

パーセプトロンを組み合わせて構成される、脳の神経回路を模したモデル。フィードフォワードニューラルネットワーク(FFNN)とリカレントニューラルネットワーク(RNN)に大別できる。

  • フィードフォワードニューラルネットワーク(FFNN)
  • リカレントニューラルネットワーク(RNN)
  • 活性化関数として、ステップ関数の代わりにシグモイド関数、ReLU関数、ソフトマックス関数などがよく用いれる。

    フィードフォワードニューラルネットワーク(FFNN)

    一方向性の結合しか持たないニューラルネットワーク。ループがないため、過去の情報は記憶できない。

    Notion Image

    FFNNは多層パーセプトロンを一般化したもので、各層での計算は次のように表現できる。

    z=act(Wx+b)z = act(Wx + b)

    ただし、zzは出力ベクトル、xxは入力ベクトル、WWは重み行列、bbはバイアスベクトル、actactは活性化関数である。

    上記の関係式を改めてz=f(x)z = f(x)と置くと、FFNNは次のように表現できる。

    fn(fn1(...f2(f1(x))))f_n(f_{n-1}(...f_2(f_1(x))))

    このように、層の増加に伴ってモデルの表現力が向上するため、高精度の予測が可能になる。

    リカレントニューラルネットワーク(RNN)

    自己回帰構造のような双方向性の結合を持つニューラルネットワーク。

    Notion Image

    狭義には、FFNNに自己回帰型の構造を追加したニューラルネットワークを指し、自己回帰型の構造によって過去の情報を記憶できるため、しばしば時系列データ解析などに利用される。

    Notion Image

    補足

    多層のニューラルネットワークを指してディープニューラルネットワークと呼ぶこともあるが、本記事では特に区別しない。


    著者画像

    ゆうき

    2018/04からITエンジニアとして活動、2021/11から独立。主な使用言語はPython, TypeScript, SAS, etc.