안녕하세요, 에이도입니다.
if카카오 2020에서 발표된 카카오내비는 어떻게 경험을 바꾸는가 세션 리뷰를 해보겠습니다.
현재 가장 많이 사용되고있는 Map 어플로 T맵, 카카오내비 , 네이버지도 이렇게 3가지가 가장 많이 사용되는 걸로 알고 있습니다.
모빌리티 기술에 대한 갈증이 항상 있었습니다.
-
최적길을 어떻게 예측을 하는지
-
무료/유료 도로 선택,
-
최소 시간,
-
최단 경로 등
많은 고려사항을 어떻게 입력하고 어떻게 처리하는지에 대한 궁금증이 있었고, 이러한 이유로 이 세션을 찾아보게 되었습니다.
목차
1. 경로
1-1 데이터
1-2 알고리즘
1-2-(1) 모든 도로 탐색
1-2-(2) 실시간 교통 상황
1-2-(3) 가중치 모델
2. 소요시간
2-1 예측 속도 시스템
2-1-(1) 모델 학습부
2-1-(2)추론부
3. Review
1. 경로
1- 1 데이터
경로 개선에는 데이터 + 알고리즘이 필요하다.
데이터가 신뢰성에 아주 큰 영향을 미치기 때문에 데이터는 굉장히 중요하다.
카카오는 위에서 볼 수 있듯이, 카카오내비 + 카카오 T의 사용자의 데이터를 통해 많은 데이터를 얻을 수 있다고 생각됩니다.
특히나 도로 통제, 이동 제한에 대한 데이터는 특히 더 중요하다고 강조하셨습니다.
이처럼 카카오내비는
-
갑작스럽게 발생하는 통제 데이터 +
-
주기적으로 발생하는 제한 정보 데이터 +
-
속도 데이터 +
-
24시간 이동 데이터 수집 등
으로 많은 데이터를 수집할 수 있다고 하셨습니다
위에서 얻은 데이터를 통해 어떻게 경로를 계산하는지 알고리즘을 설명을 해주셨습니다.
다익스트라 알고리즘은 모든 경로를 탐색 후 가장 빠른 길을 찾기 때문에 굉장히 느리기에
(이 문제를 해결하기 위해)
출발지와 목적지 설정 후 그 영역 안에서만 탐색하도록 설정을 하여 속도를 높이셨다고 합니다.
이 세션에서는 어떻게 더 빠른 경로를 탐색하는것이 아닌 어떻게 신뢰성 높은 경로를 계산하는지에 대해 깊게 다루어 주셨습니다.
1- 2 알고리즘
1) 출발지에서 도착지까지 모든 도로 탐색하여 소요시간 계산
이렇게 소요시간을 계산을 하면, 소요시간이 짧은 도로를 우선적으로 확장을 합니다.
목적 링크에 도착할 때까지, 확장 - 계산 -확장 - 계산의 반복으로 목적지까지 안내한다고 하셨습니다.
하지만, 이때 문제점이 발생하는데 이 경로는 초기경로이기 때문에 실시간으로 도로 상황이 바뀜에 대응할 수 없게 됩니다.
(실시간 도로 상황 예시: 사고, 출·퇴근 둥 정체상황)
2) 실시간 교통상황 반영
따라서 이에 대응하기 위해 카카오내비는 5분마다 재탐색을 실시하며 실시간 빠른 길을 적용한다고 하셨습니다.
하지만 빠른 길을 안내하더라도 여러 가지 문제가 발생한다고 하셨습니다.
2분 빠른 경로에 대한 [100m 추가 운전] , [1000원 추가 지불], [어린이 보호구역] 등 다양한 문제가 있다고 언급해 주셨습니다.
3) 가중치 모델 이용한 여러가지 경로 안내
이를 보완하기 위해 링크 통과시간, 회전 시간, 요금, 도로 종류, 고객의 니즈 변수를 통해 가중치 모델을 만들었다고 하셨습니다!
최종적으로 이용자(고객)이 자신의 니즈에 맞는 경로를 선택하게끔 여러 대안을 제시하고 있습니다.
2. 소요시간
2-1 예측 속도 시스템
위에서 탐색한 길은 실제 이동시간이 아닌 예측 속도이다.
따라서 이동시간을 예측하기 위한 모델링을 알아보면 위처럼 머신러닝을 사용함을 알 수 있습니다.
크게 모델 학습부와 추론부로 구성이 되어있다.
1) 모델 학습부
모델 학습부에서 사용할 학습 데이터는 장기예측 시스템 + 전처리 서버에서 제공한다.
실시간으로 수집되는 속도를 계속 저장하고 일정하게 동일한 패턴을 갖는 데이터(예를 들어 요일)를 묶어서 평균을 낸다고 하셨습니다.
월요일 같은 경우에는 출, 퇴근 시간에 속도가 낮아지지만,
일요일 같은 경우에는 낮 시간에 속도가 낮아지게 됩니다.
이를 통해 월요일에는 출, 퇴근 시간에 차량 이동이 많아 교통량이 많고, 일요일에는 낮 시간대에 교통량이 많음을 추론할 수 있습니다.
이렇게 패턴에 따른 데이터의 평균치를 모으면 단기 예측 모델에서 이 데이터를 사용하여 예측에 사용한다고 하셨습니다.
단기 예측 모델로는 Gradient Boosting Tree모델을 사용하고, 평균 속도에 더해서 실제 속도와 얼마나 오차가 나는지 학습을 하게 된다.
전처리 서버에서 도로 타입, 교통량 등의 데이터에 따라 트리 형태로 오차를 학습한다.
이 트리는 하나가 아닌 여러 개이다.
첫 번째 트리에서 실제 속도를 예측하고 틀린 부분은 두 번째 트리에서 반영하여 학습을 한다.
따라서 이 과정을(트리를 여러 개) 반복하면 실제 속도와 비슷하게 예측할 수 있다.
2) 추론부
위에서 모델을 학습 후 추론부에서는 '오늘'에 해당하는 패턴 모델을 가지고 와서 실시간 속도를 입력받아
예측 속도를 생성한다.
이렇게 패턴 별로 에러가 낮은 모델을 사용하기 때문에 정확도가 높아진다.
앞으로 CNN, LSTM, GNN을 이용한 테스트를 진행하고 정확도를 더 높이기 위한 작업을 진행한다고 하셨습니다.
카카오내비는 실시간 도로 상황과 불편사항을 반영하여 경로를 개선하고,
다양한 교통 정보를 반영해서 소요시간을 예측하고 있다.
이제는 새로운 이동 경험을 제공하기 위해 노력 중 (제주도 해안 도로 우선 탐색 안내 , 자율주행 차선 단위 길 탐색 등)
카카오내비의 목적
단순히 빠른 길이 아닌 나에게 꼭 맞는 내비가 되도록, 더 나은 이동 경험을 제공하기 위해서 노력 중이다.
[느낀 점]
카카오내비는 다양한 플랫폼으로 수많은 데이터를 수집할 수 있다.
이 데이터를 통해 보다 높은 신뢰성을 구축할 수 있다.
왜냐하면 신뢰성을 높이기 위해서는 정확도가 높아야 하는데,
예측 모델에서 정확도를 높이기 위해서는 수많은 데이터가 필요하기 때문이다.
이를 충족하기에 카카오 내비는 신뢰성을 높일 수 있다고 생각한다.
물론 다른 서비스도 마찬가지이겠지만, 속도만 빠른 길이 아닌 다양한 변수(통행 요금, 어린이 보호 구역, 좁은 길 등)를 고려한 가중치에 따른 길을 사용자가 선택할 수 있도록 제공해준다.
여기서 궁금했던 점이 한 가지 풀렸다.
바로 머신러닝을 이용한다는 점이다.
모델 학습부에서 실시간으로 수집되는 속도 정보 데이터를 수집하고, 분류하여 각 특징에 맞는 데이터들의 평균을 통해
모델을 학습시킨다는 점이 가장 인상 깊었다.
이를 통해 단순히 월, 화, 수 등 요일이 아닌 각 시간 대 별, 각 날짜 별, 날씨 별, 설/추석 등의 특정 이벤트가 발생할 경우에도 그 상황에 맞는 데이터를 통해 이전보다 더 정확한 이동 시간 및 속도를 예측할 수 있다고 생각이 든다.
전기차, 자율주행 차 등으로 앞으로의 모빌리티는 우리 삶에서 굉장히 중요하고 가깝게 다가 올 변화 중 하나라고 생각한다.
이러한 기술에 머신러닝 기술은 필연적이라고 생각이 들기에 이 세션을 관심 있게 보았고 유익하게 시청했다.
좋은 세션을 준비해주셔서, 인사이트를 제공해주심에 감사드립니다!
'Make the Learning Curve > Conference' 카테고리의 다른 글
2021 삼성SDS 랜선 멘토링 후기 ( + 후기 책 선물) (0) | 2021.02.18 |
---|---|
if (kakao) 2020 - 카카오페이 DevOps의통합과 자동화에 관한 이야기 - 리뷰 (0) | 2020.11.19 |
Naver Deview 2020 참가신청 (0) | 2020.11.19 |
if (카카오) 2020 추천 시스템, 써보지 않겠는가? - Review (0) | 2020.11.18 |
댓글