2020/07/20

2020. 9. 20. 09:30NewsLetter

최근 소식

  • UTC-0 시간대 기준, 7월20일까지 (한국시간으로 7월21일 오전) ECCV 2020 Early-Bird 등록 마감 기한입니다.
  • CIKM 2020 Notification 이 나왔습니다. 곧 Accepted paper list 가 나오면, 다시 소식 전해드리겠습니다.

[S1] Improving Style-Content Disentanglement in Image-to-Image Translation

논문 원문: https://arxiv.org/abs/2007.04964 (Arxiv)

한줄평 : 더욱 더 정교해진 Style translation 기법의 등장!

  • Image-to-image translation은 서로 다른 도메인 간의 이미지를 변환하는 기술입니다.
  • 이 task에서 가장 핵심은 다른 도메인 간의 content와 도메인에 종속된 style를 분리하여 content를 유지하는 것인데, content에 대한 라벨 정보가 없어 어려웠습니다.
  • 그래서 기존의 모델들은 conditional discriminator를 두어 domain과 content를 분리하고자 하였으나, content와 style이 분리가 이루어지지 않는다는 한계가 존재합니다.
  • 이 모델에서는 VAE 기반의 content bottleneck을 도입하여 도메인에 독립된 content code를 생성하여 style과 분리하고자 하였습니다.
  • AFHQ, CUB-47 등의 데이터로 비교한 결과 현재 SOTA인 StarGAN-v2에 비해 정량적으로도 높은 성능을 보였으며, 정성적으로 StarGAN-v2에 비해 content와 style을 잘 구분하여 translation하는 모습을 보여주었습니다.

[S2] AI Assisted Apparel Design

논문 원문: https://arxiv.org/abs/2007.04964 (KDD-2020 Workshop)

한줄평 : 패션 디자이너분들, 이젠 AI가 디자인해준답니다.

  • 패션 디자이너들은 트렌드의 변화와 고객의 니즈를 파악함과 동시에 빠르게 많은 의류를 디자인 해야 합니다.
  • 이러한 작업을 돕기 위한 AI assist 모델을 제시하고 이를 위한 데이터셋도 공개했습니다.
  • 기존에 공개된 상업적으로 사용하기 충분치 않아 의류의 부위별로 세분화한 패션 데이터셋인 DeepAttributeStyle을 공개했습니다.
  • AI assist는 이미지를 segmentation하고 선택된 옷의 부위를 모아 새로운 디자인을 하는 Apparel-Style-Merge Assitant와 이를 통해 나온 디자인을 reference 스타일로 바꿔주는 Apparel-Style-Transfer Assitant의 pipeline으로 구성됩니다.
  • 실제 패션 대학의 교수님들을 대상으로 설문 조사한 결과 90% 이상이 창의적 영감을 준다고 답했고 ,80% 이상이 결과물 퀄리티에 만족한다고 답했습니다.

[s3] One Policy to Control Them All: Shared Modular Policies for Agent-Agnostic Control

논문 원문: https://arxiv.org/abs/2007.04964 (ICML-2020)

한줄평 : 모양은 서로 다르지만, 하나의 방식으로 컨트롤 가능!

  • 로봇의 경우 agent마다 서로 다른 형태와 동작 방식 등으로 인해 RL에서는 multiple agent를 위한 하나의 general-purpose controller가 pretrain 되기 어렵습니다.
  • 그럼에도 이 논문에서는 이웃한 actuator끼리의 message passing procedure을 통해 임의의 agent에 대한 일반화 가능한 policy 구조를 제시했습니다.
  • Agent들의 limbs를 node로 두어 tree 구조로 생각했을 때, message passing은 한쪽 방향으로만 message가 이동하는 방식(Bottom-up, Top-down)과 양쪽 모두 message가 이동하는 방식(Both-wav)으로 구분할 수 있습니다.
  • Gym MuJoCo의 Walker2D-v2, Humanoid-v2, Hopper-v2, HalfCheetahv2등의 다양한 모델들과 일부가 제거된 변형들을 대상으로 실험한 결과 Both-way가 Bottom-up이나 Top-down보다 성능이 좋았고, 제거된 정도가 심할수록 baseline인 단일 학습모델보다 더 성능이 좋았습니다.
  • 또한 Both-way에서 agent의 포즈와 message 간의 상관관계를 분석하여 주고 받는 message의 값으로 agent의 포즈를 결정하는 역할임을 밝혔습니다.

[L1] Transformers are RNNs: Fast Autoregressive Transformers with Linear Attention

한줄요약: Transformer 내의 Attention 계산의 효율성을 개선하여, Complexity 를 O(N)O(N)으로 감소

논문 원문: https://arxiv.org/abs/2006.16236 (ICML-2020)

텍스트, 스피치, 비디오, 유저의 활동 로그 등 많은 데이터들은 '순서'를 가지고 있고, Sequential Data (순차 데이터) 라고 부르곤 합니다. 즉 데이터간에 시간 간격이 존재한다고 볼 수 있으며, 텍스트와 같이 이러한 시간 간격이 동일할 경우에는, Recurrent Neural Network 를 많이 사용하여 왔습니다. (시간 간격이 동일하지 않은 경우에는, Time LSTM 또는 Gaussian Processes Regression 기반의 방법론들을 활용할 수 있습니다!)

