본문 바로가기
AI/AI Paper review

[ICML-2021] Tabular Data:Deep Learning is Not All You Need

by 노마드공학자 2024. 1. 11.

논문 전문 : https://arxiv.org/abs/2106.03253

[출처] Ravid Shwartz-Ziv, Amitai Armon,Tabular data: Deep learning is not all you need,Information Fusion,Volume 81,2022,Pages 84-90,ISSN 1566-2535,https://doi.org/10.1016/j.inffus.2021.11.011.

 

※ The picture and content of this article are from the original paper.

This article is more of an intuitive understanding than academic analysis.


 

[논문 요약]
Tabular Data: Deep Learning is Not All You Need

 

 

Tabular Data에 대해서는 딥러닝이 답이아니다 라고 말하는 논문입니다.

Intel AI Group에서 나온 논문인데, Transformer에 감명을 많이 받았는지 제목을 Attention is All You Need와 비슷하게 지었네요

이미지는 CNN같은 딥러닝이 잘 맞으나, Tab 데이터에 대해서는 기존 ML 스킬들이 정확도가 더 높은 경우가 많다라는것을 직접 구현을 통해 비교한 논문입니다.

 

Contents

 

 

놀랍게도 본 논문의 Alpha to Omega는 위 이미지 한장이 전부입니다.

뭔가를 새로 개발한 논문은 아니기에, 어떻게보면 리뷰논문에 가깝다고 볼수있습니다.

본 논문의 요점은, XGBoost(Decision Tree를 Ensemble한것) 단일 모델의 성능이 대부분의 딥러닝 스킬들 보다 성능이 좋으며, 딥러닝과 XGBoost를 Ensemble해서 쓸때의 성능이 가장 좋다는것 입니다.

 

특히 기존ML계열은 하이퍼파라미터의 갯수도 많지않기에 딥러닝 기술들보다 성능이 유사하기만해도 이득인데 더욱 좋은 부분도 있다고하니 굳이 Tab 데이터에 딥러닝을 써야할까? 라는것입니다.

 

 

필자의 의견으로는 GBDT(Gradient Boosting Decision Tree)나 XGBoost같은 것들만으로도 충분하다는 것입니다. 상기 표는 저자의 실험 그래프입니다. XGBoost가 다른 모델들 대비 확실히 interation 대비 Loss가 빠르게 떨어지는것을 볼 수 있습니다. 실제로도 제가 연구를 해보면 Decision Tree들만으로도 꽤나 괜찮은 성능이 나올때가 있습니다.  도메인 지식없이 결과만 봤을때는 Decision Tree만으로도 충분하다고 판단할수있겠지만, 배터리쪽 분야 특성상 Universal한 케이스를 맞추기는 쉽지 않습니다. 

 

하지만 저는 이 논문에 하나의 의구심이 있습니다.

Tab-Net보다도 성능이 좋다는것인데, Tab-Net이 현재는 구형(논문이 나온지 수년밖에 안됬지만 워낙 시대가빠르니..) 모델이긴 하나 1D-CNN보다도 Performance가 안좋으며, XGBoost 단일모델보다 3배이상 안좋게 나왔기 때문입니다.

그래도 본 논문이 쓰인 시점에서는 Tab-Net이 SOTA였을텐데, 어떤식으로 모델을 만들었고 하이퍼파라미터를 튜닝했는지에 대한 의구심이 있습니다. (다른 모델들도 마찬가지)

 

저는 개인적으로 Time-Series Tab Data를 사용할때 1D-CNN을 즐겨씁니다. LSTM이나 RNN은 Attention을 추가하지 않는이상 Context Vector에서 근본적인 한계점이 있기때문인데요, Attention을 쓰면 연산이 더욱 늘어나니 굳이 이럴바에는 1D-CNN을 쓰자는 축입니다. 그런데 이 1D-CNN의 성능이 본 논문에서는 상당히 평가절하되어있는듯한 느낌이 듭니다.

 

본 논문에서 검증에 사용한 데이터

 

물론 Tab-Data라는것이 이미지처럼 딱 정형화할수없기때문에, 저자는 여러 Tab-Data에 대해 테스트를 했고 그 퍼포먼스를 평균적으로 나타낸것이라는것은 잘알고있습니다만, GPT와 같은 초거대 LLM급으로 하여 파라미터수 그 자체가 SOTA의 여부로 결정되는 수준이 아닌(파라미터 수는 극한으로 쓴다는 가정하에서의 성능배틀), 이정도 시뮬레이션 수준에서는 파라미터수나 하이퍼파라미터 튜닝을 어떻게하느냐에 따라서 성능이 상당히 갈린다는 의미입니다.

 

 

이런 의구심이 있었지만, 본 논문에서 얻은 한가지 인사이트는 상기 그림입니다.

많은 사람들은 Ensemble이 다다익선이라고 생각하지만, 본 저자의 의견은 Tab-Data 한정하여서는 3개 이상 Ensemble을 할때 엄청나게 뚜렷한 Loss하락은 보지 못했다는것입니다. 즉, 모델의 복잡도와 성능을 저울질할때는 3개 정도의 Ensemble이면 괜찮지않을까라고 본 저자는 주장하고 있습니다. 

 

 

Results

제목이 재미있는 논문입니다. Transformer를 오마주하여 만든 제목들이  많지만 이목을 끌기에 아주 자극적으로 잘지은듯합니다. 다만, 그에반해 내용은 결국 딥러닝+XGBoost를 하는게 가장 성능이 좋더라. 즉, 딥러닝을 쓰는게 결국 더 좋더라는 쪽으로 이야기가 귀결됩니다.

XGBoost도 충분히 standalone할수 있는 모델이지만 딥러닝과 앙상블했을때 성능이 최고라는점, Tab-Data에 대해 모델들을 앙상블할때 3개 이상하는것은 복잡도가증가 대비 성능 효율이 떨어질수있다는점 정도만 기억하면 좋을것 같습니다.

 

참조

[1]  Ravid Shwartz-Ziv, Amitai Armon,Tabular data: Deep learning is not all you need,Information Fusion,Volume 81,2022,Pages 84-90,ISSN 1566-2535,https://doi.org/10.1016/j.inffus.2021.11.011.

댓글