NEC Orchestrating a brighter world
NEC Orchestrating a brighter world

プログラムの作動をより速く──研究とエンジニアリングを接続するリサーチエンジニア

Takamichi M.は、AIの研究開発で生まれた基盤技術が事業化・製品化へつなげやすくなるよう応用研究するリサーチエンジニアです。とくにプログラムの高速化を専門とし、日本電気株式会社(以下、NEC)の虹彩認証・顔認証技術を世界水準に押し上げました。リサーチエンジニアとしてNECで働くやりがいを語ります。

プログラムの高速化を実現するリサーチエンジニア

生体認証を中心とした研究を行う専門組織であるバイオメトリクス研究所でリサーチエンジニアとして働いています。

リサーチエンジニアを簡単に説明すると、研究者がAIによる機械学習などで開発した基盤技術を、受領部門の方が受け取りやすいよう一般的なプログラミング言語に置き換える仕事です。単に置き換えるだけでなく、プログラムの実装環境を考慮し、調整することで、動作の効率化や高速化が可能になります。ベースのプログラムを実際に動かしてみて問題点を把握し修正するというサイクルで、少しずつ性能を上げていくイメージです。

私の担当領域は主に顔認証やその周辺技術です。顔認証技術はさまざまな分野で利用されるようになりましたが、普及するにつれて写真やディスプレイの表示した画像、あるいは精巧なマスクを被ることでなりすましされるといった事件も出てきました。NECではなりすましをガードする技術の開発に注力していて、私もシステムの高速化という点で品質の向上に貢献しています。

バイオメトリクス研究所のメンバーのほとんどは、リサーチャーと呼ばれる研究者で、私のようなリサーチエンジニアは少数派です。リサーチエンジニアは、研究者と実際の製品開発を担う開発メンバーのあいだを取り持つ重要な仕事だと自負しています。とはいえ、リサーチャーであろうとリサーチエンジニアであろうと目指すゴールは一緒。それは、基盤技術が実際に製品に使われるようになって、ユーザーの手元で問題なく作動し価値提供できるようにすること。AIという領域で最短・最速でゴールに向かっていくための役割分担なのです。

技術者集団と働くやりがい

NECに入社する以前、私は大学院の博士課程でプログラムの高速化に着目した研究を続けてきました。

プログラムを動かす上で欠かせないふたつの要素があります。ひとつは、コンパイラ。そもそも一般的なプログラミング言語は、人間にもわかりやすい形で作られたものです。コンピュータがこれを読み取るには、コンパイラというソフトを通して、コンピュータが解釈・実行できる言語に変換する必要があります。もうひとつは、ハードウェア。プログラムが動作する物的環境のことです。このふたつの要素を同時に調整することで、動作するプログラムの高速化が実現できます。

単純にプログラムを書くのではなく、“速度”という明確なゴールを持って、既存のプログラムをどう改良すればいいのか考えることが、自分の性分に合っていたのだと思います。

学生のころから多くの企業と共同研究をする機会に恵まれ、そのうちのひとつにNECがありました。NECの研究者には、とにかく優秀な方が大勢いるという印象がありました。研究に対するモチベーションも高く感じましたし、一緒に働けたら間違いなく楽しいはず。こういう人たちが開発する成果をさらに良いものにしていくことにやりがいを見出せると思い、博士号の取得後に、新卒でNECに入ることを決めました。

入社当初は、プログラム全般の高速化をテーマとする研究グループでリーサーチャーとして働いていました。1台のコンピュータの中で、大量のデータを高速に処理させるための並列処理が専門です。

そうした中、NECが生体認証技術の開発を強化していくようになりました。虹彩認証や顔認証といった領域特化での価値発揮を求められるようになり、リサーチエンジニアとして働くようになりました。

部門を超えたチーム力がプログラムの精度を高める

生体認証技術の精度を図るにあたり、ひとつの指標として重視しているのが、科学技術の標準化などに取り組むアメリカの政府機関NIST(National Institute of Standards and Technology:米国国立標準技術研究所)が行う精度評価テストです。私も速度面での性能アップを目的として評価対象となるアルゴリズムの開発に貢献してきました。

精度評価テストに向けた取り組みの中で、とくに印象深いのが事業部門との連携です。

一般的に、プログラムの高速化は「得られる結果を変えないこと」が大前提です。ただし、速度を上げるためには、処理結果をあえて変え、計算量を減らすなどの工夫が必要な場面もあります。そうした際に、その変更が果たして製品・サービスとして受け入れられるのか、事業部側とディスカッションをして決めていくのです。

事業部側でも、製品やサービスとして提供する上で普段からアルゴリズムの書き換えなどを行っています。よりユーザーに近しい立場の方と議論をすることで、互いの強みを活かしあうことができました。

これまでに、虹彩認証・顔認証の両分野でNECは世界1位の精度評価を何度も受けています。とくに処理速度の点で評価を受けているのは、私としても非常に喜びを感じるところです。ですが、結果をもたらしたのは、単一の技術によるものというより、何よりも部門を超えたチーム力が要因だったと思います。

実際に、ユーザーが満足していくものを作るには、リサーチャーだけでも、リサーチエンジニアだけでも無理です。お互いが、製品としての精度を追い求め、ユーザーのもとできちんと実証することが大事なのです。それを互いが認識し合っているからこそ、私はリサーチャーに対して気負うことなく意見が言えるし、ときには厳しいフィードバックを返せるのです。忌憚のない意見交換をしながら、同じゴールに一緒になって向かっていく文化がNECにはありますね。

高速化は手段のひとつ。技術を世に送り出していくために

高速化というスキルは、NECが扱う先端技術領域でますます重要になってくると思っています。リサーチエンジニア人材は強化中ですが、充分ではありません。そのため、深層学習やそのベースとなるC++言語だけでなく、ハードウェアにも精通した人材が一緒に活躍してくれるでしょう。同じく高速化というテーマで、NECが社会に提供する価値を最大化してくれる仲間を増やしていきたいですね。

私はリサーチエンジニアとして働く中で、研究者が作るものをきちんと世に送り出していくことに一層のモチベーションを感じるようになりました。NECの社員としてモノづくりに携わっているのだという意識が強まっています。高速化は私のアイデンティティでもありますが、もはや手段のひとつに過ぎません。実際にユーザーに使ってもらえるものを送り出していくという意味では、もう少しやり方を広げていきたいと思っています。まずは、よりユーザーに近いところまでプロジェクトをマネジメントできるようになっていきたいですね。

関連記事はこちら