はじめまして、データサイエンティストのmeifelyukiです。
本稿では「AIエンジニアにはそもそも数学が必要なのか?」「どの程度の数学が必要なのか?」「おすすめの数学の学び方は?」などの「AIエンジニアと数学」に関わる幅広いトピックを扱いたいと思います。
AIエンジニアに数学は必要なのか? → YES!!
AI(人工知能)の仕組みには、統計学・機械学習・深層学習など様々な数理科学の分野の知識が使われています。数学はこれら数理科学のどの分野でも必要な共通言語です。AIを仕組み部分からきちんと理解して「使う/作る」エンジニアを目指すのであれば、数学の知識は必須と言えるでしょう。
車の運転を覚えるのに力学は必須ではありませんし、携帯電話を使うのに電磁気学の習得は必要ありません。しかし車を作り、携帯電話を作るエンジニアならば力学や電磁気学の知識は必須です。同じようにAIを「作る」ということに少しでも真剣に向き合うならば数理科学(数学)の学習を避けるべきではないでしょう。
本当に本当に必要なの? → YES!!
まだ疑っている人もいるかもしれません。確かに、Pythonには便利なライブラリが沢山あり、中身をちゃんと理解していなくても、少しの手間で一見高性能な売上予測モデルや画像の識別モデルを作ることはできます。しかし、製品レベルの開発を行うのであれば、出来合いのライブラリを使ってばかりはいられません。フルスクラッチで書く必要がある場合も多いし、ライブラリを使うにしても、モデルの細かいチューニングや動作検証が不可欠となる場合が多々あります。そして、細かいチューニングには仕組みの理解が必要なものなのです。
数学は必要ないという人や職場もあったけれど? → 甘い言葉に注意!
「AI」はすっかりバズワードとなってしまったため、AIと冠するソフトウェアの中には、実際には昔ながらの技術がメインで使われている「なんちゃってAI」なソフトウェアも多くあります。「なんちゃってAI」の開発をする限り、その技術は十分使いやすいものになっているか、そもそも十分簡単なロジックであるため、数学は必要ないかもしれません。けれどそれは、あなたが作りたい「AI」ではないはずです。そして、「なんちゃってAI」の販売者を見極め、距離を置くためにも数学は必要なのです。
数学の必要性、伝わったでしょうか。今度はもっと積極的に数学を学ぶメリットを紹介したいと思います。
AIエンジニアに限らず、数学は投資対効果が大きい!
A Iは成長産業であり、新しい技術や製品・サービスが次から次に発表されています。大きなチャンスであることは間違いないのですが、一方で大変残念ながら、今発表されている技術・製品・サービスの9割以上が、10年後には跡形なく消えていることでしょう。一所懸命身につけた特定技術のスキルや特定製品の知識は、あっという間に陳腐化しているか無用なものになっていく可能性が高いです。
一方、数学の知識は決して陳腐化しません。
何十年後までも、あなたにとって有用な知識であり続けるだろうし、何十年後の新しい技術を学ぶにも、現代の数学の知識は必要なはずです。例えば、A I技術のスタンダードである深層学習を記述する数学(解析や線形代数など)の基礎部分は17Cから20C初頭までに整備されました。数学は技術よりも100年も先を行っているのです!個人にとって、数学はAI以上の投資効果があるかもしれません!
皆さん!数学を学びましょう!
次は年代別の数学応援メッセージです!
数学は差別化できる!20代なら何がなんでも数学!!
入社したての20代の皆様。あなたたちはすぐに、実際の開発の現場では、多くの人が数学をまともに理解していない、もしくは苦手意識を感じていることに気づくと思います。理系出身者であれば先輩や上司に対して「こんな簡単な数学も分からないのか?」と思う場面もあるかもしれません。数学は若手のあなたでもベテラン社員に負けずに差別化できる分野なのです!大学時代の記憶がまだ十分残っているというアドバンテージを存分に活かしましょう! 数学から離れないようにしてください!
30代以上でも数学を学ぶ意義は大きい
今30代・40代のみなさん。皆さんの中には、時代の変化の中で、数学の必要性が声高に叫ばれるようになってきたことに焦りを感じている方もいるかもしれません。中高数学の知識もすっかり忘れてしまい、不安な人もいるでしょう。とてもよく分かります。業務で多忙な社会人にとって、業務に直接関与しない(と思われていた)数学の知識を維持するメリットはなかったはずなので、忘れてしまうことも無理のないことです。皆さんだけではありません、
社会全体が数学の有用性に気づいたのはごく最近のことなのです
だからと言って、大学卒業から何年・何十年も数学を離れた人が、新たに数学を学び始めるのはそんなに簡単なことではないと思います。以下の章では、数学から遠く離れてしまった人のリハビリプランも含めて勉強法を紹介していますので、参考にして見てください。
文系でも大丈夫!?
AIのフィールドで生きていくのならば「文系だから・・・(○○が苦手)」という言い訳(少し言葉が悪くごめんなさい)は百害あって一利なしです。そして、実は、文系出身のAIエンジニアというのはそれほど珍しい存在ではありません。(あまり知られていませんが)もともと高度数学な数学を使う経済系や心理系の出身者だけではなく、文系の中でもとくに数理から遠く離れた人文系(法学や文学・哲学など)の出身者でさえ時々出会います。あなたが思っているほど壁は厚くはありません。
それではA Iエンジニアにとって必要な数学の内容を見てみましょう
AIエンジニアに必要な数学とは?
AIエンジニアに必要な数学とは、A Iのロジックを支える様々な数理科学の分野(具体的には確率論、統計学、機械学習、深層学習、最適化…)の全てを学ぶために必要となる数学のことであり、厳密な意味では書き下すことはできませんが、これら処分野の教科書や専門書籍が前提としている数学知識は、概ね以下の三分野になります。
- 微積分の基礎(大学1,2年程度)
- 線形代数の基礎(大学1,2年程度)
- 数理統計学(大学1,2年程度)
中学数学や高校数学はどのあたりが必要?
「中高数学も怪しい・・・」という方は、中高数学からの復習を望まれるかもしれませんが、中高数学のテキストを紐解く必要は必ずしもありません。例えば以下で紹介するテキストの一冊は、ほとんど中高数学の復習のような内容から始まっています(ラング『解析入門』:日本とアメリカのカリキュラムの差による部分も大きいですが、日本のテキストでも高校内容の復習からはじまっているテキストは多いです)。ですので、まずは大学の教科書からスタートしてみて、どうしても難しい場合に中高数学のテキストに戻りましょう。
ここからは上で挙げた3つの分野(微積分・線形代数・数理統計)について、リハビリ本1冊・専門書2冊の構成で紹介をしていきます。ただし、テキストは相性も大切ですので、必ず手にとって中身を確かめてからご購入ください。
微積分の基礎(大学1,2年程度)の学習におすすめの本
微積分だけの話ではありませんが、一見コンパクトにまとまった抽象論よりは、沢山の具体的演習問題を扱った本の方がおすすめです。
- 小島寛之『0から学ぶ微分積分』:微分積分のリハビリ本です!数学から遠く離れた人の最初の1冊として(ゴールは「ラグランジュの未定乗数法」です)
- ラング『解析入門』:リハビリから復帰後一気に基礎体力をつけるための本
- 加藤文元『チャート式シリーズ 大学教養 微分積分』:大学版青チャート、こちらも基礎体力本です
得意な人向けに到達目標のキーワードを書いておくと「偏微分」「ラグランジュの未定乗数法」「変数変換・重積分・畳み込み積分」などでしょうか。
線形代数の基礎(大学1,2年程度)の学習におすすめの本
線形代数の世界もまた奥深いので、学び方を間違えず、A Iや機械学習で使われる形を効率的に学んでいくことが大切です。
- 小島寛之『0から学ぶ線形代数』:線形代数のリハビリ本です!数学から遠く離れた人へ
- 平岡和幸、堀玄『プログラミングのための線形代数』:線形代数の使い所がわかる本、入門から活用への橋渡し本です
- D.A.ハーヴィル『統計のための行列代数(上・下)』:統計学への応用に向けて再構成された線形代数を学びます
得意な人向けに到達目標のキーワード:「射影行列」・「2次形式と楕円」・「特異値分解」など
数理統計学(大学1,2年程度)の学習におすすめの本
数理統計で使われる確率変数という概念は、予測モデルや分類モデルなど、機械学習で使われる様々な数理モデルを表現するためのアルファベットです。まずは何より確率変数の扱いに慣れることを目標に進めてみてください。
- ダレル・ハフ『統計でウソをつく法』:世界中でベストセラーとなった統計入門のための読み物です。
- 東京大学教養学部統計学教室『統計学入門』:あまりにも有名なテキスト。統計的発想の基礎固めのために
- 藤田岳彦『弱点克服 大学生の確率・統計』:確率・統計を「言語」にする基礎体力作りのための演習本
数学の基礎を学んだら
数学の基礎を身につけた(あるいは、到達目標に挙げたキーワードを既に十分理解している)場合は、機械学習や深層学習のカタログ的入門書に入ると良いでしょう。数学の基礎知識があればさほど苦労することなく読み進めるはずです。以下にいくつか推薦書を記載します・・・
- ゴードン S.リノフ, マイケル J.A.ベリー他『データマイニング手法(シリーズ2冊)』
- 平井有三『はじめてのパターン認識』
- 金谷健一『これなら分かる最適化数学』
- Ian Goodfellow, Yoshua Bengio他『深層学習』
おめでとうございます!!ここまで来れば、あなたはA Iエンジニアとして(理論については)十分な基礎知識を身につけたと言えるでしょう!
独学は難しい!?忙しい社会人の数学勉強法
今回はテキストを紹介しましたが、現代は、本だけではなく、オンライン動画やセミナーなど様々な学習ツールが溢れています。海外の有名大学の授業が無料もしくは相当な安価で受講できるオンラインコースや、高校数学の基礎知識を2日間で効率的に復習できるセミナーなど、媒体を選ばず詳しく探せばあなたの今の要望に応えてくれるものがきっと見つかるでしょう。学生のように時間がない社会人にとっての勉強法のコツとはズバリ手段を選ばないこと、業務で培ったスキルを応用して最大限効率的な方法を選択しましょう。また時にはお金を使って問題解決してしまうのもアリだと思います。余裕があるならば、スクールやメンターを検討しましょう。
スクールは?どこで学べるか?
多忙な社会人が数学を学び直すのは簡単ではありません。独学では難しいと判断された場合はメンターや塾を検討しましょう。最近では社会人向けの数学塾もあり、「数学だけ」鍛えたいという需要にも応えてくれます。もちろん、数学を含めてプログラミング言語やAIの理論など、AIエンジニアに必要な基礎知識をトータルに学びたいということであれば、データサイエンス系の塾を検討してみると良いかもしれません。以下でいくつか紹介をします。詳しくは各社のWEBサイトを参照して下さい。
オンラインコース
- Udemy:何千ものオンラインコースが用意されています。「数学」を検索キーにすると「AIのための数学」なども。
- gacco :大学教授による講義など、本格派な講義をしかも無料で受講できます。
*リンクはTOPページです。数学コンテンツは適宜検索してください。
社会人向け数学教室
- 大人のための数学教室 和 :数学の個別指導です。授業はオーダーメイドなので、つまづいた所から再出発できます。
- すうがくぶんか :こちらも個別指導の数学教室です。集団セミナーや大学とのコラボ企画も。
データサイエンス・スクール
- データミックス :オンラインとオフラインで展開しているデータサイエンス・スクール。数学もある程度ちゃんと扱われます。
今回は「数学」がテーマなので、プログラミングのみのスクールや、プログラミング主体のデータサイエンス ・スクールは除外しました。
まとめ
AI関連の記事を見ていると「数学は必要ない」「数学は意外と簡単」「数学的思考力があればいい」など、全体的に読者におもねった、文系に甘いトーンの記事が目立ちます。が、著者の経験から言うと実際には数学は必要です。ただし、きちんと労力と時間をかければ、エンジニア業務で必要なレベルの数学は多くの人がクリアできる課題だと信じています!あきらめずに数学を武器にしましょう!
著者:meifelyuki
フリーランスのデータサイエンティストとして、大学や企業などをフラフラしながら様々なデータサイエンス業務に携わっています。データサイエンスを「する/教える/作る」の全てが好きです。レガシーな統計解析も、kaggleな機械学習も、強力だけど時にブラックボックスな深層学習も平等に好きです。お仕事の依頼は編集部まで!