Relational Graph Attention Network for Aspect-based Sentiment Analysis

  • 최근에는 ABSA를 attention-based neural network을 사용해서 해결하고자 한다.
    • 하지만 언어의 복잡성과 한 문장에서 복수의 aspect가 존재할 수 있기 때문에 연결성에 혼란을 가진다.
  • 이 논문에서는 이 문제를 구문정보의 효과적인 인코딩을 사용해 해결하고자 한다.
    • 기존의 dependency tree를 reshape, pruning해서 target aspect를 root로 가지는 aspect-oriented dependency tree 구조를 정의한다.
    • sentiment prediction을 위해서 새 tree 구조를 encode 할 R-GAT를 제안한다.
  • 이 방법이 더 연결성을 잘가지고 있는 것을 보임

1. Introduction

  • 두 개의 aspect가 서로 다른 sentiment를 나타낼 수 있기 때문에 sentence-level sentiment polarity 를 적용하는 것은 부적절하다.

  • Attention 메커니즘을 가지는 구조에는 가까운 단어에 더 attend하는 특성을 가지고 있는데, 이는 잘못된 결과를 초래할 수 있다.

  • Syntactic structure를 이용하려는 많은 시도가 있었고, Dependency-based parse는 comprehensive syntactic information을 제공한다.

    • 최근에는 GNN + dependency tree를 시도함
  • 이러한 구조들은 다음과 같은 단점을 가지고 있다.

    1. 측면과 의견 단어 사이의 연관성을 나타낼 수 있는 의존 관계는 무시된다.
    2. 트리의 일부부만 필요한 것이지, 전체 트리 구조가 필요한 것은 아니다.
    3. encoding process가 트리 종속적이기 때문에 batch operation이 불편한다.
  • 이 논문에서는 syntax information을 재검토하고, task-related syntactic 구조를 알아내는 것이 중요하다.

    • 따라서 novel aspect-oriented dependency tree 구조를 세 단계로 제안한다.
      • 기존의 parser를 사용해서 sentence의 dependency tree를 얻는다.
      • 질문의 target aspect로 root가 되게 dependency tree를 reshape한다.
      • aspect와 직접 연결된 edge들만 남긴다.
  • 이러한 unified tree 구조는 aspect와 가능성 있는 opinion word 사이의 관계성에 집중할 뿐만 아니라 batch와 parallel 연산도 이용할 수 있다.

  • 또한 이러한 새 tree를 encode하기 위해 R-GAT(relational graph attention network)를 제안함

2. Related Work

pass

3. Aspect-Oriented Dependency Tree

3.1 Aspect, Attention and Syntax

  • syntactic 구조는 문법 구조를 나타내는 종속성 트리를 생성하는 작업인 종속성 구문 분석을 통해 알아낼 수 있다.
    • 단어 사이의 관계는 directed edge와 label로 나타낸다.

  • 위 그림은 aspect, attention, syntax 간의 관계를 그림으로 그린 것이다.
  • (a)의 경우 like는 동사로 사용되었으며, aspect recipe에 대해 positive를 표현한다.
    • 즉 이는 attention-based LSTM에 의해 성공적으로 attend되었다는 것을 알 수 있다.
  • (b)에서의 like는 다른 의미로 사용되었지만 여전히 recipe와 연결되어 있어 잘못된 예측을 했다.
  • (c)는 두 개의 aspect가 등장하는 경우다.
    • chicken같은 경우에는 but, dried와 강하게 연결되었고, 잘못된 예측을 하도록 했다.
      • attention-based 모델의 약점을 보여주는 예시임

3.2 Aspect-Oriented Dependency Tree

  • 3.1의 내용을 보면 aspect와 related opinion이 직접적으로 연결된 dependency 관계에 더 직접적으로 집중한다.

  • 하지만 ABSA에서는 target aspect에 더 집중해야 할 것이다.

    • 그래서 target aspect를 root로 하는 aspect-oriented dependency tree를 제안한다.

      1. 기존 Dependency Tree를 구축
      2. target aspect를 root로 구축
      3. aspect에 직접 연결되어 있는 connection을 children으로 set한다.
      4. n:con이라는 가상 관계를 부여한다. 이 때, n은 두 노드 사이의 거리를 나타낸다.
      5. 이 과정을 aspect가 여러개라면 각각 만든다.
    • 그러면 다음과 같이 dependency tree가 바뀌게 된다.

    • aspect-oriented 구조는 다음과 같은 2가지 장점을 가진다.

      1. 각 aspect는 고유의 dependency tree를 가진다. 따라서 관계없는 node나 관계에 덜 영향을 받는다.
      2. aspect가 하나 보다 더 많은 단어로 구성되어 있어도 분석이 가능하다.
    • 이 아이디어는 aspect와 관계 있는 일부 단어들만 사용해도 가능하다는 것 때문에 가능하다.

    • batch, parallel 연산을 가능하게 한다.

    • n:con 관계가 좀 더 robust하게 만든다.

4. Relational Graph Attention Network

  • 새 트리 구조를 encoding 하기 위해서 GAT를 확장한 relational graph attention network를 제안한다.

4.1 Graph Attention Network

  • Dependency tree는 n개의 노드를 가지고 있는 graph G로 표현된다.
  • graph G의 edge는 워드간의 dependency를 Ni는 neighborhood 노드를 나타낸다.
  • multi-head attention을 사용해서 이웃 노드 representation을 취합해 node representation을 업데이트 한다.

4.2 Relational Graph Attention Network

  • GAT는 dependency relation을 잃어버릴 수 있다.

  • 다른 의존 관계를 가지고 있는 neighborhood는 서로 다른 영향을 준다.

  • GAT에 relation head를 추가하는데 이는 neighborhood로 부터 오는 정보 흐름을 조절하는 relation-wise gate 역할을 수행한다.

  • Dependency relation을 vector representation으로 map하고, relation head는 아래 식과 같이 계산한다.

4.3 Model Training

  • BiLSTM을 사용해서 tree node의 word embedding을 encode하고, 또 다른 BiLSTM을 사용해서 aspect 단어를 encode하고 이를 평균내서 초기 root representation으로 사용한다.
  • Aspect-oriented tree의 R-GAT를 적용한 후에, fc layer와 softmax를 활용해서 sentiment를 예측한다.

5. Experiment

5.1 Datasets

  • SemEval 2014 Task의 Laptop과 Restaurant 리뷰 데이터셋을 사용한다.
  • 이와 함께 Twitter 데이터셋도 같이 사용

5.1.1 Implementation Details

  • dependency parsing을 위해서 Biaffine Parser를 사용한다.
    • 차원은 300으로 고정
  • R-GAT는 GLoVe를 사용, R-GAT+BERT는 BERT의 last hidden state를 사용한다.

5.2 Baseline Methods

  • Syntax-aware models
    • LSTM+SynATT, AdaRNN, PhraseRNN, AS-GCN, CDT, GAT, TD-GAT
  • Attention-based models
    • ATAE-LSTM, IAN, RAM, MGAN, attention-equipped LSTM and fine-tuned BERt
  • Other recent method
    • JCI, TNET

5.3 Results and Analysis

5.3.1 Overall Performance

  • R-GAT 모델이 다른 baseline들보다 성능이 좋음
    • 특히 일반 GAT를 쓸 때 보다 큰 성능향상이 있었다.
  • BERT를 사용했을 떄, ABSA에서 좋은 성능을 기록했는데 여기에 R-GAT를 같이 사용하면 더 좋아졌다.

5.3.2 Effect of Multiple Aspects

  • 한 문장에서 multiple aspect가 나올 수 있다.
  • 만약 두 개 이상의 asepct가 나오면 각 aspect 별로 Euclidean distance를 구한다.
  • GAT, R-GAT, R-GAT+BERT를 골라서 distance에 따라 정확도를 측정한 것.

  • 거리가 가까운 측면이 정확도 점수를 낮추는 경향이 있다는 것을 관찰할 수 있으며, 이는 문장에서 의미 유사성이 높은 측면이 모델을 혼동할 수 있음을 나타낸다.
    • R-GAT는 이 문제를 완화했다.

