Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Deep forest

8,443 views

Published on

https://arxiv.org/pdf/1702.08835.pdfを解説しました

Published in: Technology
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Deep forest

  1. 1. Deep Forest ~ニューラルネットの代替えに向けて~
  2. 2. • 森山 直人(もりやま なおと) • もともと中国国籍 ⇒ 帰化(国籍変更)して日本人に • 趣味でpythonを始める(仕事はエンジニアではない) • 勢いでディープラーニング始める(自然言語) • 趣味でKaggleやってます
  3. 3. • すべて個人の見解による内容であり、所属会社、団体の公式見解 ではありません • 概念理解を優先しているため、一部厳密の定義は割愛しています
  4. 4. 今日話すこと Deep forestという論文が界隈で注目され、論文に込められ た並々ならぬ情熱に感銘を受け、 (論文通りに動くのなら)機械学習界隈に大きなインパクト をもたらす可能性を感じた Deep Forest:Towards An Alternative to Deep Neural Networks https://arxiv.org/pdf/1702.08835.pdf
  5. 5. 論文のサマリ ニューラルネットと同等な計算精度を持つアンサンブル決定 木モデルを用いて、ニューラルネットの代替えを提案 • パラメータ調整の簡易化がもたらす計算速度 • GPUリソースを必要としない低リソース • 木構造の性質である簡易な並列化 • 小規模なデータから効率よく学習可能
  6. 6. 事前知識-決定木関連 決定木 -規則を設けて識別境界を設ける アンサンブル学習 -複数の決定木の結果を合わせて識別器を作る バギング -複数の識別器の結果から多数決で出力を決める ランダムフォレスト -バギングに制限を設けて分散を抑える この本がわかり やすいです
  7. 7. 事前知識-ニューラルネットワーク 入力層 中間層 出力層 中間層(隠れ層)をもつ全結合の有向グラフ ■強み • 単調な非線形表現を積み重なることで、 複雑な非線形表現(合成関数)を獲得 • パターン認識問題が得意 ■弱み • 現在のデータだけでなく、過去の情報が必要な 問題は苦手 • 初期に学習された情報は忘れてしまう
  8. 8. ニューラルネットのココがだめ • 大量なデータがないと精度が出ない • ↑このデータを作るコストが高い • 大量な計算資源を要する • パラメータが多く、そのチューニングが大変 • 人の手を介さずに特徴を抽出できるのが利点と言われるが、 実際のところかなり細かいチューニングが必要 • 論理的な理解が難しい
  9. 9. gcForestのココが素晴らしい ※gcForestは本論文が提案するアンサンブル決定木モデル • 少量なデータで学習できる • パラメータが少なく、チューニングが簡易 • CPUのみのgcForestとGPUありのニューラルネットの 計算速度が互角 • 論理解析が簡単
  10. 10. 以降gcForestの概念を論文に沿って 説明して行きます
  11. 11. gcForestの概念 • gcForestはmulti-Grained Cascade forestの略 • Cascadeはこんなイメージ 上流から下流へたくさんの段を構 成し情報が流れる 写真では不変な水が流れるが、本 モデルでは段ごとにそれぞれ計算 がなされる http://www.geocities.jp/emkj20002000/newpage53.htmlより引用
  12. 12. Cascade forest 3クラス分類の問題をgcForestで解くケースを例を考える https://arxiv.org/pdf/1702.08835.pdf
  13. 13. Cascade forest ①学習デー タ入力 ②前ページのような 複数のcascade (段)を構築 ③各段ではそれぞれ決定木と ランダムフォレストの2種類の 分類器を設ける ④出力段では3クラスそれぞれの 確率を出力 https://arxiv.org/pdf/1702.08835.pdf
  14. 14. Cascade forest 一つの段の中で起きている計算は下記のようになる https://arxiv.org/pdf/1702.08835.pdf ①それぞれの決定器(ランダム フォレストで計算を行い、出力ク ラスの推定を行う ②最終出力では全てのフォ レストの出力の平均を取る ※学習時には、過学習を防ぐためのクロスバリ デーションは行われる
  15. 15. Multi-Grained Scanning RNN(LSTM)の入力ミニバッチとCNNの畳込み概念を用いて学習デー タから特徴量の抽出を行うことでさらに近い性能を引き出す ①時系列データを一定区間ごとにずらし てミニバッチを作る。 (どちらかと言えばword2vecに近い) ②おなじみのCNNプーリング
  16. 16. gcForestの処理流れ ①Multi-Grained Scanningで前処理 ここでは3種類のプーリングを合算 ②Cascade forestで出力計算
  17. 17. ベンチマーク MNISTの画像分類 ORLデータセットの顔認識 GTZANデータセットの音楽分類 生体データ(手の動き)認証 その他多数あり
  18. 18. まとめ • 決定木ベースのアンサンブル学習であるランダムフォレ ストを更に多層(段)で構築したgcForestを紹介した • 著者のニューラルネットへの代替えに対する情熱が凄ま じく、理論的に可能であることも感覚的に理解できる • 利便性と低リソース観点から、XGBoostに次ぐ学習器と して期待できそう(個人感) • PythonかRで実装できたらKaggleで流行ると思われる

×