Ⅰ. 서 론
1. 개요
차량의 보급과 도로 교통체계의 발달은 사람들에게 높은 수준의 이동성과 편리함을 제공해 주었다. 그러나 동시에 교통혼잡, 교통사고, 환경오염 등과 같은 다양한 문제들을 야기하고 있다. 특히 가장 중요한 문제 요소로 주목받고 있는 교통사고의 경우 대부분의 사고가 인간에 의해 발생된다는 연구 결과들이 존재하였다. (Kim et al., 2014) 기술의 발달과 함께 이러한 사고의 예방을 위한 첨단 운전자 보조 시스템(ADAS1)) 의 발달이 이루어졌 고 다양한 기법 들을 활용하여 운전자를 보조하는 기술로 자리 잡고 있다. (Kime et al., 2018) 초기 운전자 보조 시스템은 자동 긴급제동 시스템, 주행 조향 보조 시스템, 크루즈 컨트롤 시스템 등 사전에 만들어진 고정된 알고리즘에 따라 동작하는 경우가 대부분이었으나, 최근에는 운전자 맞춤형 주행 보조에 대한 관심이 많아지고 있고, 동시에 운전자의 운전패턴을 분석하는 기술에 대한 연구가 많이 수행되고 있다.
운전자 패턴분석을 위해 이미지(Xu et al., 2014), 음향(Xie et al., 2019), 가속도계(Wang et al., 2017) 등 다 양한 센서 데이터를 활용하는 연구들이 존재해왔다. 그중 가속도계는 중력과 운동에 의해 발생하는 가속도 성분을 측정하는 센서로 음향 센서보다 물리적인 정보의 반영 정도가 높고 이미지 데이터보다 데이터의 크 기가 작아 많은 선행 연구들이 가속도 데이터를 기반으로 운전자 패턴을 분석하는 연구들을 수행해왔 다.(Nickel et al., 2011;Song et al., 2012) 특히 최근에는 높은 휴대성과 함께 다양한 센서가 복합적으로 탑재 되어 있는 스마트폰에서 취득한 가속도 데이터를 활용하는 방법에 대한 연구가 활발하다.
그러나 대부분의 연구들에서는 전통적인 통계 기법이나 특성공학에 기반하는 머신러닝 기법을 적용하여, 정확도가 떨어지거나 사용을 위해 주행 환경에 맞는 파라미터 조정이 필요하다는 한계를 가지고 있 다.(Fazeen et al., 2012) 최근에는 인공지능 기술 중 데이터로부터 특징을 스스로 학습하는 심층신경망 기술이 발달하면서, 딥러닝을 이용한 사용자 패턴 분석에 대한 접근도 시도되고 있다.(Carvalho et al., 2017) 하지만 현재까지는 대부분의 딥러닝 방법론들은 지도학습 기반으로 수집된 가속도 센서에 대한 레이블 정보를 학습 하여 분류하거나 현재 상태를 점수화하여 운전 패턴을 분석하기 때문에 레이블이 있는 대량의 데이터가 요 구된다는 한계가 있다. 또한 주어진 데이터에 대해 분류하는 작업을 기반으로 하고 있기 때문에 운전 행동의 변화시점을 찾는 작업에 대한 추가적인 작업이 필요하다.
본 연구에서는 지도학습 기반의 딥러닝 접근 방법의 한계를 개선하기 위해 레이블이 없는 가속도 데이터 를 기반으로 주행의 변화점을 찾아내는 방향으로 학습하고 추후 미세 조정을 통해 분류를 학습하는 방법을 제안한다. 제안하는 방법은 자기지도학습(SSL2)) 중 대조학습(Contrastive Learning)을 활용하여 레이블에 연관 된 데이터의 특징을 추출하도록 학습하는 것이 아니라 데이터 자체의 특징을 추출할 수 있도록 딥러닝 모델 을 학습하고 이를 기반으로 운전 패턴의 변화점을 도출한다. 학습된 딥러닝 모델은 적은 데이터에 미세 조정 을 걸쳐 분류기로 발전될 수 있으며 이 때 지도학습을 직접 활용하는 방식보다 모델의 강건성(Robustness)가 향상되며, 적은 학습 데이터로 높은 성능을 낼 수 있다는 장점을 가진다. 또한 제안하는 방법의 실효성을 검 증하기 위해 스마트폰에 탑재가능한 경량화 딥러닝 모델들에 대해 학습을 수행하고 결과를 분석한다.
Ⅱ. 관련 연구 고찰
1. 스마트폰을 활용한 운전자 행동 분석
인터넷 기술과 대량생산으로 인한 가격 하락과 함께 많은 사람들이 스마트폰을 보유하고 있다. 스마트폰 은 다양한 센서들을 복합적으로 사용할 수 있으며, 고성능의 연산 프로세서 및 메모리가 탑재되어 있다. 여 러 연구들은 이러한 스마트폰의 유용성을 활용하여 취득이 가능한 센서 데이터를 이용하여 여러 가지 실험 및 적용 방법에 대한 논의들이 있어왔다. 대부분의 안드로이드 기반 스마트폰에는 움직임, 방향 및 다양한 환경 조건을 측정하는 센서가 내장되어 있다. 이러한 가속도계 센서는 높은 정밀도와 정확도의 데이터를 제 공하며 기기의 움직임을 모니터링 하거나 주변 환경의 변화를 모니터링 하려는 경우에 유용하다.
Akram et al은 사용자의 스마트폰에서 생성된 3축 가속도 데이터를 이용해 사람의 움직임을 인식하는 연 구를 진행하였다. 데이터를 저주파 필터를 사용해 중력 가속도와 몸의 가속도로 분리하였고, 몸의 움직임에 대한 가속도만을 사용해 특성을 구성하였다.(Akram et al., 2014) 여러 일상 활동에서의 움직임에 대해서 최대 91.15%의 분류 정확도를 달성해내며 휴대전화에서 취득되는 데이터의 가치를 보여주었다. 또한 스마트폰의 위치를 달리하며 분류기를 실험한 결과, 모두 높은 성능을 보여주며 해당 연구 방법이 스마트폰의 위치에 강 건하다는 것을 보여주었다. 스마트폰을 통해 취득된 가속도 데이터는 특히 운전 행동 분석 분야에서 활발하 게 활용되고 있다. Song et al..(2012)은 정규화와 스무딩 작업을 통해 스마트폰으로 취득된 가속도 데이터를 전처리하고, 운전 중 이벤트가 발생한 구간을 동적 시간 워핑(Dynamic Time Warping)으로 유사한 패턴을 인 식해 주행 이벤트를 분류하는 방법을 제안하였으며(Song et al., 2012) Lu et al.(2018)은 차량 모드-운전 이벤 트 감지 시스템(VADS) 를 제안했다.(Lu et al., 2018) 스마트폰의 가속도 데이터를 이용하여 차량의 종류(자동 차, 버스, 오토바이 등)와 정지, 직진, 좌-우회전 등의 운전 이벤트를 감지한다. 랜덤 포레스트, 나이브 베이 즈, 서포트-벡터 머신(SVM) 등의 분류기들을 사용하여 차량 감지는 평균 정확도 98.83%, 오토바이 운전자의 이벤트 인식에선 평균 정확도 98.95%를 달성하였다. Lindow et al.(2020)은 스마트폰 센서 데이터와 기계학습 방법론을 활용해 운전자의 이상 행동을 모니터링 하는 것을 목표로 연구를 진행했다.(Lindow et al., 2020) 저 자는 서포트-벡터 머신(SVM), K-최근접 이웃(KNN), 의사결정나무, K-means 알고리즘, 베이지안 네트워크, 다 층 퍼셉트론 등의 분류 방법론들을 적용하였고, 위 방법들을 활용한 운전자 의사 결정 지원 시스템을 제안하 였다. 많은 데이터를 처리하는 데 뛰어난 기계학습 기반의 시스템을 통해 더 광범위한 사용과 수용을 주장하 였다.
이와 같이 다양한 연구들이 스마트폰 센서를 이용해 운전 패턴을 분석하는 것의 유의미함과 이에 대한 다 양한 접근 방식을 보여주었다. 본 연구에서는 운전자의 스마트폰 가속도 데이터를 이용하여 운전 도중 발생 하는 변화점, 예를 들어 노면 상태의 변화, 차량의 방향 전환, 급출발, 급정거 등을 탐지하는 방법 및 운전패 턴을 분류하는 방법을 연구했다. 본 연구에서는 데이터 전처리 단계에서 단시간 푸리에 변환(STFT)을 적용 하였다. 이는 시간에 따른 주파수 변화를 시각적으로 파악할 수 있게 해주었으며, 지역화된 주파수 정보도 획득이 가능케 하였다. 또한 기존의 연구들은 데이터를 대부분 분류 모델에 활용하였으나 본 연구는 변화점 탐지(Change Point Detection) 분야와 비지도 학습 방법론인 대조학습을 접목하여 연구를 진행했다.
2. 변화점 탐지(Change Point Detection)
변화점 탐지는 시계열 데이터에서 변화가 발생한 지점을 감지하는 기술로, 다양한 방법과 알고리즘이 적 용되고 연구 되어왔다. 변화점 탐지의 핵심은 이전 상태까지 유지되던 추세와 변화 특징이 다음 시간 간격에 서도 동일하게 발생하는 지를 탐지하고, 완전히 새로운 변화 양상이 나오는 경우 이를 이전과 다른 상태가 되었다는 것으로 간주하며 변화점이라 부르고 이를 탐지하는 것이다.
초기의 변화점 탐지는 통계를 이용한 방법으로 대표적으로 Cumulative Sum(이하 CUSUM)(page, 1954) 차 트를 도입하여 생산 과정의 품질 변화를 통계적으로 감지하는 방법을 제안했다. CUSUM은 누적합을 계산하 여 정해진 임계값을 초과할 때 변화를 감지하며, 작은 변화도 빠르게 감지할 수 있는 특징을 가지고 있다. 다만 이는 실시간으로 적용가능한 방법은 아니었으며 이를 해결하고자 베이지안 접근을 통해 온라인 상황에 서의 변화점을 탐지하는 방법이 제안되었다.(Adams and MacKay, 2007) B-Statistic을 도입해서 변화의 가능성 을 추정하며, 포아송 프로세스 모델을 활용하여 시간에 따라 변화하는 데이터에서 실시간으로 변화점을 감 지하는 방법이다. 이후 딥러닝 기술의 등장으로 변화점 탐지를 딥러닝 기술을 적용하여 수행하고자 하는 시 도가 있어왔다. 대표적으로 LSTM을 활용한 시계열 데이터에서의 이상 탐지 모델이다.(Malhotra et al., 2015) 기존의 통계적 방법의 한계를 극복하기 위해 LSTM 네트워크의 장점을 활용하여 시계열 패턴을 학습하고 이 상을 감지하는 방법이 제시되었다. 결과적인 예측오류는 다변량 가우시안 분포로 모델링되며, 비정상적인 행 동의 가능성을 평가하는데 사용된다. 해당 연구에서 각 데이터셋에 대해서 <Table 1>과 같은 성능지표를 얻 었으며 해당 논문의 방법이 조기 결함 예측에 유용할 수 있음을 시사한다.
<Table 1>
Data Set | Architecture | Precision | Recall | |||
---|---|---|---|---|---|---|
LSTM | RNN | LSTM | RNN | LSTM | RNN | |
Space Shuttle | (35~35) | (30~30) | 0.93 | 0.89 | 0.1 | 0.03 |
Power | (30~20) | (60~60) | 0.94 | 0.71 | 0.17 | 0.19 |
Engine | (25) | (50~40~30) | 0.94 | 0.98 | 0.12 | 0.10 |
다만 LSTM모델 자체가 가지는 대규모 데이터셋에서의 학습 및 추론에 높은 계산비용이 요구된다는 부분 이 단점이 된다. 다른 딥러닝 적용방법으로는 DeepAR 모델이 있다. 해당 모델은 (Salinas et al., 2020) 확률적 시계열 예측을 수행한다. 확률 분포를 출력하여 불확실성을 고려하며, 다양한 최적화 및 학습 전략을 사용하 여 불확실성을 최소화했다. 전통적인 접근법에서 직면한 많은 고전적인 문제를 딥러닝 기술을 적용함으로써 극복할 수 있다는 것을 보여준다. 시계열 이상탐지에서 사용하는 대표적인 3가지 오픈데이터셋(parts, electricity, traffic)에서 딥러닝 방법론이 전통적인 방법 및 머신러닝 방법론보다 높은 성능을 달성할 수 있음 을 보여주었다.
변화점 탐지를 수행할 때는 일반적으로 변화점이 되는 각 개별 클래스를 학습하여 분류를 수행하거나, 정 상 데이터가 변화점보다 압도적으로 많이 존재할 것이라는 가정을 가지고 정상 데이터만 학습하고 새로운 데이터가 발생하는 지점을 파악하는 것이 일반적이다. 이러한 방법론들은 지도학습에 기반하거나 데이터의 일반적인 분포를 가정한다는 점에서 한계를 가지고 있다. 본 연구에서는 여러 사전 전처리 및 다른 통계적 방법론의 적용을 필요로 하지 않도록 대조학습을 통해서 변화점 탐지를 수행하고자 한다.
3. 대조학습(Contrastive Learning)
대조학습은 자기지도학습 방법론의 일종으로, 데이터들에 존재하는 일관성(Consistency)를 설정하고 이를 기반으로 유사도를 측정하여 데이터를 구분하는 것을 학습하는 방법이다. 특히 아래 그림과 같이 딥러닝에 서 특징을 추출하는 과정에 위 일관성이 학습될 수 있도록 하기 위해 많이 사용되며 유사한 데이터는 특징 공간에서 가깝도록, 상이한 데이터는 특징 공간에서 멀어지도록 맵핑하는 것을 목적으로 한다. 데이터의 유 사성은 레이블 정보가 아닌 연구자가 설정하는 일관성에 따라 측정되고 비교되기 때문에 데이터 학습을 위 한 레이블이 필요하지 않고 데이터 내재적으로 존재하는 특징을 학습하게 된다. 레이블 정보가 필요하지 않 고 특정한 태스크를 위한 특징이 아닌 데이터 자체에 존재하는 일반적인 특징을 기준으로 학습한다는 점에 서 최근에 많은 대조학습 연구들이 수행되고 있다.
대조학습 기법은 주로 이미지 데이터를 다루는 영역에서 많이 연구되어 왔다. Chen et al.(2020)은 SimCLR 라는 프레임워크를 제안하여 대량의 데이터셋에서 효과적인 특징 학습을 위해 단순한 데이터 증강과 이에 기 반한 대조학습을 활용하였다.(Chen et al., 2020) 이미지에 데이터 증강기법을 사용하여 약간의 변형이 일어난 데이터는 유사한 데이터로 보고, 다른 이미지는 상이한 데이터로 모델링하여 대조학습을 수행하여 레이블 정 보 없이 지도학습만큼의 정확도를 달성하였다. He et al.(2020)은 메모리 뱅크 개념과 모멘텀에 기반한 인코더 를 활용해 MoCo라는 프레임워크를 만들어 대조학습을 수행하였다.(He et al., 2020) 이를 통해 대조학습의 문 제점이었던 낮은 안정성 문제와 메모리 비효율 문제를 효과적으로 해결하였다. 이 후에도 DIM(Hjelm et al., 2018), BYOL(Grill et al., 2020) 등 다양한 기법으로 대조학습을 수행하는 연구들이 활발하게 수행되었다.
그러나 대부분의 선행 연구들은 이미지 데이터를 주로 다루었으며 시계열 데이터의 일관성을 생성하고 학습하는 방법에 대한 연구가 부족하다는 한계를 가지고 있다. 시계열 데이터를 활용하는 대조학습 연구도 CPC(Oord et al., 2018), Wave2vec(Schneider et al., 2019) 등 오디오 데이터를 활용하는 경우가 대부분이고 증 강 기법에 기반하여 학습을 수행하기 때문에, 운전 패턴 분석에 적합하지 않다. 본 연구에서는 시간 일관성 을 활용하여 대조학습을 수행한다. 동적환경에서 데이터가 시간에 따라 변화하는 특징을 중점으로 학습하고 추출된 특징의 급격한 변화점을 찾아 운전 패턴의 변화점으로 활용한다.
Ⅲ. 방법론
본 연구에서 제안하는 변화점 탐지 및 분류는 크게 2가지 단계로 나뉘어져 있다. 첫 번째 단계에서는 레 이블이 없는 데이터를 활용하여 변화점 탐지를 학습한다. 이때는 데이터의 레이블이 아니고 시간 축을 중심 으로 유지되는 데이터의 일관성(Consistency)을 자기지도 학습 방법으로 학습한다. 두 번째 단계에서는 레이 블이 있는 데이터를 활용하여 분류를 학습한다. 이때, 분류에 사용되는 모델은 1단계에서 학습한 모델을 기 반으로 레이블 데이터를 미세 조정하는 방식으로 분류를 학습하게 된다. 이렇게 자기지도학습 방식을 적용 해 2단계의 학습을 구성하면 2가지 장점을 가질 수 있다. 먼저, 자기지도학습 방식을 활용하는 단계에서 레 이블 정보가 필요하지 않기 때문에 구축하기 쉬운 대량의 데이터를 활용해 학습이 가능하다. 두 번째로는 레 이블이 존재하는 데이터가 희박하더라도 1단계에서 사전 학습한 정보를 활용할 수 있기 때문에 적은데이터 에서 높은 분류 성능을 달성할 수 있다.
1. 자기지도학습을 활용한 변화점 탐지
본 연구에서 제안하는 방법론의 첫 번째 단계에서는 자기지도방법론 중 대조학습을 활용하여 데이터를 1 차적으로 학습한다. 대조학습은 인공지능 모델이 입력 x를 받아 특징 벡터 z 를 만들 때, 특징 공간 상에서 유사한 데이터는 가깝도록, 상이한 데이터는 멀리 위치하도록 학습하는 것을 목적으로 한다. 주어진 데이터 사이의 유사도를 측정하는 기준을 일관성(Consistency)라고 하며, 다양한 일관성을 기준으로 유사한 데이터와 상이한 데이터를 선정하며, 유사한 데이터의 조합을 긍정 쌍(Positive Pair) 상이한 데이터의 조합을 부정 쌍 (Negative Pair)라고 부른다. 대조학습을 위해 본 연구에서 활용하는 일관성은 시간 일관성(Time Consistency) 이다. 시간 일관성은 시계열 데이터가 시간의 흐름에 따라 특징이 변화할 때, 인접한 거리의 데이터는 특징 변화가 크지 않고 먼 거리의 데이터의 특징은 크게 다르다는 가정을 전제로 유사성을 모델링하는 방법이다. 본 연구에서는 시간 일관성을 학습하기 위해, 데이터셋을 시간 순서에 따라 배치로 잘라 구성한 후 배치 내 에서 인접한 데이터 쌍은 긍정 쌍(Positive Pair) 로 나머지 데이터는 부정 쌍(Negative Pair)로 대조학습 데이 터로 구성한다. 데이터 배치에서 긍정 쌍과 부정 쌍을 선택하고 모델을 통해 특징을 추출한 뒤, 학습하는 프 로세스는 그림 3과 같이 동작한다.
본 연구에서는 특징 추출기(Feature Extractor)를 구성하고 특징 추출기는 배치 내 개별 데이터들의 특징을 추출하게 된다. 추출된 특징은 벡터 형태로 존재하여 배치 내 다른 데이터들과의 거리를 측정하게 된다. 특 징 벡터들 사이의 거리는 코사인 유사도(cosine similarity)를 통해 정량화되며, 손실함수에 의해 평가된다. 이 때, 손실함수로는 아래 수식의 InfoNCE Loss를 사용한다.
이와 같은 구조를 통해 모델은 데이터 내에 존재하는 시간 축에서의 변화를 초점으로 학습을 수행하게 된 다. 이는 다른 레이블 정보가 필요하지 않기 때문에 비지도학습 방식과 유사하게 학습이 수행된다. 학습이 완료된 후, 인공지능 모델을 통해 특징을 추출한 뒤, 현재 데이터와 과거 데이터의 코사인 유사도를 측정한 다. 코사인 유사도가 높으면 데이터의 일관성이 유지되고 있으며, 이는 이전 시간의 데이터와 현재 시간 데 이터 사이에는 급격한 변화가 없다는 것을 의미한다. 이를 이용하여 특정 임계값 아래로 유사도가 낮아질 시, 자연스러운 변화가 아닌 운전 패턴에서 변화점이 발생했다고 판단할 수 있게 된다.
2. 전이학습을 활용한 운전 패턴 분류
레이블이 없는 데이터로 운전 패턴 변화점 탐지가 학습된 후에는 운전 패턴을 분류하는 작업을 학습한다. 이때는 지도학습 방법으로 분류를 학습하기 때문에 레이블이 존재하는 데이터가 요구된다. 그러나 운전 패턴별로 데이터를 취득하는 것은 매우 어려운 작업이며, 가지고 있는 데이터에 대해 운전 패턴의 레이블을 만드는 어노테이 션(Annotation)작업은 가속도계 센서에 대한 높은 이해도를 요구하며 시간적 인적 비용이 요구된다. 결과적으로 레이블링이 된 데이터는 매우 소규모로 존재하게 된다. 딥러닝은 머신러닝보다 모델 용량이 크며, 높은 일반화 능력을 가지고 있으나 좋은 성능을 위해서는 대량의 데이터가 요구된다는 한계를 가지고 있기 때문에 레이블링 데이터가 적은 운전 패턴 데이터를 학습하기에 적합하지 않은 실정이다. 본 연구에서는 딥러닝의 데이터 부족 문제를 해결하고 준수한 성능 달성을 위해 1단계에서 레이블링 데이터가 없는 상태에서 학습한 모델을 특징 추출기로 활용하고 추출된 특징 벡터를 이용해 클래스를 분류하는 SVC(Support Vector Classifier)를 활용한다.
SVC는 특징이 정제되어 있는 데이터에 대해 높은 성능을 보인다. 따라서 자기지도학습을 통해 데이터에 서 유의미한 특징을 추출하도록 학습된 모델을 특징 추출기로 사용하고 모델의 출력인 특징 벡터를 입력으 로 하여 데이터를 분류하도록 SVC를 학습시킨다. 이때, 분류과정에서는 특징 추출을 수행하는 모델의 추가 적인 학습은 없으며, SVC 내부의 파라미터만 업데이트하도록 한다. 전체적인 분류 학습의 프로세스는 다음 그림과 같다.
특징 추출 과정이 추가적인 학습이 필요하지 않기 때문에 레이블링 데이터가 적다는 점에서 발생하는 문 제에 대응할 수 있으며, 딥러닝으로 강건한(Robust)한 특징을 추출하고 이를 활용해 머신러닝 기반의 분류를 수행했다는 점에서 딥러닝과 머신러닝의 장점을 결합한 하이브리드 모델이라고 할 수 있다.
Ⅳ. 실험(Experiment)
1. 데이터셋(Dataset)
본 연구에서는 특정한 운전 이벤트들을 수행하는 동안 스마트폰 센서로 수집된 데이터를 사용하였다. 해 당 데이터는 Ferreira et al 이 안드로이드 기반의 스마트폰을 사용해 수집한 공개 데이터셋으로, 가속도, 선형 가속도, 자기장, 각속도를 포함한다.(Ferreira et al., 2017) 운전자가 13분씩 4회 운전을 수행하며 특정 이벤트 를 발생시키는 방식으로 수집되었다.
본 연구에서는 스플라인 보간법, 슬라이싱, STFT(Short Time Fourier Transform) 의 방법을 사용하여 데이터 전처리 과정을 수행했다. 데이터의 샘플링 시간이 일정하지 않아, 스플라인 보간법을 사용하여 일정하게 만 들어주었다. 또한 데이터 내에서 일반적인 주행과 특정 이벤트의 비율 간에 확연한 차이가 존재하는 것을 확 인하였다. 이러한 불균형을 해결하고자, 특정 이벤트가 발생한 구간에 전후로 일정 길이를 더하여 슬라이싱 을 진행했다. 마지막으로 데이터를 작은 시간 단위로 나누고 각 시간 단위에 대해 작은 부분 신호를 가져와 푸리에 변환을 수행하는 STFT 변환을 진행하였다. 이를 통해 신호의 주파수적인 특성을 동시에 관찰하여 시 간-주파수 해상도를 확인할 수 있었다. 즉 정상적인 주행 상태와 특정 이벤트가 발생한 상태 간의 차이를 시 각적으로 관찰할 수 있게 되었다. 각 운전 패턴에 따른 STFT 변환 결과를 시각화 하면 아래 그림과 같다.
이와 같이 각 운전 패턴 별 상이한 STFT 결과를 볼 수 있었다. 이런 유의미한 차이에 근거하여 STFT 변 환 결과를 제안하는 모델의 입력으로 사용하여 특징 추출기를 학습시켰다. 전체 데이터를 하나로 모아, 레이 블링 정보를 제외한 채 대조학습 기반으로 모델을 1차 학습시켰으며, 분류성능을 평가하기 위해 2대의 차량 을 임의로 선정하고 이와 다른 2대의 차량을 임의로 선정하여 각각 학습과 테스트에 활용하였다. 서로 다른 차량을 테스트 데이터로 활용함으로써, 차량의 차이가 존재할 때 모델의 일반화 성능이 발휘될 수 있는 지를 평가하고자 하였다.
학습과 검증에 사용된 데이터는 데이터 포인트 단위가 아닌, 일정 길이를 기준으로 Slicing 된 데이터로 전체 의 길이는 다음 표와 같다. 학습은 대조학습과 분류학습의 2단계로 구성되어 있으며, 대조학습의 경우 레이블 이 필요하지 않기 때문에 주어진 데이터셋 913개의 전체 Segment를 온전하게 학습에 사용할 수 있었다. 그러나 분류 학습의 경우 전체 데이터에서 실제 레이블이 유효한 영역이 한정되어 있고, 학습과 검증에 데이터를 겹치 지 않게 구성하기 위하여 매우 적은량의 데이터가 사용되었다. 분류기를 학습하기 위해서는 사전 학습된 모델 에 58개의 Segment만 추가로 학습을 진행하였고, 검증을 위해 61개의 Segment를 사용하였다. 또한 강건한 동작 을 확인하기 위해 학습과 검증에 사용된 데이터는 서로 다른 차량에서 수집된 데이터로만 구성하였다.
<Table 2>
Number of Data Segment | ||
---|---|---|
Before Split (Contrastive Training) | 913 | |
After Split | Classification Training | 58 |
Classification Validation | 61 |
2. 벤치마크(BenchMark)
제안하는 모델이 다양한 모델들에 일반적으로 적용가능한지 확인하기 위해 총 6개의 딥러닝 모델을 선정 한 뒤, 대조학습기반의 운전패턴 변화점 탐지와 운전패턴 분류 성능을 확인하였다. 각 모델은 추후 스마트폰 에 탑재 가능성을 고려하여 아래 표와 같이 작은 가중치 크기와 연산량을 가진 모델로 선정하였다. 표의 Params는 모델이 연산을 위해 가지고 있는 파라미터의 개수를 의미하며 모델을 로드하기 위한 메모리에 직 접적인 연관이 있으며, GFLOPs 는 모델이 한번 동작하기 위해 수행되는 연산의 횟수를 말하며 기가(G)단위 로 표현된다. GFLOPs 는 모델이 동작하는 데 소요되는 시간과 직접적인 연관이 있다.
<Table 3>
Model Name | Params | GFLOPs |
---|---|---|
SqueezeNet | 1.2M | 0.35 |
ShuffleNet | 1.4M | 0.04 |
RegNet | 2.5M | 0.06 |
MobileNet | 3.5M | 0.3 |
EfficientNet | 5.3M | 0.39 |
MnasNet | 2.2M | 0.1 |
SqueezeNet은 계산 효율성을 극대화하기 위해 1x1 컨볼루션을 통해 파라미터 수를 줄이고, Fire 모듈이라 는 아키텍쳐를 구성하여 Squeeze Layer와 Expand Layer를 반복적으로 적용해 작은 메모리로 유의미한 특징을 추출할 수 있게 하였다. ShuffleNet은 특징 추출 과정에서 채널을 섞는 Shuffle 연산을 통해 채널 간에 정보교 환이 가능하도록 하여 효과적으로 파라미터 수를 줄인 모델이다. RegNet은 자동화된 네트워크 디자인 기법 을 이용해서 적은 메모리 환경에 최적화된 디자인을 구성한다. 최적의 Layer개수와 컨볼루션 파라미터를 적 용하여 메모리와 성능의 균형점을 찾아 적용한다. MobialeNet은 Depth-wise 컨볼루션을 기반으로 기존의 컨 볼루션 연산에 비해 파라미터 수를 압도적으로 줄여 모바일 디바이스에 적용할 수 있도록 고안된 모델이다. EfficientNet은 딥러닝 모델의 레이어 수, 컨볼루션 커널의 넓이, 이미지 크기 의 관계를 수식으로 표현하고 균형을 맞추는 compound scaling을 통해 적은 메모리로 높은 성능을 낼 수 있도록 고안된 모델이다. MnasNet 은 RegNet과 유사하게 자동으로 최적화된 네트워크를 찾아내는 기법으로 작은 메모리에서 높은 성능을 이끌 어 내었다. 특히 더 세밀한 단위에서 모델을 수정함으로써, 보다 효율적인 모델을 제안한다.
각 모델은 모바일 디바이스에서 동작 할 정도로 작은 규모의 네트워크이며, 특징 추출기로 활용하기 위하 여 1x32의 특징 벡터를 추출하도록 최종 레이어만 수정하여 학습시켰다. 각 모델의 파라미터나 세부 네크워 크 연산은 모두 논문에서 언급된 파라미터를 그대로 활용하였다.
3. 실험결과(Experiment Result)
실험은 전체 6개의 모델에 대해서 변화점 탐지의 적절한 임계점을 찾기 위해, 코사인 유사도가 0.0, 0.4, 0.6 아래로 떨어질 경우를 변화점으로 탐지하는 모델을 적용하였고, 대조학습 과정에서 가장 낮은 Loss 값을 가지는 가중치를 최적 가중치로 가정하고 분류 성능을 평가하였다. 대조학습에서 동일한 조건 하에서 실험 하기 위해 나머지 초매개변수(Hyper Parameter)는 다음 표와 같이 설정하였다.
각 모델을 200 에폭 학습시켰으며, 이때 3회 이상 손실값의 감소가 없으면 조기 종료 조건을 주었다. 배치 사이즈는 모두 동일하게 32로 설정하였으며, STFT에 사용되는 FFT의 개수도 32개로 설정하였다. 딥러닝 모 델을 통해 추출되는 특징 벡터의 길이는 32로 설정하였으며 최적화 함수로 Adam Optimizer 를 활용하였다.
변화점 탐지 성능은 정밀도(Precision)로 평가하였으며, 정밀도는 인공지능 모델이 예측한 결과 중 정확한 예측의 비율을 의미하며, 점수는 0과 1사이의 실수 값을 가지며, 1에 가까운 값일수록 좋은 성능을 달성한 것을 의미한다. 실험 결과는 다음 <Table 4>와 같다. 분류는 정밀도와 더불어 재현율(Recall)을 추가하여 2개 의 평가지표로 활용하였다. 재현율은 전체 정답의 비율 중 모델이 정답이라고 판단한 결과의 비율이다. 변화 점 탐지에서 재현율을 사용하지 않은 것은 전체 데이터셋에서 변화점으로 레이블링 되어 있는 것이 너무 희 박한데, 이는 데이터 레이블링에 사용된 클래스가 실제 주행패턴 변화를 모두 반영하지 못하고 있다고 판단 하였기 때문이다.
<Table 4>
Hyper Parameter | Setting |
---|---|
Epoch | 200 (with Early Stopping) |
Batch Size | 32 |
Number of FFT | 32 |
Number of Features | 32 |
Optimizer | Adam |
<Table 6>을 통해 전체 모델들의 학습 과정의 손실값을 확인할 수 있다. 모든 모델은 조기종료 없이 200에 폭 학습이 완료되었으며, 전체적으로 어느정도 손실값이 수렴하여 학습이 되었음을 확인할 수 있다. 학습된 모델들로 실험 결과 <Table 5>와 같이 대부분의 모델에서 변화점 탐지의 임계값을 0.4로 하였을 때 가장 높 은 정밀도를 보였다. 한편 MnasNet는 거의 학습이 되지 못했는데, 이는 네트워크 최적화에 사용된 데이터셋 과 태스크가 본 연구와 상이하여 발생한 학습문제로 분석된다. RegNet모델이 0.92의 정밀도를 보이며 가장 높은 성능을 보이었고 MnasNet모델이 정밀도 0의 성능을 보이며 가장 낮은 성능을 보였다. 그러나 학습이 제대로 되지 않은 MnasNet을 제외하고 가장 낮은 성능을 보이는 EfficientNet 모델의 성능도 유의미한 결과로 활용될 수 있으며, 추후 결과 후처리 및 데이터 추가 확보를 통해 성능을 개선할 수 있을 것으로 보인다.
<Table 5>
Model Name | Change Point Detection Result | Classification Result | ||
---|---|---|---|---|
Threshold | Precision | Precision | Recall | |
SqueezeNet | 0.0 | 0 | 1.0 | 1.0 |
0.4 | 0.75 | |||
0.6 | 0.69 | |||
ShuffleNet | 0.0 | 0 | 0.886 | 0.869 |
0.4 | 0.73 | |||
0.6 | 0.61 | |||
RegNet | 0.0 | 1 | 0.956 | 0.951 |
0.4 | 0.92 | |||
0.6 | 0.72 | |||
MobileNet | 0.0 | 0 | 0.039 | 0.197 |
0.4 | 0.69 | |||
0.6 | 0.60 | |||
EfficientNet | 0.0 | 0 | 0.26 | 0.34 |
0.4 | 0.67 | |||
0.6 | 0.76 | |||
MnasNet | 0.0 | 0 | 0.17 | 0.25 |
0.4 | 0 | |||
0.6 | 0 |
분류는 학습과 평가에서 완전히 다른 차량에서 수집한 데이터를 활용하였기 때문에, 모델의 일반화된 성 능을 평가하기에 적합하다. 분류에서도 변화점 탐지와 같이 정밀도와 재현율을 활용하였으며, 특징 추출기로 는 각각의 모델들이 대조학습 과정 중 가장 낮은 손실값을 보이는 가중치를 적용하였다. 특히 SqueezeNet 모 델은 정밀도 1.0, 재현율 1.0 으로 가장 높은 성능을 보이며 제안하는 방법론이 유의미한 결과를 보인다는 것 을 증명한다. 특히 학습에 사용된 데이터가 클래스별로 30개 내외라는 점을 감안하면 매우 적은 양의 데이터 로 분류가 학습될 뿐만 아니라 동시에 일반화 성능까지 가지고 있어 성공적인 분류가 가능하다고 판단할 수 있다. 이는 추후 현장에 적용함에 있어 모델이 강건하게 분류 성능을 발휘할 수 있으며, 추가적인 분류 데이 터 확보가 존재한다면 성능이 매우 향상될 수 있는 가능성을 가짐을 보여준다.
Ⅴ. 결 론
본 연구에서는 차량 운전 패턴의 변화점 탐지 및 분류를 수행하는 인공지능 모델을 제안하였으며, 레이블 링된 데이터가 부족하고 레이블이 없는 데이터가 많다는 현실을 반영하여 자기지도 학습 방법론 중 하나인 대조학습을 활용하여 데이터에 내재된 특징을 학습하는 방법을 제안하였다. 제안하는 방법에서는 2단계로 학습 시스템을 구성하였으며 레이블이 아예 없는 대량의 데이터로 변화점 탐지가 가능하도록 대조학습을 활 용하여 1단계 학습을 수행한다. 이후, 2 단계에서는 아주 적은 양의 레이블 데이터를 활용하여 운전 패턴을 분류하는 학습을 수행한다. 1단계에서 대조학습을 이용해 특정 태스크가 아닌 데이터 전반에 걸친 일반적인 특징을 추출하도록 학습이 가능하기 때문에 2단계에서 분류를 학습할 때 아주 적은 량의 데이터로도 유의미 한 성능을 달성할 수 있게 도움을 줄 수 있다. 실험에서는 클래스별 데이터가 30개 내외인 상황으로 데이터 가 매우 희소하고 학습에 사용된 데이터가 수집된 차량과 검증에 사용된 데이터가 수집된 차량이 완전히 상 이한 상황에서도 일반화된 분류 능력을 보인다는 것을 확인할 수 있었다. 특히 SqueezeNet의 경우 실험에서 정확도와 정밀도 모두 1.0을 보이며 분류 성능이 아주 높게 나온 것을 확인할 수 있었다. 또한 ShuffleNet과 RegNet에서도 정확도와 정밀도가 모두 0.85을 넘으며 높은 성능을 보인다는 것을 확인할 수 있었다.
제안된 방법론은 레이블이 부족한 차량 가속도계 센서 데이터를 효과적으로 학습에 사용할 수 있는 학습 방법론을 제안하였으며 실험을 통해 제안하는 방법론이 유의미한 결과를 가진다는 것을 보였다. 추후 연구 에서는 경량화된 모델이 스마트폰에 탑재되어, 차량 주행 중 실시간으로 데이터를 학습하는 Online 학습 방 법론으로 연구를 확장할 수 있을 것으로 기대된다.