機械学習・人工知能エンジニア
機械学習、信号処理、自然言語処理等の技術を用いる研究者・エンジニア募集
チームラボ・チームラボエンジニアリング
チームラボの機械学習チームでは定期的に、3・4人ずつのチームを組んで社外のデータ分析コンペに参加しスキルアップを図っています。先月はDeepAnalytics主催の「レコメンドエンジン作成チャレンジコンテスト」に、18人のメンバーが5チームに分かれて参加しました。
コンペへの参加は基本的に業務外の時間を使って行います。ただし一定の範囲内で社内のAWS等の計算リソースが利用可能で、また賞金を獲得した場合はそのチームのものになるというルールがあり、多くのメンバーが参加しています。コンペ中はチーム間の情報共有は禁止されているためほとんど情報交換はありませんが、終了後に全員で共有会を行い、お互いの分析結果などを報告しあいます。
前回は、同じくDeepAnalytics主催で7月に行われたファッション画像の色分類コンテストに20人程度のメンバーが参加し、うち1チームがコンテスト1位となり、賞金100万円を獲得しました。
今回のレコメンデーションコンペは10/30に終了し、その数日後に社内で共有会を行いました。
このコンペはユーザと商品ごとの行動履歴データ(閲覧、広告クリック、購入など)が与えられ、ある期間の学習データを用いて未来の行動を予測するというものです。行動履歴以外のデータは与えられず、ユーザ属性や商品属性などの情報がないため、レコメンデーションの問題としては非常にシンプルな形式でした。ただしコンテストのスポンサーが広告代理店であることもあり、精度評価指標が広告を重視したものである(広告がクリックされるか、広告経由で購入されるかのみが評価される)点に特殊性がありました。
多くのチームが、行動履歴データをユーザ×商品のRating Matrixに変換し、その行列の適切な低次元化のために、Matrix Factorization、Factorization Machines、それらの手法のニューラルネット版、トピックモデルなど、色々な手法を試していました。Rating MatrixのRatingをどのように設定するか、時間情報をどのように扱うか、計算量をどのように減らすか、ハイパーパラメタのチューニング、アンサンブルなど多くの議論が盛り上がりました。
そんな中、社内で最も高いスコアを出したチームが全く違う手法を使っていたことが報告され、共有会は驚きにつつまれました。このチームは試行錯誤の中で「ユーザが直前の1週間にクリックや購入を行った商品をそのままレコメンドすると、思いのほかスコアが高い」ことを発見しました。このデータにおいてはユーザ自身の過去に閲覧・購入した商品と、未来に閲覧・購入する商品の相関が非常に高いというこの着想をベースに、細かいチューニングを重ねた結果、他のチームを大きく引き離して上位入賞(全体6位)を果たしました。
レコメンデーションと言えば行列の低次元化という発想が多数派である中で、Rating Matrixを用いない手法が成功したことを受け、共有会では、実際のチームラボの案件でもこの発想が使えるか、弊社のレコメンドエンジンにも応用可能かといった議論がなされました。
チームラボの機械学習チームは、このようなレコメンデーションやデータ分析から、画像処理や音響処理を用いた実空間でのセンシングまで、幅広い分野の問題を様々な手法で解いています。このようなコンペ参加の他にも、月次で案件共有会、隔週で論文読み会などを行っており、自分の専門分野以外についても学び合える環境を作っています。弊社で働くことにご興味のある方は、ぜひ弊社の採用案内もご覧ください。共に未来をつくる仲間を募集しています。