RecSim NG:柔軟で規模拡大可能で微分可能なシミュレーション付き推薦システム(1/2)

学習手法

1.RecSim NG:柔軟で規模拡大可能で微分可能なシミュレーション付き推薦システム(1/2)まとめ

・推薦システムは広く利用されているが公平なサービスを提供するために多くの課題がある
・推薦システムで強化学習アルゴリズムを利用すためシミュレーション環境にRecSimがある
・RecSim NGはモデルが柔軟で簡単に拡張できることを保証する改良された次世代RecSim

2.RecSim NGとは?

以下、ai.googleblog.comより「Flexible, Scalable, Differentiable Simulation of Recommender Systems with RecSim NG」の意訳です。元記事の投稿は2021年4月29日、Martin MladenovさんとChih-wei Hsuさんによる投稿です。

去年末に投稿した記事
AI、機械学習、データサイエンス、ディープラーニングの2020年の進展と2021年の予測リサーチ編(1/3)
AI、機械学習、データサイエンス、ディープラーニングの2020年の進展と2021年の予測リサーチ編(2/3)
AI、機械学習、データサイエンス、ディープラーニングの2020年の進展と2021年の予測リサーチ編(3/3)
の中でも言及されていたのですが、データサイエンスをディシジョンサイエンス(decision science、意思決定科学)に進化させるために強化学習が役立つ可能性がある、と言う予想が段々と表面化しつつあるな、と感じるお話です。

ビフォーコロナであれば、データを見て分析すれば十分でしたが、コロナのような想定外の事態が行った際には、次に起こる事を予測するためには何らかのシミュレーションが必要になりますが、RecSim NGはそのようなシミュレーションに使える強化学習の先駆けとなる可能性がありますね。

アイキャッチ画像のクレジットはPhoto by Florian Schmetz on Unsplash

推薦システムは、ユーザーが様々なオンラインコンテンツを捜す際の主要なインターフェイスであるため、ユーザーに公平にサービスを提供するには、ユーザー集団全体に関する多くの課題を克服する必要があります。この目的のために、2019年に、推薦システムで強化学習アルゴリズム(順次決定問題に対処するための事実上の標準である機械学習アプローチ)の研究を容易にするシミュレーション環境を作成するための、柔軟に構成可能なプラットフォームであるRecSimをリリースしました。

ただし、テクノロジが進歩するにつれて、シミュレーションと実際のアプリケーションの間のギャップに対処し、モデルが柔軟で簡単に拡張できるようにし、ユーザー行動に対する確率的推論を可能にし、計算効率を向上する事がますます重要になっています。

これらの問題に対処するために、先日、推薦システムの研究開発用のシミュレーターの「次世代(NG:Next Generation)」であるRecSim NGをリリースしました。RecSim NGは、シミュレーションを現実世界の問題に適用する際の重要な課題として浮上した一連の用例に対応します。シミュレーションと現実世界のアプリケーションの間のギャップに対処し、モデルが柔軟で簡単に拡張できることを保証し、ユーザー行動の確率的推論を可能にし、計算効率に対処します。

RecSim NGの概要
RecSim NGは、Edward2とTensorFlowに実装された規模拡張可能でモジュール式で微分可能なシミュレーターです。これは、エージェントの動作を指定するための強力で一般的な確率的プログラミング言語を提供します。

RecSim NGは、2つの方法でRecSimのモデリング機能を大幅に拡張します。まず、story APIを使用すると、任意の数のアクター(推薦者、コンテンツ消費者、コンテンツプロデューサー、広告主など)が相互作用するシナリオのシミュレーションが可能になります。

これにより、従来手法ではユーザーと推薦者は分離されていますが、これとは対照的に、推薦システム全体の柔軟なモデリングが可能になります。

次に、Kerasレイヤーのように、複雑なモデルをすばやく構築可能にする、よく知られたモデリング要素を動作可能な土台として実装するライブラリを導入しました。

