무거운 모델을 통째로 고치지 않고 바닷속 표적을 찾아낸 방법

DINOv3 비전 트랜스포머에 LoRA와 대조 학습을 얹은 SAS 표적 인식 연구를 구조와 실험 조건 중심으로 해설합니다.

원문 논문 보기
'무거운 모델을 통째로 고치지 않고 바닷속 표적을 찾아낸 방법' 기사 커버 이미지

오늘 다룰 논문은 arXiv에 공개된 LoRA Enhanced Contrastive Learning with SAS Vision Transformers(2609.21061)입니다. 이 연구는 합성 개구 소나 영상으로 수중 표적을 찾는 문제에 DINOv3 비전 트랜스포머를 가져오되, 세 단계 파이프라인으로 적응시킨 뒤에는 결국 한 번의 효율적인 적응이면 충분하다는 결론에 이릅니다. 원문 논문 링크는 제목 아래에 걸어두었습니다.

바닷속 사진을 보고 왜 멈칫했는지

안녕하세요, 패트릭입니다.

저는 이 논문을 처음 펼쳤을 때 바닷속 소나 영상 한 장에서 오래 멈췄습니다. 광학 카메라 사진처럼 사물이 또렷하게 보이는 것이 아니라, 음파가 바닥을 훑고 지나간 흔적과 그림자가 얼룩처럼 남아 있었기 때문입니다. 그렇다면 이런 영상에서 사람이 겨우 구분하는 표적을 기계가 어떻게 안정적으로 찾게 만들 수 있을까요.

제가 이 논문에서 가장 흥미롭게 본 부분은 거창한 새 모델이 아니라 태도였습니다. 연구진은 최신 비전 트랜스포머를 처음부터 다시 학습하지 않습니다. 이미 자연 이미지로 잘 학습된 눈을 가져와서, 바닷속 음향 세계에 맞게 아주 적은 부분만 고칩니다. 그리고 그 선택이 정말 충분했는지를 꽤 엄격한 시험으로 확인합니다.

여러 사람이 함께 일하다 보면 적은 인원으로 큰 일을 해내는 팀이 있습니다. 불필요한 회의를 늘리지 않고, 바꿔야 할 것만 정확히 바꾸는 팀이죠. 이 논문이 보여주는 적응 방식도 그런 느낌에 가까웠습니다. 그래서 오늘은 이 절약형 적응이 어떻게 동작하고, 어디까지 믿을 수 있는지를 차근차근 따라가 보려 합니다.

표적 한 장을 얻기까지 왜 이렇게 오래 걸릴까

수중에서 표적을 자동으로 찾는 일은 듣기에는 단순합니다. 소나 영상을 넣으면 표적이 있는지, 있다면 어디에 있는지를 알려주면 되니까요. 그런데 실제로는 세 가지 어려움이 서로 얽혀 있습니다.

첫째는 표적 영상이 귀하다는 점입니다. 바다에 나가 데이터를 모으는 일은 비용이 크고, 표적이 들어 있는 장면을 일부러 많이 만들 수도 없습니다. 자연 이미지처럼 인터넷에서 긁어올 수 있는 종류의 데이터가 아닙니다. 그래서 학습에 쓸 수 있는 표적 예시는 늘 부족합니다.

둘째는 배경이 시끄럽다는 점입니다. 모래 물결, 자갈, 바위, 해저 지형이 만드는 음향 반사가 표적처럼 보이는 경우가 많습니다. 사람 눈에도 헷갈리는데, 기계에게는 더 헷갈립니다. 특히 바위가 길쭉한 그림자를 만들면 인공물과 구분하기가 어려워집니다.

셋째는 사람이 계속 개입해야 한다는 점입니다. 오탐이 많으면 결국 사람이 한 장씩 다시 확인해야 합니다. 탐지기가 빠르다고 해도, 뒤에서 사람이 전부 검수해야 한다면 전체 시스템은 빨라지지 않습니다. 그렇다면 좋은 탐지기의 기준은 무엇일까요. 저는 탐지율 자체보다도, 사람이 검수해야 하는 양을 얼마나 줄여주느냐가 더 중요하다고 봅니다.

이 세 가지가 합쳐지면 연구의 방향이 정해집니다. 데이터가 적어도 돌아가고, 헷갈리는 배경에 강하고, 사람 검수를 줄일 만큼 정밀도가 높은 방법이어야 합니다. 이 논문은 그 답을 거대한 재학습이 아니라 가벼운 적응에서 찾습니다.

Side-scan style underwater scene with sonar shadows beside a man-made object
Side-scan style underwater scene with sonar shadows beside a man-made object

