티스토리 뷰

 

논문 : https://arxiv.org/pdf/2106.03253.pdf

⬛ Abstract

- tabular data의 분류/회귀 문제에서  XGBoost와 같은 앙상블 모델이 일반적으로 권장.

- 최근에 tabular data에 대해 딥러닝 사용이 제안되며, 몇 가지 케이스에서 XGBoost보다 딥러닝 성능이 높다고 함

- tabular data에 대해 딥러닝모델과 XGBoost를 비교할 때 딥러닝 모델이 추천될 만한것인지 다양한 데이터셋으로 비교 (정확도로 비교하며 tuning도 고려함)

- XGBoost는 딥러닝 모델을 제안한 논문에서 사용한 데이터셋을 포함한 다양한 데이터셋에 대해 딥러닝 모델보다 좋은 성능을 보임 XGBoost는 tuning을 적게 함

- XGBoost 단독 모델보다는 XGBoost와 딥러닝 모델을 앙상블 할 경우 성능이 더 좋음

 


⬛ Introduction

- sample(row)와 feature(columns)로 구성된 Tabular data는 실제 세계에서 가장 일반화된 데이터임

- tabular data에 딥러닝을 적용할 때 발생하는 문제는 locality 부족, 데이터 희소성(결측값), 혼합된 feature 타입(숫자형, 순서형, 범주형), 그리고 텍스트와 이미지와 다르게 데이터 structure에 대한 사전 지식 부족임

- ’no free lunch’원리(모든 문제에서 가장 적합한 어떤 하나의 모델은 없다)가 항상 적용하더라도 tabular data 문제에서는 XGBoost와 같은 tree-앙상블 알고리즘이 현재 많이 추천되고 있음

- 최근에 tabular data에 대해 딥러닝 네트워크를 사용하려는 시도가 있었고 XGBoost 성능을 능가한다고 주장한 논문들

  → 문제점1) 이 분야의 논문들은 표준 벤치마크할 게 없어 각기 다른 데이터셋을 사용하므로 모델들을 비교하기 어렵게 함(일부 모델에는 오픈 소스 구현을 하기 어렵기 때문)
     문제점2) 모델 비교를 시도하려 하지만 모든 모델을 동등하게 최적하지 못함

- 이 연구의 주요 목적은 제안된 딥러닝 모델들 중 실제로 tabular data 문제에서 권장되는 선택인지를 알아보는 것
  (1) 딥러닝 모델을 제안한 논문에서 나타나지 않은 데이터셋에 대해서도 그 모델들이 정확한가?

  (2) training과 하이퍼파라미터 튜닝은 다른 모델에 비해 얼마나 걸리는지?

11개 데이터 셋에 대해 분석 (최근 딥러닝 모델을 제안한 4개 논문에서 중 9개 데이터셋 포함)

- 일반적으로 XGBoost가 딥러닝보다 성능이 뛰어나며 하이퍼파리미터 튜닝 시간도 짧음

- XGBoost와 딥러닝 모델을 앙상블 할 경우 성능이 더 좋음

- Deep learning is currently not all we need for tabular data, despite the recent significant progress.


⬛ Deep Neural Models for Tabular Data

 1) TabNet : (순차적인 어텐션(Sequential Attention)을 사용하여 각 의사 결정 단계에서 추론할 feature를 선택하여 학습 능력이 가장 두드러진 feature를 사용하므로 interpretability와 효과적인 학습을 가능하게 함) decision step에서 feature를 선택할 때 sparsemax(softmax의 sparse한 버전으로, Sparse한 데이터셋 적용 시 좋은 성능)라는 normalization 수행. mask 학습의 이점은 전부 아니면 전무일 필요가 없다는것. 오히려 feature에 엄격한 임계값을 사용(미분할 수 없는..)하는 대신 학습 가능한 mask로 soft한 결정을 내릴 수 있음. 

 2) Neural Oblivious Decision Ensembles (NODE) : (error gradients가 역전파할 수 있도록)미분 가능한 같은 깊이의 ODT(Oblivious Decision Trees)가 포함됨, feature에 따라서 데이터를 분할하며 학습 가능한 입계값으로 각각을 비교. 오직 한 feature만이 각각의 level에서 선택되며 결과적으로 균형잡힌 ODT를 냄. 완전한 모델은 미분가능한 tree들의 앙상블을 제공

 3) DNF-Net : DNN에서 disjunctive normal formulas (DNF)을 시뮬레이션 한 것. hard boolean공식을 soft, 미분가능한 버전으로 교체. disjunctive normal neural form (DNNF) block이 이 모델에서 중요한 기능임. 이것은 (1) fully connected layer (2) literal에 대한 binary 결합인 soft version으로 형성된 DNNF layer. 완전한 모델은 이러한 DNNF의 앙상블

 4) 1D-CNN : 최근 Kaggle에서 최고 성능 달성. CNN 구조는 feature extraction을 잘 수행하지만 feature 순서에 locality특성이 없기 때문에  tabular data에서는 드물게 사용. 이 모델에서 FC layer는 locality 특성이 있는 더 큰 feature들을 만드는데 사용되고 몇몇의 1D-Conv는 shortcut과 같은 연결을 함 

 5) Ensemble of models : 여러 모델을훈련하고 예측을 결합하여 정확도를 높이고 분산을 줄이는 방법. 이 논문의 앙상블은 TabNet, NODE, DNF-NEt, 1D-CNN, XGboost의 가중 평균 사용. 상대 가중치는 단순히 각 모델의 정규화된 validation loss로 정의됨. 


