本日は、自著を紹介する場を持たせていただくことになりました。 せっかくの機会なので、単なる書籍紹介にとどまらず、「なぜ、この本を出そうと考えたのか」という、著者としての「思い」を中心に説明させていただこうかと考えています。 この講演を聞かれている方は、これからAI・データサイエンス系の勉強をしていきたいという方が多いかと思います。そうした方に少しでも参考となる話を持ち帰っていただければ幸いです。
AI・DS領域を学習したい⽅に向けて- 著者としての「思い」を中⼼に –⾚⽯ 雅典
View Slide
講演者プロフィール ⾚⽯ 雅典2020年12⽉までIBMに在職。最後の数年は、Watsonやデータサイエンス系製品の技術セールスとして活動2021年3⽉アクセンチュア⼊社。データ分析⼈材育成プロジェクトやテキスト分析系AIプロジェクトを主に担当京都情報⼤学院⼤学 客員教授著書『最短コースでわかるPyTorch&深層学習プログラミング』 ⽇経BP『Pythonで儲かるAIをつくる』 ⽇経BP『最短コースでわかるディープラーニングの数学』 ⽇経BP『現場で使える!Python⾃然⾔語処理⼊⾨』(共著) 翔泳社『Watson Studioで始める機械学習・深層学習』 リックテレコムSNShttps://www.linkedin.com/in/makaishi2https://qiita.com/makaishi2 https://twitter.com/makaishi2https://github.com/makaishi2
最新著書 紹介『最短コースでわかる Pythonプログラミングとデータ分析』2022年12⽉17⽇ 出版予定アマゾンリンク https://www.amazon.co.jp/dp/4296201123サポートページリンク http://bit.ly/3TV1E57主な特徴 (DSスキル習得の「⾼速道路」)• 必要⼗分な知識項⽬の精査 (データ分析の「出る単」)「データ分析」という⽬標を実現するのに必要⼗分な知識項⽬を精査・体系化• プログラミングスキルの実地訓練各節の最後に演習問題を設定し、抽象的な業務要件を具体的実装に落とすトレーニングを実施• 試⾏錯誤によろライブラリ関数機能の体得セットアップゼロで即利⽤可能なGoogle Colabを活⽤して、試⾏錯誤で関数機能を理解• 分析シナリオで洞察導出公開データセットの活⽤で実業務に近い分析シナリオを提⽰し、洞察導出の過程も経験
はじめにAI・DS領域を学習したい方に向けて- 著者としての「思い」を中心に -先日、Facebookに教えられて知ったのですが、私が最初に執筆した『Watson Studioで始める機械学習・深層学習』※を出版して、ちょうど4年になりました。この本を出した当時、まさか4年間で6冊もの本を出版することになるとは想像もつきませんでした。非常に感慨深いものがあります。本日は、Facebookで知り合った井伊さんにお声がけいただき、自著を紹介する場を持たせていただくことになりました。せっかくの機会なので、単なる書籍紹介にとどまらず、「なぜ、この本を出そうと考えたのか」という、著者としての「思い」を中心に説明させていただこうかと考えています。この講演を聞かれている方は、これからAI・データサイエンス系の勉強をしていきたいという方が多いかと思います。そうした方に少しでも参考となる話を持ち帰っていただければ幸いです。※ 記念すべきこの書籍は、⼤変残念なことに現在は絶版となっています。
アジェンダ• AI・データサイエンス系の人材像・スキル領域と自著の関係• 書籍紹介• Pythonプログラミングとデータ分析• ディープラーニングの数学• PyTorch&深層学習プログラミング• Pythonで儲かるAIをつくる• 本日のまとめ
「AI」と「データサイエンス」はひとくくりに考えがちですが、対象データ、利⽤⽬的で種類の異なるものがいくつかあります。更に⼈材像の観点では、ビジネスとの関わりに責任を持つビジネス系と、実装(モデル構築)に責任を持つ技術系に分かれます。「AI⼈材」や「必要スキル」について議論する場合、どのポジションに関する話か意識することが重要です。AI分野主なアルゴリズム対象データ主な利⽤⽬的構造化データ(表形式の数値等)⾮構造化データ(画像、⾳声、テキスト等)線形回帰、決定⽊、勾配ブースティング等様々 ディープラーニング未知データに対する予測→予測⾃体に価値があるデータサイエンス分野既知データから知⾒抽出→業務改善に活⽤AI・データサイエンスの区別と人材像強化学習の環境モデルロボット制御等(強化学習)Q学習, DQN⽅策勾配法⼈材像データサイエンティスト(ビジネス系)データサイエンティスト(技術系)AIエンジニア(ビジネス系)⾮構造化AIエンジニア(技術系)構造化AIエンジニア(技術系)強化学習エンジニア(技術系)
構造化AIエンジニア(技術系)強化学習エンジニア(技術系)紹介した書籍が、主にどの領域の⼈材をターゲットとしているか、マッピングした結果です。構造化AI ⾮構造化AIデータサイエンススキル・人材像と書籍の対応強化学習データサイエンティスト(ビジネス系)データサイエンティスト(技術系)AIコンサルタント⾮構造化AIエンジニア(技術系)ディープラーニング・プログラミングを実装面で解説ディープラーニング・アルゴリズムを数学面で解説• 構造化AI・データサイエンス• ビジネス系・技術系それぞれの観点をバランス良く解説ビジネス系スキル技術系スキル基礎スキル1 章・2章プログラミングと機械学習で必須ライブラリの使い方3章・4章機械学習一歩手前のデータ分析系スキル
書籍紹介• Pythonプログラミングとデータ分析• ディープラーニングの数学• PyTorch&深層学習プログラミング• Pythonで儲かるAIをつくる
『Pythonプログラミングとデータ分析』書籍執筆のきっかけ• クライアントから質問されたとき、紹介できる適切なPython入門書が見当たらない• 本当に伝えたいのは機械学習なのにその前のハードルが高すぎ(せっかくPythonを学んだ後でも、ライブラリごとに本1冊ずつ必要??)→ 「いい本がない」と文句をいうくらいなら、自分で書いてしまえばいいのではないか• 企業でのデータ活用 半分以上は単なるデータ集計で解決する話では?→ 本のゴールは機械学習でなく、データ分析にすればいいのではDX人材育成系案件で日々クライアントに接している際の気付き
『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入門
『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 深掘り分析
『Pythonプログラミングとデータ分析』前半(1章・2章)の特徴• Python文法 必要にして十分な項目の精選(データ分析の「でる単」)• 重要な概念は図を用いて丁寧に解説• 節の最後には実習問題を付けて、概念の定着をはかると同時に「抽象的な要件を具体的な実装に落とし込む」訓練をする• 3つの必須ライブラリ(NumPy、Matplotlib、pandas)もコンパクトに解説• 2章までを、他のAI・DS書籍コード理解の準備用として活用することも可能
『Pythonプログラミングとデータ分析』前半(1章・2章)のハイライト重要な⽂法は囲み記事で詳しく説明(1章)NumPyのスライス機能も図で解説(2章)演習問題はコメントにヒントがあり、指⽰に従えば解ける形に(1章)こんなグラフ描画も⾃⼒でできるように(2章)
『Pythonプログラミングとデータ分析』後半(3章・4章)の特徴• 3章の冒頭で主要タスクとタスク間の関係を整理し、学習中に迷子にならないようにした• pandasの多くの関数・メソッドを目的別に体系化し、理解しやすくした• 3 章も公開データセットを用いたシナリオベースの展開にし、読者が興味を持ちやすい工夫をした• 各シナリオごとに導出される洞察の例を提示し、データ分析で最も難しい洞察導出のスキル育成も意識• 4章は、一連の分析タスクをストーリー仕立てで演習にして、実際のデータ分析タスクのイメージが持てるようにした
『Pythonプログラミングとデータ分析』後半(3章・4章)のハイライトタスク間の関係を整理(3章) 公開データセットを⽤いた可視化(3章) 分析結果のまとめ(4章)
『ディープラーニングの数学』書籍執筆のきっかけ最初の書籍の巻末に簡単な数学解説を書いたときの気付き• 機械学習のアルゴリズムは数学そのもの• 機械学習アルゴリズムを説明している書籍は、いきなり難しいところから始まるか、わかりやすさを重視するあまり肝心の数学的説明を逃げているかの2パターン→ 「数学から逃げずに」かつ「わかりやすく説明」できれば、書籍としての価値を出せるのではないか• 執筆当初、実践編はロジスティック回帰でやめるつもりだったが、出版社から「どうしてもディープラーニングを入れてほしい」と言われ、無理矢理含めることに→ 「ディープラーニングの数学」の形になったサポートサイト
『ディープラーニングの数学』前半の理論編で解説する数学概念間の関係図。対象範囲は高校1年から大学教養課程まで幅広い。アルゴリズム理解に関係あるものに限定して選択後半の実践編では、対象モデルを線形回帰からディープラーニングまで「進化」させる。この考えを取り入れることで、新しい概念の説明をスモールステップ化
『ディープラーニングの数学』理論編のハイライト全微分の公式は、2変数関数の例を題材に図形的に説明全微分の公式を「内積」と解釈すると、勾配降下法の数式は「あたりまえ」になる!
『PyTorch&深層学習プログラミング』書籍執筆のきっかけ2ヶ月の浪人生活で暇だったときにPyTorchを勉強して得た気付き• Keras と比較してとっつきにくいが、理解してみるととても便利• 特に数学的原理との関係が見えるようになっているのがうれしい• しかし、APIリファレンスやチュートリアルは初心者にとっつきにくい→丁寧な解説書を作れば、多くの人に役に立つのではないか• 多値分類の損失関数の考え方にクセがあり、理解するのが大変サポートサイト
『PyTorch&深層学習プログラミング』PyTorchを使った機械学習の仕組みを、実装コードと対応付けて説明計算グラフを可視化ツールで表示することで「損失」の関数構造を理解
『Pythonで儲かるAIをつくる』書籍執筆のきっかけ金沢工業大学虎ノ門大学院で「AI技術研修上級編」の講師をした時の気づき• 構造化データを対象としたお手軽な機械学習入門書がない• アルゴリズム理解より、使い方を重視したものにしたい• 完全に動作する実習を通じて、具体的なユースケースのイメージを読者に持ってほしい→5章で公開データセットを用いた5つの事例を説明することで実現サポートサイト• PoC(技術検証)で終わらず、本番までたどり着けるAI案件を増やしたい→6章「AIプロジェクトを成功させる上流工程のツボ」に自分のメッセージを込めた→「儲かるAIをつくる」の企画の発端
『Pythonで儲かるAIをつくる』prophetによる時系列モデルで、貸自転車利用者数の予測をした事例(5章から)処理パターンの選択フロー図(2章から)「祭日」情報追加で精度がよくなった箇所
本日のまとめ• AI・DSといってもいろいろなタスク・人材像があり、必要スキルも異なる。学習するにあたり、自分としてのゴールを明確にすることが重要。• すべての出発点はPythonプログラミング。高速道路でこのスキルをマスターしたいなら、拙著「Pythonプログラミングとデータ分析」をお試しを• データ分析では、機械学習を用いなくても意味のある結果は数多く出せる。まずは、このアプローチで「洞察」を導出する訓練をすることがお勧め。拙著「Pythonプログラミングとデータ分析」の後半はこの目的でも最適。• AI系の最新状況として、様々な分野で利用可能なOSSの事前学習済みモデルが出ている。PyTorchを使いこなせるようにしておけば今後活用分野が広がるかも。(講演者の私見。今日のスライドでは語っていない話)• PyTorchを使いこなせるようになることが目的の場合「ディープラーニングの数学」「PyTorch&深層学習プログラミング」のセットがお勧め