Slide 1

Slide 1 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. ZOZO Research, 総合研究大学院大学 斎藤侑輝 置換不変ニューラルネットワークによる 集合データマッチング 1/56

Slide 2

Slide 2 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. Yuki Saito 2019/1- ZOZO Research 2015/10- 総合研究大学院大学 (福水研究室) 2012/4-2018/11 キヤノン株式会社 専門: 深層学習, カーネル法 (とくに教師ありクラスタマッチング) 応用: 映像認識,行動認識,隕石・惑星科学,ファッションデータ 2/56

Slide 3

Slide 3 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. Collaborators 中村拓磨 ZOZO Research 八谷大岳 和歌山大学 講師 理化学研究所 客員研究員 (株)サイバーリンクス 顧問 福水健次 統計数理研究所 数理・推論研究系 教授 統計的機械学習センター センター長 総合研究大学院大学 教授 (株) Preferred Networks テクニカルアドバイザー 3/56

Slide 4

Slide 4 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. Motivation User’s items User 提案 「あなたの服に似合うと思います」 Item Database Item Database 4/56

Slide 5

Slide 5 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. Our Target Reference items 候補 1 候補 2 候補 3 Reference itemsと各候補のマッチングを考え,一番よい候補を選択 5/56

Slide 6

Slide 6 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. , , , コーディネートは集合データ アイテム同士を交換しても不変 6/56

Slide 7

Slide 7 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. , コーディネートは集合データ アイテムの数/種類が増減してもよい(自然に扱える) 7/56

Slide 8

Slide 8 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. コーディネートは集合データ , , , , , , , , , + = コーディネートの部分集合の合成/分割を自然に行える 8/56

Slide 9

Slide 9 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. コーディネートは集合データ ቄ ቅ , , , , , , , , , , , コーディネートのMixtureを柔軟に持てる ⋯ 9/56

Slide 10

Slide 10 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 集合間のマッチング (Set-to-Set Matching) 集合 = (1), (2), (3) Matching Matching Matching Reference items 候補 1 候補 2 候補 3 10/56

Slide 11

Slide 11 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 集合間のマッチング (Set-to-Set Matching) 目的関数: max , where ∈ 1, … , 関数は集合間の ”似合う度合い” を測る関数. 11/56

Slide 12

Slide 12 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 集合間のマッチング (Set-to-Set Matching) 関数は以下の性質を持つ. • 集合内の置換不変性 (交換可能性) , = , • 集合間の置換不変性 (交換可能性) , = , , : permutation functions on 1, … , and 1, … , = 1 , … , , = 1 , … , , ∈ = ℝ where ∈ 1, … , and ∈ 1, … , , は集合ごとに可変 , は特徴ベクトル(CNN特徴量) は学習可能な重みパラメータを持った関数 CNNと関数はend-to-end学習可能(教師あり学習を行う) 12/56

Slide 13

Slide 13 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. コーディネート集合のマッチングの難しさ ”似合う度” a.k.a. Visual Compatibility を精度よく計算するために,アイ テム間のインタラクションに基づいて特徴抽出することが必要. Well Matched? Well Matched? 置換不変性だけでなくインタラクションの考慮が求められる. 13/56

Slide 14

Slide 14 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 基本構成要素 , ≔ CrossSimilarity CrossSetTransformation , 集合マッチング特徴抽出: × → × “似合う度”計算: 2 × 2 → ℝ 特徴抽出,スコア計算の二つのモジュールを提案する. これらが全体として置換不変でなければならない. , は可変なので厳密には ∗ × ∗ → ∗ × ∗, where ∗ ∈ ራ =1 ∞ 14/56

Slide 15

Slide 15 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. アーキテクチャの具体例 集合マッチング特徴抽出: CrossSetTransformation “似合う度”計算: CrossSimilarity 0 , 0: CNN (Convolutional Neural Network)特徴量の集合 Enc: 集合特徴量Encoder (後述) CS: Cross Similarity Function FC: 全結合層 15/56

Slide 16

Slide 16 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. アーキテクチャの具体例(候補の選択部分) , 0 , 1 ⋯ , , 0 , 1 ⋯ , 出力からスコア最大となる 候補を選択 集合の組(候補)を入力 目的関数: max , where ∈ 1, … , 関数は集合間の ”似合う度” を測る関数. 16/56

Slide 17

Slide 17 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. Cross-Set Transformation このとき: ∗ × ∗ → ∗ はpermutation equivariant function であればよい (後述) 17/56

Slide 18