⬛ Comparing the Models

실제 적용 시 모델들이 (1) 성능이 정확해야하고, (2) 효율적으로 훈련하고 추론하며, (3) 최적화 시간이 짧음(빠른 하이퍼파라미터 튜닝)를 조사함. 먼저 다양한 데이터셋에 대해 딥러닝 모델들, XGBoost, 앙상블 모델의 정확도를 계산. 다음으로는 그 앙상블의 다양한 구성 요소를 분석( 좋은 결과를 내거나 고전적인 모델들과 결합하기 위해, 딥러닝 모델들이 필수적인지 테스트). 정확도와 필요한 계산 리소스의 tradeoff를 탐색. 마지막으로 다른모델들의 하이퍼파라미터 탐색 과정을 비교

◼ Experimental Setup

◽ DATASETS

- TabNet, DNF-Net, NODE에 대한 각 논문에서 3개의 데이터셋을 가져와 사용함. 이 논문들에서 사용하지 않은 두 개의 Kaggle 데이터를 추가로 사용.(1D-CNN는 Kaggle 대회에서 최근에 제안된 것으로 그 데이터셋은 사용하지 않음).

- 사용한 데이터셋은 Forest Cover Type, Higgs Boson, Year Prediction, Rossmann Store
Sales, Gas Concentrations, Eye Movements, Gesture Phase, MSLR, Epsilon, Shrutime and
Blastcha 임

◽ The Optimization Process

- 하이퍼파라미터를 찾기위해 Hyperopt(Bayesian optimization사용)를 사용. 하이퍼파라미터 탐색은 각각의 데이터셋에서  validation set에 대한 결과를 최적화하며 1000 step 실시

- 초기 하이퍼파라미터는 원래의 논문에서 가져온 것을 사용. 

- 데이터를 training / validation / test set으로 분리하며 무작위 분할을 세 번 수행 (같은 partition 안에서도 three random seed initializations 실시 )

- classification 데이터셋에 대해서는 cross entropy loss 최소화, regression 데이터셋에 대해서는 mean sequared error를 최소화함

- 'original model' : 각 모델을 제안한 논문들에서 해당 데이터셋 대해 사용한 모델들,

  'unseen datasets' : 그 논문들에서 언급되지 않은 데이터셋

Results

○ 딥러닝 모델들이 다른 데이터셋에 대해서도 일반화를 하는가?

- 딥러닝 모델들이 원래의 논문에서 포함하지 데이터들에 대해서 학습할 때 좋은 성능을 내는지 탐색하고 XGBoost와 비교

- Table1은각 데이터셋의 각 모델의 정확도를 나타냄(값이 작을수록 정확도 커짐)

  ▪ 대부분의 경우에 'original model'을 적용한 데이터셋보다 'unseen datasets'에서 성능이 좋지 않음

  ▪ XGBoost 모델은 일반적으로 딥러닝 모델 보다 성능이 좋음

  ▪ 딥러닝 모델은 다른 모델들보다 일관적으로 좋은 성능을 내지는 못함. 1D-CNN 모델 성능은 모든 데이터셋가 새롭기때문에 더 나은 성능을 볼 수 있음.

  ▪ 대부분의 경우에 딥러닝 모델의앙상블과 XGBoost는 다른 모델보다 성능이 좋음 

Table1. 각 데이터셋에 대한 모델별 결과(Yearprediction/Rossman - MSE, the other dataset - logloss, 3번의 훈련 값의 평균)

- 또한 각 데이터셋에 대해 각 모델의 상대적 성능계산. 해당 데이셋의 best모델과 비교함. 'unseen datasets'에 대해 각 모델들을 기하평균함

- 모든 모델의 앙상블은 2.32%의 평균 상대 증가율로 best model이었음. XGBoost는 3.4%로 두번째로, 1D-CNN은 7.5%, TabNet은 10.5%, DNF-Net은 11.8%, NODE는 14.2%

