[21′ AAAI] TabNet : Attentive Interpretable Tabular Learning

This entry is part 2 of 2 in the series Tabular Model

1. 들어가며

딥러닝은 이미지, 음성, 텍스트 등 다양한 분야에서 놀라운 성과를 보이고 있습니다. 그런데, 표 형식의 데이터에서는 어떨까요? 전통적인 기계 학습 방법들이 여전히 주로 사용되는 이유가 있습니다. 이 글에서는 그 이유와, 그 문제점을 해결하려는 새로운 접근법인 TabNet에 대해 알아보겠습니다.

딥러닝이 표 형식 데이터에서 겪는 여러 어려움들을 살펴보고, 이 문제점들을 해결하기 위한 TabNet의 구조와 방법론을 자세히 알아보겠습니다. 특히, TabNet Encoder의 데이터 흐름에 초점을 맞춰 쉽게 이해할 수 있도록 설명합니다. 또한, Decoder와 함께 sparsemax와 entmax의 의미도 함께 살펴보겠습니다. TabNet이 어떻게 다양한 데이터셋에서 성능을 발휘하는지, 그 결과와 함께 어떤 결론을 내릴 수 있는지도 함께 알아보겠습니다. 마지막으로, TabNet의 뛰어난 점들을 중심으로 설명하면서, 이 모델이 가져다줄 의의에 대해서도 함께 생각해보겠습니다.

2. 기존 방법의 문제점

표 형식 데이터는 우리 일상의 많은 분야에서 사용되는 가장 일반적인 데이터 유형 중 하나입니다. 의료, 금융, 소매, 제조 등 다양한 분야에서 중요한 결정을 내리기 위해 이러한 데이터를 분석하게 됩니다. 그런데, 이런 중요한 데이터를 분석하기 위한 딥러닝 모델들이 제대로 활용되지 못하는 이유가 무엇일까요?

첫번째 문제는 과적합입니다. 딥러닝 모델은 복잡한 데이터를 학습하는 데 탁월하지만, 표 형식 데이터처럼 간단하고 제한된 데이터에서는 쉽게 과적합되는 경향이 있습니다. 이는 모델이 학습 데이터에는 잘 맞지만, 실제 새로운 데이터에는 잘 작동하지 않을 수 있음을 의미합니다.

두번째 문제는 해석 가능성의 부족입니다. 표 형식 데이터는 의사 결정, 대출 승인, 진료 방향 등 중요한 결정을 내리는 데 사용되기 때문에, 모델이 어떻게 그런 결정을 내렸는지 이해하고 설명할 수 있어야 합니다. 그러나 대부분의 딥러닝 모델은 ‘블랙박스’처럼 작동하기 때문에 그 내부 작동 원리를 쉽게 설명하기 어렵습니다.

세번째 문제는 데이터의 특성을 무시하는 경향이 있습니다. 대부분의 딥러닝 모델은 이미지나 텍스트와 같은 복잡한 데이터 유형에 초점을 맞추고 있어, 표 형식 데이터의 특성과 중요성을 제대로 파악하지 못하는 경우가 많습니다.

3. TabNet

이러한 문제 의식을 바탕으로 TabNet은 어떻게 문제점을 해결했는지 살펴보겠습니다. 이번 챕터에서는 TabNet의 제안 방법을 하나씩 자세히 살펴보겠습니다. 먼저 전체적인 Architecture를 살펴보고요, Encoder와 Decoder를 각각 자세히 살펴봅니다. 마지막으로 TabNet의 성능에 중요한 역할을 하는 함수인 SparseMax와 EntMax의 차이점을 살펴보겠습니다.

3-1. Architecture

먼저 전체적인 구조인데요. TabNet은 Encoder와 Decoder로 구성되어 있습니다. 입력 데이터에 대해 Encoder에서는 문제를 풀기에 적합한 형태로 데이터를 재구성하는 역할을 합니다. 이때 Encoder를 구성하는 주요 모듈로는 Feature Transformer와 Attentive Transformer가 있습니다. 이 두 모듈에 대해서는 아래에서 자세히 다뤄보겠습니다. 또한 Decoder는 Encoder에서 재해석한 데이터를 바탕으로 최종 Output을 출력하는 역할을 하는데요. TabNet에서는 Self Supervised Learning 방법으로 Pretraining을 할 수 있는 방법을 제시합니다. 이때 Decoder는 Reconstruction Loss를 학습할 수 있도록 Output을 출력하는 역할을 수행합니다. 이제 하나씩 자세히 살펴보겠습니다.

