Skip to content

Instantly share code, notes, and snippets.

@reiji1020
Last active Feb 8, 2017
Embed
What would you like to do?
卒研用のメモ,機械学習の基礎と畳み込みニューラルネットワークとは何か

畳み込みニューラルネットワーク

RBMとは何か

  • Restricted Bolzmann Machine
  • 通常のボルツマンマシンとは違い,可視ユニット同士,不可視ユニット同士の連結を認めない 制限付きボルツマンマシン のことを指す
  • 通常1層ではなく,何層かに重ねて使われる
  • RBMを1段階学習した後,不可視ユニットの活性(値)をより高階層のRBMの入力データとする
  • 不可視ユニットを効率的に学習させることができ,また計算量を現実的な水準に落としている
  • ある訓練データvが与えられたとき、条件付き確率p(hj=1|v)が計算でき、その意味は「vが与えられたとき hjがONになる(1になる)確率 」

DBNとは何か

  • Deep Belief Network
  • RBMを多数重ねて 、下の層から順にRBMを1つずつ学習させるというアイデア
  • DBNは2006年にGeoffrey Hintonが発表したモデルで、これが今日まで続くDeep Learningブームの火付け役
  • 発展系としてDeep Boltzmann Machine(DBM)

DNNsとは何か

  • Deep Neural Networks
  • RBMを何層もつなげていって多層にしたもの
  • 教師あり学習で,全てのパラメータを同時に学習する(BackPropagationと呼ばれる)

DBMとは何か

  • Deep Boltzmann Machine

  • 教師なし学習・学習済みの層のパラメータはいじらずに,新しい層のパラメータだけいじって学習モデルを作っていくフェーズ(Contrastive Divergence)とBack Propagationのフェーズを組み合わせている

  • RBMを何層もつなげていって多層にしたもの

  • DeepLearningといったらコレ感

  • 画像認識分野でDeepLearningを使うなら畳み込みニューラルネットワーク(CNN)

畳み込みニューラルネットワークとは何か

成り立ち

  • 畳み込み・サンプリング・全結合の層から構成
  • 手書き文字認識に応用

各層の働き

  • 畳み込み層:カーネル(フィルタ)をスライドさせて画像に畳み込む,カーネルは近接の画素とのみ結合する,カーネルは複数個あってもよい
  • 画像処理において活性化関数にはReLU(Rectified Linear Unit)がよく使われる
  • プーリング層:指定した領域内で任意の画素を取り出しサイズを縮小させる
  • 最大プーリング:指定した領域内で最大値を持つ画素をピックアップ
  • 平均プーリング:指定した領域内の画素値の平均値をピックアップ画素の画素値として適用
  • Lpプーリング:指定した領域内の画素値のピークを強調するように計算し,ピックアップ画素の画素値とする
  • 全結合層:出力ノード数=認識するクラス数 確率を求める時はSoftmax関数を用いるのが一般的 全てのクラスに対し確率を求め,最大値をとるクラスを認識クラスとする

学習法

  • パラメータ(畳み込み層で使用するカーネルの要素,全結合層の結合重み)を決定
  • パラメータの数はLayer数に依存
  • 教師データを元に識別エラーからパラメータを更新,エラーが小さくなるようにする(確率的勾配降下法:Stochastic Gradient Descent)
  • 順伝播(現パラメータによる学習データの認識)と 逆伝播(認識誤差を元にパラメータを更新)による更新を行い,良いパラメータを学習する
  • 一度に大量の学習サンプルを与えると過学習を引き起こす→少しのサンプルだけでパラメータを更新するようにする

学習画像

  • 位置や大きさを変え,データ量を増やす
  • 位置や大きさだけではなく,形状の変化も適用
  • 入力データは明るさを正規化しておいたほうがよい

##参考URL Qiita-RBMから考えるDeepLearning

東北大学の岡谷先生によるIBIS2013での講演資料

中部大学の山下先生のMIRU2014チュートリアル

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment