티스토리 뷰

Google Cloud AI에서 2020 발표한 논문이 TabNet에 대해서 소개 하겠습니다.
TabNet은 다양한 Tabular 데이터셋에서 높은 성능을 보이고 해석 가능한 알고리즘입니다.
캐글 MOA(Mechanisms of Action Prediction) 대회의 baseline 모델이며우승 알고리즘에도 활용되었습니다.
(900여개 특성, 5000여개 샘플로 200개 Action 예측하는 multi-label classification 문제)
 
Google ML Platform인 Vertex AI에 탑재되어 GCP 내에서 즉시 사용 가능합니다.
 
그럼 논문에 실린 내용을 살펴보겠습니다.

 


Abstract


  • tabular 형식 데이터에 대해 고성능과 해석 가능한 딥러닝 아키텍쳐를 제안
  • 각 decision 단계에서 추론할 feature들을 선택하기 위해 Sequential Attention을 사용
  • 가장 두드러진 feature에 학습 capcity가 사용되므로 해석 가능성과 보다 효율적인 학습이 가능
  • 광범위한 테이블 형식 데이터셋에 대해 성능이 좋으며 해석 가능한 feature 속성들과 global 행동에 대한 통찰력을 제공
  • label이 없는 데이터가 많은 테이블 형식 데이터에 대해 성능을 크게 향상시키는 self-supervised learning을 시연

Introduction


  • DNN이 이미지, 텍스트, 오디오 등에 대해 주목할 성공을 거뒀으며, 표준 아키텍쳐는 raw 데이터를 의미 있는 representation으로 효율적으로 인코딩하여 빠르게 학습

 

  • 실제 가장 일반적인 데이터 유형임에도 불구하고 딥러닝을 통해 아직 성공하지 않은(under-explored) 데이터 유형은 tabular 데이터 (여전히 kaggle에서는 decision tree를 기반으로 한 앙상블 모델이 지배적)
    • DT 기반 접근 방식은
      (1) 테이블 형식 데이터에서 흔히 볼 수 있는 대략적인 hyperplane boundaries를 가진
            decision manifold에 대해 대표적으로 효율적

      (2) 해석 가능성이 높음.
      (3) 학습 속도가 빠름
    • ↔ DNN : tabular 데이터에 적합하지 않음.
      (1) 컨볼루션 레이어 또는 MLP는 지나치게 매개변수화(overparameterized)되며,
      (2) 적절한 inductive bias가 없으므로 tabular decision manifold에 대한 최적의 솔루션을 찾지 못함

      * inductive bias : 학습 시에는 만나보지 않았던 상황에 대해 정확한 예측을 하기 위해 사용하는 추가적인 가정 (additional assumptions)을 의미
      (3) 학습 비용(시간, 인프라 비용) 대비 경제성 부족과 해석이 어려운 문제


  • tabular 데이터에 대해 딥러닝으로 학습하는 것이 가치 있는 이유는?
    • (1) 대규모 데이터 셋의 경우, 예상되는 성능 개선
    • (2) tablular데이터와 이미지와 같은 여러 데이터 유형을 효율적으로 인코딩
    • (3) 현재 tree기반 tabular 데이터 learning 방법의 핵심인 feature engineering의 필요성을 경감시킴
    • (4) Incremental Learning : 스트리밍 데이터에서 지속적인 학습이 가능
    • (5) End-to-end 모델을 사용하면 다양한 도메인 데이터에 적용 가능하고 self-supervised learning
       
          generative modeling을 가능하게 하는 representation learning을 허용

    • (6) Pretraining : 사전 학습으로 학습 시간 단축 및 적은 데이터 사용으로 성능 향상 가능
    • (7) Capacity : 복잡하고 다양한 패턴을 수용데이터가 누적됨에 따라 지속적인 성능 향상 기대

