비전공자도 이해할 수 있는 AI지식 -내비게이션은 어떻게 막히는 구간을 알까-

1. 내비게이션, 이제는 운전자에게 없어서는 안되는 필수품

 

내비게이션이 등장하면서 우리의 운전 습관은 완전히 달라졌습니다.

 

당장 처음 본 낯선 장소에 뚝 떨어져도, 내비게이션만 있으면 정확한 현재 위치와 이동 경로를 알 수 있게 되었습니다

 

뿐만 아니라 요즘은 카카오 택시 등의 서비스를 이용하면 내비게이션이 통합되어

 

아예 도착지가 미리 입력되어 있기 때문에 더 이상 도착지를 택시기사에게 말해줄 필요도 없습니다.

 

더군다나 내비게이션은 예상 도착 시간까지 정확히 예측해줍니다.

 

이제 내비게이션이 없는 운전은 상상도 할 수 없습니다.

 

이제는 스마트폰 없는 일상을 상상할 수 없듯이, 내비게이션 없는 운전은 상상하기 힘들어졌습니다.

 

 

2. 내비게이션은 왜 똑똑해졌는가

 

이러한 변화에는 2가지 터닝포인트가 있었습니다.

 

첫번째는 미국이 보다 정확한 GPS 신호를 민간에 개방한 것입니다.

 

미국은 1970년대에 군사적 목적으로 24개의 GPS 위성을 쏘아 올렸습니다.

 

그러나 적대국도 사용할 수 있다는 우려에 일부러 최대 100m이상 오차가 나게 만들었죠.

 

그러다 2000년 당시 클린턴 정부가 이 오차를 없애고 이때부터 민간에서도 정확도 높은 GPS 신호를 마음껏 사용할 수 있게 되면서 적극적으로 활용할 수 있는 기반이 열렸습니다.

 

두 번째는 내비게이션 시스템이 교통정보와 머신러닝까지 연동되며 스마트해진 점입니다.

 

단순히 지도 정도를 보여주고 현재 위치를 표시해주었던 초창기 내비게이션이,

 

실시간 교통정보와 연동하면서 최적의 경로를 안내할 수 있게 되었습니다.

 

여기에 머신러닝을 탑재해 도착 시점에 즈음해 해당 구간이 막힐지, 언제 출발하면 막히지 않을지까지 예측해내면서 편의성을 대폭 키웠죠.

 

 

초창기에는 내비게이션 전용 기기가 큰 인기를 끌었고, 이후 자동차 회사들도 차량에 옵션으로 장착해 판매하기 시작합니다.

 

티맵이나 카카오내비 같은 스마트폰 전용 내비게이션이 출시되면서는 두 서비스가 점유율 1,2위를 다투고 있는 상황입니다.

 

내비게이션은 자율주행차 운행에서도 매우 중요합니다.

 

정교한 지도를 기반으로 현재 위치를 파악하는 일은 자율주행차가 스스로 목적지를 찾아서 주행하는 데 가장 핵심적인 역할을 담당하죠

 

뿐만 아니라 자율주행차에는 현재 미터 단위의 지도보다 훨씬 더 정밀한 10cm 단위의 고정밀 지도가 꼭 필요합니다.

 

지도는 도로 상황의 변화를 반드시 반영해야 합니다.

 

공사 때문에 끊어진 길로 내비게이션이 안내한다면 끔찍한 상황이 벌어질 수 있죠

 

국내 도로 상황을 얼마나 빠르게 반영하고 운영하는지가 매우 중요한 기능이 될 수밖에 없습니다.

 

이 때문에 국내 상황에 익숙지 않은 해외 업체가 국내에 진출하기가 쉽지 않죠

 

전자지도를 제작하는 국내 업체들은 수시로 현장 조사를 하면서 변경된 정보를 지도에 반영합니다.

 

이렇게 만들어진 최신 지도는 해외 업체보다 경쟁력에서 앞서죠

 

과거에는 직접 인터넷에서 지도 파일을 다운로드해 업데이트해야했지만,

 

최근에는 주유 중에 자동으로 업데이트한다던가 서비스센터에서 정비 중에 업데이트하기도 합니다.

 

게다가 스마트폰 내비게이션의 경우에는 항상 최신 지도를 실시간으로 다운로드하기 때문에 업데이트에 신경 쓸 필요가 전혀 없죠

 

그렇다면 자동차 내비게이션은 어떻게 막히는 구간을 예측하고 길을 안내할까요?

 

 

3. "모든 모델은 잘못됐다. 그러나 일부는 유용하다"

 

지금 이 순간에 강남역이 막히는지 어떻게 알아낼 수 있을까요?

 

복잡한 딥러닝을 이용해 뚝딱 알아낼 수 있을까요?

 

데이터 과학자들이 좋아하는 말 중에는 "모든 모델은 잘못됐다. 그러나 일부는 유용하다"라는 말이 있습니다.

 

 

(box-cox transformation, box-jenkins model... 등등에서 나오는 box가 이 사람인듯)

 

 

어떤 모델도 현실 세계를 완벽하게 기술하지 못한다는 얘기입니다.

 

그렇다면 간단한 규칙부터 살펴보겠습니다.

 

사람의 분당 최대 심장박동수 MHR(Maximum Heart Rate)은 어떻게 구할까요?

 

220에서 그 사람의 나이를 빼면 됩니다.

 

$$최대 심박수 = 220-나이$$

 

우리는 나이가 들면서 최대 심박수가 점점 줄어드는데, 이를 간단하게 반영한 공식입니다.

 

