Abstract

Multimodal Sentiment Analysis(이하 msa)는 최근 인기를 얻고 있는데 그 이유는 social media가 발전하고 있기 때문이다.

이 논문에서는 msa의 세 가지 면을 소개한다.

  1. 얼마나 많은 modality가 sentiment에 기여하는지
  2. 장기 의존성을 해결할 수 있는지
  3. unimodal의 fusion과 cross modal cue

이 세가지 면에서 cross modal interaction을 배우는 것이 이 문제를 해결하는데 효과적인 것을 알 수 있었다.

CMU-MOSI나 CMU-MOSEI 데이터셋에서 좋은 성능을 보였다.

1. Introduction

Facebook, Whatsapp, Instagram and YouTube와 같은 소셜 미디어들이 발전하면서 sentiment analysis가 중요해졌다. msa는 acoustic, visual, textual를 같이 사용한다.

msa를 하는 방법에는 다음 세 가지 타입이 있다.

  1. modality를 각각 학습하고 output을 fuse 하는 방법
  2. 여러 개의 modality를 jointly 학습하는 방법
  3. attention based technique을 사용해서 각 unimodal들이 얼마나 기여하는지 알아보는 방법

그래서 더 나은 cross modal information을 배우기 위해서 cross interaction 동안 정보를 조절하는 conditional gating mechanism을 제안한다.

게다가 video에서 장기 의존성을 잡기 위해서 각 unimodal contextual representation에 self-attention layer를 적용한다. self-attention을 사용하는 장점은 direct interaction을 가능하게 하고, network에서 제한없는 information flow를 제공한다.

논문에서 제안하는 방법에서 중요한 것은 다음과 같다.

  1. cross interaction간에 정보를 조절할 수 있는 gating mechanism을 배운다.
  2. self-attend가 장기 의존성을 잡을 수 있다.
  3. self 및 gated 기반의 recurrent layer는 더 정확한 multimodal을 얻을 수 있다.

2. Proposed Approach

학습가능한 gate에 의해 조절되는 서로 다른 modality사이에 interaction을 배우는 것이 목적이다. 전체적인 구조는 아래와 같다.

2.1 Contextual Utterance Representation

Bi-GRU를 통해서 각 modality에서 specific contextual representation을 얻는다. 다음은 text를 뜻하는 representation이다.

2.2 Self Attention

장기 의존성을 잡기 위해서 bilinear attention을 사용한다. 100개의 utterance가 있어도 self-attention은 장기 context를 잡을 수 있다. Text에 대해서 다음과 같이 계산한다.

2.3 Cross Attention

msa는 서로 다른 modality간에 interaction을 배울 기회를 제공한다. modality를 두 쌍씩 묶어서 co-attention matrix를 배운다.

2.4 Gating Mechanism for Cross Interaction

imperfect modality을 fusing하는 문제가 생기게 된다.

각 modality에서 발생하는 noise를 해결하기 위해서 선택적으로 cross fused vector를 배우기 위해 gating mechanism을 제안한다.

gated cross fused vector는 다음과 같이 얻는다.

여기서 fusion kernel fusion(,)은 gated combination of cross interaction과 contextual representation을 사용한다.

Cross interaction인 X(P,Q)은 P는 cross attended vector, Q는 contextual representation인 비선형변환이다. Gating function인 G(P,Q)은 cross interaction에서 다음 layer로 pass되는 정보를 조절한다.

따라서 최종 계산은 다음과 같다.

modality의 특성이 보완적인 경우, gating function은 cross interaction을 선호하기 때문에 더 높은 값을 가질 것이다. 반면에 그렇지 않은 경우 contextual representation을 선호할 것이고, 낮은 값을 가질 것이다.

2.5 Deep Multimodal Fusion

self 와 gated cross interaction을 합하기 위해 Bi-GRU를 사용해서 합친다.

3. Experiments

3.1 Dataset

CMU-MOSI와 CMU-MOSEI를 사용한다. values가 0 이상이면 긍정으로 반대면 부정으로 했다.

3.2 Implementation Details

word feature에 대해서는 Glove를 사용했고, visual은 Facets, acoustic은 CovaRep을 사용했다.

3.3 Results and Analysis

3.3.1 Baselines and Ablation Study

제안한 방법을 분석하기 위해서 여러 실험을 수행했다.

B1 : unimodal

B2 : B1+Self+Attention

B3 : bimodal baseline

B4 : gating mechanism

B6 : our model

3.3.2 Benchmarking

종합적으로 비교하기 위해서 다른 multimodal sentiment analysis와 비교해보았다.

제일 좋았다.

4. Conclusions and future work

self-attention과 gating mechanism을 사용해서 msa를 발전시켰다.

gating 함수는 unimodal한 정보가 sentiment를 결정하기 충분하지 않을 때 cross-interaction을 강화하고, 충분하다면 cross-modal information에 낮은 가중치를 부여한다.

앞으로는 audio 데이터의 질이 낮은 실제 데이터에도 적용해보는 것이 목적이다.

DSANet : Dual Self-Attention Network for Multivariate Time-Series Forecasting

ABSTRACT

Multivariate Time-Series Forecasting을 하는데 전통적인 model이나 RNN과 attention을 사용하는 모델로 수행하기에는 어려움이 있다. 따라서 이번 논문에서 DSANet을 제안하는데 이 문제를 해결했다.

global Temporal Convolution과 local Temporal Convolution을 parallel하게 사용했고, 이 과정을 거친 뒤 Self-Attention을 수행한다. 마지막으로 linear한 특징을 부여하기 위해 AR을 사용해 최종 예측값을 얻는 모델이다.