Incremental Learning : 동시에 여러 데이터를 처리하기 불가능한 상황에서 데이터를 순차적으로 미니 배치라 부르는
                                         작은 묶음 단위로 입력하여 학습

         (↔  Batch Learning - Offline Learning) : 점진적으로 학습할 수 없어 가용한 데이터를 모두 사용해 학습)

* End-to-End 모델 : Input에서 Output까지 '파이프라인 네트워크' 없이 한 번에 처리하는 것으로 딥러닝을 End-to-End 딥러닝이라 부름

* Representation learning : Input 데이터의 표현을 변환(스스로 데이터 레벨에 대해서 rawdata를 가공)하거나
                                             s(어떤 수단을 통해) 특징을 추출하여 분류 또는 예측과 같은 더 쉽게 수행할 수 있도록 학습

  • TabNet의 Main contributions
    • (1) 전처리 없는 raw 데이터를 input으로 함
    • (2) gradient descent 기반의 최적화를 사용하여 학습
    • (3) end-to-end learning으로 유연하게 통합할 수 있음
    • (4) 각 decision 단계에서 추론할 feature을 선택하기 위해 sequential attention을 사용
    • (5) 가장 두드러진 feature이 학습 capcity가 사용되므로 해석 가능성과 보다 효율적인 학습이 가능.
    • (6) 이 feature selection은 instance별로 이루어짐 (e.g. 각 input마다 다를 수 있음).
            instance-wise한 다른 feature selection방법과 달리 TabNet은 single deep learning을 적용
    • (7) TabNet은 다양한 도메인의 분류 및 회귀 문제에 대해 다양한 데이터셋에서 다른 테이블 형식
            학습 모델보다 우수하거나 동등
    • (8) feature들의 중요도와 그것들이 결합되는 방식을 시각화하는 local 해석
            학습된 모델에서 각 feature의 기여도를 정량화하는 global 해석이 가능
    • (9) 테이블 형식 데이터에 대해 마스킹된 feature들(Missing value)을 예측하기 위해
           사전 학습하는 unsupervised를 사용하여 상당한 성능 향상을 보여줌.

Related Work


  • Feature Selection
    • 예측에 대한 유용성을 기반으로 feature의 하위 집합을 신중하게 선택하는 것
    • ward selection과 lasso regularization과 같이 일반적으로 사용되는 기술은 global 방법을 의미하며,
      전체 training데이터에 기반으로 한 feature importance를 나타냄
    • 인스턴스별 feature 선택은 각 input에 대해 개별적으로 feature을 선택하는 것을 의미.
    • 선택된 feature와 반응변수간의 상호 정보를 최대화하기 위해 Explainer 모델을 연구하고,
      selection을 최적화하면서 baseline을 모방하기 위해 actor-critic 프레임워크를 사용하여 연구

    ▶ TabNet

  • end-to-end learning에서 제어 가능한 sparsity와 함께 soft feature selection을 사용
  • 단일 모델이 공동으로 feature selection, output 매핑을 수행하고,
    컴팩트한 representation으로 뛰어난 성능을 제공

 

  • Tree-based learning
    • tabular 데이터 learning에 대해 일반적으로 사용
    • 가장 통계적인 information gain을 얻을 수 있는 global feature들을 효율적으로 picking하는 것이 가장 큰 장점!
    • 표준 DT의 성능을 향상시키기 위한 일반적인 방식은 분산을 줄이기 위한 앙상블을 하는 것
    • 앙상블 방법 중 랜덤포레스트는 무작위로 선택된 feature을 가진 데이터의 무작위 하위 집합을 사용하여 많은 tree들을 grow함
    • XGBoost와 LightGBM은 최근 데이터 경연 대회의 대부분을 지배하는 최신 앙상블 DT
    • 다양한 데이터셋에 대한 실험 결과는 representation capacity가 향상될 때 트리 기반 모델의 성능이 향상될 수 있음
    • DNN을 DT에 통합 : DNN 빌딩 블록이 있는 DT들은 representation의 중복성과 비효율적인 학습을 제공
    • Soft(Neural) DT는 미분할 수 없는 축 정렬 분할 대신 미분가능한 decision function을 사용
    • But, 자동 feature selection을 못하면 성능이 저하되는 경우가 많음
    • DNN에서 DT를 시뮬레이션하기 위해 soft binning function을 제안. 이는 가능한 모든 decision들을 비효율적으로 열거하는 것.
    • 어떤 논문은 Feature 조합을 명시적으로 활용하여 DNN 아키텍처를 제안하지만 학습은 gradient boosted DT에서 지식을 이전. 어떤 논문은 representation이 edge, routing function, leaf node로 학습하는 반면에 primitive 블록으로 부터 adaptively 성장하여 DNN 아키텍처를 제안.

 

