G検定とは
一般社団法人日本ディープラーニング協会(JDLA)が実施する資格試験。
小僧が受験するのはG検定で合格できたものはJDLAより下記の認定を受け取ることができる。
ディープラーニングの基礎知識を有し、適切な活用方針を決定して事業応用する能力を持つ人材
今回も前回~part4~に引き続きG検定受験にむけた内容をメモしていきたいと思います。ディープラーニング
多層パーセプトロンにおいてさらに隠れ層を増やしたニューラルネットワーク
ニューラルにおける問題
誤差逆伝播法において、誤差が最後まで正しく反映されなくなってしまい、隠れ層を単純に増やしただけのニューラルネットワークでは、モデルの精度が大きく下がってしまう。
ニューラルにおける問題とその原因
精度が下がってしまう問題の原因はシグモイド関数の特性
ニューラルネットワークの活性化関数にはシグモイド関数が使われるが、これを微分した関数(導関数)は最大値が0.25にしかならないため、誤差逆伝播、隠れ層を遡るごとに伝播される誤差がどんどん近さくなっていく。このことを勾配消失問題と呼ばれる
自己符号化器(オートエンコーダ)
2006年トロント大学のジェフリー・ヒントンにより提唱
オートエンコーダは可視層と隠れ層の2層からなるネットワーク
可視層は入力層と出力層がセットになったもので、入力と出力が同じになるニューラルネットワーク
オートエンコーダに与えられる入力順序
可視層(入力層)→ 隠れ層 → 可視層(出力層)の順に伝播し出力される
オートエンコーダの特性
オートエンコーダは入出力が同じになるニューラルネットワークで、数字の5を入力すると出力も5となる
この学習により、隠れ層には入力の情報が圧縮されたものが反映されることになる
この注意点は入力層(可視層)の次元よりも、隠れ層の次元を小さくしておくこと
こうすることで入力層の次元から、隠れ層の次元まで圧縮(要約)される
一度入力された情報を要約して、それを元に戻すように出力するので大事な情報だけが隠れ層に反映されていく
この入力層 → 隠れ層における処理をエンコード(encode)
隠れ層 → 出力層における処理をデコード(decode)という
積層オートエンコーダ(stacked autoencoder)
オートエンコーダを順番に学習させ、それを積み重ねていく
これまでのディープニューラルネットワークでは一気にすべての層を学習するのではなく、入力層に近い層から順番に学習させる、逐次的なアプローチをとる
このように順番に学習していく手順のことを事前学習(pre-training)という
ファインチューニング
オートエンコーダを積み重ねるだけではラベルを出力することができない。
積層オートエンコーダでは、オートエンコーダを積み重ねていった最後にロジスティック回帰層(シグモイド関数・ソフトマックス関数による出力層)を足すことで教師あり学習を実現する
回帰問題においてはロジスティック回帰層ではなく、線形回帰層を足す
この最後の仕上げのことをファインチューニングとよぶ
積層オートエンコーダは事前学習とファインチューニングの工程で構成される
深層信念ネットワーク
2006年トロント大学のジェフリー・ヒントンにより提唱
積層オートエンコーダと同様に事前学習を用いた手法で、オートエンコーダの部分に制限付きボルツマンマシン(restricted boltzmann machine)という手法を用いる
ムーアの法則
Intel創設者の一人であるゴードン・ムーアが提唱
半導体の性能と集積は、18ヶ月ごとに2倍になる
バーニーおじさんのルール
機械学習におけるデータ量の目安はモデルのパラメータ数の10倍のデータ数が必要というもの
しかし機械学習のモデル精度を確実に担保できるデータ量は一概には決められない
GPGPU
画像以外の目的の使用に最適化されたGPUのこと
NVIDIA社
ディープラーニング向けのGPU(GPGPU)の開発をリードしている会社
ディープラーニング実装用のライブラリのほぼ全てがNVIDIA社製のGPU上での計算をサポートしている。