자연 이미지로 배운 눈을 바닷속에 데려오면 벌어지는 일

DINOv3 같은 비전 트랜스포머는 자연 이미지에서 강력한 시각 표현을 배운 모델입니다. 개와 고양이를 구분하고, 사물의 경계를 찾고, 장면의 구조를 이해하는 데에는 이미 뛰어납니다. 그런데 이 눈을 합성 개구 소나(SAS) 영상 앞에 바로 세우면 이야기가 달라집니다.

소나 영상은 빛으로 찍은 사진이 아니라 음파의 반사로 만든 영상입니다. 밝기는 색이 아니라 반사 강도를 뜻하고, 그림자는 빛 가림이 아니라 음향 그림자입니다. 질감도 다르고, 노이즈의 성격도 다르고, 물체가 드러나는 방식도 다릅니다. 자연 이미지에서 배운 경계 감각이 그대로 통하지 않는 이유가 여기에 있습니다.

그렇다면 선택지는 둘로 갈라집니다. 하나는 소나 데이터로 모델 전체를 다시 학습하는 것이고, 다른 하나는 이미 배운 눈을 살리면서 바닷속에 맞게 조금만 고치는 것입니다. 전자는 데이터가 충분할 때 좋은 선택이지만, 표적 영상이 귀한 SAS 문제에서는 부담이 큽니다. 전체 가중치를 흔들면 적은 데이터에 과적합될 위험도 커집니다.

저는 이 지점에서 연구진의 판단이 마음에 들었습니다. 무거운 본체를 통째로 흔드는 대신, 본체는 얼려두고 작은 장치를 덧붙이는 길을 택했기 때문입니다. 이 방식이 바로 첫 번째 단계인 Low-Rank Adaptation, 즉 LoRA입니다. 다음 장면에서는 이 작은 장치가 실제로 무엇을 하는지를 들여다보겠습니다.

본체는 얼리고 작은 날개만 다는 이유

LoRA의 발상은 생각보다 직관적입니다. 이미 잘 학습된 트랜스포머 가중치는 그대로 두고, 그 옆에 작은 저순위 행렬을 덧붙여 학습합니다. 추론 때는 이 작은 행렬의 효과가 본체에 합쳐져서 동작합니다. 마치 큰 배의 방향을 조타장치 하나로 바꾸는 것과 비슷합니다.

이 논문의 1단계가 바로 그 일을 합니다. ViT 백본은 얼린 채로 두고 LoRA만 학습하면서, 자연 이미지 프리트레이닝과 수중 음향 전파 사이의 간극을 메웁니다. 학습해야 할 가중치가 전체의 극히 일부로 줄어드니, 귀한 표적 데이터로도 과적합 부담이 작아집니다.

숫자는 이 선택의 성격을 잘 보여줍니다. Rank 4 설정에서는 전체 가중치 가운데 학습하는 비중이 0.26퍼센트에 불과했는데도, AUPRC가 0.300에서 0.679 안팎으로 올라갔습니다. 세 번의 랜덤 시드로 확인한 결과의 흔들림도 플러스마이너스 0.027 수준이었습니다. 같은 모델에 같은 질문을 던져도 결과가 크게 달라질 수 있다는 것을 경험으로 알고 있죠. 그래서 저는 평균값보다 이 흔들림 폭이 함께 보고된 점을 좋게 봤습니다.

여기서 재미있는 질문이 생깁니다. 고작 0.26퍼센트를 바꿨는데 왜 이렇게 큰 폭으로 올랐을까요. 제 해석은 이렇습니다. DINOv3가 이미 가진 시각 구조 이해력은 그대로 쓸 만했고, 부족했던 것은 소나 특유의 밝기와 그림자 문법에 대한 조정뿐이었기 때문입니다. LoRA는 그 마지막 번역 작업을 맡은 셈입니다. 큰 구조를 다시 배우는 일이 아니라, 이미 아는 것을 바닷속 말투로 고쳐 쓰는 일이었던 것이죠.

Frozen vision transformer backbone with small trainable low-rank adapters attached
Frozen vision transformer backbone with small trainable low-rank adapters attached

바위가 표적처럼 보일 때 경계는 어떻게 단단해질까

1단계 적응으로 전체 성능이 크게 올랐지만, 연구진은 여기서 멈추지 않습니다. 바닷속에는 표적과 닮은 배경이 너무 많기 때문입니다. 바위나 퇴적 지형이 만드는 반사가 인공물의 그것과 비슷하게 생긴 경우가 대표적인데요. 이런 예시를 그냥 두면 모델은 쉬운 배경만 맞히고 어려운 배경 앞에서 계속 틀립니다.