5.3.3 Effect of Differnet Parsers

  • Dependency parsing을 다르게 하면서 성능을 비교해본다.

  • Biaffine을 사용할 때 성능이 더 좋음

5.3.4 Ablation Study

  • aspect-oriented dependency tree와 relation head의 영향력을 평가함

  • R-GAT를 사용할 때 더 성능이 올라가는 것을 보이고, aspect-oriented로 reshape 했을 때 성능이 더 향상 되는 것이 보임
  • 특히 R-GAT에서 n:con의 관계를 빼면 성능이 떨어지는 것을 보아 좋은 영향을 주는 것을 알 수 있음

5.3.5 Error Analysis

  • ABAS의 한계를 알기 위해서 실패한 것들 중에서 100개를 랜덤으로 고름
  • 실패하는 이유는 여러가지가 있었다.
    • 대부분의 이유로는 중립 리뷰로 인한 것이였다.
    • 다른 요인은 실제로 이해하기 어려운 언어라 분석하기 어려웠었다.
    • 문장에서 뚜렷한 특징이 없거나
    • 이중 부정이 나타나는 경우에 분석이 힘들었다.

Does syntax matter? A strong baseline for Aspect-based Sentiment Analysis with RoBERTa

  • Aspect-Based Sentiment Analysis (ABSA)는 Aspect의 특성을 예측하는 것이며, Sentiment Anaylsis의 한 분야다.
    • 즉, 주어진 Aspect에 따라 sentiment를 예측하는 것('pos' or 'neg')
  • 이전 연구에서는 Dependency Tree와 같은 syntactic information이 ABSA의 성능을 향상시키는 것을 보였음
  • 최근에는 Pre-Trained Models(PTMs)도 ABSA에서 성능을 보이고 있다.
    • 그러므로 PTM이 ABSA를 위해 충분한 syntactic 정보를 가지고 있어서, PTMs만을 기반으로 하여 좋은 ABSA 모델을 얻을 수 있는지 자연스러운 의문이 생긴다.
  • 그래서 PTM에서 유도된 tree와 dependency parsing tree를 사용한 여러 유명한 모델을 비교해서 FT-RoBERTa로부터의 tree가 성능이 가장 좋음을 알 수 있다.
    • 또한 FT-RoBERTa가 더 sentiment-word-oriented다.
    • 순수한 RoBERTa 기반 모델도 충분한 SOTA 성능을 보인다.

1. Introduction

  • Aspect-Based Sentiment Analysis (ABSA)는 Aspect의 특성을 예측하는 것이며, Sentiment Anaylsis의 한 분야다.

    • 한 문장에 여러 Aspect가 존재할 수 있고, 각 Aspect에 대해 sentiment를 예측해야 한다.
    • "great food but the service was dreadful"과 같은 문장이 있다
      • food와 service가 aspect가 되며, food의 sentiment는 'pos' service의 sentiment는 'neg'가 된다.
  • ABSA에는 Aspect Extraction(AE)와 Aspect-level sentiment classification(ALSC)가 있는데, 그 중 ALSC에 집중한다.

  • ALSC의 예전 연구들은 수동으로 설계된 syntactic feature에 의존했고 이는 굉장히 노동집약적이며 불충분하다

  • ALSC model 기반 dependency tree는 3가지 방법으로 적용된다.

    1. Topological structure

    2. Tree-based distance

    3. 1과 2를 동시에 사용

  • Dependency tree를 제외하고도 PTM이 좋은 성능을 기록했음

    • PTM의 결과를 보면 dependency tree 정보를 함축적으로 담고 있다.

Q1: Will the tree induced from PTMs achieve better performance than the tree given by a dependency parser when combined with different tree-based ALSC models?

-> 뒷 부분에서 3개의 dependency tree와 파서가 제공하는 의존성 트리 및 PTM 유도 트리와 결합할 때 성능을 비교한다.

Q2: Will the tree induced from PTMs achieve better performance than the tree given by a dependency parser when combined with different tree-based ALSC models?

-> 이 논문에서 PTM으로부터의 tree도 사용하지만 FT-PTM으로부터의 tree도 사용한다. 실험결과를 보았을 때, FT-PTM이 더 좋은 성능을 기록했으며, dependency tree보다도 더 좋았다.

마지막으로 RoBERTa에 MLP만을 더해도 좋은 성능을 보였으며, tree 구조를 더하는 것은 큰 성과를 보이지 못했다.

기여점을 요약하면 다음과 같다.

(1) PTM, FT-PTM으로 유도된 트리를 비교해봄. FT-PTM으로부터의 tree가 가장 좋은 성능을 기록했으며, 다른 트리들보다도 좋았다.

(2) FT-PTM으로부터의 트리는 더 sentiment word oriented하다. 즉 aspect term과 sentiment adjective를 직접적으로 연결한다.

(3) RoBERTa를 사용했을 때 성능이 가장 좋게 나왔다.

2. Related Work

ALSC without Dependencies

LSTM, LSTM with attention, CNN등을 사용함

ALSC with Dependencies

초기에는 Sentiment lexicon과 parsing dependency를 결합해서 사용했음

이후에는 dependency tree와 neural network를 결합해서 사용하려는 시도가 있었음

  1. dependency tree를 binary tree로 바꾸는 것, 이후 recursive neural network를 젝용해 context word에서 aspect로 information을 전달하려는 시도를 함
    • 별로 성능이 좋아지진 않음
  2. neural network
    • GNN을 적용하려는 시도
    • dependency tree를 aspect-oriented dependency tree
    • Tree-based distance

PTMs-based Dependency Probing

  • PTMs는 NLP 분야에서 많이 사용되고 있다
    • 그래서 PTMs으로 linguistic knowledge를 얻으려는 시도를 함
    • 하나 혹은 여러개의 attention head를 사용해보았지만 dependency를 잡아내기 힘들었다
    • 추가적인 파라미터를 사용해서 하려는 시도들이 있었음

3. Method

PTMs으로 부터 tree를 어떻게 유도하는지 알아보고, dependency tree를 통합하는 3가지 대표적인 방법에서 선택한 3개의 tree 기반 ASLC 모델들을 소개한다.

3.1 Inducing Tree Structure from PTMs

Perturbed Masking은 추가적인 parameter 없이 pre-trained model에서 tree를 유도할 수 있다.

base가 되는 모델은 BERT와 RoBERTa를 사용하기 때문에, 이를 먼저 소개하고 Perturbed Masking을 소개한다.

3.1.1 BERT and RoBERTa

생략

3.1.2 Perturbed Masking

Perturbed Masking은 pre-trained model로부터 syntactic 정보를 찾기 위한 것이 목적이다. BERT와 RoBERTa는 xi를 H(x)i에 map한다.

Perturbed Masking은 와 xj가 xi에 영향을 주는 정도인 f(xi,xj)를 유도하는 것이 목적이다.

우선 [MASK]를 사용해서 xi를 대체하고 H(x\{xi})i를 반환한다.

그 다음으론 xj를 mask를 하고 H(x\{xi,xj})i 를 얻고 f는 다음과 같이 구한다.

이 과정을 문장의 매 두 토큰에 대해 수행하면 f값들로 이루어진 M을 얻을 수 있다.

tree decoding 알고리즘을 통해서 M으로 부터 dependency tree를 얻는다.

3.2 ALSC Models Based on Trees

3개의 representative tree 기반 ALSC model을 소개함 각 모델들은 introduction에서 소개했고, 공정한 비교를 위해 가장 최근에 발전된 ALSC 모델들을 선정함

3.2.1 Aspect-specific Graph Convolutional Networks(ASGCN)

dependency tree를 그래프로 이용함. word를 노드로, dependency를 edge로 사용

3.2.2 Proximity-Weighted Convolution Network(PWCN)

PWCN은 aspect가 contextual word를 찾을수 있도록 도운다. input sentence에서 PWCN은 dependency tree를 얻고, 이 트리를 기반해서 각 단어에 proximity value를 부여한다.

각 단어의 proximity value는 단어와 aspect 사시의 dependency tree의 짧은 path를 계산하여 얻는다.

3.3 Relation Graph Attention Network

dependency tree를 aspect-oriented dependency tree로 변환한다.

