Deep Learning for
Extreme Multi-label Text Classification
Jingzhou Liu, Wei-Cheng Chang, Yuexin Wu, Yiming Yang
SIGIR 2017
arXivtimes論文輪講
Kamujun
Outline
• Summary
• What is Extreme Multi-label Classification?
• Related work
• Proposed method “XML-CNN”
• Dynamic Max Pooling
• Loss function
• Hidden Bottleneck Layer
• Experiments
• Conclusion
!2
Summary
• 一言で言うと

大量なラベルを扱って分類を行うextreme multi-label text
classification (XMTC)において、CNNを用いた分類を行った。
• 新規性・差分

このタスクにおいてDeep learningを適用した点と、

多くのベンチマークにおいて従来手法との比較を行った結果、

提案手法が1番もしくは2番目の性能を示した。
• 手法
• 結果
• コメント

→このあとのスライドにて説明
!3
What is Extreme Classification?
• 100,000~1,000,000にも及ぶ大量のクラス・ラベルで

分類するタスク
!4
How to solve

Extreme Multi-label Classification?
• Target-embedding method

推定するラベルを低ランクに近似できると仮定して分類を行う。

低ランクへの圧縮方法の違いなどで様々な手法が考案されており、

SLEECなどがある。
!5
Z = Uy
Z = Vx
y = U†
Vx
U : compression U† : decompression
y Z y
V x
train & predict
x :feature vector (d-dimensional)
y : L-dimensional label vector
Z : L
^
-dimensional label vector
V ,U,U†
:regressor
How to solve

Extreme Multi-label Classification?
• Tree−based Ensemble method

従来の決定木のような手法を用いるが、単一の値 (ここではラベル)
を算出するためではなく超平面で分割できるように学習を進める。

FastXMLなどの手法がある。
!6
https://www.iitk.ac.in/tkic/workshop/Big-Data/ppt/extreme_calssification_purushottam.pdf
Related work
• CNN-Kim

Convolutional Neural Networks for Sentence Classificationにて提
唱されたCNNによる文分類手法。提案手法のベースとなっている。
!7
Proposed method “XML-CNN”
• Key attributes
• Dynamic Max Pooling
• Loss Function
• Hidden Bottleneck Layer
!8
Dynamic Max Pooling
• max-over-time pooling

feature mapごとに最も大きな要素を素性
として用いる。欠点として、文長が長い場
合に問題が起きやすく、最も大きな要素の
位置に関する情報を保持していない。
• Dynamic Max Pooling

フィルター毎に一つの要素を取る代わりに、
複数の素性を用いる。具体的にはm次元の
feature mapをp個のチャンクにする。チャ
ンクとする際には最も大きい要素を用いる。
その結果1つのフィルターでp次元のfeature
が得られる。(mはpで割り切れる必要あり)


!9
Loss Function
• マルチラベル問題における損失関数

分類で良く用いられているsoftmax関数+cross-entropy lossでは
なく、提案手法においてはsigmoid関数+binary cross-entropy
loss(BCE)を用いる。マルチラベル問題ではBCEを用いたほうがよ
い性能を示す研究が報告されているため。
!10
Hidden Bottleneck Layer
• Dynamic max pooling層とoutput層
の間に、それらより小さいユニット
数を持つ層「Hidden Bottleneck
Layer」追加する。
理由
1. XMTCではDynamic max pooling層と
output層のユニット数が多いため、これ
らを直接つなぐとモデルサイズが大きく
なる(O(pt×L))。この仕組を入れると
O(h×(pt+L))とすることができる。

2. Hidden Bottleneck Layerがないと、非
線形な隠れ層1層のみになるため、文書
の表現力や分類性能が不十分である。

!11
p :dimension of dynamic max pooling layer
t : number of filter
L:dimension of output layer
h: dimension of hidden bottlneck layer
Experiments
• Datasets
• Evaluation Metrics
• Main Results
• Ablation Test
• Efficiency and Scalability
!12
Datasets
• Deep系手法については訓練データの25%をvalidation set、

