일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 프롬프트 페르소나
- GPT
- GPT3
- TabNet
- ChatGPT 잘 쓰는 법
- LLM
- mergekit
- SOTA
- 빅데이터
- 강화학습
- 비전러닝
- Transformer
- 프롬프트 잘 쓰는 법
- GaN
- ChatGPT
- LLM 성능 개선
- 거대언어모델
- chatgpt 꿀팁
- 인공지능
- 프롬프트
- 경진대회
- 모델링
- 악성댓글
- 딥러닝
- AI
- 컴퓨터 비전
- IT
- 프롬프트 잘 쓰는법
- 프롬프트 엔지니어링
- 머신러닝
- Today
- Total
빅웨이브에이아이 기술블로그
SAINT, 정형데이터 분석을 위한 최첨단 딥러닝! 본문
시작
안녕하십니까? 빅웨이브에이아이 선임 연구원 이현상입니다.
오랜만에 SOTA 알고리즘 시리즈로 인사드립니다!
지난 포스트에서 정형 데이터 예측 분야에서의 트랜스포머 기법을 적용한 TabNet을 소개드린 적이 있었는데요,
그 이후 2021년 6월 SAINT(Self-Attention and Intersample Attention Transformer)라는 새로운 정형 데이터 딥러닝 예측 기법이 등장했습니다!
최근 딥러닝 동향은 거의 대부분의 분야에서 트랜스포머를 적용하고 있는 상황이라고 여러번 말씀드렸죠?
이번에도 역시 트랜스포머 기반 정형 데이터 분석 기술입니다.
논문 내용에 대해서 하나씩 살펴보겠습니다.
Key Idea
SAINT는 2개의 핵심 아이디어를 가지고 있습니다.
본 논문에서는 정형 데이터와 이미지 데이터의 성격이 아주 다르다는 것을 지적합니다.
이에 따른 정형 데이터 분석에서의 3가지 한계점을 지적합니다.
1. 이미지 데이터와 달리 정형 데이터는 행(Rows)과 열(Columns)의 순서가 중요하지 않다.
이미지 데이터의 경우 픽셀값에 따라서 위치적인 정보가 매우 중요합니다.
그래서 지난 DINO 포스트에서와 같이, 포지셔널 임베딩을 기반으로 모델의 성능을 고도화하기도 합니다.
하지만 정형 데이터의 경우 Row의 위치가 중요한 정보는 아닙니다.
심지어 모델 학습 전에 Row의 순서를 임의로 섞기도 합니다!
정형 데이터에서 Row의 위치는 중요하지 않지만, 임의의 Row간의 관계성은 존재할 수 있습니다.
본 논문은 SAINT의 샘플간 어텐션(Intersample Attention) 기법을 제안합니다.
샘플간 어텐션 기법은 Row간의 관계성, 즉 유사한 데이터들의 특성을 활용하여 하나의 최적화된 예측값을 도출할 수 있습니다.
2. 정형 데이터의 칼럼은 임의의 상호 의존성을 가지며, 범주형 및 연속형 데이터가 공존하고 있다.
이미지 데이터의 픽셀값은 하나의 연속적인 특성을 가지고 있으며, 주변 픽셀값에 대한 선명한 상호 의존성을 가지고 있습니다.
그러나 정형 데이터의 경우 범주형 및 연속형 변수에 따라서 수치의 성질이 매우 다양하기 때문에 데이터의 노이즈가 기하급수적으로 증가할 수 있습니다.
SAINT에서는 모든 특성을 하나의 벡터 공간에 투영함으로써 이러한 문제점을 보완합니다.
3. 종속 변수(레이블)가 포함된 데이터가 적은 경우가 많다.
정형 데이터의 레이블링은 대부분 수작업으로 수행되기 때문에 레이블링 처리된 데이터가 부족한 경우가 많습니다.
당연한 얘기지만, 지도 학습에서는 레이블링 데이터만을 활용할 수 있습니다.
SAINT는 대조 사전 학습(Constrative Pre-training) 기법을 활용하여 레이블링 데이터가 부족한 경우에도 우수한 모델 성능을 달성할 수 있도록 지원합니다.
대조 사전 학습 방법론은 레이블링 데이터가 적을 때뿐만 아니라 비교적 데이터 노이즈가 큰 정형 데이터를 학습할 시 유리합니다.
구체적인 모델 구조에 대해서 살펴보기 위해서 모델 아키텍처를 설명드리겠습니다.
Model Architecture
샘플간 어텐션 기법과 대조 사전 학습 방법론에 대해서 알아보겠습니다.
Intersample Attention
샘플간 어텐션 기법의 구조는 간단합니다.
기존 트랜스포머의 정형 데이터 학습 방식은 칼럼별로 어텐션 스코어를 도출하는 방식입니다.
샘플간 어텐션 기법은 배치 단위 안에서 모든 샘플에 대한 통합 어텐션 스코어를 계산합니다.
즉, SAINT 모델은 하나의 샘플을 예측할 때, 배치 단위 안에서 다른 Row의 데이터 특성을 참고합니다.
모델이 학습되면서 어떤 Row 데이터의 특성을 고려할 것인지 점차적으로 최적화됩니다.
Constrative Pre-training
대조 학습이란 이미지 딥러닝 기법에서 주로 사용되었는데, 이미지를 자르거나 픽셀값을 합성하여 딥러닝 모델의 일반화(노이즈 제거, Denoising)를 수행합니다.
딥러닝 모델링 시 Dropout, L1, L2 등의 정규화 기법을 사용하는데, 이미지 샘플에 대한 증강(Augmentation)을 정규화로 활용하기도 합니다.
아래 그림에서 이미지를 Mixup(합치기), Cutout(잘라내기), CutMix(잘라내서 합치기)의 차이점이 나타납니다.
SAINT는 정형 데이터의 대조 사전 학습을 위한 아주 독창적인 2단계 방식을 제안합니다.
1. Cutmix를 통해서 임베딩 벡터 공간에 표현될 샘플 수를 늘림
2. 임베딩 공간에서 다른 샘플의 벡터값과 Mixup
학습 시 Loss는 실제값의 벡터값과 Cutmix, Mixup으로 생성된 벡터값의 복원 오차로 계산합니다.
전체 모델 아키텍처는 아래의 그림과 같습니다.
학습 프로세스를 순서대로 정의해보겠습니다.
Self Supervised Pre-training
1. Self-Supervised에서 레이블링 없이 데이터를 모델에 입력
2. 데이터 증강을 위해서 CutMix, Mixup 수행
3. Self-Attention 이후 Intersample Attention이 포함된 SAINT Block을 통해서 임베딩 벡터(Projection Head)에 투영
4. 원천 데이터와 증강 데이터의 벡터값 오차를 Loss로 계산
5. Loss를 줄이기 위해서 증강 및 딥러닝 네트워크의 가중치가 최적화됨
Supervised/Finetuning
1. Self-Supervised에 의해서 최적화된 임베딩 벡터를 SAINT Block에 입력
2. MLP를 통해 CLS 토큰(CutMix에서 샘플 구분자) 임베딩 값만 받아서 분류 수행
Experiment
결론적으로 TabNet, TabTransformer 등의 최신 방법론에 비교적 우수한 성능을 달성했습니다!
대부분의 결과에서 SAINT-i, SAINT 모델이 우수한 성능이 나타납니다.
특히, 칼럼 수가 많을수록, 레이블링 데이터 수가 적을수록 SAINT-i, SAINT 모델의 성능이 높은 것을 확인할 수 있습니다.
결론
TabNet 이후 정형 데이터 딥러닝 분야에서 두각을 나타내는 방법론을 찾지 못했었는데, 이미지 분야에서 활용되던 우수한 테크닉을 정형 데이터에 적합한 형태로 훌륭하게 풀어낸 논문이었습니다.
2022년 8월 4일 기준 Official Github에 Star 248개를 받은 것으로 봤을 때 테스트를 수행해본 연구자들이 꽤 있는 것으로 판단됩니다.
빅웨이브에서도 자체 검증이 필요하긴 하지만, 충분히 실험해 볼 가치가 있는 알고리즘으로 보이네요.
논문 원문을 번역하다보니 다소 어색하거나 내용이 틀린 부분이 있을 수 있습니다.
해당 사항은 댓글로 남겨주시면 검토한 후 반영하도록 하겠습니다.
쓰다보니 꽤 긴 글이 되었는데, 읽어주셔서 감사합니다!
Somepalli, G., et al. (2021). "Saint: Improved neural networks for tabular data via row attention and contrastive pre-training." arXiv preprint arXiv:2106.01342.
'기술 블로그' 카테고리의 다른 글
이미지 생성 AI, 어디까지 가능할까? (0) | 2023.02.24 |
---|---|
AI가 블로그를 대신 써준다고? 텍스트 생성 AI로 기술 블로그 써보기 (0) | 2023.02.02 |
SOTA 알고리즘 리뷰 7 - DINO (3) | 2022.05.31 |
SOTA 알고리즘 리뷰 6 - SciNet (0) | 2022.03.29 |
Neural Prophet, 간단한 트렌드 예측과 다양한 해석 (4) | 2022.02.28 |