그래서 2단계로 hard-negative mining이 등장합니다. 발상은 일종의 오답 노트처럼요. 모델이 틀리기 쉬운 어려운 배경 예시를 일부러 골라내서, 결정 경계를 그 근처에서 다시 다듬는 것입니다. 쉬운 예시를 백 번 더 보여주는 대신, 헷갈리는 예시를 몇 번 더 보여주는 쪽이 경계를 단단하게 만듭니다.

생각해보면 사람도 비슷하게 배웁니다. 시험에서 맞힌 문제는 그냥 넘어가도, 틀린 문제는 따로 모아 다시 봅니다. 모델에게도 같은 전략을 쓰는 셈입니다. 연구진이 말하는 acoustic mimics라는 표현이 바로 이 헷갈리는 배경들을 가리킵니다. 바위와 퇴적 구조물이 인공 표적처럼 보이는 현상이죠.

문제는 그다음입니다. 어려운 예시를 모으는 것은 도움이 되는 것처럼 보이지만, 그 도움이 정말로 새로운 학습 때문인지, 아니면 그저 추가 학습량 때문인지를 가려야 합니다. 이 논문이 돋보이는 지점이 바로 여기입니다. 연구진은 정제 단계를 넣을 때마다, 같은 계산량과 조건을 맞춘 대조군과 비교합니다. 이 비교 방식이 없었다면, 뒤에 나오는 결론은 훨씬 약해졌을 것입니다.

Hard negative mining showing rocks that resemble targets near a decision boundary
Hard negative mining showing rocks that resemble targets near a decision boundary

밀어내고 당기며 공간을 정리하는 학습

3단계는 Supervised Contrastive Learning, 줄여서 SupCon입니다. 이름이 길게 느껴질 수도 있는데요. 하는 일은 의외로 단순합니다. 같은 종류끼리는 가깝게 모으고, 다른 종류끼리는 멀리 밀어내는 것입니다. 표적은 표적끼리, 배경 잡음은 배경끼리 모이도록 표현 공간을 정리합니다.

이 정리가 왜 필요할까요. 분류기는 결국 표현 공간 위에 그은 선에 불과합니다. 표현 자체가 엉켜 있으면 아무리 선을 잘 그어도 헷갈립니다. 반면 표적과 배경이 표현 공간에서 이미 멀리 떨어져 있다면, 분류는 훨씬 쉬워집니다. 그래서 대조 학습은 분류 직전의 공간을 미리 정돈하는 작업에 가깝습니다.

저는 이 단계를 책상 정리로 이해했습니다. 서류와 책이 뒤섞인 책상에서는 원하는 문서를 찾기 어렵지만, 종류별로 묶어두면 손이 바로 갑니다. SupCon은 신경망 안의 책상을 정리하는 손길입니다. 표적 표현은 한쪽으로, 클러터 표현은 다른 쪽으로 밀어두는 것이죠.

그런데 여기서 조금 조심해서 읽을 필요가 있습니다. 공간이 깔끔해 보이는 것과 실제 탐지율이 오르는 것은 같은 이야기가 아닙니다. 시각적으로 예쁘게 모여도, 운영 기준에서 요구하는 재현율 구간에서 정밀도가 오르지 않으면 소용이 없습니다. 연구진은 이 점을 알고 있었던 것처럼 보입니다. 그래서 3단계의 효과를 말할 때도 장밋빛 표현 대신 매칭된 대조군과 비교한 결과를 내밉니다. 이 태도는 뒤에 나오는 결과 해석으로 그대로 이어집니다.

시험을 실전처럼 만드는 일

이 논문의 평가 설계를 보면 연구진이 운영을 염두에 두고 있다는 느낌이 듭니다. 해상에서 실제로 모은 SAS 데이터를 쓰고, 임무 단위의 지리적 분할로 학습과 시험을 나눕니다. 같은 바다에서 찍었지만 날짜만 다른 데이터를 섞어 쓰는 것이 아니라, 지역 자체를 갈라서 시험합니다.

이 차이는 생각보다 중요합니다. 같은 해역에서 무작위로 나누면, 모델이 그 해역의 바닥 질감 같은 단서를 외워서 좋은 점수를 받을 수 있습니다. 반면 지역을 갈라버리면 그런 요행이 통하지 않습니다. 가보지 않은 바다에서도 통하는지를 묻게 되니까요. 실제 시스템 관점에서 보면 다음 질문이 바로 생깁니다. 새로운 해역에 투입해도 같은 성능이 나올까요. 지리적 분할은 그 질문에 답하기 위한 장치입니다.

