Slide 1

Slide 1 text

AI・DS領域を学習したい⽅に向けて - 著者としての「思い」を中⼼に – ⾚⽯ 雅典

Slide 2

Slide 2 text

講演者プロフィール ⾚⽯ 雅典 2020年12⽉までIBMに在職。最後の数年は、Watsonやデータサイエンス系製品の技術セールスとして活動 2021年3⽉アクセンチュア⼊社。データ分析⼈材育成プロジェクトやテキスト分析系AIプロジェクトを主に担当 京都情報⼤学院⼤学 客員教授 著書 『最短コースでわかるPyTorch&深層学習プログラミング』 ⽇経BP 『Pythonで儲かるAIをつくる』 ⽇経BP 『最短コースでわかるディープラーニングの数学』 ⽇経BP 『現場で使える!Python⾃然⾔語処理⼊⾨』(共著) 翔泳社 『Watson Studioで始める機械学習・深層学習』 リックテレコム SNS https://www.linkedin.com/in/makaishi2 https://qiita.com/makaishi2 https://twitter.com/makaishi2 https://github.com/makaishi2

Slide 3

Slide 3 text

最新著書 紹介 『最短コースでわかる Pythonプログラミングとデータ分析』 2022年12⽉17⽇ 出版予定 アマゾンリンク https://www.amazon.co.jp/dp/4296201123 サポートページリンク http://bit.ly/3TV1E57 主な特徴 (DSスキル習得の「⾼速道路」) • 必要⼗分な知識項⽬の精査 (データ分析の「出る単」) 「データ分析」という⽬標を実現するのに必要⼗分な知識項⽬を精査・体系化 • プログラミングスキルの実地訓練 各節の最後に演習問題を設定し、抽象的な業務要件を具体的実装に落とすトレーニングを実施 • 試⾏錯誤によろライブラリ関数機能の体得 セットアップゼロで即利⽤可能なGoogle Colabを活⽤して、試⾏錯誤で関数機能を理解 • 分析シナリオで洞察導出 公開データセットの活⽤で実業務に近い分析シナリオを提⽰し、洞察導出の過程も経験

Slide 4

Slide 4 text

はじめに AI・DS領域を学習したい方に向けて - 著者としての「思い」を中心に - 先日、Facebookに教えられて知ったのですが、私が最初に執筆した『Watson Studioで始める機 械学習・深層学習』※を出版して、ちょうど4年になりました。この本を出した当時、まさか4年間 で6冊もの本を出版することになるとは想像もつきませんでした。非常に感慨深いものがあります。 本日は、Facebookで知り合った井伊さんにお声がけいただき、自著を紹介する場を持たせていた だくことになりました。 せっかくの機会なので、単なる書籍紹介にとどまらず、「なぜ、この本を出そうと考えたのか」 という、著者としての「思い」を中心に説明させていただこうかと考えています。 この講演を聞かれている方は、これからAI・データサイエンス系の勉強をしていきたいという方が 多いかと思います。そうした方に少しでも参考となる話を持ち帰っていただければ幸いです。 ※ 記念すべきこの書籍は、⼤変残念なことに現在は絶版となっています。

Slide 5

Slide 5 text

アジェンダ • AI・データサイエンス系の人材像・スキル領域と自著の関係 • 書籍紹介 • Pythonプログラミングとデータ分析 • ディープラーニングの数学 • PyTorch&深層学習プログラミング • Pythonで儲かるAIをつくる • 本日のまとめ

Slide 6

Slide 6 text

「AI」と「データサイエンス」はひとくくりに考えがちですが、対象データ、利⽤⽬的で種類の異なるものがいくつかあります。 更に⼈材像の観点では、ビジネスとの関わりに責任を持つビジネス系と、実装(モデル構築)に責任を持つ技術系に分かれます。 「AI⼈材」や「必要スキル」について議論する場合、どのポジションに関する話か意識することが重要です。 AI分野 主なアルゴリズム 対象データ 主な利⽤⽬的 構造化データ (表形式の数値等) ⾮構造化データ (画像、⾳声、テキスト等) 線形回帰、決定⽊、勾配ブースティング等様々 ディープラーニング 未知データに対する予測 →予測⾃体に価値がある データサイエンス分野 既知データから知⾒抽出 →業務改善に活⽤ AI・データサイエンスの区別と人材像 強化学習の環境モデル ロボット制御等 (強化学習) Q学習, DQN ⽅策勾配法 ⼈材像 データサイエンティスト (ビジネス系) データサイエンティスト (技術系) AIエンジニア(ビジネス系) ⾮構造化AIエンジニア (技術系) 構造化AIエンジニア (技術系) 強化学習エンジニア (技術系)

