キャリア

2019/10/10

AIエンジニアの仕事内容、AI開発の流れ、就職先・活躍の場

AIエンジニアへの転職を考えていても、具体的な仕事内容については曖昧なイメージしかもっていない人が多いかもしれません。AIエンジニアも、技術や知見を活かして業務に就くところは他のソフトウェアエンジニアと同じです。ただ、扱う技術がAI(人工知能)という特殊なものだけに、プロジェクトへの携わり方などが独特な場合があります。

今回は、「AIエンジニアの仕事」「AI開発の流れ」、機械学習モデルの作成に必要な「アルゴリズムの選択」「データの前処理」「特徴選択」「評価」について解説します。また、AIエンジニアの就職先や活躍の場についても紹介します。

AIエンジニアの仕事・業務内容

最初に、AIエンジニアの仕事について大まかな内容を解説します。就職先・職場によってAIエンジニアが担当する役割はさまざまですが、共通する点はビジネス上の課題をAIで解決することです。

AIを企画・設計する

AIエンジニアの仕事で重要になるのが、問題や課題を把握し、適切なAI活用の道筋を立てることです。そのためAIエンジニアは、企画や設計といった早い段階からプロジェクトにかかわるのが特徴です。技術的な検証や論文の調査、AIで解決するためのアイデア出しなど開発テーマを吟味して実現可能性が高いプランに落とし込みます。

AIはいろいろな判断ができることで知られていますが、不得意なこともあります。要求される精度や準備できるデータ、仕事をする時点でのAIの限界、構築した予測モデルでどのような使い方ができるかといった点を踏まえ開発をすることは、プロジェクトの失敗を避けるためにも不可欠です。

大量のデータと向き合う

機械学習やディープラーニングには、AIに学習させるデータが必要です。そのため、AIエンジニアの業務は、大量のデータと向き合う職業ともいえます。準備したデータに目をとおし、欠損や傾向を把握したり、Pythonライブラリや分析ツールを使いデータを可視化して特徴を掴んだうえで、AIモデルを作成します。データ前処理や特徴抽出、ラベル付けなどの作業もAI開発には欠かせません。

また、データ管理の仕組みを作ることも、AIエンジニアの仕事の1つです。AIがスムーズに能力を発揮するには、データがきちんと管理されていて、すぐに使える状態であることが必要です。多種多様な形式のデータを入手、保管、加工するときの仕組み作りは、AIを本番環境に適用するには特に重要な業務と言えるでしょう。

AIの精度を向上する

AI開発のモデル作成では、データ前処理、学習、評価という一連の流れを繰り返して予測や認識の精度を高めていきます。適切なアプローチ方法を選択し、データ処理やトレーニングを実施できることはAIエンジニアの経験によってもたらされるスキルといえるでしょう。

AIの場合、あらゆる面に気を配って作り上げても最初からうまく機能するとは限りません。また、採用するアルゴリズムや学習手法によって、準備するデータも異なります。パラメータチューニングなど試行錯誤を繰り返して目標とする精度を達成するケースもありますが、場合によっては一からやり直しが必要なこともあります。最新の手法をキャッチアップして既存のAIがより精度を出せるような仕組みを作ったり設計を考えたりすることも、AIエンジニアの課題になっています。

AI開発の流れ

AIエンジニアの仕事内容を理解するうえでは、AIを開発するときの流れもチェックしておいたほうがよいかもしれません。AIエンジニアが実際に開発を手掛けるときには、一定の流れに沿って作業を進めていきます。以下では、データの準備、モデルの構築と学習、モデルのシステムへの組み込みといった3つのプロセスを順に紹介していきます。

データの準備

AIを開発する際にエンジニアが最初におこなうのが、データの準備です。車の運転などの特別な目的のために開発されたAIは、特化型人工知能です。このような性質をもつAIは、一定量の学習データをもとに能力を高めていく傾向があります。学習データを準備するときは、トレーニングデータと開発データ、テストデータの3つをそろえるのが一般的です。構築するモデルの性能を最大にできるように、エンジニアはこれらのデータの割合を決めます。

モデル構築と学習

準備したデータをもとに、モデルの構築をおこなっていきます。アルゴリズムや特徴を選定し、前処理(クリーニング)などのデータハンドリングをおこないます。トレーニングデータでAIに一定のモデルを学習させ、開発データで改善すべき点などを探るのが開発の流れです。最後はテストデータでモデルの性能をチェックして、目的に合った機能を備えているかどうかを確認します。モデルの構築と学習のプロセスでは、学習データにのみ適合してしまう過学習の状態をいかに避けるかが課題になってきます。