▶ TabNet은

  • Sequential Attention을 통해 제어 가능한 sparsity을 가진 soft feature selection을 포함
  • Self-supervised learning
    - unsupervised representaion learning은 특히 소규모 데이터 영역에서 지도학습을 향상시킴
    - 텍스트, 이미지 데이터에 대한 최근 작업은 신중한 unsupervised learning objective(마스킹된 input 예측)와 attention-based 딥러닝의 선택으로 이어짐


TabNet for Tabular Learning


  • DT는 실제 tabular 데이터 셋에서 학습하는데 성공. 특정 design을 통해 기존 DNN 빌딩 블록을 사용하여 DT와 유사한 output manifold를 구현할 수 있음
  • 두드러진 Featuresoft selection위해서 마스크를 사용하고 Conventional DNN 블록으로 Tree와 유사한 형태의 결정 경계를 생성
  • 이러한 설계에서 개별 feature selection은 feature들의 선형 조합으로 일반화할 수 있는 초평면 형태를 통해 decision boundary를 얻는게 중요

기존 DNN 블록(왼쪽)과 해당 decision manifold(오른쪽)를 사용한 DT형 분류 그림



  • TabNet은 이러한 feature을 기반으로 하며 DT를 능가하는 동시에
    • (1) 데이터로부터 학습된 sparse instance-wise feature selection을 사용
    • (2) 각 단계는 선택된 feature들을 기반으로 한 decision의 일부에 기여하며, 순차적 다단계 아키텍처를 구성
    • (3) 선택된 feature의 비선형 처리를 통해 학습 capacity를 향상
    • (4) 더 높은 차원과 더 많은 단계를 통한 앙상블을 모방

1) TabNet - Encoding 아키텍처


 

TabNEt - Encoding 아키텍처

  • Feature transformer, Attentive transformerFeature masking으로 구성
  • 이전 단계 학습 결과가 다음 단계 Mask 학습에 영향을 주는 연결 구조로 순차적으로 처리
  • Sequential Approach : 모델을 반복 연결하여 잔차를 보완하는 gradient boosting이 연상되는 구조
  • sequential형태의 top-down attention에 대한 아이디어는 시각적, 텍스트 데이터 처리 및 강화학습의
    application으로 영감을 받았으며 고차원 input에서 관련된 정보의 작은 부분집합을 탐색함.
  • Feature Selection : Feature Transformer와 Attentive Transformer 블록을 통과하여 최적 mask를 학습함
    (1) Feature Transformer : 선택된 Feature로 정확히 예측하기 위한 Embedding 기능
    (2) Attentive Transformer : 변수 선택 기능
  • split블록 :  처리된 representation을 다음 단계의 attentive transformer와 전체 output에 사용할 수 있도록 분할
  • feature selection mask : 두드러진 Feature의 soft selection을 위한 학습 가능한 마스크를 사용 M[i] ∈ R B×D
    가장 두드러진 feature의 sparse selection을 통해 decision 단계의 학습 capacity가
    관련 없는 것에 낭비되지 않으므로, 모델은 parameter 효율성이 더 높아짐
  •  모델의 functionality에 해석 가능한 정보를 제공하고 mask를 집계하여 global feature 중요도를 얻을 수 있음 

  • [Input] raw 수치형 feature들을 사용하고 학습 가능한 임베딩으로 범주형 feature들을 매핑.
  • [정규화] global feature의 정규화를 고려하지는 않지만 Batch Normalization(BN)을 적용
  • 동일한 D차원 feature f∈ <B×D를 각 decision 단계에 전달(B : 배치 크기)
  • [인코딩] 인코딩은 Nsteps decision 단계를 통한 순차적 다단계 처리를 기반
  • i번째 단계에
    • (1) Input : 사용할 feature들을 결정하기 위해서 (i-1)번째 단계에서 처리된 정보
    • (2) Output : 전체 decision에 대해 집계되고 처리된 feature reperesentation

 