Recurrent Neural Network는 recurrent 구조를 통해서, 데이터의 순차 정보를 자연스럽게 반영할 수있습니다. 하지만, 그러한 recurrent 구조는 병렬연산을 어렵게 만들어, 연산속도에 제약이 되는 경우가 많습니다. (물론 이러한 RNN 의 연산속도를 빠르게 만들고자 시도하는 연구들은 (IndRNN, QRNN) 매우 많습니다!)

Motivation

그에 반해, Transformer는 Attention Block 과 Positional Encoding 을 통해서 Recurrent 구조에 기대지 않고, Sequential Data 를 모델링하고자 한 연구 입니다. Recurrent 구조가 없기 때문에, 병렬화를 통해서 연산속도를 증대시킬수 있지만, 연산량이 데이터 길이의 제곱에 비례한다는 큰 문제가 있습니다. 그 까닭에, 길이가 매우 긴 시계열 데이터의 경우에는 Transformer를 적용하기가 쉽지 않았습니다. 이를 개선 하기 위해, Attention을 일부 영역에 대해서만 계산하는 (표현력에 제약이 생길 수 있습니다.) 여러가지 변형들 (Star Transformer, Sparse Transformer)이 제시되어 왔지만, 이러한 제약 없이 Attention 계산을 매우 빠르게 할 수 있다면 얼마나 좋을까요? 오늘 소개드리는 논문이 바로 그 방법론을 제안한 논문입니다. 전체적인 아이디어는 다음과 같습니다. 기존의 Attention 식은 다음과 같습니다.

편의상 다음과 같이 가정해보도록 하겠습니다. Qi,Kj,VjRN×DQ_i,K_j,V_j\in R^{N\times D} (N:N: 문장의 길이, D:D: Hidden Dimension) 여기서 sim(Qi,Kj)sim(Q_i,K_j)QiQ_iKjK_j 사이의 similarity를 의미 합니다. 기존의 Transformer 에서는 scaled dot-product with softmax 로 similarity 를 측정하고 있습니다. 여기서 sim(Qi,Kj)sim(Q_i,K_j) 를 계산하는 과정에서, 그리고 계산된 값을 뒤의 VjV_j 와 곱하는 과정에서 모두 O(N2)O(N^2) 의 연산량이 필요하게 됩니다.

효율적인 Attention 계산

최근에는, 위의 sim(Qi,Kj)sim(Q_i,K_j) 를 scaled dot-product with softmax 대신에, RBF kernel 을 써도 성능이 유지되거나 더 좋아지는 경우가 있다고 주장한 논문이 나왔습니다. 그리고, 그러한 RBF kernel 은 특정한 random Fourier feature, ϕ\phi의 inner product 로 근사할 수 있다는 것이 널리 알려져 있구요. 즉, sim(Qi,Kj)=ϕ(Qi)Tϕ(Kj)sim(Q_i,K_j)=\phi(Q_i)^T\phi(K_j) 로 쓸 수 있게 되는 것입니다. 이 특정일 이용하여, 본 논문에서는 위의 수식을 아래와 같이 다시 설계하였습니다.

무엇이 차이점인지 혹시 보이시나요? sim(Qi,Kj)sim(Q_i,K_j)ϕ(Qi)Tϕ(Kj)\phi (Q_i)^T\phi(K_j)로 분할하였고, 곱의 순서를 변경한 것입니다. Transformer 의 attention 연산에서 O(N2)O(N^2)가 걸리는 가장 큰 이유는, N×NN\times N 사이즈의 attention weight matrix (sim(Qi,Kj)sim(Q_i,K_j)) 가 만들어지기 때문인데, 곱의 순서를 바꿈으로써, 그 문제를 해결하였습니다.

간단히 요약 드리면 다음과 같습니다. 그림1과 같이 계산되던 것을, 본 논문에서는 곱의 순서를 변경함으로써 complexity 를 O(N)O(N)으로 줄일 수 있었습니다.

<그림 1: Transformer 내에서의 일반적인 attention 계산 (softmax 연산 생략)>

<그림 2: 본 논문에서 제시하는 attention 계산>

본 논문에서는 ϕ(x)=elu(x)+1\phi(x)=elu(x)+1 로 정의하고 있습니다. 사실, scaled dot-product with softmax 연산을 RBF kernel 로 변경했다는 점에서, 그리고 RBF kernel 의 random Fourier feature map 을 쓰지 않고, elu 기반의 ϕ(x)\phi(x) 를 사용했다는 점에서, 본 논문에서 제시하고 있는 attention 은 기존의 attention 과는 구조적으로 많이 다릅니다. (그 까닭에, 기존 softmax 기반의 attention 보다 성능 면에서 다소 떨어지는 결과를 보이기는 합니다.)

Causal mask 를 고려한 효율적인 Attention 계산

