この記事は、以下の方向けに執筆しています。

・とにかくAIブームに乗りたい方
・転職してAI案件に携わりたい方
・AIに必要な知識だけをざっくり身に付けたい方

AI人材の不足感が高まっている

清水亮さんがAI人材の不足を言われてから、人材不足感は一向に変わっておらず、むしろ不足感が強まっている。企業が本格的に取り組み始めたのに、検証できる人材が誰もいない。データ分析経験があったり、Pythonでnumpyとか少し触れる人が、AI人材として急に売れっ子になるのを何度も見てきたし、その流れはしばらく続くんだと思う。

BIベンダも最近その流れに乗って売り込み始めた。コンサル会社は、AIコンサルと言い始めた。SIベンダは、AIの専門部署をたくさん作り始めた。メーカーもR&D中心にAI人材を採用しはじめてる。

CONNPASSで機械学習と名の付くセミナーはすべて人気で埋まってる。研修会社が信じられないくらい儲かっている。一番驚くのは、聞いたことないAIベンチャー(PFNとかじゃなくふつーのIT請負会社)が、大企業と普通に連携したりしてること。こんなこと今までなかった。

うまくいくかどうかはともかく、この流れはやばいと思う。めっちゃ流れ来てると思う。今なら簡単にAI人材として転職できそうな気がする。快速電車は、今まさに僕たちの前に止まっているのだ。思わず乗ってみたくなるじゃないか。

人工知能とビジネスの両方が分かる人材がいない

人工知能はビジネスの手段であって目的ではない。目的の決定は、ビジネス用語で決められる。なので会社業務の知識は必要。
またAI開発も、特徴設計はまだまだ人間がやるケースが多いので、業務知識がないと特徴設計ができない。
 
ビジネスサイドの人とコミュニケーションが取れないのは本当に致命的。ただでさえAIはルールやモデルがよくわからないのに。そもそもデータがないと人工知能はできない。何といって顧客からデータを借りるのか、きっちり目的を合意することが必要。

つまり、AIに興味本位の経営者に、AI技術の特性を伝えて合意形成することが必要で、これが非常にハードルが高い。てかできる人日本に何人いるんですか状態です。 
(それでも統計色が強いR使いの人は、皆説明スキルが高くてすごいなと思ってます) 

大学院で情報科学を学んだ人材にビジネススキルを身に付けさせるのと、ビジネススキルを身に付けた人材にデータサイエンスの知識を身に付けさせることを比べると、後者の方が速いかもしれない。高校数学の素養があれば、AI技術の理解と実装は半年でいけるから。

この記事では、最低限必要なAI技術を身に付ける方法を紹介し、AI人材として内定を取る方法を伝授します。

参考記事:AIエンジニアが教えるゼロから機械学習の勉強法

①まずはエクセルの知識

エクセルはデータ分析の基本。ディファクト。使えないと話にならない。エクセルだけですむこともある。
知ってました?アドインすればエクセルで重回帰分析や相関グラフとか作れるんですよ。99%の人は知らないような気がする。

②画像処理と自然言語処理

一応押さえておきたい認識系処理の技術。コンピュータは、数字しか計算できませんが、画像やテキストって数字じゃないじゃないですか。なので数字に直してあげる必要があります。画像はピクセル単位のRGBだし、テキストは文単位で単語の出現数を数値化します。

自然言語処理で一番使われているであろうTF-IDFとcos類似法あたりは、理解しておいて損はありません。

また、2年前から流行ったword2vcは、単語単位でベクトル化しているので、始めて本当の意味で意味解析ができるようになりました。多分実務で一番ニーズがあるのは、テキスト解析だと思うので、このあたりは気の利いたWebサービスを作れば、結構いろんな人に喜んでもらえるんじゃないかと思ってます。LexRankに頼らない意味理解した要約AIとかは、そのうち作ってみたいですね。

③数学と統計の知識

機械学習の理論は、以下の3つの学問がベースになっています。ここが分からないと機械学習がそもそも理解できません。なので理解に必要な知識だけを言語化しておきます。

微分積分

方程式のどこか1点を微分すると、その地点の接線の傾きが分かる。接線の傾きは変化量を示す。変化量が0の地点が分かれば、方程式の最小地点(最大地点)が分かる。