1.Introduction

  • multivariate time series forecasting이 연구되는 중이다.

    • sensor network , road occupancy rates forecasting, financial market prediction
    • 하지만 complex하고 non-linear dependencies 문제로 인해서 어려움을 겪고 있다.
      • 심지어 이 dependencies는 dynamic하게 변해서 분석이 더 어렵다.
  • 전통적인 방법(VAR, GP)등은 non-linear dependencies을 잡아내지 못해서 사용할 수 없다.

  • RNN 계열들은 이러한 non-linear dependencies을 잡아낼 수 있지만 long-time dependency 문제가 발생한다.

    • LSTM과 GRU를 사용하거나 attention을 사용하면 이러한 문제를 해결할 수 있다.
    • 하지만 현실 세계에서 흔히 발생하는 nonperiodic patterns과 dynamic-period patterns을 해결하지는 못한다.
  • 따라서 이러한 문제를 해결하고자 dual self-attention network(DSANet)을 제안한다.

    • univariate time serie들을 두 개의 평행한 parallel convolutional components에 넣는다.
      • global temporal convolution , local temporal convolution
    • 각 convolution에서 나온 representation을 각각 self-attention에 넣어준다.
      • 이는 다른 series들 간의 dependency를 배우기 위함이다.
    • 마지막으로 linear한 특징을 더해주기 위해서 autoregressive 값을 더해준다.

2. Related Work

생략

3.Preliminaries

  • univariate time seires는 X(i) = <x1(i),x2(i),...,xT(i)>와 같이 표현을 하며 이를 multivariate로 확장하면 X=<X(1),X(2),...,X(D)>와 같다.

  • 우리가 해결해야 할 문제는 <X1,X2,...,XT>가 주어졌을 때, XT+h를 예측하는 일이다.

    • 동일하게 XT+h+k를 예측하기 위해서는 <X1+k,X2+k,...,XT+k>가 필요하다. 즉 input window size k만큼의 범위의 값을 알아야 한다.

4.Methodology

  • Introduction에서 설명했던 구조를 하나씩 자세히 살펴보도록 한다.

Global Temporal Convolution

  • Deep learning method인 RNN을 사용해서 temporal한 pattern을 잡곤 했지만 long term의 특징을 잡지 못했다.
  • 따라서 multiple Tx1 filter를 사용하는 convolution인 global temporal convoltion(TCN)을 사용한다.
  • 각 global TCN의 filter는 input matrix X를 훑으며 D 크기의 vector를 생산해낸다.(activation function은 ReLU를 사용한다.) 각 filter에서 나온 vector들을 합쳐서 output matrix HG를 만들어낸다.
    • 각 filter별로 각 time seires를 표현하는 값을 얻어서 D 크기의 vector가 나온다.
  • matrix의 각 행은 univariate series의 representation이라고 할 수 있다.

Local Temporal convolution

  • 현재 시점으로부터 가까운 time step들이 멀리 있는 time step보다는 더 관련있을 가능성이 높다.
    • 따라서 global TCN은 이 time series의 전반적인 특징을 살펴보았다면, 이번에는 local한 특징을 찾아보도록 한다. 이 과정은 parallel하게 수행된다.
  • global TCN과 다른 점이라고 하면 filter size의 크기를 l로 사용하는데, l<T보다 작은 수이다.
    • 따라서 각 filter별로 vector가 아닌 matrix MkL를 생성해낸다.
  • 각 univariate time series의 local temporal relation을 vector representation으로 map하기 위해서 DSANet은 1-D max pooling을 사용한다.
    • 따라서 최종 output인 matrix HL을 얻게 된다.

Self-Attention Module

  • self-attention이 feature extraction 능력이 좋기 때문에 서로 다른 series간 dependency를 포착하기 위해 사용한다.

  • 각 univariate representation을 input으로 넣어주도록한다.

    • 그러면 자기 자신을 포함해서 다른 representation간의 관계를 파악한다.
  • N identical layer를 stack하며, self-attention layer와 position-wise feed-forward layer를 가지고 있다.

    • 일반적인 Self-Attention 구조이다.

  • resulting weighted representation을 결합하고 linearly projected해서 final representation ZOG를 얻게 된다.

  • position-wise feed-forward layer를 통과해서 최종 결과인 FG를 얻는다.

  • local도 똑같이 적용해서 FL를 얻는다.

Autoregressive Component

  • convolution과 self-attention은 모두 non-linear한 특징을 가지기 때문에 neural network의 scale이 input에 sensitive하지 않게 되었다. 따라서 linear한 특징을 부여하기 위해서 AR을 사용한다.

Generation of Prediction

  • 예측단계에서 각 self-attention에서 나온 값들을 dense layer를 통해서 결합하고 AR에서 얻은 값을 더해서 최종 예측값을 얻는다.

5.Experiments

  • dataset은 지리적으로 가까운 5개의 gas station 데이터를 사용했다.
  • root relative squared error(RRSE), mean absolute error(MAE), empirical correlation coefficient(CORR)를 사용해서 측정했고, hyperparameter들은 이것저것 많이 했다고 한다.

  • 다음은 실험결과 중 일부인데, 32일의 데이터가 있을 때, 각 3일, 6일, 12일, 24일 뒤의 값을 예측하는 실험이다.
    • 당연히 24일 뒤가 맞추기 힘드므로 값이 가장 클 것이다.
  • 기존에 있던 method보다 DSANet이 가장 좋은 성능을 보였다.

Ablation Study

  • model의 일부분을 하나씩 빼고 실험한 결과인데, AR이 이 모델에서 가장 큰 영향을 끼치고 있음을 알 수 있다.

+ Recent posts