Translate

2016年9月21日水曜日

書籍「初めてのディープラーニング」を読んでディープラーニングに関する基礎的な用語集をつくってみる

TensorFlowのドキュメントを読むにしても
ディープラーニングの基礎単語をそもそも理解していないと
どうにもならない..

ということで日本語書籍の力を借りることにした。

買ったのはこれ。



何故この本をえらんだのかというと、

数式が可能な限り書いていない初心者本

ということ。

ディープラーニングの定義はほんの中盤くらいまででてこないが、順番建てて説明してくれていてよくわかった。

以下、上記書籍から引用して用語集を作ってみた。



機械学習訓練データを学習器に投入して学習モデルを作成し、その学習モデルを利用して処理を行う仕組み
学習器データから規則性やパターンを抽出する仕組み
訓練データ規則性やパターンを見つけ出すためのもとになるデータ
学習モデル学習器が訓練データから抽出した規則性やパターン
学習処理訓練データの投入から学習モデル作成までの一連のコンピュータ処理
教師あり機械学習訓練データに教師データがあること、入力データと教師データを組みにして学習器へ投入し機械学習を行う
教師なし機械学習訓練データに教師データがないこと。精度は学習器の設計にかかっている
教師データ入力データがどのような種類であるかを示す正解データのこと
回帰データを入力すると、出力として数値を返す。機械学習における代表的な用途のひとつ
分類データを入力すると、出力としてそのデータの属性または種類を返す手法。機械学習における代表的な用途のひとつ
クラスタリングデータを入力すると、そのデータのグルーピング結果を返す手法。機械学習における代表的な用途のひとつ
ニューラルネットワーク生物の脳の神経ネットワークをモデルとしたコンピュータ処理の仕組み。ニューラルネットワークには入力層、隠れ層、出力層と呼ばれる層がある。隠れ層は複数となることもある
ノードニューラルネットワークの各層はノードを持ち、各ノードは値を持つ。人体におけるニューロンに相当する
エッジある層と次の層の間のノードを結ぶ。人体における神経細胞の樹状突起・軸索に相当する
重み各エッジは重みと呼ばれる数値を持つ
活性化関数各層は活性化関数と呼ばれる関数を持つ。あるノードの値は、そのノードとエッジで接続されている前の層のノードの値にもとづいて計算する。人体におけるシナプスに相当する。htan、シグモイド、ReLUが主に使用される
ReLU関数0より小さい値では勾配が0になる関数
weakly ReLU0より小さい値では勾配が0に近い値になる関数
確率ベクトルベクトル(v1, v2,..,vn)の各値が0から1.0の間の数値であり、合計すると1となるようなベクトル
CNNConvolution Neural Networkの略。ニューラルネットワークのノードのつながり方パターンのひとつ。隠れ層として1つ以上の畳み込み層とプーリング層で構成される
畳み込み層前の層の中で近くにあるノード同士の集合が、次の層のノードと接続するような構造を持つ層。局所的な部分の特徴を浮き立たせる役割をはたす
プーリング層前の層のノードの局所的な部分をまとめあげる処理をになう。まとめ上げる処理方法の一つとして最大値をとる場合、最大プーリングと呼ばれる。画像分析に使用する場合、位置変更への感度をさげる役割をはたす。前の層の中で近くにあるノード同士の集合が、次の層のノードと接続するような構造を持つという点は畳み込み層と同じ
AutoEncoder入力層と出力層が同一サイズのノードを持つニューラルネットワークを利用したアルゴリズムのこと。一般的に隠れ層は、入力層や出力層よりも小さいサイズにする。一般的に学習に使用される
Stacked AutoEncoder隠れ層が2層以上あるAutoEncoder
RNNRecurrent Neural Network(回帰結合ニューラルネットワーク)とRecursive Neural Network(再帰ニューラルネットワーク)のいずれもRNNと略される。再帰ニューラルネットワークは隠れ層において再帰的なノード接続があるニューラルネットワーク。このため可変長データをあつかうことができる。回帰結合ニューラルネットワークは回帰結合入力を持つネットワークで、系列データのモデル化に有効
GPUGraphical Processor Unit。描画計算を専用に行うためのハードウェア。CPUよりも10倍以上高速な浮動小数点演算能力を持つ。単純で並列性の高い処理に強い
GPGPU一般の計算にもGPUを利用すること
CUDANVIDIA社が提供するGPGPU開発のためのフレームワーク
隠れマルコフモデルディープラーニングが流行するまで音声認識で使用されていた機械学習アルゴリズムの一つ
Bi-Direction Recurrent Newral Networkバイドゥ社が音声認識で採用しているRNN拡張。手前の層だけでなく直後の層からも入力されるネットワーク構造を持つ。双方向から入力があるためBi-がつく
LeCun画像認識(MNIST)におけるCNN活用モデルのひとつ。層数8、総ノード数9118
SuperVison画像認識(ILSVRC2012)におけるCNN活用モデルのひとつ。LeCunより後に登場。隠れ層が上下2つにわかれており、それぞれの隠れ層ごとにGPUを割り当てる。層数13、総ノード数831304
GoogLeNet画像認識(ILSVRC2012)におけるCNN活用モデルのひとつ。ILSVRC2015優勝。層数22
ノイズ除去画像の中の雑音部分(ノイズ)を取り除く処理
インペインティング処理画像の中から不要な部分を除去する処理。取り除いた後どう自然に埋めるかが課題
超解像処理解像度の低い画像から解像度の高い画像を作成する処理。スパースコーディングという方法を用いることが多い
輝度値きどち。各ピクセルの明るさを0から255の整数で表した値
RGB値各ピクセルの色について、赤・緑・青の割合をそれぞれ0から255の整数で表した値
画像特徴点隣り合う画素同士の間で、輝度値の差が大きい箇所を指す
画像特徴量画像特異点をベクトル値で表した値
Bag-of-featureディープラーニングを用いた画像認識手法が登場する以前に使われていた手法。同じ種類の物体が映っている画像同士は、似たような部分をたくさん持っているという考え方を元にしている。
Visual Word特徴を表す画像により作成されたグループの中の代表となるひとつの画像
正規化長さの値が1になるようにすること
ディープラーニング画像認識処理につよいニューラルネットワークを用いた手法。Bag-of-featureでは特徴量抽出の方法として、画像特徴量を利用するという約束を人が決めていたが、ディープラーニングでは自動で決めている。テストデータが少ないと姓のが出ないこと、識別結果のチューニングがむずかしいという欠点がある
バイアスノードディープラーニングにおけるニューラルネットワークの入力層および隠れ層はバイアスノードという特別なノードを持つ
全結合層ディープラーニングにおけるニューラルネットワークで利用される層のひとつ。前のノードと自分のノードが、すべてエッジで結ばれている(ただし自分のバイアスノードは除く)。隠れ層の後半や出力層に利用される
勾配法数値計算で関数の最小値を算出するときによく利用される方法の一つ。「ある値の勾配をもとめその勾配の方向に動かす」を繰り返す
学習量勾配法における「ある値の勾配をもとめその勾配の方向に動かす」際の動かす値を学習率という
確率的勾配法訓練データからひとつづつ適当に選んで更新処理を行う方法
ミニバッチ法訓練データから少数のデータを適当に選んで更新処理を行う方法
バッチ法すべてのデータを利用して更新処理を行う方法
順伝播ニューラルネットワークを用いて計算を行うときには、入力層から順番に隠れそうのノードの値が決まり、最後に出力層の値がきまる。この順番で計算されることを順伝播という
逆伝播順伝播の逆で、出力層から最後の隠れ層、その前の隠れ層..と逆に進み最後に入力層のノードの値が決まることをいう
誤差逆伝播法正しい値と評価結果の誤差を逆伝播することを誤差逆伝播法という。逆誤差電波法により、ニューラルネットワークの学習に勾配法を使うことができるようになる
Dropoutある更新で層の中のノードのうちいくつかを無効にして学習を行い、次の更新では別のノードを無効にして学習を行うことを繰り返す
Drop Connectエッジをランダムに無効化するDropout
Adaptive Dropoutランダムにノードを無効化するのではなく、適応的に無効化を行うDropout

よし、これで整理できたな..

0 件のコメント:

TensorFlowにおけるフィーチャ列はこうしてね的なブログ記事を翻訳してみた

TensorFlow 1.4.0 になってイロイロガチャガチャしている。 一番ビックリしたのがTutorialのSequence-to-Sequence。 イキナリブログ記事のリンクだけになっていた.. Sequence-to-Sequence Models ht...