2) TabNet - Encoding 아키텍처 - Feature Transformer [Feature Processing]


 

TabNet - Feature Transformer

  • Feature Transformer : 선택된 Feature로 정확히 예측하기 위한 Embedding 기능
  • feature transformer 블록의 예는 4개의 layer 네트워크로 구성. 2개는 모든 decision에서 공유되고,
      2개는 각 decision step에 따라 달라짐
  • 각 layer는 fully-connented(FC) layer, BN, GLU 비선형으로 구성
  • Ghost Batch Norm(BN로 표기) : batch를 분할한 nano batch 사용으로 잡음 추가 /
                                                         Local 
    minima 문제 예방 / large batch size로 학습 속도 향상
    (
    더 빠른 학습을 위해 BN과 함께 큰 배치 크기를 사용. 따라서 입력 feature들에 적용된 것을 제외하고
    가상 배치 크기 BV와 momentum mB를 사용하여 ghost BN형식을 사용)
  • 루트0.5 : √0.5로 정규화하면 네트워크 전체의 분산이 크게 변하지 않도록 하여 학습을 안정화하는 역할
  • Gated Linear Unit(GLU) 이전 layer에서 전달되는 정보 크기를 제어하는 역할

Gated Linear Unit

  • Feature Transformer을 사용하여 필터링된 feature을 처리한 다음
    decision 단계 output 및 다음 단계에 대한 정보를 분할
  • 높은 capacity를 가지면서 parameter 효율적이고 강건한 학습을 위해 feature transformer는
     (1) 모든 decision 단계(동일한 feature이 서로 다른 decision 단계에 걸쳐 입력됨)에서 공유되는 layer(2개)
     (2) decision 단계에 종속되는 layer (2개)로 구성

  • 각 FC 레이어 뒤에는 BN 및 GLU(Gated Linear Unit) 비선형성이 따르며, 결국 정규화된 잔차 connection과 연결
  • 마지막으로 decision-tree와 같은 집계에서 영감을 받아 전체 decision 임베딩을 아래와 같이 구성.

  •  

 

 


3) TabNet - Encoding 아키텍처 - AttentiveTransformer [Feature Selection]


TabNet - Attentive Transformer

    • Attentive Transformer : 변수 선택 기능 (FC-BN – (Prior Scales) – Sparsemax)
    •  
    • Prior Scales : i번째 단계에서 변수의 중복 반영 여부를 결정하는 Factor로써,  
      선택된 변수의 반영률이 점차 낮아지는 특성이 있음, 중요한 변수가 한번 선택되면 다음번 스텝에서 반복적으로 선택되지 않도록 하는 하이퍼파라미터

