---
title: "표 데이터를 문맥으로 넣으면 분류기가 된다: 초기 TabPFN의 발상"
author: "Dne Cna"
published_at: "2026-10-07T10:00:01.461Z"
updated_at: "2026-09-30T08:20:57.503Z"
tags: ["ai","머신러닝","논문리딩","tabpfn"]
canonical_url: "https://ariser.io/@writer_8706b598dfee/%ED%91%9C-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC-%EB%AC%B8%EB%A7%A5%EC%9C%BC%EB%A1%9C-%EB%84%A3%EC%9C%BC%EB%A9%B4-%EB%B6%84%EB%A5%98%EA%B8%B0%EA%B0%80-%EB%90%9C%EB%8B%A4-%EC%B4%88%EA%B8%B0-tabpfn%EC%9D%98-%EB%B0%9C%EC%83%81"
ai_assisted: false
---

# 표 데이터를 문맥으로 넣으면 분류기가 된다: 초기 TabPFN의 발상

[원문](https://ariser.io/@writer_8706b598dfee/%ED%91%9C-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC-%EB%AC%B8%EB%A7%A5%EC%9C%BC%EB%A1%9C-%EB%84%A3%EC%9C%BC%EB%A9%B4-%EB%B6%84%EB%A5%98%EA%B8%B0%EA%B0%80-%EB%90%9C%EB%8B%A4-%EC%B4%88%EA%B8%B0-tabpfn%EC%9D%98-%EB%B0%9C%EC%83%81)

작은 표 데이터를 받으면 보통 여러 모델을 학습시키고 교차검증을 돌린다. 어떤 모델이 좋은지 모르니 tree의 깊이를 바꾸고 regularization을 조정한다. 데이터가 몇백 행뿐이어도 이 탐색은 의외로 오래 걸린다.

TabPFN은 그 반복을 다른 곳으로 옮긴다. 새로운 표마다 모델을 처음부터 맞추는 대신, **작은 데이터에서 분류하는 방법 자체를 미리 학습한 Transformer**에 표를 입력한다. 학습용 행과 라벨, 예측할 행을 함께 넣으면 class probability가 나온다. 새 과제에서 gradient update 없이 예측한다는 점이 이 논문의 매력이다. [TabPFN 원문](https://arxiv.org/abs/2207.01848)

## 데이터셋이 모델의 입력이 된다

일반적인 분류기는 학습 데이터로 가중치를 조정한 뒤 x를 입력받아 y를 예측한다. TabPFN에서는 학습 데이터 D_train 자체가 예측 시점 입력의 일부다. 출력은 q(y | x, D_train)으로 읽을 수 있다. 이미 고정된 가중치를 가진 모델이 새 표의 관계를 문맥에서 활용한다.

예를 들어 기계 부품 300개의 측정값과 불량 여부가 있고, 새 부품 20개를 판정해야 한다고 하자. 기존 방식에서는 300개로 별도의 분류기를 학습한다. TabPFN은 라벨이 있는 300개와 라벨이 없는 20개의 feature를 받아 예측한다. 이 예는 구조를 이해하기 위한 가상 과제다. 그 부품 데이터에서 실제 성능이 좋다는 뜻은 아니다.

각 행은 feature와 관측된 라벨을 묶은 token으로 표현된다. 예측할 행에서는 정답 라벨을 제공하지 않는다. attention mask는 학습 행을 참조하는 흐름을 정하고, test label을 몰래 읽을 수 없게 구성한다. 표의 행 순서가 문장의 단어 순서처럼 의미를 갖는 것은 아니므로 set 형태의 입력이라는 관점도 중요하다. [입력 구조와 attention](https://arxiv.org/pdf/2207.01848)

표가 커지면 문맥으로 넣어야 할 행도 늘어난다. 새 데이터에서 학습을 생략한다는 장점이 입력 크기와 무관한 계산 비용을 보장하지는 않는다. 학습용 표를 함께 처리한다는 구조가 빠른 적응의 근거인 동시에, 처리 규모를 생각하게 만드는 이유다.

## 실제 표 대신 수많은 가상 문제로 연습한다

TabPFN은 Prior-Data Fitted Network, PFN의 한 사례다. 먼저 데이터 생성 규칙을 뽑고, 그 규칙에서 합성 데이터셋을 만든다. 일부 행의 라벨만 보여 주고 나머지 행을 예측하도록 모델을 학습한다. 이런 과제를 반복하면 모델은 특정 표 하나의 정답을 외우는 대신, 주어진 예제에서 새 예제의 라벨을 추정하는 패턴을 학습할 수 있다.

prior에는 Bayesian neural network와 structural causal model에서 얻는 데이터 생성 방식이 포함된다. 단순한 생성 구조를 더 선호하는 선택도 들어간다. 논문이 말하는 “학습된 알고리즘”은 아무 사전 가정 없이 모든 가능한 표를 푸는 기계가 아니다. 합성 문제를 어떻게 만들었는지가 inductive bias의 중요한 부분이다. [prior와 학습 목표](https://arxiv.org/pdf/2207.01848)

이 발상을 학습 도구 제작으로 읽으면 더 재미있다. 기존 모델에서는 깊이 제한이나 regularization을 통해 선호하는 해법을 간접적으로 정한다. PFN에서는 우리가 그럴듯하다고 생각하는 데이터 생성 과정을 직접 샘플링해 학습 문제의 분포를 정할 수 있다. 모델이 연습한 문제의 종류가 새 표를 바라보는 기대를 만든다.

내가 떠올린 비유는 통계 상담가의 훈련이다. 하나의 데이터만 오랫동안 분석하는 대신, 서로 다른 수많은 소규모 문제를 풀어 보고 새 문제의 징후를 알아보게 만든다. 상담가는 각 문제에 별도 최적화를 수행하지만 TabPFN은 하나의 고정된 forward computation으로 대응한다는 차이는 남는다.

## 베이지안 추론을 매번 계산하지 않고 근사하기

새 표가 주어지면 여러 데이터 생성 가설이 가능하다. feature 하나가 직접 라벨을 결정할 수도 있고, 두 feature의 비선형 조합이 필요할 수도 있다. 베이지안 관점에서는 학습 데이터와 잘 맞고 prior에서 그럴듯한 가설에 더 큰 비중을 주어 예측을 평균한다.

TabPFN은 그 posterior predictive distribution을 신경망으로 근사하도록 학습된다. 새로운 과제에서 모든 가설을 하나씩 탐색하고 적분하는 계산을 수행하는 대신, 미리 학습한 네트워크가 예측 분포를 바로 내는 것이다. 이런 계산 비용의 선지급을 amortization이라는 말로 이해할 수 있다.

그러므로 “학습 없이 분류한다”는 문구는 범위를 정해야 한다. 새 데이터셋에서 가중치를 맞추지 않는다는 뜻이지, 모델을 만들 때 학습 비용이 없었다는 뜻은 아니다. 빠른 새로운 과제 처리는 이전에 합성 과제로 학습한 비용 위에 서 있다. 다양한 작은 표에 반복 적용할수록 그 비용을 나눠 쓰는 관점이 유용해진다.

또 posterior를 근사한다는 설명은 예측 확률이 모든 현실 데이터에서 정확하게 보정되어 있다는 보증이 아니다. 생성 prior가 새 데이터의 특성과 얼마나 맞는지, 근사 모델이 잘 학습되었는지에 따라 결과가 달라질 수 있다. 확률 출력을 곧바로 업무상 신뢰도로 읽기 전에 calibration을 확인할 이유가 있다.

## 제목의 ‘1초’에는 범위가 붙는다

이 글에서 읽는 것은 2022년 공개되어 ICLR 2023에 발표된 초기 TabPFN이다. 원문은 최대 1,000개 학습 예제, 최대 100개 numerical feature, 최대 10개 class의 작은 분류 문제를 중심으로 평가한다. 주된 benchmark에는 missing value가 없는 수치 데이터 조건이 붙는다. 후속 모델의 범위와 이 논문의 결과를 섞어 읽으면 안 된다. [논문이 명시한 평가 범위](https://arxiv.org/abs/2207.01848)

연구팀은 이 범위에서 boosted tree와 AutoML을 비교하고, 짧은 새 과제 처리 시간에도 경쟁력 있는 결과를 보고한다. 다만 원문에는 단일 forward pass 평가뿐 아니라 여러 전처리와 순서 변환의 예측을 합치는 ensemble 평가도 있다. 모든 결과가 언제나 정확히 한 번의 호출로 나온다고 소개하면 비교 조건을 지워 버린다. [실험 설정과 ensemble](https://arxiv.org/pdf/2207.01848)

실무에서 “1초”는 가장 먼저 확인할 값이 아닐 수 있다. feature를 준비하고 train과 test를 나누는 시간, 모델을 메모리에 올리는 시간, 여러 변환을 합치는 시간이 전체 흐름에 들어간다. 그래도 반복적인 하이퍼파라미터 탐색을 줄일 수 있다는 장점은 작지 않다. 모델 평가가 빨라지면 사람이 데이터와 오류를 검토하는 데 더 많은 시간을 쓸 수 있다.

범주형 변수나 결측치가 있는 큰 업무 데이터에 적용하려면, 논문의 원래 조건 밖에서 어떤 전처리와 구현이 필요한지 따로 확인해야 한다. 작은 수치 분류 benchmark의 결과를 모든 표 데이터의 답으로 넓힐 근거는 이 논문만으로 충분하지 않다.

## 인과 prior가 인과 결론을 주지는 않는다

structural causal model이 학습 문제 생성에 쓰였다는 사실은 흥미롭다. 하지만 새 표에서 얻은 분류 예측이 인과 관계를 식별했다는 뜻은 아니다. 관측 데이터에서 라벨을 잘 예측하는 것과 개입했을 때 결과가 어떻게 달라질지 아는 것은 다른 주장이다.

예컨대 온도와 고장 여부의 상관을 잘 활용해도, 온도를 조작하면 고장률이 얼마나 바뀌는지 곧바로 알 수는 없다. 합성 prior에 인과적 생성 구조가 포함된다는 것은 현실의 관계를 모델링하기 위한 가정이지, 입력 표에 숨은 인과 그래프를 자동으로 확정하는 장치가 아니다. 이는 방법 이름에서 생길 수 있는 기대를 정리하기 위한 내 해석이다.

작은 표를 다루는 팀이라면 TabPFN을 빠른 baseline 후보로 평가해 볼 수 있다. 같은 split에서 tree 계열과 비교하고, 시간 또는 그룹 의존성이 있으면 그에 맞는 분할을 사용한다. 모델이 빠르게 답을 준다는 사실이 데이터 누출을 막아 주지는 않으므로 feature 생성과 전처리의 경계를 명확히 해야 한다.

TabPFN이 바꾼 것은 분류기의 모양만이 아니다. 데이터 하나를 잘 학습하는 함수를 만드는 대신, 데이터셋을 보고 학습 결과에 해당하는 예측을 내는 함수를 만든다. 좋은 작은 데이터 학습 절차를 사전 학습의 대상으로 삼을 수 있다는 생각이, 이 논문을 오래 기억하게 만든다.

논문: Noah Hollmann, Samuel Müller, Katharina Eggensperger, Frank Hutter, *TabPFN: A Transformer That Solves Small Tabular Classification Problems in a Second*, 2022 공개, ICLR 2023. [원문](https://arxiv.org/abs/2207.01848)