3-2. Encoder

먼저 Encoder입니다. Encoder는 데이터를 입력받아 풀고자 하는 문제에 맞도록 데이터를 재구성해주는 역할을 하는데요. Encoder의 전체적인 구성은 다음과 같습니다.

그림1. TabNet Encoder
그림1. TabNet Encoder

먼저 여러 스텝으로 구분되어 있는 모습을 볼 수 있는데요. 이는 마치 Transformer에서 Multi Head Self Attention Head를 구성한것과 비슷한 아이디어라고 볼 수 있습니다. 각 스텝별로 다른 Feature에 초점을 맞추겠다는 것이죠. 이에 따라 스텝별로 Attention Mask가 다르게 나오도록 구성되어 있습니다.

이때 중요한 역할을 하는 두가지 모듈이 존재하는데요. Feature Transformer와 Attentive Transformer 입니다.

3-2-1. Feature Transformer

첫 번째 모듈은 Feature Transformer입니다. 이름이 Transformer일뿐, Self Attention을 사용한 Transformer와는 별개의 모듈입니다. 구성은 다음과 같습니다.

그림2. Feature Transformer
그림2. Feature Transformer

FC, BN, GLU 등으로 구성되어 연산을 진행하는 형태입니다. 이때 Feature Transformer의 가장 중요한 역할은 두 가지의 정보를 출력해주는 것입니다. 첫 번째는 최종 Output으로 들어갈 정보입니다. 위 그림에서는 Decision step dependent라고 표시된 부분입니다. 두 번째는 이후 스텝으로 넘어가서 연산되어야 하는 정보들입니다. 위 그림에서는 Shared across decision steps라고 표시된 부분입니다.

쉽게 이해하기 위해 예를 들어 생각해보겠습니다. Anomaly Detection에 TabNet을 사용했다고 가정해볼게요. 이때 Feature Transformer는 다음 두 가지 정보를 각각 출력해야 합니다. 첫 번째는 정상/불량을 구분하기 위한 정보에요. 이 정보는 N번의 스텝별로 각각 출력되어 총 N개의 정보로 통합되어 최종 Classifier에서 사용되는거죠. 두 번째는 다음 스텝에서 연산될 정보에요. TabNet은 Transformer에서와 같이 스텝별로 초점을 맞춰 연산하는 Feature들이 다르다고 언급했는데요. 그럼 앞선 스텝들에서 어떤 Feature들을 이미 연산했는지 알아야겠죠? 그래서 다음 스텝에서 연산할 정보들을 빼내주는 기능이 필요합니다.

3-2-2. Attentive Transformer

다음은 Attentive Transformer를 살펴보겠습니다. 이 모듈은 간단해요. Feature Transformer로 부터 받은 데이터에 대해 Attention Map을 출력해주는 역할을 합니다. 이번 스텝에서는 어떠한 정보에 초점을 맞출것인지만 결정하는 역할을 하는거죠. 구조는 이렇습니다.

그림3. Attentive Transformer
그림3. Attentive Transformer

위 그림에 SparseMax 함수가 포함되어 있는데요, 이에 대한 자세한 내용은 아래에서 다시 다루겠습니다. 이 두 모듈을 포함하는 전체적인 Encoder의 구성을 데이터 흐름에 초점을 맞춰서 이해하기 쉽도록 재구성하면 다음과 같습니다.

그림4. TabNet Encoder 재구성
그림4. TabNet Encoder 재구성

정상과 불량으로 구분하는 Anomaly Detection 방법에 적용한 TabNet을 가정하고 그린 그림인데요. 입력 데이터에 대해 Feature Transformer가 연산을 하여 Classifier로 보낼 정보와, 다음 스텝으로 보낼 정보를 구분하고요. 이렇게 나온 다음 스텝 데이터에 대해 Attentive Transformer가 Attention Mask를 계산합니다. 그리고 다시 Feature Transformer가 연산을 반복하는 구조를 하고 있습니다.

3-3. Decoder

지금까지 설명은 TabNet을 바로 Supervised Learning으로 학습하는 경우에 해당합니다. TabNet에서는 이뿐만 아니라 Self Supervised Learning 으로도 학습할 수 있는 방법을 제안하는데요. 이를 위해서는 Decoder가 필요하겠죠? Decoder의 구성은 다음과 같습니다.

