プロフィール

棚橋 耕太郎
Kotaro Tanahashi

データスペシャリスト

機械学習エンジニア 入社6年目

キャリアパス

学生時代

環動ゲルという面白い性質を持つゲルの分子シミュレーションや理論解析をし、学会や修論発表会で賞を受賞。『Cloud LaTeX』という登録者が4万人以上いるwebサービスの立ち上げも経験。

1年目

自社サービス向けアドネットワーク用の広告配信機械学習システムの開発。早稲田大学と量子アニーリングに関する共同研究を開始。

2年目

様々な広告配信に関わる。LA(Google)で行われた量子アニーリングに関する国際会議AQC※でポスター発表。

AQC:Adiabatic Quantum Computing conference

3年目

DSPなどを統合した広告配信エンジンの新規開発。AQCをリクルートのオフィスにて開催し、開発した機械学習手法について口頭発表を行う。

4年目

PythonライブラリPyQUBOを開発。IPA未踏ターゲットのプロダクトマネジャーに就任。シリコンバレー(NASA, Ames)で行われたAQCにて、開発した特徴量選択手法について口頭発表を行う。

5年目

量子アニーリングでテレビCMの配置最適化を行いQubitsで発表。一般社団法人量子ICTフォーラムの委員に就任。

6年目(現在)

GPUアニーリングマシンを使ったリアルタイムのレコメンデーション最適化に取り組む。大阪大学と数理最適化に関する共同研究を開始。

実務と研究の相乗効果で会社の枠を超えて活躍する機械学習エンジニア

キャリアパス・現在の仕事内容(1)

研究開発とビジネス応用を相互交流させ価値を生み出す。

現在メインで取り組んでいるのは、量子アニーリングの研究開発とそのビジネス応用です。近年は量子アニーリングやアニーリングマシンといった、最適化に特化したハードウェアの開発が進んでいます。これらを使うことで従来の最適化手法を使うよりも、より効率的に最適化できるということが期待されており、こういった技術をうまくビジネスに活用できないかという取り組みをしています。その一環として、量子アニーリングを使った特徴量選択手法を開発し、社内向けの機械学習自動化ツールに搭載したり、レコメンデーションでのアイテムの最適な選択をリアルタイムにアニーリングで行う手法の開発などを行いました。また、このような取り組みの中で、アニーリングマシンをより効率的に使うためのツール開発も行っており、オープンソースとして公開した『PyQUBO』というPython用ライブラリは世界で10万回以上ダウンロードされ、量子アニーリングマシンを作っているカナダの企業D-Wave社の公式SDKにも登録されています。

キャリアパス・現在の仕事内容(2)

最新のアニーリングマシンを使ったレコメンデーションのリアルタイム最適化。

アニーリングマシンの特徴として、瞬時に組合せ最適化計算を行うことができるという点があります。この特徴を生かして、リアルタイムで最適化問題を解く必要がある金融の問題や、ロボットの画像処理の分野での利用などが期待されています。この「瞬時に最適化問題が解ける」という特徴を、リクルートが持っているサービスのレコメンデーションシステムで使いたいと思いました。開発したシステムでは、webサイト上でのユーザーのリアルタイムな行動とアイテムの情報をもとに、アイテムとユーザーの相性などを瞬時に機械学習モデルにより計算し、この情報をもとに最終的に表示するアイテムの順序を最適化問題として計算します。全ての計算や通信時間を含めて数百ミリ秒以内にレスポンスを返す必要があるため、従来は貪欲法などの簡単な最適化手法を使うことしかできなかったのですが、今回使ったアニーリングマシンでは50ミリ秒程度で計算を行うことができたため、より良い最適化の結果を反映したレコメンデーションを作成することができました。この取り組みで利用したアニーリングマシンは、ある量子計算を古典計算用に近似した、最近登場したタイプのもので、リアルタイム計算が得意ということで注目されていました。それをすぐにサービスに実応用できたのは、リクルートならではのスピード感だと思います。

キャリアパス・現在の仕事内容(3)

広告配信エンジンの新規開発を手掛ける。

入社3年目のときに、リードエンジニアとして広告配信のための機械学習エンジンの新規開発を手掛けました。広告配信と一口に言っても社内用や社外用などいろいろあるのですが、私がメインで扱っていたのは、DSPと呼ばれるリアルタイムのオークションを通じて、競り落とした人が広告を出すことができるという仕組みです。最初はビジネス検証を行なっていたため、単発の案件に対してシステムを動かすだけで良かったのですが、DSPを使った広告商品を大きく売り出していくタイミングでDSPのシステムも従来システムと統合し、汎用化させる必要がありました。今までのシステムと一番違う部分は、流れてくる広告キャンペーンの内容が全くわからない状況でもうまく動作させるシステムというところですね。金額規模や配信対象者がまったく違う広告キャンペーンが365日流れてくるのですが、人の手が介在することなしに常に効果を発揮できる必要がありました。扱うキャンペーンによって機械学習のモデルの粒度や、データ量の調整を自動的に行う仕組みを導入したりしました。またSparkという分散処理のミドルウェアを利用していたのですが、Sparkが提供する機械学習のモデルは大きなデータから単一のモデルを作成することを想定しており、広告配信のように細かいモデルをたくさん学習するタイプの用途に対してはうまく活用することができませんでした。そこで、巨大なデータの中でたくさんの機械学習モデルを並列に学習できるようなSpark用の機械学習モデルを自分たちで一から実装することで従来よりも数倍高速に動作するシステムを作成することができました。

