스스로 감지하는 도시
30편을 지나
첫 편에서 이렇게 시작했다.
싱크홀 사고 소식에는 대체로 비슷한 반응이 따라붙는다. 늘 다니던 길이었다는 것.
그리고 서른 편을 지나며 그 “늘 다니던 길”을 파헤쳤다. 왜 못 잡았는지, 누가 먼저 알 수 있는지, 신호에서 무엇을 읽을 수 있는지.
마지막 편에서 정리한다.
우리가 실제로 다룬 문제
이 연재를 한 문장으로 줄이면 이렇다.
도로를 재는 기술은 오래됐지만 싱크홀을 못 잡았다. 그 이유는 정밀도가 아니라 관측의 리듬에 있었다.
2편에서 세 벽을 세웠다. 비용, 주기, 깊이. 그리고 셋이 서로를 밀어내는 고리를 만든다는 것을 봤다. 정밀도를 높이면 비싸지고, 비싸지면 드물어지고, 드물어지면 놓친다.
그래서 방향을 뒤집었다. 정밀하지만 드문 관측 대신, 거칠지만 끊임없는 관측.
이 전환의 근거는 6편의 판단이었다. 조기탐지는 사건이 아니라 과정을 잡는 일이고, 과정을 잡으려면 빈도가 정밀도보다 중요하다.
두 단계로 나눈 이유
그런데 방향을 정하고 나서 벽에 부딪혔다. 무엇을 찾을지 몰랐다.
신호에서 이상을 찾으려면 이상이 어떤 모양인지 알아야 한다. 그런데 그걸 알려면 “여기가 실제로 이상했다”고 확인된 데이터가 필요하고, 그런 데이터는 세상에 없었다.
그래서 사람에게서 시작했다. 매일 그 길을 지나는 사람. 기준선을 몸으로 갖고 있어서 변화를 느낄 수 있는 사람.
이 결정이 프로젝트를 두 단계로 나눴다.
1단계 — 사람이 판단하고, 사람의 판단끼리 검증한다. 지금 만들 수 있고 지금 쓸모가 있다.
2단계 — 그렇게 쌓인 데이터로 기계가 사람의 감각을 배운다. 데이터가 모여야 시작된다.
그리고 26편에서 정리했듯 두 단계는 완성 후에도 서로를 필요로 한다. 기계는 사람의 착각을 걸러내고, 사람은 기계의 헛것을 걸러낸다.
반복해서 나온 원칙
서른 편을 통틀어 같은 논리가 여러 층위에서 반복됐다.
사람의 판단에서 (2부) — 틀린 신고는 흩어지고 실재하는 이상은 모인다. 겹침이 신뢰를 만든다.
신호 처리에서 (3부) — 무작위 오차는 반복으로 상쇄되고, 계통 오차는 정규화로 걷어낸다.
여러 지표에서 (21편) — 하나의 지표만 이상한 것과 여러 지표가 함께 움직인 것은 다르다.
접근 방법에서 (22편) — 이상 탐지와 시뮬레이션과 사람 판단이 같은 곳을 가리키면 신뢰가 올라간다.
전부 같은 이야기다. 흩어지는 것과 모이는 것. 이 하나의 논리가 이 프로젝트 전체를 지탱한다.
무엇을 아직 못 했나
정직하게 남은 것을 적는다.
가장 큰 미지수는 가설 자체다. 4편에서 세운 것 — 공동 위 도로의 응답이 다르다 — 가 실제 도심 주행 데이터에서 감지 가능한 크기인지 확인되지 않았다.
정규화가 미완성이다. 29편에서 정리한 병목. 이게 안 되면 3부에서 만든 도구 대부분이 작동하지 않는다.
사용자가 없다. 그리고 이것이 다른 모든 것의 전제다.
4부 전체가 계획이다. 22편부터 반복해서 적었다. 되는 것과 되게 하려는 것을 섞지 않으려 했다.
가설이 틀렸다면
25편에서 적은 것을 다시 쓴다.
가설이 틀릴 수 있다. 공동 위의 신호 차이가 도심 주행에서 감지할 수 없을 정도로 작을 수 있다. 그러면 2단계는 성립하지 않는다.
그때 남는 것은 무엇인가.
동네 사람들이 도로의 이상을 기록하고 공유하는 도구. 여러 사람의 표시가 겹치면 신뢰가 생기고, 그것이 민원의 근거가 되는 시스템.
그것도 지금 없는 것이다. 지금은 개인이 “여기 이상해요”라고 말하는 것 외에 방법이 없다. 그 말에 근거를 붙여주는 것만으로도 무언가 달라진다.
그러니 실패해도 0이 아니다. 다만 우리가 목표한 전부는 아니다.
이것이 향하는 곳
제목의 이야기를 해야겠다. 스스로 감지하는 도시.
거창하게 들리지만 뜻은 단순하다. 도시에 새 센서를 설치하지 않고, 이미 그 안에서 움직이는 것들이 관측자가 되는 것.
매일 같은 길을 지나는 사람들, 그들의 주머니 속 센서. 이미 존재하고 이미 움직이고 있다. 다만 기록되지 않는다.
1편에서 이렇게 적었다.
측정은 이미 매일 일어나고 있다. 다만 기록되지 않을 뿐이다.
이 프로젝트가 하려는 것은 그 기록을 시작하는 일이다. 그리고 그 기록에 사람의 판단을 붙여, 나중에 기계가 그 판단을 배울 수 있게 하는 일.
핵심은 새로운 것을 만드는 것이 아니라, 이미 있는 것을 잇는 것이다.
마지막으로
이 프로젝트에는 조심해야 할 지점이 많았다. 서른 편에 걸쳐 반복해서 적은 것들이다.
우리는 판정하지 않는다. 확인 우선순위를 제시한다. 우리는 “안전하다”고 말하지 않는다. 데이터가 얼마나 있는지 알려준다. 우리는 위험을 예측하지 않는다. 이례적인 기록이 쌓였다고 말한다.
이 조심스러움이 소극적으로 보일 수 있다. 28편에서 적었듯 사업적으로도 불리하다. “위험 구간 발견”이 “표시가 쌓인 구간”보다 잘 팔린다.
그럼에도 이 선을 지키려는 이유는 하나다. 우리가 다루는 것이 사람이 사는 동네이고, 사람의 안전에 대한 판단이기 때문이다.
근거가 약한 경고는 두 번 해를 끼친다. 한 번은 불필요한 불안으로, 한 번은 신뢰 상실로. 그리고 신뢰를 잃으면 정작 필요한 순간에 아무도 듣지 않는다.
데이터가 강해지면 표현도 강해질 수 있다. 순서를 뒤집지 않으려 한다.
이 연재를 마치며
서른 편을 쓰는 동안 설계의 약점이 여러 번 드러났다. 그중 몇 가지는 이 글에 그대로 남겨두었다.
13편에서 신뢰 점수가 최초 발견자를 불리하게 만든다는 것을 알았고, 18편에서 우리 선별 방식이 하필 위험한 구간을 배제한다는 것을 알았고, 25편에서 우리가 배우는 것이 사람의 한계까지 물려받는다는 것을 알았다.
지우고 매끄럽게 만들 수 있었지만 그러지 않았다. 문제를 아는 것이 문제를 감추는 것보다 낫다고 판단했다.
이 연재는 책으로 묶일 예정이고, 여기서 다룬 내용 중 집단 검증 구조와 신호 분리 부분은 논문으로 정리하려 한다.
읽어주신 분들께 감사드린다. 그리고 이 글에서 틀린 부분이나, 우리가 놓친 위험을 발견하신다면 알려주시기를 바란다. 이 프로젝트의 성격상, 놓친 것을 지적받는 것이 가장 필요한 일이다.
「우리 동네가 먼저 안다」 완결 · 전 30편
「우리 동네가 먼저 안다」는 5부 30편으로 이어집니다. 지금 읽은 글은 5부 도시로의 3번째(전체 제30회)입니다.
연재 전체 목차 펼쳐보기
왜 못 잡았나
1~6회사람이 먼저
1단계7~13회신호 읽기
14~21회physical AI
2단계22~27회도시로
28~30회- 28위험 지도를 그리다읽는 데 9분
- 29NumTerra 해부 — 앱과 데이터 파이프라인읽는 데 9분
- 30스스로 감지하는 도시지금 읽는 중