(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-31
(45)【発行日】2024-08-08
(54)【発明の名称】アイテム分類のBERTモデルを改善させるためのクロスモーダル対照学習の利用
(51)【国際特許分類】
G06N 3/0895 20230101AFI20240801BHJP
G06N 3/0475 20230101ALI20240801BHJP
【FI】
G06N3/0895
G06N3/0475
【外国語出願】
(21)【出願番号】P 2023078894
(22)【出願日】2023-05-11
【審査請求日】2023-06-01
(32)【優先日】2022-09-29
(33)【優先権主張国・地域又は機関】US
【新規性喪失の例外の表示】特許法第30条第2項適用 1.令和4年5月26日 ECNLP5ワークショップ アイテム分類のBERTモデルを改善させるためのクロスモーダル対照学習の利用の公開 2.令和4年5月26日 ECNLP5ワークショップ Proceedings of the Workshop https://aclanthology.org/2022.ecnlp-1.25/
(73)【特許権者】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】レイ チェン
(72)【発明者】
【氏名】ホウ ウェイ チョウ
【審査官】真木 健彦
(56)【参考文献】
【文献】米国特許出願公開第2022/0292269(US,A1)
【文献】特開2022-137145(JP,A)
【文献】特開2021-157602(JP,A)
【文献】特開2020-149685(JP,A)
【文献】LI, Wei ほか,UNIMO: Towards Unified-Modal Understanding and Generation via Cross-Modal Contrastive Learning,arXiv[online],2020年12月31日,PP. 1-11,[retrieved on 2023.02.27], Retrieved from the Internet: <URL: https://arxiv.org/pdf/2012.15409v1.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/0895
G06N 3/0475
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサによって実行される対照学習(CL)の方法であって、
テキストベースのトランスフォーマー
であるBERT(bidirectional encoder representations from transformers)エンコーダを実装する少なくとも1つのプロセッサによって、アンカーに対応するテキストタイトルを取得することと、
前記テキストベースのトランスフォーマーを実装する前記少なくとも1つのプロセッサによって、
前記BERTエンコーダを用いて前記テキストタイトルから当該テキストタイトルのテキスト表現を生成することと、
画像ベースのトランスフォーマー
である画像エンコーダを実装する少なくとも1つのプロセッサによって、前記アンカーに対応する第1の画像を取得することと、
前記画像ベースのトランスフォーマーを実装する前記少なくとも1つのプロセッサによって、
前記画像エンコーダを用いて前記アンカーに対応する前記第1の画像の第1の画像表現を生成することと、
前記テキスト表現と前記第1の画像表現との間で正のペアを構築することと、
事前定義済みの自己教師あり学習(SSL)データセットに基づいて、事前定義済みのBERTモデルにSSLを適用することによって、修正されたBERTモデルを前記BERTエンコーダとして生成することと、
を含
み、
前記修正されたBERTモデルに互いに異なる複数のドロップアウトマスクを用いることにより、前記テキストタイトルから、当該テキストタイトルに対する正のペアとなる複数のテキスト表現が生成される、
方法。
【請求項2】
前記画像ベースのトランスフォーマーを実装する前記少なくとも1つのプロセッサによって、前記アンカーに対応しない第2の画像を取得することと、
前記画像ベースのトランスフォーマーを実装する前記少なくとも1つのプロセッサによって、前記アンカーに対応しない前記第2の画像の第2の画像表現を生成することと、
前記テキスト表現と前記第2の画像表現との間で負のペアを構築することと、
を更に含む、請求項1に記載の方法。
【請求項3】
テキストから画像方向への第1の対照損失を決定することを更に含む、請求項1に記載の方法。
【請求項4】
画像からテキスト方向への第2の対照損失を決定することを更に含む、請求項
3に記載の方法。
【請求項5】
前記第1の対照損失と、前記第2の対照損失と、前記第1の対照損失及び前記第2の対照損失の範囲を制御するハイパーパラメーターとに基づいて、全損失関数を決定することを更に含む、請求項
4に記載の方法。
【請求項6】
対照学習(CL)用のシステムにおいて、
プログラムコードを格納する少なくとも1つのメモリと、
前記プログラムコードによる指示に従って動作するよう構成された少なくとも1つのプロセッサと、を備え、
前記プログラムコードは、
前記少なくとも1つのプロセッサの少なくとも1つに対して
、アンカーに対応するテキストタイトルを取得させるように構成された第1の取得コードと、
前記少なくとも1つのプロセッサの少なくとも1つに対して
、テキストベースのトランスフォーマー
であるBERT(bidirectional encoder representations from transformers)エンコーダにより、前記テキストタイトルのテキスト表現を生成させるように構成された第1の生成コードと、
前記少なくとも1つのプロセッサの少なくとも1つに対して
、前記アンカーに対応する第1の画像を取得させるように構成された第2の取得コードと、
前記少なくとも1つのプロセッサの少なくとも1つに対して
、画像ベースのトランスフォーマー
である画像エンコーダにより、前記アンカーに対応する前記第1の画像の第1の画像表現を生成させるように構成された第2の生成コードと、
前記少なくとも1つのプロセッサの少なくとも1つに対して、前記テキスト表現と前記第1の画像表現との間で正のペアを構築させるように構成された第1の構築コードと
前記少なくとも1つのプロセッサの少なくとも1つに対して、事前定義済みの自己教師あり学習(SSL)データセットに基づいて、事前定義済みのBERTモデルにSSLを適用することによって、修正されたBERTモデルを前記BERTエンコーダとして生成させるように構成された第4の生成コードと、
を含み、
前記修正されたBERTモデルに互いに異なる複数のドロップアウトマスクを用いることにより、前記テキストタイトルから、当該テキストタイトルに対する正のペアとなる複数のテキスト表現が生成される、
システム。
【請求項7】
前記プログラムコードは、
前記少なくとも1つのプロセッサの少なくとも1つに対して、前記画像ベースのトランスフォーマーにより、前記アンカーに対応しない第2の画像を取得させるように構成された第3の取得コードと、
前記少なくとも1つのプロセッサの少なくとも1つに対して、前記画像ベースのトランスフォーマーにより、前記アンカーに対応しない前記第2の画像の第2の画像表現を生成させるように構成された第3の生成コードと、
前記少なくとも1つのプロセッサの少なくとも1つに対して、前記テキスト表現と前記第2の画像表現との間で負のペアを構築させるように構成された第2の構築コードとを更に含む、請求項
6に記載のシステム。
【請求項8】
前記プログラムコードは、前記少なくとも1つのプロセッサの少なくとも1つに対して、テキストから画像方向への第1の対照損失を決定させるように構成された第1の決定コードを更に含む、請求項
6に記載のシステム。
【請求項9】
前記プログラムコードは、前記少なくとも1つのプロセッサの少なくとも1つに対して、画像からテキスト方向への第2の対照損失を決定させるように構成された第2の決定コードを更に含む、請求項
8に記載のシステム。
【請求項10】
前記プログラムコードは、前記少なくとも1つのプロセッサの少なくとも1つに対して、前記第1の対照損失と、前記第2の対照損失と、前記第1の対照損失及び前記第2の対照損失の範囲を制御するハイパーパラメーターとに基づいて、全損失関数を決定させるように構成された第3の決定コードを更に含む、請求項
9に記載のシステム。
【請求項11】
命令を格納する少なくとも1つの非一時的コンピューター可読記憶媒体であって、前記命令は、少なくとも1つのプロセッサにより実行されると、前記少なくとも1つのプロセッサに対して、
テキストベースのトランスフォーマーによって、アンカーに対応するテキストタイトルを取得することと、
前記テキストベースのトランスフォーマーによって、前記テキストタイトルのテキスト表現を生成することと、
画像ベースのトランスフォーマーによって、前記アンカーに対応する第1の画像を取得することと、
前記画像ベースのトランスフォーマーによって、前記アンカーに対応する前記第1の画像の第1の画像表現を生成することと、
前記テキスト表現と前記第1の画像表現との間で正のペアを構築することと、
事前定義済みの自己教師あり学習(SSL)データセットに基づいて、事前定義済みのBERTモデルにSSLを適用することによって、修正されたBERTモデルを前記BERTエンコーダとして生成することと、
を実行さ
せ、
前記修正されたBERTモデルに互いに異なる複数のドロップアウトマスクを用いることにより、前記テキストタイトルから、当該テキストタイトルに対する正のペアとなる複数のテキスト表現が生成される、
記憶媒体。
【請求項12】
前記命令は、実行されると、前記少なくとも1つのプロセッサに対して、
前記画像ベースのトランスフォーマーによって、前記アンカーに対応しない第2の画像を取得することと、
前記画像ベースのトランスフォーマーによって、前記アンカーに対応しない前記第2の画像の第2の画像表現を生成することと、
前記テキスト表現と前記第2の画像表現との間で負のペアを構築することと、
を更に実行させる、請求項
11に記載の記憶媒体。
【請求項13】
前記命令は、実行されると、前記少なくとも1つのプロセッサに対して、
テキストから画像方向への第1の対照損失を決定することと、
画像からテキスト方向への第2の対照損失を決定することと、
を更に実行させる、請求項
11に記載の記憶媒体。
【請求項14】
前記命令は、更に、実行されると、前記少なくとも1つのプロセッサに対して、前記第1の対照損失と、前記第2の対照損失と、前記第1の対照損失及び前記第2の対照損失の範囲を制御するハイパーパラメーターとに基づいて、全損失関数を決定させる、
請求項
13に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の例示の実施形態と整合する装置及び方法は、画像ベースのトランスフォーマー及びテキストベースのトランスフォーマーを用いた対照学習に関する。
【背景技術】
【0002】
一般に、対照学習(CL:contrastive learning)は、高品質な表現を訓練する上で有効な自己教師あり学習(SSL)手法であることが知られている。例えば、コンピュータービジョン分野において、一部のCLモデルには、アンカー画像とその変換後の画像との一致及びアンカーとバッチ内の他のインスタンス(負のインスタンス)との不一致を利用して、視覚表現の学習をすすめるものがある。ラベルを使用しない場合、CLモデルは、従来の教師あり学習に基づいて訓練されたものと同等又はそれ以上の高い品質の視覚表現が可能である。
【0003】
自然言語処理(NLP)用のCLに基づくテキスト表現学習が注目されている。アイテム分類(IC)は、中核をなすNLPタスクである。ICの性能を向上させるために、これまでに、商品画像等の他のメタデータも使用されてきた。マルチモーダルIC(MIC)システムは高い性能を発揮するが、テキスト処理からリソースをより多く使用する画像処理へと拡張すると、技術的な影響が大きくなり、デュアル入力のMICシステムを開発する上での障害となっている。
【発明の概要】
【0004】
実施の形態によれば、画像ベースのトランスフォーマーと、修正されたBERT(bidirectional encoder representations from transformers)モデルとを用いた対照学習(CL:contrastive learning)用のシステム及び方法が提供される。
【0005】
本開示の一態様によれば、少なくとも1つのプロセッサによって実行されるCLの方法では、テキストベースのトランスフォーマーを実装する少なくとも1つのプロセッサによって、アンカーに対応するテキストタイトルを取得することと、前記テキストベースのトランスフォーマーを実装する前記少なくとも1つのプロセッサによって、前記テキストタイトルのテキスト表現を生成することと、画像ベースのトランスフォーマーを実装する少なくとも1つのプロセッサによって、前記アンカーに対応する第1の画像を取得することと、前記画像ベースのトランスフォーマーを実装する前記少なくとも1つのプロセッサによって、前記アンカーに対応する前記第1の画像の第1の画像表現を生成することと、前記テキスト表現と前記第1の画像表現との間で正のペアを構築することとを含むことができる。
【0006】
本開示の一態様によれば、CL用のシステムは、プログラムコードを格納する少なくとも1つのメモリと、前記プログラムコードによる指示に従って動作するよう構成された少なくとも1つのプロセッサとを備えることができ、前記プログラムコードは、前記少なくとも1つのプロセッサの少なくとも1つに対して、テキストベースのトランスフォーマーにより、アンカーに対応するテキストタイトルを取得させるように構成された第1の取得コードと、前記少なくとも1つのプロセッサの少なくとも1つに対して、前記テキストベースのトランスフォーマーにより、前記テキストタイトルのテキスト表現を生成させるように構成された第1の生成コードと、前記少なくとも1つのプロセッサの少なくとも1つに対して、画像ベースのトランスフォーマーにより、前記アンカーに対応する第1の画像を取得させるように構成された第2の取得コードと、前記少なくとも1つのプロセッサの少なくとも1つに対して、前記画像ベースのトランスフォーマーにより、前記アンカーに対応する前記第1の画像の第1の画像表現を生成させるように構成された第2の生成コードと、前記少なくとも1つのプロセッサの少なくとも1つに対して、前記テキスト表現と前記第1の画像表現との間で正のペアを構築させるように構成された第1の構築コードとを含む。
【0007】
本開示の一態様によれば、非一時的コンピューター可読記憶媒体は、命令を格納することができ、前記命令は、少なくとも1つのプロセッサにより実行されると、前記少なくとも1つのプロセッサに対して、テキストベースのトランスフォーマーによって、アンカーに対応するテキストタイトルを取得することと、前記テキストベースのトランスフォーマーによって、前記テキストタイトルのテキスト表現を生成することと、画像ベースのトランスフォーマーによって、前記アンカーに対応する第1の画像を取得することと、前記画像ベースのトランスフォーマーによって、前記アンカーに対応する前記第1の画像の第1の画像表現を生成することと、前記テキスト表現と前記第1の画像表現との間で正のペアを構築することとを実行させる。
【0008】
更なる態様は、一部は、以下の説明で述べられ、さらに、一部は、この説明から明らかになるか、又は本開示の提示された実施の形態を実施することによって実現され得る。
【0009】
以下、添付の図面を参照して、本開示の例示的な実施の形態の特徴、利点、及び優位性について説明する。なお、添付の図面において、類似の符号は類似の要素を示している。
【図面の簡単な説明】
【0010】
【
図1】本明細書に記載のシステム及び/又は方法を実施することができる一例示の環境の図である。
【
図2】一実施形態に係る、デバイスの例示のコンポーネントの図である。
【
図3】一実施形態に係る、自己教師あり学習(SSL)モデルの図である。
【
図4】一実施形態に係る、SSLモデルの図である。
【
図5】一実施形態に係る、対照学習(CL)システムの図である。
【
図6】一実施形態に係る、CL用の方法のフローチャートである。
【発明を実施するための形態】
【0011】
例示の実施形態の以下の詳細な説明は、添付の図面を参照したものである。異なる図面における同じ参照番号が、同一又は類似の要素を特定する場合がある。
【0012】
前述の開示は、例示及び説明を提供するものであり、網羅的であること又は開示の正確な形態に実装を限定することを意図するものではない。上記の開示に照らして修正及び変形が可能である、又は修正及び変形を実装の実践から獲得することもできる。さらに、1つの実施形態の1つ以上の特徴又はコンポーネントを、別の実施形態(又は別の実施形態の1つ以上の特徴)へと組み込むこと又はそれと組み合わせることができる。さらに、以下で提供する動作のフローチャートと説明では、1つ以上の動作を省略すること、1つ以上の動作を追加すること、1つ以上の動作を同時に(少なくとも部分的に)実行すること、及び1つ以上の動作の順序を入れ替えることができることが理解される。
【0013】
本明細書に記載のシステム及び/又は方法は、異なる形態のハードウェア、ファームウェア、又はハードウェアとソフトウェアとの組合せで実装可能であることが明らかとなるであろう。これらのシステム及び/又は方法を実装するために使用される実際の専用制御ハードウェア又はソフトウェアコードは、実装を限定するものではない。したがって、本明細書では、特定のソフトウェアコードを参照せずに、システム及び/又は方法の動作及び挙動について説明する。理解すべき点として、本明細書の記載に基づくシステム及び/又は方法を実装するために、ソフトウェア及びハードウェアを設計することができる。
【0014】
特徴の特定の組合せが、特許請求の範囲に記載されている、及び/又は本明細書に開示されているが、これらの組合せは、想定される実装形態の開示を限定することを意図したものではない。実際、特許請求の範囲に具体的に記載されていない方法及び/又は本明細書に開示されていない方法で、これらの特徴の多くを組み合わせることができる。以下で列挙する各従属請求項は、1つの請求項のみにしか直接従属できないが、想定される実装形態の開示は、請求項の集合における他の全ての請求項と組み合わせた各従属請求項を含むものである。
【0015】
本明細書で使用される要素、行為、又は命令は、いずれも重要又は不可欠であると明示的に記載されていない限り、そのように解釈されるべきではない。また、本明細書において使用する場合、冠詞「a」及び「an」は、1つ以上のアイテムを含むことを意図しており、「1つ以上」と同じ意味で使用することができる。1つのアイテムのみを意図している場合は、「1つ」又はそれに類する言葉を使用する。さらに、本明細書において使用する場合、「有する(has, have, having)」、「含む(include, including)」等の用語は、非限定的な用語であることを意図している。また、「基づく」という語句は、特に明示的に述べられていない限り、「少なくとも部分的に基づく」という意味であることを意図している。また、「[A]及び[B]の少なくとも一方」又は「[A]又は[B]の少なくとも一方」といった表現は、Aのみ、Bのみ、又はA及びBの双方を含むものと理解される。
【0016】
図1は、本明細書に記載のシステム及び/又は方法を実施することができる一例示の環境100の図である。
図1に示されているように、環境100は、ユーザーデバイス110、プラットフォーム120、及びネットワーク130を含み得る。環境100のデバイスは、有線接続、無線接続、又は有線接続と無線接続との組合せを介して相互接続してよい。実施形態において、上記の
図1を参照して説明される機能及び動作は、いずれも
図1に示されている要素の任意の組合せによって実行されてよい。
【0017】
ユーザーデバイス110は、プラットフォーム120に関連付けられた情報を取得、生成、格納、処理、及び/又は提供することが可能な1つ以上のデバイスを含む。例えば、ユーザーデバイス110は、コンピューティングデバイス(例えば、デスクトップコンピューター、ラップトップコンピューター、タブレットコンピューター、ハンドヘルドコンピューター、スマートスピーカー、サーバー等)、携帯電話(例えば、スマートフォン、無線電話等)、ウェアラブルデバイス(例えば、スマートグラス又はスマートウォッチ)、又は同様のデバイスを含み得る。いくつかの実装において、ユーザーデバイス110は、プラットフォーム120から情報を受信すること及び/又はプラットフォーム120へ情報を送信することができる。
【0018】
プラットフォーム120は、情報を取得、生成、格納、処理、及び/又は提供することができる1つ以上のデバイスを含む。いくつかの実装において、プラットフォーム120は、クラウドサーバー、又はクラウドサーバーのグループを含み得る。いくつかの実装において、プラットフォーム120は、特定のニーズに応じて、或る特定のソフトウェアコンポーネントを入れ替えられるよう、モジュール式に設計されてよい。したがって、プラットフォーム120は、異なる用途に合わせて、容易及び/又は迅速に再構成することができる。
【0019】
いくつかの実装において、図示のように、プラットフォーム120はクラウドコンピューティング環境122においてホストされてもよい。注目すべき点として、ここに記載の実装においては、プラットフォーム120がクラウドコンピューティング環境122においてホストされるものとして述べているが、いくつかの実装においては、プラットフォーム120は、クラウドベースでなくてもよい(すなわち、クラウドコンピューティング環境の外で実装することができる)、又は一部をクラウドベースとしてもよい。
【0020】
クラウドコンピューティング環境122は、プラットフォーム120をホストする環境を含む。クラウドコンピューティング環境122は、計算、ソフトウェア、データアクセス、ストレージ等のサービスを提供してよい。サービスは、プラットフォーム120をホストするシステム(複数の場合もある)及び/又はデバイス(複数の場合もある)の物理的位置及び構成について、エンドユーザー(例えば、ユーザーデバイス110)が知ることを必要としない。図示のように、クラウドコンピューティング環境122は、コンピューティングリソース124のグループ(まとめて複数形の「コンピューティングリソース124」と称し、個別に「コンピューティングリソース124」と称する)を含んでもよい。
【0021】
コンピューティングリソース124は、1つ以上のパーソナルコンピューター、コンピューティングデバイスのクラスター、ワークステーションコンピューター、サーバーデバイス、又は他のタイプの計算及び/又は通信デバイスを含む。いくつかの実装において、コンピューティングリソース124は、プラットフォーム120をホストし得る。クラウドリソースは、コンピューティングリソース124において実行する計算インスタンス、コンピューティングリソース124において提供されるストレージデバイス、コンピューティングリソース124によって提供されるデータ転送デバイス等を含み得る。いくつかの実装において、コンピューティングリソース124は、有線接続、無線接続、又は有線接続と無線接続との組合せを介して、他のコンピューティングリソース124と通信してよい。
【0022】
図1に更に示されているように、コンピューティングリソース124は、1つ以上のアプリケーション(「APPs」)124-1、1つ以上の仮想マシン(「VMs」)124-2、仮想化ストレージ(「VSs」)124-3、1つ以上のハイパーバイザー(「HYPs」)124-4等のクラウドリソースのグループを含む。
【0023】
アプリケーション124-1は、ユーザーデバイス110に提供され得る又はユーザーデバイス110によってアクセスされ得る、1つ以上のソフトウェアアプリケーションを含む。アプリケーション124-1によって、ソフトウェアアプリケーションをユーザーデバイス110にインストールして実行する必要性をなくすことができる。例えば、アプリケーション124-1は、プラットフォーム120に関連付けられたソフトウェア、及び/又はクラウドコンピューティング環境122を介して提供することが可能な任意の他のソフトウェアを含むことができる。いくつかの実装において、1つのアプリケーション124-1は、仮想マシン124-2を介して、1つ以上の他のアプリケーション124-1との間で情報を送信/受信することができる。
【0024】
仮想マシン124-2は、物理マシンのようなプログラムを実行するマシン(例えば、コンピューター)のソフトウェア実装を含む。仮想マシン124-2は、用途、及び仮想マシン124-2による任意の実機との対応の度合いに応じて、システム仮想マシン又はプロセス仮想マシンのいずれかであり得る。システム仮想マシンは、完全なオペレーティングシステム(「OS」)の実行をサポートする完全なシステムプラットフォームを提供することができる。プロセス仮想マシンは、単一のプログラムを実行し、単一のプロセスをサポートし得る。いくつかの実装において、仮想マシン124-2は、ユーザー(例えば、ユーザーデバイス110)に代わって実行してもよく、データ管理、同期、又は長時間のデータ転送等、クラウドコンピューティング環境122のインフラストラクチャを管理することができる。
【0025】
仮想化ストレージ124-3は、コンピューティングリソース124のストレージシステム又はデバイス内で仮想化技術を使用する、1つ以上のストレージシステム及び/又は1つ以上のデバイスを含む。いくつかの実装において、ストレージシステムの文脈においては、仮想化のタイプは、ブロック仮想化及びファイル仮想化を含み得る。ブロック仮想化とは、物理ストレージであるか異種構造であるかに関係なく、ストレージシステムにアクセスすることができるように、物理ストレージから論理ストレージを抽象化(分離)することを指し得る。この分離により、ストレージシステムの管理者は、エンドユーザーのストレージの管理の方法について、柔軟性を確保することができる。ファイル仮想化により、ファイルレベルでアクセスするデータと、ファイルが物理的に格納されている場所との依存関係をなくすことができる。これにより、ストレージの使用、サーバーの統合、及び/又は無停止のファイル移行を最適化することができる。
【0026】
ハイパーバイザー124-4は、コンピューティングリソース124等のホストコンピューター上で複数のオペレーティングシステム(例えば、「ゲストオペレーティングシステム」)を同時に実行することを可能にするハードウェア仮想化技術を提供してよい。ハイパーバイザー124-4は、仮想オペレーティングプラットフォームをゲストオペレーティングシステムに提供し、ゲストオペレーティングシステムの実行を管理してよい。様々なオペレーティングシステムの複数のインスタンスは、仮想化されたハードウェアリソースを共有してよい。
【0027】
ネットワーク130は、1つ以上の有線及び/又は無線ネットワークを含む。例えば、ネットワーク130は、セルラーネットワーク(例えば、第5世代(5G)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、第3世代(3G)ネットワーク、符号分割多重アクセス(CDMA)ネットワーク等)、公衆陸上移動体ネットワーク(PLMN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、電話網(例えば、公衆交換電話網(PSTN))、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバーベースのネットワーク等、及び/又は、これらのタイプ又は他のタイプのネットワークの組合せを含んでよい。
【0028】
図1に示されているデバイス及びネットワークの数及び配置は、一例として示したものである。実際には、
図1に示されているものと比して、追加のデバイス及び/又はネットワークが存在してもよく、より少ないデバイス及び/又はネットワークであってもよく、異なるデバイス及び/又はネットワークであってもよく、配置の異なるデバイス及び/又はネットワークでもよい。さらに、
図1に示されている2つ以上のデバイスを単一のデバイス内で実装してもよく、又は
図1に示されている単一のデバイスを複数の分散型デバイスとして実装してもよい。加えて、又は代替的に、環境100のデバイスのセット(例えば、1つ以上のデバイス)は、環境100のデバイスの別のセットによって実行されるものとして説明される1つ以上の機能を実行してもよい。
【0029】
図2は、デバイス200の例示のコンポーネントの図である。デバイス200は、ユーザーデバイス110及び/又はプラットフォーム120に対応してよい。
図2に示されているように、デバイス200は、バス210、プロセッサ220、メモリ230、ストレージコンポーネント240、入力コンポーネント250、出力コンポーネント260、及び通信インターフェース270を含んでよい。
【0030】
バス210は、デバイス200のコンポーネント間の通信を可能とするコンポーネントを含むことができる。プロセッサ220は、ハードウェア、ファームウェア、又はハードウェアとソフトウェアとの組合せで実装することができる。プロセッサ220は、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、アクセラレーテッド処理ユニット(APU)、マイクロプロセッサ、マイクロコントローラー、デジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、又は別のタイプの処理コンポーネントとすることができる。いくつかの実装において、プロセッサ220は、機能を実行するようにプログラムすることが可能な1つ以上のプロセッサを含む。メモリ230は、プロセッサ220が使用する情報及び/又は命令を格納するランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、及び/又は別のタイプのダイナミック又はスタティックストレージデバイス(例えば、フラッシュメモリ、磁気メモリ、及び/又は光学メモリ)を含む。
【0031】
ストレージコンポーネント240は、デバイス200の動作と使用に関連する情報及び/又はソフトウェアを格納する。例えば、ストレージコンポーネント240は、対応するドライブと合わせて、ハードディスク(例えば、磁気ディスク、光ディスク、光磁気ディスク、及び/又はソリッドステートディスク)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピーディスク、カートリッジ、磁気テープ、及び/又は別のタイプの非一時的コンピューター可読媒体を含み得る。入力コンポーネント250は、ユーザー入力(例えば、タッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、及び/又はマイクロフォン)等を介して、デバイス200が情報を取得できるようにするコンポーネントを含む。加えて、又は代替的に、入力コンポーネント250は、情報を検知するセンサー(例えば、全地球測位システム(GPS)コンポーネント、加速度計、ジャイロスコープ、及び/又はアクチュエーター)を含み得る。出力コンポーネント260は、デバイス200からの出力情報を提供するコンポーネント(例えば、ディスプレイ、スピーカー、及び/又は1つ以上の発光ダイオード(LED))を含む。
【0032】
通信インターフェース270は、有線接続、無線接続、又は有線接続と無線接続との組合せ等を介して、デバイス200が他のデバイスと通信することを可能にするトランシーバー型コンポーネント(例えば、トランシーバー、及び/又は別個の受信機と送信機)を含む。通信インターフェース270は、デバイス200が別のデバイスから情報を受信すること及び/又は別のデバイスに情報を提供することを可能にし得る。例えば、通信インターフェース270は、イーサネットインターフェース、光インターフェース、同軸インターフェース、赤外線インターフェース、無線周波(RF)インターフェース、ユニバーサルシリアルバス(USB)インターフェース、Wi-Fiインターフェース、セルラーネットワークインターフェース等を含むことができる。
【0033】
デバイス200は、本明細書に記載の1つ以上の処理を実行することができる。デバイス200は、メモリ230及び/又はストレージコンポーネント240等の非一時的コンピューター可読媒体によって格納されたソフトウェア命令をプロセッサ220が実行することにより、これらの処理を実行してよい。コンピューター可読媒体は、ここでは、非一時的メモリデバイスとして定義される。メモリデバイスは、単一の物理ストレージデバイス内のメモリ空間又は複数の物理ストレージデバイスにわたって分散したメモリ空間を含む。
【0034】
ソフトウェア命令は、別のコンピューター可読媒体から、又は通信インターフェース270を介して別のデバイスから、メモリ230及び/又はストレージコンポーネント240に読み込まれ得る。メモリ230及び/又はストレージコンポーネント240に格納されたソフトウェア命令は、実行された時、プロセッサ220に対して、本明細書に記載の1つ以上の処理を実行させることができる。
【0035】
加えて、又は代替的に、ここに記載された1つ以上の処理を実行するために、ハードワイヤードの回路を、ソフトウェア命令の代わりに、又はソフトウェア命令と組み合わせて使用してよい。したがって、本明細書に記載の実装は、ハードウェア回路とソフトウェアとの任意の特定の組合せに限定されるものではない。
【0036】
図2に示されているコンポーネントの数及び配置は、一例として示したものである。実際には、デバイス200は、
図2で示されているものと比して、追加のコンポーネントを含んでよく、より少ないコンポーネントを含んでよく、異なるコンポーネントを含んでよく、又は配置の異なるコンポーネントを含んでよい。加えて、又は代替的に、デバイス200のコンポーネントのセット(例えば、1つ以上のコンポーネント)は、デバイス200のコンポーネントの別のセットによって実行されるものとして説明される1つ以上の機能を実行してよい。
【0037】
アイテム分類(IC)は、電子商取引における中核をなす自然言語処理(NLP)技術である。電子商取引市場では、数百万種類の商品が提供されており、購入者が興味のある商品を容易に見つけられるように、これらの商品を商品カテゴリツリー内の場所へと効率的かつ正確にマッピングすることが重要である。そのため、電子商取引ビジネスを成功させる上で、精度の高いICモデルが必要とされている。ICはテキスト分類タスクと状況が同じではあり得るが、ICには、多数の予測ラベル、ラベルの著しく長いロングテール型の分布、及び販売業者から様々な方法で提供されることに起因するノイズを多く含む生入力の処理等の固有の側面がある。このような固有の側面により、ICは実用において困難なタスクとなっている。
【0038】
テキストのみのICモデルを改善させるために商品画像を使用する新規の手法を実装することができるシステム、方法、及びデバイスが提供される。本発明のシステム、方法、及びデバイスは、自己教師あり学習(SSL)方式でのBERT(bidirectional encoder representations from transformers)モデルを適応させるために、商品タイトルと関連画像とのクロスモーダル信号を活用することができる。提供されるシステム、方法、及びデバイスは、元のBERTを使用するよりも、予測精度及びマクロF1値を改善させることができる。さらに、提供されるシステム、方法、及びデバイスは、既存のテキストのみのIC推論の実装を引き続き使用することができ、デュアル入力のマルチモーダルIC(MIC)システムを導入するよりも、リソース面での優位性を示す。
【0039】
商品画像とテキストタイトルとの間でクロスモーダルCL、SSLを実行することで、事前訓練済みモデルを適応させ、ICタスクドメインをより良好に適合させることができる、システム、方法、及びデバイスが提供される。次いで、適応済みの事前訓練済みモデルは、ファインチューニング方式を使用してICモデルを構築するために使用することができる。また、クロスモーダルSSL訓練を使用することにより、モデル訓練段階において、画像を使用してテキストベースの事前訓練済みモデルを改善することができ、コストのかかる推論段階における一連の変更/動作を回避することができる。
【0040】
図3は、一実施形態に係る、SSLモデルの図である。事前訓練済みのBERTモデル302(BERT_originと表記)から、動作304において、SSLを実行してBERTモデル302を更に適応させ、ファインチューニングタスクでより良好に適合させてよい。SSLは、SSLデータセット306に基づいて実行されてよい。SSL動作304で使用されるデータセットを選択する際、自己教師ありの態様によっては、システムは、人間が注釈を付けたラベルを必要としなくてもよい。SSL動作304は、適応済みの/修正済みのBERTモデル308(BERT_adaptedと表記)を作成してよい。適応済みのBERTモデル308は、ファインチューニングデータセット312に基づくファインチューニング段階の初期化に用いられてよい(すなわち、適応済みのBERTモデル308は、テキスト特徴エンコーダーとして機能してよい)。適応済みのBERTモデル308と線形分類器314とを含むICモデルは、ファインチューニングデータセット312における交差エントロピー損失を使用することにより、あわせて学習してよい。適応済みのBERTモデル308(表現学習用)及び線形分類器314の両方をあわせて更新するために、ファインチューニングが実施されてよい。
【0041】
図4は、一実施形態に係る、SSLモデルの図である。モデル400において、BERTエンコーダー402は、エナジー飲料のテキストタイトル404、コーヒー飲料のテキストタイトル406、及びティー飲料のテキストタイトル408を含む、複数のテキストタイトルを取得してよい。テキストタイトルx
tについて、システムは、BERTエンコーダー402f
t(,d)でテキスト表現tを取得し(dは、ドロップアウトマスクである)、投影関数g
tを取得してよい。投影関数g
tは単純多層パーセプトロン(MLP)構造を使用してよい。テキスト表現は、式(1)であってよい。
【数1】
【0042】
正のペアを得るために、システムは、式(2)のように、異なるドロップアウトマスクd
+を用いて、トランスフォーマーエンコーダーのパイプラインを通して、同じテキストタイトルを処理してよい。
【数2】
【0043】
i番目のテキストタイトルでは、訓練オブジェクトは、式(3)のようであってよい。
【数3】
【0044】
N個のテキストタイトルのミニバッチの場合、sim()は類似度計算を表し、τは温度パラメーターである。式(4)のように、モデルによって算出される総損失は、ミニバッチ内の全テキストタイトルの平均となる。
【数4】
【0045】
図4に示されているように、エナジー飲料のテキストタイトル404は、アンカーとして機能し、BERTモデル402へと2回送られて、ドロップアウトマスクの変動により、類似しているが変動のある2つのテキスト表現410及び412が得られる。拡張バージョン(例えば、テキスト表現412)は、アンカー(すなわち、エナジー飲料のテキストタイトル404)に対する正のペアとして機能し、他の2つのテキスト表現414及び416は、負のペアとして機能してよい。BERTエンコーダー402は、正のペアを共により近くにプルする一方で、負のペアを離れるようにプッシュするように構成/修正されてよい。BERTエンコーダー402は、教師を一切使用せずに、SSLデータセット(例えば、SSLデータセット306)へと一層適合する表現を提供するように更に適応されてよい。
【0046】
システムは、テキストタイトルと共存する画像を利用して、自己教師信号(self-supervision signals)を提供してよい。システムは、BERTモデル等のトランスフォーマーに基づくエンコーダーを利用してよい。いくつかの実施形態において、システムは、P×Pのパッチ系列に直接適用される純粋なトランスフォーマーを利用してよい。システムは、画像分類の特徴抽出器として標準的なトランスフォーマーのエンコーダーを使用し、次いで、画像ラベルを決定するためにMLPヘッドを追加してよい。システムは、大規模な画像データセットについて、教師あり学習タスクを使用して事前訓練されてよい。教師付き訓練データセットのサイズは、システム性能に影響を与えるので、そのデータセットのサイズは、システムが必要または可能な計算帯域幅に基づいて選択されてよい。商品画像をP×Pのパッチに変換した後、システムは、パッチを視覚的トークンに変換してよい。画像全体を表す特別な視覚的トークンを追加した後、M=PxP+1という長いシーケンスをシステムモデルに供給して、式(5)のようなエンコーディングを出力してよい:
【数5】
【0047】
テキストタイトルがx
tで、画像がx
vの商品Iについて、システムは、式(6)のように、画像エンコーダーf
vおよび投影層g
v(MLPであってもよい)を含む、視覚処理パイプラインを通じて処理することにより、視覚表現を得てよい。
【数6】
【0048】
システムは、式(7)のように、テキストおよび画像表現に基づいて、テキストから画像への方向(すなわち、t→vと表記)の対照損失を決定してよい。
【数7】
【0049】
同様に、システムは、式(8)のように、画像からテキスト(すなわち、v→tと表記)のように、逆方向の対照損失を決定してよい。
【数8】
【0050】
【0051】
式中、αは、式(7)及び式(8)における2つの対照損失を[0,1]の範囲内にするように制御するためのハイパーパラメーターである。
【0052】
図5は、一実施形態に係る、CL用のシステムの図である。システムは、トランスフォーマー502及びBERTモデル504を含んでよい。BERTモデル504は、上記の
図3及び
図4に関して述べたように、適応/修正されてよい。
図5に示されるように、テキストタイトル「エナジー飲料」を有するアンカー510を使用し、その対応する画像512を正のペアとして使用してよい。コーヒー飲料画像514及びティー飲料画像516等の他の画像は、負のペアとして機能してよい。コーヒー飲料画像514及びティー飲料画像516にそれぞれ対応するテキスト表現522及び524は、アンカー510のテキストタイトルに基づいて、BERTモデル504によって生成されたテキスト表現530に対する負のペアとして機能してよく、テキスト表現520は、テキスト表現530に対する正のペアとして機能してよい。
【0053】
本明細書に開示の実施形態によれば、ファインチューニング済みのICモデルの性能を向上させるために、SSLを使用して、ICタスクへとより良好に適合するように、元のBERTモデルを適応させてよい。SSL方式に関しては、SSLを向上させるために、システムは、更なるモデリング力をもたらす画像を利用するためにクロスモーダルCLを用いてよく、それによりテキスト表現を向上させることができる。システムは、テキストタイトル及びその関連画像を正のペアとして使用できる一方、他の画像を負のペアとして使用できる(例えば、テキストタイトルに関連付けられた商品画像を正のペアとしてよく、一方、テキストタイトルに対応しない画像セット内の他の商品画像を負のペアとしてよい)。また、同じクロスモーダル計算を画像に適用して、他方向からの対照信号を得ることもできる。したがって、システムが画像を利用するこうした方式により、システムは、モデル訓練段階中でのみ画像を処理するだけでよく、推論段階においては、テキストのみのBERTモデル(SSL訓練により強化/適応済み)のみを導入することができ、これにより、エンジニアリングおよび計算コストを削減することができる。
【0054】
図6は、一実施形態に係る、CL用の方法のフローチャートである。動作602において、システムは、テキストベースのトランスフォーマーを実装する少なくとも1つのプロセッサによって、アンカーに対応するテキストタイトルを取得してよい。動作604において、システムは、テキストベースのトランスフォーマーを実装する少なくとも1つのプロセッサによって、テキストタイトルのテキスト表現を生成してよい。動作606において、システムは、画像ベースのトランスフォーマーを実装する少なくとも1つのプロセッサによって、アンカーに対応する第1の画像を取得してよい。動作608において、システムは、画像ベースのトランスフォーマーを実装する少なくとも1つのプロセッサによって、アンカーに対応する第1の画像の第1の画像表現を生成してよい。動作610において、システムは、テキスト表現と第1の画像表現との間で正のペアを構築してよい。
【0055】
例示された実施形態において、
図3~
図6の動作又はプロセスのうちの任意の1つは、
図1及び
図2に示された要素の任意の1つによって実装され又はそれを使用してよい。
【0056】
前述の開示は、例示及び説明を提供するものであり、網羅的であること又は開示の正確な形態に実装を限定することを意図するものではない。上記の開示に照らして修正及び変形が可能である、又は修正及び変形を実装の実践から獲得することもできる。
【0057】
いくつかの実施形態は、任意の想定される技術的詳細レベルの統合における、システム、方法、及び/又はコンピューター可読媒体に関するものであり得る。さらに、上述したコンポーネントの1つ以上は、コンピューター可読媒体に格納されて少なくとも1つのプロセッサによって実行可能な命令として実装され得る(及び/又は、少なくとも1つのプロセッサを含み得る)。コンピューター可読媒体は、動作をプロセッサに実行させるコンピューター可読プログラム命令を有するコンピューター可読非一時的記憶媒体(又は複数の媒体)を含み得る。
【0058】
コンピューター可読記憶媒体は、命令実行デバイスによる使用のための命令を保持及び格納することができる有形デバイスであり得る。コンピューター可読記憶媒体は、例えば、電子ストレージデバイス、磁気ストレージデバイス、光ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、又は前述の任意の好適な組合せであり得るが、これらに限定されない。コンピューター可読記憶媒体のより具体的な例を非網羅的に列挙すると、ポータブルコンピューターディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、および、パンチカード又は溝内で命令が記録された隆起した構造のような機械的に符号化されたデバイス、ならびに上記のものの好適な組合せが含まれる。本明細書において使用する場合、コンピューター可読記憶媒体は、非一時的な信号自体、例えば、電波若しくは他の自由に伝播する電磁波、導波管若しくは他の伝送媒体を伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又は電線を伝送する電気信号であると解釈されるべきでない。
【0059】
本明細書に記載のコンピューター可読プログラム命令は、ネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/又は無線ネットワークを介して、コンピューター可読記憶媒体からそれぞれの計算/処理デバイスへと、又は外部コンピューター若しくは外部ストレージデバイスへとダウンロードすることができる。ネットワークは、銅製の伝送ケーブル、光伝送ファイバー、無線伝送、ルーター、ファイアウォール、スイッチ、ゲートウェイコンピューター、及び/又はエッジサーバーを含み得る。各計算/処理デバイスのネットワークアダプターカード又はネットワークインターフェースは、ネットワークからコンピューター可読プログラム命令を受信し、このコンピューター可読プログラム命令を転送して、それぞれの計算/処理デバイス内のコンピューター可読記憶媒体に記憶する。
【0060】
動作を実行するためのコンピューター可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データ、又はSmalltalk、C++等のオブジェクト指向プログラミング言語、「C」プログラミング言語等の手続き型プログラミング言語、又は同様のプログラミング言語を含む、1つ以上のプログラミング言語の任意の組合せで記述されたソースコード又はオブジェクトコードのいずれかのようなものである。コンピューター可読プログラム命令は、全てがユーザーのコンピューターで実行されるか、一部がユーザーのコンピューターで実行されるか、スタンドアロンのソフトウェアパッケージとして実行されるか、一部がユーザーのコンピューターで、一部がリモートコンピューターで実行されるか、又は、全てがリモートコンピューター若しくはサーバーで実行されてよい。後者のシナリオでは、リモートコンピューターは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを通じて、ユーザーのコンピューターに接続してよく、又は(例えば、インターネットサービスプロバイダーを使用してインターネットを通じて)外部コンピューターに接続してよい。いくつかの実施形態において、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、又はプログラマブルロジックアレイ(PLA)を含む、電子回路は、態様又は動作を実行するために、コンピューター可読プログラム命令の状態情報を使用して電子回路を個別化することによって、コンピューター可読プログラム命令を実行することができる。
【0061】
これらのコンピューター可読プログラム命令は、汎用コンピューター、専用コンピューター、又は他のプログラマブルデータ処理装置のプロセッサに提供され、マシンを作製してよい。これにより、コンピューター又は他のプログラマブルデータ処理装置のプロセッサを介して実行する命令は、フローチャート及び/又はブロック図の単数又は複数のブロックで指定された機能/行為を実装する手段を生成する。さらに、これらのコンピューター可読プログラム命令は、コンピューター、プログラマブルデータ処理装置、及び/又は他のデバイスに対して特定の方法で機能するように命令可能とするコンピューター可読プログラム命令に記憶されてよく、これにより、命令が記憶されているコンピューター可読記憶媒体は、フローチャート及び/又はブロック図の単数又は複数のブロックで指定された機能/行為の態様を実装する命令を有する製造品を含む。
【0062】
また、コンピューター可読プログラム命令は、コンピューター、他のプログラマブルデータ処理装置、又は他のデバイスにロードされて、コンピューター、他のプログラマブル装置、又は他のデバイス上で実行される一連の動作ステップに対して、コンピューター実装プロセスを生成させてよい。これにより、コンピューター、他のプログラマブル装置、又は他のデバイス上で実行する命令は、フローチャート及び/又はブロック図の単数又は複数のブロックで指定された機能/行為を実装する。
【0063】
図中のフローチャート及びブロック図は、種々の実施形態によるシステム、方法、及びコンピューター可読媒体について可能な実装のアーキテクチャ、機能、及び動作を示す。これに関して、フローチャート又はブロック図の各ブロックは、指定された論理機能(複数の場合もある)を実装するための1つ以上の実行可能命令を含む、命令のモジュール、セグメント、又はその一部に相当してよい。方法、コンピューターシステム、及びコンピューター可読媒体は、図示されているものと比して、追加のブロック、より少ないブロック、異なるブロック、又は配置の異なるブロックを含んでよい。いくつかの代替的な実装においては、ブロックに記載されている機能は、図に記載されたものと異なる順序で行われてよい。例えば、連続して示される2つのブロックは、実際には、同時又は実質的に同時に実行されたり、場合によっては、ブロックは、関与する機能に応じて、逆の順序で実行されたりしてもよい。さらに、ブロック図及び/又はフローチャートの図解の各ブロック、並びにブロック図及び/又はフローチャートの図解におけるブロックの組合せは、特定の機能又は行為を実行するか、又は専用ハードウェアとコンピューター命令との組合せを実行する専用ハードウェアベースのシステムで実装することができることにも留意されたい。
【0064】
本明細書に記載のシステム及び/又は方法は、異なる形態のハードウェア、ファームウェア、又はハードウェアとソフトウェアとの組合せで実装可能であることが明らかとなるであろう。これらのシステム及び/又は方法を実装するために使用される実際の専用制御ハードウェア又はソフトウェアコードは、実装を限定するものではない。したがって、本明細書では、特定のソフトウェアコードを参照せずに、システム及び/又は方法の動作及び挙動について説明した。理解すべき点として、本明細書の記載に基づくシステム及び/又は方法を実装するために、ソフトウェア及びハードウェアを設計することができる。