深層学習の範囲
深層学習(Deep Learning)は、多くの層を持つ深いニューラルネットワークを使って学習を行う。特に、何層からが深層学習というような定義はない。
総務省ホームページより
神経細胞について
ウィキペディアより引用
神経細胞の基本的な機能は、神経細胞へ入力刺激が入ってきた場合に、活動電位を発生させ、他の細胞に情報を伝達することである。ひとつの神経細胞に複数の細胞から入力した>り、活動電位がおきる閾値を変化させたりすることにより、情報の修飾が行われる。神経細胞は主に3つの部分に区分けされ、細胞核のある細胞体、他の細胞からの入力を受ける樹状突起、他の細胞に出力する軸索に分けられる。樹状突起と軸索は発生的にはほぼ同じ過程をたどるため、両者をまとめて神経突起(neurite)とも言う。前の細胞の軸索終末と後ろの細胞の樹状突起の間の情報を伝達する部分には、微小な間隙を持つシナプスと呼ばれる化学物質による伝達構造が形成されている。
神経細胞の中には、光や機械的刺激などに反応する感覚細胞や、筋繊維に出力する運動神経の細胞などもある。
なお「ニューロン」は、「神経元」とも訳され、神経系の構成単位を意味する語として生み出された造語である。神経の構造に関する論争の中で作られた。詳細は歴史の節を参照。現在[いつ?]においては、単に細胞の名前として「神経細胞」と同義的に用いられる。
⇒神経細胞は複数の情報を統合して、新たに信号を作成し他の神経細胞に伝達する役割がある。その接続部がをシナプスといい、シナプスの結合強度が強くなったり、弱くなったりして記憶が形成されるといわれている。
ニューラルネットワーク
コンピュータ上で、神経細胞をモデル化したを「人口ニューロン」、神経ネットワークをモデル化したものを「人口ニューラルネットワーク」という。
ニューロンの典型的な構造は以下のようになる
ディープラーニングと脳の関係とは? 人工ニューロンや再帰型ニューラルネットワークを解説より
ニューロンは複数の信号を受け取り、1つの信号を出力する。
各入力には、重みがかけられていて、入力値がとに重さは変わってくる。
入力値と重みの積の総和 + バイアスを足した値を活性化関数で処理を行う。
- 重み…神経細胞のシナプスの伝達効率に相当し、値が大きければ大きいほど多くの情報を持っていることになる。
- バイアス…ニューロンの感度に相当し、バイアスの大小でニューロンの興奮しやすさが決まる。
- 活性化関数を持ちいることで入力をニューロンの興奮状態を表す信号に変換する。
このようなニューロンをつなぎ合わせてニューラルネットワークを構築する。
ディープラーニングと脳の関係とは? 人工ニューロンや再帰型ニューラルネットワークを解説より
ニューラルネットワークはニューロンの数や層の数を増やすことで高い表現力を発揮するが、それに伴い学習が難しくなってしまう。
2つのパラメーター
ニューラルネットワークには、学習するパラメータとハイパーパラメータを持つ。
⇒深層学習は、学習するパラメータを最適化することが目標となる。
前述の「重み」と「バイアス」がニューラルネットワークにおける「学習するパラメータ」といえる。そして、この学習するパラメータを最適化するアルゴリズムには、誤差逆伝播法(バックプロパゲーション)を用いる。
ハイパーパラメータは、変更されず固定されたままのパラメータで、ニューラルネットワークのニューロンの数や層の数がこれにあたる。
誤差逆伝播法
ディープラーニングと脳の関係とは? 人工ニューロンや再帰型ニューラルネットワークを解説より
誤差逆伝播法…
出力と正解の誤差をできるだけ小さくなるように重みやバイアスを調整することで学習を行う。
一層ずつ逆に遡るようにして、勾配を計算してパラメータを最適化していく。
⇒このようにして次第に適切な予測ができるようになっていく。
参考
- Pytorchで作る!深層学習モデル・AIアプリ開発入門
- ディープラーニングと脳の関係とは? 人工ニューロンや再帰型ニューラルネットワークを解説
- ハイパーパラメータとは?チューニングの手法を徹底解説(XGBoost編)