개요
40편에서 분포 이동을 봤다. 학습할 때 본 데이터와 현장에 들어오는 데이터가 다른 문제. 그리고 그 답으로 모델을 데이터 쪽으로 살짝 옮기는 방법(TTA)을 봤다.
이번 편은 같은 문제에 대한 정반대 답이다.
모델을 옮기지 말고, 데이터를 모델 쪽으로 옮기면 되지 않나?
처음 들었을 때 이게 무슨 소린가 싶었다. 데이터는 그냥 들어오는 거 아닌가. 그런데 생각해보면 아니었다. 카메라가 찍어서 들어오는 것이라면, 카메라 설정을 바꾸면 들어오는 데이터가 바뀐다.
이번 글이 답할 질문 모델도 안 키우고 모델을 고치지도 않으면서 정확도를 올릴 수 있을까. 센서만 만져서.
교육 과정 자료는 대외비라 원본 자료는 싣지 않는다.
1. 규모로 덮기 — 스케일링 법칙과 그 끝
먼저 왜 지금까지 다들 모델을 키우는 쪽으로만 갔는지부터 봐야 한다.
스케일링 법칙(Scaling Law) 이라는 게 있다. 모델 크기, 학습 데이터 양, 컴퓨팅 자원 — 이 셋을 늘리면 성능이 예측 가능하게 좋아진다는 관찰이다.
“예측 가능하게” 라는 게 핵심이다. 돈을 얼마 쓰면 성능이 얼마 오르는지 계산이 되니까, 이건 투자 전략이 된다. 초거대 AI가 그렇게 빠르게 커진 이유다.
분포 이동도 이 논리로 덮으려 했다. 낯선 데이터를 만나서 성능이 떨어지는 거라면, 더 많은 데이터를 학습시켜서 낯선 걸 줄이면 되니까.
그런데 여기서 질문 하나
이 세상에서 일어날 수 있는 모든 경우의 수를 학습 데이터로 미리 준비하는 게 가능할까?
자료가 던진 이 질문이 이번 편 전체의 출발점이었다.
특히 AI가 피지컬 AI 쪽으로 가면서 이 질문이 심각해진다. 화면 안에서 텍스트만 다루던 시절과 달리, 로봇은 실제 물리 공간에서 보고 판단하고 움직여야 한다. 그럼 경우의 수가 이렇게 늘어난다.
- 환경 — 빛, 조도, 날씨, 그림자, 반사
- 로봇 자신의 행동 — 어느 시점에, 어느 거리에서, 어느 각도로 봤는가
이게 더하기가 아니라 곱하기로 늘어난다. 조명 상황 100가지 × 각도 100가지면 벌써 1만 가지다. 여기에 거리, 물체 종류, 배경까지 곱하면 데이터로 다 덮는 건 현실적으로 불가능하다.
스케일링 법칙은 틀린 게 아니라, 이 문제에 대해서는 끝이 없는 전략이다.
2. 발상의 전환 — 사람은 눈을 고치지 않는다
여기서 자료가 좋은 질문을 던진다. 정작 사람은 이 문제를 어떻게 풀고 있나?
어두워서 잘 안 보일 때 사람이 하는 일은 이렇다.
- 안 보이면 → 안경을 찾는다
- 눈이 부시면 → 선글라스를 쓴다
- 잘 안 들리면 → 귀를 기울인다
아무도 “어두운 데서 잘 보려면 어두운 환경을 더 많이 경험해야지” 라고 하지 않는다. 그냥 감각기관 쪽을 손본다. 뇌는 그대로 두고.
그런데 초거대 AI 전략은 정반대다. 안 보이면 더 공부시킨다. 자료의 표현을 빌리면 “모든 것은 공부와 노력의 문제야” 라는 발상이다.
더 쉬운 비유로
칠판 글씨가 안 보이는 학생에게 “국어 공부를 더 해라” 고 하는 것이다.
공부를 더 시키면 언젠가는 맞출지도 모른다. 문맥으로 추측할 테니까. 하지만 안경 하나 씌우면 5초에 끝날 일이다. 그리고 안경은 국어뿐 아니라 모든 과목에 다 통한다.
적응적 센싱(Adaptive Sensing) 은 AI에게도 안경을 씌워주자는 발상이다.
3. 세 가지 답 — 무엇을 움직일 것인가
38편부터 여기까지 오면서 같은 문제에 세 가지 답이 나왔다. 나란히 놓아보니 차이가 선명했다.
모델이 잘 아는 영역이 있고, 실제로 들어오는 데이터가 그 밖에 있는 상황이다. 여기서 뭘 움직이느냐가 갈린다.
| 전략 | 움직이는 것 | 비용 | 시점 |
|---|---|---|---|
| 모델 일반화 | 아는 영역을 넓힌다 | 추가 학습, 매우 비쌈 | 배포 전 |
| TTA (40편) | 아는 영역을 데이터 쪽으로 민다 | 파라미터 일부 갱신 | 테스트 중 |
| 적응적 센싱 | 데이터를 아는 영역 안으로 끌어온다 | 센서 설정만 | 찍는 순간 |
앞의 둘은 모델을 건드린다. 마지막 하나만 모델을 아예 안 건드린다. 가중치가 한 글자도 안 바뀐다.
이게 왜 중요하냐면, 38편에서 본 온디바이스 환경을 생각하면 답이 나온다. 정수로 양자화해서 가속기에 밀어 넣은 모델은 현장에서 학습을 못 한다. 역전파를 돌릴 회로가 없다. 그런데 카메라 설정을 바꾸는 건 그냥 값을 쓰는 일이라 어디서든 된다.
TTA가 “모델아, 여기에 맞춰봐” 라면, 적응적 센싱은 “모델이 알아볼 만한 사진을 찍어주자” 다.
4. Lens — 여러 설정으로 찍어보고 제일 확신하는 걸 고른다
개념은 알겠는데, 그럼 어떤 설정으로 찍어야 하는지는 어떻게 아나. 이걸 푸는 게 Lens라는 기법이다.
동작은 네 단계다.
1 — 후보를 고른다. 카메라 설정은 감도(ISO)·셔터 속도·조리개 조합이라 경우의 수가 어마어마하다. 전부 시도할 수는 없으니 K개만 추린다. 무작위로 뽑거나, 등간격으로 뽑거나, 가장 빨리 찍을 수 있는 조합으로 뽑는다.
2 — 그 설정들로 찍는다. 같은 장면을 설정마다 한 장씩. 어떤 건 너무 밝고 어떤 건 너무 어두울 것이다.
3 — 모델에게 점수를 물어본다. 찍은 사진들을 전부 모델에 넣어보고, 모델이 얼마나 확신하는지를 점수로 받는다. 40편에 나온 그 신뢰도 점수다.
4 — 1등을 고른다. 점수가 가장 높은 사진 하나로 최종 판단을 한다.
여기서 다시 만나는 것
점수 기준이 모델의 확신이라는 게 눈에 띄었다. 40편의 TENT·SAR·TPT가 전부 엔트로피, 그러니까 모델이 얼마나 헷갈리는가를 신호로 썼는데, Lens도 같은 신호를 쓴다.
다른 건 그 신호로 무엇을 하느냐다.
| 신호 | 그 신호로 하는 일 | |
|---|---|---|
| TTA | 모델의 확신 | 모델 파라미터를 민다 |
| Lens | 모델의 확신 | 더 나은 사진을 고른다 |
라벨 없이 쓸 수 있는 신호가 결국 이거 하나라서, 다들 여기로 모인다.
공짜는 아니다
당연히 대가가 있다.
- 한 번 판단하는 데 여러 장을 찍고 여러 번 추론해야 한다
- 그만큼 시간과 전력을 더 쓴다
- 카메라 설정을 프로그램으로 바꿀 수 있는 하드웨어여야 한다
대신 학습이 없다. 라벨도 역전파도 없고, 추가로 학습시킬 데이터도 없다.
모델은 아무것도 배우지 않는다. 그냥 “이거 알아보겠어?” 라는 질문에 점수로만 답한다.
5. 성능과 함의 — AI가 좋아하는 사진은 따로 있다
이 편에서 제일 놀랐던 게 숫자였다.
EfficientNet-B3에 Lens를 붙인 것이, 파라미터가 50배 많고 학습 데이터가 200만 배 많은 초거대 모델(OpenCLIP-h) 보다 어두운 환경에서 4~10% 더 정확했다.
같은 모델끼리 자동노출과 비교해도 차이가 컸다. ResNet50에서 47.56%, DINOv2-b에서 8.52% 향상.
자동노출이 왜 지는가
여기서 이 편의 제일 재밌는 대목이 나온다. 자동노출은 사람 눈 기준으로 맞춰진 기능이다.
우리가 폰으로 사진을 찍으면 카메라가 알아서 밝기를 맞춰준다. 그 “알아서”의 기준은 사람이 보기에 예쁜 사진이다. 얼굴이 잘 나오고, 하늘이 안 날아가고, 분위기가 좋은 쪽.
그런데 모델은 그런 걸 안 본다. 모델이 잘 알아보는 사진은 사람 눈에 좀 이상하게 보일 수도 있다. 자료가 이걸 개구리 사진 두 장으로 보여줬는데, 사람 눈엔 별 차이가 없어 보이는 두 장의 인식 결과가 갈렸다.
더 쉬운 비유로
사람 입맛에 맞춘 간을 다른 사람한테도 맞다고 우기는 것이다.
자동노출은 좋은 기능이다. 사람에게는. 그런데 사진을 받아 볼 상대가 사람이 아니라 모델이라면, 그 간이 맞을 이유가 없다.
그리고 최적 설정은 하나로 정해지지도 않는다. 모델마다 다르고, 환경마다 다르고, 찍히는 물체마다 다르다. 그래서 미리 정해둘 수 없고, 매번 찍어보고 골라야 한다.
지금까지 카메라는 전부 사람이 보려고 만들어진 물건이었다. AI가 보는 시대가 되니 그 전제부터 다시 봐야 하는 것이었다!
정리
- 스케일링 법칙 — 모델 크기·데이터·컴퓨팅을 늘리면 성능이 예측 가능하게 오른다. 그래서 분포 이동도 규모로 덮으려 했다
- 하지만 세상의 모든 경우의 수를 미리 학습시키는 건 불가능하다. 특히 로봇 같은 피지컬 AI는 환경 × 행동으로 경우의 수가 곱하기로 늘어난다
- 사람은 뇌를 키우지 않고 안경을 쓴다. 감각기관 쪽을 손보는 게 훨씬 싸고 빠르다
- 적응적 센싱은 모델이 아는 영역을 넓히는 대신, 데이터를 그 영역 안으로 끌어온다. 모델 가중치가 하나도 안 바뀐다
- Lens — ① 센서 설정 후보를 K개 추리고 ② 그 설정으로 여러 장 찍고 ③ 모델의 신뢰도로 점수를 매기고 ④ 1등 사진으로 최종 추론
- 결과가 셌다. 작은 모델 + Lens가 50배 크고 200만 배 많이 학습한 모델 + 자동노출보다 정확했다
- 이유는 자동노출이 사람 눈 기준이라서다. 모델이 잘 보는 사진은 사람이 보기 좋은 사진과 다르다
일곱 편을 한 줄로
35편부터 여기까지가 하나의 이야기였다.
| 편 | 무엇을 했나 |
|---|---|
| 35 | 숫자를 어떻게 담을지 정했다 |
| 36 | 모델을 깎고 자르고 물려줬다 |
| 37 | 줄인 채로 내 것으로 만들었다 |
| 38 | 올릴 자리(칩과 런타임)를 봤다 |
| 39 | 그 자리에 맞춰 소수점을 지워냈다 |
| 40 | 현장에서 떨어진 성능을 모델 쪽에서 잡았다 |
| 41 | 같은 문제를 센서 쪽에서 잡았다 |
앞의 다섯 편은 모델을 목적지에 맞추는 이야기였고, 뒤의 두 편은 목적지의 현실에 맞추는 이야기였다.
그리고 마지막 편에 와서야 방향이 한 번 뒤집혔다. 계속 모델을 손보다가, 모델 말고 다른 걸 손보는 선택지가 있다는 걸 봤다.
문제를 푸는 방법이 하나뿐이라고 느껴진다면, 대개는 손댈 곳을 하나만 보고 있는 것이다.
35편부터 39편까지가 “모델을 어떻게든 우겨넣자” 였다면, 41편은 “우겨넣기 전에 들어오는 것부터 보자” 였다. 순서가 이렇게 배치된 게 우연은 아닌 것 같다.
참고 자료
- Lens: Adaptive Camera Sensor for Vision Models
- AI Should Sense Better, Not Just Scale Bigger: Adaptive Sensing as a Paradigm Shift
- Unexplored Faces of Robustness and Out-of-Distribution: Covariate Shifts in Environment and Sensor Domains (ImageNet-ES, CVPR 2024)
- SenseShift6D: Multimodal RGB-D Benchmarking for Robust 6D Pose Estimation
- Scaling Laws for Neural Language Models
한줄 평
일곱 편 내내 모델만 쳐다보다가 마지막에 카메라를 만지는 걸 보고 나니, 내가 문제를 좁게 보고 있었구나 싶었다!