물고기가 밥 달라고 말하지 않아도 알아듣는 법, THPL이 보여준 시선
무지개송어 양식장에서 카메라 궤적을 언어 모델의 판단으로 잇는 THPL 프레임워크를 따라가며, 활동 계수와 이중 증거 토큰, 반사실 선호 학습이 급이 결정을 어떻게 바꾸는지 풀어봅니다.
원문 논문 보기
arXiv에 공개된 THPL: A Vision-to-Language Decision Support Framework for Rainbow Trout Feeding Management in RAS, 식별자 2610.02378은 무지개송어 순환여과식 양식장에서 카메라로 본 물고기 움직임을 언어 모델의 급이 결정으로 직접 잇겠다고 제안합니다. 이 글에서 말하는 주장은 한 문장으로 정리되는데, 궤적에서 뽑은 활동 신호와 이중 증거 토큰, 그리고 반사실 선호 학습을 엮으면 텍스트만 보는 모델이 자주 틀리던 급이 판단을 물리적으로 접지된 생성형 결정으로 바꿀 수 있다는 것입니다. 원문 논문 링크는 제목 아래에 걸어 두었으니 이 글에서 숫자와 구조를 따라가신 뒤에 원전을 펼쳐보셔도 충분합니다.
안녕하세요, 패트릭 입니다.
제가 이 논문을 집어 든 이유는 거창한 모델 구조 때문이 아니었습니다. 양식장에서는 밥을 너무 많이 주면 물이 나빠지고 비용이 새고, 너무 적게 주면 성장이 느려지고 복지가 흔들리는데, 그 결정을 매일 매번 사람이 눈으로 내린다는 대목에서 멈칫했습니다. 카메라는 이미 수조 위에 있는데 왜 판단은 여전히 사람의 어깨에만 얹혀 있을까요. 그렇다면 눈으로 보는 것과 말로 판단하는 것을 하나의 흐름으로 이을 수는 없을까요.
왜 하필 양식장 밥 주는 일이었을까
순환여과식 양식장, 흔히 RAS라고 부르는 환경은 물을 계속 걸러서 다시 쓰는 구조라서 겉보기에는 깔끔합니다. 그런데 이 깔끔함 뒤에는 제어가 까다롭다는 이면이 있는데, 먹이가 조금만 남아도 수질에 바로 부담이 가기 때문입니다. 그래서 급이는 단순히 많이 주면 잘 크는 문제가 아니라 비용과 수질과 복지 사이에서 매번 균형을 다시 맞추는 일에 가깝습니다.
저는 이 지점에서 이 연구의 문제의식이 마음에 들었습니다. 연구진이 본 진짜 어려움은 물고기가 말을 못 한다는 것이 아니라, 눈으로 보이는 활발함과 실제로 먹이를 얼마나 원하는지가 사람마다 다르게 읽힌다는 데 있었기 때문입니다. 같은 수조를 봐도 어떤 사람은 조금 활발하다고 하고 다른 사람은 배가 불렀다고 하죠. 그렇다면 이 주관적인 읽기를 카메라 궤적이라는 공통 재료 위에 올려놓을 수 있을까요. 이 질문이 THPL의 출발점처럼 보였습니다.
현장에서 일하는 분들의 하루를 상상해 보면 이 질문은 더 절박해집니다. 새벽에 수조를 돌면서 수면을 보고, 물고기가 몰려드는 모양을 보고, 어제 준 양을 떠올리면서 오늘 양을 정해야 합니다. 그런데 수조가 열 개를 넘어 스무 개가 되면 눈과 기억만으로 매번 같은 기준을 유지하기가 어려워지죠. 그래서 저는 이 논문을 모델 논문이라기보다 결정 지원 도구에 대한 제안으로 읽었습니다. 사람을 밀어내는 자동화가 아니라 사람이 매번 같은 잣대로 판단하도록 돕는 장치 말이죠.

