見出し画像

シーズを基盤とした独自開発に関わるエンジニアが、その取り組みを詳しく解説してみる

エクサウィザーズの2022年アドベントカレンダーの7日目の記事です。

はじめまして。エクサウィザーズで機械学習エンジニアをしております、加藤卓哉です。今回はエクサウィザーズでのシーズを基盤とした開発に関する取り組みについて詳しくご紹介します。

幅広い業種と関わることができる環境に惹かれた

まずは私の経歴を振り返ります。私は早稲田大学の森島研究室に所属していました。3DCG制作支援に関する研究を行い、特に3DCGのキャラクターの表情モデル生成やリアルタイムの動作操作のための研究開発をに勤しむ日々でした。また、2019年から2020年にかけては、NHKスペシャル「AIでよみがえる美空ひばり」のプロジェクトに参画し、音声からの表情合成技術を提供するなどの活動に関わりました。

この後、特定のドメインに特化した機械学習モデルではなく、 様々なドメインで社会実装されるような機械学習モデルに興味を持つようになり、 幅広い業種と関わりのあるエクサウィザーズの環境に惹かれて、2019年に入社しました。

現在は、機械学習エンジニア・テックリードとして、 画像や3次元データに関する機械学習モデルの構築を担当しています。 画像システムグループ内では、プロジェクトの管理や、R&Dの運営・管理を担当しています。私の入社の経緯はこちらの記事にも記載されているので、ぜひご覧ください。

なぜシーズを基盤とした開発を行うのか

エクサウィザーズの事業の特徴は、主要な産業分野における事業課題の解決を通じて、それらと深く関係する社会課題解決をするためのプロジェクト型開発と、介護などの個別の事業領域に特化し社会課題解決をするためのプロダクト型開発を同時に展開していることです。

顧客の経営課題を解決するプロジェクトで機械学習モデルを構築する中で、 社会における汎用的な課題を抽出し、そこからプロダクトを開発、プロダクト型開発の技術を個社の課題解決に利用することで、課題発見とソリューション開発を行なっています。

今回はプロジェクト型の開発における開発にフォーカスした内容についてご紹介します。

ニーズを基盤とした開発

顧客の具体的な経営課題を解決するためのプロジェクトと聞くと、 ニーズを基盤とした開発をイメージされる方が多いのではないでしょうか。実際、エクサウィザーズのプロジェクトの多くは顧客のニーズを基盤とした開発です。まずBizDevが中心となり、顧客のニーズのヒヤリングを行います。その後、機械学習エンジニアがBizDevと議論を行い、仮説設定を行います。

さらに、機械学習エンジニアが中心となって概念実証(PoC)を行い、データの収集・機械学習モデルの構築・検証を行います。 その結果をもとに、顧客の潜在的なニーズを吸い出し、そこからソリューション開発へと進めていきます。先月、私が日経XTech様に寄稿した記事でご紹介した、 外観検査の事例や動画要約の事例はいずれもニーズを基盤とした開発の事例です。

ニーズを基盤としたプロジェクトは解くべき問題が明確で、 PoCのための問題設定は比較的立てやすいケースも多く、AIの社会実装が比較的早く進んでいきます。顧客の課題を正しく抽出できる状態であれば、理想的な進め方とも言えるかもしれません。

だからこそ、課題もあります。 それは、ニーズに合った技術を選択しなければならないことです。プロジェクトの多くは予算・期間・達成目標を立てていきます。 それぞれを達成できる方法を見積もり、受注しています。こうしたニーズを基盤とした開発では、不確定性の強い先進的なアルゴリズムよりも、 挙動がコントロールしやすい、可能な限りシンプルなアルゴリズムに落とし込む方が賢明です。クライアントのニーズありきのプロジェクトでは当たり前の考えであり、 プロジェクト遂行時に多くのMLEが強く意識していることだと思います。

シーズを基盤とした開発

