ディープラーニングを活用する環境はソフト、ハードともに変化が激しい。さらに音声認識や画像認識のように実用レベルに到達した技術でも、基礎研究レベルで日々改善が進んでいる。このような先端の技術改良をキャッチアップするため、最新の論文をチェックする必要がある。最適な技術を見極め、各種ツールを使いこなしてシステムを構築できる“目利き”の力が求められる。「かなりハードルが高い」と思った方もいるだろう。

人材は大幅に不足している

 実際、現状ではディープラーニングに代表される最先端のAI技術を使いこなせる人材は大幅に不足している。このため米国ではネット企業を中心に、熾し烈な人材の獲得競争が繰り広げられている。

 例えばGoogleは、ILSVRCで優勝し、AIブームの立役者となったToronto大学のHinton氏が設立したDNNresearchを2013年に買収した。Facebookは設立した研究所の責任者に、Hinton氏の弟子であるNew York大学のYann LeCun氏(教授)を起用した。先進的な日本企業も同様だ。トヨタ自動車やリクルートはAI研究施設を米国に設置し、人材獲得を積極的に進めている。

 逆に言うと、大幅に人材が不足しているだけに、AI技術を習得するとITエンジニアにとって大きな強みとなる。AI関連のスキルを一気に習得することは難しくても、段階的に学んでいくことは十分に可能だ。

 例えば、GoogleのCloud Machine Learningでは、フレームワークのTensorFlowをクラウド上のサービスとして利用できる。

 また、Googleの「Cloud Speech API」やMicrosoftの「Microsoft Cognitive Services」は、ディープラーニングを使って開発したAIサービス。画像認識や音声認識のAIのAPIを提供する。ユーザーは呼び出すコードを記述すれば、自社のアプリケーションに画像認識や音声認識のAIを組み込めるわけだ。こうしたサービスを活用しながら技術の習得を進めるのもよいだろう。

画像処理や分散処理の知識も欲しい

 AI技術そのものとは別に、AIを使いこなすためにITエンジニアが身に付けたいスキルや知識もある。アプリケーション開発と基盤構築の分野を順に見ていこう(表1)。

表1●人工知能を使いこなすためにITエンジニアが身に付けたいスキル・知識
[画像のクリックで拡大表示]

 例えば、アプリケーション開発でディープラーニングの画像認識を活用したければ、画像データからノイズを除去したり、特定の領域を抽出したりする画像処理のスキルを習得しておきたい。同様に、自然言語処理をするには形態素解析などの手法の知識が必要である。

 これらの知識を生かして適切なデータによって学習させれば、学習の効率が高まる。ビッグデータ分析において精度を高めるために、ETL(Extract/Transform/Load)やデータのクレンジングといった前処理のスキルが求められるのと同じ理由である。

 また最近では「OpenCV」のような画像処理ライブラリや、自然言語処理に関するライブラリがオープンソースとして入手できるようになった。こうしたライブラリの使い方も習熟したほうがよいだろう。

 基盤に関する知識も重要である。大規模な学習処理をするには、相応の時間がかかる。モデルを作ってから、学習に数カ月~半年かかるようなケースも珍しくない。コンピュータリソースを最大限に有効活用し、効率的に実行することが求めれる。例えば、分散処理のフレームワーク「Apache Spark」などに関する知識や、GPUのメモリーや演算装置の構成を意識したコーディングの知識があることが望ましい。

 こうしたスキル・知識に加えて、ITエンジニアは経営層と対話する力もぜひ磨きたい。AIに過剰な期待を抱く経営者がいる一方で、AI技術に詳しい人材の不足に危機意識をいだいている経営者はまだ少ない。だからこそITエンジニアがAIの機能や限界、課題を正しく理解した上で、経営層に説明することが強く求められる。