PyTorch Tabular
요약
PyTorch Tabular는 테이블 형태 데이터를 위한 딥러닝 아키텍처 통합 인터페이스를 제공하는 라이브러리입니다. 이 고수준 API는 PyTorch Lightning을 활용하여 자동 로깅과 함께 GPU/CPU 환경에서 학습 규모 확장이 용이합니다. 낮은 저항성 사용성과 쉬운 커스터마이징에 중점을 두어 테이블 데이터 기반 딥러닝 접근성을 높이는 것이 목표입니다.
핵심 포인트
- 테이블 데이터용 통합 딥러닝 인터페이스 제공
- PyTorch Lightning 기반으로 확장성 확보
- 자동 로깅 및 GPU/CPU 학습 지원
- TabNet, AutoInt 등 최신 모델 구현 가능
PyTorch Tabular는 테이블 형태 데이터에 대한 딥러닝 아키텍처를 위한 통합 인터페이스를 제공합니다. 이 라이브러리는 고수준 API를 제공하며, 자동 로깅 기능과 함께 PyTorch Lightning을 사용하여 GPU 또는 CPU에서 학습 규모를 확장할 수 있습니다.
Documentation · Tutorials · Release Notes |
|
---|---|
Open Source |
|
Tutorials |
|
Community |
|
CI/CD |
|
Code |
|
Downloads |
|
Citation |
PyTorch Tabular는 테이블 데이터로 딥러닝을 실제 사례와 연구 모두에서 쉽고 접근 가능하게 만드는 것을 목표로 합니다. 이 라이브러리 디자인의 핵심 원칙은 다음과 같습니다:
- 낮은 저항성 사용성 (Low Resistance Usability)
- 쉬운 커스터마이징 (Easy Customization)
- 확장 가능하고 배포가 용이함 (Scalable and Easier to Deploy)
이는 PyTorch(당연히)와 PyTorch Lightning 같은 거인들의 어깨 위에 구축되었습니다.
설치 과정에는 PyTorch가 포함되지만, 가장 좋고 권장되는 방법은 먼저 여기에서 PyTorch를 설치하고 사용자의 장치에 맞는 올바른 CUDA 버전을 선택하는 것입니다.
PyTorch를 설치한 후에는 다음을 사용하여 전체 라이브러리(Weights&Biases 및 Plotly 포함)를 설치할 수 있습니다:
pip install -U “pytorch_tabular[extra]”
그리고 필수 요소만 설치하려면:
pip install -U “pytorch_tabular”
pytorch_tabular의 소스 코드는 Github repo에서 다운로드할 수 있습니다.
_.
공개 저장소를 클론하거나 할 수 있습니다:
git clone git://github.com/manujosephv/pytorch_tabular
소스 복사본을 얻었다면 다음 명령어로 설치할 수 있습니다:
cd pytorch_tabular && pip install .[extra]
튜토리얼과 함께 전체 문서는 ReadTheDocs를 방문하세요.
-
FeedForward Network with Category Embedding은 범주형 컬럼에 대한 임베딩 레이어(Embedding layers)를 추가한 간단한 FF 네트워크입니다.
-
Neural Oblivious Decision Ensembles for Deep Learning on Tabular Data는 ICLR 2020에서 발표된 모델로, 저자들에 따르면 여러 데이터셋에서 잘 조정된 그래디언트 부스팅(Gradient Boosting) 모델들을 능가했습니다.
-
TabNet: Attentive Interpretable Tabular Learning은 Google Research에서 나온 또 다른 모델로, 의사 결정 과정의 여러 단계에 희소 어텐션(Sparse Attention)을 사용하여 출력을 모델링합니다.
-
Mixture Density Networks는 가우시안 성분(gaussian components)을 사용하여 타겟 함수를 근사하고 즉각적으로 확률적 예측을 제공하는 회귀 모델입니다.
-
AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks는 피처 간의 상호작용(interactions)을 자동화된 방식으로 학습하여 더 나은 표현(representation)을 만들고, 이 표현을 다운스트림 태스크에 사용하는 모델입니다.
-
TabTransformer는 범주형 피처에 대한 문맥적 표현(contextual representations)을 생성하는 테이블 데이터용 트랜스포머(Transformer) 모델의 적응 버전입니다.
-
FT Transformer from Revisiting Deep Learning Models for Tabular Data
-
Gated Additive Tree Ensemble은 테이블 데이터를 위한 새롭고 고성능이며, 매개변수 및 계산적으로 효율적인 딥러닝 아키텍처입니다. GATE는 GRU에서 영감을 받은 게이팅 메커니즘(gating mechanism)을 피처 표현 학습 유닛으로 사용하며 내장된 피처 선택 메커니즘을 갖추고 있습니다. 우리는 이를 간단한 자체 어텐션(self-attention)으로 재가중치화된 미분 가능한 비선형 의사 결정 트리들의 앙상블과 결합하여 원하는 출력을 예측합니다.
-
Gated Adaptive Network for Deep Automated Learning of Features (GANDALF)는 GATE의 간소화 버전으로, GATE보다 효율적이고 성능이 뛰어납니다. GANDALF는 GFLU를 주요 학습 유닛으로 사용하며 프로세스에 몇 가지 속도 향상(speed-ups)을 도입했습니다. 조정해야 할 하이퍼파라미터가 매우 적어 사용하고 조정하기 쉬운 모델입니다.
-
DANETs: Deep Abstract Networks for Tabular Data Classification and Regression은 표 형식 데이터(tabular data)를 위한 새롭고 유연한 신경 구성 요소인 추상 레이어(Abstract Layer, AbstLay)를 사용합니다. 이 AbstLay는 상관관계가 있는 입력 특징들을 명시적으로 그룹화하고 의미론적 추상화를 위해 더 높은 수준의 특징을 생성하는 방법을 학습합니다. 이러한 AbstLays를 사용하여 특별한 기본 블록이 구축되며, 이를 쌓아 표 형식 데이터 분류 및 회귀를 위한 심층 추상 네트워크(Deep Abstract Networks, DANets) 계열을 구성합니다.
준지도 학습 (Semi-Supervised Learning)
- Denoising AutoEncoder는 데이터셋의 노이즈를 보완하기 위해 견고한 특징 표현(robust feature representation)을 학습하는 오토인코더입니다.
새로운 모델을 구현하려면 'How to implement new models' 튜토리얼을 참조하십시오. 이 튜토리얼은 기본 아키텍처뿐만 아니라 고급 아키텍처도 다룹니다.
from pytorch_tabular import TabularModel
from pytorch_tabular.models import CategoryEmbeddingModelConfig
from pytorch_tabular.config import (
...
-
PyTorch Tabular – 표 형식 데이터 심층 학습을 위한 프레임워크
-
Neural Oblivious Decision Ensembles(NODE) – 표 형식 데이터를 위한 최첨단 딥러닝 알고리즘
-
Mixture Density Networks: 불확실성 추정을 위한 확률적 회귀
-
Optuna 하이퍼파라미터 튜닝 통합
-
더 빠른 데이터 로딩 및 RAM보다 큰 데이터셋 처리를 위해 Datamodule을 Polars 또는 NVTabular로 마이그레이션
-
특징 변환(Feature Transformation)으로 GaussRank 추가
-
scikit-learn과 호환되는 API 제공
-
다중 레이블 분류 지원 활성화
-
계속해서 더 많은 아키텍처 추가 예정
만약 과학 논문에 PyTorch Tabular를 사용한다면, 게시된 소프트웨어와 다음 논문을 인용해 주시면 감사하겠습니다:
@misc{joseph2021pytorch,
title={PyTorch Tabular: A Framework for Deep Learning with Tabular Data},
author={Manu Joseph},
...
- Zenodo 소프트웨어 인용
@software{manu_joseph_2023_7554473,
author = {Manu Joseph and
Jinu Sunil and
...```
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Research의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기