Slide 18 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. Cross-Set Trans.を構成する関数 Attention-based function (on -th layer): Affinity-based function (on -th layer): ,+1 = 1 ෍ ∈ 1 , T 2 + 3 ,+1 = 1 2 1 , + 1 ෍ ∈ 1 , T 2 + 2 = , where ∈ ℝ× Non-rich interactions (on -th layer): ,+1 = , + 1 ෍ ∈ 18/56

Slide 19

Slide 19 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. Attention Function (Vaswani2017) ではうまくない Attention function: ,+1 = Softmax 1 , T 2 1, , ⋯ , 1 , T 2 , T = 3 1, , ⋯ , 3 , ∈ ℝ×, = 私 は 元気 I’m pretty good . Softmax Function Softmax Function 1対1または重み付き平均によって対応がとれる単語が存在する 英→日 文章翻訳 (うまくいく) 私 は 元気 You’re already dead . Softmax Function Softmax Function 対応のとれないmatching候補(英文)が存在する 正しい対応関係でないmatching (うまくいかない) です 。 対応がとれないのに 重みが大きくなり破綻! (e.g.,すべてが遠い場合と 近い場合とで同じ重みになる) 19/56

Slide 20

Slide 20 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. Multihead Structure (Vaswani2017) の導入 , 1 , 2 … , ℎ , Concatenate +1 低次元写像 , , ,+1 ∈ ℝ 20/56 FC

Slide 21

Slide 21 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. Residual Path (He2015) の導入 21/56 , 1 , 2 … , ℎ , Concatenate +1 FC +

Slide 22

Slide 22 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 非線形変換の導入 22/56 , 1 , 2 … , ℎ , Concatenate +1 FC + について2層非線形変換

Slide 23

Slide 23 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 集合マッチングスコア (“似合う”度)の計算 Cross similarity (CS) function: 2 × 2 → ℝ+ Multiple cross-similarity (mCS) function: 2 × 2 → ℝ 23/56

Slide 24

Slide 24 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 教師あり学習 • スコア最大化ではなくロス最小化として誤差逆伝播法で解く e.g., min ,,,CNN SoftmaxWithLoss 1 , (1,1), … , (1,)| , , , CNN +SoftmaxWithLoss 2 , (2,1), … , (2,)| , , , CNN + ⋯ +SoftmaxWithLoss , (,1), … , (,)| , , , CNN あるに対して個のを用い, が個あるとすると,合計個の 集合を用意しなければならないため,効率が悪い 24/56

Slide 25

Slide 25 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. K-Pair-Set学習 min ,,,CNN SoftmaxWithLoss 1 , 1 , … , | , , , CNN +SoftmaxWithLoss 2 , 1 , … , | , , , CNN + ⋯ +SoftmaxWithLoss , 1 , … , | , , , CNN 真のペア , がただ一つ存在するという前提のもと, それぞれの真のペアから選択肢を構成することで学習効率化が可能 N-pair loss (Sohn, NeurIPS2016) の集合版 25/56

Slide 26

Slide 26 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. K-Pair-Set学習 26/56

Slide 27

Slide 27 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. Triplet学習 min ,,,CNN TripletLoss 1 , 1 , Neg1 | , , , CNN +TripletLoss 2 , 2 , Neg2 | , , , CNN + ⋯ +TripletLoss , , Neg | , , , CNN データセットが大きくなければTriplet Lossによる学習も可能だが, 経験的には学習の収束が遅い 27/56

Slide 28

Slide 28 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. Background: 置換不変性 (交換可能性) 特徴抽出器 ෠ : ∗ × ∗ → ∗ × ∗ 特徴抽出器 : ∗ × ∗ → ∗ × ∗ 対称関数 : 2 × 2 → ℝ 集合間の交換可能性について. 一般の関数は交換不能 ෠ , ≠ ෠ , . Two-set-permutation equivariantな関数なら全体として交換可能: , = , 28/56

Slide 29

Slide 29 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. Background: 置換不変性 (交換可能性) 具体的な関数は,二つの関数からなる関数とする. : ∗ × ∗ → ∗ ここで,出力の次元数は 入力の第一変数の次元数と同じ , = , |A , , |B , |A , |B 29/56

Slide 30

Slide 30 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. Background: 置換不変性 (交換可能性) 前出の , = , より, , |A , , |B = , |A , , |B が満たされなければならない. は交換可能(対称関数)なので, , |A , , |B = , |B , , |A つまりA = B でなければならない. Cross-set Transformationのweight-sharingは構成要件の一つ. 30/56

Slide 31

