第3次AI(人工知能)ブームの現在、AI(人工知能)について知識や経験のあるAI(人工知能)エンジニアのニーズが高まっていますよね。将来、AI(人工知能)エンジニアになってIT業界で活躍したいと考えておられる方も多いのではないでしょうか。
しかしながら、AI(人工知能)案件のエンジニア募集は多くがスキル保有者に限られています。現場でスキルを学ぶことができないとなると、独学でAI(人工知能)エンジニアを目指すことになりますよね。
独学でAI(人工知能)エンジニアになるにはどのようなスキルが必要なのか、また、プログラミングスキルの他に数学のスキルも必要と言われていますが、なぜ数学のスキルが必要なのか、などの疑問をお持ちの方もいらっしゃることでしょう。
そこで今回は、独学でAI(人工知能)エンジニアになるために最低限必要となる3つのスキルについて確認しましょう。
AI(人工知能)エンジニアになるには3つのスキルが必要
独学でAI(人工知能)エンジニアになるには、最低限以下の3つのスキルが必要となります。学習の順序は以下に記載した順序で進めることをお勧めします。
1)機械学習の基礎知識
2)プログラミング
3)数学
AI(人工知能)エンジニアになるには、まずは機械学習の基礎から学習しましょう。次に、プログラミングの学習に進みます。数学についてはプログラミング実習を進める過程で発生した疑問について、その都度少しづつ学習してゆくという進め方がお勧めです。AI(人工知能)エンジニアになるには数学は前提知識と考え、数学の学習から始めてしまうと挫折してしまう危険性がありますので注意しましょう。
それでは次に、必要とされる3つのスキルについて具体的にそれぞれを確認してゆきましょう。
必要なスキルその1:機械学習の基礎知識
AI(人工知能)エンジニアになるには、以下の4つの機械学習の基礎知識が必要となります。
機械学習のアルゴリズムは種類も多く領域が広いため、まずは自分が身につけたいアルゴリズムを(印象による好みでも構わないので)あらかじめ選定しておくのも効果的な学習方法です。機械学習のアルゴリズムについては下記が参考になるでしょう。
また、データの前処理や特徴量設計は機械学習を実践するにおいてもっとも時間を費やす工程ですので、これらの領域についての知識も必要不可欠です。下記の記事が参考になるでしょう。
必要なスキルその2:Pythonプログラミング
機械学習の基礎知識が理解できたらプログラミングの学習に入りましょう。
AI(人工知能)エンジニアになるには、プログラミング言語はAI(人工知能)の分野での使用人口が最も多いPythonがお薦めです。(余談ですが、Pythonを開発したオランダ人のグイド・ヴァン・ロッサムが大ファンであった、イギリスBBCのコメディ「空飛ぶモンティ・パイソン」がPythonの名前の由来です)
Pythonをお薦めする理由は以下の2点です。
■多くのライブラリやフレームワークが提供されています
Pythonのプログラミングでは、多くのライブラリから目的に合ったライブラリを見つけ出し活用できる知識が重要となります。プログラミングは慣れの部分が大きいので、AI(人工知能)エンジニアになるには、独習書やフレームワークのチュートリアルなどに掲載されている様々なコーディング例を参考に、とにかく実際に手を動かしながら数多く練習する必要があります。
もちろん手を動かすと言ってもただ闇雲にAIエンジニアを目指して勉強するのも危険かもしれません。実際の失敗談はこちら
必要なスキルその3:数学
AI(人工知能)エンジニアになるには線形代数、微分および確率についての数学の知識が必要です。数学についてはプログラミングを学習し余裕が出てきてから着手する方がいいでしょう。
微分:ディープラーニング、最小2乗法、勾配降下法、誤差逆伝播法などで微分を活用します。
確率:分散・尤度・正規分布など。傾向を知りデータから全体像を予測するのに有効です。
実は、数学の知識なくともライブラリを活用したプログラミングにより、なんとなくうまくいく機械学習モデルを構築することはできます。しかしながら、構築したモデルの予測精度を改善したい場合には、使用しているアルゴリズムのパラメータの調整が必要となります。そのためにはアルゴリズム(数学で記述されています)とリンクしている数式が理解できていないと、どう調整していいか分からないということになるのです。
しかし、だからといってプログラミングの学習に入る前に線形代数、微分、確率について一通り学習するというのは挫折の危険性が大きいです。筆者も、AI(人工知能)エンジニアを目指して学習をしていた際に、何度も数学でつまずいた苦い経験があります。
AI(人工知能)エンジニアになるには、プログラミングで実際に動くモノを体験することにより学習のモチベーションを保ちながら、パラメータ調整が必要になったタイミングで(まずは必要な範囲について)数学を学習してゆく、という方法をお勧めします。
もっと数学を学ぶ意義について学びたい方はこちらをご覧ください。
以上、今回は独学でAI(人工知能)エンジニアになるために最低限必要となる3つのスキルについて確認してきました。
1)機械学習の基礎知識:基礎的な概念、アルゴリズム、開発環境、開発手法
2)プログラミング:多くのライブラリやフレームワークが提供されているPythonがお薦め
3)数学:線形代数、微分および確率
現在、AI(人工知能)エンジニア不足は世界的に深刻で、経済産業省の調査によると(日本の場合)2020年に約4万8000人不足すると見込まれています。
Googleは昨年よりAI(人工知能)エンジニア貸し出しサービスを実施、また国内では政府が様々な取り組みを進めています。(例:2018年6月統合イノベーション戦略では、AI(人工知能)を特に取組を強化すべき主要分野とし、2025 年までにAI人材育成規模を年間数万人とする目標)
今後、ますます様々な分野でAI(人工知能)エンジニア求人の急増が見込まれており、AI(人工知能)エンジニアを目指す方には非常に大きなチャンスですよね!ちなみに今皆さんが読まれているこちらのメディアAIZINEの編集員にも、AI(人工知能)エンジニアを目指して奮闘している者がいます。詳細はこちら↓
今回の必要スキル3つをマスターすることはかなり高いハードルですが、最近急増しているAI(人工知能)関連書籍、AidemyやUdemyといった学習サイトあるいは様々な関連Webサイトなどの活用により、スキル獲得も夢ではなくなっています。AI(人工知能)エンジニアを目指している皆さん、目標の実現に向けてがんばりましょう!
参照元
機械学習の基礎
人工知能をプログラミングするならPython!
PythonがAIに使われる理由とおすすめ勉強法
AI(人工知能)エンジニアの貸出サービス
2020年に約4万8000人不足
統合イノベーション戦略
Aidemy
Udemy
【保存版・初心者向け】独学でAIエンジニアになりたい人向けのオススメの勉強方法
■機械学習のアルゴリズム:決定木、ランダムフォレスト、クラスタリング、サポートベクターマシン、ディープラーニングなど
■機械学習の開発環境:Pythonなどの言語、TensorFlowやKerasなどのフレームワークの知識
■機械学習の開発手法:データの前処理、特徴量の設計、モデル開発、モデル評価