그림5. TabNet Decoder
그림5. TabNet Decoder

간단히 Feature Transformer와 FC로 구성된 모습을 볼 수 있습니다. 이제 Self Supervised Learning을 학습하기 위해 입력 데이터를 무작위로 변경한 뒤 이를 복원하는 Reconstruction Loss 등으로 학습하면 되겠죠. 이렇게 Pretraining을 거친 모델은 더욱더 강력한 성능을 발휳바니다.

3-4. SparseMax와 EntMax 이해

앞서 Encoder의 Attentive Transformer에는 SparseMax라는 함수가 포함되어 있었습니다. 이 함수는 TabNet의 성능에 아주 결정적인 영향을 미칩니다. 실제 코드를 보면 SparseMax와 EntMax중 하나를 선택할 수 있도록 되어 있는데요. 기본적으로 두 함수 모두 Sparse SoftMax라고 이해하면 무방합니다. Sparse 하다는 말은 구성 성분 대부분의 값이 0이라는 뜻인데요. 이게 무슨 의미일까요?

Attentive Transformer는 Attention Mask를 만들어주는 역할을 하잖아요. 이때 Attention Mask가 Sparse 하다는건, 대부분의 Mask가 0이라는 의미입니다. 이는 몇 가지 특징만 보고 나머지는 다음 스텝에서 보겠다는 의미죠. 이 아이디어가 TabNet 성능에 아주 결정적인 영향을 주는데요. 실제로 이 부분을 일반적인 SoftMax로 바꿔 실험해보면 성능이 드라마틱하게 하락하는 모습을 볼 수 있습니다. 정보를 적당히 Attention 하는것 보다, 몇 가지 특징만 골라서 그 부분에만 집중하는게 더 좋다는 의미죠. 이는 Tabular 데이터이기 때문에 이런 결과가 나오는것 같습니다. 다른 도메인 네트워크에서는 이렇게 극단적인 Attention은 보통 성능 하락을 가져오니까요.

4. 실험 결과

이번에는 TabNet 논문에서 제시한 실험 결과를 통해 제안 방법의 효과를 살펴보겠습니다.

4-1. Forest Cover Type

첫 번째는 Forest Cover Type 데이터셋에 대한 실험인데요. 이는 지도 변수로부터 숲의 유형을 분류하는 작업입니다. 실험 결과는 다음과 같습니다.

그림6. Forest Cover Type 실험 결과
그림6. Forest Cover Type 실험 결과

결과를 보면 TabNet은 앙상블 트리 기반 접근법을 능가하고 있으며 AutoML Table의 성능도 능가하는 모습을 볼 수 있습니다.

4-2. Poker Hand

다음은 Poker Hand 데이터셋 실험입니다. 이는 카드의 원시 슈트와 순위 속성에서 포커 핸드를 분류하는 문제인데요. 입력과 출력 관계가 결정론적이며, 수작업으로 작성된 규칙이라 100% 정확도를 얻을 수 있는 문제입니다. 실험 결과는 다음과 같습니다.

그림7. Poker Hand 실험 결과
그림7. Poker Hand 실험 결과

TabNet이 다른 방법들을 능가하는 모습을 볼 수 있습니다.

4-3. Sarcos

다음은 Sarcos 데이터셋입니다. 인간과 유사한 로봇 팔의 역동적인 회귀 작업 문제인데요. 실험 결과는 다음과 같습니다.

그림8. Sarcos 실험 결과
그림8. Sarcos 실험 결과

TabNet은 모델 크기가 제한되지 않은 경우에, 거의 10배 낮은 MSE를 달성합니다.

4-4. Higgs Boson

다음은 Higgs Boson 데이터셋입니다. 이는 Higgs 보손과 배경을 구분하는 문제인데요.

그림9. Higgs Boson 실험 결과
그림9. Higgs Boson 실험 결과

TabNet은 MLP보다 더 간결한 표현으로 성능을 향상시킵니다.

4-5. Rossmann Store Sales

다음은 Rossmann Store Sales 문제입니다. 이는 정적 및 시간 변동 특성으로부터 스토어 판매를 예측하는 문제인데요.

그림10. Rossmann Store Sales 실험 결과
그림10. Rossmann Store Sales 실험 결과

실험 결과 TabNet이 가장 좋은 성능을 보입니다.