aspect-oriented dependency tree는 aspect를 root로 사용하고, 다른 단어들은 leaf가 되는 구조

aspect와 다른 단어사이의 관계는 syntactic tag나 tree 기반 거리를 기반으로 구한다.

4. Experimental Setup

4가지 언어로 구성되어 있는 6개 데이터셋에 대해서 실험을 진행함

4.1 Datasets

pass

4.2 Tree Strucutres

(1) spaCy나 allenNLP에서 얻은 dependency tree parer로부터의 tree -> "Dep"

(2)PTM으로 얻은 tree

(3)Perturbed Masking을 사용한 FT-PTM

(4) Left, Right chain -> 왼쪽이나 오른쪽 단어에 의존하는 방법

4.3 Implementation Details

5. Experimental Results

5.1 ALSC Performance with Different Trees

다른 트리를 가지고 있는 모델 간의 비교는 위와 같다.

  • FT-RoBERTa induced Tree를 사용할 때, 가장 좋은 성능을 기록함

  • BERT Induced Tree나 RoBERTa Induced Tree를 기반으로 한 모델들은 Left-chain이나 Right chain이나 큰 차이가 없음

    • RoBERTa의 연결성을 보면 주위에 강하게 연결되어 있는데, 그 이유는 MLM을 수행하는 과정에서 주변을 많이 봐야하기 때문 그래서 왼쪽 종속이나 오른쪽에 종속하는 것과 큰차이가 없다
  • Q1에 대한 답변을 하자면 "Dep"이 BERT Induced Tree나 RoBERTa Induced Tree보다 더 좋음

    • 그 이유는 PTM은 왼쪽이나 오른쪽에 의존하기 때문에
    • PWCN의 경우에만 더 좋은 성능을 보였는데 그건 크게 문제 될 것은 없음
    • 하지만 FT-PTM은 dependency tree보다 더 좋음

5.2 Analysis

  • tree간의 차이를 조사하기 위해 quantitaive metrics를 제안함

Proportion of Neighboring Connections

  • 위 표는 문장에서 주위 단어와 연결되어 있는 비율을 뜻함

  • BERT가 70퍼대의 연결성을 보이는데 이 것이 성능에 영향을 줬을 것

  • FT-PTM일땐 충분한 하락을 보임

    • 그림으로 보면 다음과 같음

Aspects-sentiment Distance

Aspect와 sentiment word 사이의 평균 거리를 의미

  • C는 pre-define sentiment words set
    • Amazon-2
  • S는 dataset, Si는 sentence, Si는 w들로 구성되어 있음
  • |.|은 set의 원소 갯수

  • FTM-PTM의 거리가 가장 짧다

첫 표의 "Dep" 결과를 볼 때 Twitter만 결과가 조금 다른데, 이는 Twitter가 문법을 중시하지 않기 때문에 그럼

Q2에 대한 답을 해보자면 PNC가 줄었기 때문에 긴 연결이 생겼지만 AsD를 보면 그 거리가 짧기 때문에 문제가 없다.

따라서 FT-PTM은 ALSC task에 적합하며 성능도 더 좋다.

5.3 Comparision between ALSC models

  • MLP와 RoBERTa를 사용했어도 SOTA에 근접한 성능을 나타낸다.
  • FT-RoBERTa는 Glove 기반의 모델에 효과적이며, RoBERTa와 결합하는 것은 큰 효과는 없다. 오히려 감소한 케이스가 있을 정도
  • RoBERTa 기반 ALSC 모델을 최적화하는 것은 어려움

6. Conclusion

  • parser-provided dependency tree와 PTMs 기반 tree를 포함한 여러 트리들을 비교함
  • 특히 Perturbed Masking을 사용한 PTM 방법이 가장 성능이 좋았음
  • Glove 기반 모델에 더 좋은 성능 향상을 보이며, RoBERTa+MLP로만 사용해도 성능이 좋다.

High-Dimensional Bayesian Optimization with Multi-Task Learning for RocksDB

  • RocksDB는 general-purpose embedded key-value store를 사용
  • 본 논문에서는 10개의 파라미터를 다양한 범위로 auto-tuning해서 Throughput을 개선한다.
  • 보통 optimizer들은 고차원 문제와 많은 training sample 요구를 한다.
  • 이 문제를 해결하기 위해 multi-task modeling과 clustering을 통한 차원 감소를 진행한다.
    • 일반적으로 최적화하는 것은 수렴 속도가 빠른 것과 다른 tuner들이 찾기 못하는 복잡한 세팅을 찾으려는 것이 목적
      • but, 계산량이 많아
      • 그래서 사전지식과 Bayesian Optimization loop를 사용해서 throughput을 최대화 하는 파라미터를 찾는다.

1. Introduction

  • RocksDB를 튜닝하는 것의 문제점
    • RocksDB는 30개가 넘는 파라미터를 가지고 있어서 configuration 조합들은 사용자에게 너무 많다
    • 하드웨어는 사용자가 선택한 configuration에 큰 영향을 준다.
    • 각 Application은 독특한 접근 패턴을 가지고 있다.
  • Auto-tuning으로 이러한 문제를 해결하려 함
    • 하지만 많은 training sample이 필요한데 이 training sample들은 restart and execution을 해야 함
    • 따라서 굉장히 효율적인 Bayesian Optimization(BO)를 사용. Process는 아래 그림과 같음

  • BO의 단점으로는 curse of dimensionality 때문에 고차원에서는 사용하기 어렵고, 계산량이 비싸다는 것이 단점이다.

    • 따라서 전문가의 지식을 추가해서 이 문제를 해소하고자 한다.
    • multiple target을 통한 최적화, sub-task decomposition을 통해 고차원 문제를 줄일 수 있다.
  • multiple target 통해 최적화 하는 것은 다양한 내부 component에 성능을 영향을 받기 때문에 이득이 있음

    • 예를 들어 RocksDB에서는 write throughput은 IO stalls에 bottleneck이 있지만 지연시간을 줄여서 향상 가능
  • 하지만 target을 늘리는 것은 계산량을 증가시키기 때문에 decomposition을 사용하도록 한다.

    • 모든 파라미터들을 한번에 다 고려하는 것이 아닌 일부 subset으로 decompose하고 target을 최적화함

  • 기여도는 다음과 같다.

    • BO에 structural knowledge를 주입해서 수렴속도를 낮춤
    • manual task decomposition을 사용해서 차원 문제를 해결함
    • default보다 최대 1.45배 향상시킴

2. Background

2.2 Bayesian optimization

  • Black-box function 최적화 문제를 해결하려는 효율적인 최적화 framework
  • 미지의 목적 함수(Surrogate Model)을 만들고 평가를 통해 최적의 하이퍼파라미터 조합을 탐색하는 것.
    • 즉 확률적인 추정을 수행하는 모델
    • 이 함수로 GP, Additive Kernel, TPE, RF를 사용하도록 한다.
  • Acquisition Function은 확률적 추정 결과를 바탕으로 유용한 다음 입력값 후보를 추천해 주는 함수를 지칭

3. Structured multi-task optimization

3.1 Overview

  • 메커니즘을 통해 전문가의 지식을 model에 넣고, 사용하들은 main objective를 최적화할 수 있는 low-level metrics를 확인할 수 있다.
  • multi-task learning을 통해 system component 간의 상호작용을 알 수 있고, 샘플에서 더 많을 것을 배워서 수렴에 필요한 관찰을 줄일 수 있다.
  • 파라미터의 manual grouping을 통해 최대 차원을 줄였고 수렴 속도를 빠르게 했다.

3.2 Problem space and assumptions

  • GP를 사용할 때, multivariate Gaussian distribution이고, 모든 점에서 미분 가능하다.

  • modeling space에서 랜덤하게 선택된 500개의 독립된 실험을 수행

  • 그 결과는 아래 그래프와 같음

3.3 Multi-task learning

3.3.1 Tasks

  • RocksDB 구조의 이해를 바탕으로 3개의 추가적인 objective를 선정함.
  • 이 objective들은 직접적으로 혹은 간접적으로 IOPS에 영향을 준다.
  • 선정한 3개는 다음과 같다.
    • WriteAmplification
    • ReadBlockGetP99
    • Level0Tolevel1P99

