トップページ > コンテンツ > 機械学習関連 > 機械学習の種類 > ニューラルネットワーク

概要

人間の脳の仕組みを模倣し、人間の認識・判断をコンピュータ上で実現するために考案された仕組み。
パターン認識などを行う際に有用となる。

ニューラルネットワークでは勾配降下法等で実データの内容に基づき、モデルの誤差を是正していく形で学習する。実データの結果から遡るようにして、モデルの学習を行うことから誤差逆伝搬(バックプロパゲーション)と呼ばれる。

ただし、初期値依存と局所解の問題がある。
誤差逆伝播法は教師信号と出力の2乗誤差を調べることにより、教師信号と出力がどれだけ近づいた調べる。
2乗誤差は下記の式であらわされる。yは教師信号,oは出力。
\frac{1}{2}\sum_{i=1}^{n}(y-o)^2


ハイパーパラメータについて

研究は薦められているが、本ページ執筆現在では、
どういう値が数学・アルゴリズム的にベストの学習方法なのか
分かっていないので、経験則でうまくいく設定をまねながら、
下記のような項目を設定するしかない。

  • ニューロン数、層数
  • ドロップ率(特徴を消す割合)
  • ラーリング率
  • 層同士の結合指針(畳み込みニューラルネットワークでは、全結合層、畳み込み層、プーリング層等が登場)
  • 活性化関数の組み合わせ(※1)

(※1)
  • 活性化関数は色々種類がある。ステップ関数の場合は1or0で渡す感じになる。
    が、実際はもっと滑らかな関数として、シグモイド関数やReLU等を使うことが多い模様。
  • ちなみにニューラルネットワークは出力に非線形な関数をかけて次の層への入力とすることで多層にするが、それはXORのように線形分離できない問題にも対応する意味合いがある。
  • 活性化関数に線形のものを指定しても、あまり意味が無い。
最終更新:2025年07月10日 21:59