さて、ニーズを基盤としたプロジェクトやそのための基盤技術の調査・開発を行う中で、 機械学習エンジニア側から様々な技術的仮説が生まれることがあります。

「この論文で書いてある技術を使えば、あの業種のこういう問題が解けるのでは?」
「この前のプロジェクトでこういうことが問題になった。それを解決するような技術を開発すればさらにプロジェクトが受注できるのでは?」
「まだ何に使えるかわからないけど、面白そうだからこんなの作ってみました!笑」

といった仮説です。 (最後のは仮説とは言えませんが、実際こうしたケースが多いのも事実です笑)

エクサウィザーズでは、こうした技術者視点の仮説を元に様々なシーズを基盤とした開発が盛んに行われています。これらを促進するために、 各エンジニアに、プロジェクト以外の研究開発・技術開発のために一定の工数が確保されており、 この時間で自由に作りたいものを開発することができます。

シーズを基盤とした開発の具体例

開発の例を簡単に2つご紹介します。ここでは技術内容だけでなく、開発に至った経緯もご紹介します。

①光学技術を用いた異常検知

近年の画像認識技術は進化していますが、一般的なRGBカメラの画像では検出が困難な状況は数多く存在します。 例えば、透明な液体に入った透明のガラスを検出することが難しいのは想像に容易いでしょう。 また、野菜などの表面からその野菜の熟れ度合いを推定するのも、外見だけでは判断できないことが多いです。

そこで、エクサウィザーズではマルチスペクトルカメラなどの特殊な光学機器によって撮像することで、 RGBカメラでは検出や分類が困難な対象の可視化を行う取り組みを行い、多数の特許を出願しています。

偏光板を用いた瓶中の透明なプラスチック片を可視化した例

機械学習の分野は発展が著しいものの、入力画像の情報量が十分でない場合、 精度や処理速度が障壁となり社会実装に至らないケースが多くあります。 このような光学技術を活用することで、こうした障壁を乗り越えることができるケースは多くあります。

エクサウィザーズには光学技術に詳しいエンジニアが在籍しており、 技術開発はこのエンジニアが中心となって進めています。基本的な技術の考案はこのエンジニアが行い、 インドの開発拠点などとも協力しながらプロジェクト開発を行なっています。

さらに、この技術をプロジェクトで活用するための施策も多く行われています。知財グループと連携し、技術に関する社内勉強会やブレインストーミングの機会を度々開催しております。 こうした機会を通じて、エンジニアが研究開発した技術を他部署のメンバーに公開し、 クライアントとの議論に出てきた課題をマッチングして、新たなプロジェクトの立ち上げを行っております。

②Vision & Languageモデルを活用した画像のフィルタリング技術

近年、世の中をAIによる画像生成技術が席巻しています。特にStable Diffusionをはじめとする、自然言語を主な入力とした画像生成技術が高い注目を浴びています。こうした技術の発展の裏側には、画像生成技術の向上のみならず、自然言語モデルの精度向上が高く寄与しています。

こうした画像と自然言語のデータを活用した分野を「Vision & Language」と呼びます。エクサウィザーズではVision & Languageのモデルを活用した画像のフィルタリング技術を開発し、特許を出願しております。

Vision & Languageのモデルを活用した画像フィルタリング技術の適用例

このフィルタリング技術は、 Vision&Languageのモデルの代表的なモデルであるCLIPなどを用いて、 モデルの出力を後処理的に利用することで画像をフィルタリングする技術です。この技術は、常時撮影型のカメラデバイスから得られた動画像の中から、 特定の事象に当てはまるシーンを自動的に除外する用途で開発されたものです。

例えば、交通事故のようなケースを考えると、 一言に「事故」と言っても、人同士なのか、車同士なのか、自転車同士なのか、 といったように様々な種類があるかと思います。本技術は、学習済みのモデルを別の用途で活用する「ゼロショット学習」と呼ばれる技術の一つで、 学習モデルを新たに用意する必要がないことが特徴です。一般的な機械学習モデルを比較すると、使用できるシチュエーションが広いため、 様々な事象に対してのフィルタリングが可能であることが特徴となっています。