밥 달라는 신호를 숫자로 바꾸면 무엇이 달라질까
THPL의 첫 단추는 Fishsort라는 추적 단계입니다. 수조 위 카메라 영상에서 물고기 개체들의 이동 궤적을 뽑아낸 뒤, 그 궤적을 모아 먹이 활성 정도를 나타내는 활동 계수, AC라는 숫자로 정리합니다. 말하자면 수면이 부산스러워 보인다는 인상을 궤적의 움직임으로 환산하는 작업인데, 이 변환이 있어야 다음 단계의 모델이 같은 언어로 이야기할 수 있기 때문입니다.
여기서 보고된 숫자는 꽤 선명합니다. 이 활동 계수와 전문가가 매긴 먹이 강도 사이에는 스피어만 로 상관계수 0.925, 유의확률 0.001 미만의 단조로운 양의 관계가 나타났습니다. 같은 영상에 같은 숫자를 매긴다는 뜻이 아니라, 전문가가 높다고 본 장면에서는 활동 계수도 대체로 높게 움직였다는 이야기죠. 저는 이 숫자보다 그 뒤의 배치가 더 중요하다고 봅니다. 사람이 느끼는 활발함과 기계가 재는 활발함 사이에 다리를 하나 놓았다는 점이니까요.
물론 숫자가 높다고 해서 이야기가 끝나는 것은 아닙니다. 상관이 높다는 것은 순서가 잘 맞는다는 뜻이지, 얼마를 줘야 한다는 처방이 바로 나온다는 뜻은 아니기 때문입니다. 배가 불러서 느려진 것인지, 산소가 낮아서 처진 것인지, 아니면 먹이에만 반응이 없는 것인지는 움직임의 크기만으로 갈라지지 않죠. 그래서 다음 질문이 바로 생깁니다. 궤적이라는 재료를 얼마나 잘게 읽어야 급이라는 결정까지 갈 수 있을까요.

궤적이라는 재료를 오래 들여다보면 무엇이 보일까
두 번째 장치는 계층 행동 인코더, HBE입니다. 이름이 조금 무겁게 들리지만 하는 일은 직관적인데, 개체 하나의 시간 흐름과 무리 전체의 집단 움직임을 따로 읽었다가 합치는 것입니다. 시간 방향으로는 Temporal Transformer가 각 물고기의 움직임이 어떻게 이어지는지를 보고, 모음 방향으로는 Set Transformer가 여러 마리가 서로 어떻게 어울려 움직이는지를 봅니다. 한 마리의 부산함과 무리의 쏠림을 함께 읽는 셈이죠.
생각해보면 사람도 비슷하게 봅니다. 한 마리가 튀는 것과 수조 전체가 한쪽으로 몰리는 것은 다른 신호니까요. 한 마리만 빠르게 돌면 호기심일 수도 있지만, 여러 마리가 같은 타이밍에 수면 쪽으로 모여들면 먹이 기대에 가깝습니다. 그런데 이런 차이는 한 장의 정지 화면에서는 잘 안 보이고, 몇 초의 흐름을 놓고 봐야 드러납니다. 그래서 시간과 집합을 나눠서 모델링했다는 선택이 이해가 됩니다.
저희가 새로운 AI 아키텍처를 볼 때도 숫자만 보지는 않습니다. 실제로 무엇이 바뀌었고, 그 변화가 시스템에서 어떤 비용 구조를 만드는지를 함께 봅니다. HBE도 같은 잣대로 보면 궤적 텐서를 그냥 압축하는 부품이 아니라, 뒤에 오는 언어 모델이 추론할 수 있는 형태로 재료를 다듬는 전처리 두뇌에 가깝습니다. 그렇다면 이 다듬기가 말로 판단하는 단계에 어떤 형태로 건네질까요. 그 이야기는 이중 증거 토큰에서 이어집니다.