3.3.2 Intrinsic coregionalization model

  • 이 3가지 task를 더함에 따라 GP의 kernel 함수를 변경해야 한다.

    • Intrinsic Coregionalization Model kernel을 사용한다.

      • kx은 covariance kernel, kT는 task similarity kernel을 의미한다.
        • 따라서 서로 연관성을 파악하기 좋음
      • 각 output은 BO loop에서 최적화된다.
    • task간의 지식을 공유하는 능력과 각 task 별 충분한 sample이 있으면 수렴 속도를 빠르게 할 수 있다.

  • 수행하는 알고리즘은 다음과 같다.

  • scaling하고 normalizing 한다.
    • 이 것이 분포를 smooth하게 해서 더 쉽게 할 수 있도록 함

3.3.3 ICM challenges

  • ICM이 뭘 제공하긴 하는데 모르겠고, 이는 확장성에 문제가 있다고 함
    • 일반적으로 GP는 O(n3)인데, task가 생기면 O(Tn3)임
    • 그래서 Decomposition이 필요하다.

3.4 Decomposability through clustering

3.4.1 Decomposability in RocksDB

  • RocksDB의 large parameter space는 *"차원의 저주"* 와 높은 계산량을 발생시킨다.
    • multi-task 방법을 사용하면 계산량을 증가시켜서 차원의 저주 문제를 일부 해소 시킨다.
  • 계산량 문제를 줄이기 위해 RocksDB의 구조를 이용한다.
    • final observed metric = sum of multiple internal components performance. (functional decomposability)
    • 이는 차원을 줄이는 역할도 수행할 수 있다.

3.4.2 Manual clustering

  • 복잡도는 차원과 연관있기 때문에 이를 줄이도록 하자.
  • 500개의 random configuration trace를 이용하여, IOPS와 517 observable metric간의 correlation과 파라미터간의 correlation을 계산한다.
    • 이를 통해 cluster pool을 30개로 줄였고, 그 중 전문가 지식과 독립된 실험을 통해서 그림의 구조에 도달할 수 있었다.
  • parameter space를 decompose했고, 각 parameter cluster에 독립적인 GP를 사용했음
    • ICM Kernel을 사용한 GP로 지식을 공유하도록 했음

3.4.3 Unsupervised clustering

  • unsupervised clustering을 적용해서 이러한 cluster를 찾는다.
  • pass

4. Evaluation

4.1 Setup

  • IOPS를 최대화 하기 위해 10개의 RocksDB 파라미터를 튜닝한다.
  • parameter의 범위는 다음 표와 같다.

4.1.1 Experiment goals

  • tuner가 수렴 속도가 빠르고, IO throughput을 잘 하는 것이 중요하다.
  • Decomposability를 이용하는 cluster 기반의 multi-task의 효율성을 강조할 것이다.

4.1.2 Benchmark

생략

4.1.3 Libraries

생략

4.1.4 Hardware

생략

4.1.5 Baselines

4.2 IOPS performance

  • 제한된 계산량으로 IOPS를 최대화 하고 싶기 때문에 100개의 최적화 step만을 부여한다.

  • MultiTask를 사용할 때 1.38 ± 0.06 만큼의 성능 향상을 보였다.

4.3 Convergence

  • Multi-task와 cluster multi-task가 좀 더 빠르게 찾아냈다.
  • clustered MT는 10개의 iteration만에 1.3배의 향상을 보이는 config를 찾았다.(non-cluster-based는 60개의 iter가 걸림)
    • 대신 60 iter 후에는 더 좋은 것들을 찾을 수 있었지만 unstable 함
  • 일반 GP보다는 GP(BoTorch)가 더 좋음

5. Related work

pass

6. Conclusion

  • 이전에 tuning하는 과정은 고차원이라는 것이 문제였음.
  • 따라서 alternative observable metrics와 structural decomposability를 이용해서 수렴 속도를 빠르게 하고, 고차원을 줄임

Aspect Based Sentiment Analysis with Gated Convolutional Networks

  • Aspect Based Sentiment Analysis(ABSA)은 일반 Sentiment analysis보다 더 정교한 정보를 제공한다.
    • 텍스트의 주어진 aspect나 entities의 sentiment 특성을 예측하는데 도움을 주기 때문
  • ABSA는 크게 두 가지로 나뉜다.
    • Aspect Category Sentiment Analysis (ACSA)
    • Aspect-term Sentiment analysis (ATSA)
  • 이전에는 LSTM과 attention을 사용해서 이 문제를 주로 해결했다.
    • 하지만 시간이 많이 필요하고 많이 복잡하다.
    • 따라서 위 문제를 해결할 수 있는 Gated Mechanism을 가지고 있는 CNN 모델을 제안한다.
  • 장점 1 : Gated Tanh-ReLU는 주어진 aspect나 entity에 따라 sentiment feature를 선택적으로 출력한다.
  • 장점 2 : 기존 모델들보다 더 간단하다.(attention을 가진 모델들에 비해)
  • 장점 3 : LSTM 모델과 달리 시간에 종속적이지 않기 때문에 병렬적으로 훈련 가능
  • SemEval 데이터셋으로 효과적임을 입증함

1. Introduction

Opinion mining 이나 Sentiment Analysis는 소비자와 생산자에게 가치있는 정보를 제공한다.

전체적인 Sentiment를 예측하는 것보다 review를 이해하는데 ABSA를 사용한다. 특히 text의 aspect categories와 target entities에 관심이 있다.

  • Aspect Category Sentiment Analysis(ACSA)

    사전에 정해진 categories 중 하나에서 aspect를 예측

  • Aspect-Term Sentiment Analysis(ATSA)

    text에서 나타나는 target entities 특성을 식별하는 것인데, 다중 단어 구 혹은 단일 단어일 수 있다.

"Average to good Thai food, but terrible delivery" 라는 문장이 있을 때, ATSA는 Thai food entity에 집중해서 특성을 찾아내고, ACSA는 문장에서 service라는 문장이 없어도 service의 관점에서 특성을 분석한다.

기존의 모델들은 LSTM이나 Attention을 사용했다. 하지만 이들은 더 높은 정확도를 얻기 위해서는 더 많은 분석이 필요하고 더 많은 훈련간을 요구한다. 따라서 gated mechanism을 가지고 있는 CNN을 제안한다.

ACSA task에선 embedding layer 다음에 두 개의 분리된 CNN layer가 있다. multiple filter를 가지고 있는 CNN은 각 receptive field의 많은 granularities에서 n-gram 특징을 효과적으로 추출할 수 있다.

제안하는 gating unit은 두 개의 nonlinear을 가지고 있고, 각각은 하나의 convolutional layer로 연결되어 있다.

aspect 정보가 주어지면 모델은 선택적으로 aspect-specific 정보를 추출한다.

"Average to good Thai food, but terrible delivery" 와 'food' aspect가 주어지면 gating unit은 자동으로 두번째 문장에 있는' delivery'의 부정적인 것을 무시하고 첫번째 문장만을 보고 긍정적으로 예측한다.

여러 단어로 구성된 aspect term인 ATSA에서는 target experssion을 위해서 다른 convolution layer를 모델에 추가한다.

2. Related Work

2.1 Neural Networks

pass

2.2 Aspect based Sentiment Analysis

pass

3. Gated Convolutional Network with Aspect Embedding

더 효율적이고 간단한 Gated Convolutional network with Aspect Embedding (GCAE)를 제안한다. 각 convolutional filter는 각 위치에서의 임베딩 벡터로부터의 다른 세분화에서 n-gram feature를 계산한다.

각 위치에서 convolutional layer에 있는 gating unit은 서로 독립적으로 있다. 그러므로 parallel computing에 더 적합하다.

게다가, 모델은 두 개의 효과적인 filtering mechanism을 가지고 있다.

  1. gating unit
  2. max pooling layer

이 둘은 모두 정확한 생성과 aspect-related sentiment feature를 선택하도록 한다.

CNN에 대한 설명

CNN model은 text classification에서 좋은 성능을 보이고 있다.

CNN은 embedding layer, 1차원의 convolutional layer와 max-pooling layer로 구성되어 있다.

