낚시꾼의 보이지 않는 찌
고요한 밤, 호수 위 작은 배에 낚시꾼이 앉아 있어요. 찌마다 야광봉을 달아서 물고기가 물면 빛이 흔들리는 걸 볼 수 있죠. 근데 이상한 일이 생겨요. 물이 아주 잔잔해서 찌가 수면 아래로 살짝 잠기면, 야광빛이 통째로 사라져요. 물고기가 분명 물고 있는데 낚시꾼 눈에는 아무 신호도 안 보이는 거예요. 자기 확신을 스스로 재는 똑똑한 소프트웨어 안에서도 똑같은 일이 벌어져요. 내부 신호를 점수로 바꾸는 과정에서 어떤 입력은 점수가 완전히 0이 돼버리거든요. 점수가 0이면 배울 단서도 0이에요.
찌가 왜 사라지는지 좀 더 볼게요. 야광봉은 수면 위에서만 빛나요. 세 가지 찌가 있어요. 하나는 수면 아래로 1밀리만 내려가도 빛이 딱 꺼지는 찌, 하나는 깊이에 따라 서서히 어두워지는 찌, 마지막은 깊이 가라앉아도 희미한 빛을 꼭 남기는 찌예요. 소프트웨어에서도 신호를 점수로 바꾸는 방식이 이 세 가지에 대응해요. 딱 꺼지는 찌를 쓴 소프트웨어는 선택지가 많은 복잡한 문제에서 보통 소프트웨어보다 정확도가 크게 떨어졌는데, 희미한 빛을 남기는 찌 방식은 훨씬 나았어요. 이 차이가 오랫동안 수수께끼였거든요.
한 가지 시도가 있었어요. 엉뚱한 자리에 뜬 찌를 확 잡아 빼는 거예요. 틀린 답에 자신감을 보이면 벌을 주는 방식이죠. 근데 문제는, 엉뚱한 찌를 아무리 치워도 물속에 잠긴 찌가 다시 보이진 않는다는 거예요. 오히려 벌을 세게 줄수록 더 많은 찌가 물속으로 밀려 들어갔어요. 선택지가 백 개인 문제에서 이 벌을 강하게 걸자, 정확도가 더 떨어졌어요. 틀린 건 혼내는데 맞는 걸 배울 실마리는 여전히 캄캄한 물속에 있었던 거죠.
진짜 해결책은 단순한 아이디어에서 시작돼요. 물속에 잠긴 찌에 작은 구명 부표를 달아주는 거예요. 부표가 찌를 살짝 띄워서 빛이 다시 보이게 하고, 찌가 스스로 뜨기 시작하면 부표는 자동으로 빠져요. 소프트웨어로 옮기면, 정답의 점수가 0으로 떨어졌는지 확인하고, 0이면 불확실한 정도에 비례해서 직접 밀어주는 보정값을 넣어요. 찌가 깊이 잠겨 있을수록 부표 힘이 세고, 떠오르면 자연스럽게 줄어들어요.
찌 자체도 개선했어요. 깊은 물에서 빛을 잘 남기는 찌는 얕은 물에서 빛이 너무 세져서 옆 찌 신호를 가려버리거든요. 그래서 혼합형 찌를 만들었어요. 수면 아래에서는 희미한 빛을 잘 유지하고, 수면 위에서는 일정한 속도로만 밝아지게 한 거예요. 깊은 곳에서도 신호가 살아 있고, 얕은 곳에서도 눈이 안 부시는 찌가 된 거죠.
구명 부표와 혼합형 찌를 달고 호수로 돌아온 낚시꾼. 잔잔한 밤에는 어떤 방식이든 비슷하게 잡혀요. 근데 백 종류 물고기가 한꺼번에 무는 복잡한 밤이 되면, 새 장비는 열에 일곱 이상을 맞혔고 옛날 딱 꺼지는 찌는 열에 셋 남짓이었어요. 게다가 찌가 밝고 안정적으로 빛날 때는 거의 틀리지 않았고, 희미하게 깜빡이면 낚시꾼도 의심하고 한 번 더 확인할 수 있었어요.
이 구명 부표 방식은 낚시에만 쓰이는 게 아니에요. 흐릿한 얼굴을 알아보거나, 아주 적은 예시로 배우거나, 처음 보는 물체를 걸러내는 작업에서도 옛 방식은 캄캄한 구간에서 멈췄고, 부표를 단 방식은 정상적으로 배웠어요. 구조를 뜯어고칠 필요 없이 부표 하나, 찌 하나 바꾼 것뿐이에요. 핵심은 간단해요. 확신이 너무 낮아져서 피드백 자체가 사라지는 구간이 있었고, 거기에 작은 도움 하나를 넣자 소프트웨어가 가장 중요한 순간에 다시 배울 수 있게 됐다는 거예요.