눈에 보이는 수치와 눈에 안 보이는 감각을 함께 건네면 어떨까
HBE가 내놓는 것은 이중 증거 표현입니다. 하나는 명시적인 물리 토큰으로, 사람이 읽어도 이해되는 측정치 쪽에 가깝고, 다른 하나는 암시적인 소프트 토큰으로, 궤적의 시공간 흐름을 연속 벡터로 담아 언어 모델의 추론에 직접 얹는 쪽에 가깝습니다. 숫자로 된 근거와 감각으로 된 근거를 함께 주는 셈인데, 말로만 설명하는 보고서와 현장 영상을 함께 받는 느낌이라고 할까요.
이 설계의 값은 대조 실험에서 드러납니다. 텍스트만 보는 기준 모델의 결정 정확도가 33.33%에 머물렀던 데 비해, 이중 증거 토큰을 얹은 구조에서는 93.33%까지 올랐기 때문입니다. 같은 질문을 던져도 근거의 형태가 달라지면 답이 달라진다는 것을 경험으로 알고 있죠. 저는 이 차이를 모델이 똑똑해졌다는 말로 읽기보다, 물리적인 접지가 생겼다는 말로 읽고 싶었습니다. 말이 그럴듯해서가 아니라 궤적이라는 발판 위에서 말이 만들어졌기 때문입니다.
여기서 재미있는 질문이 생깁니다. 텍스트만 본 모델은 왜 그렇게까지 틀렸을까요. 아마도 언어로 요약된 상태만 보면 먹이 시간이나 지난 급이량 같은 단서에만 기대게 되고, 지금 수조에서 벌어지는 미묘한 쏠림을 놓치기 때문일 것입니다. 반대로 이중 증거를 받은 모델은 현재 장면의 움직임을 직접 참조하면서 판단할 수 있죠. 문서만 읽고 현장을 판단하는 것과, 문서와 현장 영상을 함께 보고 판단하는 것의 차이라고 보면 크게 틀리지 않습니다.
말만 잘하는 모델에게 현장 감각을 쥐여준다는 것은 무슨 뜻일까
이 대목에서 THPL이 겨냥한 상대를 다시 생각해 볼 필요가 있습니다. 요즘 언어 모델은 설명을 정말 잘합니다. 급이 원칙을 물으면 사료 요구율과 수온과 용존산소를 줄줄 엮어서럴듯한 답을 내놓죠. 그런데 그럴듯함과 지금 이 수조에 맞는 판단은 다른 문제입니다. 원칙은 맞는데 장면이 빠진 답은 현장에서 자주 어긋나기 때문입니다.
이중 증거 토큰은 바로 그 빈자리를 메우는 장치로 보입니다. 명시적 물리 토큰이 활동 계수처럼 읽히는 근거를 주고, 암시적 소프트 토큰이 궤적의 질감을 연속 신호로 전달하면서, 언어 모델이 장면을 근거로 말을 이어가게 만들기 때문입니다. 그래서 결정 정확도가 33.33%에서 93.33%로 뛴 것을 저는 점수 경쟁의 승리가 아니라 입력 설계의 승리로 봅니다. 모델을 키운 것이 아니라 모델이 볼 수 있는 것을 바꾼 것이죠.
그렇다면 이런 구조는 무지개송어에만 쓸모가 있을까요. 저는 그렇게 보지 않았습니다. 카메라로 무리를 보고 주기적으로 무언가를 줘야 하는 환경이라면 비슷한 고민이 반복되기 때문입니다. 새우 양식장에서도, 육계의 사료 라인에서도, 심지어 물류 창고의 포장 라인에서도 지금 상태가 활발한지 처진 것인지, 개입이 필요한 타이밍인지를 읽어야 하죠. 재료만 바꾸면 뼈대는 그대로 가져갈 수 있다는 점에서 이 설계는 꽤 이식성이 좋아 보였습니다.