残り75%をtraining setとして利用。
!13
訓練
データ数
テスト
データ数
特徴量
次元数
クラス
ラベル数
文書あたり
平均ラベル数
ラベルあたり
平均文書数
訓練データ
平均単語数
テストデータ
平均単語数
Evaluation Metrics
• マルチラベル分類の性能を測る指標で計測
• Precision at top k (P@K)

推定結果上位k個について、どれだけ正解しているかを示す指標。
• Discounted Cumulated Gains at top k (DCG@K)

推定結果上位k個まで各ランクの正答を測る。上位が正解するほど高得
点。
• Normalized Discounted Cumulated Gains at top k (NDCG@K)

DCG@Kを正規化した指標。0~1で表現。
!14
1st 2nd 3rd 4th 5th
P@3=
1
3
≈ 0.33
P@5 =
3
5
= 0.6
NDCG@3=
1
log2
(1+1)
+
0
log2
(1+ 2)
+
0
log2
(1+ 3)
log2
(1+1) + log2
(1+ 2) + log2
(1+ 3)
≈
1
1
+
0
1.58
+
0
2
1
1
+
1
1.58
+
1
2
≈ 0.46
Main Results - P@K
!15
Main Results - NDCG@K
!16
Ablation Test
• key attributeのそれぞれが性能向上への寄与を確認
• v1 loss function
• v2 loss function + hidden layer
• v3 loss function + hidden layer + max pooling layer (=XML-CNN)
!17
Efficiency and Scalability
• Efficiency

計算機のスペックが手法によってことなるため単純に比較できないが、

処理効率の実験を行った。
• CPU (Non Deep系手法)

Intel Xeon CPU E5-2630v3, 2.40GHz, 192GB memory
• GPU (Deep系手法)

Nvidia GTX TITAN X
!18
Efficiency and Scalability
• Scalability

各手法において、カテゴリ数の変化に
応じて学習時間がどのように推移する
かを計測。Wiki500Kのカテゴリ数を

1, 5, 10, 25, 50%でサンプリングして
実施。ただし、サンプルしたカテゴリ
データに関連するデータのみ利用する
ため、カテゴリ数が増えるほど訓練デー
タ数も増える。



SLEEC, Bow-CNN, PD-Sparseでは、メ
モリ不足で実験が途中までしか行えな
かった。(これまでの実験でSLEECが処
理できていたのはすべての特徴量を利
用していたのではなく5000次元まで
削減していたため。)
!19
Conclusion
• extreme multi-label text classificationにおいてdeep
learningを用いた結果、6つのベンチマークにおいて1,2位
の性能を示した
• dynamic max poolingによって豊富な情報量の取扱い,
binary cross-entropy lossによるmulti-label問題への対応,
hidden bottleneck layerによるモデルサイズの削減を

実現した
!20
My Question
• Dynamic max pooling
• filterを一つづつずらしていないが、contextualな情報を獲得で
きているのか?
• Convolution
• Workshop on Extreme Classification at NIPS 2017で

発表された資料ではword embedding方向にfilterを

スライドさせていたが、論文の図と異っている?(6:46~)

→SIGIRに投稿されてからNIPSで発表するまでに手法の改良が
行われたよう。文書中全体の単語を考慮した特徴を用いたい

ねらいがあるよう。
!21
References
• Jingzhou Liu, Wei-Cheng Chang, Yuexin Wu, Yiming Yang. 2017. Deep Learning
for Extreme Multi-label Text Classification
• Yoon Kim. 2014. Convolutional Neural Networks for Sentence Classification
• Extreme Classification 2017: Deep Learning Approach for Extreme Multi-label
Text Classification
• eXtreme Classification
!22
Appendix
• メモリ使用量試算
!23