비교 기준도 구체적입니다. 시험 재현율 85퍼센트 지점에서 비교하고, 세 개의 랜덤 시드로 반복합니다. 재현율 85퍼센트라는 말은 실제 표적 100개 가운데 85개는 잡아내는 동작점을 뜻합니다. 이 동작점을 고정해두면, 그때의 오탐이 얼마나 되는지를 공정하게 비교할 수 있습니다. 군 운용처럼 놓치면 안 되는 상황에서는 이런 고정 재현율에서의 정밀도가 체감과 가깝습니다.

저는 숫자보다 그 뒤의 구조가 더 중요하다고 봅니다. AUPRC라는 단일 지표도 보고되지만, 재현율을 고정한 비교와 지리적 분할이 함께 있을 때 숫자의 뜻이 분명해집니다. 좋은 점수가 나온 이유가 시험 설계의 허술함 때문인지, 모델 자체의 힘 때문인지를 가릴 수 있기 때문입니다. 이 논문은 적어도 시험의 틀을 느슨하게 짜서 점수를 부풀린 종류의 연구는 아닙니다.

Geographic train test split across separate sea missions on a nautical chart
Geographic train test split across separate sea missions on a nautical chart

숫자는 첫 단계를 가리키고 나머지는 조용하다

이제 결과 이야기로 들어갑니다. 1단계 LoRA의 효과는 분명했습니다. AUPRC가 0.300에서 0.679 안팎으로 올랐고, 그 폭은 작은 흔들림을 감안해도 큽니다. Rank 4처럼 작은 용량으로도 충분했다는 점도 눈에 띕니다. 전체 가중치의 0.26퍼센트만으로 이 정도 변화가 나왔다는 것은, 적응의 방향이 잘 잡혔다는 뜻에 가깝습니다.

반면 2단계와 3단계는 조용했습니다. hard-negative mining도, SupCon도, 각각에 맞춘 대조군을 넘지 못했습니다. 추가 학습을 아예 하지 않은 것보다는 나을 수 있지만, 같은 조건의 대조군과 나란히 두면 차이가 드러나지 않았다는 뜻입니다. 연구진은 이 결과를 숨기지 않고 그대로 보고합니다. 저는 이 대목을 좋게 봤습니다. 효과가 없었다는 보고야말로 다른 팀의 시간을 아껴주기 때문입니다.

그렇다면 이 흐름은 어디에서 해석이 갈릴까요. 한 가지 해석은 LoRA가 이미 할 일을 다 했다는 것입니다. 표현의 큰 간극이 1단계에서 메워졌으니, 뒤에 오는 정제는 남는 오차가 작아서 힘을 쓰기 어려웠다는 설명입니다. 다른 해석은 정제 단계의 설계가 아직 충분하지 않았다는 것입니다. 어려운 예시를 고르는 기준이나 대조 학습의 온도 같은 세부 조건이 SAS 영상에 맞지 않았을 수 있습니다.

어느 쪽이 맞을까요. 지금 주어진 증거만으로는 단정하기 어렵습니다. 다만 연구진이 내린 결론은 분명합니다. 하나의 효율적인 적응 단계면 충분하고, 정제를 쌓아 올리는 방식은 이 문제에서 이득을 주지 않았다는 것입니다. 이 문장은 겸손하게 들리지만, 실제로는 꽤 단호한 주장입니다. 더 복잡하게 만들려는 유혹을 멈추라는 말이니까요.

Performance comparison where a single adaptation stage rises while extra stages stay flat
Performance comparison where a single adaptation stage rises while extra stages stay flat

한 번이면 충분하다는 말이 왜 반가우면서도 아쉬울까

이 논문의 결론을 한 줄로 줄이면 이렇게 됩니다. LoRA 한 번으로 충분하고, 뒤에 붙인 정제는 매칭된 대조군을 넘지 못했다. 겉으로 보면 단순한 보고처럼 보이지만, 저는 이 단순함 뒤에 생각할 거리가 있다고 봅니다.

반가운 쪽부터 말해보겠습니다. 실무에서는 단순함이 곧 비용입니다. 학습시킬 가중치가 적으면 학습이 빠르고, 저장할 체크포인트가 작고, 실험 주기가 짧아집니다. 저희가 새로운 AI 아키텍처를 볼 때도 benchmark 숫자만 보지는 않습니다. 실제로 무엇이 바뀌었고, 그 변화가 시스템에서 어떤 비용 구조를 만드는지를 함께 봅니다. 그런 눈으로 보면 Rank 4의 0.26퍼센트라는 숫자는 성능 숫자만큼이나 운영 숫자입니다.