embedding layer는 단어 wi {i=1,...,V}들을 입력으로 받아서 그에 상응하는 embedding vector vi를 반환한다. 이 때, V는 word vocabulary의 크기다. embedding layer는 주로 GloVe와 같은 pre-trained embedding으로 초기화되며, training stage에서 fine-tuned된다.

1차원 convolutional layer는 여러 개의 서로 다른 width를 가지고 있는 kernel을 가지고 있다. Each kernel corresponds a linguistic feature detector which extracts a specific pattern of n-gram at various granularities

전체 sentence를 filter로 slide하고 나면 새로운 feature c를 얻게 된다.

max-pooling layer를 통해 가장 큰 값을 선택한 후 최종적으로 softmax layer를 사용해 sentiment polarity를 예측한다.

)

위 그림은 모델의 구조를 그린 그림이다. Gated Tanh-ReLU Units(GTRU)에서 두 개의 convolutional neurons와 aspect embedding와 연결된다.각 feature들은 다음과 같이 계산된다.

그 다음은 보통 CNN에서 하는 작용들에 대한 설명

4. Gating Mechanisms

GTRU는 pooling layer로 향하는 sentiment 정보들을 조절해준다. 이러한 gating mechanism은 LSTM에서 효과적임이 증명되었다. aspect based sentiment analysis에서 하나의 문장에서 서로 다른 sentiment를 가지고 있는 aspect가 나타나는 것은 흔한 일이다. ReLU로 인해 양수값은 제한이 없지만 음수는 제한이 생긴다. 그러므로 이를 주어진 aspect information과 aspect feature 사이의 유사도라고 할 수 있다. 만약 0이라면 sentiment feature들은 gate에서 block 되고, 그렇지 않다면 증폭될 것이다.

GTU와 GLU의 모델이 있지만 GTRU가 이 두개보다 좋음

5. GCAE on ATSA

ATSA는 주어진 문장에서 aspect term의 sentiment 특성을 예측하는 것이다. 따라서 GCAE에 aspect term에 수행하는 작은 convolution layer를 추가적으로 사용한다.

위 그림에서 ACSA 같은 경우에는 aspect가 하나의 단어로 구성되어 있지만 ATSA는 여러 단어로 구성되어 있기 때문에 작은 CNN을 통해서 정보를 공급받는다.

이 추가적인 CNN은 parallel computing을 사용하여 중요한 특징들을 뽑아낸다.

6. Experiments

6.1 Datasets and Experiment Preparation

본 연구에서는 restaurant와 laptop의 customer review로 구성되어 있는 SemEval workshop 공공 데이터 셋으로 실험을 진행한다. 몇몇 선행 연구에서는 4개의 sentiment label에서 "conflict"를 제거하여 진행을 했고, 따라서 workshop report와 비교를 할 수 없다. 그래서 그들의 것을 구현해서 만들어냈다.

문장에서 서로 다른 aspect와 target에 대해 서로 다른 sentiment label을 가지고 있는 문장이 일반 benchmark보다 더 많다. 그래서 더 정확하게 수행하기 위해서 서로 다른 sentiment나 aspect를 가지고 있는 문장으로 구성된 작지만 어려운 데이터셋을 만든다. 따라서 같은 한 문장이 데이터셋에 서로 다른 sentiment를 가진채로 포함되어 있을 수 있다. 즉, 문장이 4개의 aspect target을 가지고 있으면 한 문장이 4개로 복사되어 데이터셋에 포함되어 있다.

  • SemEval 2014 Task 4 in ACSA

    • 5 aspect : food, price, service, ambience, misc
    • 4 sentiment polarities : positive, negative, neutral and conflict
    • 2014-2016 사이의 음식점 리뷰
    • 이를 Restaurant-Large라고 부름
    • 2014 데이터셋에서는 conflict를 neutral로 대체를 함
    • 2015-2016 데이터셋에서는 aspect terms과 aspect category를 가지고 있는 복수의 쌍이 있을 수 있음
    • p > 0 이면 긍정, p < 0 이면 부정, p = 0 이면 중립
  • SemEval 2014 Task 4(restaurant, laptop)

    • 중복하게 만듦
  • hard dataset은 모델이 한 문장에서 복수의 다른 sentiment polarities를 찾을 수 있는지 테스트 한다. 일반적인 문장들 같은 경우는 잘 분류할 것이다.

6.2 Compared Methods

pass

6.3 Results and Analysis

6.3.1 ACSA

test dataset과 hard test dataset에 대해서 정확도를 측정하였으며, 5번 실행해서 평균과 분산을 기록했다.

LSTM 기반 모델 ATAE-LSTM은 모든 neural-net 중에서 가장 낮은 성능을 보였다.

ABSA는 주어진 aspect와 유사하게 감성 정보를 추출해야 한다. 문장의 추출된 정보로부터 aspect information과 sentiment information을 분리하는게 중요하다. LSTM으로 생성된 context vector는 동시에 두 정보를 수행하고, attention score는 전체 context vector에 대해 수행한다.

GCAE는 ATAE-LSTM은 1.1~2.5%의 성능향상을 보인다.

우선, 본 모형은 GTRU를 가지고 있어서 주어진 aspect에 따라 sentiment information flow를 조절한다. Element-wise gating mechanism은 attention에서 alignment score를 사용하는 대신 미세한 세분화로 사용한다.

두번째로, GCAE는 single context vector를 생성하지 않고, aspect sentiment 특징을 생성한다. hard dataset에서 CNN과 성능 비교를 함으로써, GCAE의 convolution layer가 sentiment의 multiple entities를 세분화하는 것을 보인다.

CNN과 GCN은 ABSA로 디자인되어 있지 않지만 ATAE-LSTM보다 좋음

SVM은 사용할 수 있는 feature의 가용성에 의존. 충분한 양의 sentiment lexicons가 없다면, SVM은 성능이 좋지 못함. 따라서 neural networks에서 leveraging sentiment lexicon을 하는 것은 추후 연구.

hard test 데이터셋은 서로 다른 aspect에 따른 sentiment를 가진 중복의 문장들로 구성되어 있다. CNN과 GCN은 기대했던 것보다 성능이 좋지 못했고, GCAE는 더 높은 성능을 기록했다.

6.3.2 ATSA

ATSA에서는 GCAE의 확장된 버전을 적용한다. 문장에 marked된 aspect term은 multiple 단어로 구성되어 있다. GCAE를 제외하고 다른 모델들은 LSTM 기반이다.

물론 제일 좋은 성능을 가지고 있음

6.4 Training Time

ATSA task에서 가장 빠른 수렴을 보임

6.5 Gating Mechanisms

Gating Mechanisms들의 성능 비교 GTU vs GLU vs GTRU

7. Visualization

pass

8. Conclusions and Future Work

How to leverage large-scale sentiment lexicons in neural networks would be our future work.

Abstract

93개의 다른언어를 위한 joint multilingual sentence representations를 배운다.

우리의 시스템은 모든 언어가 공유하는 BRE single BiLSTM encoder를 사용하고, 보조적인 역할을 하는 decoder가 있다. 공개되어 있는 parallel corpora로 학습한다.

이것은 영어로만 되어 있는 데이터를 가지고 resulting embedding의 top의 classifier를 배울 수 있고, 이 것을 수정없이 93개 언어로 전이 가능하다.

우리의 실험은 XNLI, ML-Doc, BUCC로 진행했고, 직접 만든 112개의 언어로 유사도를 측정했다.

1. Introduction

deep learning이 NLP에 놀라운 인상을 주었지만 여전히 데이터가 부족하고 제한된 실용성을 가지고 있다.

이러한 이슈를 해결하기 위한 첫 번째 방법은 unlabeled data에 대해 언어 표현을 배우는 것이었고, 이를 task-specific downstream에 적용하는 것이였다. 이 방법은 word embedding으로 유명하지만 최근에는 sentence-level의 표현을 원한다.

그럼에도 불구하고 각 모델들은 서로 다른 언어로 학습되어지기 때문에 서로 다른 언어에는 적용할 수 없어서 적은 자원의 언어로 충분한 성능을 내기에는 한계가 있었다.

그래서 이번에는 input과 NLP task에서 general 할 sentence의 vector representation인 전체 언어를 아우르는 sentence embedding을 다루려고 한다.

