Deep Forest: Towards An Alternative to Deep Neural Networks
-
Upload
harmonylab -
Category
Technology
-
view
297 -
download
3
Transcript of Deep Forest: Towards An Alternative to Deep Neural Networks
DEEPFOREST: TOWARDS AN
ALTERNATIVE TO DEEP NEURAL NETWORKS
Zhi-Hua Zhou and Ji Feng
2017年10月20日 DLゼミ
発表者 B4 吉田拓海
1
論文概要
■ 現在の深層モデル
– ニューラルネットワーク
■ Deep Forest(gcForest)を提案
– 決定木アンサンブルアプローチ
– 広範囲のタスクでDNNと競える高い性能
■ IJCAI 2017
■ 論文URL
– https://arxiv.org/abs/1702.08835
Deep Learning が他のモジュールでも実現できるか?
2
関連研究
■ Deep neural decision forests. [Kontschieder et al.,2015]
– DNNの特徴を利用したランダムフォレスト
– DNNより性能が向上
– ICCV2015 best paper
– DNNとの組み合わせ
■ gcForestはDNNの代替
3
Deep Neural Network
■ 強力
■ 様々なタスクで成功
– 特に視覚、音声情報を含むタスク
■ 欠点
– 訓練データが大量に必要
■ 現実のタスクでは、ラベル付けされたデータが不足
■ ラベリングのコストが高い
– モデルが複雑
■ 訓練には強力な計算設備が必要
■ ハイパーパラメータが多い上に、学習性能がその調整に依存
■ 理論的な解析が難しい
4
Deep Neural Network
■ 表現学習
– 生の入力から特徴を抽出する
– DNNにとって重要
■ 大規模なデータを活用するためには、学習モデルのキャパシティも大きい必要がある
■ gcForestを提案
これらの特性を他の学習モデルに与えることが出来れば、DNNと競える性能を達成することができるのでは?
5
gcForest
■ カスケード構造
– 表現学習を可能に
– カスケードレベル数は適応的に決定可能
■ モデルの大きさ(複雑さ)を適応的に決定
■ Multi-grained scanning
– 表現能力を高める
6
gcForest
■ ハイパーパラメータ数が少ない
– デフォルトで様々なタスクに対応可能(堅牢)
■ DNNに対して競争力の高い性能を持つ一方で訓練時間は短い
■ この論文の範囲を超えるけど理論的分析も簡単
7
カスケード構造
■ 各レベルは、その前のレベルで処理された特徴情報を受け取り、その処理結果を次のレベルに渡す
8
カスケード構造
■ 多様性がアンサンブル構築にとって重要
– 異なる種類のフォレストを使用
– 図は各レベルが2つのランダムフォレスト(黒)、2つの完全ランダム決定木フォレスト (青)で構成
9
カスケード構造
■ インスタンスが与えられると、インスタンスが属するノードのトレーニング例のクラスごとの割合をカウントし、全ツリーの平均をとる
10
各フォレストの学習
■ 完全ランダム決定木フォレスト
– 500個の木を含む
– 決定木の各ノードで分割のための特徴をランダムに選択
– 各ノードが同じクラスのインスタンスだけとなるまで成長
■ ランダムフォレスト
– 500個の木を含む
– 𝑑個の特徴を候補としてランダムに選択し、その中から最もGini係数の良いものを分割に使用することで作成(d:入力特徴数)
11
各フォレストの学習
■ K-fold cross validation(実験ではK=3)
■ カスケードの拡張
1. 新しいレベルを拡張
2. カスケード全体の性能を検証セットで推定
3. 性能が大幅に向上しなければ、学習終了
– カスケードレベルが自動的に決定される
– DNNがモデルの複雑さが固定されているのとは対照的に、適切な時に学習を終了し、モデルの複雑さを適応的に決定
– 大規模なものに限らずに、様々なスケールのデータに適用可
12
Multi-Grained Scanning
■ 特徴間の関係を扱う目的
– CNN、RNNに触発
13
システムの概要
■ gcForestの全体的な手順(例)
– 元の入力が400次元
– 3つのウィンドウサイズがMulti-Grained Scanningに使用
– 予測するクラスは3クラス
14
システムの概要
■ m個の訓練例について、サイズ100のウィンドウは、301×mの100次元訓練例のデータセットを生成する
15
システムの概要
■ これらのデータは、完全ランダム決定木フォレストと、ランダムフォレストの訓練に使用
■ 1806次元の特徴ベクトルが得られる
– カスケードの1段目を訓練するのに使用(1𝐴)
16
システムの概要
■ 同様に、サイズ200は1206次元、サイズ300は606次元の特徴ベクトルを生成する
– それぞれ2段目(1𝐵)、3段目(1𝐶)の訓練に使用
17
システムの概要
■ カスケードを成長させる(段を増やしていく)
– 検証が収束するまで繰り返す
18
システムの概要
■ 最終的な予測は、最後のレベルで4つの3次元ベクトルを集約し、集約された最大値を有するクラスをとる
19
ハイパーパラメータ
■ DNNとgcForestの比較
– 太字:比較的大きな影響力をもつパラメータ
– 「?」:デフォルト値が不明、タスクによって異なる設定が必要
20
実験
■ gcForest, DNN, その他学習アルゴリズムの比較
■ 目的
– gcForestが簡単なパラメータ調整で、DNNと競える性能を達成できることを検証する
■ 全ての実験で、gcForestは同じカスケード構造を使用
– 各レベルは、それぞれ500個の木を含む4つの完全ランダム決定木フォレストと4つのランダムフォレストで構成
– タスク固有のチューニングを行うと性能が向上することに注意
21
実験
■ カスケードの訓練
– カスケードレベル数は自動的に決定
– 訓練セットを育成セットと推定セットに分割(8:2)
■ 育成セットを使用してカスケードを拡大
■ 推定セットを使用して性能を推定する
– 新しいレベルを増やしても性能が向上しない場合はカスケードの成長は終了し、推定レベル数を取得
– 成長セットと推定セットをマージした訓練セットで再訓練
22
実験
■ Mult-Grained Scanning
– 3つのウィンドウサイズを使用
– 入力特徴がd次元の場合
■ 𝑑/16 , 𝑑/8 , 𝑑/4
– 入力特徴がパネル構造(画像など)の場合ウィンドウもパネル構造
23
実験
■ DNN– 活性化関数:ReLU
– 損失関数:クロスエントロピー
– 最適化手法:adadelta
– Dropout率:0.25 , 0.5■ (データのスケールに応じて使用)
– ネットワーク構造のハイパーパラメータはタスク間で固定できない■ 検証セットで様々なアーキテクチャを検討し、最高の性能
も持つものを選択し、訓練セットで再訓練し、テスト精度を報告
24
実験結果①(画像分類)
■ MNIST
– 0~9の手書きの数字画像
– サイズ28×28
– 60000の訓練(および検証)データ
– 10000のテストデータ
25
実験結果①(画像分類)
■ LeNet-5
– DropoutとReLUを備えたLeNetの最新版
■ Deep Belief Net
– A fast learning algorithm for deep belief nets. [Hinton et al., 2006]
■ RandomForest
– 2000本の木を含むランダムフォレスト
26
実験結果②(顔認識)
■ ORLデータセット
– 40人のグレースケール顔画像
– 40人×10枚=計400枚
■ 1人当たり、5枚/7枚/9枚の画像を訓練に使用し、残りの画像でテストを行う
27
実験結果②(顔認識)
■ CNN(他の構成も試した中で最高の性能)
– 3×3カーネルの32個の特徴マップを生成する2つの畳込み層からなる
– 各畳込み層は2×2のマックスプーリング層を持つ
– その後ユニット数128、40個の全結合層
– 出力層はソフトマックス
– 活性化関数:ReLU
– 損失関数:クロスエントロピー
– Dropout率:0.25
– 最適化手法:adadelta
– バッチサイズ:10
– エポック数:50
■ kNN
– k=328
実験結果②(顔認識)
■ gcForestは3つの全ケースにおいて良い結果が出た
29
実験結果③(音楽分類)
■ GTZANデータセット
– 10ジャンルの音楽クリップが含まれる
– 1ジャンル100トラック
– 各トラックは30秒間
– 訓練用の700クリップとテスト用300クリップに分割
– 30秒間の音楽クリップを表現するために、MFCC特徴を使用する
■ オリジナル音波を1280×13の特徴行列に変換
30
実験結果③(音楽分類)
■ CNN
– 畳込み層として32個の特徴マップを生成する13×8カーネルを使用し、それぞれにプーリング層が続く
– その後ユニット数1024と512の全結合層
– 出力層はソフトマックス
■ MLP
– 1024と512の全結合
■ CNN、MLP
– 活性化関数:ReLU
– 損失関数:カテゴリクロスエントロピー
31
実験結果④(手の動きの認識)
■ sEMGデータセット
– 手の動きの筋電図の時系列データ
– 6つの手の動きの1つにそれぞれ属する1800個のデータ
– 筋電図センサが1秒間に500個の特徴を捉え、各データは3000個の特徴をもつ(6秒?)
32
実験結果④(手の動きの認識)
■ MLP
– 入力-1024-512-出力
■ LSTM
– 隠れユニット数:128
– シーケンス長:6
33
実験結果⑤(感情分類)
■ IMDBデータセット
– 訓練用:25000件の映画レビュー
– テスト用:25000件の映画レビュー
– レビューはtf-idf特徴量によって表される
■ tf:単語の出現頻度を表す
– 文章dにおける単語tのtf=𝑑内での𝑡の出現回数
𝑑内の全単語数■ idf:単語が
– 単語tのidf=log𝑁
𝑡が出現する文章数+ 1
■ tf-idf = tf * idf
34
実験結果⑤(感情分類)■ CNN
– Convolutional neural networks for sentence classification. [Kim, 2014]
■ MLP
– 入力-1024-512-256-出力
■ gcForest
– tf-idfは空間的関係、連続的関係を持たないことから、Multi-grained scanningは使用しない
35
実験結果⑤(感情分類)
■ 計算時間(訓練)
– 実験環境
■ CPU:Intel E5 2695 v4 CPUs (18 cores) ×2
■ GPU:NVIDIA TITAN X
■ IMDBデータセット:特徴5000、25000例
– gcForest(CPU)
■ カスケードレベル毎に267.1秒
■ 9レベルで終了したので合計で2404秒(40分)
– MLP(CPU)
■ 収束に50エポック
■ 1エポックに93秒、合計4650秒(77.5分)
– MLP(GPU)
■ 1エポックに14秒、合計700秒(11.6分)
36
実験結果⑥(低次元データ)
■ UCIデータセット
– LETTER
■ 文字画像の特徴データベース、手紙を特定
– ADULT
■ 国税調査データに基づいて、所得が$50,000/年を超えるかどうかを予測
– YEAST
■ タンパク質の細胞局在部位の予測
特徴数 訓練データ数 テストデータ数
LETTER 16 16,000 4,000
ADULT 14 32,561 16,281
YEAST 8 1,038 44637
実験結果⑥(低次元データ)
■ MLP(各データで最高の性能をもつ構造)
– LETTER :入力-70-50-出力
– ADULT :入力-30-20-出力
– YEAST :入力-50-30-出力
■ gcForest
– Multi-grained scanningは使用しない
– LETTER,ADULT,YEAST 全てで同じ設定
38
実験結果⑦(Multi-Grained Scanning)
■ Multi-Grained Scanningの寄与を調べるための実験
■ 空間的、連続的な特徴関係が存在する場合、Multi-Grained Scanning は性能を向上させる
39
結論
■ gcForestは実験でDNNと競える性能を示した
■ gcForestはハイパーパラメータが少ない、
■ また同じパラメータ設定でも様々なタスクで優れた性能が得られる
40