モデルのシステムへの組込み

モデルが出来あがったらシステムへの組込みをおこない、実際にAIの機能を利用できるようにします。稼働させたときに不具合がでないかどうかをチェックして、問題点があるときにその都度調整をしていく流れは一般的なエンジニアリングと同じです。最初にプランニングした設計や企画が正しければ、こういった組込みのプロセスまでスムーズに進むことが多いです。

AIモデルの作成

ここまでAI開発の流れを紹介しました。以下では、さらに詳細なAIエンジニアの仕事についてみていきましょう。

アルゴリズムの選択

AIのアルゴリズムを選択することは、AIエンジニアにとって大きな仕事です。アルゴリズムは、課題をこなす際の手順や処理の方法などをAIにインプットするために採用するものです。AIのアルゴリズムにはいろいろな種類がありますが、ここでは回帰、分類、クラスタリングの3つの手法をピックアップして簡単に紹介します。

回帰

回帰は、入力したデータと正解を組み合わせて一定のパターンをつかみ、連続する値を予測するアルゴリズムです。気温や株価といった過去のデータから予測をおこなうときなどには、こういったアルゴリズムが選択されることがあります。回帰のアルゴリズムでは、線形回帰やポアソン回帰、ベイズ線回帰などが有名です。

分類

分類のアルゴリズムは、学習データをもとに2つ、もしくは3つ以上の値にターゲットを分類する方法です。2つの値にわける方法は2クラス分類や二値分類、3つ以上の値にわける方法はマルチ分類と呼ばれています。このアルゴリズムには、ロジスティック回帰やブースト決定木、デシジョンジャングルなどがあります。

クラスタリング

クラスタリングは、AIが自分でデータの構造を学ぶ教師なし学習のアルゴリズムです。このアルゴリズムでは、似ている特徴などをもとにAIがターゲットを複数のカテゴリーに分類していきます。クラスタリングは、入力したデータから学習していく教師あり学習とは少し手法が異なります。k-平均法や混合ガウス分布などは、クラスタリングの代表的なアルゴリズムです。

データの前処理

AIの機械学習に使用するデータの多くは、入手してから前処理と呼ばれる作業が必要です。さまざまな方法で入手したデータは、そのままの状態では機械学習に使えないことが多いです。前処理をおこなうことでエラーなどの不要なデータが除外され、使いやすくなります。また、きちんと処理をしておくことは、AIの精度を上げるうえでも大切です。AIエンジニアがおこなう3つの前処理を、ここでは紹介してみましょう。

データクレンジング(データクリーニング)

欠損値やエラーなどを取り除いて、クリーンな状態のデータを残すのがデータクレンジングと呼ばれるプロセスです。データクレンジングは、どのようなデータを除外するかによって作業の煩雑さが変わってきます。除外するデータによっては集計の結果が変わってしまうため、エンジニアにとっても少し複雑な作業になるケースがあります。

データの統合

データの統合のプロセスでは、データクレンジングをおこなったデータを合わせてまとめます。データ収集では、さまざまな媒体から情報を集めてきます。そのため、ひと通りクレンジングをしてから改めてデータを統合する作業が必要です。

データの変換

データの変換では、使用するモデルに合うようにデータをアレンジします。フォーマットを整えるなどの手を加えると、生のデータを最適な形で使うことが可能です。データの変換方法としては、データの正規化などが挙げられます。データの正規化は、数値データを使えるような形に変換する方法です。データのスケーリングなどをするときには、このような方法がとられることがあります。

特徴選択

精度の高いAIを作るうえでは、どのようなデータを活用するかが重要になってきます。特徴選択は、データに使用する項目を絞り込むことでAIの機能を目的に適った形に整えるアプローチです。学習データとして使用する最高気温や最低気温、降水量などは、AIエンジニアの間では特徴量と呼ばれています。どの特徴量を使うかは、正しい結果を予測するためにも大切です。

フィルタ法(Filter Method)

フィルタ法は、特徴を予測に役立つか役立たないかを基準にランクわけをして、取捨選択をしていく方法です。この方法では、特徴にそれぞれ点数をつけることでランクをわけていきます。フィルタ法で特徴選択をおこなう場合、特徴量やターゲットのデータ型に合わせて「カイ二乗検定(Chi-Square)」などの複数の手法から最適な方法を選びます。

ラッパー法(Wrapper Method)

