ディープラーニングG検定 用語メモ(5.ディープラーニングの概要)

#はじめに
[ディープラーニングG検定](https://www.jdla.org/certificate/general/)の勉強用メモとして、参考書に出てきた用語をリストにまとめました。

##参考資料
- [ディープラーニング G検定 公式テキスト](https://www.amazon.co.jp/%E6%B7%B1%E5%B1%A4%E5%AD%A6%E7%BF%92%E6%95%99%E7%A7%91%E6%9B%B8-%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0-G%E6%A4%9C%E5%AE%9A-%E3%82%B8%E3%82%A7%E3%83%8D%E3%83%A9%E3%83%AA%E3%82%B9%E3%83%88-%E5%85%AC%E5%BC%8F%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88/dp/4798157554/ref=asc_df_4798157554/?tag=jpgo-22&linkCode=df0&hvadid=280479698370&hvpos=&hvnetw=g&hvrand=14784708393846546349&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=1009331&hvtargid=pla-525639118005&psc=1&th=1&psc=1)
- [これ1冊で最短合格 ディープラーニングG検定ジェネラリスト 要点整理テキスト&問題集](https://www.amazon.co.jp/%E3%81%93%E3%82%8C1%E5%86%8A%E3%81%A7%E6%9C%80%E7%9F%AD%E5%90%88%E6%A0%BC-%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0G%E6%A4%9C%E5%AE%9A%E3%82%B8%E3%82%A7%E3%83%8D%E3%83%A9%E3%83%AA%E3%82%B9%E3%83%88-%E8%A6%81%E7%82%B9%E6%95%B4%E7%90%86%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-%E5%95%8F%E9%A1%8C%E9%9B%86-%E5%B1%B1%E4%B8%8B%E9%95%B7%E7%BE%A9/dp/4798057304/ref=sr_1_4?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=1X2HWO77VXPDM&dchild=1&keywords=%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0+g%E6%A4%9C%E5%AE%9A&qid=1592399804&s=books&sprefix=%E3%81%A7%E3%81%83%E3%83%BC%E3%81%B7%E3%82%89%E3%83%BC%2Cstripbooks%2C278&sr=1-4)

##各章へのリンク
- [5.ディープラーニングの概要](https://qiita.com/Wakii/items/c44520766fc6a43dc7f7)
- [6.ディープラーニングの基本](https://qiita.com/Wakii/items/68104f6ea819f1475838)
- [7.ディープラーニングの研究分野](https://qiita.com/Wakii/items/6d2f5b07c3d58baba145)
- [8.ディープラーニングの産業展開](https://qiita.com/Wakii/items/17fe952319966bec88b3)


#用語リスト
|名前 | 説明 |
|:------------------------------|:--|
|ニューラルネットワーク|人間の脳神経回路を模した学習モデル。回帰や多クラス分類によく使われる。<br>高い表現力を持つが、(1)パラメータ数が多い、(2)必要なデータ量や計算量が多い、(3)結果の根拠を説明しにくい、(4)過学習を起こしやすい、といった問題もある。|
|回帰|目的変数の値を予測する学習。|
|多クラス分類|目的変数を分類する学習。|
|内部表現|観測データから抽出した本質的な特徴。|
|エンドツーエンド学習|特徴量の設計とその後の処理をまとめて行う学習。|
|単純パーセプトロン|入力層と出力層の二層のみで構成された、最も単純なニューラルネットワーク。|
|多層パーセプトロン|ユニットニューロンが層状に並んだ構成の、一般的なニューラルネットワーク。|
|入力層|多層パーセプトロンの一番左の、入力を受け取る層。|
|出力層|多層パーセプトロンの一番右の、結果を出力する層。|
|中間層|多層パーセプトロンで入力層と出力層の間の層。隠れ層とも。|
|重み|ユニットニューロンの構成要素で、入力に対して乗算されるパラメータ。<br>この重みが最適になるように更新するのが学習である。|
|バイアス|ユニットニューロンの構成要素で、入力に対して加算されるパラメータ。|
|活性化関数|ニューラルネットワークで、ユニットにおける入力の総和を出力に変換する関数。中間層と出力層で使われる。|
|ステップ関数|活性化関数の一種。<br>単純パーセプトロンの出力層でよく使われていた。|
|恒等関数|活性化関数の一種。<br>入力値をそのまま出力値として渡す。<br>回帰問題の出力層で使われる。|
|ソフトマックス関数|活性化関数の一種。<br>出力の合計が1となり、出力を確率的に解釈可能。<br>このため多クラス分類の出力層で使われる。|
|tanh関数|活性化関数の一種。中間層で使われる。<br>出力の範囲が-1から1、微分の最大値が1になるため、勾配消失問題が起きにくい。|
|シグモイド関数|活性化関数の一種。中間層で使われる。<br>微分の最大値が0.25になるため勾配消失問題が起きやすい。|
|ReLU|活性化関数の一種。勾配消失しにくく工夫されている。<br>入力が0を超えていればそのまま出力し、0未満であれば0を出力する。|
|Maxout|活性化関数の一種。勾配消失しにくく工夫されている。<br>複数の線形関数を一つにした構造を持ち、それらの最大値を出力とする。|
|誤差関数|正解ラベルと入力データを多層パーセプトロンに入力して得られる出力との近さを評価する関数。|
|平均二乗誤差関数|回帰問題でよく使われる誤差関数。|
|交差エントロピー誤差関数|多クラス分類でよく使われる誤差関数。|
|KLダイバージェンス|自己符号化器で入力・出力の分布から学習する場合に使われる誤差関数。|
|最適化|ニューラルネットワークで、誤差関数の値が最小となる重みやバイアスを見つけるための手法。|
|勾配降下法 (GD)|勾配を用いて重みを更新する最適化手法。|
|勾配|重みと誤差関数を重みで微分して得られる値。|
|学習率|更新量＝勾配にそって一度にどれだけ降りるかを表すハイパーパラメータ。<br>学習率が大きいと収束が早いが誤差が大きく、小さいと収束が遅いが誤差は小さい。<br>学習率が小さいと、局所最適解に収束することもある。|
|ハイパーパラメータ|機械学習において、学習の前にあらかじめ決めておく値のこと。|
|確率的勾配降下法 (SGD)|オンライン学習やミニバッチ学習を用いた勾配降下法。|
|バッチ学習|勾配降下法の一種。<br>一回の学習で全てのデータを使ってパラメータを更新する。|
|オンライン学習|確率的勾配降下法の一種。<br>ランダム抽出した1件のサンプルデータだけを使ってパラメータを更新する。|
|ミニバッチ学習|確率的勾配降下法の一種。<br>ランダム抽出した一定数のサンプルデータを使ってパラメータを更新する。<br>勾配のばらつきが小さくなるので学習率を大きくできる＝収束が早い。|
|ドロップアウト|ニューラルネットワークの過学習防止法の一種。<br>学習の際、層の中のノードの幾つかをランダムに無効にするのを繰り返す手法。|
|正則化|ニューラルネットワークの過学習防止法の一種。<br>誤差関数に正則化項を加える。<br>重みが減衰しやすいため、荷重減衰とも呼ばれる。|
|L1正則化|正則化項にL1ノルムを使う正則化。<br>L1正則化を行う回帰をLasso回帰という。<br>重要でない重みが0になりやすい傾向がある。|
|L2正則化|正則化項にL2ノルムを使う正則化。<br>L2正則化を行う回帰をRidge回帰という。|
|バッチ正規化|ニューラルネットワークの過学習防止法の一種。<br>ニューラルネットワーク内のユニットの出力値を正規化する。<br>内部共変量シフトを防止できる。|
|内部共変量シフト|ニューラルネットワークで、入力の分布が学習途中で大きく変わる現象。|
|データ拡張|ニューラルネットワークの過学習防止法の一種。<br>手持ちデータを加工して水増しする手法。|
|初期停止<br>[early stopping]|ニューラルネットワークの過学習防止法の一種。<br>学習によってテスト誤差が大きくなった場合、その時点で学習を打ち切る。|
|データの正規化|訓練データの偏りをなくすため、成分毎に平均と分散を揃えるなどの変換を加える前処理。|
|AdaGrad|ニューラルネットワークで学習率の大きさを決める手法の一種。<br>学習が進んだら学習率を自動的に小さくしていく。<br>急速に学習率が低下するという問題があるため、改良版のRMSpropが考案された。|
|RMSprop|ニューラルネットワークで学習率の大きさを決める手法の一種。AdaGradの発展形。<br>勾配の二乗の指数移動をする。|
|AdaDelta|ニューラルネットワークで学習率の大きさを決める手法の一種。AdaGradの発展形。<br>過去の勾配を蓄積する範囲を制限する。|
|モメンタム|ニューラルネットワークで学習率の大きさを決める手法の一種。<br>過去の重みの更新量を考慮して重みの更新を行う。<br>運動量（モメンタム）と呼ばれる物理量を使用する。|
|Adam|ニューラルネットワークで学習率の大きさを決める手法の一種。<br>過去の勾配の二乗の指数移動平均を使って勾配の平均と分散を推定する、。|
|グリッドサーチ|ハイパーパラメータのチューニング方法の一種。<br>設定した範囲において全てのパラメータの組み合わせを試す。|
|ベイズ最適化|ハイパーパラメータのチューニング方法の一種。<br>評価に大きな計算コストのかかる目的関数の代わりにAcquisition functionと呼ばれる代理関数を最適化することで，次の探索点を選択する。<br>比較的少ない試行回数で優れた結果が得られるとして注目されている。|
|Xavierの初期値|重みの初期値として、直前層のノード数nの1/√nを標準偏差とした分布を使う。|
|ガウス分布|平均値の付近に集積するようなデータの分布を表した連続的な変数に関する確率分布。<br>正規分布とも。<br>重みの初期値として、ガウス分布からランダムに値を抽出する手法がある。|
|第1次ニューロブーム|1956年にフランク・ローゼンブラッドが開発したパーセプトロンが注目される。<br>入力層・出力層のみのためXOR問題が指摘される。|
|第2次ニューロブーム|パーセプトロンに隠れ層が追加された後、1986年にデビッド・ラメルハートが誤差逆伝播法を提案。<br>層を深くした際の勾配消失問題や、適切な重みの初期値を決められず過学習が起きるといった問題が指摘される。<br>問題の一因として、学習データの不足も指摘されていた。|
|第3次ニューロブーム|2000年代後半以降に、(1)インターネット整備によるビッグデータの利用、(2)GPUの性能向上によるGPGPUの登場、(3)フレームワーク普及　これらにより、ニューラルネットワークの多層化を実現し、「ディープラーニング」と呼ばれるようになる。|
|MNIST|ディープラーニングに使うデータセットの一種。<br>手書き数字の画像データのセット。<br>アメリカの国立標準技術研究所が提供。|
|ImageNet|ディープラーニングに使うデータセットの一種。<br>2万種類以上の物体名と、約1,400万枚の画像を収録。<br>アメリカのスタンフォード大学がインターネットから画像を集めて分類した。|
|Youtube-8M|ディープラーニングに使うデータセットの一種。<br>4,800件のラベルでタグ付けされた800万本の動画を収録。|
|CIFAR-100|ディープラーニングに使うデータセットの一種。<br>60,000枚(100種類×600枚)の画像データを収録。|
|ILSVRC2012|ディープラーニングに使うデータセットの一種。<br>2012年のILSVRCで使用されたImageNetの中から抽出された。|
|Caltech-256|ディープラーニングに使うデータセットの一種。<br>Google画像検索でダウンロードして手作業で分類された、256カテゴリ・30,607枚の画像セット。|
|DistBelief|TensorFlowの前身の分散並列技術。|
|GPU|リアルタイムに画像処理を行うことに特化した演算装置。|
|GPGPU|GPUの機能を画像以外にも転用する技術。|
|TensorFlow|ディープラーニングのフレームワーク。<br>Googleが開発した。|
|Keras|TensorFlow上で実行可能な高水準ライブラリ。|
|Chainer|ディープラーニングのフレームワーク。<br>Preferred Networkが開発した。|
|PyTorch|ディープラーニングのフレームワーク。<br>Facebookが開発した。|
|ディープラーニングのフレームワークにおけるネットワークの記述法|大きく分けて二種類ある。<br>(1)設定ファイルだけで動くもの⇒簡単に学習を始められるが、ループ構造を持つ複雑なモデルの記述は難しい。<br>(2)プログラムによる記述⇒複雑なモデルも記述可能。|
|Caffe|ディープラーニングのフレームワーク。<br>設定ファイルだけで動くタイプ。|
|Caffe2|ディープラーニングのフレームワーク。<br>Caffeの後継だが、PyTorchへ統合される。|
|CNTK|ディープラーニングのフレームワーク。<br>設定ファイルだけで動くタイプ。|
|計算グラフ|計算方法をグラフ構造により記述したもの。<br>ディープラーニングのフレームワークは、これの構築方法で分類できる。|
|Define and Run|ディープラーニングのフレームワークの分類タイプ。<br>計算グラフを構築してからデータを与える。|
|Define by Run|ディープラーニングのフレームワークの分類タイプ。<br>計算グラフが実際の演算を通して動的に構築される。|