틀린 답을 일부러 보여주며 가르치면 무엇이 달라질까
정확도가 93.33%까지 오른 뒤에도 연구진은 한 걸음을 더 내딛습니다. 표준 LoRA 미세조정에서 멈추지 않고, 반사실 멀티모달 직접 선호 최적화, mDPO라는 방법으로 인과 추론을 다잡은 것인데, 같은 장면에서 옳은 판단과 그럴듯하지만 틀린 판단을 나란히 놓고 어느 쪽을 더 선호해야 하는지를 가르치는 방식에 가깝습니다. 잘한 것만 보여주는 것이 아니라 틀린 길의 모양까지 알려주는 셈이죠. 일종의 오답 노트처럼요.
결과는 정확도 93.33%에서 96.67%로의 전진으로 나타났습니다. 표면적으로 보면 몇 퍼센트 포인트의 움직임이라 작아 보일 수도 있습니다. 하지만 이미 90%를 넘긴 구간에서의 몇 퍼센트는 현장에서는 꽤 크게 체감되는데, 열 번 중 한 번 틀리는 것과 서른 번 중 한 번 틀리는 것은 운영의 긴장도가 다르기 때문입니다. 저는 그래서 이 후반 개선을 장식용으로 보지 않았습니다. 결정 지원 도구는 틀릴 때의 비용으로 평가받으니까요.
말의 질을 재는 지표에서도 변화가 이어졌습니다. 표준 LoRA와 비교할 때 METEOR는 58.10%에서 85.30%로 올랐고, 반복도를 낮을수록 좋게 보는 Self-BLEU-2는 58.79%에서 52.88%로 내려갔으며, 다양성을 높을수록 좋게 보는 Distinct-3은 6.68%에서 7.81%로 올랐습니다. 설명이 더 정확해지면서도 매번 같은 문장을 되풀이하기보다 상황에 맞게 다르게 말하게 됐다는 뜻인데, 현장에서 매일 보는 화면이라면 이 다양성은 사소하지 않습니다. 같은 말을 복사해서 붙이는 조언은 금방 신뢰를 잃기 때문입니다.
숫자가 좋다고 그대로 믿어도 될까
여기서는 조금 조심해서 읽을 필요가 있습니다. 93.33%에서 96.67%로의 전진이나 METEOR의 큰 폭 상승은 분명 눈길을 끌지만, 그 숫자들이 어떤 데이터 나눔과 어떤 평가 조건에서 나왔는지를 함께 보지 않으면 해석이 미끄러지기 때문입니다. 제가 이 논문에서 가장 흥미롭게 본 부분은 최고 숫자 자체가 아니라, 텍스트만 본 기준이 33.33%에 머물렀다는 대목이었습니다. 그 낮은 출발점이 이중 증거의 기여를 더 또렷하게 보여주기 때문입니다.
문제는 그다음입니다. 활동 계수와 전문가 판단 사이의 상관계수 0.925는 아름답지만, 전문가 판단 자체가 완전한 정답은 아니라는 점을 잊으면 안 됩니다. 전문가도 피로하고 수조마다 기준이 조금씩 다른데, 그 판단을 정답으로 놓고 맞추는 일은 표준화에는 도움이 되지만 생물학적 최적을 보장하지는 않기 때문입니다. 사료를 얼마나 줄여야 수질과 성장이 함께 좋아지는지에 대한 답은 상관계수 하나에서 바로 나오지 않죠.
또 하나 짚고 싶은 것은 반사실 선호 학습의 재료입니다. 틀린 답을 어떻게 만들었는지, 그 틀린 답이 현장에서 실제로 나올 법한 착각인지에 따라 가르침의 질이 달라지는데, 너무 쉬운 오답만 골라내면 모델은 변별력을 제대로 배우지 못하기 때문입니다. 논문이 전하는 개선 폭은 고무적이지만, 실제 시스템 관점에서 보면 다음 질문이 바로 생깁니다. 새로운 수조와 새로운 조명, 새로운 밀도에서도 같은 선호가 그대로 통할까요. 저는 이 물음을 열어둔 채로 다음 장을 읽었습니다.
새벽 수조 앞에서 이 도구는 어떻게 살아남을까
연구실 점수와 운영의 아침은 다른 게임입니다. 논문 속 정확도는 잘 정돈된 영상과 정해진 평가 틀 위에서 나오지만, 실제 양식장 카메라는 물방울과 결로와 사료 가루로 뿌옇게 흐려지고, 조명은 시간마다 바뀌며, 물고기는 카메라 사각지대로 숨어버리기 때문입니다. Fishsort가 궤적을 뽑는 단계부터 이런 노이즈와 싸워야 한다는 뜻이죠. 추적이 흔들리면 활동 계수도 흔들리고, 그 뒤의 이중 증거도 함께 흔들립니다.
그래서 운영 측면에서 보면 추적의 강건함이 전체 신뢰를 좌우합니다. 밤사이 여과기가 잠깐 멈춰 수류가 달라졌거나, 아침에 특정 수조만 산소가 낮아진 날에도 판단 라인은 멈추면 안 되기 때문입니다. 저는 그래서 활동 계수 같은 중간 숫자가 화면에 그대로 드러나는 설계가 좋다고 봅니다. 모델이 내린 결론만 보여주는 것이 아니라, 지금 움직임이 어느 수준으로 읽혔는지를 함께 보여주면 관리자가 이상 신호를 빨리 알아차릴 수 있기 때문입니다.
좋은 건 알겠는데, 이걸 실제로 어떻게 서빙할까요. 수조마다 영상을 실시간으로 인코딩하고 언어 모델까지 돌리면 계산 비용이 만만치 않은데, 모든 수조에 매초 결정을 내릴 필요는 없을 수도 있기 때문입니다. 몇 분 간격의 배치 판단과 이상 시에만 더 자주 보는 적응형 주기를 섞으면 비용을 꽤 낮출 수 있죠. (참고로 양식장 카메라는 사람이 보는 용도와 기계가 보는 용도가 겹치는 경우가 많은데, 이럴 때는 해상도와 프레임 선택부터 운영 비용이 갈립니다.) 이런 절충을 어떻게 잡았는지가 상용화의 관건이 될 것 같습니다.

