AWS Summit Tokyo 2023の機械学習講演メモ

## はじめに
AWS Summit Tokyo 2023に参加していくつか機械学習の講演に参加した中で勉強になったポイントを備忘録としてまとめておきます

## 【プロダクト開発と研究の境界を超え機械学習を活かすチームになる】

- 機械学習におけるプロジェクトの成功率は?
    - 機械学習プロジェクトの失敗確率は80%もある

- 原因は？
    - 目標がはっきりしていない
    そのため、データサイエンティストを採用しても成果を出す前提がないためスキルを活かしてもらえず答えが出ない

- では、この状況を変えるためにプロダクトマネージャーに必要なスキルセットは何か？
  1. 業績思考
  2. テクノロジーリテラシー 
  3. 顧客志向

- プロジェクトマネージャーとプロダクトマネージャーを兼任している人がいるがそもそも何が違うのか考える必要がある
    - 下記の表のような違いがある
    兼任することは非常に困難なのでどなたかに委譲するべき

||プロダクトマネージャー  |プロジェクトマネージャー  |
|---|---|---|
|役割|なぜやるか、何を作るかを決めてロードマップを作成する  |どう実現させるか決めて計画を作成する  |
|責任|プロダクトの成功に責任を持つ  |プロジェクト官僚に責任を持つ  |
|主なタスク|ユーザーインタビュー<br>製品ロードマップの作成<br>リリース機能の優先順位付け  |プロジェクトの進捗確認<br>プロジェクト計画の作成<br>タスクの担当、進捗管理  |