- 딥러닝 모델이 'unseen dataset'에 대해 학습할 때 성능이 저하되는 이유

  (1) selection bias - 각 논문은 그 모델의 성능이 좋은 데이터셋에 모델의 성능을 자연스럽게  보여줌

  (2) 하이퍼파라미터 최적화 차이 - 각 논문은 더 많은 것을 기반으로 모델의 하이파라미터 설정. 광범위한 하이퍼파라미터 탐색을 통해 더 나은 성능을 얻을 수 있음 (원래 데이터셋의 각 모델에 대한 결과는 제시된 결과와 일치했음)

 

 XGBoost와 딥러닝 모델들이 둘다 필요한가?

- XGBoost와 딥러닝 모델들의 앙상블이 데이터셋에서 가장 좋은 성능을 보임

- 앙상블이 어떤 구성 요소가 필수인지 조사하는 게 중요

- XGBoost가 딥러닝모델과 결합 vs 딥러닝 모델이 아닌 모델들과 단순한 앙상블

- XGBoost 및 기타 non-deep model (SVM, CatBoost) 모델의 앙상블을 학습시킴

- 고전적 모델들의 앙상블이 딥러닝 모델과 XGBoost의 앙상블보다 더 안 좋은 성능을 보임

- 또한 XGBoost 없이 딥러닝 모델의 앙상블만으로 좋은 결과 내지 못함

- 딥러닝 모델과 XGBoost의 조합이 이러한 데이터셋에 이점을 제공

 

 SUBSET OF MODELS

- 앙상블은 정확도를 향상시키지만, 여러 모델들의 사용하려면 추가적인 계산 필요. 실제 적용할 때, 컴퓨팅 제약조건은 최종 성능에 영향을 미침

- 정확도와 계산속도 사이의 tradeoff를 확인하기 위해 앙상블 내에서 모델의 subset을 사용하는 것을 고려

  (1) validation loss 값이 낮은 모델을 선정

  (2) 각 예제에 대한 모델의 불확실성을 기반으로, cofindence가 높은 모델 선정

  (3) random order를 기준으로 하여 모델을 무작위 선택

- Figure1) 각 모델들의 subset들은 unseen dataset(Shrutime)의 예제로 비교

- 가장 좋은 선택 방법은 validation loss를 기반으로 예측값을 평균한 것 (최적의 성능을 얻기 위해 오직 3모델들만 필요)

- 모델을 무작위로 선정하는 것이 최악의 선택

 

 

 최적화가 얼마나 어려운가?

- 실제 적용 시, 새로운 데이터셋에서 모델을 최적화 하는 데 제한된 시간이 있음

- 많은 데이터셋트에서 여러 모델을 실행하는 AutoML 시스템에서 중요한 고려 사항

- 모델을 최적화하는데 필요한 총 반복 횟수에 관심

- Figure2)  Shrutime데이터셋에서 하이퍼파라미터 최적화 과정에서 반복횟수에 대한 모델의 성능(mean and standard error of mean))  

- XGBoost가 딥러닝 모델보다 더 빨리 좋은 성능으로 수렴함 (더 적은 iterations, 런타임 측면에서도 더 짧음)

<이러한 결과의 요인> 

  (1) Bayesian 하이퍼파라미터 최적화 프로세스를 사용했으며 결과는 다른 최적화 프로세스에 따라 다를 수 있음

  (2) XGBoost의 초기 하이퍼파라미터는 이전에 많은 데이터셋에 대해 최적화되었기 때문에 더 강력할 수 있음

     다른 데이터셋에 대한 딥러닝 모델에 대해서도 잘 작동하는 일부 하이퍼파라미터를 찾을 수 있을 것임

  (3) XGBoost 모델에는 더 강력하고 최적화하기 쉽게 만드는 몇가지 고유한 특성이 있음

   


⬛ Summary

- 테이블 데이터셋에 대해 최근에 제안된 딥러닝 모델의 정확도를 조사

- 딥러닝 모델들은 원본 논문에 나타나지 않은 데이터셋에 대해 성능이 안 좋았으며, 

  베이스 라인 모델인 XGBoost보다 더  약했음

-  XGBoost와 딥러닝 모델의 앙상블을 제안 - 개별 모델과 딥러닝이 아닌 고전적인 앙상들보다 더 나은 성능을 보임

- 특히, AutoML에서 중요한 정확도, 추론 계산 비용(computational cost)과 하이퍼파라미터 최적화 시간 간의 가능한 절충점에 대해 살펴봄

- 결론적으로, tabular dataset에 대한 딥러닝 모델을 사용하여 상당한 진전이 있었지만 여전히 XGBoost보다 성능이 좋지는 않음

- 다소 개선된 앙상블 결과는 추가적 연구를 위한 또 다른 잠재적인 방법을 제공