한 줄 요약이 놓치는 것은 무엇일까
이 연구를 한 줄로 줄이면 사람들은 흔히 카메라로 물고기를 보고 AI가 밥을 준다고 말합니다. 틀린 말은 아니지만, 제가 보기에는 이 요약이 가장 중요한 부분을 흘려보냅니다. THPL이 한 일은 카메라를 붙인 것이 아니라, 보는 것과 말하는 것 사이에 증거를 어떻게 포장해서 건넬지를 설계한 것이기 때문입니다. 장치를 붙이는 이야기가 아니라 증거를 엮는 이야기라는 뜻이죠.
비슷한 오해는 다른 데서도 자주 봅니다. 언어 모델을 붙이면 설명이 친절해지니까 결정이 좋아질 거라는 기대인데, 텍스트만 본 기준이 33.33%에 머문 사실이 그 기대를 깨뜨립니다. 말이 매끄러운 것과 장면에 접지된 것은 다른 능력이기 때문입니다. 이중 증거 토큰이 없었다면 아무리 큰 언어 모델을 가져와도 같은 함정에 빠졌을 가능성이 큽니다.
그렇다면 이 흐름은 어디에서 더 넓어질 수 있을까요. 저는 급이량이라는 단일 결정을 넘어, 왜 그런 판단이 나왔는지를 관리 일지에 남기는 쪽으로 확장되면 좋겠다고 봅니다. 오늘 아침 7시 3번 수조는 무리가 수면 쪽으로 모여들고 활동 계수가 평소보다 높게 읽혀서 평소 대비 증량을 제안했다는 식의 기록이 쌓이면, 나중에 성장과 수질 데이터와 엮어 복기할 수 있기 때문입니다. 결정 하나가 아니라 결정의 이력이 자산이 되는 셈이죠.
그래서 먹이 주는 결정은 누구의 몫으로 남을까
앞에서 미뤄둔 질문으로 돌아올 차례입니다. 눈으로 보는 것과 말로 판단하는 것을 이으면 사람의 자리는 좁아질까요. 저는 반대로 좁아지지 않는다고 봅니다. THPL이 잘하는 것은 매번 같은 잣대로 장면을 읽고 그럴듯한 설명을 덧붙이는 일이지, 수질 사고나 질병 징후처럼 밥 문제가 아닌 신호까지 갈라내는 일은 아니기 때문입니다. 오히려 기계가 매번 같은 기준으로 후보 판단을 내놓을수록, 사람은 예외를 가려내는 데 시간을 쓸 수 있죠.
제가 앞으로 보고 싶은 것은 새로운 농장과 새로운 어종에서의 성적표입니다. 무지개송어 한 어종과 정돈된 수조에서 통했던 이중 증거가 다른 물살과 다른 밀도에서도 같은 힘을 낼지, 활동 계수의 눈금이 농장마다 다시 맞춰져야 하는지, 반사실 선호 학습이 가르친 조심성이 처음 보는 장면에서도 이어질지가 궁금합니다. 숫자가 아니라 구조를 오래 보게 되는 이유도 여기에 있습니다. 점수는 환경이 바뀌면 흔들리지만, 증거를 엮는 방식은 남기 때문입니다.
오늘 살펴본 THPL은 저에게 한 가지를 또렷하게 남겼습니다. 잘 보는 것과 잘 말하는 것은 원래 다른 능력이지만, 그 사이를 증거라는 다리로 이으면 결정의 질이 달라진다는 것입니다. 수조 위 카메라는 그대로인데 판단의 재료가 달라지자 33.33%였던 결정이 93.33%를 거쳐 96.67%까지 나아갔고, 설명은 더 정확해지면서도 덜 반복적으로 바뀌었습니다. 그렇다면 다음 새벽에 수조 앞에 설 때, 우리는 무엇을 먼저 묻게 될까요. 아마도 얼마를 줄까가 아니라, 지금 무엇을 보고 그렇게 판단했는지가 아닐까 싶습니다.
