미약한 신호를 건져 올리는 법
잡음보다 작은 것을 찾기
3부의 마지막 편이다.
우리가 찾으려는 신호는 작다. 얼마나 작은지 정확히는 모르지만, 한 번의 측정에서는 잡음에 묻힐 정도라고 봐야 한다. 8편에서 말한 “큰 충격의 그림자에 묻힌 미세한 여운”이다.
잡음보다 작은 신호를 찾는 일은 오래된 문제다. 천문학에서 희미한 별빛을 잡고, 통신에서 약한 전파를 복원하고, 의학 영상에서 미세한 차이를 드러내는 일이 다 같은 계열이다.
그 분야들이 쓰는 방법 중 우리에게 옮길 수 있는 것들을 정리해 본다.
방법 1: 겹쳐서 더하기
가장 기본이고 가장 강력하다. 20편에서 다룬 원리다.
핵심 조건은 정확히 겹쳐야 한다는 것이다. 신호가 어긋난 상태로 더하면 신호도 함께 뭉개진다.
천문학에서 여러 장의 사진을 겹칠 때 별의 위치를 정확히 맞추는 것이 그래서 중요하다. 조금만 어긋나면 별이 번져 사라진다.
우리 문제에서 “정확히 겹치기”는 위치 정렬이다. 같은 구간을 지난 여러 주행의 데이터를 미터 단위로 맞춰 겹쳐야 한다.
그런데 9편에서 봤듯 GPS 오차가 수 미터에서 수십 미터다. 이 오차를 안고 겹치면 신호가 번진다.
해결책은 신호 자체를 기준으로 맞추는 것이다. GPS로 대략의 위치를 잡고, 그 근처에서 신호 패턴이 가장 잘 겹치는 지점을 찾아 미세 조정한다. 도로에는 항상 뚜렷한 특징 — 이음새, 맨홀, 방지턱 — 이 있고, 그것이 정렬 기준점이 된다.
이건 실제로 잘 쓰이는 기법이다. 위치를 절대 좌표로 알려 하지 않고, 반복되는 특징으로 상대 정렬한다.
방법 2: 기준선과의 차이만 보기
두 번째 방법은 관점을 바꾸는 것이다. 신호 자체를 보지 않고, 평소와의 차이를 본다.
어떤 구간의 “평소 모습”을 충분한 데이터로 만들어 둔다. 그러면 새로 들어온 측정에서 그 평소 모습을 빼면, 차이만 남는다.
차이가 0에 가까우면 변화가 없는 것이고, 차이에 어떤 구조가 나타나면 무언가 바뀐 것이다.
이 방법의 강점은 작은 변화가 상대적으로 커진다는 것이다. 원래 신호에서 1%의 변화는 잘 안 보이지만, 평소 모습을 뺀 뒤에는 그 1%가 남은 것의 전부가 된다.
7편에서 말한 사람의 능력 — 기준선과 비교해 변화를 느끼는 것 — 을 기계에 옮긴 것이다.
한계는 기준선을 만드는 데 시간이 걸린다는 것. 그리고 기준선을 만드는 기간에 이미 이상이 진행 중이었다면, 그 이상이 “정상”으로 등록된다. 이건 피하기 어려운 문제다.
방법 3: 찾을 모양을 미리 알고 찾기
세 번째는 조건이 붙지만 아주 강력하다. 찾으려는 신호의 모양을 알고 있으면, 잡음 속에서도 그것을 골라낼 수 있다.
원리는 이렇다. 찾으려는 모양과 측정 신호를 겹쳐 놓고, 얼마나 닮았는지 계산한다. 닮은 정도가 높으면 그 신호가 있는 것이다.
이건 잡음보다 훨씬 작은 신호도 잡아낸다. 통신과 레이더에서 표준적으로 쓰이는 방법이다.
문제는 “모양을 알고 있어야 한다”는 조건이다.
우리는 모른다. 공동 위를 지날 때의 신호가 어떤 모양인지 알지 못한다. 이론으로 짐작하고 시뮬레이션으로 만들어 볼 수는 있지만, 실제 도심 조건에서 그것이 맞는지 확인되지 않았다.
그래서 이 방법은 지금 쓸 수 없고, 4부에서 학습으로 그 모양을 알아낸 뒤에 쓸 수 있는 방법이다.
순서가 이렇게 된다. 학습으로 패턴을 찾고 → 그 패턴을 기준으로 삼아 다시 탐색한다. 두 번째 단계에서 훨씬 미약한 신호까지 잡을 수 있게 된다.
방법 4: 여러 각도에서 보기
마지막은 조금 다른 성격이다. 하나의 지표에 의존하지 않고 여러 지표를 동시에 본다.
같은 신호에서 여러 특징을 뽑을 수 있다. 대역별 크기, 봉우리 위치, 잦아드는 속도, 좌우 방향의 비율, 시간에 따른 변화율.
각 지표만 보면 잡음 수준의 변화일 수 있다. 그런데 여러 지표가 동시에, 일관된 방향으로 움직였다면 그건 우연이기 어렵다.
이건 2부의 논리와 같다. 흩어지는 것과 모이는 것. 여기서는 사람이 아니라 지표들이 서로를 검증한다.
위험: 없는 것을 만들어내기
이 편의 방법들에는 공통된 위험이 있다. 반드시 짚어야 한다.
미약한 신호를 찾으려 애쓰면, 없는 신호를 찾아낼 수 있다.
이유는 단순하다. 충분히 많은 지표를 보고 충분히 많은 지점을 검사하면, 순전히 우연으로 이상해 보이는 것들이 나온다. 수천 개 구간을 검사하면 그중 몇 개는 우연히 이상한 값을 갖는다.
그리고 17편에서 본 되짚기의 함정도 있다. 정보가 없는 대역에서 무리하게 복원하면 헛것이 만들어진다.
이건 과학 전반에서 알려진 문제이고, 대응 방법도 알려져 있다.
① 검사 횟수를 고려한다. 많은 지점을 검사했다면 기준을 그만큼 엄격하게 해야 한다.
② 독립적인 데이터로 확인한다. 어떤 지점이 이상하다고 판단되면, 그 판단에 쓰지 않은 다른 기간의 데이터로 다시 확인한다.
③ 사람의 신고와 대조한다. 12편에서 만든 구조다. 신호만으로 이상하다고 판단된 지점에 사람의 신고도 있는가.
④ 재현되는지 본다. 일회성으로 나타난 이상은 무시하고, 여러 날에 걸쳐 반복되는 것만 채택한다.
④가 가장 실용적이다. 우연은 반복되지 않는다.
3부를 정리하며
여덧 편에 걸쳐 신호를 다뤘다. 정리하면 이렇다.
우리는 아주 불리한 위치에서 관측한다. 조악한 센서로, 정보를 지우는 통로를 거쳐, 지저분한 조건에서.
그 불리함을 상쇄하는 것은 반복과 다양성이다. 정규화로 계통 오차를 걷고, 반복으로 무작위 오차를 줄이고, 여러 지표로 서로 검증한다.
그런데 무엇을 찾을지 아직 모른다. 이게 3부가 남기는 문제다.
도구는 갖췄다. 그 도구로 무엇을 겨눌지는 데이터가 알려줘야 한다. 그리고 그 데이터에 이름표를 붙이는 것이 2부에서 만든 사람의 판단이다.
4부에서 그 둘이 만난다.
다음 편 예고 — 드문 재난을 어떻게 학습하는가. 4부의 시작. 사례가 거의 없는 사건을 기계에게 가르치는 문제를 다룬다.
「우리 동네가 먼저 안다」는 5부 30편으로 이어집니다. 지금 읽은 글은 3부 신호 읽기의 8번째(전체 제21회)입니다.