티스토리 뷰
Reference(원본):
bair.berkeley.edu/blog/2021/03/23/universal-computation/
구독중인 버클리 대학의 블로그인데 영어 공부도 할겸 겸사겸사 번역작업
요약을 미리하지면,
Transformer라는 자연어 학습용으로 개발된 신경망 모델이 있는데, 이 녀석이 일반화 능력이 엄청좋다는 것이다. 어느정도냐면 언어모델에 대해 미리 학습시키고 그 파라미터를 고정시킨 후 이미지 분류작업에대해 간단히 fine-tuning 학습만 시켜줘도 아주빨리 학습하고 정확도도 좋다는 것이다. 특히 대용량 언어모델에 대해서 미리 학습해 놓으면 다른 데이터 모델에 대해서 미리 학습시켜놓은 것보다 타 도메인 fine tuning 학습에 대해 일반화 능력이 더 뛰어난 것 같다고 실험으로 보여준다. 그래서 버클리 연구진은 이 transformer라는 모델이 무려 범용 컴퓨터 엔진을 인공 신경망의 구현에대한 가능성 혹은 실마리로 보고있는 듯 하다. XOR 비트 연산마저 따로 학습 없이 가능하다는 것을 보여주는데, 컴퓨터를 XOR만 가지고 만들 수 있다는 것을 생각하면 나름 흥미로운 듯. 포스트를 읽으려면 attention, transformer학습과 관련된 여러 지식이 필요해서 결론만 원하는 사람들을 위해 요약을 미리써둠.
<번역>
Transformer는 자연어 처리, 비전, 단백질 모델링, 음악, 로보틱스 등 다양한 분야에서 성공적인 성과를 거두어왔다. Transformer를 엄청 큰 학습데이터를 이용해 학습시키고 downstream task(?)에서 미세조정(fine-tuning) 을 하는 것이 최근 대형 학습 모델 기법의 트렌드이다. 이러한 트렌드는 특정한 작은 상황에 대해 과적합(overfitting)되는 것을 피하기 위해, 대용량 데이터셋에서 학습되어 전체 문제에 대한 일반화 능력이 있는 고수준 임베딩(high-level embedding) 을 이용한다.
우리는 이러한 고수준 임베딩들을 전달하는 대신 중간단계의 계산 모듈들을 전달하는 방법에 대해 연구했다. 대용량 이미지 데이터에 대해서 학습시키고 작은 이미지 데이터셋에서 fine-tuning을 하는 대신에, 대용량 언어 데이터에서 학습을 한 후 작은 임지 데이터 셋에서 fine tuning을 진행했다. Attention mechanism이 특정 학습 도메인(modality)에만 적용 될 수 있다는 기존의 아이디어와 달리 우리는 self-attention 레이어가 서로 다른 도메인에 대해서도 일반화(generalize) 되어 fine-tuning될 수 있다는 사실을 발견했다.
이것을 보여주기 위해 우리는 미리 학습(pre-trained)된 transformer language model(언어모델)을 이용해 다양한 분류 작업에 적용해 보았다. 예) 수치 해석, 영상, protein fold prediction. 그리고 layer norm 파라미터들을 제외한 모든 self-attention block들을 고정(freeze)시켰다. 마지막으로 우리는 새로운 타입의 입력을 받기위해 입력 레이어(input layer)를 새로 하나 추가하고 출력 레이어(output layer)를 재초기화(reinitialize)하여 새로운 분류작업을 수행 할 수 있도록 했다. 우리는 이것을 "Frozen Pretrained Transformer"라 부른다.
<이해가 잘 안되는 부분>
분류 작업 전반에 걸쳐 모델에 제공되는 토큰은 적은 양의 정보를 나타낸다. 예를 들어 단일 비트 또는 4x4 이미지 패치일 수 있다. 특히 토큰들은 downstream task에서 전혀 학습되지 않아 self-attention 메커니즘을 통해서만 서로 통신할 수 있다. 우리는 이러한 메커니즘이 다른 도메인의 zero shot에 사용될 수 있는지 연구했다.
우리는 테스트 정확도를 아래와 같이 확인했다. 우리의 Frozen Pretrained Transformer가 transformer를 다른 도메인에 대해 처음부터 학습시킨 것만큼 달성하거나 능가하는 것을 확인했다! 이것은 attention 메커니즘이 임의의 입력들에 대한 일반화 능력이 충분하고 유용한 임베딩값들을 생성해 낼 수 있다는 것을 보여준다.
또한 2비트 문자열의 요소별(elementwise) XOR을 계산할 때, self-attention 파라미터가 동결(freeze)되더라도, attention layer에 공급하기 위한 입력 임베딩을 학습함으로써 최대 256개의 문자열에 대한 관련 비트에 주의를 기울일 수 있다는 것을 발견했다.
열린 질문(Open question)은 언어 모델에 대한 pretraning이 가지는 이점이 무엇이냐는 것이다. pre-trained 모델에서 transformer 파리미터를 초기화하지 않고 랜덤하게 초기화하거나 대신 supervision 없는, 혹은 weak memory supervision로 축소되는 Bit Memory task에 대해 pretraining함으로써 transformer 파라미터를 초기화할 수 있다. 우리의 결과는 세 가지 초기화 방법이 모두 잘 작동할 수 있다는 것을 보여줬지만, 언어모델기반의 Frozen Pretrained Transformer는 여전히 가장 잘 수행되어 어떻게든 흥미로운 prtrained 레이어들의 집합을 제공한다. 예를들어 CIFAR-10에 대해서 Frozen Pretrained Transformer모델은 68%의 정확도를 달성한다. 그에 비해 랜덤하게 초기화 되거나 Bit Memory pretraining을 통해 초기화된 transformer모델은 이보다 안좋은 정확도를 달성한다. 게다가 언어모델기반 Frozen Pretrained Transformer는 학습에 대한 수렴 속도가 랜덤 초기화 방식에 비해 최대 4배가량 빠랐고 이는 다른 분류 작업들에대해 좋은 시작점(starting point)를 제공해준다는 점을 보여준다.
우리는 또한 transformer 구조 그자체가 굉장히 중요하다는 것을 발견했다. 우리가 랜덤하게 초기화된 frozen transformer와 LSTM을 비교했을 때, transformer가 LSTM을 압도적으로 뛰어 넘는다. 예를 들어 CIFAR-10 에 대해서 62% 대 34%의 성능차이를 보여준다. 따라서 우리는 attention이 다중 도메인 일반화에 대해 아주 자연스러운 사전지식/정보(prior)를 제공할 것이라고 생각한다. 우리는 self-attention을 적용한다는 의미를 데이터 의존적 필터를 적용하는 것이라고 생각한다.
우리는 범용 컴퓨터 엔진(Universal computation engine)을 위한 하이브리드 도메인 모델 과 언어모델의 능력에 대해 연구하는데 아주 관심이 많다.
참고 문헌:
Lu, Kevin, et al. "Pretrained Transformers as Universal Computation Engines." arXiv preprint arXiv:2103.05247 (2021).
'keep9oing' 카테고리의 다른 글
connected agent simulation -2- (6) | 2021.04.07 |
---|---|
connected agent simulation (2) | 2021.03.31 |
개쩌는 Latex 캡쳐 도구 - Mathpix (3) | 2021.02.05 |
DRQN 구현 (2) | 2021.02.03 |
pytorch로 A3C 구현하면서 (4) | 2021.01.17 |