Generative AI에서 Attention에 대한 모든 소란은 무엇입니까?

Feb 20 2023
AI 및 ML 분야의 얼마나 많은 사람들이 실제로 그것이 무엇인지 알지 못한 채 Vaswani et al., Transformer paper의 유명한 "Attention" 메커니즘에 대해 역설하는 것에 놀랐습니다.

AI 및 ML 분야의 얼마나 많은 사람들이 실제로 그것이 무엇인지 알지 못한 채 Vaswani et al., Transformer paper 의 유명한 "Attention" 메커니즘에 대해 역설하는 것에 놀랐습니다 . Attention이 1990년대부터 시그마 파이 단위로 사용되었다는 사실을 알고 계셨습니까? 다음은 복잡한 세부 사항에 들어가지 않고 매우 높은 수준의 초보자를 위한 필수 입문서입니다.

트랜스포머란 무엇입니까?

트랜스포머는 자연어 처리(NLP) 작업에서 많은 인기를 얻은 일종의 딥 러닝 모델입니다. 트랜스포머의 필수 구성 요소 중 하나는 어텐션(attention)으로 모델이 입력 시퀀스를 처리하는 동안 입력 시퀀스의 특정 부분에 집중할 수 있습니다.

주의란 무엇입니까?

어텐션은 딥 러닝 모델이 처리하는 동안 입력 시퀀스의 특정 부분에 선택적으로 집중할 수 있도록 하는 메커니즘입니다. 어텐션 이면의 아이디어는 인간이 시각 정보를 처리할 때 장면의 다른 부분에 집중하는 방식에서 영감을 받았습니다. 예를 들어, 우리는 문장을 읽을 때 중요한 정보를 전달하는 특정 단어에 더 집중하는 경향이 있습니다.

트랜스포머 주의

트랜스포머는 모델이 처리하는 동안 입력 시퀀스의 다른 부분에 집중할 수 있도록 하는 self-attention이라는 특정 주의 메커니즘을 사용합니다. Transformers의 self-attention 메커니즘은 multi-headed Attention이라고도 합니다.

Self-attention은 입력 시퀀스의 가중 합계를 계산하여 작동합니다. 여기서 가중치는 시퀀스의 각 요소와 쿼리 벡터 간의 유사성을 기반으로 계산됩니다. 쿼리 벡터는 입력 시퀀스의 현재 표현을 기반으로 계산되며 모델의 각 레이어에서 업데이트됩니다.

가중치를 계산하기 위해 입력 시퀀스는 세 개의 벡터로 변환됩니다.

  1. Q: 쿼리 벡터,
  2. K: 키 벡터
  3. V: 값 벡터.

가중치가 계산되면 주의 벡터를 제공하는 값 벡터의 가중 합계를 계산하는 데 사용됩니다. 그런 다음 이 주의 벡터는 입력 시퀀스의 현재 표현과 결합되어 self-attention 계층의 출력을 생성합니다.

멀티 헤드 주의

트랜스포머는 또한 모델이 다른 위치에 있는 다른 표현 하위 공간의 정보에 주의를 기울일 수 있도록 하는 멀티 헤드 어텐션을 사용합니다. Multi-headed 어텐션은 각각 자체 쿼리, 키 및 값 벡터를 사용하여 여러 어텐션 작업을 병렬로 수행합니다. 이러한 병렬 주의 작업의 출력은 연결되고 선형으로 변환되어 self-attention 계층의 최종 출력을 생성합니다.

Attention Mechanism과 관련된 Real Seminal 작업

Attention 메커니즘의 중요하고 영향력 있는 사용을 인용해야 하는 경우 다음 세 가지 '진짜' 중요한 혁신이 있습니다.

1) Larochelle and Hinton(2010) 나중에 CapsNet을 발생시킨 Attention에 대한 놀라운 통찰력( 포빌 일별과 3차 볼츠만 머신을 결합하는 방법 학습 )
2) 2014년부터 Graves의 Content-Base Attention 및 2016년부터 Self-Attention 쳉 논문.
3) Bahdanau(2014)의 Additive Attention(The real seminal paper) 과 Luong(2015)의 Multiplicative Attention . 이것은 참으로 돌파구였습니다.

self-attention도 곱셈 내적도 새로운 것이 아니며 트랜스포머보다 몇 년 앞서 있습니다.

점진적인 혁신으로 트랜스포머가 한 일은 두 가지입니다(나중에 밝혀진 바와 같이 매우 아름답고 시적입니다).

1) recurrence와 convolution을 모두 분배(주의만 남음)
2) self-attention을 인코더와 디코더 모두에 대해 누적된 포인트 방식의 완전히 연결된 레이어로 사용합니다.

이것의 아름다움은 확장된 내적(Luong Attention 위에 구축됨)이었습니다.

우리는 나중에 측면에서 수학 토론을 할 수 있지만 급진적이거나 반복적인 것에 대해 철학적으로 지겹도록 토론하기 전에 기술적인 복잡성을 선험적으로 배워야 합니다! 그것은 중요하지 않습니다.

Attention은 다음과 같은 형태로 나타납니다:
1) Implicit vs Explicit Attention
2) Soft vs Hard Attention
3) Global vs Local
4) For Convolutions: Spatial vs Channel Attention.

또한 주의에 대한 다양한 유형의 정렬 점수가 있습니다.
1) 코사인 점수에 기반한 콘텐츠 기반
2) 가산(Bahdanu et al.)
3) 위치 기반, 일반 및 승법(세 가지 개별 복잡성)(Luong)
4) 스케일 내적(Vaswani 외)

결론

Attention은 트랜스포머의 중요한 구성 요소로, 모델이 처리하는 동안 입력 시퀀스의 특정 부분에 선택적으로 집중할 수 있도록 합니다. Self-attention은 입력 시퀀스의 가중 합계를 계산하여 작동합니다. 여기서 가중치는 시퀀스의 각 요소와 쿼리 벡터 간의 유사성을 기반으로 계산됩니다.

Multi-headed Attention을 사용하면 모델이 다양한 위치에서 다양한 표현 하위 공간의 정보에 주의를 기울일 수 있으므로 입력 시퀀스에서 복잡한 패턴을 캡처하는 모델의 기능이 향상됩니다. 전반적으로 관심은 NLP 작업에서 Transformers의 성공의 핵심이었으며 계속해서 딥 러닝 연구의 중요한 영역이 될 것입니다.