抽象化と具体化の橋渡し役としての機械学習エンジニア

人工知能が進歩・普及する過程で無くなる職業があると言われる。機械学習の分野も同じで、理論的裏付けを知らないライブラリを使うだけのエンジニアはいずれAutoMLに淘汰されると考えられる。欠損値を処理したり、データを処理したりといった作業についてはパープルカラー労働者も増えているが、これも過渡期であり、AutoMLはこうした特徴量エンジニアリングの分野にも拡がっている。

関連記事:超高学歴社会米国の影で進むAI分野におけるパープルカラー労働者

こうした中、長く残るのが以下のような作業と思われる。この中で5が、本稿で着目する抽象化と具体化の狭間の存在である。

  1. 機械学習システムの計画立案
  2. データ収集
  3. タグ付け
  4. 機械学習アルゴリズム自体の開発
  5. 論文から新しい方法の実装

1は企業でいえば経営や企画の話であり計画立案はどのような分野でも人間が行う仕事として重要なものである。(人間の代わりに人工知能が経営を行うような社会であればこれも分からないが、本稿ではそこまでの超長期的な未来は想定していない。)

2については、機械学習にはとにかくデータが必要で、どのようにデータを集めてくるかといった手法や実践はどこまでも重要だ。何らかのアンケート調査などが必要なら統計学的な手法が求められるし、オンラインから集めるならエンジニアの仕事である。

教師あり学習の場合、例えば画像なら「それが何の画像か」についての正解データのラベルをつけなくてはならない。これは基本的に手作業であり、クラウドソーシングなどでも内職のような形として仕事が発注されているケースが多い。但し、こうした単純な仕事は最後まで残りやすいとも言われる。

関連記事:大卒労働者は高卒労働者より5倍もAIの影響を受けやすい

4は研究職のような立場だ。これも当然最後まで残るはずだ。

4と5の間には開きがあるが、冒頭で淘汰されるといった「ライブラリを使うだけのエンジニア」とも開きがある。ライブラリに採用されるようなアルゴリズムは効果が立証されて多くの人が使うようになったアルゴリズムである。日々arXivなどで公開されるような新しいアルゴリズムがライブラリに実装されるまでには時間がかかる

データに独自性があれば別だが、競合他社も多くのデータを集めているので、最終的に機械学習システムの精度として強みになるのはアルゴリズムである。アルゴリズム自体の開発はさておき、ライブラリを使っているだけではオリジナリティは出ない。そこで必要となるのが5のような機械学習エンジニアである。

こうしたエンジニアには「抽象的な論文を読んで具体的なコードに置き換える力」が求められる。Pythonコードのサンプルがついた論文もあるが、そうでないものも多く、数式を追う力だけでなく、それを実装する力が必要とされる。

数式を理解していても実装できるとは限らないのが難しいところである。一般に、数学が得意な人は抽象的に物事を考えることが得意と思われる。具体例で考えることを得意とする人もおり、高校数学くらいまでならそれで対応できる。しかし、大学以上の高等数学になるとn次元実数空間や複素数空間など一般化が主眼となってくるので、具体的に考えようとしても考えられないケースが出てくる。

つまり、機械学習エンジニアは、抽象的な物事を具体的なコードに置きかえられる能力が求められる。

       

この記事の著者 HAL について

金融・マーケティング分野の機械学習システム開発や導入支援が専門。SlofiAでは主に海外情勢に関する記事、金融工学や機械学習に関する記事を担当。

HAL の記事一覧 SlofiAのtwitterアカウント@slofia_finance