이러한 표현형에 동기는 여러 가지가 있다.

  1. 제한된 자원을 가진 언어로 많은 언어를 처리할 수 있다는 희망
  2. 한 언어에서 다른 언어로 zero-shot 하려는 욕망
  3. code-switching을 할 수 있다는 가능성

이전에 있던 multilingual NLP 연구에서는 제한된 몇개 언어에 대해서만 수행을 하거나, 특정 task에 대해서만 수행했다. 이번 논문에서는 93개 언어에 대해서 시도를 했으며, 이는 아마도 우리가 처음일 것 이다.

2. Related Work

생략

3. Proposed method

single BiLSTM을 보조적인 역할을 하는 decoder와 함께 사용한다.

3.1 Architecture

Schwenk가 제안한 구조를 바탕으로 구성되었다.

보이는 것과 같이 sentence embedding은 encoder의 output에 max-pooling을 통해서 얻는다.

이러한 sentence embedding은 선형변환을 통해 decoder LSTM을 초기화하는데에 사용하고, 매 step마다 그 input embedding과 결합된다. sentence embedding에 의해 발견되는 input sequence과 관련된 모든 정보를 원하기 때문에 encoder와 decoder 사이에는 다른 연결은 없다.

우리는 포함된 모든 언어가 공유하는 single encoder와 decoder를 사용한다. 이를 위해서 우리는 50k의 연산을 가지고 있고 모든 훈련 corpora의 결합을 배우기 위해 joint byte-pair encoding (BPE)를 만든다.

encoder는 input language가 무엇인지 signal을 가지고 있지 않고, 이것은 독립적인 representation을 배우도록 할 수 있다. 대조적으로 decoder는 생성해야할 언어를 특정하는 ID embedding을 가지며 이는 input과 sentence embedding이 매 step 합쳐진 것이다.

거의 100개 언어를 위해 충분한 공간이 있어야 한다. 이 논문에서 BiLSTM은 512 차원을 가지는 5개의 layer를 가진다. resulting sentence representation은 1024차원이다. (양방향으로 결합되었기 때문?)

decoder는 항상 2048차원을 가진다.

input embedding 크기는 320으로 고정되어 있고, language ID embedding은 32차원을 가진다.

3.2 Training strategy

이전 연구에서 각 input sentence는 모든 다른 언어로 번역되었다. 하지만 이 접근은 언어의 수가 많아질수록 큰 두가지 단점을 가지고 있다. 첫번째는 이 방법은 N개의 평행한 corpus를 가지고 있어야 하는데 모든 언어를 얻기 힘들다. 두번째는 지수승으로 시간이 증가하기 때문이다.

우리의 사전 실험에서 우리는 두 개의 target 언어만을 사용해서 얻는 비슷한 결과를 관찰했다.

그와 동시에 각 언어 조합을 분리 alignment를 고려함으로써 N개의 parallel corpora에 대한 요구를 완화했다.

훈련 파라미터 설명

3.3 Training data and pre-processing

3.2에서 설명했던 것처럼 훈련 과정에서 두 target 언어가 놓여진 bitext를 요구한다. 따라서 이 논문에서는 영어와 스페인어를 골랐다. 대부분의 데이터가 이러한 언어와 정렬되어 있다.

93개의 언어를 다 수집했다. 기계번역 tool을 사용해서 pre-processing을 했다.

4. Experimental evaluation

multilingual sentence embedding을 평가하는 표준 방법이 존재하지는 않다. 그래서 가장 괜찮다고 생각되는 XNLI(4.1)과 cross-lingual document classification(4.2), Bitext mining(4.3)그리고 저자가 직접 만든 평가방법(4.4)로 이 모델을 평가하고자 한다.

4.1 XNLI : cross-lingual NLI

NLI는 sentence representation를 평가하는데 가장 많이 사용되는 방법이다. 두 문장이 주어지고 이 두 문장간의 관계를 파악하는 문제다. XNLI는 영어를 다른 언어로 번역을 한 뒤에 NLI 과정을 거치는 평가방법이다. 이를 BERT와 비교해보았을 때, 영어 단일 NLI에 대해서는 성능이 좋지 못했지만 이를 다른 언어로 번역한 뒤에 성능을 평가했을 때에는 더 좋은 성능을 얻었다.

4.2 MLDoc : cross-lingual classification

4.3 BUCC : bitext mining

4.4 Tatoeba: similarity search

5. Ablation experiments

5.1 Encoder depth

encoder의 깊이가 길어질수록 성능이 더 좋아진다.

5.2 Multitask learning

생략

5.3 Number of training languages

얼마나 많은 언어를 수용할 수 있는지 알 수 있기 위해 93개 언어를 가지고 있는 모델과 18개 언어를 가지고 있는 부분 모델과 비교해보았을 때, 큰 차이가 없다.

6. Conclusions

  • 이 논문에서 93개 언어에 대해 multilingual fixed-length sentence embeddings을 배우는 구조를 제안했다.
  • multilingual sentence embedding을 평가하는 방법들에 대해서 좋은 성능을 보였고, 이 논문에서 만든 평가방법에서도 좋은 성능을 보였다.
  • 다음 연구에서는 self-attention을 encoder 구조를 사용하는 것을 생각해보겠다.
  • 혹은 monolingual data를 사용하거나 unsupervised MT와 같은 방법을 사용하는 전략도 찾아보겠다.

사견

  • 약 93개의 언어를 하나의 embedding으로 만드는 것은 좋다.
  • 하지만 16개의 GPU를 사용했다고 하는데, 이건 facebook이라서 할 수 있는 방법이지 않을까 생각이 든다.
    • 성능으로 찍어 누른 느낌

Gated Mechanism For Attention Based Multimodal Sentiment Analysis

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 데이터의 질이 낮은 실제 데이터에도 적용해보는 것이 목적이다.

Abstract

  • Multimodal sentiment analysis(이하 msa)는 language, visual, acoustic modalities를 활용해서 sentiment를 연구하는 분야다.

  • msa의 중요한 문제는 이러한 modalities에서 정보를 처리하는 joint representation을 추론하는 것이다.

    • 그러나 지금까지의 연구는 이 joint representation을 얻기 위해서 모든 modalities가 input, result로 존재해야 했다.
    • test time에서 noisy나 missing에 민감햇다.
  • seq2seq가 기계번역 부분에서 성공을 거둔 것을 바탕으로 test time에서 모든 input modalities가 필요하지 않을 새로운 방법을 생각했다.

    • 이번 논문에서 modalities간에 번역을 함으로써 joint representation을 배우는 방법에 대해서 소개한다.
  • 이 방법은 source에서 target으로 번역을 해서 joint representation을 배우지만 source modalities만 input으로 필요하다는 것이 key point이다.

    • cycle consistency loss를 사용한다.
    • train 과정에서는 paired multimodal data가 필요하지만 test 과정에서는 source 만 있어도 된다.
  • 항상 당연한 거지만 좋은 성능을 거두었다고 한다.

Introduction

text만 있던 sentiment analysis는 불충분한 면이 있었다. 그래서 최근에는 visual이나 acoustic같은 추가적인 정보를 사용해서 joint representation을 학습하고 있다.

위에서 말했던 것처럼 기존의 multimodal 방법들은 test time에도 모든 modalities가 필요했고, 이는 noisy나 missing modalities에 민감했다.

이 문제를 풀기 위해서 Seq2Seq의 최근 성공에서 영감을 받았다. 그래서 modalities 간에 번역을 함으로써 robust joint multimodal representation을 배우기 위해서 Multimodal Cyclic Translation Network model을 제안한다.

source modality에서 target modality로 번역하는 것이 intermediate representation을 얻을 수 있고, forward translations와 backward translation을 하는 cyclic translation loss를 사용한다.

또한 이를 계층적으로 쌓아서 두 개의 modalities에서 세 개로 확장할 수 있다. MCTN의 다른 장점은 test 과정에서 source modality만 필요하다는 것이다. 그 결과로 robust한 특징을 가지게 된다.

Related Work

생략

Proposed Approach

Learning Joint Representation

