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.

Machine learning

社内勉強会で使った資料です。

  • Login to see the comments

Machine learning

  1. 1. 機械学習入門 機械学習って大体こんな感じやで
  2. 2. 目次 1. 勉強会の目標 2. 機械が学習するとは? 3. 機械学習実践~手書き文字の認識~ 4. まとめ
  3. 3. 目次 1. 勉強会の目標 2. 機械が学習するとは? 3. 機械学習実践~手書き文字の認識~ 4. まとめ
  4. 4. 勉強会の目標  AIに興味を持ってもらい、何か行動を起こして もらうこと。(読書、調べもの等…)  機械学習の大まかなイメージを伝えることに主 眼を置くため、細かい部分まで説明しません。 難しい部分も噛み砕いて説明するので、厳密に いうと事実と若干異なる部分もあります。ご了 承ください。
  5. 5. お前、何様やねん  約2年前、最初は「AIに為替相場を予想させた ら金持ちになれるのでは?」という邪な気持ち でAIの勉強を始めた。  その後、AIの奥深さにはまり「kaggle」という 人工知能コンペティションサイトに参加し始め る。
  6. 6. Kaggle(カグル)とは AI課題を抱えた企業 ・課題内容 ・データセット ・賞金 Kaggle参加者 通称kaggler 全世界で約9万人 ・解決モデルの提供 Kaggle
  7. 7. Kaggle参加事例( Home Credit Default Risk) 金融機関 ローン組ませて! 年収 家族構成などなど… Yes?No? →AIで判断する課題
  8. 8. 目次 1. 勉強会の目標 2. 機械が学習するとは? 3. 機械学習実践~手書き文字の認識~ 4. まとめ
  9. 9.  いろいろ難しい理論やらアルゴリズムやらの話 はあるんだけど、結局突き詰めていくと機械学 習とは「〇〇〇」である。by ワイ ※漢字3文字 ※ヒント:〇〇化 機械学習って結局… 最適化
  10. 10. ここから先3枚のスライドが、 機械学習の直感的な理解を得る上で非常に重要です。
  11. 11. 最適化の例(住宅価格の分布) 価格y 面積x最も住宅価格の分布を説明している直線は? モデル: y=ax + b
  12. 12. 当てはまりの悪さを数値化するには? 価格y 面積x 直線と全てのデータとの距離の和を指標にする。 →距離の和を最小化するようにaとbを調整すれ ば、最適な直線に近づく。(最適化) モデル: y=ax + b 学習
  13. 13. 学習の正体  学習とは突き詰めると目標を最適化するように パラメータを調整していく行為 (住宅価格の例:y=ax + bのa,b)  どんなに課題が複雑で難しくなっても、本質的 には同じ  人間が可視化できない課題を学習することに機 械学習の意義がある。
  14. 14. 目次 1. 勉強会の目標 2. 機械が学習するとは? 3. 機械学習実践~手書き文字の認識~ 4. まとめ
  15. 15. 今回の課題「手書き文字」 以下のような、0~9の手書き文字の画像(28×28ピクセル)に何の数 字が書いてあるのかを機械に判断させる。 ※今回は「MNIST(エムニスト)」と呼ばれるデータセットを使用する。 MNISTは60000枚 の画像データがある
  16. 16. 課題解決に必要なもの  データ  モデル(y=ax+bに当たるもの)  損失関数(どんだけミスってるか指標)  住宅価格の例でいうところの、直線と全ての データとの距離の和
  17. 17. 課題解決に必要なもの  データ  モデル(y=ax+bに当たるもの)  損失関数(どんだけミスってるか指標)  住宅価格の例でいうところの、直線と全ての データとの距離の和
  18. 18. データ  機械学習には以下のデータが必要  教師データ  テストデータ  検証データ(※今回は省略) 教師 データ テスト データ
  19. 19. 教師データとテストデータ モデル 教師 データ 学習 適切なパラメータを模索 学習済モデル テスト データ 正答率 95%やで! 機械学習では汎用的に使えるものを目指すため、 学習したモデルに対してテストデータを用いて性能を評価する。 ※今回は教師データを20000件、テストデータを10000件使用。
  20. 20. 課題解決に必要なもの  データ  モデル(y=ax+bに当たるもの)  損失関数(どんだけミスってるか指標)  住宅価格の例でいうところの、直線と全ての データとの距離の和
  21. 21. モデル(y=ax+bに当たるもの)  手書き画像は28×28=784個の情報を持つ。  先ほどの例のような直線では表現しきれない。  そのため、より複雑な表現が可能なモデルが必 要となる。  ニューラルネットワークの活用
  22. 22. ニューラルネットワーク  ニューラルワットワークは簡単に言えば「人間 の脳の構造」を模したアルゴリズム  人間の脳は「ニューロン」と言われる神経細胞 が何層にも重なってできている。
  23. 23. ニューラルネットワークの例① 住宅価格の場合 x:面積 b:バイアス w:重み y:価格 入力層 出力層 ニューラルネットワークは以下のように示される。オレンジの丸をノード と呼び、ノード間には重み(y=ax+bのa)とバイアス(y=ax+bのb)がパ ラメータとして存在する。 例)w = 40 ,b=200 面積100㎡ の家は 100*40+200=4200(万円)
  24. 24. ニューラルネットワークの例② その人に一目惚れするかどうか X1:目の大きさ X2:顔の小ささ X3:肌の綺麗さ バイアス 惚れる 惚れない 入力層 中間層 出力層 では、MNISTを解決するには どんなモデルが必要? 分類の問題で は分類したい 数だけ出口を 用意する。 重み:10個,バイアス:4個
  25. 25. MNISTの課題に必要なニューラルネットワークの構成 入力層 出力層中間層 784個 200個 10個 全てのノード間で重みとバイアスが存在する。 重み:235600個,バイアス:610個
  26. 26. 画像の情報は入力層から入り、中間層を経て 出力層へ0~9の予想確率として出力される。 入力層 出力層中間層 0.01 0.05 0.01 0.10 0.01 0.78 0.01 0.01 0.01 0.01 0の確率 1の確率 2の確率 3の確率 4の確率 5の確率 6の確率 7の確率 8の確率 9の確率
  27. 27. 課題解決に必要なもの  データ  モデル(y=ax+bに当たるもの)  損失関数(どんだけミスってるか指標)  住宅価格の例でいうところの、直線と全ての データとの距離の和
  28. 28. 損失関数(予測がどれだけミスってるか) 交差エントロピー誤差・・・予測が正解と離れているほど大きな値を返す。 ※学習ではこの損失関数を最小化するようにパラメータを最適化する。 ラベル AI予測結果 予測パターン① 予測パターン② 0 0 0 1 0 0 2 0 0 3 0 0 4 0.7 0 5 0 0.9 6 0.1 0.1 7 0.1 0 8 0.1 0 9 0 0 交差エント ロピー誤差 16.11 0.1 右の図は、5が正解の画像に対す るAI予想結果。 そして、一番下の行が予想結果に 対する交差エントロピー誤差の値。 式はΣとかlogとか出てきて、僕も 説明するの面倒なので載せません。 ※式の意味とか知らなくてもフ レームワーク使えば実装できる。
  29. 29. 学習のプロセス① 【予測】 0の可能性0.1, 1の可能性0.2, …. 教師データ 20000件 ※今回は教師データを50周ループさせる。 学習 ニューラルネットワーク 重み:235600個,バイアス:610個 交差エントロピー誤差 =例) 1.76 交差エントロピー誤差の値を減らす ように パラメータ(重み、バイアス) を少しずつ変える。(誤差逆伝搬法)
  30. 30. 学習のプロセス② 学習済モデルテストデータ 10000件 学習結果を評価 評価
  31. 31. 実装方法  言語はPythonが主に用いられることが多い。  機械学習用のライブラリが豊富なため。  ニューラルネットワークの実装はフレームワーク を使用すると便利  プログラム50行くらいしか書いてません  今回はKerasというフレームワークを使用  他、TensorFlow,Chainer等
  32. 32. 損 失 関 数 学習結果 【評価結果】 テストデータ(10000件)を 用いた正答率97%
  33. 33. 目次 1. 勉強会の目標 2. 機械が学習するとは? 3. 機械学習実践~手書き文字の認識~ 4. まとめ
  34. 34. まとめ  機械学習によってデータから手書き文字認識の アルゴリズムを取得することができた。  ニューラルネットワークは画像認識だけではな く自然言語処理など様々な課題に対応可能  データさえあれば様々な学習が実現できる。 ※裏を返せば、機械学習はデータが命。
  35. 35. 勉強法おすすめ①  Coursera「Machine Learning」  スタンフォード大学教授による授業  Andrew Ng先生 ←神としか言いようがない  https://www.coursera.org/learn/machine- learning
  36. 36. 勉強法おすすめ② ゼロから作るDeepLearning ~Pythonで学ぶディープ ラーニングの理論と実装~ オライリージャパン

×