@@@ 인공지능/이론

Attention

HTG 2022. 2. 22. 12:34
728x90

visual attention

Show, attend and tell

Transformer (Self-attention)

Sound representation

Speech processing - Modules and applications

 

 

Metric learning : positive pair(연관성이 있는)는 거리를 가깝게 negatve pair는 멀어지게 유도하는 학습 방법. 

을 사용하여 joint embedding space를 디자인

 

기존 이미지 캡셔님의 문제점 - Attention의 등장(요즘 유행하는 Transformer에 나오는 그 Attention 맞음)

- 상대적인 관계나 공간 위치가 고려되지 않음.

- Global average pooling 같은 과정에서 작은 사물들이 무시되는 경향이 있음.

- 문장이 생성이 될 때 어떤 것을 보고 판별한 것인지 해석이 되지 않을 때가 있음.

 

 

Show, attend and tell

1. 입력 이미지

2. CNN모델로 Feature 추출

3. RNN을 통한 각 스템의 Attention 위치 추론

4. 단어 단위로 생성

 

Visual attention

사람이 인식하는 것처럼 스캔하듯이 특정 부분들을 기점으로 이미지를 파악하는 방식을 기계에서 구현한 방식이 visual attention 메커니즘.

 

Global vector 대신 공간 정보를 가지고 있는 중간 레이어에서 특징 V 추출.

V는 Attention의 후보들이 됨.(feature vector 들은 이미지의 서로 다른 부분들에서 추출된 것)

 

 

Attention으로 image captioning 하는 방법

Show, attend and tell - Inference

이미지에서 특징 맵을 추출 -> attention(s1) 설정 -> 이를 통해 특징 벡터(z1) 추출 -> start token를 통해 첫단어 추출

-> 다시 attention(s2) 설정 -> 특징 벡터(z2) 추출 -> 다음 단어 추출 (반복)

 

 

최근 발전 동향 - GPT-3

 

 

Transformer - Attention is all you need

Transformer 모델이란?

- self-attention 레이어를 적층해서 조립한 모델

- 다양한 자연어처리 테스크를 하나의 모델로 모두 해결

- GPT-3 : Transformer 기반 총 1750억 개의 Parameter 사용

 

Self-attention 레이러란?

기존의 visual attention의 경우, text나 외부데이터로 부터 query feature를 추출하고 그 text와 visual data의 연관성을 보기위해서 visual data가 key 또는 value로 매핑되서 둘 사이의 연관관계를 봤음.

하지만, self-attention 같은 경우에는 하나의 input data로부터 query, key, value가 모두 뽑혀나와서 어떤 input data내에서 관계성을 본다고 할 수 있음.

그리고 query와 key 사이에서 attention weight을 측정함. 그 중하나를 softmax로 뽑고 value와 연산을 한 뒤 output을 내놓는다.

 

Multi-head attention

지금까지는 하나의 attention에 집중해서 어떤 feature를 넘겨줄지 결정하였지만 이는 하나의 관점만 보고 판단하는 것과 같음 이를 위해 제시된 것이 multi-head attention

- 다양한 관계성 학습에 유리

여러 attention을 사용하여 concat후 linear layer에서 조합하게 되면 여러 관점을 고려할 수 있음.

 

 

Sound representation

전통적 음향 특징 추출법 : Waveform, Power spectrum, Spectrogram

 

퓨리에 변환

입력 신호의 각 주파수의 정현파가 얼만큼 포함되어 있는지 분석하는 기법

 

STFT(short-time fourier transform) : 짧은 구간의 윈도우 내에서 퓨리에 변환을 함으로써 단시간의 주파수 특성을 분석하는 방법

 

스펙트로그램

위의 과정을 거쳐서 만든 결과물

각 짧은 윈도우에서 추출된 스펙트럼을 시간 축으로 쌓은 것

대부분은 음성 관계 인공지능 모듈의 입력과 출력으로 흔히 사용되는 표현

 

활용 - Joint embedding

Scene recognition by sound - 소리를 통해 영상의 장소를 파악하는 연구.

 

Spectrogram to Waveform?

스팩트로그램에서 다시 재생가능한 Waveform으로 완벽하게 복원 할 수 있을까? 어렵다!

그래서 나온 것이 Vocoder

Vocoder : 스팩트로그램에서 waveform으로 변환을 근사해주는 모듈

 

예시) WaveNet Vocoder

WaveNet Vocoder : Large receptive field 1D CNN with gated activation.

receptive field : 히든 유닛이 input의 어느 정도 영역을 참조해서 결정이 되었는가에 대한 field

receptive field를 크게하기 위해서는 convulㅕtion layer를 많이 쌓아야함. 이를위해 layer는 적게 쌓으면서 큰 receptive field를 가지기 위한 방법이 WaveNet Vocoder

몇개씩 건너 뛰면서 convulution 하는 방법.

 

무조건 많은 receptive field를 가지는 것이 좋은 것은 아님. 소리가 끊어지거나 그런 경우 그 부분을 제외하는 것이 gated activation

 

WaveNet vocoder 예시

TTS (Text to Speech )

Text => Mel-spectrogram => 1D waveform

                         (이과정에서 WaveNet Vocoder 사용)

 

 

활용 - Speech2Face

수화기 건너편에 있는 사람의 얼굴을 목소리로 부터 상상할 수 있을까?

'@@@ 인공지능 > 이론' 카테고리의 다른 글

Multi-Model Learning  (0) 2022.02.22
영상 처리(CNN)  (0) 2022.02.21
기계학습  (0) 2022.02.21