XS 와 XT 사이에 Joint Representation은 εST=fθ(XS ,XT) embedding을 반환하는 parametrized function fθ로 정의된다. 그리고 다른 함수인 gw는 joint representation으로 label을 예측하는 함수다.

Train 과정에서는 θ 와 w가 다음과 같은 empirical risk minimization으로 학습된다.

Test 과정에서는

과 같이 계산한다.

Multimodal Cyclic Translation Network

MCTN은 modality 번역으로 robust joint representation을 학습하는 neural model이다.

source 에서 target으로의 번역이 XS 와 XT 사이의 joint information을 포착하는 intermediate representation을 만들어 낸다.

모든 modalities로 부터 maximal information를 가지는 joint representation을 배우도록 하기 위해 cycle consistency loss를 사용한다. 그리고 informative joint representations를 배우면서 input으로 source만 필요하도록 multimodal environment에서 back-translation를 사용한다. cycle consistency loss는 함수 fθ를 encoder와 decoder 부분으로 decomposing 함으로써 시작한다.

source 를 기준으로 보면 encoder는 다음과 같고,

decoder는 다음과 같다.

target으로 translated back을 하면 다음과 같다.

일반적으로 기계번역에서 사용하는 Seq2Seq를 multimodal 에서 사용하는 것이다.

encoder의 output은 다음과 같다.

decoder는 representation에서 target modality로 map 한다.

MCTN은 다음과 같은 식으로 best translation을 구한다.

test 과정에서 target modality에 대한 의존성을 제거하기 위해 forward translated representation을 추론에서 사용했다.

Coupled Translation - Prediction Objective

  • forward translation loss

  • cycle consistency loss

  • prediction loss

  • total loss

hyperparameter들은 이 total loss를 최소화하여 학습한다.

Hierarchical MCTN for Three Modalities

지금까지는 biomodal 이었던 것을 계층적인 구조로 확장해본다. XS에서 XT1,XT2로 넘어가도록 만드는 것이며, 처음에는 XS에서 XT1으로 번역하는 representation을 만들고, 두번째 단계에서는 여기서 얻은 representation에서 XT2로 번역을 한다. 그림으로 보면 다음과 같다.

Experimental Setup

Dataset and Input Modalities

CMU-MOSI, ICT-MMMO, YouTube를 사용했다.

Multimodal Features and Alignment

Glove, Facet, COVAREP를 각 language, visual, acoustic 특징을 뽑아내는데에 사용했다.

Evaluation Metrics

CMU-MOSI에서는 MAE loss function을 사용했고, Acc, F1를 구했다.

ICT-MMMO, YouTube에서는 categorical cross-entropy를 사용했고, F1를 구했다.

공통적으로 MAE와 Corr을 계산했다.

Baseline Models

RMFN, LMF, TFN, MFN, EF-LSTM등과 비교해보았다.

Results and Discussion

Comparison with Existing Work

이번 논문에서 제안한 방법이 가장 성능이 좋았다. 게다가 다른 모델들은 모든 modal이 필요했는데, 이 모델은 language 하나만으로 test한 결과다.

Adding More Modalities

위 실험결과를 보면 bimodal보다 Trimodal의 결과가 더 좋고, language를 source로 활용했을 때, 가장 좋은 성능을 가졌다.

Ablation Studies

위의 여러가지 방법들로 성능 테스트를 해보았을 때, 이번 논문의 방법인 (a)와 (e)가 성능이 가장 좋았다.

특히 cyclic translation이 성능에 많은 영향을 끼치고 있다.

Conslusion

Seq2seq에 cyclic 특징을 넣었을 때 robust 하면서 좋은 성능을 이끌어 냈다. 다른 논문들은 80점의 score를 넘고 있지만 test를 할 때 text 하나만으로도 좋은 성능을 내는 것을 보아 연구할만한 가치가 있는 것 같다.

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 데이터의 질이 낮은 실제 데이터에도 적용해보는 것이 목적이다.

Abstract

93개의 다른언어를 위한 joint multilingual sentence representations를 배운다.

우리의 시스템은 모든 언어가 공유하는 BRE single BiLSTM encoder를 사용하고, 보조적인 역할을 하는 decoder가 있다. 공개되어 있는 parallel corpora로 학습한다.

이것은 영어로만 되어 있는 데이터를 가지고 resulting embedding의 top의 classifier를 배울 수 있고, 이 것을 수정없이 93개 언어로 전이 가능하다.

우리의 실험은 XNLI, ML-Doc, BUCC로 진행했고, 직접 만든 112개의 언어로 유사도를 측정했다.


1. Introduction

deep learning이 NLP에 놀라운 인상을 주었지만 여전히 데이터가 부족하고 제한된 실용성을 가지고 있다.

이러한 이슈를 해결하기 위한 첫 번째 방법은 unlabeled data에 대해 언어 표현을 배우는 것이었고, 이를 task-specific downstream에 적용하는 것이였다. 이 방법은 word embedding으로 유명하지만 최근에는 sentence-level의 표현을 원한다.

그럼에도 불구하고 각 모델들은 서로 다른 언어로 학습되어지기 때문에 서로 다른 언어에는 적용할 수 없어서 적은 자원의 언어로 충분한 성능을 내기에는 한계가 있었다.

그래서 이번에는 input과 NLP task에서 general 할 sentence의 vector representation인 전체 언어를 아우르는 sentence embedding을 다루려고 한다.

이러한 표현형에 동기는 여러 가지가 있다.

  1. 제한된 자원을 가진 언어로 많은 언어를 처리할 수 있다는 희망
  2. 한 언어에서 다른 언어로 zero-shot 하려는 욕망
  3. code-switching을 할 수 있다는 가능성

이전에 있던 multilingual NLP 연구에서는 제한된 몇개 언어에 대해서만 수행을 하거나, 특정 task에 대해서만 수행했다. 이번 논문에서는 93개 언어에 대해서 시도를 했으며, 이는 아마도 우리가 처음일 것 이다.

2. Related Work


생략

3. Proposed method

single BiLSTM을 보조적인 역할을 하는 decoder와 함께 사용한다.

3.1 Architecture

Schwenk가 제안한 구조를 바탕으로 구성되었다.

보이는 것과 같이 sentence embedding은 encoder의 output에 max-pooling을 통해서 얻는다.

이러한 sentence embedding은 선형변환을 통해 decoder LSTM을 초기화하는데에 사용하고, 매 step마다 그 input embedding과 결합된다. sentence embedding에 의해 발견되는 input sequence과 관련된 모든 정보를 원하기 때문에 encoder와 decoder 사이에는 다른 연결은 없다.

우리는 포함된 모든 언어가 공유하는 single encoder와 decoder를 사용한다. 이를 위해서 우리는 50k의 연산을 가지고 있고 모든 훈련 corpora의 결합을 배우기 위해 joint byte-pair encoding (BPE)를 만든다.

encoder는 input language가 무엇인지 signal을 가지고 있지 않고, 이것은 독립적인 representation을 배우도록 할 수 있다. 대조적으로 decoder는 생성해야할 언어를 특정하는 ID embedding을 가지며 이는 input과 sentence embedding이 매 step 합쳐진 것이다.

거의 100개 언어를 위해 충분한 공간이 있어야 한다. 이 논문에서 BiLSTM은 512 차원을 가지는 5개의 layer를 가진다. resulting sentence representation은 1024차원이다. (양방향으로 결합되었기 때문?)

decoder는 항상 2048차원을 가진다.

input embedding 크기는 320으로 고정되어 있고, language ID embedding은 32차원을 가진다.

3.2 Training strategy

이전 연구에서 각 input sentence는 모든 다른 언어로 번역되었다. 하지만 이 접근은 언어의 수가 많아질수록 큰 두가지 단점을 가지고 있다. 첫번째는 이 방법은 N개의 평행한 corpus를 가지고 있어야 하는데 모든 언어를 얻기 힘들다. 두번째는 지수승으로 시간이 증가하기 때문이다.

우리의 사전 실험에서 우리는 두 개의 target 언어만을 사용해서 얻는 비슷한 결과를 관찰했다.

그와 동시에 각 언어 조합을 분리 alignment를 고려함으로써 N개의 parallel corpora에 대한 요구를 완화했다.