파라미터 설명
M  해당 스텝에서의 마스크 강도를 의미(마스크0:해당 변수값이 전혀 통과X / 1:선택됨을 의미)
감마 완화 매개변수(relaxation parameter). 1이상의 값으로 선택하는 하이퍼파라미터로중요한 변수가 한번 선택되었을 때다음번그 다음번 스텝에서도 반복적으로 선택되지 않도록 기능 담당
- γ = 1일 때 한 feature가 하나의 decision 단계에서만 사용됨을 의미(만약 M 1인 변수 선택하고 감마도 1이면선택된 변수가 다음번 스텝에서 선택되지 않게끔 함)
- γ가 증가할수록 많은 decision 단계에서 feature가 사용되기 위해 더 많은 유연성이 제공됨.
hi  훈련 가능한 함수로 FC레이어를 사용하며 BN이 뒤따름
P[i] 특정 feature가 이전에 얼마나 많이 사용되었는지 나타내는 prior scale 척도.

 

  • Sparsemax : Feature가 많은 경우 지나치게 중요성이 낮은 feature에 대해 0으로 많이 수렴될 수 있게끔 하여
    learning capacity 낭비를 방지함. 구간을 나눠 이번 Step에서 중요한 Feature1, 그렇지 않는 Feature0으로 Mask해줌  (Softmax 함수 대비 Sparsity가 높은 함수로 Attention Layer등에서 효과적)

Sparsemax vs Softmax

  • 마스킹은 곱셈, M[i] · f. attentive transformer를 사용하여 이전 단계 a[i − 1]에서
    처리된 feature을 사용하여 마스크를 얻음 : M[i] = sparsemax(P[i − 1] · hi(a[i − 1]))

  • Sparsemax 정규화는 성능이 우수하며 설명 가능성을 위한 sparse feature selection의 목표와 일치하는
    확률적 simplex에 유클리드 projection을 매핑하여 sparsity를 일으킴
  •  
  •  
    • P[0]은 마스킹된 feature에 대한 사전 설정 없이 모두 1B×D로 초기화. 일부 feature들이 사용되지 않은 경우
      (self-supervised learning과 같이) 해당 P[0]은 모델 학습을 돕기 위해 0이 됨.
    • 선택된 feature의 sparsity을 더 제어하기 위해 엔트로피 형태의 sparsity 정규화를 제안.

 

    •  λsparse를 사용하여 전체 loss에 sparsity 정규화를 추가
    • Sparsity는 대부분의 feature들이 중복된 데어터셋에 대해 유리한 inductive bias를 제공

Encoding 아키텍처

Encoding 아키


4) TabNet - Decoding 아키텍처


텍처

TabNet - Decoding 아키텍처

 

  • TabNet으로 인코딩된 representation에서 tabular feature들을 재구성하기 위한 아키텍처로,
    레이블이 없거나 결측치가 포함된 데이터셋에서 사용할 수 있고 pre-training에도 사용할 수 있음
  • 각 decision 단계에서 feature transformer와 FC Layer로 구성
  • Semi-supervised Learning = Unsupervised pre-training + Supervised fine-tuning
    - 앞서 소개한 encoder에 decoder를 연결하면 autoencoder와 같은 자기 학습 구조를 생성할 수 있음
    - 특정한 영역이 masking된 인코딩 데이터를 원본대로 복원할 수 있도록 학습
    -  reconstruction loss를 고려
  • Feature가 다른 범위를 가질 수 있으므로, ground truth의 모집단 표준 편차로 정규화하는 것이 좋음
  • 각 iteration에서 파라미터 Ps인 베르누이 분포에서 독립적으로 Sb.j를 샘플링

  • [기대효과] : 입력변수만으로 사전 학습을 하여 예측 성능 향상, 학습 시간 단축 및 결측치에 대한 보간 효과
  •  

  •  

 


Experiments


  • 다수의 Tabular Dataset에서 성능 우세
    • 분류(Forest Cover Type) 및 회귀 문제(Sarcos)에서 Tree모델 대비 성능 우세
    • 10.5M 사이즈의 Higgs Boston dataset에서 pretraining의 성능을 추가 입증함

 