5. 장단점

여기까지 TabNet의 제안 방법과 실험 결과를 살펴봤습니다. 이번에는 TabNet의 장단점을 정리해보겠습니다.

5-1. 장점

첫 번째 장점은 해석 가능한 구조입니다. TabNet은 데이터의 각 인스턴스에 대해 특성 선택을 수행합니다. 이러한 인스턴스별 특성 선택은 학습을 효율적으로 만들며, 선택된 마스크를 시각화하여 결정 과정을 해석 가능하게 합니다.

두 번째 장점은 높은 성능입니다. TabNet은 다양한 표 형식 데이터셋에서 이전 연구보다 우수한 성능을 보여줍니다.

세 번째 장점은 자기 지도 학습의 이점입니다. TabNet은 자기 지도 학습을 통해 빠른 적응과 향상된 성능의 이점을 보여줍니다.

6. 의의

딥러닝이 이미지, 음성, 텍스트 등 다양한 분야에서 뛰어난 성능을 보이고 있지만, 표 형식의 데이터에서는 여전히 전통적인 기계 학습 방법들이 주로 사용되고 있습니다. 그 이유 중 하나는 딥러닝 모델들이 표 형식 데이터의 특성을 제대로 반영하지 못하고, 해석하기 어렵다는 점입니다. 이러한 문제를 해결하고자 TabNet이 등장했습니다.

첫째, TabNet은 해석 가능한 구조를 가지고 있습니다. TabNet의 구조는 각 특성의 중요도를 명확하게 보여주며, 어떤 특성이 모델의 결정에 큰 영향을 미치는지 쉽게 파악할 수 있습니다. 이로 인해 모델의 예측이나 분류 기준을 명확하게 이해하고 설명할 수 있게 되었습니다.

둘째, TabNet은 표 형식 데이터에서의 높은 성능을 보입니다. 다양한 벤치마크 데이터셋에서의 실험 결과, TabNet은 전통적인 기계 학습 방법들과 다른 딥러닝 방법들을 뛰어넘는 성능을 보였습니다. 이는 TabNet이 표 형식 데이터의 특성을 잘 반영하고 있음을 의미합니다.

셋째, TabNet은 자기 지도 학습의 방법을 활용합니다. 이는 레이블이 없는 데이터도 학습에 활용할 수 있게 해, 데이터의 효율적인 활용이 가능하게 합니다. 특히, 레이블링 비용이 높거나 레이블이 제한적인 경우에 TabNet의 이러한 접근법은 큰 장점으로 작용합니다.

결론적으로, TabNet은 표 형식 데이터에 대한 딥러닝의 새로운 접근법을 제시하며, 그 성능과 해석 가능성, 데이터 활용의 효율성 등에서 큰 의의를 가지고 있습니다.

7. 마치며

딥러닝이 다양한 분야에서 놀라운 성과를 보이고 있지만, 표 형식의 데이터에서는 여전히 많은 도전 과제가 남아 있습니다. TabNet은 이러한 문제점들을 해결하기 위한 새로운 시도로, 그 구조와 방법론을 통해 표 데이터에서도 딥러닝의 힘을 제대로 발휘하려고 합니다. 이 글을 통해 TabNet의 핵심 아이디어와 성능, 그리고 그 의의를 알아보았습니다. 앞으로도 이러한 연구와 시도들이 계속되어, 딥러닝이 표 데이터에서도 더욱 강력한 성능을 발휘할 수 있기를 기대합니다.

Series Navigation<< [20′ NIPS] VIME: Extending the Success of Self- and Semi-supervised Learning to Tabular Domain
0 0 votes
Article Rating
Subscribe
Notify of
guest

4 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
GBJeong
GBJeong
6 months ago

양질의 좋은 리뷰글 감사드립니다. 많은 도움이 되었습니다

jongjong
jongjong
3 months ago

sarcos 데이터 구해서 한번 돌려봤는데, 논문이랑 결과가 너무 다른데요? Xgboost max_depth=8주고 돌려도 mse 1.1x 나오는데, tabnet-small(논문에서 설정한 값대로 돌림)으로 돌려도 10정도 나오네요(medium이나 large도 큰 차이 없음). tabnet 소스만 있고, 실험했던 코드는 없는데 재현이 안되는것일까요?

Last edited 3 months ago by jongjong
4
0
Would love your thoughts, please comment.x
()
x
Scroll to Top