Slide 31 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 集合内の交換可能性について. • Permutation Invariant Function (one-set input) • Permutation Equivariant Function (one-set input) Background: 置換不変性 (交換可能性) → = = → → ※提案手法における2変数の関数に関しては,2つ目の入力集合に対してPermutation Invariantであるとする. 31/56

Slide 32

Slide 32 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. Background: 置換不変性 (交換可能性) はpermutation invariantな関数である. がpermutation equivariantな関数であるとき, 自明な性質として合成関数 ∘ はpermutation invariantとなる. 32/56

Slide 33

Slide 33 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 比較手法1: 集合特徴量を使わずにどこまでできるか? • HAP2S: Hard-aware point-to-set deep metric for person re-identification (Yu, ECCV2018). テスト時は集合間の各要素の二乗誤差にマイナスをかけた値をスコアとして用いる. 置換不変で特徴抽出に集合間のインタラクションはなし. 33/56

Slide 34

Slide 34 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 比較手法2: 集合間のインタラクションなしにどこまでできる? • Set Transformer: A Framework for Attention-based Permutation-Invariant Neural Networks (Lee, ICML2019). 学習・テスト時には,各集合単独にSTを適用して,特徴量集合をベクトルに変換する.ベクトル間の内積をスコアとする. 2つの置換不変性を満たすが特徴抽出に関して集合間のインタラクションはなし. 2層のEncoderと1層のDecoderを使用. 集合関数のSOTA 34/56

Slide 35

Slide 35 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 比較手法3: 流行りのBERTはどこまでできる? • BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (Devlin, Arxiv2018). 集合との和集合を入力し,Segment Embeddingsのみ用いる.学習条件を揃えるためBERTのPre-trainingはなし. 集合間で置換不変でない(集合内では置換不変)が集合間のインタラクションはある. Set Transformerと祖先が同じ手法. 言語分野で非常によく引用されているSOTAの一つ BERTSMALL 提案手法と同程度のパラメータ数; 2層encoder,特徴量512次元 BERTBASE 上記論文に記載の設定 BERTBASE-AP 上記論文に記載の設定で,出力層はaverage pooling 実験バリエーション 35/56

Slide 36

Slide 36 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 比較手法4: Graph Neural Networkはどこまでできる? • GNN: Context-Aware Visual Compatibility Prediction (Cucurull, CVPR2019). 集合との和集合を入力し,学習時には隣接行列を回帰する. テスト時には全エッジから計算するcompatibility scoreを用いる. ただし評価シナリオを揃えるためContextは用いない. 集合間は置換不変でない(集合内では置換不変)が集合間のインタラクションはある(もはや集合ではないが). 公開されている論文・実装がCNN特徴量のfinetuningを含まない. 36/56

Slide 37

Slide 37 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 提案手法の構成 Set Transformerの Encoder Set Transformerの Encoder 関数はAttention-basedかAffinity-basedかのいずれかを用いる. 37/56

Slide 38

Slide 38 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 学習データの作り方 投稿された中から評価の 高い88,674個のコーディ ネート (199,792個のアイテ ムを含む)を利用. コーディネートデータ分割: • 70,997 for training • 8,842 for validation • 8,835 for testing 実際の購買データなどから”似合う”を学習・評価することは難しい. そこで弊社サービスのIQONに投稿されたコーディネートを用いて学習・評価する. https://www.iqon.jp/ 38/56

Slide 39

Slide 39 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 学習データの作り方 • Subset Matching Random-Split ※K個の候補すべてがと同じカテゴリのアイテムを持つように分割する : : 今回求めたいのは逆写像 (reconstruction). • コーディネートの特徴量が部分集合に分割されても残っている • Matchingの過程でインタラクションに基づいてうまく特徴抽出される ことによって,元のコーディネートをreconstructionできるはず. 評価の高いコーディネート Positive Pair 39/56

Slide 40

Slide 40 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 学習データの作り方 • Superset Matching ※カテゴリは考慮しない 各集合をランダムに等分割し,分割された集合の和集合を入力データとする. : : ∪ ∪ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ Random-Split ランダムに合成されたコーディネートの mixtureを考える 40/56

Slide 41

Slide 41 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. Subset/superset matching: 詳細な構成・学習法(共通) CNN特徴量はILSVRC-2012で学習したInception-V3のglobal average pooling結果を,512次元に線 形写像したものを用いる (BERTBASE とBERTBASE-AP は768次元). CNNは同時に学習する (GNNでは固定). 学習時に集合内のアイテムと集合間をランダムに置換して水増しのように学習する.置換不変でな い手法もこの学習法によって学習データのバリエーションを確保できる. 学習はMomentum SGD. Subset matchingはTriplet-loss,superset matchingはK-pair-set lossで学習. 詳細は論文を参照のこと. https://arxiv.org/abs/1910.09972 41/56

