
AIエンジニアへの転身は難しい!?難易度と挫折しないための心構え
日本全体でAIエンジニアが不足しているとされています。国が公表する統計情報でもその事実は確認でき、さらに多くのAIエンジニアが求められています。
ただ、人手不足ではあるものの、AIエンジニアになるのは難しいのが現状です。この記事では、AIエンジニアになるのが難しい理由についてご説明します。
AIエンジニアは不足している
実際にAIエンジニアは不足しているのでしょうか。また、不足しているのであればなぜAIエンジニアになるのは難しいのでしょうか。まずはAIエンジニアの状況について現状を把握するようにしていきましょう。
AIエンジニアの不足により求められているのは間違いない
現在AIエンジニアが不足しているのは間違いありません。これは公的な機関である総務省が発表している「令和元年版 情報通信白書」や独立行政法人情報処理推進機構が発表している「IT人材白書2019」から判断できます。
最新の公表資料において、IT人材のうちAIエンジニアに関わる部分が多くあり、不足していることも記述されています。これらの記述は企業への調査結果を踏まえて書かれています。つまり、国の勝手な判断ではなく、実際の現場でAI人材が不足しているということです。決して現場と乖離しているような内容ではありません。
不足していても転身は難しい
AIエンジニアが不足している状況であることはご理解いただけたでしょう。皆さんは「不足しているなら転身のチャンス」と考えたかもしれません。しかし、このような状況でもAIエンジニアに転身するのは難しいのが現状です。その理由は大きく分けて2つです。
- 企業側がどのようなAIエンジニアを採用すれば良いのか判断が難しい
- AIエンジニアに求められるスキルが高く習得が難しい
前者は企業目線から難しいと考えられるものです。詳細は割愛しますが、AIエンジニアのスキルは難しいものが多く、採用する側もどの程度のスキルがあれば良いのか判断できないのです。明確な採用基準を持つのが難しく、思うように採用できないことがAIエンジニアへの道を難しくしています。
後者は純粋にAIエンジニアに求められるスキルが高いということです。企業側もよく分かっていない部分はありますが、他のエンジニアよりもハードルが高いことは間違いありません。AIエンジニアに求められるスキルが難しい点については以下で詳しくご説明します。
なぜAIエンジニアになるのは難しい?課題とその難易度
AIエンジニアの必要スキルは以下のようなスキルが挙げられます。
- AI開発のプログラミング
- 数学的な知識
- データ解析
- 機械学習アルゴリズムやディープラーニング
1つ目はAIを開発するにあたりプログラミングができなければなりません。多くの言語で開発されていますが、最近では「Python」を中心に「C」「java」などがプログラミング言語に多々採用されています。これらのプログラミングスキルがなければ開発はできません。
2つ目は数学的な知識がなければなりません。これがなければAIの仕組みを理解するのは難しいでしょう。高校で学んだ微分や積分、確率統計などの知識をベースとして、さらに難易度の高い数学を扱えなければなりません。
3つ目はデータ解析に関するスキルも求められています。数学的なものと重なる部分はありますが、ここでは独立して考えましょう。最近耳にする言葉では「ビックデータ解析」と呼ばれるものがここに該当します。
最後に機械学習アルゴリズムやディープラーニングに関するスキルも必要です。AIはディープラーニングや機械学習を利用して開発されています。詳細は割愛しますが、AIは機械学習アルゴリズムを利用し、機械学習アルゴリズムはディープラーニングを利用しています。そのためAIを開発するにあたりこれらの知識も必要です。
これらのAIエンジニアの必要スキルを踏まえ、AIエンジニアが難しい理由を詳しく解説していきます。
AIの概念が複雑
AIの概念が複雑であることがAIエンジニアになることを難しくしています。
例えば、AIの基本的な概念である「人工的にコンピューター上などで人間と同様の知能を実現させようという試み、あるいはそのための一連の基礎技術を指す(Wikipedia)」などの理解が難しいと言えます。
また、AIの開発などに必要な機械学習アルゴリズムやディープラーニングも複雑で難しいものです。基本的な考え方も難しく、ここでつまずいてしまう人もいるぐらいです。基本的なものは理解できても、AIを開発するまで深く理解するのは負担であり、ここも難しいと言える部分です。
ディープラーニングは機械学習アルゴリズムの一つであり、データを読み込ませることで様々なことをAIに学習させられます。ただ、読み込ませるデータを間違えると意図した結果を得られないという問題点もあります。アルゴリズムの理解も難解であり、さらにデータを読み込ませるなど活用の場でも難解であることが、さらに難しいものとしています。
数学的な素養が必要
AIエンジニアは情報を数学的に解析するため数学の素養も必要です。多くの場合は数学的には有名なアルゴリズムが利用されます。
理解するべき数学のアルゴリズムは多数あります。一例を挙げるとすれば、以下のアルゴリズムを理解しておくと良いでしょう。
- k近傍法
- k平均法
- 決定木
- ランダムフォレスト
- SVM
- マルコフ連鎖
これらの中には数学の素養があれば理解しているものも含まれているはずです。また、数学の知識の中でも深いものであり、意図的に学ばなければならないものもあるはずです。学習状況は人それぞれであるとは思いますが、これらの数学的な素養がAIエンジニアになることを難しくしています。
技術進化が高速
AIは技術進化が高速であることが特徴的です。このことがAIエンジニアになることを難しくしています。
ITは全体的に技術進化が高速である業界です。1年前に開発された技術がすでに利用されていないこともあるぐらいです。これは極端な例ですが、3年もすれば新しい技術に置き換わることが多々あります。
加えてAIはさらに高速な技術進化が進んでいます。1年間で多くの技術が生み出されることも十分にありえます。AIエンジニアはこられらの技術を次々に習得しなければなりません。
これからAIエンジニアを目指すのであれば、学習しているうちに新しい技術が生み出されます。つまり、技術を習得しても徐々にゴールが遠ざかってしまうのです。学ぶ内容だけではなく、内容量が徐々に多くなり続けることもAIエンジニアになることが難しい理由です。
論理的な思考が必要
AIエンジニアには論理的な思考が必要であり、このことがAIエンジニアになることを難しくしている部分があります。
ITエンジニアは文系出身も多く、その中には論理的な思考が得意ではない人もいます。ただ、システムエンジニアなどはコミュニケーションスキルなどだけで対応できることもあります。そのため、これでも問題なく仕事を進められるのです。
しかし、AIエンジニアはデータサイエンスなど機械学習アルゴリズムを使いこなせなければなりません。ここは論理的な思考が必須です。例えば各種数学的なアルゴリズムやデータ構造の理解が必要です。
また、物理的なアーキテクチャに関しての理解も必要です。これらを使いこなすのにも論理的な思考が必要です。
日頃から意識して論理的な思考を持つことに慣れなければならない点でも難しいものです。
【まとめ】AIエンジニアに向いてるのはこんな人
上記の内容を踏まえてAIエンジニアに向いているのは以下の条件を満たす人です。
- AIのプログラミングに興味がある
- AIの複雑な概念にも興味が持てる
- 数学的なアルゴリズムに興味を持てる
- 論理的に考えることが好き
- 技術進化の速さにも耐えれる
1つもあてはまらない方はAIエンジニアになることは難しいでしょう。
一方で、3つ以上の条件を満たす人がAIエンジニアに向いています。
AIエンジニアへの転身で挫折しないための心構え
AIエンジニアへの転身は挫折する可能性も高いものです。難しいものですので途中で心が折れてしまう可能性もあります。以下ではそのようにならないために、心構えについてもご紹介をします。
物事を論理的に考えられる人間になる
物事を論理的に考えられる人間になることを意識しましょう。データサイエンスなどは論理的な考え方が必要とされます。逆に論理的ではなく感情的な考え方をするとAIエンジニアとしての活躍は難しくなります。
論理的に考えるとは、「正しいことを証明できる」「根拠を明確に示せる」などの考え方を指します。具体的には「MECE」「So what?(つまり何を言いたいのか)/Why so?(なぜそうなるのか)」の考え方ができることです。
前者は「Mutually(互いに)、Exclusive(重複しない)、Collectively(全体的に)、Exhaustive(漏れがない)」の頭文字を取ったものです。いわゆる「もれなくダブりなく」と呼ばれるものです。全体像を把握したうえで物事を細分化し、それぞれをMECEに則って評価できることが論理的な考え方です。
また、後者はこの2つの質問を繰り返すことでロジックツリーと呼ばれるものを作成するために利用されます。例えば人手不足で営業ができないお店がある場合、「So what?」で深掘りすると人手を増やすためにバイトを採用すると結論付けらます。逆にバイトを採用するとの結論を「Why so?」で広げていくと、人手不足で営業ができないからとの理由が出てきます。これらを繰り返し、理由付けしながら思考をつなげていくのも論理的な考え方です。
論理的に考えられている状態とは、これらの思考を元に因果関係を説明できることを指します。例えば仮定したことが正しいと証明する道筋を立てられる状態です。また、根拠を提示して明確に結論を導き出せる状態も考えられます。
論理的な考え方を持つには慣れが必要です。まずは結論から考えて、それが正しいかどうかを深掘りしていくような思考を持ってみると良いでしょう。
AIエンジニアの仕事を美化しすぎない
AIエンジニアの仕事を美化しすぎないことも重要です。あくまでもエンジニアのひとつだという心構えでいましょう。
AIエンジニアを目指す人の中には、「AIエンジニアはすごい仕事である」「私はすごい仕事しかしたくない」などの意識を持つ人がいます。確かにAIエンジニアは難しい仕事であり、誇りを持てる仕事には間違いないでしょう。自慢できる職業の一つかもしれません。
しかし、すごい仕事であるのは難しい仕事であるということを意味します。高いスキルを持ちAIを扱える人になるからこそすごい仕事ができるのです。
中途半端な気持ちでAIエンジニアを志すと、スキルとのギャップに絶望してしまう可能性もあります。あくまでもエンジニア職のひとつだと考え、淡々とスキルアップすることを心がけなければなりません。
AIエンジニアへなるのは難しいため適切な心構えを持つ
エンジニアの中でもAIエンジニアになるのは難しいものです。求められるスキルが高いものですので、AIエンジニアが不足している現在でも難易度は高い状況です。
意識しておきたいことは生半可な気持ちでAIエンジニアを目指さないということです。「AIエンジニアは人数が少ないため余裕」「AIエンジニアはかっこよさそう」などの気持ちだけで目指してしまうと転身に失敗してしまうこともあります。
言い換えると、AIエンジニアになることは難しいことを理解していれば転身するチャンスがあります。様々な壁にぶつかっても乗り越えられることでしょう。十分に心構えを持ってからAIエンジニアへの転身にチャレンジしましょう。