Interpretability


  • TabNet은 Attentive Transformer의 Mask값을 활용한 변수 중요도 시각화할 수 있으며, 정확한 인스턴스별 Feature 선택을 제공
  • M[i]는 모든 검증 데이터에 대해 각 attentive transformer 단계에서 mask 적용 후 활성화 비율을 표현하며 local적인 특성을 확인할 수 있음
  • Magg는 모든 attentive transformer 단계의 활성화 비율을 결합한 것으로 Global 특성을 확인할 수 있음
    • feature selection 마스크 각 단계에서 선택된 feature들을 밝힐 수 있음
    • Mb,j[i] = 0 이면 b번째 샘플의 j번째 feature은 decision에 기여하지 X.
    • fi가 선형함수인 경우, 계수 Mb,j[i]는 fb,j의 feature 중요도에 해당
    • 각 결정단계는 비선형 처리를 사용하지만, output은 나중에 선형 방식으로 결합
    • 각 단계의 분석과 더불어 총체적인 feature 중요도를 정령화하는 것을 목표로 함
    • 다른 단계에서 마스크를 결합하려면 decision에서 각 단계의 상대적 중요성가중할 수 있는 계수가 필요
    • b번째 샘플에 대한 i번째 decision단계에서 총 decision 기여도를 나타내기 위해, 다음과 같이 제안
      (b : 샘플 데이터, c : Feature, i : decision 단계)

  •        
    • 직관적으로 db,c[i] < 0 이면, i번째 decision 단계의 모든 feature들은 전체 decision에 0 기여도를 가져야 함
    • 값이 클수록 전체 선형 조합에서 더 높은 역할을 함.
    • ηb[i]를 사용하여 각 decision 단계에서 decision 마스크를 스케일링하여 총 feature 중요도 마스크는 

 

 

 

  • 아래 그림은 Synthetic datasets에 대한 집계된 Feature 중요도 마스크를 보여줌
    • Syn2의 Output은 X3-X6에만 의존하며 집계 마스크가 관련 없는 Feature에 대해 거의 모두 0이고
      TabNet은 관련 Feature에만 초점을 맞춘 것을 보여줌
    • Syn4의 경우 Output은 X11의 값에 따라 X1-X2 또는 X3-X6에 따라 달라짐
      (X11에 초점을 맞추기 위해 마스크를 할당하고 관련 없는 Feature에 거의 모두 0에 가까운 가중치를 할당)

 


Conclusion


  • 테이블 데이터 형식의 학습을 위해 새로운 딥러닝 아키텍처인 TabNet을 제안
  • TabNet은 Sequential Attention 메커니즘을 사용하여 각 decision 단계에서
     의미 있는 feature들을 선택
  • Instance-wise feature 선택은 모델 Capacity가 가장 두드러진 Feature에 완전히 사용되기 때문에
    효율적인 학습을 가능하게 함
  • 선택 마스크의 시각화를 통해 더 해석 가능한 의사결정을 내림
  • TabNet은 다양한 도메인 영역의 테이블 형식 데이터 세트에서 이전보다 성능이 우수함을 보여줌
  • 빠른 적용성과 향상된 성능을 위한 비지도 pre-training에 대한 상당한 이점을 보여줌

 

 

 

이상으로 Tabular Dataset에 Deep Learning을 성공적으로 적용한 TabNet에 대해 알아보았습니다.

 

과연, TabNet은 모든 데이터셋에서 성능을 보장할 수 있을까요?

 

이에 대해 부정적인 시각을 보는 논문이 있습니다. [Tabular Data : Deep Learning is Not All You Need] 

 

이 논문에서는 4개의 tabular data딥러닝 연구 간 성능 비교하였는데요,

 

fine tuned XGBoost딥러닝 대비 준수한 성능을 나타냈고,

 

딥러닝 모델과 XGBoost의 앙상블 결합 시 가장 우수한 결과를 도출되었습니다.

 

TabNet이 모든 문제를 해결할 수 있는 만능키는 아니므로

 

이제껏 그래왔듯, 여러 알고리즘과 꼭 비교하는 과정을 거쳐야 합니다.