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.

Deeplearningとは?

2,414 views

Published on

ニューラルネットワークから畳み込みネットまで数式をほぼ使わずに解説してみました。中途半端な感じでわかりづらくなってしまいました。。

Published in: Science
  • Be the first to comment

Deeplearningとは?

  1. 1. DeepLearning とは なんぞや? 鈴木雄登
  2. 2. 自己紹介 • 鈴木雄登 • CyberAgent 13年入社 • 今:Scalaでサーバーサイド • 昔:自然言語処理 • @moc_yuto
  3. 3. DeepLearning 怖い? 人工知能?
  4. 4. そもそも何ができるの?
  5. 5. 今回は数式はほぼ使いません。
  6. 6. まず機械学習って? • パターンを学習する(学習) • そのバターンのうちどれにあてはまるか(予測、推 測)
  7. 7. 学習 人間ですか?? 違います!
  8. 8. DeepLearningとは? ニューラルネットワークの一種 特に3層以上のもの
  9. 9. DeepLearningの要素技術 • ニューラルネットワーク • 自己符号化器(飛ばす) • 畳み込みニューラルネット • 再帰型ニューラルネット • ボルツマンマシン(飛ばす)
  10. 10. ニューラルネットワーク 人間の脳のシナプスを模倣したアルゴリズム
  11. 11. ニューラルネットワーク 単層パーセプトロン 多層パーセプトロン
  12. 12. 画像認識としてのNN 多クラス分類という ライオン、猫、犬、象、ト ラック、机、椅子、牛乳、 人、バスタブ、コーン、バレー ボール、ラケット、ビニール 袋、リモコン、がちょう、 マウンテンバイク、・・・ 判定する画像 大量のカテゴリ
  13. 13. じゃあニューラルネットワー クでどうやるのか?
  14. 14. カテゴリ2 カテゴリ1 どっちのカテゴリっぽい? ・・・ ・・・
  15. 15. 1 0 0 1 1 0 1 1 1 w1 w2 w3 w4 w5 w6 w7 w8 w9 y カテゴリ1の場合、0以上なら通れる カテゴリ2の場合、0以下なら通れる 重み z
  16. 16. 1 0 0 1 1 0 1 1 1 w1 w2 w3 w4 w5 w6 w7 w8 w9 y z
  17. 17. 0 0 0 0 0 0 1 1 0 w1 w2 w3 w4 w5 w6 w7 w8 w9 zy
  18. 18. 学習のサイクル y 通れた←何もしない 通れない←重み更新 このセットを繰り返して、 全ての学習用のデータが正しく分類できるまで続ける。
  19. 19. 機械学習QA • 学習って何を学習してるのか?  →重み • 予測ってなにしてるのか?  →学習された重みを含んだ式に当てはめる
  20. 20. 拡張して3層にできます 0 0 1 1 ちょっと省略しました。 z1
  21. 21. 0 0 1 1 z1 そもそも出力は一つでなくていい(単層でも同じ) z2
  22. 22. 多クラス分類 0 0 1 1 犬 猫 人
  23. 23. でも、 さっきの方法だと1か0だし、 確率みたいにできなそう
  24. 24. 勾配降下法 そもそも出力が0か1だけというのは、 学習が極端になってしまうため、 学習に適していない。
  25. 25. ・0か1か:0だったら更新、1だったら更新しない ・0 x 1:誤差を最小にする 重みの更新判定
  26. 26. ・0 x 1:誤差を最小にする 0 0 1 1 z1 学習データ 値を取得:0.4 予想していた値:1 乖離
  27. 27. 学習データ 値を取得:0.4 予想していた値:1 乖離 誤差関数 こいつを最小化するように重みを決めたい。
  28. 28. シグモイド関数 入力した値を0から1の間に収めてくれる関数
  29. 29. 0 0 1 1 z1 各ユニットでシグモイド関数を適用してあげると、 [0,1]になって使いやすく。 この関数を活性化関数と言います。
  30. 30. 学習データ 値を取得:0.4 予想していた値:1 乖離 誤差関数 こいつを最小化するように重みを決めたい。
  31. 31. ある関数の最小値を求めるのってどうやるの?
  32. 32. ここ 傾き=0 微分して0
  33. 33. 勾配が降下してる!!!! →勾配降下法
  34. 34. 実際の計算方法 多層の場合、重みの重みになってしまう。 これの微分とかヤヴァイ。。。。
  35. 35. バックプロパゲーション 0 0 1 1 z1 1層目の重み 2層目の重み 1,まず2層目の重みを誤差関数を最小化して求める 2,2層目で最小化したものを用いて、1層目の微分を行う …
  36. 36. 過適合 本当の最小値ではないところで、 収まってしまうこと。 人間でも広い世界を見ないと 井の中の蛙になってしまうのと同じですね
  37. 37. 過適合対策 • 更新される重みに制約をつける • ドロップアウト • 重みに上限を設ける
  38. 38. 畳み込みニューラルネット
  39. 39. 畳み込みニューラルネット • 画像向けのNN • 画像認識の分野においては最も主流のニューラルネッ ト
  40. 40. 畳み込みNNの構造 • 畳込み層:画像上の各位置ごとに特徴抽出を行う層 (フィルタ処理)。バックプロパゲーションで重み (フィルタ)の最適化 • プーリング層:畳み込みで作られた重み(フィル タ)の情報量を落とす役割。
  41. 41. 畳込み層 実際の画像とフィルタと呼ばれる画像の画素の積和計算を行う フィルタは決めた分だけずらしながら適用。
  42. 42. 畳込み層での処理 R G B フィルタ適用 足し合わせる
  43. 43. プーリング層での処理 • 畳み込みで抽出した特徴をぼやかして、情報量を落 とす。(実際なぜうまくいくかはわかっていない。) → 最大プーリング
  44. 44. 学習は? 【実行】 畳み込みは、ネットワークを出力方向へ進むのと同義 畳込み層でのフィルタは、重み 【重み更新】 同じく、バックプロパゲーションを行う
  45. 45. フィルタを適用する回数分、 NNのユニットが存在すると考えると同じになる
  46. 46. 精度 • 2012年の物体カテゴリ認識のコンペで優勝を飾っ た • タスク:1000種のカテゴリから画像がどこに属す るかを当てる
  47. 47. 再帰型ニューラルネット • 音声や言語解析向けのNN • 系列データに向く
  48. 48. 構造 一部は出力され、一部はもう一度戻ってくる構造
  49. 49. 学習などの考え方 t-1 t t+1
  50. 50. DeepLearningの要素技術 • ニューラルネットワーク • 自己符号化器 • 畳み込みニューラルネット • 再帰型ニューラルネット • ボルツマンマシン

×