AIをただ使うだけではなく、中学レベルから数学を学習し、AI関連の基本的な概念などを理解し、ある程度開発もある程度できる状態にする1年間の学習ロードマップです。
1日2時間程度の学習を前提にした、簡単ではないが現実的にできる範囲の物です。
数学ゼロから始めるAI理解の独学ロードマップ — 1年で理論も実装も攻略
さらに補足として、数学をどう学べばいいか、1年学習した後にさらに半年ほど学習して、自分専用AIアプリケーションを作成の入門レベルまでが可能になる方法を紹介しています。
AIを「使うだけ」で終わらせないために ― 数学ゼロから始めるAI理解ロードマップの補足解説
これらはあくまでもAIに関係する数学の内容を学習する流れです。
同じようなコンピュータを使う計算と言えば、AI以前から科学技術計算などがあります。
AI用に学ぶのではなく、科学技術計算用に学ぶ場合を説明します。
AI用に学習をしない場合、AI学習をした後に、科学技術計算をする場合のロードマップを紹介します。大きく変わるのは、大学レベルの数学学習となり、高校数学を学び、Pythonを電卓として使用できるようにするまでは基本的に同じです。
AI用の数学ではなく科学技術計算用の数学を学習する
AI用の数学では、線形代数、微積分の後に統計・確率を学習します。科学技術計算向けに特化する場合、微積分の後に、微分方程式、数値解析を学習し、物理シミュレーションを実際にどうやっているのかの実践を行います。
ここでは各種シミュレーション、科学技術計算、数値解析、科学演算、科学計算などを総称して「科学技術計算」としています。
ここでもディープラーニングの書籍ではなく「Pythonによる数値計算入門」のような科学技術計算に特化した書籍を活用します。
この後の学習は自分が何をやりたいのかによって変わっていきます。何か明確な目標がある場合は各分野1ヶ月から2ヶ月ほどかけてAIの学習と同様に、自分が行いたい分野の学習をしていきます。
AI関連学習をした後に、科学技術計算用の数学追加学習する
1年間AI関連を学習した後、もしくは1年半PyTorchを使えるようになった後に、科学技術計算向けの学習をします。
もちろんまだ学習が終わったばかりなので、経験も少なくすべてを何でもできる状態ではありませんが、基礎知識はあるので専門書を読んで謎の呪文が並んでいる状態ではありません。
前者なら合計1年半の学習で、AI関連の意味がわかる状態になって、科学技術計算ができるようになる。後者なら、AI関連のアプリを意味がわかって開発できる状態に加えて科学技術計算もできるようになります。
AI関連の学習を1年である程度の目処をつける場合は、PyTorchは使わずSciPyを使えるようにします。AI関連の学習を1年半行う場合、PyTorchに加えてSciPyも使えるようにします。
SciPyでは積分・微分方程式に加え、「最適化(Optimization)」などのモジュールがあり、簡単にややこしい計算の答えが出てきます。 この「最適化」は、AI学習でいう「誤差を最小にする(勾配降下法)」と本質は同じです。科学技術計算でも「実験データに最も合うパラメータを見つける」「最も強度の高い形状を見つける」といった場面で多用するため、AIの知識がそのまま武器になります。
この科学技術計算で重要なのは、その現象をどう数式でモデル化するという点です。
さらに、モデル化した物が妥当かを評価できるようになる必要があり、数値安定性、誤差評価、離散化の妥当性に関しての理解が必要です。SciPyにデータを入れれば求めている答えが出てくるほど簡単ではありません。
簡単ではありませんが、しっかりと学習していけば必ずできるようになります。そのための高校レベルまでの数学の知識などに問題があると思ったら、いつでも戻って学習しなおしましょう。
このあたりをどう学習していくかは本人が最終的に何を優先したいかによって変わっていきます。1年でAI学習を終わらせる場合は、画像認識はやったことがあるが、自然言語処理やPyTorchは使ったことがないような状態です。
自分が最も優先したい物を先に行って、さらに他の分野も興味があればその後に学習するのでも問題ありません。
自社のチャットボットを作るようなAI関連よりも、自社の業務で必要な物理シミュレーションができる事を今すぐやりたい企業も多いです。AIを使った画像処理やチャットボットよりも、物理シミュレーションができる人材の方が価値が高い場合も多いため、今流行っているからと興味本位でAIの学習を優先する必要は無いです。
1年半AI学習をした後のおすすめルートは2つあります。これらのルートはそれぞれ半年ほどの学習になります。(1日2時間学習の場合)
Pythonで物理シミュレーションを学ぶ
流体力学と、構造力学を追加で学びます。製造業などでは必須の科学技術計算となります。
流体力学はAIの畳み込み演算が微分計算と同じような物な事に気づけます。構造力学は、強度計算などで使いますが、連立方程式を解くことになります。
そして、単純にデータをすべて入れて演算すればいいわけでもなく、正しい式に単純にデータを入れたとしても、数値計算では破綻することがあります。例えば、物理シミュレーションで時間の刻み幅を間違えるだけでデタラメな結果になってしまいます。
そのため誤差や安定性の概念を理解して、求めるデータが出力されるようにすることも必須です。
Pythonで信号・制御を学ぶ
信号処理、制御工学を学びます。ロボティクスや自動運転、IoTなどでも活用出来ます。
信号処理ではフーリエ変換を学習し、波形解析、ノイズ除去などで、AIのデータの前処理などでも活用できます。
制御工学では古典制御・現代制御などを学習し、ドローンの姿勢制御、ロボットアームの動きに活用できます。状態方程式を行列で行います。
よくわからないが将来に備えて科学技術計算用に何かを学習したい場合
実はこの将来に備えるという内容は非常に重要です。
科学技術計算で使う様々な知識は数十年変化していません。一方でAI、ディープラーニング、機械学習は1年後にどうなっているかわかりません。基本的な数学部分ではかわりませんが、1年後はともかく5年後にディープラーニングが広く使われているかも不明です。
そんな将来も確実に利用できる科学技術計算では、まずは、微分方程式を学習しましょう。
時間の流れ毎の変化を使って演算するシミュレーションの肝となる部分です。
AI関連では、これを応用したPhysics-Informed Neural Networks (PINNs)(物理法則を組み込んだニューラルネットワーク)などの新しい技術が注目されています。PINNsはデータが足りない場合でも、物理法則(微分方程式)をAIに学習の制約として与えることで、物理的に正しい予測を可能にする技術です。
次にフーリエ解析を学びます。
SciPyを使う場合、波の重ね合わせとしての理解が必要になります。フーリエ変換の意味がわかるようになれば、音声、株価、振動などのあらゆるデータがサイン波の足し算に分解できることがわかります。前述したようにノイズ除去などのAI関連でも役に立ちます。
これらの学習で重要なのは、微分方程式の複雑な解き方を覚えるのではなく、式を見たら、変化の勢いがイメージできる状態にすることです。フーリエ解析も複雑な積分計算を覚えるのではなく、波形が成分にわけられるというようなイメージやグラフの見方が重要になります。
日本語の書籍で何が参考になるかは難しいですが、例えば既に紹介している「Pythonによる数値計算入門」や「やさしく学べる ラプラス変換・フーリエ解析 増補版」などがあります。
AIや科学技術計算の数学を理解し、AIサービス、データ解析ができる状態とは
現在、多くの企業ではDXとして様々な業務改革を行う必要があります。
そのためには既存のデータを分析したり、そもそも必要なデータを集めたりする必要があります。
具体的に何をすればいいかよくわかっていない企業が多いのが現状です。大手企業なら、そのような人材もいますが、中小企業などにはいない状態です。
何かやろうとした場合、ITベンダーに依頼しても、それが求めている形になるかはわかりません。
このようなことができる人材は、2026年現在で多くて数万人程度しかいないと推定されます。日本のITエンジニアと呼ばれる人口は100万人程度なので、全体からしても希少な人材となります。
既に何年かの社会人経験がある場合、その経験と組み合わせた人材は更に貴重になります。
AIも科学技術計算も、現実をどう数式化するかという問題です。
関連する数学を学び、現在使われている様々な問題をどう解決していくかです。合計2年弱の期間学習することで、その問題を適切な数式でコンピュータを使った演算が出来るようになっていることが最終形としての理想です。
ピンバック: 数学ゼロから始めるAI理解の独学ロードマップ — 1年で理論も実装も攻略 | Masaru Kamikura Blog
ピンバック: AI独学ロードマップの生存率は5% ― 「わかったつもり」を防ぎ完走するための生存戦略 | Masaru Kamikura Blog