この技術は、MLEがVision & Languageのモデルに興味を抱き、活用先を検討していた際に、 他部署のメンバーとのカジュアルなディスカッションをきっかけとして生まれました。社内の勉強会や技術共有用のチャットなどを通じて、MLEが発信している情報を他部署のメンバーが見て興味を持ち、議論と実験を重ねて、特許出願にも至っています。

開発したままで“終わらせない”ために

シーズを開発するための工数を確保することは非常に重要です。 エクサウィザーズでは多くのMLEが一定の工数の研究開発に使って、自由にシーズ開発を行なっていることは前述の通りです。そうした中で、シーズベースの開発を行う上で、 開発したままになり、プロジェクトに生かされないという事態は深刻であり、避けなければなりません。

そのために、エクサウィザーズでは様々な機会を用意して、 エンジニアがビジネス側のメンバーと技術について共有する場を提供しています。一つの例が、AIインキュベーション室と呼ばれる組織です。

シーズベースの開発を行う上でも、ある程度のニーズの把握は非常に重要です。 ニーズを把握することで、技術調査を行う際にも、注目する視点が変わり、 より効果的なアイディアに至ります。 逆も然りで、様々な技術を知ることで、BizDevの提案もより技術的観点として 適切なものとなります。

AIインキュベーション室は、エンジニアが開発したシーズとクライアントを繋げるために、 BizDevからの業界ニーズや課題の吸い上げ、エンジニア側に情報提供する活動を行なっています。同時に、エンジニアが日々開発しているシーズを把握し、 適したニーズとのマッチングを行なっています。

このようにエンジニアの活動に興味を持っていただけて、ビジネスへの転用を促進するチームがいることは、エンジニアとしてはとても嬉しいですし、 シーズ開発を進めるモチベーションに繋がります!

また、エンジニア側からも様々な活動を行なっています。機械学習エンジニアが自分達の技術を紹介する営業資料の作成を自主的に行なったり社内のメンバーが自由に使えるデモを開発して提供したり、 自分達の技術を紹介する勉強会やブレインストーミングの機会を作ったり、 と積極的に技術について社内に発信する活動を多数行なっています。こうすることで、エンジニアもシーズの得意・不得意などを予め共有することができ、 正しい適用先とのマッチングに繋がります。

エクサウィザーズでは、このようにエンジニアとそれを提案するBizDevが双方で情報を共有し、歩み寄ることが非常に重要だと考えています。 シンプルなことですが、畑が違う両者にとっては意外と簡単なことではありません。ただ、エンジニアはビジネスのニーズを知れると、社会にインパクトが残せるシーズの開発ができますし、 BizDevはエンジニアが作ったものをより詳しく理解することで、より効果的な営業ができるメリットがあります。

私はエクサウィザーズに3年以上在籍していますが、この会社の良いところは、 エンジニアもBizDevもこうした活動を主体的に楽しんでやれる方が多いことだと思っています。今後もこうした活動がより良いものとなるために、様々な施策に取り組んでいきますので、 また何かの機会にご紹介できればと思います!

最後に

今回は2つの事例をご紹介しましたが、 弊社ではこれらのほかにも様々な研究開発案件を多数進めております!画像以外のチームでも、構造化データ、自然言語、数理最適化、ロボットなどの分野でも同様の開発が進んでおります。

成果の多くは、プレスリリースはもちろん、特許や論文等でも数多く発表しておりますので、 気になった方はぜひご覧いただければと思います!

まずはカジュアル面談を申し込みたいという方はこちらから。

8日目は人事総務部の中村海太さんです! (短期間で2回目の登場!)

みんなにも読んでほしいですか?

オススメした記事はフォロワーのタイムラインに表示されます!