Slide 7

Slide 7 text

構造化 AIエンジニア (技術系) 強化学習 エンジニア (技術系) 紹介した書籍が、主にどの領域の⼈材をターゲットとしているか、マッピングした結果です。 構造化AI ⾮構造化AI データサイエンス スキル・人材像と書籍の対応 強化学習 データサイエンティスト (ビジネス系) データサイエンティスト (技術系) AIコンサルタント ⾮構造化 AIエンジニア (技術系) ディープラーニング・プログ ラミングを実装面で解説 ディープラーニング・アルゴ リズムを数学面で解説 • 構造化AI・データサイエンス • ビジネス系・技術系 それぞれの観点をバランス良く解説 ビジネス系 スキル 技術系 スキル 基礎 スキル 1 章・2章 プログラミングと機械学習で 必須ライブラリの使い方 3章・4章 機械学習一歩手前のデータ分 析系スキル

Slide 8

Slide 8 text

書籍紹介 • Pythonプログラミングとデータ分析 • ディープラーニングの数学 • PyTorch&深層学習プログラミング • Pythonで儲かるAIをつくる

Slide 9

Slide 9 text

『Pythonプログラミングとデータ分析』 書籍執筆のきっかけ • クライアントから質問されたとき、紹介できる適切なPython入門書が見当たらない • 本当に伝えたいのは機械学習なのにその前のハードルが高すぎ (せっかくPythonを学んだ後でも、ライブラリごとに本1冊ずつ必要??) → 「いい本がない」と文句をいうくらいなら、自分で書いてしまえばいいのではないか • 企業でのデータ活用 半分以上は単なるデータ集計で解決する話では? → 本のゴールは機械学習でなく、データ分析にすればいいのでは DX人材育成系案件で日々クライアントに接している際の気付き

Slide 10

Slide 10 text

『Pythonプログラミングとデータ分析』 目次(前半) 1章 Pythonプログラミング入門 1.1 Pythonとその実行環境 1.2 Google Colabの基本操作 1.3 変数 1.4 データ型と算術演算 1.5 条件分岐 1.6 関数呼び出しとメソッド呼び出し 1.7 リストとループ処理 1.8 タプルと集合、辞書 1.9 関数定義 1.10 やや高度なループ処理 2章 データ分析ライブラリ入門編 2.1 ライブラリ入門 2.2 NumPy入門 2.3 Matplotlib入門 2.4 pandas入門

Slide 11

Slide 11 text

『Pythonプログラミングとデータ分析』 目次(後半) 3章 データ分析ライブラリ中級編 3.1 データ分析の主要タスク 3.2 データ読み込み 3.3 データ確認・加工(前処理) 3.4 データ集計 3.5 データ可視化 3.6 データ検索・結合 3.7 日付データの処理 4章 データ分析実践編 4.1 タイタニック・データセット 4.2 データ読み込み 4.3 データ確認・加工(前処理) 4.4 データ集計 4.5 データ可視化 4.6 仮説立案・検証 4.7 深掘り分析

Slide 12

Slide 12 text

『Pythonプログラミングとデータ分析』 前半(1章・2章)の特徴 • Python文法 必要にして十分な項目の精選(データ分析の「でる単」) • 重要な概念は図を用いて丁寧に解説 • 節の最後には実習問題を付けて、概念の定着をはかると同時に「抽象的な要件を具体的な実 装に落とし込む」訓練をする • 3つの必須ライブラリ(NumPy、Matplotlib、pandas)もコンパクトに解説 • 2章までを、他のAI・DS書籍コード理解の準備用として活用することも可能

Slide 13

Slide 13 text

『Pythonプログラミングとデータ分析』 前半(1章・2章)のハイライト 重要な⽂法は囲み記事で詳しく説明(1章) NumPyのスライス機能も図で解説(2章) 演習問題はコメントにヒントがあり、指⽰に 従えば解ける形に(1章) こんなグラフ描画も⾃⼒でできるように(2章)

Slide 14

Slide 14 text

『Pythonプログラミングとデータ分析』 後半(3章・4章)の特徴 • 3章の冒頭で主要タスクとタスク間の関係を整理し、学習中に迷子にならないようにした • pandasの多くの関数・メソッドを目的別に体系化し、理解しやすくした • 3 章も公開データセットを用いたシナリオベースの展開にし、読者が興味を持ちやすい工夫をした • 各シナリオごとに導出される洞察の例を提示し、データ分析で最も難しい洞察導出のスキル育成も意識 • 4章は、一連の分析タスクをストーリー仕立てで演習にして、実際のデータ分析タスクのイメージが持て るようにした