아쉬운 쪽도 있습니다. hard-negative mining과 SupCon이 듣기에는 SAS 문제에 딱 맞는 옷처럼 보이기 때문입니다. 헷갈리는 바위가 문제라면 어려운 예시를 모으는 것이 답처럼 보이고, 표적과 배경이 엉킨다면 표현을 밀어내고 당기는 것이 답처럼 보입니다. 그런데 둘 다 대조군을 넘지 못했습니다. 왜 그랬을까요.

가능한 설명은 몇 가지입니다. 첫째, LoRA 이후의 표현이 이미 충분히 갈라져 있어서 정제가 파고들 틈이 없었을 수 있습니다. 둘째, 어려운 예시를 고르는 기준이 실제 운영 분포와 어긋났을 수 있습니다. 학습 때 어렵다고 고른 예시가 시험 해역에서는 다른 모습으로 나타날 수 있으니까요. 셋째, 대조 학습의 배치 구성이나 증강 같은 세부 조건이 소나 영상에 맞지 않았을 수 있습니다. 이 논문은 어느 설명이 맞는지를 끝까지 가리지 않습니다. 저는 그 빈자리가 다음 연구의 출발점이 될 것이라고 봅니다.

다음 바다에서는 무엇을 먼저 확인할까

앞에서 미뤄둔 질문으로 돌아올 차례입니다. 이 결과는 어디까지 믿고, 어디부터 다시 물을 수 있을까요. 저는 세 가지 장면을 먼저 떠올렸습니다.

첫째는 새로운 해역입니다. 지리적 분할로 시험했다고 해도, 바다는 넓고 바닥의 성격은 다양합니다. 모래가 많은 곳에서 배운 경계가 자갈밭에서도 통할까요. 수심과 음속 구조가 달라지면 그림자의 길이도 달라질 텐데요. 다음 연구가 다른 해역, 다른 계절, 다른 센서 조건에서 같은 한 번 적응을 반복한다면, 이 결론은 훨씬 단단해질 것입니다.

둘째는 동작점의 현실감입니다. 재현율 85퍼센트에서의 비교는 운용 감각에 가깝지만, 실제 운용자는 그 지점에서 하루에 몇 건을 검수해야 하는지를 묻습니다. 정밀도가 조금만 올라도 검수량은 크게 줄 수 있습니다. 반대로 같은 정밀도라도 영상 처리 속도가 느리면 현장에서 쓰기 어렵습니다. 모델이 가벼워진 만큼, 추론 지연과 메모리 사용량까지 함께 보고되면 그림이 더 완전해질 것입니다.

셋째는 실패 사례의 얼굴입니다. 평균 지표가 좋아도, 어떤 바위에서 계속 틀리는지를 보면 다음 설계가 보입니다. 특정 크기의 바위, 특정 각도의 퇴적 구조물처럼요. 개인적으로는 이런 실패 지도가 평균 점수보다 더 궁금합니다. 실패의 모양이 보여야 hard-negative를 고르는 기준도 더 날카로워지기 때문입니다.

그렇다면 정제 단계는 완전히 버려야 할까요. 저는 그렇게 보지 않습니다. 이번 결과는 정제가 소용없다는 일반론이 아니라, 이 조건과 이 설계에서는 대조군을 넘지 못했다는 보고에 가깝습니다. 조건이 바뀌면 답도 바뀔 수 있습니다. 예를 들어 표적 종류가 늘어나거나, 배경 잡음의 분포가 크게 달라지거나, 동작점이 더 높은 재현율로 옮겨가면 정제의 역할이 다시 살아날 수 있습니다. 그래서 이 논문은 끝이 아니라 시작처럼 읽힙니다. 가벼운 적응을 바닥으로 깔고, 그 위에서 무엇을 더할지를 묻는 시작이죠.

이 논문이 남긴 장면은 꽤 선명합니다. 무거운 눈을 통째로 바꾸지 않고도 바닷속 표적을 가려내기 시작했고, 그 과정에서 복잡함을 더하는 유혹을 실험으로 물리쳤습니다. 앞으로 바다가 달라지고 표적이 달라져도, 이 절약의 문법은 쉽게 버려지지 않을 것 같습니다. 그렇다면 다음 질문은 이것입니다. 여러분의 현장에서 가장 아끼고 싶은 자원은 무엇일까요. 데이터일까요, 계산일까요, 아니면 사람의 검수 시간일까요. 그 답에 따라 이 논문의 읽는 법도 조금씩 달라질 것입니다.

참고 자료

  1. LoRA Enhanced Contrastive Learning with SAS Vision Transformers · arxiv.org

    리뷰 원문