Deep learning for_extreme_multi-label_text_classification

  • 1.
    Deep Learning for ExtremeMulti-label Text Classification Jingzhou Liu, Wei-Cheng Chang, Yuexin Wu, Yiming Yang SIGIR 2017 arXivtimes論文輪講 Kamujun
  • 2.
    Outline • Summary • Whatis Extreme Multi-label Classification? • Related work • Proposed method “XML-CNN” • Dynamic Max Pooling • Loss function • Hidden Bottleneck Layer • Experiments • Conclusion !2
  • 3.
    Summary • 一言で言うと
 大量なラベルを扱って分類を行うextreme multi-labeltext classification (XMTC)において、CNNを用いた分類を行った。 • 新規性・差分
 このタスクにおいてDeep learningを適用した点と、
 多くのベンチマークにおいて従来手法との比較を行った結果、
 提案手法が1番もしくは2番目の性能を示した。 • 手法 • 結果 • コメント
 →このあとのスライドにて説明 !3
  • 4.
    What is ExtremeClassification? • 100,000~1,000,000にも及ぶ大量のクラス・ラベルで
 分類するタスク !4
  • 5.
    How to solve
 ExtremeMulti-label Classification? • Target-embedding method
 推定するラベルを低ランクに近似できると仮定して分類を行う。
 低ランクへの圧縮方法の違いなどで様々な手法が考案されており、
 SLEECなどがある。 !5 Z = Uy Z = Vx y = U† Vx U : compression U† : decompression y Z y V x train & predict x :feature vector (d-dimensional) y : L-dimensional label vector Z : L ^ -dimensional label vector V ,U,U† :regressor
  • 6.
    How to solve
 ExtremeMulti-label Classification? • Tree−based Ensemble method
 従来の決定木のような手法を用いるが、単一の値 (ここではラベル) を算出するためではなく超平面で分割できるように学習を進める。
 FastXMLなどの手法がある。 !6 https://www.iitk.ac.in/tkic/workshop/Big-Data/ppt/extreme_calssification_purushottam.pdf
  • 7.
    Related work • CNN-Kim
 ConvolutionalNeural Networks for Sentence Classificationにて提 唱されたCNNによる文分類手法。提案手法のベースとなっている。 !7
  • 8.
    Proposed method “XML-CNN” •Key attributes • Dynamic Max Pooling • Loss Function • Hidden Bottleneck Layer !8
  • 9.
    Dynamic Max Pooling •max-over-time pooling
 feature mapごとに最も大きな要素を素性 として用いる。欠点として、文長が長い場 合に問題が起きやすく、最も大きな要素の 位置に関する情報を保持していない。 • Dynamic Max Pooling
 フィルター毎に一つの要素を取る代わりに、 複数の素性を用いる。具体的にはm次元の feature mapをp個のチャンクにする。チャ ンクとする際には最も大きい要素を用いる。 その結果1つのフィルターでp次元のfeature が得られる。(mはpで割り切れる必要あり) 
 !9
  • 10.
    Loss Function • マルチラベル問題における損失関数
 分類で良く用いられているsoftmax関数+cross-entropylossでは なく、提案手法においてはsigmoid関数+binary cross-entropy loss(BCE)を用いる。マルチラベル問題ではBCEを用いたほうがよ い性能を示す研究が報告されているため。 !10
  • 11.
    Hidden Bottleneck Layer •Dynamic max pooling層とoutput層 の間に、それらより小さいユニット 数を持つ層「Hidden Bottleneck Layer」追加する。 理由 1. XMTCではDynamic max pooling層と output層のユニット数が多いため、これ らを直接つなぐとモデルサイズが大きく なる(O(pt×L))。この仕組を入れると O(h×(pt+L))とすることができる。
 2. Hidden Bottleneck Layerがないと、非 線形な隠れ層1層のみになるため、文書 の表現力や分類性能が不十分である。
 !11 p :dimension of dynamic max pooling layer t : number of filter L:dimension of output layer h: dimension of hidden bottlneck layer
  • 12.
    Experiments • Datasets • EvaluationMetrics • Main Results • Ablation Test • Efficiency and Scalability !12
  • 13.
    Datasets • Deep系手法については訓練データの25%をvalidation set、
 残り75%をtrainingsetとして利用。 !13 訓練 データ数 テスト データ数 特徴量 次元数 クラス ラベル数 文書あたり 平均ラベル数 ラベルあたり 平均文書数 訓練データ 平均単語数 テストデータ 平均単語数
  • 14.
    Evaluation Metrics • マルチラベル分類の性能を測る指標で計測 •Precision at top k (P@K)
 推定結果上位k個について、どれだけ正解しているかを示す指標。 • Discounted Cumulated Gains at top k (DCG@K)
 推定結果上位k個まで各ランクの正答を測る。上位が正解するほど高得 点。 • Normalized Discounted Cumulated Gains at top k (NDCG@K)
 DCG@Kを正規化した指標。0~1で表現。 !14 1st 2nd 3rd 4th 5th P@3= 1 3 ≈ 0.33 P@5 = 3 5 = 0.6 NDCG@3= 1 log2 (1+1) + 0 log2 (1+ 2) + 0 log2 (1+ 3) log2 (1+1) + log2 (1+ 2) + log2 (1+ 3) ≈ 1 1 + 0 1.58 + 0 2 1 1 + 1 1.58 + 1 2 ≈ 0.46
  • 15.
  • 16.
    Main Results -NDCG@K !16
  • 17.
    Ablation Test • keyattributeのそれぞれが性能向上への寄与を確認 • v1 loss function • v2 loss function + hidden layer • v3 loss function + hidden layer + max pooling layer (=XML-CNN) !17
  • 18.
    Efficiency and Scalability •Efficiency
 計算機のスペックが手法によってことなるため単純に比較できないが、
 処理効率の実験を行った。 • CPU (Non Deep系手法)
 Intel Xeon CPU E5-2630v3, 2.40GHz, 192GB memory • GPU (Deep系手法)
 Nvidia GTX TITAN X !18
  • 19.
    Efficiency and Scalability •Scalability
 各手法において、カテゴリ数の変化に 応じて学習時間がどのように推移する かを計測。Wiki500Kのカテゴリ数を
 1, 5, 10, 25, 50%でサンプリングして 実施。ただし、サンプルしたカテゴリ データに関連するデータのみ利用する ため、カテゴリ数が増えるほど訓練デー タ数も増える。
 
 SLEEC, Bow-CNN, PD-Sparseでは、メ モリ不足で実験が途中までしか行えな かった。(これまでの実験でSLEECが処 理できていたのはすべての特徴量を利 用していたのではなく5000次元まで 削減していたため。) !19
  • 20.
    Conclusion • extreme multi-labeltext classificationにおいてdeep learningを用いた結果、6つのベンチマークにおいて1,2位 の性能を示した • dynamic max poolingによって豊富な情報量の取扱い, binary cross-entropy lossによるmulti-label問題への対応, hidden bottleneck layerによるモデルサイズの削減を
 実現した !20
  • 21.
    My Question • Dynamicmax pooling • filterを一つづつずらしていないが、contextualな情報を獲得で きているのか? • Convolution • Workshop on Extreme Classification at NIPS 2017で
 発表された資料ではword embedding方向にfilterを
 スライドさせていたが、論文の図と異っている?(6:46~)
 →SIGIRに投稿されてからNIPSで発表するまでに手法の改良が 行われたよう。文書中全体の単語を考慮した特徴を用いたい
 ねらいがあるよう。 !21
  • 22.
    References • Jingzhou Liu,Wei-Cheng Chang, Yuexin Wu, Yiming Yang. 2017. Deep Learning for Extreme Multi-label Text Classification • Yoon Kim. 2014. Convolutional Neural Networks for Sentence Classification • Extreme Classification 2017: Deep Learning Approach for Extreme Multi-label Text Classification • eXtreme Classification !22
  • 23.