Injecting Numerical Reasoning Skills into Language Models を読んだ

目次

リンク
論文:[2004.04487] Injecting Numerical Reasoning Skills into Language Models
コード:GitHub - ag1988/injecting_numeracy: The accompanying code for "Injecting Numerical Reasoning Skills into Language Models" (Mor Geva*, Ankit Gupta* and Jonathan Berant, ACL 2020).

比較手法のMTMSN:GitHub - huminghao16/MTMSN: A Multi-Type Multi-Span Network for Reading Comprehension that Requires Discrete Reasoning
比較手法のNABERT+:GitHub - raylin1000/drop-bert: NABERT model for solving the DROP dataset
評価用データセットDROPの論文:[1903.00161] DROP: A Reading Comprehension Benchmark Requiring Discrete Reasoning Over Paragraphs

概要

  • LanguageModelに数値推論を注入する汎用モデル(GenBERT)と、それをpre-trainingするための学習用データを生成するためのフレームワークを提案
  • 既存の数値推論を評価用データセット(NRoT; Numerical Reasoning over Text)にてSOTAのモデルと同程度の性能を発揮することを示した

数値推論の例

f:id:wwacky:20210214145110p:plain:w400
※ Table 1. Injecting Numerical Reasoning Skills into Language Modelsより引用

数値推論の質問は複数種類あり、Passage(Contextともいう)やQuestionから該当する文字列を抽出すれば良いspanや、数値計算が必要なnumberがある。他にも複数のフレーズの抽出が必要なspansや、日付の計算が必要なdateがある。

提案手法の内容

複数のheadを用いて回答を行う。headの種類は3つ。

  • answer type head: 回答方法を決定する(context span, question span, decodeのマルチクラス分類)
  • two span-extraction heads: ContextかQuestionから回答を抽出する(NER)
  • generative head: 回答を生成する
f:id:wwacky:20210215011642p:plain
※ Figure 2. Injecting Numerical Reasoning Skills into Language Modelsより

モデルのLossには以下を用いる。*1
f:id:wwacky:20210215011807p:plain

EncoderのBERTとの差分

Digit Tokenization(DT)

数値計算用に数値を1文字ずつのwordpieceにする
f:id:wwacky:20210215155508p:plain:w500

Random Shift(RS)

“1086.1 - 2.54 + 343.8”の様な短いテキストを学習に用いるため、数値が先頭に来る場合に数値推論を行うようにオーバーフィットしてしまう。これを避けるためにposition IDをランダムにする*2

学習・推論の全体像
pre-train済みのLanguageModel(BERT)をNumerical Data(ND)とTextual Data(TD)を用いて追加pre-trainする。
数値推論を行う場合はspan extraction headsとgenerative headの両方をfine-tuningする。 SQuADの様なテキストのみの質疑応答の場合はspan extraction headsのみを用いる。

f:id:wwacky:20210214220713p:plain:w400
※ Figure 1. Injecting Numerical Reasoning Skills into Language Modelsより引用

pre-trainingの方法

pre-training用のNumerical Data (ND)の生成

テンプレートを用いて数値演算のテキストを生成する。テンプレートはTable 2を参照。

f:id:wwacky:20210213210218p:plain
※ Table 2. Injecting Numerical Reasoning Skills into Language Modelsより引用
pre-training用のTextual Data (TD)の生成

既往研究*3を用いて学習用データを生成する。生成されるデータの例はTable 3を参照*4

f:id:wwacky:20210213212039p:plain:w400
※ Table 3. Injecting Numerical Reasoning Skills into Language Modelsより引用
追加pre-trainingの方法

追加pre-trainingは学習済みのBERTに対して、NDとTDを用いて行う。ただし、追加pre-trainingは元のLMの言語情報の「破局的忘却」*5を避けるために、MLMも含めたマルチタスクで行う。
Figure 1では追加pre-trainingをND→TDの順に行うかのように記載されているが、実際はmini-batches作成時にそれぞれのデータセットからサンプリングして同時に行う。MLMに使うデータセットは論文中のA.3を参照。

f:id:wwacky:20210215010433p:plain

数値実験

ND・TDによる追加pre-trainの効果

各モデルをDROPのデータでfine-tuningした結果で比較。追加pre-trainなしだとEMが46.1と低い。ND+TDで追加pre-trainすることでSOTAのMTMSNと同程度の性能になる*6
Table 4からLM(追加pre-train時のMLM)やRandom Shiftも効果があることが分かる。

f:id:wwacky:20210214232605p:plain
※ Figure 4. Injecting Numerical Reasoning Skills into Language Modelsより引用

Digit Tokenizationの効果

pre-trainingのstep数毎のaccuracy。Digit Tokenizationが無い場合のみAccが低く、精度改善に寄与している事がわかる。

f:id:wwacky:20210215155626p:plain:w500
※ Figure 4. Injecting Numerical Reasoning Skills into Language Modelsより引用

言語理解能力を失っていないかの確認

数値推論が不要な質疑応答(SQuAD)でfine-tuningして評価を行う。
GENBERTは数値推論を行いつつ、言語理解能力も失わずBERTと同程度であることが分かる。

f:id:wwacky:20210215155724p:plain
※ Table 7. Injecting Numerical Reasoning Skills into Language Modelsより引用

GENBERTの重みは、GENBERT以外のアーキテクチャでも利用できるか?

NABERT+とEfratら(2019)のMS-TAGのエンコーダの初期化にGENBERT+ND+TDの重みを使用。DROP上でのfine-tuning有りで評価した結果、両方とも2ポイントEMが向上する。これにより、GENBERTがBERTの代替として利用できることが示されている。
f:id:wwacky:20210215004251p:plain









補足

pre-training、fine-tuning時のパラメータ

f:id:wwacky:20210215010815p:plain
※ Table 10. Injecting Numerical Reasoning Skills into Language Modelsより引用


DROPの質問種別毎の精度
数値計算(number)では予想通りMTMSNより精度が高い。
spanでもMTMSNより精度が高いが、これは内部的に数値計算を実行した上でspanを回答できるためだと考えられる。
spansは答えが連続しないフレーズのリストの質問だが、MTMSNはGENBERTを大幅に上回る。これはMTMSNはspans用の専用ヘッドを持っているが、GENBERTは標準的なReasoning Comprehension用のヘッドしか持たないためである。

f:id:wwacky:20210213224117p:plain
※ Table 5. Injecting Numerical Reasoning Skills into Language Modelsより引用

数値理解能力の検証
数学の単語問題(MWP)データセットのコレクション(MAWPS)を用いて評価する。fine-tuningは行わずにzero-shotで評価を行う。

GENBERT+ND+TDは、GENBERT(BERTのママ)と比較して劇的に性能を向上させる。GENBERT+NDはGENBERT+TDよりもはるかに優れた性能を発揮し、コンテキストが短い場合のNDの有用性を示している。
MTMSNはGENBERT+ND+TDを上回る。MTMSNは足し算と引き算に特化したアーキテクチャを使用しており、モデル外で計算が行われる場合に適している。

f:id:wwacky:20210214094708p:plain
※ Table 6. Injecting Numerical Reasoning Skills into Language Modelsより引用

