ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [GNN] NGNN 논문 리뷰
    Deep-Learning/[Vision] 논문 리뷰 2021. 4. 5. 16:02
    - Dressing as a Whole: Outfit Compatibility Learning Based on Node-wise Graph Neural Networks
    - 해당 논문은 2019년에 "Zeyu Cui et al."이 제안
    - 출판한지 2년이 지났음에도 Polyvore task(Recommendation task)에서 SOTA를 기록
    링크: dl.acm.org/doi/pdf/10.1145/3308558.3313444
     

    Dressing as a Whole: Outfit Compatibility Learning Based on Node-wise Graph Neural Networks | The World Wide Web Conference

    ABSTRACT With the rapid development of fashion market, the customers' demands of customers for fashion recommendation are rising. In this paper, we aim to investigate a practical problem of fashion recommendation by answering the question “which item sho

    dl.acm.org

    0. 목적

     본 논문의 목적은 Fill-in-the-blank에 GNN을 적용하여 제품을 추천하는 것을 목적으로 한다. 즉, N-1개의 input이 주어지면, 1개의 상품을 맞추는 IR task이다.

     

    1. INTRO

     먼저, Outfit 호환성 문제가 무엇인지와 어떻게 이 문제를 그래프 추론 문제로 접근할 수 있는 것인지 알아보자

     

     Proper outfit은 사람의 아름다움을 향상시키고 개성을 표현할 수 있다. 하지만, 모든 사람들이 패션 개성을 가지고 있는것이 아니며, 대부분의 사람들이 적합하고 아름다운 outfit을 만들어내는 것을 힘들어한다.

     이 문제를 해결하기 위해서는 인간의 호환성 개념을 모델링해야한다. 본 논문은 사람들이 적절한 의상을 만들 수 있도록 효과적인 방법을 제안한다.

     

     과거에는 딥러닝 기반의 Outfit 호환성 학습 방법은 두 개의 item의 호환성에 중점을 두었다. siameseCNN을 활용한 연구와 Low-rank Mahalanobis Transformation을 활용한 연구가 있다. 최근에는, 여러 item을 style space에 매핑하여 호환성을 모델링하는 연구가 활발하다. 특히, 의상의 궁급을 직접 측정하는 몇 가지 관련연구가 있다. 의상을 시퀀스로 표현하고 호환성을 모델링하기 위해 RNN을 적용한 연구(논문에서 RNN을 활용한 연구의 ref를 7개나 달았음)가 있으며, Bi-LSTM을 사용하여 주어진 모든 input이 시퀀스를 고려한 연구가 있다.

     

     Outfit 호환성 모델링 작업을 위해 적절한 outfit representation이 필요하다. 이전 연구들은 두 종류의 outfit representation을 활용했다. 그림 1에서 (a)는 의상을 개별적으로 pair로 표현한 것인데, 이는 여러 item 간의 복잡한 관계를 반영할 수 없게 되며, (b)는 시퀀스 표현 측면에서 항목의 고정된 순서가 존재하지 않는다. 특히, item이 시퀀스의 이전 또는 후면 아이템과 관계가 있기 때문에 의상 간의 관계가 정렬되지 않는다는 것이다. 이것을 해결하기 위해 본 논문은 Graph representation을 제안한다.

    Fig. 1. Different representations of an outfit.

     논문은 Polyvore 데이터 세트를 기반으로 패션 그래프를 구성하며, 구성한 그래프는 다음과 같다.

     1. 각 노드는 카테고리 (여기서 말하는 카테고리는 outfit에 따르는 각 의상을 의미)
     2. 각 엣지는 두 노드 간의 interaction (두 카테고리가 일치하는 관계인 경우(즉, 동일한 outfit 선상에 있는 경우), 두 카테고리 간에는 interaction이 존재해야한다.)
     3. 각 엣지는 interaction이 달라야하기 때문에 양방향이 단방향성 (예를 들어, 신발에 어울리는 양말 한 켤레를 선택할 수 있지만 양말용 신발은 선택하지 않을 수 있다.)
     4. 호환되는 의상에는 하나의 key property만 존재해야 한다. 즉, 겹치는 카테고리가 존재해서는 안됨.

     따라서, 각 item을 위의 구성에 따라 노드에 배치하면 Outfit을 패션 그래프의 하위 그래프로 표현할 수 있다. 즉, Outfit 호환성 모델링 작업은 그래프 추론 문제로 변환될 수 있다.

     

     그럼 이제 Outfit 호환성 문제를 그래프 추론 문제로 접근할 수 있음을 증명하였으니, 과거 연구들은 어떤 문제가 있었고, 어떻게 모델링할 것인지 살펴보자

     

     GNN은 그래프 구조 데이터에 신경망을 적용하는 접근 방식으로써, 방향성의 유무 및 순환 그래프를 대부분의 그래프에 적용할 수 있다. 하지만, GNN은 Propagating할수록 정보 손실 문제를 발생하며, 이를 해결하기 위해 GNN에 GRU를 도입하여 GGNN(Gated Graph Neural Network)가 제안되었다. 그럼에도 불구하고, GGNN에서 노드는 고정된 방식으로 엣지에서 상태 정보를 전달하여 다른 노드와 interaction하기때문에 유연하고 복잡한 노드의 interaction을 모델링하는데 어려움이 존재한다.

     

     이러한 한계를 해결하기 위해 본 논문은 더 나은 interaction 작용과 그래프의 호환성을 위해 새로운 모델 NGNN을 제안한다. NGNN에서는 각 엣지 상태의 communication이 기존 GNN과 다르다. NGNN의 특징은 다음과 같다.

     

     1. 두 노드가 엣지에서 상태 정보를 전달할 때, 두 노드와 관련된 매개 변수에 의해 결정된 변환 함수에 의해 변환한다.

     2. 1.의 방식으로 NGNN은 노드 별 매개 변수를 사용하여 edge별 interaction을 모델링 할 수 있다.

     3. 수많은 edge에 대응되는 NGNN의 매개 변수로 인해 기존 GNN의 매개 변수 공간에 비해 크게 줄일 수 있다.

     4. train 과정에서 NGNN은 매번 부분 그래프의 노드만 처리하기 때문에 시간 복잡성이 줄어든다.

     5. 모델을 학습할 데이터가 더 많을 때 edge나 다른 노드를 변경하지 않고 이러한 관련 노드의 매개 변수만 업데이트 하면 응용 측면에서 효과적이다.

     5. 학습된 노드 표현으로 attention mechanism을 사용하여 의상 호환성 score로 사용할 graph-level 출력을 계산한다. 

     

     

    Fig. 2. Overview of the proposed method.

     제안하는 방법의 프레임워크는 Fig 2이다. NGNN에 대한 두 개의 입력 채널을 사용하여 visual and textual 양식에서 의상 호환성을 공동으로 모델링하는데 사용 할 수도 있다.

     1. 먼저, 의상을 subgraph로 표현할 수 있는 Fashion Graph를 구성

     2. 그런 다음, 제안된 NGNN을 사용하여 노드 Interaction 작용을 모델링하고 node representation을 학습한다.

     3. 마지막으로, attention layer를 사용하여 graph-level 수준 출력을 계산하여 호환성 점수(compatibility score)를 예측한다.

     

    본 논문은 두 가지 작업에 대한 실험을 수행한다.

     1. Fill-in-the-blank: 기존 의상 구성 요소와 일치하는 항목을 제안한다.

     2. Compatibility prediction: 주어진 의상의 호환성 점수를 예측한다.

     

    본 논문의 기여는 다음과 같다.

    1. 우리가 아는 한, 의상을 그래프로 표현하려는 첫 번째 시도로, 의상의 여러 항목 간의 복잡한 관계를 더 잘 포착 할 수 있습니다.

    2. 그래프에서 노드 상호 작용을 더 잘 모델링하고 더 나은 노드 표현을 배울 수있는 새로운 모델 NGNN을 제안한다.

    3. Polyvore dataset을 활용한 FITB task에서 SOTA model이다.

     

     

    2. DATASET AND FEATURES

     이 섹션에서는 사용하는 데이터 셋(Polyvore)과 제안하는 방법의 입력으로 사용되는 item의 visual and textual feature를 추출하는 방법을 소개한다.

     

    2.1. Polyvore dataset

     

    Fig. 3. Examples of outfit composition on polyvore.com

     

     Polyvore datset은 polyvore.com에서 수집된 데이터 셋으로써, 자신이 만든 outfit을 공유하는 온라인 쇼핑몰이다. 그림 3에서 볼 수 있듯이 의상의 아이템은 clear image, 카테고리 정보, 제목, 좋아요 수 등 풍부한 정보를 가지고 있다. 본 논문에서는 item의 이미지, 제목, 카테고리 정보만을 활용한다.

     본 데이터 셋은 17,316개의 train set, 1,497개의 val set, 3,076개의 test set으로 이루어져 있으며, 380개 카테고리를 포함하는 총 21,889개의 의상이 존재한다. train quality를 보장하기 위해, 본 논문은 100개 이상의 item이 존재하는 상위 120개의 카테고리만 사용하여 총 16,983개의 train outfit set, 1,497개의 val outfit set, 2,697개의 test outfit set(총 126,054개의 item)으로 실험을 진행한다. 한 개의 outfit에 존재하는 item의 최대 개수는 8개이며, 평균 item의 개수는 6.2개이다.

     

    2.2. Features

     본 논문은 item의 이미지를 사용하여 visual feature를 추출하고, polyvore dataset에서 제공하는 title 정보를 활용하여 textual feature를 추출한다.

     

    2.2.1. Visual Feature

     각 item의 이미지에서 feature를 효과적으로 추출하기 위해 image representation learning에서 효과적인 것으로 입증된 inception-resnet-v1을 사용한다. 특히, item의 이미지를 모델에 공급하고 linear layer 출력을 visual features로 채택하였으며, 각 item의 visual feature는 2048 차원 벡터이다.

     

    2.2.2. Textual feature

     polyvore dataset에 따라, 먼저 데이터 셋의 title의 단어를 기반으로 어휘를 구성한다. 본 라벨은 노이즈가 많아 하단의 전처리를 시행한다.

    1. 5개 미만의 item에 나타나는 단어를 필터링

    2. a, an, de와 같이 무의미한 단어가 많으므로 3자 미만의 단어를 필터링한다.

    3. 2757개의 단어가 포함된 어휘를 얻었기때문에 각 item의 textual feature를 2757 차원 부울 벡터로 표현한다.

     

     

    3. PROPOSED METHOD

     먼저, 본 논문은 문제를 formulate한다. 그 다음, Fashion Graph 및 Outfit compatibility를 구성하는 방법에 대해 소개한다. 또한, NGNN을 사용하여 여러 양식의 Outfit compatibility을 공동으로 모델링하는 방법을 소개하며, train 과정 및 model를 분석한다.

     

    3.1. Probelm Formulation

     본 논문은 outfit의 호환성 모델링을 목표로 하며, 각 formulation은 다음과 같다. 

     

     1) S={s1, s2, s3,...}: training set에서의 outfit set

     2) xs: Outfit compatibility score (score는 패션 추천의 다양한 작업에 사용될 수 있다.)

     3) V: total item

     4) ci: vi의 category

     5) fi: vi의 feature

     6) Fashion Graph에서 ci의 해당 노드는 ni, NGNN에서 노드 ni의 상태는 hi

     

    3.2. Graph Construction

     

    Fig. 4. Illustration of the most popular categories in Polyvore dataset.

     

     그림 4는 Polyvore 데이터 셋에서 가장 인기있는 카테고리를 보여준다. 각 원은 카테고리를 나타내고, 각 링크는 두 카테고리 간의 일치 관계를 나타낸다. (즉, 두 카테고리가 동일한 outfit에서 나타남을 의미) 원의 면적과 링크의 폭은 해당 카테고리의 패션 아이템 수와 카테고리 간 동시 발생 빈도에 비례한다.

     

     그림 4와 유사하게 Fashion Graph G=(N, E)를 다음과 같이 구성한다.

     

     1) 그래프 ni ∈ N의 각 노드는 범주 ci ∈ C를 나타내므로 | N | = | C |

     2) Edge는 노드 간의 interaction을 나타냄

     3) 두 카테고리가 train dataset에서 일치하는 관계를 갖는 경우, 두 방향의 상호작용이 달라야 하기 때문에 Fashion Graph의 두 해당 노드 사이에 역방향으로 두 개의 방향성 edge가 있다. (예를 들어, 양말 -> 신발 ok, 신발 -> 양말 x 일수도 있다는 뜻임)

     

     Train data set에 따라 다음과 같이 방향성 edge의 가중치를 계산한다.

     

    수식1

     여기서, w(ni, nj)는 ni에서 nj까지의 엣지 가중치를 나타내고, (Count ci, cj)는 카테고리 ci 및 cj의 동시 발생 빈도이고, count cj는 카테고리 cj의 발생 빈도이다. 

     

     구성된 Fashion Graph에는 120개의 노드와 12500개의 방향성 및 weighted edge가 있다. 각 item을 해당 노드에 배치하면, 의상을 Fashion Graph의 하위 그래프로 표현할 수 있다. 그런 다음, NGNN을 사용하여 다음 섹션에서 설명하는 sub graph에서 compatibility를 추론한다.

     

    3.3. Node-wise Graph Neural Network

     본 논문의 방법인 NGNN은 3가지의 step으로 구성되어 있다.

     

     1) 초기 노드 상태를 학습하는 것

     2) 노드 interaction 작용을 모델링하고, 노드 상태를 업데이트 하는 것

     3) attention mechanism과 compatibility를 계산하는 것

     

     

    3.3.1. First Step - Learning Initial Node State

     NGNN에서, 노드의 상태를 학습하는 과정은 다음과 같다.

     

     1. 각 노드 ni는 업데이트 되는 hidden state vector hi와 연관된다.

     2. NGNN의 입력은 각 item의 features이다.

     3. 입력으로 하는 feature fi를 d 크기의 latent style space에 매핑

     4. 각 카테고리 ci에 대한 linear mapping matrix "wih"가 존재

     

     따라서, 아래 수식과 같이 latent space에서 item vi의 representation ri를 얻을 수 있다.

     

    수식 2

     그런 다음 얻은 representation을 사용하여 해당 카테고리에 해당하는 노드 ni의 hidden state h0i를 다음과 같이 초기화한다.

     

    수식 3

     

    3.3.2. Modeling Node Interactions

     Node가 통신하는 것을 propagation step이라 하며, 이것을 진행하면 node의 상태가 업데이트된다. 기존 GGNN에서는, propagation step t에서 노드는 이웃 상태의 합계를 아래와 같이 수신(receive)한다.

     

    수식 4

     여기서 Wp 및 bp는 모든 edge에서 shared linear transformation의 weight 및 biases 이다. A는 인접행렬이며, 다음과 같이 계산된다.

     

    수식 5

     기존 GGNN은 동일한 Wp와 bp를 사용하여 서로 다른 노드 간의 interaction을 모델링하였다. 그러나, 복잡한 노드 간의 관계에 대해서는 모델링 하지 못한다는 단점이 있다. 각 edge의 interaction은 달라야하므로 edge 별 interaction이 필수적이며, NGNN은 이 부분에 대해 모델링하는 것을 목표로 한다.

     

     edge 별 interaction을 달성하기 위한 간단한 방법은 edge에 자체 변환 가중치(own transformation weight)와 bias가 있도록 하는 것인데, 그래프에 수많은 edge가 있는 큰 매개 변수 공간이 필요하며, 대규모 그래프에는 이를 적용할 수 없다.

     

     이러한 문제를 해결하기 위해 본 논문은 각 노드 ni에 대한 출력 행렬 Wiout과 입력 행렬 Wjin을 두었으며, ni에서 nj로 가는 edge의 변환함수는 다음과 같이 정의한다.

     

    수식 6

    따라서, 수식 4에 나타난 state information 변환 함수는 다음과 같이 재정의할 수 있다.

     

    수식 7

     state information ati를 받은 후, 노드 ni의 상태는 다음과 같이 업데이트 된다.

     

    수식 8~11

    여기서, Wz, Wr, Wh, bz, br, bh는 GRU와 유사한 업데이트 함수의 가중치 및 편향이고, zti 및 rti는 업데이트 게이트 벡터 및 재설정 게이트 벡터이다.

     

     T Propagation step 이후, 최종 노드 representation인 노드의 최종 상태를 얻을 수 있다. 그런 다음, outfit compatibility score에 해당하는 xs로 사용할 graph-level output을 생성할 수 있다. graph-level output을 계산하기 위해, 본 논문은 attention mechanism을 채택한다.

     

    3.3.3. Compatibility Calculating with Attention Mechanism

     이 섹션에서는 패션 아이템이 outfit compatibility에 어떤 영향을 미치는지 2가지 관점에서 다룬다.

     

     1) item이 outfit에 다른 영향을 미친다.

      - 예를 들어, 부적절한 top과 부적절한 목걸이는 outfit의 영향에 좋지 않은 영향을 미친다.

     2) 동일한 item임에도 불구하고 다른 outfit에서 서로 다른 역할을 한다.

      - 예를 들어, 하나의 코트는 outfit의 호환성을 높혀주지만, 하복에는 부적절한 item이다.

     

     따라서, 본 논문은 outfit compatibility에 대한 item의 영향을 모델링하기 위한 attention mechanism을 설계하는 것을 목표로 한다. 노드는 다른 노드로부터 state information을 수신하므로 해당 노드 표현은 global information(즉, 다른 노드의 state)를 인식한다. 

     

     self-attention을 활용하여 graph-level의 출력과 outfit compatibility score를 다음과 같이 계산할 수 있다.

     

    수식 12

     θ (·)와 δ (·)는 실제 값을 출력하는 두 개의 perception 네트워크이다. 각 네트워크의 목적은 다음과 같다.

     

     1) θ (·)는 item의 가중치(즉, item이 outfit compatibility에 미치는 영향)를 모델링하는데 사용

     2) δ (·)는 item의 compatibility score(즉, item이 다른 item과 잘 어울리는지)를 모델링하는데 사용

     

    α (·)와 σ (·)는 각각 leaky relu와 sigmoid activate function이며, α (x) = max (0.01x, x), σ (x) = 1/(1 + e^-x ) 이다.

     

    3.4. NGNN with Multi-Modal Input

     위에서 설명한 것처럼 item의 visual feature와 textual feature 두 가지를 입력하여 NGNN을 모델링한다. 이 섹션에서는 어떻게 두 개의 feature 모두에서 outfit compatibility를 모델링하는지에 대하여 설명한다.

     

     NGNN은 두 채널을 사용하는데, 첫 번째 입력은 visual features를 위한 것이며, 나머지 입력은 textual features이다. 특히, 각 outfit에 대해 visual features와 textual features를 NGNN에 각각 입력하고, visual features score에 해당하는 x_vis_stextual features score에 해당하는 x_txt_s를 얻는다. 따라서, 본 논문의 outfit compatibility score를 다음과 같이 계산한다. 여기서 β는 음이 아닌 trade-off parameter이다.

     

    수식 13

     

     각 x_vis_s와 x_txt_x를 latent space에서의 representation을 r_vis_i와 r_txt_i(즉, 임베딩으로 출력한 features)로 표현하며, item의 visual features와 textual features 간의 일관된 관계를 고려하여 다음 수식과 같이 shared latent space에서 동일한 item의 visual 및 textual 간의 일관성을 보장하기 위해 regularization를 사용한다.

     

    수식 14

    3.5 Training Strategy

     Training dataset의 outfit을 긍정적인 의상으로 표시한다. (예를 들어, N개의 item이 하나의 outfit 일 때, 해당 outfit은 positive outfit, 각 outfit은 s=(v1, v2, ..., vp,...) ∈ S)

     또한, 본 논문은 item vp를 무작위로 선택하고, 이를 무작위 item vq ∈ V 로 대체하여 부정적인 outfit을 형성한다. (각 outfit은 s- = (v1,v2, ...,vq, ...))

     

     * 본 논문이 사용한 데이터 셋을 정리하면 다음과 같다.

      1. positive outfit(s): 기존 polyvore dataset에서 주어진 s로 구성

      2. negative outfit(s-): 기존 polyvore datset의 s=(v1, v2, .., vp,...)에서 vp를 무작위로 선택한 다른 item vq로 대체하여 s-=(v1, v2, ..., vq,...)로 구성

     

     따라서, 이러한 pair(s, s-)로 구성된 데이터 세트에서 Ptrain을 얻을 수 있으며, Bayesian Personalized Ranking과 유사하게 positive outfit이 negative outfit보다 compatibility가 높다고 가정한다. 따라서 다음과 같이 목적 함수를 작성할 수 있다.

     

    수식 15

     NGNN의 목적 함수(objective function)은 다음과 같다.

     

    수식 16

    여기서 Θ는 parameter의 집합을 나타내고, λ는 overfitting을 방지하도록 설계된 L2 정규화이다.

     

     Multi-modal input(다중 모드 입력)이 있는 NGNN의 경우, 3.4에서 설명한 추가 솔실 함수 Lcon이 있다. 따라서, 다음 수식과 같은 목적함수를 작성할 수 있다.

     

    수식 17

     

    우리는 매번 outfit의 하위 그래프에서만 NGNN을 학습한다. 즉, 하위 그래프의 노드만 학습되고, 매번 해당 매개변수만 업데이트되므로 time complexity가 크게 줄어든다. 모델을 학습할 데이터가 더 많으면, edge 또는 다른 노드의 매개 변수를 변경하지 않고 해당 노드의 매개 변수만 업데이트하면 실제 응용 프로그램에 효과적이다.

     

     

    4. EXPERIMENTS

     * 논문에서 핵심으로 담은 실험 내용만 작성하였다. 특히, vis와 txt만 있을 때를 강조하여 작성한다.

     

     본 논문의 주된 기여는 outfit compatibility를 모델링하는 것이므로 실험을 통해 다음 Research Questions에 답하는 것을 목표로 한다.

     

     RQ1. 본 논문이 제안한 NGNN은 other pair 혹은 sequence representation model과 비교하여 어떻게 수행하는가?

     RQ2. NGNN의 다양한 구성 요소가 성능에 어떤 영향을 주는가?

     RQ3. 서로 다른 modalities가 compatibility 추론에 어떤 영향을 주는가? (vis만 있을 때, txt만 있을 때, 둘 다 있을 때 를 의미)

     RQ4. 하이퍼 파라미터 d와 T는 성능에 어떤 영향을 주는가?

     

    4.1. Task Description

    4.1.1. Fill-In-The-Blank

     

    그림 5

     

     패션 추천에서의 FITB task는 그림 5와 같이 공백을 채우도록 설정된 후보 중에서 가장 적합한 항목을 찾는 것을 목표로 한다. FITB task는 다음과 같이 진행한다.

     

     1. Test 하기 위해 주어진 Outfit에서 한 개의 item을 랜덤으로 택하여 공백으로 둔다.

     2. 선택된 item과 3개의 다른 item, 총 4개 중 선택된 item을 맞추는 것을 목표로 한다.

     3. 3개의 다른 item이 선택된 item보다 덜 compatibility라고 가정하면 긍정적인 item을 찾아 outfit을 완성할 수 있다.

     

     본 논문의 작업에서 네가지 후보 item을 공백에 넣어 outfit을 형성하고 모델과의 compatibility 점수를 계산한다. 따라서, 성능은 4개의 후보 중에서 정답을 선택하는 정확도(FITB accuracy)로 평가되며, 무작위로 선택하면 25%이다.

     

    4.1.2. Compatibility Prediction

     

    그림 6

     

     Compatibility Prediction은 주어진 outfit에 대한 Compatibility score를 예측하는 것이다. 모델을 평가하기 위해 먼저 Polyvore 테스트 데이터 셋을 사용하여 데이터 셋 Ptest를 구성한다.

     

     특히, Polyvore 테스트 데이터 셋의 각 positive outfit에 대해 V에서 무작위로 lsl를 선택하여 negative outfit s-를 만든다.

     

     따라서, evaluation pairs (s, s-)으로 구성된 데이터 셋 Ptest를 얻을 수 있으며, 아래 수식으로 정의된 AUC 메트릭을 이용하여 성능을 평가한다.

     

    수식 18

     

    4.2. Model Comparison (RQ1)

     본 논문은 제안하는 방법의 성능을 검증하기 위해 SOTA baselines (Random, Siamese CNNs, LMT, Bi-LSTM, GGNN(visual/textual), NGNN(visual/textual), NGNN(multi-modal) 과 비교한다. 성능 비교 결과는 아래와 같다.

     

    표 1. The performance of models evaluated by Fill-in-the blank accuracy and compatibility prediction AUC

     

    4.2.1. Fill-in-the-blank Accuracy (핵심 부분만 작성했음)

     표 1을 통해 다음과 같은 결과를 분석할 수 있다.

     

    그림 7

     

     1) textual feature만 사용하면, GGNN과 NGNN 모두 visual feature보다 더 나은 성능을 얻을 수 있으며, 이는 title이 item의 key feature를 정확하게 요약한다는 점에서 textual feature가 visual feature 보다 fashion item을 더 잘 나타낼 수 있음을 시사한다.

     2) Multi-modal input을 사용하면 최상의 성능을 달성하고, visual feature와 textual feature가 서로를 보완하는데 도움이 됨을 증명하였다. 

     

     그림 7의 2번과 3번 예제는 위 2)의 내용을 그림으로 보여준다.

    예제 2에서는 모델이 올바른 항목을 선택하고, Bi-LSTM이 스커트를 잘못 선택하여 바지와 conflict하는 상황이다. 이는 바지의 위치가 blank에서 멀리 떨어져 영향을 거의 받지 않기 때문일 것이다.

    예제 3에서는 네 개의 하의에서 전체 세트와 가장 잘 어울리는 bottom jeans를 선택하고, Bi-LSTM은 흰색 짧은 치마를 선택했다. 이러한 Bi-LSTM의 잘못된 선택은 가까운 흰색 셔츠가 blank에 강한 영향을 미치기 때문일 것이다.

     

     정리하면, Bi-LSTM은 blank 주변의 feature의 영향을 잘 받는다. 이것은 sequence represented method가 적절한 시퀀스 순서에 의존하게 만든다는 것이다. sequence represented model인 Bi-LSTM에 비해 Graph-represented model은 outfit item 간의 복잡한 관계를 더 잘 모델링 할 수 있다.

     

    4.2.2 Compatibility AUC (핵심 부분만 작성)

    그림 8. Comparison of our model and Bi-LSTM on several examples in fill-in-the-blank task.

     

     위의 결과에서, 2)와 3)은 Bi-LSTM이 적절한 순서의 sequence에 의존하는 모습을 보여준다. 두 item 간의 영향은 sequence에서의 거리에 반비례한다. NGNN은 Bi-LSTM에 비해 항목 간의 관계를 더 잘 반영할 수 있다.

     예제 4에서 NGNN은 positive outfit에 낮은 점수를 준다. 훈련 데이터 셋에서 정의된 코트, 스웨트, 반바지의 셋트가 일치하지 않는다는 것을 보여준다. (<- 앵? 반바지랑 코트를 같이 입는다고??? OMG... 이건 데이터 셋이 잘못했네)

     

    4.3. Component Comparison (RQ2)

    표 2. The performance of our proposed method with different components.

     NGNN의 성능에 대한 서로 다른 구성 요소의 효과를 조사하기 위해 본 논문은 아래와 같이 서로 다른 구성 요소와 비교한다. 본 비교는 visual features만 이용한 결과이며, 표2는 NGNN에서 두 구성 요소의 필요성을 증명한다. 

     

     1) NGNN(-W): 가중 인접 행렬이 없는 NGNN (특히, 3.2에서 설명한 가중치가 부여된 행렬 대신 0-1 인접 행력을 사용)

     2) NGNN(-A): 어텐션이 적용되지 않은 NGNN (이 방법은 일반적인 perception network를 사용하여 노드의 compatibility를 모델링)

     3) NGNN(-W, -A): 1)과 2) 둘 다 없는 것

     4) NGNN: 둘 다 있는 것

    그림 9. Illustration of attention mechanism. The depth of color are proportional to the attention weights of items.

     그림 9는 Attention mechanism이 작동하는 방식을 직관적으로 설명한 것이다. item 하단의 색상이 의미하는 바는 다음과 같다.

     

     1) 색상의 깊이는 item의 attention weight에 비례

     2) attention weight가 높은 item 일수록 그 아래에 있는 바의 색상이 짙다.

     3) 색상이 짙은 item일수록 outfit compatibility에 미치는 영향이 크다.

     

    그림 9의 예시 1과 2에서 볼 수 있듯이, 셔츠, 짧은 치마, 신발, 모자는 모두 독특하고 소박한 스타일이며, Outfit compatibility에 영향을 준다.

    예시 3은 청바지와 신발은 대부분의 스타일과 잘 어울리지만, outfit compatibility에는 거의 영향을 미치지 않는다.

    예시 4는 다양한 스타일과 어울리는 흰색 아웃웨어와 청바지도 compatibility에 거의 영향을 미치지 않는다.

     

    이 예시들을 통해 본 논문은 더 뚜렷한 스타일 아이템이 outfit compatibility에 더 많은 영향을 미친다는 것을 알 수 있으며, 평범한 아이템일수록(즉, 많은 스타일과 일치 할 수 있는 아이템일수록) 영향력이 적음을 알 수 있다.

     

    4.4. Modality Comparison(RQ3)

     성능에 대한 서로 다른 modality의 영향을 조사하기 위해, multimodal-input을 사용한 NGNN을 서로 다른 modality 조합과 비교한다.

     

    그림 10. FITB accuracy and compatibility AUC of our model with different β.

     

     수식 13에서 설명한 것처럼 β는 Visual compatibility score의 가중치이고, 1 − β는 textual compatibility score의 가중치이다. 그림 10은 β가 0에서 1까지 변하는 NGNN의 성능을 보여준다. β가 0.2일 때, NGNN이 최상의 성능을 달성하였다. 

     

    5. CONCLUSION

     본 논문은 의상을 입는 item 간의 복잡한 관계를 그래프 구조로 더 잘 포착할 수 있으므로 outfit을 그래프로 표현하여 outfit compatibility model을 제안한다.

     

     제안하는 방법은 visual 및 textual 양식뿐만 아니라 여러 양식에서 공동으로 outfit compatibility를 모델링 할 수 있으며, 실제 데이터 세트에 대한 실험 결과는 기존 작업에 비해 우리 방법의 탁월한 우수성을 입증한다.

     

     향후 연구에서는 사람들이 패션 호환성에 대한 개념이 다르기 때문에 개인화된 호환성(WoW..)을 모델링 하는 것을 목표로 한다. 

    댓글

by KUKLIFE