훈련 파라미터 설명

3.3 Training data and pre-processing

3.2에서 설명했던 것처럼 훈련 과정에서 두 target 언어가 놓여진 bitext를 요구한다. 따라서 이 논문에서는 영어와 스페인어를 골랐다. 대부분의 데이터가 이러한 언어와 정렬되어 있다.

93개의 언어를 다 수집했다. 기계번역 tool을 사용해서 pre-processing을 했다.

4. Experimental evaluation

multilingual sentence embedding을 평가하는 표준 방법이 존재하지는 않다. 그래서 가장 괜찮다고 생각되는 XNLI(4.1)과 cross-lingual document classification(4.2), Bitext mining(4.3)그리고 저자가 직접 만든 평가방법(4.4)로 이 모델을 평가하고자 한다.

4.1 XNLI : cross-lingual NLI

NLI는 sentence representation를 평가하는데 가장 많이 사용되는 방법이다. 두 문장이 주어지고 이 두 문장간의 관계를 파악하는 문제다. XNLI는 영어를 다른 언어로 번역을 한 뒤에 NLI 과정을 거치는 평가방법이다. 이를 BERT와 비교해보았을 때, 영어 단일 NLI에 대해서는 성능이 좋지 못했지만 이를 다른 언어로 번역한 뒤에 성능을 평가했을 때에는 더 좋은 성능을 얻었다.

4.2 MLDoc : cross-lingual classification

4.3 BUCC : bitext mining

4.4 Tatoeba: similarity search

5. Ablation experiments

5.1 Encoder depth

encoder의 깊이가 길어질수록 성능이 더 좋아진다.

5.2 Multitask learning

생략

5.3 Number of training languages

얼마나 많은 언어를 수용할 수 있는지 알 수 있기 위해 93개 언어를 가지고 있는 모델과 18개 언어를 가지고 있는 부분 모델과 비교해보았을 때, 큰 차이가 없다.

6. Conclusions

  • 이 논문에서 93개 언어에 대해 multilingual fixed-length sentence embeddings을 배우는 구조를 제안했다.
  • multilingual sentence embedding을 평가하는 방법들에 대해서 좋은 성능을 보였고, 이 논문에서 만든 평가방법에서도 좋은 성능을 보였다.
  • 다음 연구에서는 self-attention을 encoder 구조를 사용하는 것을 생각해보겠다.
  • 혹은 monolingual data를 사용하거나 unsupervised MT와 같은 방법을 사용하는 전략도 찾아보겠다.

사견

  • 약 93개의 언어를 하나의 embedding으로 만드는 것은 좋다.
  • 하지만 16개의 GPU를 사용했다고 하는데, 이건 facebook이라서 할 수 있는 방법이지 않을까 생각이 든다.
    • 성능으로 찍어 누른 느낌

Abstract

주어진 text description에서 이미지를 생성하는 것은 두 가지 목표를 가지고 있다.

  1. visual realism

    얼마나 이미지를 정교하게 만들었는가

  2. semantic consistency

    이미지가 주어진 text description을 잘 반영했는가.

GAN을 사용해서 이 문제를 해결하고자 하는 노력이 많이 있었다. 하지만 좋은 성능을 보이지 못했고, 이 논문에서 novel global-local attentive와 semantic-preserving text-to-image-to-text framework인 MirrorGAN을 제안한다.

MirrorGAN은 semantic text embedding module(STEM), global-local collaborative attentive module for cascaded image generation(GLAM), semantic text regeneration and alignment module (STREAM) 이라는 세 모듈로 구성되어 있다.

STEM은 word, sentence-level embedding을 만들고, GLAM은 target image를 다양하고 의미론적으로 유의미하게 만들기 위해 local word attention과 global sentence attention을 사용한다.

STREAM은 생성된 이미지로부터 다시 text description을 생성함으로써 의미론적으로 잘 맞는지 확인한다.

1. Introduction

기존의 T2I 모델들은 text와 상관없는 이미지를 만드는 경우가 많았기 때문에 NLP, vision 모두에서 연구 대상이었다. GAN으로 image를 생성하는 것이 좋은 성능을 보였으나 여전히 text를 input으로 넣었을 때에는 좋지 못했다.

이에 대해서 수많은 연구들이 진행되었지만, text와 image 사이의 gap으로 인해서 어려움을 겪었다. 최근에는 attention mechanism이 이러한 문제를 해결하는 것처럼 보였지만 word-level attention을 홀로 사용하는 것은 text와 image modalities 사이의 다양성으로 인해 global semantic consistency를 보장하지 못했다.

T2I는 image captioning의 반대 문제이다. 따라서 이를 활용하기 때문에 MirroGAN이라고 부르게 된다.(뒤의 모델을 보면 이해가 될 것이다.) 앞서 말한 것과 같이 MirroGAN은 STEM, GLAM, STREAM을 가지고 있다.

모델을 end-to-end로 학습하기 위해서 visual realism adversarial loss 와 text-image paired semantic consistency adversarial loss를 가지고 있다.

내용을 요약하면 다음과 같다.

  • T2I와 I2T를 동시에 활용하기 때문에 MirrorGAN이라고 부른다.
  • preserve cross-domain semantic consistency와 smoothen the generative process를 위해서 global-local collaborative attention 모델을 제안한다.
  • GAN에서 사용하던 loss를 사용하지 않고 다른 loss를 사용한다.

2. Related work

생략

3. MirrorGAN for text-to-image generation

Figure 2는 MirrorGAN의 전반적인 구조다.

3.1 STEM : Semantic Text Embedding Medule

text description을 local word-level feature과 global sentence-level feature으로 만든다. text desciption T로 부터 semantic embedding를 추출하기 위해서 RNN을 사용한다. Text의 다양성 때문에 few permutation을 가진 text는 비슷한 의미를 공유한다. 따라서 conditioning augmentation 방법을 사용한다. robustness를 부여 할 수 있다.

3.2 GLAM: Global-Local collaborative Attentive Module in Cascaded Image Generators

세 개의 image generation network를 연속적으로 쌓음으로써 multi-stage cascaded generator를 구축한다. 이는 좋은 성능을 낸다.

word-level attention model으로 word-context feature를 생성한다. 이 것은 word embedding w와 visual feature f 를 input으로 넣어준다. word embedding w는 visual feature의 semantic space로 변환한다. 그리고 이 것은 이전 visual feature와 곱해진다. 최종적으로 내적 연산을 통해서 word-context feature를 얻는다.

sentence-level attention model로 global constraint를 강화한다. augmented sentece vector는 visual feature의 semantic space로 변환한다. 그 다음에 element-wise 곱을 한다.

3.3 STREAM: Semantic Text REgeneration and Alignment Module

위에서 설명한 것과 같이, MirrorGAN은 주어진 text 설명과 의미론적으로 일치하게 만들기 위해서 생성된 image에서 text 설명을 다시 생성하는 STREAM 단계를 가지고 있다. 널리 사용하는 image caption framework 기반의 encoder-decoder를 사용한다. 더 나은 image captioning model을 사용하면 더 좋은 결과를 얻을 수 있을 것이다. 그러나 이번 연구에서는 제안한 아이디어를 확인하기 위해서 간단한 구조를 사용했다.

encoder는 ImageNet으로 pretrain된 CNN을 사용하고 decoder는 RNN을 사용한다. 최종 단계에서 생성된 image를 CNN encoder와 RNN decoder에 넣어준다.

pre-trained STREAM은 MirrorGAN이 더 안정적인 훈련 과정과 수렴속도를 빠르게 만든다.

3.4 Objective functions

MirrorGAN의 훈련과정에서 G와 D가 서로 훈련이 된다.

G는 위 loss를 최소화함으로써 훈련이 된다. Ii는 생성된 의미지를 의미한다. 첫 번째 term은 visual realism adversarial loss이고 image가 visual 쪽으로 real인지 fake인지를 판단한다. 두 번째 term은 text와 image가 의미론적으로 일치하는 가를 나타낸다.

여기에 STREAM loss를 추가한다.

최종 G Loss는 다음과 같이 사용한다.

Discriminator loss는 위와 같이 사용한다.

4. Experiments

+ Recent posts