次に、演算式の項の数で性能を比較する(図5)。図からすべてのモデルがより複雑な問題に一般化するのに苦労しており、項が4以上になると完全に失敗している。GENBERT+ND+TDの2項と3項の間の性能低下は、GENBERT+NDとGENBERT+TDよりも有意に小さい。このことはNDとTDの両方がロバスト性を向上させるのに有効であることを示唆している。

f:id:wwacky:20210214100923p:plain
※ Figure 5. Injecting Numerical Reasoning Skills into Language Modelsより引用

Error analysis
DROPのdevセットのGENBERT+ND+TDの誤答を分析する。モデルがサポートしていないマルチスパンの解答を持つ問題を除外した上で、GENBERT+ND+TDが誤答したものを100例のランダムサンプリングし、誤答の種類を手動で分類した。具体的な例は以下のTable 11を参照。

f:id:wwacky:20210215002614p:plain
※ Table 11. Injecting Numerical Reasoning Skills into Language Modelsより引用

ほぼ半数のケース(43%)では、事前学習課題(ソートなど)でカバーされていないか、数値的ではない推論スキルを必要としているものだった。もう一つの一般的なケース(23%)は抽出したスパンが長すぎたり、予測値とgold answerと数字が部分的に一致する場合であった。これらのエラーの多くは、事前学習課題を拡張して追加の数値スキルやより大きな数値範囲をカバーすることで対処できると思われる。

*1:このLossだとspan extractionで抽出される文字列をdecoderで生成することも可能だが、span extractionで解くべき問題をdecoderで解いた場合にどういう計算になるのかは不明。またdecoderで解くべき問題の時に正しいspanを選択する確率がどうなるのか不明。