では微分でどんな最小地点を求めたいのか?
誤差です。教師データとモデルの予測データの誤差関数を最小化する地点を調べることでモデルを学習させるんです。

ディープラーニングでは、各ノードでY=WX+bを求めますが、誤差を最小化するWとbを求めることを、学習と言っています。

上の文書を10回読んでください。その後分からない部分についてググってください。この文章を聞いて、確かにそうだなと思える人は機械学習の中級者以上だと思います。

線形代数

行列で連立一次方程式が簡単に解けるんだなーという意識があれば、なんとかなるかも。あと自然言語処理する人は、ベクトル空間の概念の理解は必要です。
SVMを数式ベースで理解したい人は、線形写像とかの理解も必要ですが、最初に取り組むには労多くして得るものが少ないので不要。

確率統計

平均、標準偏差、分散はググってください。特徴データのスケーリングで使います。ベイズ統計とかは調査不要。難しいし、ディープラーニングやSVMなど線形代数派の人達は、ベイズとか基本使わないので。

④機械学習の理論と実装

ここがメイン。必要な知識を羅列します。
・Pythonの基礎
・外部ライブラリ  pandas numpy matplotlib  scikit-learn
・アルゴリズム  SVM, 決定木, CNN
・特徴選択 ランダムフォレスト 
・モデル実装  グリッドサーチ、交差検定

AI開発で最低限必要な知識は、以下の記事にまとめました。
これだけは知っておけ!PythonでAI開発の基礎まとめ


もしいきなりPythonで実装するのが辛いという方は、まずはWekaのツールを使って機械学習がどんなものか、触って体感するのが一番ベストだと思います。聞くところによると、MBAでもWekaを使った授業があったりするそうです。
まあWeka使えれば簡単にモデル作れるので、投資対効果が最も良い学習かもしれません。コンサルの方とかには特におすすめです。
まだコンサルで消耗してるの?機械学習で1千万円削減する方法


Pythonが全く初心者の人は、ドットインストールかpaizaで慣れるのがいいかなと思います。僕はそうしました。コーディングは慣れの部分が大きいです。

Pythonデータ分析のコーディングスキルは、プログラムの本を見て、コードを写経しながらじっくり読むのが一番おすすめです。コード力アップは、写経が一番いいっすね。このブログを見ているような人には常識かもしれないけど、おススメの本を載せておきます(他の記事でもこの2冊をいつも載せていますが、本当に素晴らしい本なのです)。
 




面接を突破するために

面接では一通り理解している感を出しましょう。
・Excelはがっつり使える 
・Pythonのnumpyやpandasでデータの処理ができる 
・SVMや重回帰分析は普通に使える(数式も少しは分かる)
・Chainerを触っている (pipでインストールのみでもOK)

これくらいできると、AI人材の平均レベル(と相手に思って貰える)なので採用見込みはかなりあると思います。いやスキルを見抜くのって結構大変ですからね。

(蛇足)優良企業転職を狙う人向けの戦略論

やや蛇足ですが、優良企業への転職を狙うための戦略論をまとめてみました。

転職という戦いに臨んでは、まず情報分析のうえに立って、相手の特性を把握し、どこに付け込む隙があるか知恵を出していかなければならない。そして、どうすれば内定を取れるのかという一点に絞って、逆算思考で考える事が求められる。

AIという新しい技術に対し、99.99%の企業は何に取り組めばいいのか分かっていない。技術進化が速すぎて理解できていない。そのため、経営者はこの変化の時代にリーダーシップを発揮できていない。逆に言うと、会社が目指す方向性と技術進化を理解し、リードできる人材を喉から手が出るほど求めている。経団連のレポートにも実際にそう書いてある。

自身をその企業の救世主として偽造することが、最も内定に近い道だ。スキルは最低限だけ身に付けて、後は内定後に磨いていけばいい。刺身の上にたんぽぽを置く仕事を10年やっても、残念ながらAIの技術は身につかない。立場が人を育てるという残酷な現実がある以上、いかにその立場を獲得する方に戦力を投入することが正しい意思決定となる。

また、面接は慣れの部分が大きく、数を打つ必要があるため、IT業界やウェブ業界に特化した転職エージェントを選ぶ方が良いでしょう。



こんな堅苦しいブログを最後まで読むくらい好奇心のあるあなたならば、すぐにしかるべき立場を獲得できるはず。それこそがAIブームに乗る切符です。