ラッパー法は、いろいろな特徴量から何度も予測をおこない、必要な特徴を見つけていくやり方です。予測に利用できる特徴が多い場合、膨大な組み合わせのパターンがあります。予測を繰り返すことで、多くのパターンから必要な特徴が絞り込まれてきます。ラッパー法の手法に挙げられるのが、前進法と後退法です。前進法は、特徴を1つずつ足しながら必要なものを絞り込んでいく方法、後退法はすべての特徴を含めた状態から1つずつ除外して、必要なものを見つけていく方法です。

組み込み法(Embedded Method)

組み込み法は、アルゴリズムで特徴選択ができるのが特徴です。この方法の場合、アルゴリズムに特徴選択の機能が組み込まれています。そのため、データの学習をしながら効率よく特徴選択ができるのがメリットです。組み込み法は、フィルタ法やラッパー法の手法と一部共通点があります。アルゴリズムには、「決定木」や「ラッソ回帰」などが使われています。

評価

AIのシステムは、精度が高くないと実際に使えないことがあります。医療などの正確さが重視されるシーンでは、精度を100パーセントに近づけることが求められるでしょう。こういった場合にも対処できるように、AIを開発したときには評価という作業がおこなわれます。AIの評価方法をここでは3つ取り上げて、概要を解説します。

ホールドアウト法

ホールドアウト法は、学習データとテストデータをあらかじめわけておき、テストデータのみを使って出来あがったモデルを評価する方法です。学習データとテストデータをあえてわけることで、出来あがったモデルに汎用性があるかどうかがチェックできます。客観的な評価ができるのが、この方法のメリットです。

交差検定(クロスバリデーション)

AIモデルの評価に広く利用されている交差検定(クロスバリデーション)は、データを複数にわけ、いろいろなデータを交差させながら評価をおこなっていく方法です。この方法では、1回目、2回目、3回目でそれぞれ別なデータをテストデータにし、結果の平均をチェックします。データの平均値から判断をおこなうため、より精度の高い評価ができます。

混合行列

混合行列は、データセットを真陽性、真陰性、偽陽性、偽陰性の4つにわけて、適合率と再現率をチェックしていく評価方法です。適合率は、AIが陽性や陰性と判断したもののうち、本当に陽性、陰性だったときの割合です。再現性は、陽性や陰性だった場合に、AIが実際に陽性、陰性といった正しい予測をした割合を指します。混合行列では、適合率や再現率が高いほど評価が高くなります。

AIエンジニアの就職先・活躍の場

上記で解説したようにAIエンジニアは、機械学習、ディープラーニングなどAIシステムの開発やAIモデルの作成をおこなう技術者です。自動運転、需要予測、医療診断、チャットボットなどAI開発の需要は大きく伸長しており、人材不足とされるITエンジニアのなかでも、さらに希少性が高いとされています。

AIエンジニアの活躍の場所としては、そのようなAI開発現場があげられます。働き方としては、正社員・派遣・フリーランス・アルバイトといった様々な形態がとられます。学生の場合はインターンとして仕事に就くこともあるでしょう。新卒採用も中途採用も求められるスキル要件や応募要件は厳しい求人が多いですが、これからの将来性も高く挑戦する価値はあります。

AIは、いろいろな場所で導入が始まっており、エンジニアのニーズが高くなっている状況です。ITエンジニア経験があり、独学で機械学習などを学んでいる場合は、未経験可の求人にチャレンジすることもできます。その際は、ベンチャーやスタートアップ系の企業から求人を探すとよいでしょう。

GAFAなどのAI開発企業はもちろん、受託開発をおこなうIT企業やAIスタートアップのほか、大手メーカー・製造業、金融、広告、流通などの事業会社でもAIエンジニアを募集していることがあります。企業によっては先端技術の研究・開発に携わるリサーチエンジニアや研究職として勤務する場合もあるでしょう。

統計・データ解析・数学などデータサイエンスの知見とデータ処理、開発などのエンジニアリング能力、課題設定やコミュニケーションなどビジネス能力をそなえた人材は、転職もスムーズに行えます。そのまま会社員としてマネジメントを目指すこともできますし、プレイヤー志向の場合は、数年経験を積むことで、フリーランスのAIエンジニアとして独立するキャリアパスもあります。

WriterAI drops編集部
AIを仕事にするためのキャリアノウハウ、機械学習・AIに関するTopics、フリーランス向けお役立ち情報を投稿します。

関連記事Related Posts