🚢🚢🚢AIテクノロジーソフトウェアと技術交流グループへのご参加をお待ちしております!最新のトレンドを把握し、一緒に技術的な課題を探求しましょう! 著者 | ヴィッキー・ボイキス 編纂者:岳陽 Transformerモデルの登場、そしてさらに重要なBERTの登場により、大規模なマルチモーダルオブジェクト(画像、テキスト、音声など)の特徴表現の生成がよりシンプルかつ正確になりました。さらに、GPUを利用すれば並列計算を高速化できます。これが埋め込みの役割です。では、埋め込みをどのように活用すべきでしょうか?結局のところ、私たちは数学的な演習のためだけに埋め込みを開発しているわけではありません。 すべての実稼働レベルの機械学習プロジェクトの最終的な目標は、機械学習製品を開発し、実稼働環境に迅速に展開することです。 今日、多くの企業が様々なシナリオで埋め込み技術を活用しており、情報検索のあらゆる側面を網羅しています。例えば、ディープラーニングモデルによって生成された埋め込みはGoogle Playアプリストアのレコメンデーションシステム[1]で利用されており、デュアル埋め込みはOverstockの商品補完コンテンツレコメンデーション機能[2]で利用されています。Airbnbはリアルタイムランキングを利用して検索結果をパーソナライズしています[3]。Netflixはコンテンツ理解に埋め込み技術を活用しています[4]。Shutterstockはビジュアルスタイルの理解に埋め込み技術を活用しています[5]。 01 ピンタレストPinterestは、組み込みアプリケーションの注目すべき例です。Pinterestアプリは膨大な量のコンテンツを抱えており、特にホームページやショッピング画面では、ユーザーに合わせてパーソナライズやカテゴリー分けを行う必要があります。生成されるコンテンツの量(月間アクティブユーザー3億5000万人、コンテンツ(画像の説明文が付いたピンやカード)20億点)を考えると、堅牢なコンテンツフィルタリングとランキングポリシーが不可欠です。 Pinterestは、ユーザーの興味をより適切に表現し、興味深いコンテンツを提示するために、PinnerSage [6]を開発しました。PinnerSageは、ユーザーの代表的なオブジェクトを表現するために、複数の256次元埋め込みを使用します。これらの埋め込みは類似性に基づいてクラスタリングされ、メディオイドによって表現されます(注:メディオイドはユーザーの興味クラスタ中心の代表的なオブジェクトであり、以下も同様です)。 このシステムは、PinSage[7]と呼ばれるアルゴリズムを用いて開発された埋め込みセットに基づいています。PinSageはグラフ畳み込みニューラルネットワークを用いて埋め込みを生成します。グラフ畳み込みニューラルネットワークは、ネットワーク内のノード間の関係性を考慮したグラフニューラルネットワークです。このアルゴリズムは、ピンの最近傍を調べ、関連する近隣訪問に基づいて近くのピンからサンプルを抽出します。入力は、ピンの埋め込み(画像埋め込みとテキスト埋め込み)と、発見された最近傍から構成されます。 Pinsageの埋め込み情報はPinnersageに渡されます。Pinnersageは、ユーザーが過去90日間にインタラクションしたピンを取得し、それらをクラスタリングしてメディオイドを計算し、重要度に基づいて上位3つのメディオイドを選択します。ユーザーのクエリがメディオイドの場合、PinnersageはHNSWを用いて近似最近傍検索を実行し、埋め込み空間内でユーザーのクエリに最も近いピンを見つけます。 図1. 埋め込みベースの類似検索手法:PinnersageとPinsage 02 YouTubeとGoogle Playストア2.1ユーチューブYouTube は、「YouTube のおすすめのためのディープ ニューラル ネットワーク」と題する論文で、自社の制作おすすめシステムにおける埋め込みの使用を公開した最初の大手企業の 1 つです。 8億本以上の動画と26億人のアクティブユーザーを抱えるYouTubeは、これらのユーザーに動画をおすすめする必要があります。推奨システムは、既存の動画コンテンツを提案するだけでなく、継続的にアップロードされる新しいコンテンツの要約も提示する必要があります。YouTubeは、ユーザーが新しいページを読み込む際に、低遅延で動画コンテンツをおすすめする必要があります。 この論文[7]で、YouTubeは2つのディープラーニングモデルに基づく2段階の動画推薦システムの構築方法を公開しました。機械学習の課題は、ユーザーがクリックできるよう、指定された時間内にYouTubeの推薦バーに表示される次の動画を予測することです。最終的な出力は分類問題として表現されます。ユーザーの入力特徴と動画の入力特徴が与えられた場合、特定の動画に対するユーザーの予測視聴時間と視聴確率を予測できるでしょうか? 図2 YouTubeのエンドツーエンドの動画推薦システム(候補コンテンツ生成器とソーターを含む)[7] このタスクはユーザーUとコンテキストC [8]に基づいて設定しました。 入力データセットのサイズが大きいため、タスクを 2 段階の推奨システムに分解する必要があります。第 1 段階は候補ビデオ ジェネレーターで、候補ビデオの数を数百に減らします。第 2 段階のモデルは、同様のサイズと形状を持ち、ソーターと呼ばれ、ユーザーがクリックして視聴する可能性に応じて、これらの数百のビデオを並べ替えます。 候補生成器は、全層でReLU活性化関数(ReLU活性化関数)を使用する多層ソフトマックス深層学習モデルです。入力が正の値の場合、出力はそのまま出力され、それ以外の場合は0となります。このモデルは、埋め込み特徴量と表形式の学習特徴量の両方を使用し、これらを組み合わせています。 モデル構築には、2つの埋め込みデータセットを入力として使用しました。1つはユーザーとコンテキストを特徴量とするデータセット、もう1つは動画コンテンツアイテムのデータセットです。モデルには、表形式の特徴量や埋め込みベースの特徴量など、数百の特徴量が含まれています。埋め込みベースの特徴量には、以下の要素が含まれます。
これらの特徴量はすべて単一の埋め込みに統合され、ユーザーにとっては、すべてのユーザー埋め込み特徴量の混合として認識されます。これはその後、モデルのソフトマックス層に入力されます。この層は、ソフトマックス層の出力(ユーザーが推奨動画をクリックする確率)と、真の値(ユーザーが既にインタラクションを行った動画アイテム)の集合を比較します。動画アイテムの対数確率は、2つのn次元ベクトル(ユーザークエリと動画埋め込み)のドット積です。 これは暗黙的なフィードバックの一例です。ユーザーが明示的にフィードバック(評価など)を提供しない場合でも、ログデータからユーザーの興味関心を捉え、動画カテゴリー(約100万)ごとにユーザーが動画を「いいね!」する可能性の確率結果を出力します。(訳注:このモデルは、ユーザーが各動画カテゴリーをクリックまたは視聴する確率を予測できます。これらの確率を用いて、各ユーザーの各動画カテゴリーに対する相対的な重要度を計算し、ユーザーに最も関連性の高い動画を推奨することができます。) この DNN は、前に説明した行列分解モデルを一般化したものです。 図3 YouTubeは動画推薦に入力埋め込み機能を備えた多段階ニューラルネットワークモデルを使用している[7] 2.2 Google Play アプリストアGoogle Playアプリストアでも同様の研究が行われていますが、異なるアーキテクチャを用いています。例えば、「レコメンデーションシステムのためのワイド&ディープラーニング」[9]は、検索とレコメンデーションの空間を網羅し、正しくランク付けされパーソナライズされたアプリのレコメンデーションを返すことができます。このモデルへの入力は、ユーザーがアプリストアにアクセスした際に生成されるクリックストリームデータです。 図4 広くて深い[9] システムは、推奨問題の解を、共同でトレーニングされた2つのモデルに割り当てます。トレーニングの各エポックにおいて、重みは2つのモデル間で共有され、相互に伝播されます。 レコメンデーションシステムに必要なモデルを構築しようとすると、記憶と汎化という2つの共通の課題が生じます。モデルは、過去のデータからアプリがどのように一緒にダウンロードされたかを学習することでユーザーパターンを学習すると同時に、これまで見たことのない、しかし関連性のある新しいアプリを推奨することで、推奨コンテンツの多様性を高める必要があります。通常、単一のモデルでこの2つの側面を同時に解決することはできません。 ワイド&ディープは、2 つの補完的なモデルで構成されます。
図5. ワイド&ディープモデルの深部[9] このモデルは5,000億サンプルを用いて学習され、オフラインではAUCを用いて評価され、オンラインではアプリダウンロードコンバージョン率(つまり、アプリのダウンロードプロセス全体を完了するまでの速度)を用いて評価されました。論文によると、この手法により、アプリストアのホームページにおけるアプリダウンロードコンバージョン率が、コントロールグループと比較して3.9%向上しました。 03 ツイッターTwitter では、事前に計算された埋め込みベクトルは、新規ユーザーのトピックの興味の予測、ツイートの推奨、ホームページのタイムラインの構築、ユーザーのフォローの推奨、広告の推奨など、推奨機能を有効にする多くのアプリケーション機能の重要なコンポーネントです。 Twitterには埋め込みベクトルに基づく多くのモデルがありますが、ここではTwice[10]とTwHIN[11]の2つだけを紹介します。 Twice は、ホーム タイムライン、通知、トピックに表示するためのツイートの豊富な表現 (テキストと視覚データの両方を含むツイート) を見つけるために設計された、コンテンツ ベースの埋め込みベクトル モデルです。 TwitterはTwHIN [11]も開発しました。これは、パーソナライズ広告のランキング、アカウントの推薦、有害コンテンツの検出、検索結果のランキングといったタスクのためのグラフベースの埋め込み集合です。この異種情報ネットワークは、ノード(ユーザーや広告主など)と、エンティティ間の相互作用を表すエッジに基づいています。 図6はTwitterのTwice Embeddingsを示しており、これは訓練されたBERTモデル[10]である。 Twiceは、Twitterユーザーが90日間で生成した2億件のツイートを学習コーパスとして、ゼロから学習したBERTモデルです。学習コーパスには、ツイートとユーザーとの関係性も含まれています。このモデルは、トピック予測(ツイートに関連するトピック、複数のトピックが含まれる場合があります) 、エンゲージメント予測(ユーザーがツイートにエンゲージする確率、例えば「いいね!」、コメント、リツイートなど)、言語予測(同じ言語のツイートをクラスタリングする)といったタスクの最適化を目指しています。 TwHINは、ツイートの内容のみに焦点を当てるのではなく、Twitter環境内のすべてのエンティティ(ツイート、ユーザー、広告エンティティ)を結合埋め込み空間グラフの一部として扱います。結合埋め込みは、ユーザーとツイートのインタラクション、広告、および「フォローしているユーザー」に関するデータを使用して作成され、マルチモデルの埋め込みを生成します。TwHINは候補レコメンデーションの生成に使用されます。候補ジェネレーターは、HNSWまたはFaissを用いて候補レコメンデーションを取得し、フォローすべき推奨ユーザーやエンゲージメントすべきツイートを特定します。その後、TwHinの埋め込みベクトルを用いて候補レコメンデーションを照会し、候補レコメンデーションの多様性を高めます。 図7. Twitterの異種情報ネットワークモデル[11] 04 Flutterで開発されたアプリケーションで埋め込みベクトルを使用する十分なシステムアーキテクチャを統合すると、開発パターンが見えてきて、それをFlutterのようなアプリケーションのレコメンデーションシステムの開発に活用することを検討できるようになります。(訳注:Flutterは、GoogleがAndroid、iOS、Windows、macOS、Linuxデスクトップ、Google Fuchsia向けに開発したオープンソースのクロスプラットフォームアプリケーション開発キットです。)まず、正確な予測には大量の入力データが必要であり、このデータには明示的データ、あるいはユーザーのクリックや購入データといった暗黙的データに関する情報が含まれている必要があります。そうすることで、ユーザー選好モデルを構築できます。大量のデータが必要な理由は2つあります。1つ目は、ニューラルネットワークはさまざまな関係性を正しく推論するために大量のトレーニングデータを必要とすることです。従来のモデルと比較して、トレーニングデータに対する需要がはるかに高いです。2つ目は、大量のデータには大規模なパイプラインが必要になることです。 データがあまりない場合は、より単純なモデルで十分です。そのため、埋め込みとニューラルネットワークがビジネス問題の解決に役立つ規模に本当に達していることを確認する必要があります。まずは、より単純なモデルから始めることができます。実際、最近の論文では、行列分解に基づく単純なドット積演算がニューラルネットワークモデルよりも優れていると主張しています[12]。この論文は、因子分解マシン(レコメンデーションシステムにおける重要なアプローチ)を最初に開発した研究者の一人によって執筆されました。次に、優れた埋め込みを得るには、YouTubeの論文で行ったように、データのクリーニングと処理、そして表現の作成に多くの時間を費やす必要があるため、結果が時間に見合うものでなければなりません。 第二に、ユーザーとユーザーがインタラクトするコンテンツとの潜在的な関係性を理解できなければなりません。従来の推薦システムでは、コーパスが大きすぎない限り、TF-IDFを使用して特定のフリットの一部として重み付けされた単語特徴を見つけ、それらを異なるドキュメント間で比較することができます。高度な推薦システムでは、単純な相関ルールを研究したり、推薦をインタラクションベースの協調フィルタリング問題として扱ったりすることで、ユーザーとコンテンツの潜在的な特徴(埋め込みベクトルとも呼ばれる)を学習することができます。実際、これはまさにLevyとGoldbergがNeural Word Embedding as Implicit Matrix Factorization [13]で提案したものです。彼らはWord2Vecのスキップグラム実装を研究し、それが単語コンテキスト行列を暗黙的に因数分解することを発見しました。 協調フィルタリング問題への入力としてテーブル機能を使用することもできますが、単純なドット積の代わりにニューラルネットワーク[14]を使用して、正しい関係とモデルの下流のランキングを収束させます。 埋め込みベクトルとレコメンデーションシステムの仕組みに関する新たな理解に基づき、埋め込みベクトルをFlutterのFlitレコメンデーション機能に統合できるようになりました。ビジネスニーズに応じて、関連コンテンツをレコメンデーションするための様々なアプローチを採用できます。数億件ものメッセージを含むコーパスでは、数百ものメッセージを精査してユーザーに表示する必要があります。そのため、Word2Vecなどのベースラインから始め、埋め込みの力を活用し、BERTなどのニューラルネットワーク手法を用いてモデル入力機能、ベクトル類似度検索、ランキングなどの機能を開発することができます。 埋め込みベクトルは無限の柔軟性と無限の応用範囲を提供し、マルチモーダル機械学習ワークフローのパフォーマンスを向上させる可能性を秘めています。しかし、ここまで見てきたように、埋め込みベクトルを使用する場合はいくつか留意すべき点があります。これらの考慮事項については、次の記事で詳しく説明します。 🚢🚢🚢AIテクノロジーソフトウェアと技術交流グループへのご参加をお待ちしております!最新のトレンドを把握し、一緒に技術的な課題を探求しましょう! エンベディング技術を実務エンジニアリングに活用する際には、どのような点に注意すべきでしょうか?次号では、エンベディング技術活用における課題と注意点について考察します。どうぞお楽しみに。 関連記事: 埋め込み技術とその応用(2):ニューラルネットワークの発展と現代の埋め込み手法の紹介 埋め込み技術とその応用(1):埋め込み技術開発とWord2Vecの概要 終わり 参考文献 [1]Shuai Zhang、Lina Yao、Aixin Sun、Yi Tay. ディープラーニングベースのレコメンデーションシステム:概要と新たな展望. ACMコンピューティングサーベイ(CSUR)、52(1):1–38、2019年。 [2]ジョルギ・クヴェルナゼ、プトゥ・アユ・G・スディアンティ、ニシャン・スベディ、モハマド・ハジアガイ。 1 つよりも 2 つの方が優れています: 補完的な製品推奨のためのデュアル埋め込み。 arXiv プレプリント arXiv:2211.14982、2022。 [3]ミハイロ・グルボヴィッチ、ハイビン・チェン「Airbnbにおける検索ランキングのための埋め込みを用いたリアルタイムパーソナライゼーション」第24回ACM SIGKDD国際知識発見・データマイニング会議論文集、311~320ページ、2018年。 [4]メロディ・ダイ、チャイタニヤ・エカンダム、アヴニーシュ・サルジャ、アシュシュ・ラストギ。機械学習によるコンテンツ意思決定者支援、2020年12月。URL https://netflixtechblog.com/supporting-contentdecision-makers-with-machine-learning-995b7b76006f。 [5]Raul Gomez Bruballa、Lauren Burnham-King、Alessandra Sala. 画像マーケットプレイスにおけるユーザーの好みの視覚スタイルの学習. 第16回ACMレコメンデーションシステム会議論文集、466~468ページ、2022年。 [6]Aditya Pal、Chantat Eksombatchai、Yitong Zhou、Bo Zhao、Charles Rosenberg、Jure Leskovec. Pinnersage: Pinterestにおけるレコメンデーションのためのマルチモーダルユーザー埋め込みフレームワーク。第26回ACM SIGKDD国際知識発見・データマイニング会議論文集、2311~2320ページ、2020年。 [7]ポール・コヴィントン、ジェイ・アダムス、エムレ・サーギン「YouTubeレコメンデーションのためのディープニューラルネットワーク」第10回ACMレコメンデーションシステム会議論文集、191~198ページ、2016年。 [8] Thorsten Joachims. サポートベクターマシンによるテキスト分類:多くの関連特徴を用いた学習. 機械学習:ECML-98:第10回ヨーロッパ機械学習会議ケムニッツ、ドイツ、1998年4月21~23日議事録、137~142ページ. Springer、2005年. [9]Heng-Tze Cheng, Levent Koc, Jeremiah Harmsen, Tal Shaked, Tushar Chandra, Hrishi Aradhye, Glen Anderson, Greg Corrado, Wei Chai, Mustafa Ispir, et al. レコメンデーションシステムのためのワイド&ディープラーニング. レコメンデーションシステムのためのディープラーニングに関する第1回ワークショップの議事録, 7~10ページ, 2016年. [10]Xianjing Liu、Behzad Golshan、Kenny Leung、Aman Saini、Vivek Kulkarni、Ali Mollahosseini、Jeff Mo. Twice-Twitterコンテンツの埋め込み。CIKM 2022、2022年。 [11] Ahmed El-Kishky、Thomas Markovich、Serim Park、Chetan Verma、Baekjin Kim、Ramy Eskander、Yury Malkov、Frank Portman、Sofía Samaniego、Ying Xiao、他「TwHIN:パーソナライズされた推薦のためのTwitter異種情報ネットワークの埋め込み」第28回ACM SIGKDD知識発見およびデータマイニング会議論文集、2842-2850ページ、2022年。 [12]Steffen Rendle、Walid Krichene、Li Zhang、John Anderson. ニューラル協調フィルタリングと行列分解の再考. 第14回ACMレコメンデーションシステム会議論文集、240~248ページ、2020年。 [13]オマー・レヴィとヨアヴ・ゴールドバーグ「暗黙的行列分解としてのニューラル単語埋め込み」神経情報処理システムの進歩、27、2014年。 [14] Xiangnan He, Lizi Liao, Hanwang Zhang, Liqiang Nie, Xia Hu, Tat-Seng Chua. ニューラル協調フィルタリング. 第26回国際ワールドワイドウェブ会議論文集, 173-182ページ, 2017年. |