Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AI研修(イントロダクション)【ミクシィ22新卒技術研修】

 AI研修(イントロダクション)【ミクシィ22新卒技術研修】

22新卒技術研修で実施したAI研修の講義資料(イントロダクション)です。

<<AI研修資料一覧>>
#01 イントロダクション
https://speakerdeck.com/mixi_engineers/2022-ai-training-number-01-introduction

#02 data & training編
https://speakerdeck.com/mixi_engineers/2022-ai-training-number-02-data-and-training

#03 Deployment編
https://speakerdeck.com/mixi_engineers/2022-ai-training-number-03-deployment

#04 サービスへの導入編
https://speakerdeck.com/mixi_engineers/2022-ai-training-number-04-service

B16717ef4b7aab0b253d933c3934f280?s=128

mixi_engineers
PRO

May 09, 2022
Tweet

More Decks by mixi_engineers

Other Decks in Programming

Transcript

  1. 新卒AI研修 01 Introduction

  2. 講義の目的 機械学習(深層学習・勾配ブースティング)で • 何ができるか • 何が必要か • どうサービスと繋げるか を学びます 2

  3. 講義の目的 と言っても、1日で時間が足りるわけがありません あれに使えるかもしれない!自分から触ってみよう! と壁を取り払えることが一番の目的です 3

  4. 講義の概要 • 機械学習とは何か (01_introduction) • データと学習方法(02_data_and_training) • デプロイ(03_deployment) • サービスについて考える(04_service_in_mixi)

    4
  5. ハンズオンの概要 • 画像分類(01_image_classification) • プルーニング(01ex_pruning) (01が早く終わった人向け) • デプロイとサービング(02_deploy_and_serving) • パラメーターチューニング(03_parameter_tuning)

    • 転移学習(04_transfer_learning) • 構造化データ予測(05_predict_structured_data)  5
  6. 機械学習とは データから知見を得て、それを次の決定に利用すること • 知見とはブラックボックスな関数 ◦ 何かしらのルールがある • データとは過去の出来事 ◦ 数値,

    画像, 音声, テキスト, etc. • 決定:予測 ◦ 知見と今の状態がわかれば未来を予測できる 6
  7. 機械学習とは何か ルールがあるということは、関数で表せるということ • 今日の全ての情報があれば明日の天気はわかるはず.. • 未来の株価は過去の動きで予測できるはず... • 人間は外部入力を受けてニューロンが... 世界の全ては(規模を無視すれば)関数で表現できるかも! 7

  8. プログラミングとの違いは? ルールを自分で決めて、表現することがプログラミング • 盤面のスコアリングをルールベースで決定し、次のアクションの結果を評価 して駒を動かす 過去のデータの中からルールを得るのが機械学習 • 大量の棋譜からパターンを見つけて、次の手を決定する 8 盤面のスコアリングから、

    次の行動で一番点数の高い 角を5一にしよう 過去の棋譜と 差し手のパターンから 角を5一にしよう プログラミング 機械学習
  9. 統計との違いは? 統計学はデータから可視化できる表現を得る • ある意思決定の理由を説明するのが目的 機械学習は表現を得て、予測精度をあげることが目的 • 検証で良い数字がでるなら、なにかしらの表現を得たことになる データから知見を得るという部分は同じだし、基礎理論も同じ • 良いデータサイエンティストは良いMLエンジニア

    9
  10. どんな問題を解決できるか? 様々な分野で様々な問題を解決することができる • 需要・コスト予測 • カスタマー対応 • ゲームデッキのレコメンド • 書類のチェック

    • マーケティングプラン • ゲームAI • キャラクター生成 • 翻訳 • 競馬/競輪の予測 • 音声の変換 • メトリクスの異常検知 • コードレビューの補助 • モーションキャプチャ • 不審な決済ログの洗い出し • … 10
  11. どんな問題を解決できるか? 自分のサービスに適用できないか? • どんな解決できそうな問題があるか? • 必要なデータはあるか? これを考えられるようになってもらうのが講義の主目的です 11

  12. 機械学習の分類 AI 機械学習 教師あり学習 教師なし学習 強化学習 Deep Learning 勾配 ブース

    ティング 12
  13. • 教師データと出力の損失を用いて学習 教師あり学習 モデル 入力 出力 損失(loss) 教 師 デ

    タ ー 13
  14. 教師なし学習 • 教師データが存在しない学習(データ内のパターンを見つける学習) クラスタリング オートエンコーダ Encoder Decoder 入力 出力 特徴量

    次元圧縮 クラスタ1 クラスタ2 クラスタ3 14
  15. 強化学習 • 環境とやりとりして行動の報酬をもらうことでエージェントが学習 環境 エージェント 行動 観測 意思決定 報酬 学習

    変化 15
  16. 強化学習 • 環境とやりとりして行動の報酬をもらうことでエージェントが学習 16 START +10 -10 環境 エージェント START

  17. 分類(Classification)と回帰(Regression) 分類 • 出力が離散値 True or False 犬、猫、人... • あらかじめ与えられた

    カテゴリー/クラス/分類 を予測する際に使用 • 例 モンストキャラの画像と種類から 新たなキャラ画像が与えられた時に そのキャラがどの種類かを予測 回帰 • 出力が連続値 金額や人数、温度… • 数字の大小に意味が存在する 値を予測する際に使用 • 例 過去のモンストの売上から 明日の売上を予測 17
  18. 分類(Classification)と回帰(Regression) QUIZ 1. ユーザの収入や家族構成、その他パラメータから預金額を予測する 2. ユーザの収入や家族構成、その他パラメータからある取引が不正かどうかを 予測する 3. 画像に写っている物の種類を予測する 4.

    画像に写っている物の位置を予測する 18
  19. 機械学習の流れ 用意したデータ モデル 入力 出力 損失(loss) 教師データ(ラベル) 入力(特徴量) 教 師

    デ タ ー 19
  20. 機械学習の流れ 用意したデータ 入力 出力 教師データ(ラベル) 入力(特徴量) 教 師 デ タ

    ー モデル Parameters Hyper Parameters 損失(loss)から Parametersを更新 20
  21. Parameters: Weights & Biases パラメーターは学習で変化する値    WeightとBiasがある   y =

    b + x * w この値を調整すると、出力の値が変わる 21
  22. 機械学習の流れ 用意したデータ 入力 出力 教師データ(ラベル) 入力(特徴量) 教 師 デ タ

    ー モデル Parameters Hyper Parameters 損失関数 Loss 最適化関数 (Optimizer) Parameters 更新 22
  23. 損失関数(loss function) 回帰問題の代表的な損失関数 ➢ RMSE 23

  24. 多クラス分類問題の代表的な損失関数 損失関数(loss function) ➢ Categorical Cross Entropy Label Name オラゴン

    ブルーリドラ レッドリドラ グリーンリドラ Output 3.57 0.27 1.80 - 0.83 Softmax 0.8200 0.0302 0.1397 0.0101 Label 1 0 0 0 Cross Entropy 0.086 0 0 0 24
  25. 最適化関数: 最急降下法(Gradient Descent) 最適化関数 ➢ Lossが最小になるようなWeightを決定 例: 最急降下法(Gradient Descent) 更新式

    学習率 (learning rate) Loss 25
  26. 最適化関数一覧 • Gradient Descent (GD) • Stochastic Gradient Descent (SGD)

    • Nesterov Accelerated Descent (NAG) • Momentum • RMSProp • Adagrad • Adam • … 26
  27. 機械学習の流れ 用意したデータ 入力 出力 教師データ(ラベル) 入力(特徴量) 教 師 デ タ

    ー モデル Parameters Hyper Parameters 損失関数 Loss 最適化関数 (Optimizer) Parameters 更新 27
  28. Hyper Parameters ハイパーパラメータ • 学習前に予め決めておく必要がある値 • 学習によって変化しない • 最適値はタスクによって異なる 例

    • learning rate, バッチサイズ • パラメーターの数 • 使用するアルゴリズムの係数 • … 28
  29. Hyper Parameters: バッチサイズ 一度でトレーニングでどれだけのデータをまとめて学習するか • 理想だけ言えば大きいほうがより安定する ➢ 大きくしすぎると精度悪化の可能性 ➢ 計算量やメモリの使用量が大きくなる

    • バッチサイズと学習率には関係がある ➢ 学習率を固定してバッチサイズを5倍にするということは、 バッチサイズを固定して学習率を1/5にするということに近い 29
  30. 機械学習の流れ 用意したデータ 入力 出力 教師データ(ラベル) 教 師 デ タ ー

    モデル Parameters Hyper Parameters 損失関数 Loss 最適化関数 (Optimizer) Parameters 更新 30
  31. None