*2:Random Shiftで設定する値はwhen the input length n1 + n2 + 3 < 512, we shift all position IDs by a random integer in \(0, 1, . . . , 512 − \(n1 + n2 + 3\)

*3:Hosseini et al. 2014. Learning to Solve Arithmetic Word Problems with Verb Categorization - ACL Anthology

*4:データ生成は品詞に抽象化したテンプレートに単語を当てはめるような手法を用いている。Figure 3を参照。

*5:Kirkpatrick, 2017 [1612.00796] Overcoming catastrophic forgetting in neural networks

*6:SOTAはBERT-largeをベースにしたMTMSNだが、比較のために今回はBERT-baseをベースにしたMTMSNを比較対象としている

pythonのテストでmockを使う

pytest

固定値を返却させたい場合

mockerを使う場合はpytest-mockをインストールしておく必要がある

import numpy as np


def get_rand():
    return np.random.randint(0, 100)


def test_random(mocker):
    mocker.patch("numpy.random.randint", return_value=55)
    assert get_rand() == 55

特定の値を順番に返却させたい場合

import numpy as np


def get_rand():
    return np.random.randint(0, 100)


def test_random(mocker):
    mocker.patch("numpy.random.randint", side_effect=[5, 55, 999])
    assert get_rand() == 5
    assert get_rand() == 55
    assert get_rand() == 999

BERT-based similarity learning for product matchingを読んだ

概要

COLING2020に採択

BERT-based similarity learning for product matching - ACL Anthology


著者

  • Janusz Tracz (ML Research at Allegro.pl)
  • Piotr Wojcik (ML Research at Allegro.pl)
  • Kalina Jasinska-Kobus (ML Research at Allegro.pl, Poznan University of Technology)
  • Riccardo Belluzzo (ML Research at Allegro.pl)
  • Robert Mroczkowski (ML Research at Allegro.pl)
  • Ireneusz Gawlik (ML Research at Allegro.pl, AGH University of Science and Technology)


contributions

  • BERTを用いたsimilarity learningをECドメインでの製品マッチングに適用した
  • BERTとDistil BERTを製品マッチングに適用した場合の有用性を比較した
  • 提案したcategory hardはsimilarity learning時のthe fraction of active training tripletsを増やし、モデルの性能を向上させた
  • category hardも含めたbatch construction strategiesの比較を行った

問題設定

製品と商品のマッチングを行う。製品はカタログでマスタのようなもの。商品は売り手が出しているもの(論文中ではofferと書かれている)。
本論文ではテキスト情報を元に、商品がどの製品に該当するのか特定する(マッチングする)ことを目的としている。

提案手法

Encoder

入力とするテキストはtitle, attributes values, attribute unitsを結合したもの。
テキストは小文字化し、byte-pair encoderで分割する。tokenizerは商品・製品データのコーパスで学習し、ボキャブラリーサイズは30k tokensとした。
descriptionやattribute namesを含めたテストも行ったが、全ての実験で性能が劣化した。

EncoderにはBERTの最終層をmean poolingした後に768 linear unitsを1層追加したものを用いる。これをeComBERTと呼ぶ。

学習方法

triplet lossを用いてsimilarity learningを行う。
tripletを (o, p^+, p^-)とし、それぞれoffer(anchor)、matching product(positive)、non-matching product(negative)とする。
商品(offer)のEncoderを  \varepsilon_{\theta}、製品のEncoderを  \varepsilon_{\phi}とする。 \varepsilon_{\theta} \varepsilon_{\phi}はパラメータを共有する。

Lossは以下とする。
 L(o,p^+,p^-) = max(0,m+d(\varepsilon_{\theta}(o), \varepsilon_{\phi}(p^+)) - d(\varepsilon_{\theta}(o), \varepsilon_{\phi}(p^-)))

 mはマージンでハイパーパラメータ。 dは距離関数でcosine距離を用いる。

Batch construction strategy

アンカー(商品)とpositive(製品)のペアは商品と製品の一致データからサンプリングして作成する。negative productは自明ではないので工夫する必要がある。

以下の3つの方法を検証する。本論文で新規に提案するのはcategory hard。

  • category random
  • batch hard
  • category hard


category random
商品と一致しない製品の中から同一カテゴリの製品をランダムに選択しnegativeとする。
バッチについては言及されていないので、全データの同一カテゴリからランダム選択と思われる。

batch hard
アンカー(商品)とpositive(製品)のペアのバッチを作成し、バッチ内でアンカーと一致しない製品かつ最も似ている製品をnegativeとする。この手法の場合、バッチサイズが大きいほど似ている製品が見つかりやすいので、バッチサイズが性能に大きく影響する。
negativeを選択する際に最も似ているものを選ぶとあるが、似ている基準については言及されていない。

category hard
商品と一致しない、かつ同一カテゴリの製品の中で最も商品に似ている製品をnegativeとする。そのために全製品のembeddingが必要になると記載されているので、似ているかどうかはcosine距離を基準にすると思われる。全製品のembedding算出は処理時間がかかるため、100ステップや500ステップなど一定の間隔で再計算を行う。

実験

データセット
3カテゴリのデータセットを評価に用いる。実世界のECで適切に処理されたとだけ記載されており、手作業でクレンジングしたかどうかは不明。
評価時に商品はencoderから得られた分散表現ベクトルのcos距離が最も近い製品とマッチングを行うとあるので、商品は必ず製品に属していると考えられる。特に記載は無いが、CULTUREとELECTRONICSはProductsの方が多いので、商品が紐付いていない製品が存在すると思われる。

f:id:wwacky:20201209041958p:plain
Table 1. BERT-based similarity learning for product matchingより引用

データセットを学習:80%、テスト:20%に分割して用いる。ただし、zero-shotの評価のために製品の半分はテストデータセットにしか存在しないようにする。
データセット毎にencoderを学習。学習時の設定は5000steps、バッチサイズ32、Adam optimizer with initial learning rate 2 · 10−5
ハイパーパラメータのマージン mについての記載は無し。

他手法との比較

StartSpaceというBoW encoderと、HerBERTと比較。eComBERTが提案手法。HerBERTはRoBERTaのfashionコーパスでBERTをpretrainしたもの。HerBERTのauthorと本論文のauthorは数名重複している。

BEAUTYはHerBERTとeComBERTのfine-tunedされたものとそれ以外ではaccuracyにかなり違いがあるが、BEAUTYは製品数が少ないため、商品がどの製品に紐づくかどうかがCULTURE、ELECTRONICSに比べて難しいのかもしれない。

f:id:wwacky:20201209044416p:plain
Table 2. BERT-based similarity learning for product matchingより引用

non-finetunedではencoderのweightの追加学習を行っていないが、BERTの最終層のmean poolingしたものをembeddingとして使う。

pretrainingのステップ数によるパフォーマンスの変化

標準的なBERTのpretrainingは数十万ステップ行われるが、提案手法で名寄せを行う場合はpretrainingに必要なステップ数はもっと少なくても十分な性能が出る。参考までにNICTのBERTのモデルは合計110万ステップ。
Figure1はpretrainingのステップ数に対するMLMとBEAUTYのテストデータセットに対するaccuracy。左図と右図の横軸は共有されている。pretrainingのステップ数が2万ステップを超えたあたりでテストデータセットの精度はあまり変化しないので、数十万ステップを行わなくても十分な精度が得られる。名寄せに関してはpretrainingの効果が頭打ちになりやすいとも言えそう。

f:id:wwacky:20201209044507p:plain
Figure 1. BERT-based similarity learning for product matchingより引用

triplet作成方法毎の性能の違い

tripletを作成する3つの手法のcategory random(CR)、batch hard(BH)、category hard(CH)の性能を比較。
fraction of active tripletsの意味がよく分からないが、Figure 2ではfraction of active tripletsは0から1の範囲なのでnegative productsを選択できてtripletを作成できた比率を指していると思われる。また、lossが負になるtripletも除外されているかもしれない。

Figure 2 (a)はHerBERTのfine-tuneの最初の方のステップのfraction of active tripletsを示したもの。batch hardとcategory randomは50ステップあたりでactive tripletsの数が平坦になり、学習に使えるtripletが少なくなって学習の効率が落ちる。これに対してcategory hardはactive tripletsの数が最初から多く、距離を再計算する100ステップ目でactive triplets数が急激に回復している。著者によると100ステップ目移行は距離の再計算をしても同様の急激なactive tripletsの変化は起きず収束し始めていたとのこと。

Figure2 (b)はcategory hardをHerBERTと提案手法のeComBERTに適用した場合の比較。最初の方はeComBERTの方が初期ステップではactive tripletsがHerBERTより多く、途中からHerBERTより少なくなるのでeComBERTは学習初期に製品と商品の類似性を学習できているのではと述べられている。

f:id:wwacky:20201209044556p:plain
Figure 2. BERT-based similarity learning for product matchingより引用

1000ステップのときのtest accuracy。収束はしてないが、1000ステップが最も精度が良かったらしい(なぜTable 1の結果を1000ステップにしなかったのは謎である)
HerBERTとeComBERTに各batch strategyを適用した場合の比較。
eComBERTの方がHerBERTより性能が良くなる。

f:id:wwacky:20201209044644p:plain
Table 3. BERT-based similarity learning for product matchingより引用

Encoderのlayer数を減らしたりDistilした場合の精度と処理時間

small eComBERT(eComBERTを4層にしたもの)とDistil eComBERTを用意。
精度はTable 4に示す通り。ほとんど差は無い。
推論時間はeComBERTに対してDistil eComBERTは半分、small eComBERTは2/3になったとのこと。

f:id:wwacky:20201209044726p:plain
Table 4.BERT-based similarity learning for product matchingより引用

学習データセットに含まれない製品に対する精度

論文中ではZero-shotと書かれているが、ここでのZero-shotとは学習データセットに含まれない製品に対する評価を指すらしい。
テストデータには学習データに存在する製品データが含まれないように分割したと記載されている。Table 5は5000ステップでの結果だが、eComBERTは5000ステップ以降はoverfitし始めてしまうとのこと(テキストのみでデータの提示はなし)。

f:id:wwacky:20201209044805p:plain
Table 5.BERT-based similarity learning for product matchingより引用

はてなブログを書くときのメモ

公式:はてなブログ ヘルプ

記法

上付き、下付き

<sup> 上付きにしたい文字 </sup>

<sub> 上付きにしたい文字 </sub>

はてな記法をそのままブログに書きたい時

自動リンク停止記法を使う

[] はてな記法 []

コードブロック

>|言語名|
ソースコード
||<

インラインコード

<code> と</code>で挟む

画像

画像の貼り付け

  • 画像をコピペしてアップロードする
  • はてな記法で貼り付けたい場合は、右側のサイドバーの「写真を投稿」で画像を選び、「選択した写真を貼り付け」で貼る

サイズの指定

横幅の指定
[f:id:wwacky:20201209041958p:plain:w300]

高さの指定
[f:id:wwacky:20201209041958p:plain:h200]

キャプションの設定

貼付け時にキャプションを書いて貼る

Multimodal Joint Attribute Prediction and Value Extraction for E-commerce Productを読む

概要

ECの商品情報のテキストに含まれるAttributeとその値の抽出を行う。テキストの系列ラベリングだけでなくAttributeのクラス分類と同時学習させ、素性にはテキストと画像を用いたマルチモーダルにしつつも画像からのノイズをフィルタリングするためのGateを含めたArchitectureを提案。

EMNLP2020で採択

[2009.07162] Multimodal Joint Attribute Prediction and Value Extraction for E-commerce Product

著者

  • Tiangang Zhu (JD AI Research)
  • Yue Wang (JD AI Research)
  • Haoran Li (JD AI Research)
  • Youzheng Wu (JD AI Research)
  • Xiaodong He (JD AI Research)
  • Bowen Zhou (JD AI Research)

問題設定

商品名や商品詳細のようなテキストに対して商品特徴のNERを行う。商品特徴は「色」「襟の種類」など。 提案手法ではNERを行う際に画像特徴量も用いる。
Figure 1の例では「This golden lapel shirt can be dressed up with black shoes...」というテキストがある時に"golden"は色かもしれないし素材かもしれないが画像から"golden"は色だと分かるし、"black"という単語は画像を見れば対象商品に対するものではないので抽出しないということが可能になる。
(goldenが素材かもしれないというのがよく分からないが、アクセサリーなどで素材が金といったことを指しているのでは無いかと思われる)

※ Figure 1. Multimodal Joint Attribute Prediction and Value Extraction for E-commerce Productより引用

contribution

  • 製品のAttributeを予測し、それに対応する値を抽出するEnd-to-Endのモデルを提案
  • 商品の画像情報を選択的に採用するglobal gateとregional gateを導入することで、Attribute PredictionとValue Extractionの精度を上げることができる
  • 様々な商品カテゴリを含む87,194個のマルチモーダルな商品属性値データセットを構築

提案手法

提案手法では以下の2つのタスクを解く。

  • Product Attribute Prediction (sequence-level multi-label classification)
  • Product Value Extraction (sequence labeling task)
f:id:wwacky:20201024170540p:plain
※ Figure 2. Multimodal Joint Attribute Prediction and Value Extraction for E-commerce Productより引用

Encoder

Text Encoder
BERTを使う。

Image Encoder
ResNetを使用。global visual featureとregional image featureの2つを用いる。

  • global visual feature  v_G: 最終Pooling層の出力を用いる。
  • regional image feature   \textbf{v}=(v_1, ..., v_K):ResNetのconv5の7 x 7 x 2048 の特徴量を用いる。K=49。(恐らく位置情報は考慮せずに49個=7x7の2048次元のベクトルとして扱う)

Product Attention Prediction

画像がテキストの意味を表現できない場合に画像情報がノイズとならない様に、Gateを設置する。

式(5)の第1項はtoken-tokenのAttention。 h_jはBERTの出力。
式(5)の第2項はtoken-image regionのAttention。
Gateの g^{G}_{i}はBERTの出力 h_iと画像全体の特徴量 v_Gに依存する。

token-tokenとtoken-image regionのattentionをかけた h_i'、BERTの出力 h_i、BERTの[CLS]トークンの出力 h_0を用いてマルチラベル分類を行う。
 \textbf{y}^a=(y_1^a,...,Y_L^a)が正解のAttributeを表しており、Attributeを持つときは1が立つ。Attributeは全部でL個。

Lossはクロスエントロピーを用いる。

Product Value Extraction

BIOを用いて系列ラベリングを行う。token毎にB-MaterialやI-Materialといったラベルを付けていくことになる。 予測を行う際はProduct Attention Predictionで用いた特徴量 h_i'やその予測結果 \hat{y}^aも特徴量として用いる。softmaxの第4項はimage region毎のgate  g^R_kとtoken-image regionのattentionをかけたものになっている。(論文を読む限りCRFではなく単純なクラス分類)

Lossはこちらもクロスエントロピーを用いる。

Multitask Learning

Product Attribute PredictionとProduct Value Extractionを同時に学習する。
更にProduct Attribute Predictionで予測されたAttributeとProduct Value ExtractionでラベリングされたAttributeの一貫性が保たれる様にKL lossを導入する。

最終的にはLossは以下の式で表される。


実験

データセット
中国のEC(https://www.jd.com/)から取得したデータセットを用いる。ラベルはクラウドソーシングで作成。

※Table 1. Multimodal Joint Attribute Prediction and Value Extraction for E-commerce Productより引用

既存手法との比較

提案手法はM-JAVE(Multimodal Joint Attribute prediction and Value Extraction)。
JAVEは提案手法からGateを外して画像特徴量を入れずにテキスト情報だけでタスクを解くモデル。

※ Table 3. Multimodal Joint Attribute Prediction and Value Extraction for E-commerce Productより引用

既存手法は恐らく全てtextのみを使った手法。そのため、既存手法との比較はJAVEと行った方が良い。既存手法に比べて若干JAVEの方がF1スコアが高いが、そこまで大きな差はない。
M-JAVEにするとF1スコアが3ポイントほど上昇するので、この3ポイントが画像の効果と思われる。


カテゴリ毎のAttribute PredictionとValue ExtractionのF1スコア

カテゴリ毎にほとんど差はない。(論文中に対して考察は書いてない。たぶん)

f:id:wwacky:20201025162544p:plain
※ Figure 3. Multimodal Joint Attribute Prediction and Value Extraction for E-commerce Productより引用

Attribute毎のAttribute PredictionとValue ExtractionのF1スコア

(論文中に対して考察は書いてない。たぶん)
F1が高いAttribute:Shape, Pant Length, Neckline Depth, Slit Type, Elasticity(弾性)
F1が低いAttribute:Pocket Type, Thickness

テキストだけで当てられる、画像が無いと当てるのが難しいといった違いは見られない。人間が見ても判断が難しいどうかが影響している気もするが不明。Pant LengthのF1は高いが、Sleeve LengthやSkirt LengthのF1が低いのは気になるが、特に理由は書いてなかった。

f:id:wwacky:20201025163105p:plain
※ Figure 4. Multimodal Joint Attribute Prediction and Value Extraction for E-commerce Productより引用

Ablation Study

テキストだけのJAVEに対してAblation Studyを行う。

  • w/o MTL:MultiTaskLearningを行わない(具体的にどう学習させるかは書いてない)
  • w/o AttrPred:Value Extractionを行う際にAttribute Predictionの結果を使わない(式9の W_8 \hat{y}^aを除外する)
  • w/o KL-Loss:学習時のKL-Lossを外す(式14の \lambdaを0にする)
  • UpBound of Attribute Task:Value Extractionが全て正解だった場合のAttribute PredictionのF1
  • UpBound of Value Task:Attribute Predictionが全て正解だった場合のValue ExtractionのF1

元々の問題設定としてはValue Extractionだけ解けばよいのだが、Attribute Predictionがあることで若干だが精度が上がっている事がわかる。また、UpBoundのパターンでは片方の精度が上がればもう片方も上がることが示されているので、互いに相関関係にあるといえる。

※ Table 5. Multimodal Joint Attribute Prediction and Value Extraction for E-commerce Productより引用


画像特徴量も含めたM-JAVEのAblation Studyを行う。

  • w/o Visual Info:JAVEと同じ状態
  • w/o Global-Gated CrossMAtt:global-gated cross-modality attentionを除外する(式5の右辺を除外。画像全体の特徴量が加算されなくなる)
  • w/o Regional-Gated CrossMAtt:regional-gated cross-modality attentionを除外する(式9の一番右の項を除外。画像のregion毎の畳み込み特徴量が加算されなくなる)
  • w/o Global Visual Gate:global visual gateを除外する(式5の g^G_iを除外する。gateの値は除外するが、画像全体のcross-modality attentionはそのまま加算される)
  • w/o Regional Visual Gate:regional visual gateを除外する(式9の g^R_kを除外する。gateの値は除外するが、画像Region毎のcross-modality attentionはそのまま加算される)

Gateが無い場合のF1スコアの下がり幅が最も大きく、テキストのみのJAVEよりもF1スコアが低くなってしまう。即ち画像特徴量をAttention込みで組み込んでも精度が上がらず、画像特徴量を用いて精度を上げるためにはGateを用いたフィルタリングが有効であることが示されている。
一方でcross-modality attentionを除外すると画像の全体かregion毎のどちらかが考慮されなくなるが、テキストのみのJAVEよりはF1スコアが高くなる。

※ Table 6. Multimodal Joint Attribute Prediction and Value Extraction for E-commerce Productより引用

Low-Resource Evaluation

ランダムサンプリングで学習データの量を減らした場合のF1スコアを評価。学習データが少なくなるとJAVEとM-JAVEの差が大きくなり、学習データが少ない時ほど画像の効果があることが分かる。

※ Table 9. Multimodal Joint Attribute Prediction and Value Extraction for E-commerce Productより引用

Position-Aware Tagging for Aspect Sentiment Triplet Extractionを読む

概要

レビューの様な自然文からtarget, opinion, sentimentのtriplet( 例=(“salmon”, “fresh”, positive))をEnd-to-Endで抽出する手法を提案。BERTで各TokenをEmbeddingした後に、Tokenの単語ベクトルとToken間の単語ベクトルの差分を特徴量としてCRFによってタギングを行う。SemEvalのデータセットをもとに構築したデータセットで評価を実施し、既存手法より高い精度が得られた。

arxiv.org

github.com

accepted by EMNLP 2020

著者

  • Lu Xu (StatNLP Research Group, Singapore University of Technology and Design; DAMO Academy, Alibaba Group)
  • Hao Li (StatNLP Research Group, Singapore University of Technology and Design; ByteDance)
  • Wei Lu (StatNLP Research Group, Singapore University of Technology and Design)
  • Lidong Bing (DAMO Academy, Alibaba Group)

問題設定

target、opinion、sentiment(polarity)のtripletを抽出するタスク。

Figure 1の例だと以下になる。

  • target: food, vegan options
  • opinion: so so, excited
  • sentiment(polarity): 0 = neutral, + = positive, - = negative

target、opinionのspan、targetとopinionの組み合わせ、polarityの全てが合っている時のみ正解。

ASTE = Aspect Sentiment Triplet Extraction

f:id:wwacky:20201015210434p:plain
※Figure 1. Position-Aware Tagging for Aspect Sentiment Triplet Extractionより引用

提案手法

JET(= Jointly Extract the Triplets)を提案。
JETはEnd-to-Endでtripletの抽出を行う。JETには JET^ tJET^ oの2種類がある。上付き文字のtとoはそれぞれtargetとopinion。

先に JET^ t を説明する。JET^ tの出力はFigure 2の○で囲まれたSやOやBの文字の部分。これをtoken毎に出力する。
JETはNERの様なタグ付けを行っており、BIOESを使っている(common tagging schemeらしい)。B=Begin, I=Inside, O=Outside, E=End, S=Single。Entityが1tokenの場合、Bを1つではなくSを使う(そのためfoodがSで、vegan optionsはBとE)。
JET^ tではtargetのentityにBIESでspanが表現される。その際、BとSのみ上付き文字と下付き文字があるが、下付き文字はopinionの開始位置と終了位置のtargetからのoffset、上付き文字はopinionに基づくpolarityを示している(0 = neutral, + = positive, - = negative)。

f:id:wwacky:20201015210531p:plain
※Figure 2. Position-Aware Tagging for Aspect Sentiment Triplet Extractionより引用

JET^ oはBIESを付けるentityをtargetではなくopinionにしたもの。offsetで指す先もopinionではなくtargetになる。それ以外は全て同じ。JET^ tを表すFigure 2とJET^ oを表すFigure 4を見比べるとわかりやすい。

f:id:wwacky:20201015211118p:plain
※Figure4. Position-Aware Tagging for Aspect Sentiment Triplet Extractionより引用

既存手法では"The salad is cheap with fresh salmon"という文で (“salad”, “cheap with fresh salmon”, positive)と (“salmon”, “fresh”, positive)という重複するtripletが存在する時に対応できないが、提案手法では対応できる(このケースは JET^ tなら可能だがJET^ oでは無理。しかし、"salmon is cheap and fresh"みたいな文では逆にJET^ oでは可能だが、 JET^ tでは無理ということになると思われる)。


余談

複数のtargetやopinionが考慮されているのは良いが、"サラダの値段も味も良い"(英語だと"Good prices and taste for salads."になる?)から("サラダの値段", "良い", +)、("サラダの味", "良い", +)の2つのtripletを抽出することは難しそう。恐らくこの手法では("サラダの味と値段", "良い", +)が正解になると思われる。2つのtripletにしたい場合は、("サラダの味と値段", "良い", +)を後から分割した方が良いのかもしれない。

Architecture

以下のFigure 3に示すネットワークで、Token毎にVectorを出力する。出力したVectorを入力としてCRFとSemi-Markov CRFでタギングする。

e_iはi番目のTokenをEmbeddingして得られたVector
h_iはBiLSTMの隠れ層のVector(後の実験ではBERTに置き換えて最終層のVectorを使ったパターンもある)。
g_{a,b}=[\vec{h}_b - \vec{h}_{a-1};\overleftarrow{h}_a - \overleftarrow{h}_{b+1}]で表され、ベクトルの差分のconcatnateになっている。

これらを入力に、まずは f_tが5つのベクトルを出力するので、これを用いてBIOESのタギングを行う。
このタグがBかSの時は更に追加で  f_s (offsetがj,kの時の極性用に3つのベクトルを出力)、f_of_rがそれぞれ1つずつベクトルを出力するのでopinion spanのoffsetを決定する(と思われる)。f_oはopinion spanに該当するsegmentの特徴量で、f_rはoffsetのposition embeddingのようなもの。
最終的にToken毎に B^{\epsilon}_{j,k}, I, O, E, S^{\epsilon}_{j,k}を出力することになる( \epsilonは極性、 j,kはoffset)。


 B^{\epsilon}_{j,k}, I, O, E, S^{\epsilon}_{j,k}はCRFとSemi-CRFで一気に出すようだがよく分からない。
Mがoffsetを最大幾つまでするかを表している。
Mは[2,6]でしか動かしておらず、計算オーダーはToken毎に O(M^2)、文のToken数がnの時は全体の計算オーダーが O(nM^2)と書いてある。従って、例えばM=2の時はToken毎に [B^{-}_{1,1}, B^{0}_{1,1}, B^{+}_{1,1},...B^{-}_{2,2}, B^{0}_{2,2}, B^{+}_{2,2}, I, O, E, S^{-}_{1,1}, S^{0}_{1,1}, S^{+}_{1,1},...S^{-}_{2,2}, S^{0}_{2,2}, S^{+}_{2,2}] みたいなマルチクラス分類のタスクをCRFで解いていると思われる。

f:id:wwacky:20201015211208p:plain
※Figure 3. Position-Aware Tagging for Aspect Sentiment Triplet Extractionより引用

実験

データセット

Rest=Restaurant, Lap=Laptop

f:id:wwacky:20201015211329p:plain
※Table 1. Position-Aware Tagging for Aspect Sentiment Triplet Extractionより引用

学習時にtripletのoffsetがMを超えるデータは削除する。

既存手法との比較

精度の傾向としては 既存手法 < JET^ t < JET^ o
論文中には書いていないが、 JET^ o の方が精度が高いのは「サーモンは安くて新鮮」といったtarget(サーモン)が複数のopinion(安い, 新鮮)を持つデータセットが多いのではないかと思われる。

JET^ tJET^ oはBiLSTMを使っているが、BERTに置き換えると精度が上がっている。ただし、上がり幅はデータセットによってまちまち(JET^ o (M=6)のF1で14Lapだと9.7ポイントも上がるが、16Restだと0.6ポイントしか上がらない)

f:id:wwacky:20201015211455p:plain
※Table 2. Position-Aware Tagging for Aspect Sentiment Triplet Extractionより引用

ロバストネスの評価

Figure 5はtarget, opinion span, offsetが長さに応じてF値がどう変化するかを表している。特定のパターンだけ当たっているのかどうかの評価?
offset(targetとopinionの間隔)は広がるほどF値が下がる。
targetはentityの数が増えるほどF値が下がるが、JET^ tの時だけentity数=6で一気に上る(理由の記載なし。長さ6のtargetがデータセットに多いだけ?)
opinion spanもentity数が増えるほどF値が下がるが、entity数=4で一度上がる(理由の記載なし。長さ4のopinionがデータセットに多いだけ?)

f:id:wwacky:20201015211608p:plain
※Figure 5. Position-Aware Tagging for Aspect Sentiment Triplet Extractionより引用


Figure 5を見てentityの境界を当てるのが難しいのでは?ということで、targetとopinion spanの境界の先端か終端のどちらかがあっていれば正解として評価したのがFigure 6。
T=target, O=opinion, S=Sentiment。先端か終端のどちらかが合っていれば正解としたものはT_pO_p

JET^tはややopinionの部分一致が多く、JET^oはtargetの部分一致が多い。即ち、offsetで抽出しにいく対象が正しくspanを当てることが難しいと思われる。

f:id:wwacky:20201015211844p:plain
※Figure 6. Position-Aware Tagging for Aspect Sentiment Triplet Extractionより引用

予測結果のサンプル

f:id:wwacky:20201015211713p:plain
※Table 3. Position-Aware Tagging for Aspect Sentiment Triplet Extractionより引用

Ablation Study

offset feature(f_r(j,k))が最も効いている。
character embeddingを追加すると、ノイズになり逆に精度が下がるケースが多い。

f:id:wwacky:20201015212001p:plain
※Table 4. Position-Aware Tagging for Aspect Sentiment Triplet Extractionより引用

アンサンブルの効果検証

JET^ tJET^ o単体だとそれぞれ抽出できないパターンがあるので結果をマージして評価する。
JET^{t \rightarrow o}JET^ oをベースにJET^ tを足す。JET^{o \rightarrow t}はその逆。
Recallは上がっているのでマージする効果は出ているが、Precisionは下がってしまうのでF値は微増という状況。

f:id:wwacky:20201015212110p:plain
※Table 5. Position-Aware Tagging for Aspect Sentiment Triplet Extractionより引用

Adversarial Multimodal Representation Learning for Click-Through Rate Predictionを読む

概要

CTR予測を行うMultimodal Adversarial Representation Network (MARN) を提案。 最初にmultimodal attention networkはモーダル固有の特徴量から、アイテム毎にモーダルの重みを算出する。 次にmultimodal adversarial networkがモーダル不変の分散表現を学習する。 最後にモーダル固有の分散表現とモーダル不変の分散表現を組み合わせ、アイテムごとの分散表現を得る。

公開データセットでSOTAを達成し、運用中のECにデプロイしてonline A/Bテストで改善を確認した。

contribution

  • The proposed MARN introduces a novel multimodal representation learning method for multimodal items, which can improve the CTR prediction accuracy in E-commerce.
  • We explore the complementarity and redundancy of modalities by considering modality-specific and modality-invariant features differently. To achieve discriminative representations, we propose a multimodal attention fusion network. Moreover, to achieve common representations across modalities, we propose a double-discriminators multimodal adversarial network
  • We perform extensive experiments on both public and industrial datasets. MARN significantly outperforms the state-ofthe-art methods. Moreover, the approach has been deployed in an operational E-commerce system and online A/B testing further demonstrates the effectiveness.

Accepted to WWW 2020

著者

  • Xiang Li (Alibaba Group, Hangzhou & Beijing, China)
  • Chao Wang (Alibaba Group, Hangzhou & Beijing, China)
  • Jiwei Tan (Alibaba Group, Hangzhou & Beijing, China)
  • Xiaoyi Zeng (Alibaba Group, Hangzhou & Beijing, China)
  • Dan Ou (Alibaba Group, Hangzhou & Beijing, China)
  • Bo Zheng (Alibaba Group, Hangzhou & Beijing, China)

リンク

[2003.07162] Adversarial Multimodal Representation Learning for Click-Through Rate Prediction

INTRODUCTION

モーダル固有:1つのモーダルにしか存在しない情報で、動的な重みを与えられるべきなもの
モーダル不変:異なるモダリティで冗長な情報で、重みが固定されるべきもの

商品名からHot Pinkのような色はわかるが、糸のような素材は画像からしかわからない。素材はモーダル固有の特徴量で、色はモーダル不変の特徴量といえる。

キーアイデアとして、モーダル固有の特徴量は異なるモーダル間の動的な重要度を探すために重要で、モーダル不変は固定的な重要度で商品の包括的な分散表現で追加知識として使える

Adversarial Transfer Learning

GANを参考にした転移学習らしい。 著者が提案するのは、複数モーダルで共通の潜在空間を学習する2重の識別器を用いたAdversarial Network

OUR PROPOSED METHOD

提案手法のMARNは2つのコンポーネントから成る

  • Modality Embedding Layer (こっちはモーダル固有のEmbeddingを行う?)
  • Downstream Application Network (こっちは全アイテムを使って包括的に学習し、複数モーダル共通の分散表現を作る?)

f:id:wwacky:20200803074449p:plain
Figure 1. Adversarial Multimodal Representation Learning for Click-Through Rate Predictionより引用

Modality Embedding Layer

Item Modality Embedding

4つのモーダルを対象にする

  • ID:商品ID、ショップID、ブランドID、カテゴリIDを含んだ未注文の離散特徴量
  • Image :ピクセルレベルの画像情報
  • title:単語列
  • statistic :統計値、表示履歴、クリック、注文や金額のトランザクション

IDs
複数IDをconcatしてmulti-hot vectorとして扱う。それぞれEmbedding Layerでベクトルに変換する。

Image
VGG16のクラス分類用の最終2層を除外したものを使う

title
単語毎に300次元のベクトルに変換する。EmbeddingにはKimの既往研究に従って、convolutional Networkでn-gramの特徴量を取得するためにウィンドウサイズをn=2,3,4にした複数フィルターを使って行う。

Statistic
難しいらしい。Yuanfeiの既往研究に従い、1つではなく2つに離散化する(8次元の2つのベクトルにする。)。商品の数に応じて0-9か0-99のレンジで離散化するらしい。おそらく、この10個か100個の2x8次元のベクトルを作っておき、各データがどの2x8ベクトルに対応するのかlook upする感じと思われる。

Behavior Property Embedding

click, add-to-cart, purchaseのシーケンスをone-hotベクトルにする。これをembeddingする

Multimodal Attention Network

モーダルのconcatnateは、モーダル間でウエイトが一緒。 動的なウエイトは過去にも既往研究があるが、冗長な情報は除外されるべき。

256次元のベクトルにするらしいが数式がよくわからない

s_i^ m = S_m (e_i^ m):モーダル固有の特徴量。256次元

c_i^ m = I(e_i^ m):モーダル不変の特徴量。256次元

e_i^ m:アイテムi, モダリティmのベクトル。256次元?

S_m(・):モダリティ固有の特徴量を取得するための写像

I(・):モダリティ不変の特徴量を取得するための写像

MAF:multimodal attention fusion 数式(2)(3)を見ると、Figure 2のelement-wise + はアテンション込で足している様に読める

f:id:wwacky:20200809050159p:plain
Figure2. Adversarial Multimodal Representation Learning for Click-Through Rate Predictionより引用

Multimodal Adversarial Network

adversarial learningやGradient reversal layer (GRL)、domain adaptation、を先に読んだ方が理解しやすかった。
domain adaptationはDomain-Adversarial Neural Network (DANN)の解説で出てくる。

Adversarial Learningってなんだ - 面白いデータを探して
Gradient Reversal LayerではじめるPyTorchカスタム関数 | AI tech studio
Domain Adversarial Neural Networksの解説 - Counterfactualを知りたい

Cross-Modal Adversarial

minimax game

Jensen-Shannon divergence (JSD)

Double-Discriminators Multimodal Adversarial

For example, the item ID embedding should be assigned relatively small weights due to the uniqueness. On the contrary, the image and title embeddings that involve much potential common subspace should be emphasized for further confusing the modality discriminator.

double-discriminators multimodal adversarial (DDMA) network

First, we expand the original one-to-one adversarial paradigm to multimodal scenarios. Second, we introduce a double-discriminators strategy

first discriminator D_0:モーダル不変の特徴量からMクラス分類を行う?モーダル横断の潜在空間からモーダル不変の特徴量を識別する。モーダル不変の特徴量を識別することは2nd Discriminatorを混乱させる。この識別というのをImportanceの予測でやるということか?

second discriminator D_1:Mクラス分類。モダリティ間のJSDをへらすように学習。

第1の識別器は、複数のモダリティにまたがる共通潜伏部分空間に潜在するモダリティ不変特徴を識別し、さらに第2の識別器を混乱させるために識別されたモダリティ不変特徴を強調する 一方、第2の識別器は、複数のモダリティにまたがる共通の潜在部分空間を学習するように、モダリティ間の知識伝達を駆動する。

f:id:wwacky:20200809052316p:plain
Figure 3. Adversarial Multimodal Representation Learning for Click-Through Rate Predictionより引用

Modality-Specific Discriminator

ここでモダリティ固有の特徴量と、モダリティ不変の特徴量を得る。element-wise summationでアイテムの分散表現を得る。

複数のモダリティ間でモダリティ固有の特徴s m iを識別できるようにするために、モダリティ固有の特徴に対してモダリティ固有のモダリティ識別器Dsを提案し、その識別行列を第2の識別器D1と共有する。最後に、複数のモダリティの相補性と冗長性を実現し、モダリティ固有表現siとモダリティ不変表現ciを生成する。そして、モダリティ固有表現とモダリティ不変表現の要素ごとの和によって、マルチモーダル項目表現repiが生成される。

Downstream Application Network

Behaviors Integrating Layer

RNNベースのモデルを使う。 ユーザ行動間の依存をモデリングするためにGRUを使う。 GRUは2つ不足しているものがあり、異なる行動のタイプや時間変化によってユーザの興味が異なること、候補商品をクリックしたかどうか???

Attentional Property GRU (APGRU)を提案。

CTR Prediction Layer

point-wise loss for the CTR task

最初にCTRのLossを最小化する(予測全体のパフォーマンスを最適化するため)。 2番めにDsのLossを最小化する(モーダル固有の写像Smを学習するため。Embedding LayerEを更新するためにDsの勾配はバックプロパゲーションしない) 3番めにFirst Discriminator D0のLossを最小化する(複数モーダルに渡る潜在共通サブスペースを特定するため)。D0はウエイトがないモーダル不変の特徴量を学習しているから良い指標でないため、不変の写像層Iを更新するためにD0のバックプロパゲーションは行わない。 最後にsecond discriminator D1がminimax gameをモーダル不変の特徴量とともにIを更新するために行う。

IとD1の間でminimax gameを解くことで、 gradient reversal layer (GRL)を通してend-to-endのアーキテクチャを適用する。

EXPERIMENTS

Datasets and Experimental Setup

Amazon Dataset

ユーザの行動シーケンスから次の行動を予測する。
商品の属性にはItem ID, category ID, title, image feature, statisticを用いる。
タイトルの単語はGloVeを用いて300次元のベクトルにする。
画像は学習済みVGG16を用いてベクトルにする。

Taobao Dataset

Taobao検索システムのexposureとクリックログ。CTRタスク用。
ユーザの行動種類はclick, add-to-cart, purchase。
商品の属性はitem ID, shop ID, brand ID, category ID, image feature(VGG16), statistic, title。
これとユーザ行動と時間がセットになっている。

7日分のデータを学習に使い、その翌日のデータを評価用にする。

f:id:wwacky:20200809055530p:plain
Table 1. Adversarial Multimodal Representation Learning for Click-Through Rate Predictionより引用

AmazonとTaobaoでembedding後の次元数は同じ。
Item ID:32次元 shop ID:24次元 Brand ID:24次元 Category ID:16次元

ボキャブラリーサイズはデータセットの統計値から決める。

予測層の隠れユニットは検証のために固定値としてAmazonは[128,64]、Taobaoは[512,256]。
活性化巻数はReLU。
Amazonのバッチサイズは32、Taobaoは1024。
最適化はAdaGradを使用し、学習率は0.1。
λは0からλ0までスケジューリングして変更させる。λ0は0.01から1.8までMARNで実験して、0.05が最もよいパフォーマンスだった。

Offline Comparison of Different Methods

3グループ9手法と比較する
第1グループ:DeepNetwork以前の手法
第2グループ:アイテムの複数モーダルの特徴量をconcatする手法
第3グループ:様々な手法を用いて複数モーダルから統一的な分散表現を学習するSOTAのマルチモーダル手法

第1グループ
LR:Logistic Regression
FM:Factorization Machine

第2グループ
YoutubeNet:Youtubeの動画レコメンドを目的としたDeep model。ユーザ行動中のアイテムのEmbeddingの単純な平均で分散表現を得る。
xDeepFM:explicitとimplicitの両方の交互作用を高次元特徴量として自動で学習することを目的としたcompressed interaction network
DUPN:LSTMとattentionをユーザ行動のモデリングに適用したECでのユーザ分散表現を学習する手法
DIEN:2層のRNNとattentionを持つNetwork。attentionによって2層目のユーザの相互作用を扱う。

第3グループ
DMF:階層的なマルチモーダル結合ネットワーク。レイヤー間でモーダルごとの分散表現が相関しており、shared layerは同一階層内の相関だけでなく、下層にも依存している
MMSS:画像情報から選択的に画像をフィルターするモーダルベースのattention mechanism model
NAML:ニュースの異なるビューとしてtitle, body, categoryを組み込み、重要なニュースのビューを選択するアテンションに適用し、有用なニュース分散表現を学習する

第1グループはID特徴量が入力(item ID, shop ID, brand ID, category ID)になる。 Deep手法はすべてMARNと同じ入力を与えて平等な比較を行う。

Results on Amazon and Taobao Datasets

5回の平均で評価。
MARNが最も良い。検定しても優位な差がある。
グループ2よりグループ3の方が性能が良い。モーダルの結合方法が重要であることがわかる。

第3グループの中でなぜMARNの精度が優れているのか?
DMFは異なるモーダル間の貢献を無視するようなconcatnation-based methodと同じであるかもしれない。
MMSSも画像を選択的にフィルターするので、画像を効果的に使えてない。
NAMLはアテンションで性能を上げているが、モーダル固有とモーダル不変を考慮して情報の相補性や冗長性を考慮できていない。

f:id:wwacky:20200815141420p:plain
Table 2. Adversarial Multimodal Representation Learning for Click-Through Rate Predictionより引用

文献39ではDINはYoutubeNetよりAUCで1.13%改善し、オンラインCTRは10.0%改善したと報告している。AUCのちょっとした改善はCTRの大きな改善につながる。

Ablation Study

BaseModel:1モーダルをGRUで行動embeddingを結合するモデルBaseModel+IDsとBaseModel-Imageがある
BaseModel+Conc:全モーダルの写像済み特徴量(IDs, image, title, statistic)を要素間で足し上げる手法
BaseModel+MAF:MAF=multimodal attention fusion network。MARNのサブモデル
BaseModel+MAF+ADV:ADV=adversarial transfer network。MARNのサブモデル
BaseModel+MAF+DDMA:DDMA=double-discriminators multimodal adversarial network。MARNのサブモデル。
MARN:MAF, DDMA, attention propertyGRU(APGRU)を用いたモデル。

BaseModel+IDs vs BaseModel+IMAGE vs BaseModel+CONC
モーダルが多いほうがAUCが高い

BaseModel+CONC vs BaseModel+MAF
MAFの方がCONCより精度が高いので、モーダルごとにウエイトを動的にする(attentionを用いる)ことは有用

BaseModel+MAF+ADV vs BaseModel+MAF+DDMA
original adversarial network(ADV)よりdoubule-discriminators multimodal adversarial network(DDMA)の方がAUCが高い。これはmultimodal adversarial learningによってモーダルをまたいだ共通の潜在部分空間で学習を行うことが効果的であることを示している。また,第1の識別器によって識別されたモダリティ不変の特徴を強調し、第2の識別器をさらに混乱させることが、複数モーダルにまたがる潜在部分空間でより良い学習するために重要であることを示している。

f:id:wwacky:20200815142912p:plain
Table 3. Adversarial Multimodal Representation Learning for Click-Through Rate Predictionより引用

Item Representations Validation

Generalization on Unpopular Items

Taobaoデータセットの商品をinteractionの頻度に応じて商品を10個のレベルに分割。popularityが高いほどより人気(9のほうが人気)。
人気がある商品では両方とも良い性能。差が少ない(levelが7-9)。人気がない商品では性能が低下する(lebelが0-3)。
MARNの方が性能の低下が抑えられているのは、titleやimageの情報を使うからかもしれない。

f:id:wwacky:20200816091216p:plain
Table 4. Adversarial Multimodal Representation Learning for Click-Through Rate Predictionより引用

Transfer from Seen Items to Unseen Items.

コールドスタート問題。 item-based CF (Collaborative Filtering) は履歴がないとランダムと同じ状態になる。
BaseModel+IDsはbrandIDとShopIDが使える。MARNだと更にtitleとimageが使える。
MARNの性能が良い。

f:id:wwacky:20200816092903p:plain
Table 5. Adversarial Multimodal Representation Learning for Click-Through Rate Predictionより引用

Case Study of Multimodal Attention

Taobaoデータセットで、カテゴリ毎に各モーダルのL2ノルムの平均を計算する。
画像は洋服、靴、ジュエリーでの重みが大きい。一方statisticは携帯電話や食料品で高い。
MARNがモーダルの重みを動的にうまく学習していることが分かる。

f:id:wwacky:20200816094053p:plain
Figure 4. Adversarial Multimodal Representation Learning for Click-Through Rate Predictionより引用

Empirical Analysis of Adversarial Network

Modality Visualization

Fig 5(a):モーダル固有の特徴量がうまく分離できている。modality discriminatorがモーダル固有の特徴量から冗長性を排除し、モーダルの識別性能が高いことを示している。
Fig 5(b):著者ら的にはtitleとimageの特徴量が近くなって、titleとimageで同じように学習しようとしているらしい。
Fig 5(c):赤が画像のモーダル固有特徴量、青がタイトルのモーダル固有の特徴量。緑が画像とタイトルのモーダル不変の特徴量をmax-poolingしたもの。3つがうまく分離できており、MARNがモーダルの相補性と冗長性を学習している事がわかる。

f:id:wwacky:20200816095251p:plain
Figure 5. Adversarial Multimodal Representation Learning for Click-Through Rate Predictionより引用

Convergence and Parameter Sensitivity

Figure 6(a):lossの変化。adversarial lossが上昇しているのは、モーダル不変の特徴量からモーダルの識別ができなくなっていることを意味する(モーダル不変特徴量とモーダル固有特徴量がうまく分離できているということ?)。
Figure6(b):Taobaoデータセットでのハイパーパラメータλ0のチューニング。0.05が適切なバランス。λはモーダル固有とモーダル不変の学習手順をコントロールするパラメータ。

f:id:wwacky:20200816095343p:plain
Figure 6. Adversarial Multimodal Representation Learning for Click-Through Rate Predictionより引用

Online Evaluation

Online Metrics

Taobao search SystemでABテスト。1ヶ月実施。
CTRとGMV(Fross Merchandise Volume)で評価。
YoutubeNetに対する相対値でのみ報告。
DUPNは以前オンラインにサービングしていたモデル。MARNの方が性能が良く、既にMARNはオンラインにデプロイされている。

f:id:wwacky:20200816103458p:plain
Table 6. Adversarial Multimodal Representation Learning for Click-Through Rate Predictionより引用

Online Serving

ピークタイムでは秒間20万以上のユーザが訪れる。
MARNは複雑だが、事前に抽出できる。
LSTMのために量子化して推論を高速化、GPU、ALI-FPGAs(行列演算を加速させるもの)を含めたheterogeneous calculationsを行っている。最終的にこれらの技術を最適化することで実質シングルマシンのQPSが2倍になる。

CONCLUSIONS

メモ

Previous works either concatenate the multiple modality features, that is equivalent to giving a fixed importance weight to each modality; or learn dynamic weights of different modalities for different items through technique like attention mechanism

過去の研究ではマルチモーダルの特徴量をconcatするのは、「各モーダルに固定のウエイトを設定すること」や「アテンションを使ってアイテムごとにモーダル毎のウエイトを動的に学習すること」と同等である。 →でも正確なウエイトを求めることができないかもしれない

To leverage the multiple modalities for better item representations, a straightforward way [20, 38, 39] is to concatenate the multiple modality features, which is equivalent to giving a fixed importance weight to each modality regardless of different items.

modality-specific (exist in one modality, and should have dynamic weights) modality-invariant features (redundant in different modalities, and should have fixed weights)

モーダル固有:1つのモーダルにしか存在しない情報で、動的な重みを与えられるべきなもの モーダル不変:異なるモダリティで冗長な情報で、重みが固定されるべきもの

例 Take a dress which is displayed by an image with a title 「Girls Ballet Tutu Zebra Hot Pink」 for example. The item involves a latent semantic feature of the material, such as yarn, which can be expressed by its image while not involved in its title, so the material feature is considered as the modality-specific (latent) feature for this example. The item also involves a common latent semantic feature of color (hot pink) in the subspace of both its image and title features, so the color feature is considered as the modality-invariant (latent) feature for this example.

商品名からHot Pinkのような色はわかるが、糸のような素材は画像からしかわからない。素材はモーダル固有の特徴量で、色はモーダル不変の特徴量といえる。

The key idea is that modality-specific features provide an effective way to explore dynamic contributions of different modalities, while modality-invariant features should have a fixed contribution and can be used as supplementary knowledge for comprehensive item representations.

キーアイデアとして、モーダル固有の特徴量は異なるモーダル間の動的な重要度を探すために重要で、モーダル不変は固定的な重要度で商品の包括的な分散表現で追加知識として使える