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

AI研修【MIXI 23新卒技術研修】

AI研修【MIXI 23新卒技術研修】

23新卒技術研修で実施したAI研修の講義資料です。

ハンズオン用リポジトリ:https://github.com/nami73b/machine-learning-notebooks-2023

資料の利用について
公開している資料は勉強会や企業の研修などで自由にご利用頂いて大丈夫ですが、以下の形での利用だけご遠慮ください。
・受講者から参加費や授業料などを集める形での利用(会場費や飲食費など勉強会運営に必要な実費を集めるのは問題ありません)
・出典を削除または改変しての利用

MIXI ENGINEERS

May 11, 2023
Tweet

More Decks by MIXI ENGINEERS

Other Decks in Technology

Transcript

  1. ©MIXI 5 ハンズオンの概要 • 画像分類(01_image_classification) • プルーニング(01ex_pruning) • 転移学習(02_transfer_learning) •

    パラメーターチューニング(02_parameter_tuning) • デプロイとサービング(03_deploy_and_serving) • 構造化データ予測(04_predict_structured_data) 
  2. ©MIXI 10 どんな問題を解決できるか? 様々な分野で様々な問題を解決することができる • 需要・コスト予測 • カスタマー対応 • ゲームデッキのレコメンド

    • 書類のチェック • マーケティングプラン • ゲームAI • キャラクター生成 • 翻訳 • 競馬/競輪の予測 • 音声の変換 • メトリクスの異常検知 • コードレビューの補助 • モーションキャプチャ • 不審な決済ログの洗い出し • …
  3. ©MIXI 17 分類(Classification)と回帰(Regression) 分類 • 出力が離散値 ➢ True or False

    ➢ 犬、猫、人... • あらかじめ与えられた カテゴリー/クラス/分類 を予測する際に使用 • 例 ➢ モンストキャラの画像と種類から 新たなキャラ画像が与えられた時に そのキャラがどの種類かを予測 回帰 • 出力が連続値 ➢ 金額や人数、温度… • 数字の大小に意味が存在する 値を予測する際に使用 • 例 ➢ 過去のモンストの売上から 明日の売上を予測
  4. ©MIXI 20 機械学習の流れ 用意したデータ 入力 出力 教師データ(ラベル) 入力(特徴量) 教 師

    デ タ ー モデル Parameters Hyper Parameters 損失(loss)から Parametersを更新
  5. ©MIXI 22 機械学習の流れ 用意したデータ 入力 出力 教師データ(ラベル) 入力(特徴量) 教 師

    デ タ ー モデル Parameters Hyper Parameters 損失関数 Loss 最適化関数 (Optimizer) Parameters 更新
  6. ©MIXI 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
  7. ©MIXI 26 最適化関数一覧 • Gradient Descent (GD) • Stochastic Gradient

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

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

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

    ➢ 計算量やメモリの使用量が大きくなる • バッチサイズと学習率には関係がある ➢ 学習率を固定してバッチサイズを5倍にするということは、 バッチサイズを固定して学習率を1/5にするということに近い
  11. ©MIXI 30 機械学習の流れ 用意したデータ 入力 出力 教師データ(ラベル) 教 師 デ

    タ ー モデル Parameters Hyper Parameters 損失関数 Loss 最適化関数 (Optimizer) Parameters 更新
  12. ©MIXI 34 過学習: overfitting 過学習が起こる条件 • データが少なすぎる • データに対してモデルが複雑すぎる 過学習を対策するためには...

    • データを訓練データと検証データ に分けることで、overfittingに 気づける状態にしておく データ 訓練データ 検証データ テストデータ
  13. ©MIXI 35 • 訓練データで学習させていくと、やがてモデルは Lossを下げるために過学習していく ➢ 次第に未知のデータへの予測精度が悪化 • 検証データを切り分け、そのLossを検証することで、 モデルが訓練データに対して過学習することを防ぐ

    • 検証データを使って訓練データの学習を制御 ➢ 検証データの情報が訓練データにリークするので 最終的な精度の検証はテストデータで行う 検証データ 学習データ Epochs Loss 訓練データ/検証データ/テストデータ
  14. ©MIXI 38 良い特徴量(入力データ)とは 良い特徴量の条件は 1. 目的に関係している値である • 競馬の購入馬券を予測する問題で、馬主の年齢は関係あるか? • いらないデータはノイズになる

    2. 推論のタイミングで利用可能である • 子供の誕生時の体重を予測する問題で、妊娠日数は使えるか? 3. 意味のある数値(ベクトル)に変換できる • 文章はベクトルに変換することも可能 4. 人間の洞察が含まれている • 良いデータサイエンティストが良いmlエンジニアである理由
  15. ©MIXI 39 特徴量エンジニアリング • 特徴量を前もって学習しやすい形に加工しておくこと   ex) 収入を予測するモデル • 住んでいる家の緯度、経度の情報は関係ある値

    • ただ、同じ経度でも東北の緯度と東京の緯度では意味は異なる • 本当に意味があるのは数値ではなく、どの地域なのかの情報 • 緯度と経度で分離してバケット化
  16. ©MIXI 40 過学習に対する手法 • Early Stopping • Data Augmentation •

    正則化 • Dropout • バッチ正規化 • …
  17. ©MIXI 41 過学習に対する手法 • Early Stopping • Data Augmentation •

    正則化 • Dropout • バッチ正規化 • …
  18. ©MIXI 42 過学習を防ぐ手法 Early Stopping • 監視する精度(Loss, Accuracy等)が一定期間上がらない場合、 学習を停止させる •

    主に検証データのLossを監視指標とすることが多い 記法例 (Keras) 検証データでの Lossが5回連続 改善しない場合 学習終了 検証データ 学習データ Epochs Loss Early Stopping
  19. ©MIXI 45 L1 Normalization • モデルのweightを菱形のライン上に収める • 不必要なweightは0を取る事が多い(≒次元圧縮) L2 Normalization

    • モデルのweightを円のライン上に収める • 不必要なweightは0に近づく 正則化項: L1/L2 Normalization 損失が最小となる点
  20. ©MIXI 46 過学習を防ぐ手法 Dropout • ニューラルネットを用いた学習時に、一部のニューロンからの出力を0にする ➢ 特定のニューロンに対しての依存を抑制 • アンサンブル学習のような効果が見込める

    ➢ エポック毎にDropoutするニューロンが変わることで 擬似的に複数モデルで協調した出力がされる形となり、過学習を抑制 … 1 epoch 2 epoch 3 epoch モデル Dropout 適用
  21. ©MIXI 47 モデル選定とデータ形式 • 機械学習における深層学習(Deep Learning)系のモデルは、非構造化データに 対してより優れた精度を発揮することが多い ➢ 非構造化データの例: 音楽,

    画像, 動画, テキスト, etc… • 一方、構造化データに対しては、勾配ブースティング決定木(GBDT)系のモデル のほうがより優れた精度を発揮することが多い ➢ 構造化データの例: 表形式データ, RDB内のテーブルデータ, csvデータ, etc… https://www.datarobot.com/jp/blog/is-deep-learning-almighty/
  22. ©MIXI 50 ニューラルネットワーク(NN) : Activation関数(非線形変換) Hidden2 Hidden1 Activation Input Output

    • NNでは層の途中にActivation関数 (非線形変換)を挟む • この関数により、線形分離が できない問題も解けるように ➢ より複雑な表現が可能 • NNでは、Activationを図に 表記しないことが多いので注意
  23. ©MIXI 53 Neural Network Playground 1. 左右に2分割されている問題を解いてみよう • ベーシックな線形問題なので、Hidden Layersなしの

    Featuresだけで解けることを確認しよう 2. 円で分割されている問題を解いてみよう • Hidden Layersを増やしたりNeuronsの数を増やしたり ActivationやFeaturesを変えたりして解いてみよう • うまく分類できたら、learning rateを10にして再学習させてみよう(学習できない) • 逆にlearning rateを0.0001にして再学習させてみよう(学習が遅い) • できるだけ単純なモデルで分類できる状態を探索してみよう
  24. ©MIXI 54 Neural Network Playground 3. 市松状の問題を解いてみよう • HIDDEN LAYERSを増やしたりNeuronsの数を増やしたり

    ActivationやFeaturesを変えたりして解いてみよう • できるだけ単純なモデルで分類できる状態を探索してみよう 4. 螺旋状の問題を解いてみよう • HIDDEN LAYERSを増やしたりNeuronsの数を増やしたり ActivationやFeaturesを変えたりして解いてみよう ➢ 少し複雑なモデルにしてみよう • モデルのRegularizationをL1, Regularization rateを0.001にしたときの 精度やNeuronのWeightを確認しよう • モデルのRegularizationをL2, Regularization rateを0.003にしたときの 精度やNeuronのWeightを確認しよう
  25. ©MIXI 66 DNN(Deep Neural Network) • NNの層をDeepにしたものがDNN • 深層学習におけるベーシックなネットワーク 記法例

    (Keras) • 値の合計が1になるように 調整する関数 • 主に多クラス分類の出力に おける活性化関数として 用いられる Softmax Dence • 全結合型ニューラルネットワーク
  26. ©MIXI 67 CNN (Convolutional Neural Network) • 画像など近傍値間で関連が高いデータに使うネットワーク • 画像処理で行われるフィルタ処理を学習するというのが思想

    ex) エンボスフィルタ, ラプラシアンフィルタ, etc… • 複雑な処理を少ない訓練パラメータで行える • 畳み込み層とプーリング層が存在する エンボスフィルタのカーネル値 エンボス加工の例
  27. ©MIXI 68 CNN: 画像と行列 • 白黒画像は、2次元行列で表現できる ➢ SVGAサイズの場合、[800, 600]の行列に0〜255の数値が入る •

    カラー画像の場合、カラーモードの次元を含めた3次元行列で表現できる ➢ RGBの場合、 [800, 600, 3]の行列に0〜255の数値が入る 110 136 115 115 104 134 150 186 197 123 112 199 255 225 123 139 216 209 179 114 95 126 115 94 104 134 150 83 52 123 112 83 57 21 89 47 42 41 21 64 96 126 115 93 104 134 150 83 59 123 112 81 64 44 92 50 49 51 39 67 R G B [4, 5, 3]
  28. ©MIXI 69 CNN: フィルタを用いた畳み込み • CNNでは、画像の行列に対してフィルタをかけることで畳み込みを行う • フィルタの大きさは[縦, 横, カラーモード]で、縦と横はハイパーパラメータ

    ➢ カラーモードはInputの画像で決めるため、実装では指定しなくて良い ➢ フィルタをスライドさせ、畳み込んでいく(スライド幅もハイパーパラメータ) • フィルタの値がweightであり、学習で最適されるパラメータとなる • フィルタの数はハイパーパラメータとなる 画像 [32, 32, 3] フィルタ [5, 5, 3] スライド幅 1 フィルタ数 6 畳み込み後 フィルタ数分畳み込む
  29. ©MIXI 70 CNN: フィルタを用いた畳み込み 0 1 0 1 0 1

    0 1 0 1 1 0 0 1 1 1 0 0 0 1 R G B フィルタ 1 1 0 0 0 1 0 1 1 1 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 0 1 1 1 0 0 1 0 1 0 1 画像 [4, 5, 3] フィルタ [2, 3, 3] スライド幅 1 フィルタ数 1 スライド幅ずつずらしていく 5 + bias 1 = 6 [3, 3, 1] Output 1 0 0 1 1 0 0 1 0 1 0 0 [2, 3, 3] 画像(RGB) [4, 5, 3]
  30. ©MIXI 71 CNN: プーリング • 畳み込み後に、行列を圧縮するために用いられる手法 • プーリング幅として[縦, 横, フィルタ数]の行列を指定

    ➢ フィルタ数は畳み込み時に指定するので、実装では指定しなくて良い • 指定した行列の範囲内における最大値や平均値を出力することで圧縮を行う 0 1 0 1 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 1 R G B 1 1 0 0 0 1 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 1 0 1 4 + bias 1 = 6 3 5 3 4 4 3 2 5 [3, 3, 1] Output 1 0 0 1 1 0 0 1 0 1 0 0 フィルタ プーリング幅 [2, 2, 1] スライド幅 1 Max Pooling Average Pooling 6 5 4 5 4 4 3 3.75 [2, 2, 1]
  31. ©MIXI 73 Padding • validとsameがある • validにすると畳み込み後のサイズが フィルタによって小さくなる • sameにすると元の行列の周辺に0を

    埋めるPadding処理を行う ➢ スライド幅1の場合、畳み込み 後もサイズが変わらない Flatten • 行列を1次元に平坦化する • NNでは多次元の処理が扱えないので、 CNN -> NN にする前でこの平坦化する 処理を行っている CNN: Kerasでの記法例
  32. ©MIXI 76 RNN, LSTM • データの並びに意味が存在するデータに適応するネットワーク ex) 言語, 株取引, 音楽,

    グラフデータ, etc… • 一時期流行ったが、学習に時間がかかるため少し下火 Understanding LSTM Networks ディープラーニングブログ
  33. ©MIXI 77 Embedding KerasでのLSTMの記法 • 入力で与えられた数値をベクトルに変更する • IDなどの大小関係のない数値を入力とする際 によく使用される •

    ベクトル値はパラメータ ➢ 学習が進んでいく事によって、最適化される オラ様 は オラゴン であーる 。 例  0   1   2    3 4 数値変換 Embedding (dim=2) [0.5, 0.6] [0.3, 0.1] [0.6, 0.7] [0.1, 0.8] [0.2, 0.2]
  34. ©MIXI 78 自然言語処理(NLP)とTransformer • NLPでは前処理として文章の単語を意味あるベクトルにして処理するのが主流 ◦ 例: fastText, word2Vec (日本語学習済みモデルもある)

    • 以前はRNNやLSTMを使ったseq2seqモデルを使っていたが現在は Transformerベース ◦ 主に全結合層とAttention層で構成 ➢ Attention層で、ある入力が他のどの情報に関連しているかを学習 ◦ 入力値(ベクトル)に位置情報ベクトル(Positional Encoding)を加算 ➢ ある入力に対する相対的な位置情報を取得 ➢ RNNやLSTMのような再帰構造を取る必要がなくなり、並列処理が可能に ☆ 大規模モデル(LLM: Large Language Model)誕生のきっかけ ◦ 詳細は割愛 元になった論文は以下 ➢ Attention is All You Need (https://arxiv.org/abs/1706.03762)
  35. ©MIXI 79 VIT(Vision Transformer) • Transformerの仕組みを画像分野に応用する試み • 画像を均一に分割したパッチを1ピクセルごとの RGB行列に変換し、これを単語のように扱う •

    特徴 ◦ CNNベースモデルより精度が高い ➢ データセットが小さい場合は CNNの方が精度が高い傾向にある ◦ Attentionの機構を利用して、 判断根拠(どこに注目したか)の抽出ができる パッチ化(均一に分割) パッチごとにベクトル化 (本当はRGBの行列) パッチのベクトルを 単語のように扱う [(0, 0, 0), (0, 0, 0), (225, 10, 10), (235, 5, 5), (255, 0, 0) ...]
  36. ©MIXI 81 0.2 0.17 0.02 0.01 … Transformer技術を用いた高精度なChatbot AI •

    文章から次の単語を予測 するタスクを学習 • モデルはTransformerの デコーダー部分(の改良) を多層にしたもの Generative Pre-Training Supervised Fine-Tuning(SFT) Reinforcement Learning From Human Feedback (RLHF) 釣った 魚 を ___ 料理 食べた 私 ゲーム … 例 • 教師ありデータセットを 用いてモデルを微調整 • 強化学習を用いて出力を最適化 報酬から Agentを 最適化 報酬モデル(RM) を学習 強化学習モデル (PPO)を学習 応答 (複数) 入力 (Prompt) 順位付け (ラベル) ラベルを元に ランク学習 応答 (ラベル) 入力 (Prompt) ラベルを元に モデルをFine-Tuning ChatGPT(Generative Pre-trained Transformer) Training language models to follow instructions with human feedback OpenAI et al, 2022
  37. ©MIXI 82 入力されたテキスト情報を元に画像を生成する技術 Stable Diffusion VAE Encoder 潜在空間に 次元圧縮 各潜在変数

    は確率分布 (正規分布) に従う 各ステップで正規分布 に基づくノイズを追加 喜ん で いる オラゴン 0 1 2 3 CLIP Test Encoder [0.32, 0.14, 0.01, …] UNet VAE Decoder 学習時のみ使用 UNet UNet 潜在変数から 画像に変換 0ステップ目と各ステップのUNetに テキストから抽出された特徴量を追加
  38. ©MIXI 83 モデル選定とデータ形式(再掲) • 機械学習における深層学習(Deep Learning)系のモデルは、非構造化データに 対してより優れた精度を発揮することが多い ➢ 非構造化データの例: 音楽,

    画像, 動画, テキスト, etc… • 一方、構造化データに対しては、勾配ブースティング決定木(GBDT)系のモデル のほうがより優れた精度を発揮することが多い ➢ 構造化データの例: 表形式データ, RDB内のテーブルデータ, csvデータ, etc… https://www.datarobot.com/jp/blog/is-deep-learning-almighty/
  39. ©MIXI 84 • 二分木の構造を用いて、分類・回帰を行う手法 • 複数の条件を二分していき、最終的な出力を決定する ➢ 決定木の条件は学習によって最適化されていく GBDTモデルの基礎: 決定木

    True False True True False False Attacker Defender Defender Attacker シュート精度 >= 中 ボール奪取力 >= 高 スピード >= 中 例: サッカーの選手の能力から適正ポジション(Attacker or Defender)を予測 シュート精度 ヘディング精度 ボール奪取力 ボディバランス スピード スタミナ 高 高 低 中 高 中 選手A 能力値 木を深くしすぎると、過学習に陥りやすくなる...
  40. ©MIXI 85 • 単一の木を深くするのではなく、決定木自体を複数作成し、 それぞれの出力値の多数決や平均を使うことで、最終的な出力を得る手法 ランダムフォレスト シュート精度 ヘディング精度 ボール奪取力 ボディバランス

    スピード スタミナ 高 高 低 中 中 高 選手A 能力値 True False True False Attacker Defender Attacker スタミナ >= 高 スピード >= 中 True False True False DefenderAttacker Attacker ボディバラ ンス >= 高 ボール奪取力 >= 中 True True False Attacker Defender Attacker ヘディング 精度 >= 高 Attacker 3 Defender 0 Attacker False シュート精度 >= 高
  41. ©MIXI 86 • 単一の木を深くするのではなく、決定木自体を複数作成し、 それぞれの出力値の多数決や平均を使うことで、最終的な出力を得る手法 ランダムフォレスト シュート精度 ヘディング精度 ボール奪取力 ボディバランス

    スピード スタミナ 低 中 高 高 中 中 選手B 能力値 True False True False Attacker Defender Attacker スタミナ >= 高 スピード >= 中 True False True False Attacker Attacker ボディバラ ンス >= 高 ボール奪取力 >= 中 Attacker 2 Defender 1 Attacker Defender 木の出力値を、どの条件を通るかに関係なく平等に評価してしまう... True False True False Attacker Defender Attacker ヘディング 精度 >= 高 シュート精度 >= 高
  42. ©MIXI 87 Defender - Attackerか否かの 2値分類とする ➢ 0.5 >= Attacker

    ➢ 0.5 < Defender - • 学習時に各決定木の教師データとの誤差を使って、出力値毎のスコアを算出 ➢ スコアから誤差を算出して、その誤差を次の決定木へと伝搬 • 計算式を用いてスコアを合計し、推論を行う 勾配ブースティング決定木(GBDT) シュート精度 ヘディング精度 ボール奪取力 ボディバランス スピード スタミナ 低 中 高 高 中 中 選手B 能力値 True False True False Attacker DefenderAttacker スタミナ >= 高 スピード >= 中 True False True False Attacker Attacker ボディバラ ンス >= 高 ボール奪取力 >= 中 True False True False Attacker Defender Attacker ヘディング 精度 >= 高 シュート精度 >= 高 Defender 3.5 -2 1 -4 2.5 0.5 3 -1.5 0.5 Sigmoid
  43. ©MIXI 88 GBDT系手法のライブラリ: LightGBMでの記法 主要な学習パラメータ • objective 目的変数(ラベル) ◦ 二値分類

    -> binary ◦ 回帰 -> regression ◦ 多クラス分類 -> multiclass • metric 損失関数 ◦ 二値分類 -> binary_logloss - loglossはcross_entropyと同義 ◦ 回帰 -> MSE, MAE ◦ 多クラス分類 -> multi_logloss • モデルの構造 ◦ n_estimators: 決定木の数 ◦ learning_rate: 学習率 ◦ num_leaves: 葉の数 ◦ max_depth: 階層の最大数 パラメータの公式リファレンス https://lightgbm.readthedocs.io/en/latest/Parameters.html
  44. ©MIXI 89 勾配ブースティング決定木の特徴 NNと比較した特徴 • メリット ◦ 解釈性が高い ➢ 各ノードが使用する特徴量がわかる

    ◦ 計算時間、コストが小さい • デメリット ◦ 非構造化データには(基本的に)非対応 ➢ 画像とかはNNの方が得意
  45. ©MIXI 94 要件定義 • 機械学習で解決すべき問題なのか? ➢ 効果とコストのバランス その他の単純な手法で実現できないか • どの程度の精度が必要か?

    担当者がいい感じだねっていったらサービス導入は地獄 既存のシステムとの何かしらの数値的評価基準は必要
  46. ©MIXI 95 要件定義 • ビジネス的な指標の設定 ユースケースによって、機械学習に求められる指標が異なる 例) 不良品検知の場合 ◦ recall(再現率):

    TP / (TP + FN) ➢ 正常品の巻き込みリスク ◦ precision(適合率): TP / (TP + FP) ➢ 不良品の見逃しリスク この2つは基本的にトレードオフ どちらを優先するか検討する必要がある TP FP FN TN 正解 正例 負例 正例 負例 予測
  47. ©MIXI 96 要件定義 • どこで使うのか? ◦ 前もって予測をしておけるか? ◦ オンラインで返す場合は結果はキャッシュ可能か? ◦

    リアルタイムで毎回処理する場合に許容されるレイテンシは? 速度優先?精度優先?程度はケース次第
  48. ©MIXI 98 ケース: ねこ画像の投稿サービスでの投稿禁止コンテンツの検出 考えるべきこと1: 実行タイミング • 画像を選択したとき ➢ 誤選択時も推論時間分待たせることになる

    • 投稿ボタンを押した後 ➢ 推論した結果投稿可の場合終了する • 投稿後に非同期で推論する ➢ 投稿後`掲載まで今しばらくお待ちください`と表示し終了する 掲載の可否はメール等で通知する ケースを考える
  49. ©MIXI 99 ケース: ねこ画像の投稿サービスでの投稿禁止コンテンツの検出 考えるべきこと2: 指標 • 掲載したコンテンツのうち禁止コンテンツの割合 • 禁止コンテンツのうち、掲載可のコンテンツの割合

    ➢ これらを集計するには人手による正解データが必要 現実的には、 禁止コンテンツのうち本当に禁止コンテンツであった割合 としたほうが良いかもしれません ケースを考える TP FP FN TN 正解 正例 負例 正例 負例 予測
  50. ©MIXI 105 • モデルをデプロイして終了ではない ◦ モデルの管理 ➢ バージョニングによって切り替え可能な状態にしておく ◦ モデルの挙動/パフォーマンス検証

    ➢ テスト通りの性能を継続して発揮できているか ◦ 再学習 ➢ 定期的?精度低下を検知? ➢ 再学習したモデルは自動でデプロイ?精度を判断してから? これらを継続的に行えるシステム(MLOps)の構築が重要 価値を安定的にユーザーに届ける データ収集 前処理 学習 推論 デプロイ ビルド 評価 利用 フィードバック
  51. ©MIXI 109 01_Introduction 03_deployment 今日学んだこと • 機械学習とは何か • 機械学習で何ができるか •

    どうやったら学習できるか • どんなデータがあれば良いのか • サービスに入れるために 考えなければいけないこと 02_data_and_training 今日の研修を通して以下のことを学びました
  52. ©MIXI 110 なにを提供できるか 最後に自分のサービスでどんな価値が提供できるか考えてみよう • どんな解決したい課題があるか • どんなデータを持っているか • それは学習できそうか

    ➢ そもそも既存のモデルが存在しないか? • サービスに入れる評価基準は決められそうか? • どういう風にサービスと繋ぐか?
  53. ©MIXI 113 勉強会のお誘い machine-learning系書籍 輪読会 - docbase - slack 今までやった本

    - AIエンジニアのための機械学習システムデザインパターン - AIソフトウェアのテスト - 機械学習デザインパターン - Vision Transformer入門