본문 바로가기

트렌드 한눈에 보기/학계 트렌드

Transformer 를 Classification/Regression에 사용하려면 어떻게 해야 할까 [2화]

Transformer 이해를 하기 위해 필요한 것들 [1화] (tistory.com)

 

Transformer 이해를 하기 위해 필요한 것들 [1화]

"Attention is all you need", Transformer 모델을 처음으로 제시한 2017년 논문의 제목이다. [1706.03762] Attention Is All You Need (arxiv.org) 익살스러운 이름이지만, 2023년 11월 현재 97,503 건의 피인용수를 자랑한다.

mech-literacy.tistory.com

 

Transformer 를 통해 번역기 모듈을 만든다면 모르겠지만, Regression 혹은 Classification에 Transformer를 적용하기 위해서는 약간의 시행착오가 필요하다. 

 

Transformer의 구조는 위와 같다. 왼쪽 블록이 Encoder, 오른쪽 블록이 Decoder로 일컬어진다. Encoder는 현실의 데이터를 학습에 적합하게끔 바꿔주는 과정, Decoder는 학습에 적합한 형식을 다시 인간의 언어로 해석해주는 과정이다. 번역기 모듈에는 Decoder가 필수적이다.

 

하지만 주어진 일련의 데이터를 활용해서 해당하는 클래스로 분류하거나 (Classification 문제), 해당하는 값을 예측하는 문제 (Regression 문제)에서는 굳이 Decoder가 필요하지 않다. Encoder의 끝단에서 Softmax (Classification의 경우) 혹은 ReLu (Regression의 경우) 를 통해 최종 결과물로 변환해주면 그만이다. Transformer 구조 중에서 절반만 가져다 쓰는데도 불구하고 Transformer라고 부를 수 있느냐 하면 별로 자신은 없다. 다만 Transformer의 가장 중요한 내용은 “Attention”의 활용 (Attention is all you need!)이니까, Transformer라고 불러도 크게 비난받을 일은 없을 것이다.

 

Transformer를 활용한 Regression / Classification 예제는 생각보다 찾기가 힘들다. 이러니 아직도 많은 논문들에서 LSTM을 사용하고 있겠거니 싶다. 아래 예제들을 꼼꼼히 (생각보다 더 꼼꼼히) 살펴본다면, 조금이나마 감을 잡을 수 있다.

 

  • Positional Encoding을 Multivariate 문제에 어떻게 적용할 것인지에 대한 고찰

A Gentle Introduction to Positional Encoding in Transformer Models, Part 1 - MachineLearningMastery.com

The Transformer Positional Encoding Layer in Keras, Part 2 - MachineLearningMastery.com

Building Transformer Models with Attention Crash Course. Build a Neural Machine Translator in 12 Days - MachineLearningMastery.com

  • Multivariate 문제에 Transformer를 적용한 예시

Time Series Regression Using Transformer Models: A Plain English… – Towards AI

HAR-Transformer/src/transformer/transformer.py at main · ludovicobuizza/HAR-Transformer (github.com)