Slide 42

Slide 42 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 実験結果 (accuracy) 提案手法 テスト時の候補の数 テスト時のコーディネート mixtureの数 Affinity-based functionを用いた提案手法が最も良い結果になった. 置換不変性とインタラクションを考慮することで大きく精度向上したと考えられる. 42/56

Slide 43

Slide 43 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 実験結果 (subset matching結果の可視化) 関数で計算された非負の重みを見ると,正しい集合同士のペアでは 比較的大きくなる傾向があった(正規化して表示) → インタラクションが効いている? 43/56

Slide 44

Slide 44 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 実験結果 (subset matchingの例:左端が正解) Set Transformer 44/56

Slide 45

Slide 45 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 実験結果 (subset matchingの例:左端が正解) 45/56

Slide 46

Slide 46 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 実験結果 (subset matchingの例:左端が正解) 46/56

Slide 47

Slide 47 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 実験結果 (subset matchingの例:左端が正解) 47/56

Slide 48

Slide 48 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. Superset Matchingでの認識結果は人間では理解困難なため省略 48/56

Slide 49

Slide 49 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 集団間マッチング(Group Re-Identification)への応用 49/56

Slide 50

Slide 50 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 集団間マッチング 例えば既知の指名手配犯グループや不審者グループを探したい要求が応用上考えられる. 様々な角度から人物をとらえた画像が複数あり,人体検出器によってあらかじめクロップされているとする. このとき,集団は画像の集合で表すことができ,集合データマッチングによって集団間マッチングは実現可能. Group Re-identification via Transferred Single and Couple Representation Learning (Huang, Arxiv2019) 50/56

Slide 51

Slide 51 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 集団間マッチング: データセット Market-1501を使用 (Zheng, ICCV2015).元々ReID向けデータセットだが,set-to-set matching向けに改造する. Dataset Splitは著者らのものを使用.カメラ情報は無視した. 応用上,人体検出器などのエラーによって誤った人物が混入する可能性がある. 各手法のノイズ耐性を調べるために,一定の割合でノイズとなる人物を混入させる. 人物ごとに3枚の画像を使用 51/56

Slide 52

Slide 52 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 集団間マッチング: 構成・学習法 基本はsuperset matchingと同じ. • CNNは単純な4層ニューラルネットワークを用いた (pre-trainingなし) • pre-trainingなしのCNNを用いるのでGNNはCNNと同時に学習 • 混入させるノイズの割合ごとに学習・評価 52/56

Slide 53

Slide 53 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 集団間マッチング実験結果 (accuracy) 提案手法が最も良い結果になった.ノイズ量が増えても精度が比較的高い. ここでも置換不変性とインタラクションを考慮することで精度・ノイズ耐性が向上したものと考えられる. ノイズがない場合は,おそらく特徴ベクトルの平均をとるだけで上手くマッチングができる簡単なケースになっている. 53/56

Slide 54

Slide 54 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 提案手法によってどうノイズ耐性が向上するか? Well Matched? Well Matched? 特徴抽出時のインタラクションによって重み(係数)が0になり, ノイズの影響力が減退するのではないか(未確認) 54/56

Slide 55

Slide 55 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. 集団間マッチング実験結果: 各モジュールが精度にどう効くか? もとの提案手法 Multiple Cross Similarity Functionではなくpoolingを使用 Multiple Cross Similarity Function内のReLUを不使用 Cross-set Transformationを 不使用 • 提案手法の出力層にあたるCross Similarity計算の非線形性が重要 • Cross-set Transformationが最も重要(インタラクションが大事) 55/56

Slide 56

Slide 56 text

Copyright © ZOZO Technologies, Inc. All Rights Reserved. おわりに • 二つの置換不変性と集合間インタラクションに基づく特徴抽出を同時に達成するSet-to-set matching手法の提案を行った • ファッションコーディネートおよび集団人物間のマッチングの実験を通して,SOTAと比較して提案 手法の精度が良いことを確かめた.また,ノイズ耐性について実験的に検証を行い,提案手法が よい結果を得られることを確認した • 上記の実験およびablation studyを通して,置換不変性やインタラクションに基づく特徴抽出が重 要であることを確認し,提案手法の有効性を確認した 56/56