그물 한 줄을 더 엮는 방식이 사진 읽기를 바꿨습니다
작은 항구 창고에서 그물을 손보던 분이 계셨습니다. 새 줄을 엮을 때 바로 앞줄에만 묶지 않고, 예전 줄들까지 가는 얇은 줄을 같이 걸어 두시더라고요. 끝을 당기면 매듭들이 같이 힘을 받습니다. 연결이 많으면 전달이 또렷해질 때가 있습니다.
보통은 릴레이처럼 엮습니다. 한 줄이 다음 줄로 자기 몫만 넘기고 끝나요. 초반에 잘 묶은 매듭이 있어도 뒤쪽은 그걸 못 보고 비슷한 매듭을 또 만들기 쉽습니다. 끝을 세게 당겨도 앞쪽 매듭은 힘이 잘 안 전해져서, 문제를 늦게 알아차리기도 합니다.
DenseNet은 같은 크기 구간에서는 규칙을 바꿉니다. 새 줄이 바로 전 줄만 쓰는 게 아니라, 그 구간의 예전 줄들을 옆에 나란히 두고 같이 씁니다. 한 가닥으로 섞어버리는 게 아니라 그대로 펼쳐두는 거죠. 그래서 뒤쪽이 옛 매듭을 골라 다시 쓸 수 있습니다.
근데 줄을 계속 쌓아두면 그물 덩치가 금방 커집니다. 그래서 새 줄은 아주 조금만 더하고, 나머지는 예전 줄을 재사용하게 만듭니다. 그리고 본격적으로 묶기 전에, 여러 줄을 잠깐 좁은 고리로 모아 정리하듯 가볍게 다듬습니다. 옛 줄은 살리고 군살은 줄이는 습관입니다.
구간이 바뀔 때는 그물 칸 크기도 바뀌어야 합니다. 이때는 한 번 접고 정리하듯, 그림의 크기를 줄이고 줄 수도 압축해서 다음 구간으로 넘깁니다. 같은 크기에서는 촘촘히 공유하고, 넘어갈 때는 작게 줄여 깔끔히 정리하는 흐름입니다.
이 방식은 잘 알려진 깊은 사진 읽기 방식들과 겨뤄도, 비슷하거나 더 좋은 성능을 보이면서도 저장할 게 덜하고 계산도 덜 드는 경우가 많았습니다. 새 매듭을 매번 새로 만들기보다, 이미 있는 매듭을 계속 꺼내 쓰는 그물처럼요. 얹어놓는 묘수가 아니라, 늘 켜져 있는 공유 방식이 새로웠습니다.