バイオスブートキャンプでの講義「PythonでAIアプリを作ってみよう」での登壇資料です。
PythonでAIアプリを作ってみようAIアプリ開発の進め⽅を学ぼう1@hidefkn[email protected]デジタルハリウッド⼤学院
View Slide
⾃⼰紹介ぬるさくAIアプリ開発勉強会 1• ふかの ひで @hidefkn• 現職:某AIスタートアップ(7→14名?)• 経歴:コンサル→エンジニア→データサイエンティスト• プログラミング歴:およそ2年• 趣味:ネトフリにハマってます。
AIアプリ開発の本を書きましたぬるさくAIアプリ開発勉強会 2技術書典6にて、Nuxt.jsとPythonでつくる『ぬるさくAIアプリ開発⼊⾨』という技術書を書きました。プログラミングスクールの同期と⼆⼈で書きました。https://booth.pm/ja/items/1296418
⼤切にしたいことぬるさくAIアプリ開発勉強会 3戦わずして勝つまずはできる範囲でやってみて、楽しむ!難しく考えて、無理にすべてを理解しようとしないこと!(戦わない)
講義の構成ぬるさくAIアプリ開発勉強会 4【前提編】 ⼈⼯知能と機械学習とデータ分析【理論編】第1章 AIアプリ開発の進め⽅第2章 スコアリングモデル概論【実装編】第3章 スコアリングモデル構築第4章 NuxtでAIアプリのフロントを作ろう第5章 PythonでAPIを作成しよう第6章 AIアプリをデプロイしよう本⽇の学習範囲
ぬるさくAIアプリ開発勉強会 5AIアプリ開発の進め⽅AIアプリ開発をするために必要な7つのステップ
AIアプリ開発の7つのステップぬるさくAIアプリ開発勉強会 6AIアプリを作るためには、1つずつステップを踏んでいく必要がある。AI開発に王道なし。
AIアプリ開発の7つのステップぬるさくAIアプリ開発勉強会 7AIアプリを作るためには、1つずつステップを踏んでいく必要がある。AI開発に王道なし。本⽇の講義範囲
何を解決するために、AIアプリを開発するのか?ぬるさくAIアプリ開発勉強会 8予測モデルデータ⼊⼒予測結果出⼒モデルは課題を解決するための⼿段予測結果をもとに、実現したい状態 = ⽬的AIは課題を解決するための⼿段であり、⽬的ではない。
AIアプリ開発は⼿戻りコストが⼤きいぬるさくAIアプリ開発勉強会 9STEP1 ⽬的設定データ分析モデルが変われば、データ分析も変わるDB設計⽬的に適したクラウドDBを選定するAI投資対効果アプリ開発・データ分析・運⽤コストがかかる通常のWebアプリ開発(Webサービス開発)よりも、考えるべきことが多い ≒ ⼿戻りコストが⼤きい
⽬的に必要なデータセットを作ろうぬるさくAIアプリ開発勉強会 10データ量よりも前に、データ品質が重要である。モデル構築に必要なデータセットを作ることができるのか?たくさんのデータベースを保有していても、AIは作れない機械学習⽤のデータセットを⽤意できるか?が重要
⽬的設定とは、何のために何をどうするのか?を明確にすることぬるさくAIアプリ開発勉強会 11STEP1 ⽬的設定• 分類 未知のデータからクラスを予測• 回帰 未知のデータから連続値を予測• クラスタリング データから何かしらの基準でグルーピング• 次元削減 ⾼次元のデータを低次元にマッピング初学者は、分類と回帰の2つの違いをしっかり理解すれば⼗分
事例: 幸せになるために、私の理想の結婚相⼿を⾃動的に判別したいぬるさくAIアプリ開発勉強会 12STEP1 ⽬的設定• 分類 未知のデータからクラスを予測• Aさんは理想のタイプ「優しい系」Bさんは「オラオラ系」• 回帰 未知のデータから連続値を予測• Aさんは理想の結婚相⼿ではない(0),である(1)• Bさんは理想の結婚相⼿である確率は78%
私の理想の結婚相⼿を⾒極め⽅が異なるぬるさくAIアプリ開発勉強会 13⽬的設定とは、どんなAIを作りたいのか?を明確にすること。• 分類 未知のデータからクラスを予測• Aさんは理想のタイプの「優しい系」Bさんは「オラオラ系」• 回帰 未知のデータから連続値を予測• Aさんは理想の結婚相⼿ではない(0),である(1)• Bさんは理想の結婚相⼿である確率は78%
事例: 私の理想の結婚相⼿を⾒極めるぬるさくAIアプリ開発勉強会 14STEP1 ⽬的設定• 分類 未知のデータからクラスを予測• Aさんは理想のタイプ「優しい系」Bさんは「オラオラ系」• 回帰 未知のデータから連続値を予測• Aさんは理想の結婚相⼿ではない(0),である(1)• Bさんは理想の結婚相⼿である確率は78%
⽬的に合わせて、作りたいモデルを具体的にしようぬるさくAIアプリ開発勉強会 15STEP1 ⽬的設定• 推薦 ユーザーの好みに合わせた提⽰• 異常検知 不審な挙動を検知• 頻出パターンマイニング ⾼頻度で出現するパターンを抽出• 強化学習 正解が不明確な状況で⾏動⽅針を学習
難しい⾔葉は、具体例と紐づけて理解しようぬるさくAIアプリ開発勉強会 16STEP1 ⽬的設定• 推薦 ユーザーの好みに合わせた提⽰• 異常検知 不審な挙動を検知• 頻出パターンマイニング ⾼頻度で出現するパターンを抽出• 強化学習 正解が不明確な状況で⾏動⽅針を学習
まとめぬるさくAIアプリ開発勉強会 17なぜ、具体化させる必要があるのか? それは、分析⽅法もモデルの作り⽅(構築⽅法)も変わってくるから。• ⽬的によって、構築するモデルは変わる• モデルが変わると分析⽅針が変わる• 事例:• 理想の結婚相⼿を確率予測するモデル• 理想の結婚相⼿のタイプを分類するモデルは、似て⾮なるモデル
⽬的設定のおさらいぬるさくAIアプリ開発勉強会 18曖昧な理解を、ざっくりでいいから、はっきりと理解しよう。• AI開発で⼤切なことは何ですか?• 機械学習で作れるモデルには、どのような種類がありますか?(2つ以上挙げてみよう)• なぜ、⽬的やモデルを具体的にする必要がありますか?