職種ならではのおもしろさ

実務から研究が生まれ、
研究から実務が生まれる。

私は研究をしたり論文を書いたりもしていますが、基本的には実務がメインで、プラスαで研究っぽいことも行っているイメージです。例えば社内向けに作ったツールをオープンソース化したり、社内で行った施策をさらに一般化して、「一般的にはこういうふうに使えます」という内容をまとめて論文にしたりしています。このような活動は自社サービスを持っている企業だからこそできる応用研究だと思っています。

ある最適化問題に関するプロジェクトを進めていたのですが、ビジネス上の費用対効果が見込めないという理由で一度中止になってしまいました。その後、技術者として考えられる解決方法をいくつか考えてビジネス担当者にアイデアを聞いてもらうということを行ったところ、現場の方からフィードバックをもらい、経済的に現実的かつ効果のある施策を検討することができました。一方、その新しい方法を技術的に実現する上で課題もありました。非常に制約条件の多い整数計画問題を解く必要があるため、解くのに時間がかかりすぎるという問題です。その問題に対しては共同研究先の先生と議論を行い、効率的に必要な制約条件を絞り込むことで、従来の1/10程度の制約条件で同等以上の最適化性能が得られる手法を開発しました。その方法は特定の問題だけでなく、一般的なマーケティング施策において活用できるものなので、今後学会などで発表を行う予定です。ですので、あくまで実務がメインで、その中で出てきたアイデア等が論文や社会発表につながっていくような感じになっています。

今までに直面した「壁」

ハードルの高い案件で、
今につながる学びを得る。

これまでで一番の壁だったのは、広告配信用の機械学習システムの開発です。これは新人の頃の話なのですが、前任者から大きな開発案件を引き継いで自分1人でやらないといけなくなった時の話です。当時の私にはハードルが高い案件で、困ったときには周りの先輩に質問をしていました。先輩からは「ツールを使えば簡単にできる」というアドバイスではなく「こういう考え方でこういう処理をするとうまくいく」といった、実装のアイデアレベルのアドバイスを多くもらいました。この時に教えてもらった考え方は今でもすごく役に立っています。また、エンジニア組織の文化でもある「自分で実装して解決する」ことの大切さは、今になっても感じます。特に私は現場で手を動かすことが大事だと思っています。例えば、前述の『PyQUBO』というオープンソースのライブラリができたきっかけは、自分自身が組合せ最適化問題をQUBO※という形式に変換するのが非常に煩わしいと感じたことでした。数式からQUBOへ変換する処理は数学的にも自明な操作であり、論文や技術ドキュメントでは「手計算で行うもの」としてあまり触れられていませんでした。ただし、扱う問題が大きくなり複雑化すると、手計算で扱うことが難しくなってしまうため、PyQUBOのようなツールが役に立つようになります。また、PyQUBOが登場したことで、アニーリングマシンを使うためのアプリケーションの構築が容易となり、PyQUBOを使った新たなライブラリを作成する人も出てきました。こうなると、PyQUBOは単なる便利ツールではなく、アニーリングマシンで解くための最適化問題を記述するための共通プラットフォームとしての役割を果たしていると思います。このように現場レベルの小さな感覚を大切にすることで、大きなイノベーションを生むことができるとソフトウェア開発を通じて感じています。

QUBO:二次制約なし2値最適化のこと。組合せ最適化問題をアニーリングマシンで解くためには解きたい問題をQUBOの形に変換する必要がある。

リクルートというフィールド

会社の枠組みを超えて、
自由に活躍できる。

大学院時代、私は研究が好きで学術的なことにとても興味がありましたが、IT業界でも学術的なバックグラウンドを生かして活躍されている方がたくさんいたので、大学には残らずに就職することに決めました。また、ビジネスとアカデミアは対立構造のようなイメージで捉えられることも多いのですが、私はリクルートではそれを感じたことがありません。アニーリングの海外カンファレンスへの参加は役員や部長、マネジャーが後押ししてくれ、一緒にカンファレンスに参加してくれた役員の方もいらっしゃいました。また、未踏でのPM、フォーラムや学会の委員など外部での活動も多いのですが、リクルートはそういう会社を超えた外部活動も支援してくれます。

前述のPyQUBOをオープンソースとしてリリースするときも、会社が快く認めてくれました。会社として技術コミュニティに貢献し、社会へ新しい接点を持つきっかけになりますし、誰かがこのソフトを使って新しい知見を発見してくれれば、会社にとってもプラスになり、良い循環が生まれていくのではないかと思っています。

My Favorite

アクリル版で自作した アリの飼育ケース

毎日アリの巣を観察しながら仕事をしています。アクリル版を使ったケースは実は自作のもの。アリが卵を育てている様子も見やすく、眺めているだけで和みます。