Slide 15

Slide 15 text

『Pythonプログラミングとデータ分析』 後半(3章・4章)のハイライト タスク間の関係を整理(3章) 公開データセットを⽤いた可視化(3章) 分析結果のまとめ(4章)

Slide 16

Slide 16 text

『ディープラーニングの数学』 書籍執筆のきっかけ 最初の書籍の巻末に簡単な数学解説を書いたときの気付き • 機械学習のアルゴリズムは数学そのもの • 機械学習アルゴリズムを説明している書籍は、いきなり難しいところから始まるか、わかり やすさを重視するあまり肝心の数学的説明を逃げているかの2パターン → 「数学から逃げずに」かつ「わかりやすく説明」できれば、書籍としての価値を出せるの ではないか • 執筆当初、実践編はロジスティック回帰でやめるつもりだったが、出版社から「どうしても ディープラーニングを入れてほしい」と言われ、無理矢理含めることに → 「ディープラーニングの数学」の形になった サポートサイト

Slide 17

Slide 17 text

『ディープラーニングの数学』 前半の理論編で解説する数学概念間の関係図。 対象範囲は高校1年から大学教養課程まで幅広い。 アルゴリズム理解に関係あるものに限定して選択 後半の実践編では、対象モデルを線形回帰から ディープラーニングまで「進化」させる。 この考えを取り入れることで、新しい概念の説 明をスモールステップ化

Slide 18

Slide 18 text

『ディープラーニングの数学』 理論編のハイライト 全微分の公式は、2変数関数の例を題材に図形的に説明 全微分の公式を「内積」と解釈す ると、勾配降下法の数式は「あた りまえ」になる!

Slide 19

Slide 19 text

『PyTorch&深層学習プログラミング』 書籍執筆のきっかけ 2ヶ月の浪人生活で暇だったときにPyTorchを勉強して得た気付き • Keras と比較してとっつきにくいが、理解してみるととても便利 • 特に数学的原理との関係が見えるようになっているのがうれしい • しかし、APIリファレンスやチュートリアルは初心者にとっつきにくい →丁寧な解説書を作れば、多くの人に役に立つのではないか • 多値分類の損失関数の考え方にクセがあり、理解するのが大変 サポートサイト

Slide 20

Slide 20 text

『PyTorch&深層学習プログラミング』 PyTorchを使った機械学習の仕組みを、 実装コードと対応付けて説明 計算グラフを可視化ツールで表示することで 「損失」の関数構造を理解

Slide 21

Slide 21 text

『Pythonで儲かるAIをつくる』 書籍執筆のきっかけ 金沢工業大学虎ノ門大学院で「AI技術研修上級編」の講師をした時の気づき • 構造化データを対象としたお手軽な機械学習入門書がない • アルゴリズム理解より、使い方を重視したものにしたい • 完全に動作する実習を通じて、具体的なユースケースのイメージを読者に持ってほしい →5章で公開データセットを用いた5つの事例を説明することで実現 サポートサイト • PoC(技術検証)で終わらず、本番までたどり着けるAI案件を増やしたい →6章「AIプロジェクトを成功させる上流工程のツボ」に自分のメッセージを込めた →「儲かるAIをつくる」の企画の発端

Slide 22

Slide 22 text

『Pythonで儲かるAIをつくる』 prophetによる時系列モデルで、 貸自転車利用者数の予測をした事例(5章から) 処理パターンの選択フロー図(2章から) 「祭日」情報追加で精度がよくなった箇所

Slide 23

Slide 23 text

本日のまとめ • AI・DSといってもいろいろなタスク・人材像があり、必要スキルも異なる。 学習するにあたり、自分としてのゴールを明確にすることが重要。 • すべての出発点はPythonプログラミング。高速道路でこのスキルをマスターしたいなら、拙著「Python プログラミングとデータ分析」をお試しを • データ分析では、機械学習を用いなくても意味のある結果は数多く出せる。まずは、このアプローチで 「洞察」を導出する訓練をすることがお勧め。拙著「Pythonプログラミングとデータ分析」の後半は この目的でも最適。 • AI系の最新状況として、様々な分野で利用可能なOSSの事前学習済みモデルが出ている。PyTorchを使 いこなせるようにしておけば今後活用分野が広がるかも。(講演者の私見。今日のスライドでは語ってい ない話) • PyTorchを使いこなせるようになることが目的の場合「ディープラーニングの数学」「PyTorch&深層学 習プログラミング」のセットがお勧め