オブジェクト指向パラダイムに従って、RecSim NGはエンティティパターンを使用して、ユーザー満足度などの様々なエージェントの動作を管理する共有パラメータをカプセル化し、テンプレートを使用して、不変の動作は複製せずにエージェントの「個性」を抽象化する方法で、エージェントの大規模な母集団を簡潔に定義します。

モンテカルロサンプルを生成するためのシミュレータの一般的な使用とは別に、RecSim NGは他の様々な形式の確率的推論を直接可能にします。

特定領域に関する知識と直感は推薦問題をモデル化するための鍵ですが、いわゆる「sim2real」ギャップを埋めるために必要なシミュレーションの忠実度は、シミュレータのモデルを観測データに合わせて調整することによってのみ達成できます。

データ駆動型シミュレーションの場合、RecSim NGを使用すると、期待値最大化(EM:Expectation-Maximization)、敵対的生成ネットワークなど、さまざまなモデル学習アルゴリズムを簡単に実装できます。

RecSim NG内では、自動微分とトレースに裏打ちされた確率的推論と潜在変数モデル学習のためのツールも利用できます。RecSim NGは、シミュレーション固有のタスクに合わせて調整されたEdward2プログラム変換の小さなセットを公開します。その対数確率モジュールは、シミュレーションによって誘発された確率的グラフィカルモデルに従って軌道の確率を評価できます。

これは、TensorFlowランタイムによって提供される自動微分とともに、シミュレーション自体の中で最尤推定とモデル学習の実装を可能にします。

RecSim NGは、TensorFlow Probabilityによって提供されるマルコフ連鎖モンテカルロ(MCMC:Markov-Chain Monte Carlo)機構を容易に使用して、事後推論と潜在変数モデルの学習を強化できます。

たとえば、潜在的なユーザー属性(好み、意図、満足度など)が観察データ(クリック、評価、コメントなど)にどのように変換されるかを説明するシミュレーションモデルを「逆に実行」することができます。

つまり、推薦システムによって生成された実際の観測データを使用して、潜在的なユーザー属性の最も可能性の高い構成を特定できます。これを使用して、ユーザー体験の品質を評価できます。これにより、シミュレーションモデルを完全なデータサイエンスおよびモデル開発ワークフローに直接統合できます。

システムの健全性の評価、つまり、全体的な満足度、集合的な公平性、安全性などの側面に対する推奨戦略の長期的な影響を評価するためには、エコシステムの様々な参加者間の相互作用をもっともらしく再現するために、大規模なマルチエージェントシステムのシミュレーションが必要です。

これは、確率的推論タスクの計算負荷とともに、効率的なシミュレーションランタイムを必要とします。計算パフォーマンスのために、RecSim NGは、高速化されたハードウェアでシミュレーションを実行するためのTensorFlowベースのランタイムを提供します。

シミュレーションでは、TensorFlowのAutoGraphコンパイラが提供するすべての最適化を利用します。これには、利用可能な場合は加速線形代数(XLA:accelerated linear algebra)も含まれます。

シミュレーションでは、ホストマシンで使用可能なすべてのコアと、テンソルプロセッシングユニット(TPU:Tensor Processing Units)などの特殊なハードウェアが(適切に実行されている場合は)自動的に活用されます。RecSimNGアーキテクチャの主要機能はバックエンドに依存しないため、他の計算フレームワーク(JAXやPyTorchなど)内でアプリケーションを開発に利用できます。

3.RecSim NG:柔軟で規模拡大可能で微分可能なシミュレーション付き推薦システム(1/2)関連リンク

1)ai.googleblog.com
Flexible, Scalable, Differentiable Simulation of Recommender Systems with RecSim NG

2)arxiv.org
RecSim NG: Toward Principled Uncertainty Modeling for Recommender Ecosystems

3)github.com
google-research / recsim_ng

 

タイトルとURLをコピーしました