Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Set Transformerによるファッションコーディネート選択 / Set Transfo...

Yuki Saito
March 05, 2019

Set Transformerによるファッションコーディネート選択 / Set Transformer for Coordinating Outfits

発表資料 version 8.
中村拓磨, 斎藤侑輝. (2019) “Set Transformerによるファッションコーディネート選択”, 情報論的学習理論と機械学習研究会 (IBISML), 2019.

Yuki Saito

March 05, 2019
Tweet

More Decks by Yuki Saito

Other Decks in Science

Transcript

  1. Copyright © ZOZO Technologies, Inc. All Rights Reserved. ZOZO Research

    中村拓磨, 斎藤侑輝 Set Transformerによる ファッションコーディネート選択 1/40
  2. Yuki Saito 2019/1/1 ZOZO Research (ZOZO technologies, Inc.) 入社 ~

    現職 リサーチサイエンティスト 2012/4/1 キヤノン株式会社 本社R&D部門 入社 ~ 2018/11/30 退職 2015/10/1 総合研究大学院 入学 (福水研究室) 専門: 深層学習, カーネル法 (とくに教師ありクラスタマッチング) 応用: 映像認識,行動認識,隕石・惑星科学,ファッションデータ 2/40
  3. ファッションデータの面白さ・難しさ • Outfitはアイテムの集合体 アイテムの組み合わせがOutfitの属性を生み出すが,そこにどのような構造があるかまだ誰も知らない. データサイエンスと現代ファッション史の文理融合領域. • 不定形に推移する属性 Outfitのスタイル属性(教師ラベル)は時代とともに推移・変容する. ファッションそのものだけでなく,分野外からの影響によるトレンド変化もある (e.g.,

    染料の収穫高→来年の色). • 民主主義的な多義ラベル Outfitは頻度ヒストグラムを持つ多義の属性から定まる. • 少数だが強い影響力を与えるサンプルが存在する ファッションリーダは統計的には数が少ないが大多数の庶民的なOutfitを引っ張る. しかも代表点ではない! • 負例を作ることが難しい なんにでも組み合わせられるアイテムが存在する. ランダムに集めてきたアイテムを組み合わせたOutfitが”似合わない”とは限らない. 6/40
  4. うまく推薦できると嬉しいが… Recommendation System • 共起性の高いアイテム(同時に購買)の提案 「これを買った人はこれも買ってます」 → 新しいアイテムに対応できない • 共起性の高いアイテム間の類似度が高まる

    ように特徴空間の学習を行い,距離の近さを使う → 同時に買われたもの同士が似合うとは限らない ファッションとして”似合う”か分からない! 8/40
  5. ()の構成の仕方: e.g., Bi-LSTM Learning Fashion Compatibility with Bidirectional LSTMs (Han

    et al., ACM MM'17) Con: 順序を含めて学習している(必要以上に複雑な問題を解いている). 12/40
  6. ()の構成の仕方: Permutation Invariant Function 1 , … , = 1

    , … , . 要素同士を入れ替えても同じ出力が得られる集合データに適した関数: (2015) Bilinear cnn models for fine-grained visual recognition. (2017) Mining fashion outfit composition using an end-to-end deep learning approach on set data. (2017) Deep sets. (2018) Set Transformer: A framework for Attention-based Permutation-Invariant Neural Networks. 今回は,近年発表されたPermutation Invariant Functionである Set Transformerをファッションデータに応用するための検討を行った. 13/40
  7. Set Transformer (Lee et al., arxiv2018) Permutation Equivariant Function: Permutation

    Invariant Function: ※今回,Xはアイテム画像をInception-V3モデル で特徴ベクトルに変換したものとする 14/40
  8. Set Transformer (Lee et al., arxiv2018) cont. From Set Transformer

    (Lee, 2018) Self-Attention Block (SAB) Multihead Attention Block (MAB) From Set Transformer (Lee, 2018) LN: Layer Normalization Attention( , , ) 15/40
  9. Set Transformer (Lee et al., arxiv2018) cont. Attention Is All

    You Need (Vaswani et al., 2017) → ω s.t. • 足して1 • 非負 これをかけることで Vの要素の重み付き平均になる! Query-Key-Valueモデル: ※実際は行列 16/40
  10. Set Transformer (Lee et al., arxiv2018) cont. From Set Transformer

    (Lee, 2018) Self Attention Block (SAB) Multihead Attention Block (MAB) From Set Transformer (Lee, 2018) Subspace上の重み付き平均を複数パタンとり非線形変換を繰り返す処理 18/40
  11. Set Transformer (Lee et al., arxiv2018) cont. From Set Transformer

    (Lee, 2018) Self Attention Block (SAB) Multihead Attention Block (MAB) From Set Transformer (Lee, 2018) 学習可能な変数SをクエリとしてEncoderの特徴ベクトルの 重み付き平均を計算し,非線形変換する処理 MABは内積なので ෠ の要素間を入れ替えても不変 →Decoder(Encoder(X))は入力Xに対してPermutation Invariant ※今回はMABではなくMultiheadを使用 19/40
  12. Permutation Equivariant, InvariantはAttention関数によって決まる Attention , , = softmax = ω

    = ω 1 ⋮ 1 ⋯ 1 ⋮ = ω 1 ∙ 1 1 ∙ ⋱ ∙ 1 ∙ 1 ⋮ = ω 1 ∙ 1 1 ∙ ⋱ ∙ 1 ∙ 11 1 ⋱ 1 = ω 1 ∙ 1 11 + ⋯ + ω 1 ∙ 1 ω 1 ∙ 1 1 + ⋯ + ω 1 ∙ ⋱ ω ∙ 1 11 + ⋯ + ω ∙ 1 ω ∙ 1 1 + ⋯ + ω ∙ = ෍ =1 ω 1 ∙ 1 ෍ =1 ω 1 ∙ ⋱ ෍ =1 ω ∙ 1 ෍ =1 ω ∙ = ෍ =1 ω 1 ∙ 1 ෍ =1 ω 1 ∙ ⋱ ෍ =1 ω ∙ 1 ෍ =1 ω ∙ ※ , , はベクトル, , , はスカラー, = ()はpermutation関数 1. Encoderで用いるAttention関数の場合 はから求まる. の要素の順序を変えると Attention関数の = 1 , ⋯ , の順序(行方向の順序)も変わる. よってEncoderは入力に関してPermutation Equivariantである. 2. Decoderで用いるAttention関数の場合 , はから求まる. の要素の順序を変えるとAttention関数の, の要素の順序が変わる. しかし,任意のpermutation関数をとってもAttention関数の値は不変であることから, Decoderは入力に関してPermutation Invariantである.
  13. 埋め込み特徴量ベース類似度は工夫が必要 argmax Decoder′ Encoder , { } Attention′ { },

    , = 1 Attention { }, , = softmax とは無関係な の場合(Fill in the blankでのランダムサンプリング), 類似しない に対してもの重み付き平均で表現してしまうので破綻する ( にまったく類似しない場合と, のすべてに類似する場合, 同じ重みになる).ここが翻訳タスクとFill in the blankが異なる点! よってたんに重み付き和を使う. は のサンプル数. 23/40
  14. 使用するデータセット 2016 年1 月1 日~2018 年1 月1 日の間に 投稿されたコーディネートを使用 投稿者以外のユーザから50

    回以上の投 票がなされたものを抽出. 199,792 種類のアイテムからなる88,674 パタンのコーディネートを含み,このうち 70,997 パタンを学習用にし,8,842 パ タンを評価用に分割を行った. 29/40
  15. 実験環境 Chainerを用いて実装を行い,Amazon SageMakerを使用して学習を行った. 1xK80 12GB memory 8xK80 96GB memory 16xK80

    192GB memory 1xV100 16GB memory 4xV100 64GB memory 8xV100 128GB memory 学習に一週間弱 30/40
  16. 推薦アイテム候補数 (Yのサイズ) FITBfour FITBfive FITBeight Input One 0.774 0.546 0.425

    Parameter S 0.778 0.544 0.423 Set Transformer 0.774 0.537 0.410 Input Y 0.763 0.519 0.396 Fill in the blank accuracy (60 epoch) Input One: argmax Decoder Encoder , , { } Parameter S: argmax Decoder Encoder , , { } argmax Decoder′ Encoder , Input Y: 実験結果: 構成の比較 Set Transformer: Parameter SのDecoderにMABを使用 実は,構成をシンプルにしても(したほうが)性能がでる 31/40
  17. おわりに Set Transformerを用いてファッションデータにおける • Fill in the blank問題 • コーディネート生成問題

    に適用できることを示した. 今後はファッションの専門家にコーディネート生成結果を見せて,どの程度実用的 なのか評価する予定. 原理的には筋の良い技術であると考えられるため,今後様々な応用への拡張が 考えられる. 40/40