- これらのことから問題を解決するための仕組みがAWSにはある
    - **[ML Enablement Workshop](https://github.com/aws-samples/aws-ml-enablement-workshop)**

- ML Enablement Workshopで学べること
    - 機械学習の勝ちパターン
    - 勝ちパターンを基にしたベストプラクティス
        - ただし、ベストプラクティスを真似するだけでは不十分なのでお客様の行動パターンを分析し、その行動原理から解決するべき問題を洗い出してテクノロジーでそのように解決するか考える必要がある

## 【初めての機械学習ワークフローの作り方〜データに集中したいあなたのために〜】
- 機械学習ワークフローがもつライフサイクル
```mermaid
graph TD;
    ビジネスゴール設定-->機械学習の問題設定;
    機械学習の問題設定-->データ処理;
    データ処理-->モデル開発;
    モデル開発-->データ処理;
　　　　　　　　モデル開発-->デプロイ;
　　　　　　　　デプロイ-->モニタリング;
　　　　　　　　モニタリング-->モデル開発;
　　　　　　　　モニタリング-->ビジネスゴール設定;
    ビジネスゴール設定-->モニタリング;
```

- Data-Centric アプローチの効果
    - データセットの質によるモデル制度の違い（%）
    これまではモデルセントリックだったがそれをData-Centricに変えるとデータの品質に注力するアプローチにすると改善が見られた。
例えば、電話番号にハイフンが有る場合と無い場合が混在している(汚いデータ)とデータの品質が落ちるためハイフンなしの形式で揃える(綺麗なデータ)と表のようにデータ全体の質が向上する

||Flights  |US Census  |
|---|---|---|
|汚いデータ|0.10 ± 0.11  |0.66 + 0.04  |
|綺麗なデータ|**0.33 ± 0.20**  |0.65 ± 0.05  |

- 機械学習が失敗する理由
    - データの品質が不十分
    - データサイエンティストなどの専門職の不在

- プロジェクトを成功に導くパターン
    - 高速な試行錯誤
    - 差別化要素の注力

- 解決へのアプローチ方法
    - 構造化データパターン
        - エクセル、データベースといった構造が定まっているもの
    - 非構造化データパターン
        - 画像、音声といった定型化していないもの

- AWSから提供されている自動機械学習モデル
    - **[AUTOML](https://aws.amazon.com/jp/sagemaker/autopilot/?sagemaker-data-wrangler-whats-new.sort-by=item.additionalFields.postDateTime&sagemaker-data-wrangler-whats-new.sort-order=desc)**

## 【責任あるAI(Responsible AI)を理論から実践へ】
- バイアスとは？
    - バイアスとはさまざまなドメインで、さまざまな意味で使われる用語

||内容|
|---|---|
|心理学|これまでの経験に基づく先入観により、非合理的な判断を下す現象<br>認知バイアスなど|
|ソーシャルコンテキスト|異なるサブグループに対して好意的な傾向で振る舞うこと<br>社会的な望ましさのバイアス|
|ニューラルネットワーク|モデル学習時のフィッティングをコントロールする値のこと<br>実際のデータと推論結果のずれ|
|Responsible AI|サブグループに対するシステムの動作に有害な差があること<br>「望まない偏見(unwanted bias)」ともいう|

※サブグループ:人工統計学的な変数(年齢や性別など)の値が共有されてないグループ

- 負のバイアス
    - 負のバイアスは悪循環・増幅しうる
    例えば、人種間で実際の犯罪率は変わらないのに偏見によってある人種の犯罪率が高いと思われているとします。その偏見をAIが学習の中で取り込んでしまい、偏った評価を下すようになり正当な評価が出来ない状態が出来上がってしまう
このように意図しないバイアスが含まれる可能性がある
```mermaid
graph TD;
    BiasedWorld-->BiasedData;
    BiasedData-->BiasedModels;
    BiasedModels-->BiasedDecisions;
    BiasedDecisions-->BiasedWorld;
```

- Responsible AI:責任あるAIとは？

||内容|
|---|---|
|公平性|システムがユーザーの集団に応じて与える影響を考慮する<br>(例：性別、民族など)|
|説明可能性|AIシステムの出力結果を理解し評価する仕組み|
|堅牢性|AIシステムに確実な運用を実現するための仕組み|
|プライバシーとセキュリティ|プライバシーに配慮したデータ利用、盗難・流出からの保護|
|ガバナンス|Responsible AIの実践を定義し、実践し遵守するプロセス|
|透明性|ステークホルダーが十分な情報を得た上でAIを利用できる仕組み|

- なぜ、Responsible AIは複雑な問題なのか？
    - 成功はユースケースによる　→ 成功の定義と測定をシンプルにし、評価にバイアスを測る指標を含める
    - AIを取り巻く急激な変化 → 継続的に改善するメカニズムを利用し、ベストプラクティスを採用する
    - 技術的な複雑さ → Responsible AIをDevOps/MLライフサイクルのすべてのステップの一部にする

- 機械学習ライフサイクルと各フェーズの説明
    - 機械学習のどのフェーズでResponsible AIの考慮が必要か
        - 全てのフェーズで考慮する必要がある
    - フェーズ
        - 1.ビジネス課題の定義
            - ビジネス上の課題を明確にする必要がある
            - ユースケースと制約事項を理解することは、開発に携わる全ての人の責任
        - 2.課題の定式化
            - アプローチについて多様なステークホルダーやチームと議論し、異なる視点を取り込む
        - 3.データ収集、特徴料エンジニアリング
            - 適切かつ高品質なデータを収集する
            - センシティブな特徴量を特定し、必要に応じて特徴量を前処理で変換する
        - 4.アルゴリズムの選択とモデル学習、評価
            - 説明可能なアルゴリズムや、特定の方法でトレーニングできるアルゴリズムを選択しバイアスを軽減する
            - 前処理、モデル学習、チューニングにバイアスを減らす技術を使用する、タスクの種類のよって有効なテクニックが異なる
        - 5.デプロイとモニタリング、再学習
            - モデルのドリフトをチェックし、モデルが意図した通り使用していることを確認する
            ※ドリフトとは時間経過や実世界の変化に伴い、モデルの予測性能が劣化すること
        - 6.モデル予測結果
            - 高リスクなユースケースにおいて、エンドユーザーへMLモデルを用いた意思決定に関する問い合わせ方法を提供

- AWSから提供されている機械学習のライフサイクルで使える技術
    - **[Amazon SageMaker Clarify](https://aws.amazon.com/jp/sagemaker/clarify/?sagemaker-data-wrangler-whats-new.sort-by=item.additionalFields.postDateTime&sagemaker-data-wrangler-whats-new.sort-order=desc)**


## おわりに
AWSサミットへの参加が初めてということとコロナ化で大規模なイベントにも参加していなかったため非常に良い刺激を受けることが出来ました
今回は講演を受けることがメインで出展されているブースをあまり見学出来なかったのが少し心残りです...
次回以降の参加の際にはブースもいろいろ見て回って各企業様の事例なども詳しく聞ければと思っています