하지만 의외로 이 규칙은 정확하게 작동합니다.

 

가령 여러분의 나이가 30세라면 최대 심박수는 분당 190회이고, 실제로 대부분 그렇습니다.

 

이보다 복잡하고 정교한 규칙을 만들 수도 있겠지만, 이 정도만 해도 충분히 정확합니다.

 

규칙은 단순할수록 좋습니다.

 

최대 심박수를 찾는 규칙은 매우 단순하면서도, 유용한 세상에서 가장 작은 모델인 셈이죠

 

여기서 매개변수는 딱 하나입니다. 나이를 빼는 기준치 220이 매개변수죠.

 

210이나 230 또는 다른 어떤 값이든 될 수 있지만, 220으로 했을때 실제 데이터와 가장 잘 들어맞습니다.

 

 

이보다 좀 더 복잡하지만, 좀 더 잘 들어맞는 모델도 있습니다.

 

$$최대 심박수 = 211 - 0.64 \times 나이$$

 

이전 규칙은 매개변수가 220, 1개였지만 새로운 규칙은 이제 211, 0.64로 2개입니다.

 

매개변수가 늘어나면 그만큼 규칙을 조정할 수 있는 여지도 늘면서 훨씬 더 정교한 모델이 됩니다.

 

그러나 계산은 좀 더 까다로워졌습니다.

 

 

물론 이보다 더 정교한 예측 공식도 있습니다.

 

$$최대 심박수 = \frac{203.7}{1+e^{0.033 \times (나이-104.3)}}$$

 

이 공식은 2003년 스웨덴 룬드대학교의 논문에서 소개한 모델입니다.

 

이 공식을 이용하면 훨씬 더 정교하게 최대 심박수를 구할 수 있지만, 매개변수가 4개나 되기 때문에 이제 암기는 힘듭니다.

 

계산기 없이는 계산도 어려워보입니다.

 

이처럼 매개변수가 3개가 되고, 4개가 되면서 점점 더 늘어나면 더욱 정교한 모델을 만들 수 있습니다.

 

딥러닝이 바로 그렇습니다.

 

그래서 앞서 챗봇에서 살펴본 GPT-3는 매개변수가 무려 1750억개나 되는 거죠.

 

 

5. 오컴의 면도날 원칙, 필요 이상인 것들은 과감히 베어라

 

그러나 매개변수가 많다고 항상 좋은 것은 아닙니다. 

 

당장 매개변수가 하나만 더 늘어도 계산하기가 훨씬 더 까다롭습니다.

 

마지막에 제시한 최대 심박수 수식처럼 매개변수가 4개쯤 되면 이제 계산기 없이는 계산하기가 어렵죠.

 

무엇보다 매개변수가 하나씩 늘어날때마다 학습 데이터가 훨씬 더 많이 필요합니다.

 

자칫 잘못하면 과적합(overfitting)에 빠질 수 있죠.

 

예를 들어 어떤 사람이 옆으로 누워 몸을 움츠리고 잔다고 해서 침대를 자세에 맞춰 만들어서는 곤란하겠죠.

 

하지만 매개변수가 늘어날수록 자세에 정확히 맞춘 침대처럼 과적합이 발생할 수 있습니다.

 

침대 형태가 직사각형이 되도록 매개변수를 단순하게 제한했다면 이런 일이 일어나지 않았겠죠.

 

https://jjeongil.tistory.com/981

 

따라서 크고 복잡한 모델이 항상 좋은 것만은 아닙니다.

 

앞서 본 것처럼 매개변수가 1개인 모델도 충분히 그럴듯한 결과를 얻어낼 수 있고, 무엇보다 적용하기도 쉽습니다.

 

그래서 운동하는 사람들은 대부분 첫번째 규칙인 "220-나이"를 가장 널리 사용합니다.

 

과학계에서도 가능하면 단순한 모델을 선호합니다.

 

이처럼 면도날로 도려내듯 단순한 모델이 최선이라는 원칙을 오컴의 면도날(Occam's Razor)이라 합니다.

 

오컴의 면도날 법칙은 어떤 현상을 설명할 때 필요 이상의 가정과 개념은 과감하게 베어낼 필요가 있다는 권고입니다.

 

과학 분야에서 널리 응용하는 일반적인 지침이죠.

 

과학 분야에서는 복잡한 것보다는 단순한 설명을 선호하고, 간단한 과정으로 다양한 자연현상을 설명할 수 있는 이론을 선호합니다.

 

최소비용, 최대만족이라는 경제적 원리가 여기에도 적용되죠.

 

컴퓨터 과학 역사상 최고의 천재라 일컫는 존 폰 노이만 또한

 

"매개변수가 4개로 나는 코끼리 한마리를 온전히 표현할 수 있고, 5개로는 그 코끼리의 몸통을 씰룩거리게 만들 수 있다"

 

매개변수가 늘어나 과적합하는 현상을 경계하기도 했습니다.

 

딥러닝 모델은 그 구조가 매우 복잡하고 계산해야 할 것도 많습니다.

 

물론 성능이 좋은 덕분에 여러 분야에서 유용하게 쓰이지만,

 

이번 장에서는 오컴의 면도날 법칙에 따라 복잡한 딥러닝 모델이 아닌 단순한 머신러닝 모델도 충분히 좋은 성능을 내는 방법을 소개하려 합니다.

 

그 전에 먼저 데이터를 준비하는 과정부터 짚어보도록 하죠

 

 

TAGS.

Comments