추가적으로, causal mask 를 고려하기 위해서 (ii 번째 position 은 jij\leq i position 에만 영향을 받도록 하기 위한 mask), 다음과 같이 식을 변형합니다.

즉, 위와 무엇이 다른지 보이시나요? 노란색으로 하이라이트 된 부분이 원래는 NN 이었는데, 그게 ii 로 변경되었습니다. 그리고, Si=j=1iϕ(Kj)VjTS_i=\sum_{j=1}^{i}\phi(K_j)V_j^T, Zi=j=1iϕ(Kj)Z_i=\sum_{j=1}^{i}\phi(K_j)로 정의하면, 아래와 같이 다시 적을 수 있습니다. SiS_iZiZ_iSi1S_{i-1}Zi1Z_{i-1} 기반으로 constant time 으로 계산 가능하기 때문에, causal mask 연산을 고려한다고 해도, complexity 는 여전히 O(N)O(N) 이 유지됩니다. (최근에 O(N)O(N) complexity 로 줄인 또 다른 Linformer라는 또 다른 모델이 나왔으나, 해당 모델은 아직 causal mask 를 효과적으로 적용할 수 있는 방법을 제안하지 못하였습니다.)

Transformer 와 RNN 의 연결

본 논문에서는, attention 을 개선시키는 것 외에, RNN 과의 연결성 또한 수식화 하였습니다 (논문이 참 알차네요!). 지금까지 위에서 계산한 Attention 과정을, 다음과 같이 다시 써볼 수 있습니다. SiS_iZiZ_i 를 계산 하였고, 그를 기반으로 ViV_i를 계산하고 있었습니다. 이를 수식화 하면 아래와 같습니다 (flf_l은 Transformer 내에 존재하는 feed-forward layer 입니다.).

즉, Transformer 도 RNN 과 유사하게, Recursive term 으로 표현이 될 수 있다는 것이고 (sis_iziz_i  사이의 연결관계가 없고, gate 가 존재하지 않는다는 점만 제외한다면, cell state 가 두개 존재하는 LSTM 과 비교적 유사하다는 생각이 드네요!), 그 까닭에 논문 제목이 "Transformers are RNN" 이라는 문구가 붙게 된 것 같습니다.

실험결과

아래 그림은 input data 의 길이 NN292^9부터 2162^{16}까지 변화시키면서 Time 과 GPU memory 양을 plot 한 결과 입니다. sequence length 가 길어짐에도 불구하고, 본 논문에서 제시하는 "linear" 의 Time 과 GPU memory는 NN에 linear 하게 증가하는 것을 알 수 있습니다 (softmax 기반의 기존의 attention은 qudratic 하게 증가).

다음은 Image generation Task 입니다. 이미지의 pixel 각각을 input 으로 본다면, image 의 크기만큼의 길이를 가진 sequence로 변환할 수 있습니다 (즉, 32×\times32 사이즈의 CIFAR-10은 1024 길이의 sequence 로 생각할 수 있습니다). 아래 표는 CIFAR-10에 대해서 실험을 진행하였고, 이미지 한장 처리하는데에 걸리는 시간이, 기존 attention 대비 무려 4,000배 가량 빨라진 것을 확인할 수 있습니다.

추가적으로 Speech Recognition Task 도 수행을 하였습니다. 앞에서 잠깐 말씀드린적이 있었는데, 본 논문은 attention 을 효율적으로 개선하였지만, 그 과정에서 기존 softmax 기반의 attention 과는 사실, 많이 달라지게 되었습니다 (scaled dot-product with softmax 를 kernel 로 근사하면서, random Fourier feature 는 elu 기반의 함수로 활용). 그 까닭인지, 성능 면에서는 기존 Softmax 대비 아쉬운 성능을 기록하였습니다.

결론

본 연구에서는 Transformer 내에 존재하는 attention 을 효율적으로 개선하여, 시간복잡도와 공간복잡도 모두 O(N)O(N)으로 감소시켰습니다 (causal mask 가 존재하는 autoregressive 상황에서도 적용 가능하구요!). 뿐만 아니라, Transformer 또한 Recurrent 구조로 수식화 될 수 있다는것을 밝혀서, Transformer 와 RNN 의 연결성에 대해서도 집중하였습니다 (이러한 새로운 발견은, 추후 또 다른 좋은 연구들이 나올 수 있는 발판이 될 것이라고 생각합니다!). 다만, 본 연구에서 제안하는 모델은 기존의 softmax 기반의 attention 과는 다소 괴리가 있습니다. 그 까닭인지, 성능 면에서는 다소 아쉬운 결과들도 있었구요. 기존의 softmax 기반의 표현력도 포함하면서, 복잡도가 O(N)O(N)을 유지할 수 있는 추후 연구들이 필요할 것 같습니다.

'NewsLetter' 카테고리의 다른 글

2020/08/24  (1) 2020.09.20
2020/08/17  (0) 2020.09.20
2020/08/10  (0) 2020.09.20
2020/08/03  (0) 2020.09.20
2020/07/27  (0) 2020.09.20