1. 서론
생활환경 개선과 의학 발전으로 인해 급격한 인구고령 화가 전세계적으로 진행되고 있으며, 우리나라도 빠른 수 명 연장과 지속적인 저출산으로 인구의 고령화가 급격하 게 진행되고 있다. 국내 통계청 자료에 의하면 65세 이상 고령 인구는 2018년 총 인구의 14.71%를 차지하였으나 2060년 40.97%로 약 2.8배 증가할 것으로 예상했다. 이에 따라 독거노인 인구 또한 증가하고 있는데 우리나라 노 인의 1/5은 독거노인이며 2019년 독거노인 가구 수는 147 만 가구를 넘었고 2040년에는 2배 이상 증가할 것으로 전 망하고 있다. 노인들이 흔하게 앓는 치매 환자 또한 빠른 속도로 증가 중이다. 2018년 국내 전체 노인 인구의 1/10 정도가 치매 환자이며 30년 후에는 200만 명을 넘을 것으 로 전망하고 있다 [1].
독거노인이나 치매 환자가 증가함에 따라 이들에 대한 경제적, 사회적 부담도 증가하고 있다. 이것은 국제 사회 적으로 해결해야 하는 중요한 사회 문제가 되었으며 단 순히 생계비용을 제공해주는 것이 아닌 그들을 돌보고 관리해야 하는 문제가 됐다. 노인 인구수가 증가할수록 그들을 관리하기 위한 경제적, 사회적 부담이 증가할 것 이며 그에 따른 비용을 줄이기 위해서라도 앞에 언급한 사람들을 관리하기 위한 시스템은 필수적이다. 물리적인 관리의 어려움과 그들을 관리하는데 필요한 비용을 줄이 기 위해 본 논문에서는 센서 데이터를 이용하여 노인과 치매환자의 이상 행동을 감지하여 더 효율적으로 관리하 고자 한다.
하지만 그들의 일상 행동 데이터를 얻는 것은 쉽지 않 다. 또한 침대, 냉장고, 문 등 센서가 부착된 장소에서 생 성되는 센서 데이터를 얻는 것도 마찬가지로 쉽지 않다. 데이터를 구하더라도 정상적인 일상 행동 데이터 외에 이상 행동이라 정의할 만한 데이터를 얻는 것은 더더욱 어렵다. 따라서 본 연구에서는 요양 시설의 일정표를 참 고하여 센서 데이터를 생성했다. 또한 센서 데이터로 판 별할 수 있다고 생각되는 이상 행동에 대해 정의하고 이 에 따른 이상 행동 데이터를 생성했다.
이를 통해 생성된 정상 행동 데이터로 오토인코더 모 델을 학습하였으며 라벨링이 진행된 이상 행동 데이터로 장·단기기억 모형(Long Short-Term Memory models) [2]을 학습했다. 따라서 본 논문에서는 생성한 데이터를 통해 세 모델을 학습하고 이상 행동을 감지하는 시스템을 제 안한다.
2. 관련 연구
2.1 행동 예측 및 탐지에 관한 연구
2.1.1 스마트 홈 데이터 이용 연구
스마트 홈 데이터를 이용하여 행동을 분석하는 연구는 워싱턴 주립 대학교에서 많이 진행됐다. 해당 연구를 진행한 연구팀은 스마트 홈 환경을 구성한 후 지원자들을 통해 데이터를 수집하고 행위 인지에 관한 연구를 진행 했다.
Singla 등 (2010) [3]은 2명의 스마트 홈 데이터를 이용 하여 일상생활 속에서 이루어지는 행동들을 인지하고자 했다. 실험 과정에서 확률 모델을 이용하였는데 그 중 은 닉 마코프 모델(Hidden Markov Model, HMM)을 사용하였 고 행동을 인지하는데 약 60% 정도의 정확도를 보였다. HMM 알고리즘은 섞여있는 여러 활동들을 인지하는 데 에는 성공하였으나 여러 거주자들의 행동을 파악하는 일에 대해서는 고려하지 않았다.
Dawadi 등 (2016) [4]은 개인의 일상 패턴을 표현하는 활동 곡선(activity curve)의 개념을 소개하고 행동 데이터 를 통해 생성되는 활동 곡선을 비교함으로써 일상적인 행 동의 변화를 탐지하는 방법을 제안했다. 다른 시간대의 활 동 곡선을 비교하기 위해 PCAR(Permutation-based Change detection in Activity Routine) 알고리즘을 소개하였는데 많 은 데이터들 속에서 행동 패턴을 표현하는 것이 가능하 다는 것을 보여주었다. 하지만 RBANS(Repeatable Battery for the Assessment of Neuropsychological Status)와 같은 다른 지표들과의 상관성은 찾지 못했다. Das 등 (2016) [5] 은 센서에서 발생하는 데이터들을 통해 원-클래스 비교- 기반(One-Class Classification-Based) 행동 에러 탐지를 제안하였다. 정상 행동 데이터에서 추출된 특징들의 이상 치를 검출한 뒤, OCSVM(One-class support vector machine)을 이용하여 원-클래스 분류를 제안하였다. 활동 오류 예측 시에는 평균 60%의 재현율을 얻었으나 모든 활동에 대한 접근 방식의 평균 오탐지율은 45%였다.
2.1.2 영상 및 센서 데이터 이용 연구
스마트 홈 데이터가 아닌 비디오나 이미지와 같은 데 이터를 이용하여 이상 행동을 인지하거나 행동을 예측하 는 연구도 있다. Vondrick 등 (2016) [6]은 비디오 데이터 를 이용하여 이미지가 나타내는 행동을 학습하고 다음 행동을 예측하는 연구를 진행했다. Zhong 등 (2004) [7]은 대규모 비디오 데이터를 이용하여 비정상 행동을 감지하 기 위한 모델을 개발했다. 이 모델은 비지도 학습 중 하 나인 K-means(K-means clustering)를 적용하여 개발하였으 며 대규모 비디오 처리에 효율적이고 안정적으로 수행했 다. Chen 등 (2007) [8]은 실시간으로 비정상 행동을 감지 하는 시스템을 제안했다. 이미지 정보를 이용하여 신체 를 감지하고 추적하여 행동을 인지한 후 베이지안 프레 임워크를 multi-SVM(Multi-class Support vector Machine) 과 통합하여 인식률을 향상시키는 방법을 제안했다. Mehran 등 (2009) [9]은 사람들이 다니는 모습을 담은 비 디오에서 이상 행동을 감지하는 방법을 소개하였다. 사 람들의 정상 행동을 모델링하기 위해 사회행동력(Social Force) 모델을 사용하였으며 이상 행동과 정상 행동을 분 류하기 위해 BoW(Bag of Words) 방식을 사용했다. 이 외 에 다른 센서들을 이용하여 비정상 활동을 감지하는 연 구들도 있다. Yin 등 (2008) [10]은 신체에 무선 센서를 부착하여 비정상 활동을 감지하는 연구를 진행했다. 이 를 위해 두 가지 단계를 수행하였는데 먼저 OCSVM을 이용하여 정상 행동을 학습했다. 그 이후에 KNLR(Kernel Nonlinear Regression)을 이용하여 정상 활동 모델에서 비 정상 활동 모델을 유도하는 작업을 진행했다. 이 방식은 탐지율과 오 탐지율 간의 절충점을 얻을 수 있는 장점이 있었으나 비정상적인 행동이 정상적인 행동으로 변할 때, 비정상적인 모델을 생성하는 문제가 있었다. Hung 등(2010) [11]은 혼자 사는 노인들의 일상 행동에서 비정상 행동을 감지하기 위한 연구를 진행하였다. 이 연구에서 는 RFID(Radio-Frequency Identification) 기반 센서 네트워 크를 사용하여 노인들의 일상생활 행동 데이터를 수집하 였으며 은닉 마코프 모델과 SVMs(Support vector machines)을 이용하여 노인의 행동을 평가하였다. Gaddam 등 (2010) [12]은 센서 네트워크를 기반으로 하는 가정용 모니터링 시스템을 제안하였다. 인지 센서는 일 상생활에서 비정상 행동 패턴을 감지하여 노인을 모니터 링 하는데 사용하며 이상 행동 발생 시 보호자가 알 수 있도록 하였다.
이와 같은 연구들 외에도 행동을 예측하거나 행동의 변화 및 정상 행동 여부를 판단하는 연구들이 존재한다. 하지만 이상 행동을 정의하거나 이상 행동 데이터를 이 용하여 연구를 진행한 사례는 찾아보기 어렵다. 이는 정 상 행동 외의 다른 이상 행동에 대한 데이터를 구하는 것 이 쉽지 않다는 것을 의미한다. 따라서 본 연구에서는 일 상생활에서 얻을 수 있는 행동들을 일반적인 센서 데이터 를 이용하여 수집하고 오토인코더와 장·단기 기억 모형을 이용하여 이상 행동을 감지하는 시스템을 제안한다.
2.2 오토인코더 알고리즘
본 연구에서 사용한 오토인코더는 대표적인 비지도 학 습 알고리즘 중 하나이다 [13]. 오토인코더는 지도 학습과 다르게 목표 값을 출력하지 않고 라벨 정보가 없는 데이 터의 특징을 분석하거나 추출한다. 오토인코더는 그림 1 과 같이 기본적으로 입력 데이터를 내부 표현으로 바꾸 는 인코더와 내부 표현을 출력으로 바꾸는 디코더가 있 다. 일반적으로 내부 표현을 담당하는 은닉층의 크기가 입력 데이터보다 작기 때문에 입력 데이터의 중요한 특 성을 학습하는 특징이 있다. 또한 오토인코더는 비지도 학습이므로 정답이 되는 라벨이 없다. 하지만 일반적으로 출력의 크기가 입력의 크기와 같고 손실 값을 구할 때 입 력을 출력 값의 타겟 값으로 계산하기 때문에 자기감독 (Self-Supervised) 학습이라 하기도 한다. 이러한 오토인코 더를 사용할 때, 활성 함수를 사용하지 않고 비용 함수로 MSE(Mean Squared Error)를 사용한다면 간단한 PCA(Principal Component Analysis)를 수행할 수 있다.
(그림 1) 오토인코더 구조
(Figure 1) Autoencoder structure
2.1.1 적층 오토인코더
적층 오토인코더 [14]는 다른 신경망과 마찬가지로 여 러 개의 은닉층을 가진 오토인코더를 의미한다. 따라서 다층 오토인코더(Multi-layer Autoencoder) 또는 심층 오토 인코더(Deep Autoencoder)라고 부를 수 있다. 적층 오토인 코더는 다른 심층 신경망들과 다르게 일반적으로 중간의 은닉층을 기준으로 대칭 형태를 갖는다. 이는 오토인코더 가 인코더와 디코더를 갖는 형태로 구성되어있기 때문이 며 그림 2와 같은 형태를 갖는다.
(그림 2) 적층 오토인코더 구조
(Figure 2) Stacked autoencoder structure
기존 심층 신경망들이 깊은 구조를 가질 때 더 좋은 성 능을 갖기도 하지만 그에 따른 문제들이 발생하기도 한 다. 이와 같이 오토인코더도 여러 층을 사용하는 경우 더 강력하게 데이터의 특징을 추출할 수 있으나 과적합 (overfitting)되거나 인코딩 과정에서 은닉층의 크기가 작 아지기 때문에 기울기 소시(Vanishing Gradient) 문제가 발 생할 수 있다.
2.1.2 변이 오토인코더
흔히 VAE(Variational AutoEncoder)라 부르는 변이 오 토인코더 [15]는 사실상 기존 오토인코더들과 관련성이 깊지는 않다. 이것을 오토인코더라고 부르는 이유는 단지 기존 오토인코더와 구조가 비슷하며 인코딩과 디코딩의 과정을 거치기 때문이다. 변이 오토인코더는 기존 오토인 코더와 다르게 중간에 코딩 공간(coding space) 또는 잠재 공간(latent space)이라 부르는 공간이 있다. 이 잠재 공간 은 가우시안 분포를 따르는데 입력된 데이터가 인코더를 거치게 되면 해당 데이터 분포의 평균과 표준편차가 얻 어진다. 이렇게 학습을 통해 평균과 표준편차가 얻어지면 디코더가 해당 가우시안 분포에서 데이터를 랜덤하게 샘 플링한다. 따라서 기존 오토인코더가 데이터를 압축하고 다시 풀어내는 과정에서 데이터의 특징을 학습하는 것과 달리 변이형 오토인코더는 학습된 분포에서 데이터를 샘 플링하는 생성 모델에 가깝다.
2.1.3 그외 오토인코더
앞서 소개한 오토인코더 외에도 입력 데이터에 잡음을 추가하여 오토인코더가 데이터의 특징을 더욱 잘 찾도록 하는 잡음 제거 오토인코더(Denoising Autoencoder) [14]가 있으며 은닉 노드에 희소성(sparsity) 제한을 걸어둠으로 써 활성 노드 개수를 줄이도록 하여 유용한 특성을 추출 하도록 하는 희소 오토인코더(Sparse Autoencoder) [16]가 있다. 두 오토인코더 모두 데이터의 패턴을 추출하는데 제약을 걸어둠으로써 학습하는데 더욱 유용한 정보를 얻 도록 하는 특징이 있다.
3. 딥러닝 기반 이상 행동 시스템 설계 및 구현
본 연구는 치매 환자의 이상 행동을 판별하기 위해 비 지도 학습 모델인 오토인코더와 장·단기 기억 모형을 사 용했다. 그림 3은 본 연구에 사용된 이상 행동 감지 시스 템의 구조도이다.
(그림 3) 이상 행동 감지시스템 구조도
(Figure 3) Abnormal behavior detection system diagram
본 연구에서는 모델의 성능 평가를 위해 모든 데이터 의 전처리를 마친 후 모델의 입력으로 사용하였으나 실 제 환경에서는 하나의 로그가 전달된다. 따라서 실제 환 경과 유사하게 만들어놓은 시스템 사용 시, 센서가 작동 할 때마다 로그 데이터를 하나씩 받고 일정 개수의 로그 데이터가 쌓이면 모델의 입력으로 들어가도록 했다. 일 정 개수의 로그 데이터를 모으는 이유는 하나의 로그 데 이터만으로는 이상 행동 데이터 여부를 알기 어렵다고 판단하였기 때문이다. 최소한의 데이터 묶음이 모델의 입력으로 들어가야 일련의 데이터에 대한 이상치가 보다 정확하게 출력될 것이라고 가정했다.
데이터 묶음이 먼저 오토인코더 모델에 입력되면 데 이터에 대한 이상치 값이 출력된다. 출력된 이상치 값이 실험을 통해 정해둔 이상치 기준 값을 넘는 경우에 이상 행동 데이터에 가능성을 두고 동일한 데이터 묶음이 두 번째 모델인 장·단기 기억 모형의 입력으로 들어가게 된 다. 장·단기 기억 모형은 정상, 불면, 반복 행동에 대한 지도학습을 진행하였으므로 세 가지 분류에 대한 값을 출력한다. 최종적으로 입력된 데이터에 대한 값이 행동 으로 출력되면 분류된 이상 행동에 따라 보호자에게 알 림을 줄 수 있다. 또한 하루에 대한 데이터가 쌓이게 되 면 오토인코더 모델을 추가적으로 학습하여 기존 모델을 대체하여 사용할 수 있다.
3.1 데이터 소개
3.1.1 이상 행동의 정의
치매 환자의 이상 행동에 대해서 명확히 제시된 바는 없다. 하지만 일반적으로 의미하는 치매 환자의 이상 행 동들에 대해 몇 가지 서술하면 표 1과 같다.
(표 1) 치매 환자의 이상 행동 종류
(Table 1) Aberrant Behavior Types in Dementia Patients
위와 같이 분류한 이상 행동들 중 센서 데이터를 이용 하여 판별할 수 있다고 가정한 이상 행동은 배회 행동/낙 상, 불면, 반복 행동이다. 배회 행동이나 낙상의 경우 GPS(Global Positioning System)가 측정 가능한 밴드를 착 용하여 데이터를 수집하는 경우 판별 가능하다고 보았고 불면의 경우는 센서가 동작하지 않을 새벽 시간에 다수 의 센서 데이터가 발생할 시 판별 가능하다고 가정했다. 반복 행동의 경우는 과식, 약물 과다 복용 등을 포함하고 있는데 시간대에 맞지 않는 센서 발생이나 하나 이상의 센서가 다수 동작하는 경우 판별 가능하다고 판단했다.
본 연구에서는 가정 및 병실에 센서를 부착하여 사용 한다고 가정했다. 따라서 우선적으로 연구에 포함한 이상 행동은 불면과 반복 행동이며 이상 행동 데이터 생성 시 두 가지 행동에 대해서만 고려했다.
3.1.2 정상 행동 데이터
치매 환자의 정상적인 일상 데이터를 얻기 위해 요양 시설 등의 일정표를 참고하여 가능한 센서 로그 데이터 를 생성했다. 참고한 일정표는 그림 4와 같다.
요양 병원에 있는 노인이나 환자가 그림 4와 같은 일 정표에 따라 행동한다고 가정하고 데이터를 생성했다. 이 때, 가정한 센서 부착 위치는 문, 창문, 냉장고, 서랍, 보조 침대로 5가지이며 각 센서들은 표 2와 같이 다음 행동을 취할 때 사용된다고 가정했다. 또한 참고한 일정에 따라 가능한 행동들을 표 3과 같이 정의했다.
(그림 4) 요양 시설 일정표
(Figure 4) Nursing home schedule
(표 2) 행동 정의 및 센서 매치
(Table 2) Behavior definition and sensor match
(표 3) 일정에 따른 가능 행동 번호
(Table 3) Possible action number according to schedule
표 3의 정의는 다음과 같은 사항을 가정했다.
• 선행조건
- 식사 및 복용해야 하는 약 등은 요양 시설에서 제공 한다. 따라서 약통에 센서를 부여하지 않음.
- 식사 시간 약 15~20분은 행동이 없다고 간주.
- 화장실은 병실 외부에 있다. 따라서 화장실 이용 시 문을 열어야 한다.
위 사항들을 고려하여 데이터를 생성하였으며 최대한 실제 데이터와 유사하게 만들기 위해 표 3의 각 스케줄 마다 1~10번의 행동이 이루어질 수 있다고 가정했다. 또 한 각 행동들은 정의한 가능 행동 번호들 중 랜덤하게 선 택했다. 한 번의 행동에 따른 센서가 동작할 때, 하나의 로그가 아닌 다수의 로그가 발생할 것이라 판단하여 2~20개의 랜덤한 로그를 생성하도록 하였고 각 로그는 1~30초 간격으로 랜덤하게 발생한다.
생성되는 데이터 종류는 날짜, 시간, 센서 번호, 센서 발생 횟수로 각 로그는 [YYYY-MM-DD, hh:mm:ss, #, #] 와 같은 형태로 생성된다. 학습에 사용되는 센서 로그 데 이터는 30일에 해당하는 데이터이며, 하루 당 약 600개 정도의 로그가 생성된다. 이에 대한 예시는 표 4와 같다.
(표 4) 정상 행동 센서 로그 예시
(Table 4) Normal behavior sensor log example
3.1.3 이상 행동 데이터
이상 행동 데이터는 보다 구체적인 이상 행동을 구분 하기 위해 생성하였으며 3.1.1에서 정의하였듯이 치매 환 자가 취할 수 있는 여러 이상 행동들 중 센서로 판별 가 능할 만한 ‘반복 행동’과 ‘불면’에 대한 데이터를 생성했 다. 이 중 ‘반복 행동’에는 과식, 약물 과다 복용, 특정 행 동 반복 등 여러 가지를 포함하고 있다.
이상 행동 데이터는 지도학습 모델을 학습할 때 사용 하므로 데이터에 라벨을 부여하였으며 이상 행동 데이터 를 만드는 데 다음과 같은 사항들을 가정했다.
• 선행조건
- 00:30 ~ 4:30 시간대에 일정 시간 이상 센서가 동작 하는 경우 및 다수의 센서가 동작하는 경우 불면이 라 가정.
- 발생할 수 없는 시간대에 센서가 반복적으로 동작 및 하나 이상의 센서가 다수 동작하는 경우 반복 행 동이라 가정.
이상 행동 데이터는 위 사항 및 3.1.2에 포함되는 정상 행동 데이터 가정 사항을 포함하여 생성했다. 데이터 생 성 방식은 3.1.2에 설명한 것과 동일하며 이상 행동의 특 이사항만 추가적으로 포함된다. 생성되는 데이터 종류는 날짜, 시간, 센서 번호, 센서 발생 횟수, 라벨로 정상 행동 데이터와 다르게 각 로그마다 행동 라벨이 부여된다. 로 그 형식은 [YYYY-MM-DD, hh:mm:ss, #, #, #] 으로 정상 행동 데이터 형식에 라벨 데이터만 추가된다. 모델 학습 에 사용되는 데이터는 정상 행동 데이터와 마찬가지로 30일에 해당하는 데이터이며, 하루 당 약 600개 정도의 데이터가 생성된다. 표 5는 그중 일부 예시이다.
(표 5) 이상 행동 센서 로그 예시
(Table 5) Abnormal behavior sensor log example
3.2 데이터 전처리
3.2.1 정상 행동 데이터 전처리
이상 행동을 감지하기 위한 첫 번째 모델로 오토인코 더를 사용한다. 이때 오토인코더 모델에 들어갈 입력 형 태를 만들기 위한 전처리 과정을 진행한다.
정상 행동 데이터는 하나의 로그에 날짜, 시간, 센서 번호, 센서 발생 횟수에 대한 값이 포함되어 있다. 이 중 사용한 데이터는 시, 분, 센서 번호, 센서 발생 횟수에 해 당하는 값으로 날짜 데이터는 무의미하다고 판단하여 제 거했다. 또한 시간 데이터를 사용하는 데 있어 정확한 센 서 발생 시간이나 보호자를 위한 알림 시스템을 위해서 는 되도록 섬세한 시간 데이터가 필요하다고 판단하여 시와 분 데이터를 사용했다. 이때, 시는 24시로 구분하였 으며 분은 0~9, 10~19, 20~29, 30~39, 40~49, 50~59분으로 나누어 총 6가지로 구분한다. 센서값은 3.1.2에서 설명한 것과 같이 5가지로 구분되고 발생 횟수는 하나의 값을 가진다.
데이터를 모델 입력으로 사용하기 위해 범주형 데이 터인 시와 분, 센서값은 원-핫(one-hot) 형태로 변형 하였 으며 발생 횟수의 경우 정규화(normalization)의 과정을 거쳐 0에서 1사이의 값으로 변형했다. 따라서 모델에 입 력되는 데이터의 크기는 36이다.
(표 6) 정상 행동 데이터 전처리 예시
(Table 6) Example of preprocessing normal behavior data
3.2.2 이상 행동 데이터 전처리
이상 행동을 보다 정확하게 판단하기 위해서 두 번째 모델로 장·단기 기억 모형을 사용한다. 비지도 학습 모델 인 오토인코더와 다르게 장·단기 기억 모형은 행동에 대 한 분류를 위해 사용하므로 데이터 로그에 대한 라벨이 필요하다. 모델 입력은 오토인코더와 동일한 형태의 데 이터가 입력으로 들어가나 라벨에 대한 전처리가 추가적 으로 포함된다. 라벨의 종류는 정상, 반복 행동, 불면에 대한 값으로 시, 분, 센서 데이터와 마찬가지로 원-핫 형 태로 변형한다.
(표 7) 이상 행동 데이터 전처리 예시
(Table 7) Example of preprocessing abnormal behavior data
3.3 딥러닝 모델
3.2에서 데이터를 생성하고 전처리하는 것에 대해서 다루었다. 표 6이나 표 7의 예시와 같이 데이터의 전처리 를 마치고 나면 구현한 모델의 입력으로 넣어 모델을 학 습할 수 있다.
앞서 소개한 것과 같이 치매 환자의 이상 행동을 감지 하는 과정에서 두 가지 모델을 사용한다. 첫 번째 모델은 비지도 학습 모델인 오토인코더를 사용하며 두 번째 모 델로는 장·단기 기억 모형을 사용한다. 두 모델을 사용하 는 가장 큰 이유는 이상 행동이 라벨링 된 데이터를 얻기 어렵기 때문이다. 따라서 이상 행동 감지 시스템에는 두 종류의 모델을 사용함으로써 각 각의 단점을 보완하고자 한다.
먼저 데이터가 전처리 된 후 오토인코더 모델에 입력 으로 들어가게 된다. 오토인코더는 인코더와 디코더의 구조를 갖고 있는데 입력으로 들어간 데이터를 인코딩하 는 과정에서 데이터의 특징이 추출된다. 또한 다시 디코 딩함으로써 데이터를 복원하고 입력된 데이터와 출력된 데이터의 차이를 비교하여 모델을 학습한다. 본 연구에 서는 오토인코더의 이러한 특징을 이용하여 정상 행동 데이터로 오토인코더 모델을 학습하고 실제 모델을 이용 할 시에는 입력된 값과 출력된 값의 차이를 비교하여 이 상치를 계산한다. 계산된 이상치의 결과가 일정 기준치 를 넘는 경우 장·단기 기억 모형에 다시 입력으로 들어가 0(정상), 1(불면), 2(반복 행동)에 대한 결과를 출력한다.
두 모델 모두 동일한 데이터를 입력으로 받으므로 입 력 크기는 36으로 동일하며, 오토인코더 모델의 경우 인 코더와 디코더에 사용된 활성 함수는 각각 렐루(ReLu)와 시그모이드(sigmoid)이며 손실 함수로 이항 교차 엔트로 피(binary crossentropy), 옵타마이저(optimizer)로는 아다델 타(adadelta)를 사용했다. 장·단기 기억 모형의 경우 손실 함수는 범주형 교차 엔트로피(categorical crossentropy), 옵 티마이저로는 아담(adam)이 사용됐다.
오토인코더 모델의 경우 단층 오토인코더와 적층 오 토인코더(Stacked Autoencoder), 잡음 제거 오토인코더 (Denoising Autoencoder)를 이용하여 테스트 하였는데 단 층 오토인코더의 경우 은닉층의 크기는 16, 적층 오토인 코더와 잡음 제거 오토인코더의 경우 동일한 형태로 실 험하였는데 은닉층의 크기는 32, 16으로 지정했다. 그림 5와 그림 6은 실험에 사용한 오토인코더 모델의 구조이 다. 장·단기 기억 모형은 32크기의 은닉층을 하나 가지며 출력 크기는 3이다.
(그림 5) 단층 오토인코더 모델 구조
(Figure 5) Single layer autoencoder model structure
(그림 6) 적층 오토인코더 및 잡음 제거 오토 인코더 모델 구조
(Figure 6) Stacked autoencoder and denoising autoencoder model structure
4. 실험 결과
본 연구에서는 오토인코더와 장·단기 기억 모형을 이용하여 치매 환자 관리 시스템을 표8의 환경에서 구현하 였으며 가상의 데이터를 통해 실험했다. 실험 결과 생성 된 데이터의 분포도와 모델의 성능 결과 및 시스템 출력 결과를 확인해본다.
(표 8) 실험환경 하드웨어 및 소프트웨어
(Table 8) Experimental Hardware and Software
4.1 센서 사용 분포도
그림 7과 그림 8은 각각 실험 전 생성한 정상 행동 데 이터와 이상 행동 데이터의 센서 사용 분포도이다.
그래프의 x축은 시간을 나타내며 y축은 시간에 따른 센서 발생 누적 횟수를 의미한다. 두 그림을 비교해보면 이상 행동 데이터 또한 정상 행동 데이터가 포함되어 있 으므로 유사한 센서 사용 형태를 띄고 있으나 그림 8의 경우 새벽 시간에 센서가 발생하거나 특정 시간에 과도 하게 센서가 발생하는 등의 모습을 확인할 수 있다.
(그림 7) 정상 행동 데이터 센서 사용 분포도
(Figure 7) Normal behavior data sensor usage distribution chart
(그림 8) 이상 행동 데이터 센서 사용 분포도
(Figure 8) Abnormal behavior data sensor usage distribution chart
4.2 이상 행동 감지 시스템 실험 결과
앞 장에서 설명하였듯이 이상 행동 감지 시스템은 오 토인코더와 장·단기 기억 모형 두 가지로 구성됐다. 오토 인코더의 성능 테스트는 입력과 출력이 얼마나 유사한지 를 통해 정확도를 얻을 수 있다.
먼저 실험에 사용된 모든 오토인코더와 장·단기 기억 모형은 학습하는데 한 달(약 30일)에 해당하는 데이터를 사용하였으며 테스트 데이터로는 일주일에 해당하는 데 이터를 사용했다. 모델 학습 시 에포크(epoch)는 50, batch 크기는 32로 설정했다. 그림 9는 단층 오토인코더 모델에 정상 행동 데이터를 넣었을 때 정확도 및 손실 그래프이 다. 이상 행동 데이터의 경우는 정상 행동 데이터가 포함 되어 있어 정확도나 손실 그래프로는 크게 구분하기 어 렵다. 따라서 그림 10은 이상 행동 데이터에서 이상치 정 도를 확인하기 위한 손실 그래프이다. 이상치 정도는 1에 서 100사이로 표현하였으며 빨간 선은 본 시스템에서 기 준으로 삼고 있는 기준선이다. 이때 사용한 기준치는 3% 정도이다. 오토인코더 모델에 데이터가 입력되어 이상치 를 구한 뒤 해당 기준치를 넘으면 장·단기 기억 모형에 재입력된다.
(그림 9) 단층 오토인코더에서 정상 행동 데이터의 정확도 및 손실 그래프
(Figure 9) Accuracy and loss graph of normal behavior data in single layer autoencoder distribution chart
(그림 10) 단층 오토인코더에서 이상 행동 데이터의 손실 그래프
(Figure 10) Loss graph of abnormal behavior data in a single layer autoencoder
표 9는 단층 오토인코더에 정상 행동 데이터를 입력으 로 넣었을 때, 입력한 값과 오토인코더 모델을 거쳐 출력 된 값이다. 이 때 사용된 데이터는 모델 학습에 포함되지 않았다. 표 9의 입력 값의 경우는 출력 데이터 형식에 맞 춰 0~9, 10~19, 20~29, 30~39, 40~49, 50~59분을 각각 0, 10, 20, 30, 40, 50분으로 변형하여 나타내었다. 입력 값과 출력 값을 비교해보면 두 값이 거의 동일한 것을 확인할 수 있다.
(표 9) 정상 행동 데이터 입력 및 출력 결과 예시
(Table 9) Example of normal behavior data input and output results
표 10은 동일한 모델에 이상 행동 데이터를 입력으로 넣었을 때, 입력한 값과 모델을 거쳐 출력된 값이다. 표 9와 마찬가지로 입력 값의 분 속성은 변형하여 나타내었 다. 표 10의 입력 값과 출력 값을 비교해보면 표 9에 본 결과와 다르게 많은 차이를 보이는 것을 알 수 있다. 이 와 같이 오토인코더 모델은 정상 행동 데이터가 입력되 는 경우는 높은 정확도를 보이나 이상 행동 데이터가 입 력되는 경우는 낮은 정확도를 보인다는 것을 알 수 있다.
(표 10) 이상 행동 데이터 입력 및 출력 결과 예시
(Table 10) Example of abnormal behavior data input and output results
두 모델 중 오토인코더의 경우에는 단층 오토인코더, 적층 오토인코더, 잡음 제거 오토인코더 총 세 가지 모델 의 성능을 평가해보았다. 표 11은 세 모델 각 각의 은닉 층 크기를 변경해보면서 성능을 테스트 한 뒤, 가장 성능 이 좋았던 모델만 비교한 결과 및 장·단기 기억 모형의 성능 결과이다.
실험 결과를 확인해보면 세 종류의 오토인코더 중 단 층 오토인코더의 성능이 가장 좋으며 적층 오토인코더의 성능 또한 나쁘지 않다. 본 연구에서는 주로 성능이 가장 좋은 단층 오토인코더와 장·단기 기억 모형의 결합으로 테스트했다. 오토인코더의 경우에는 데이터가 쌓일수록 사용자의 데이터에 맞게 계속해서 학습될 수 있으므로 시간이 지날수록 더 좋은 성능을 가질 것으로 예상된다. 장·단기 기억 모형 또한 성능이 좋은데 이 모델의 단점은 더 좋은 모델로 사용하기 위해 꾸준한 라벨링 작업이 필요하다는 것이다.
(표 11) 딥러닝 모델 성능 비교
(Table 11) Comparison of Deep Learning Model Performance
5. 결론
본 연구의 목적은 가정 혹은 시설 등에 부착 가능한 센서를 통해 사람의 이상 행동을 감지하는 것이다. 하지 만 이러한 센서 데이터를 얻는 것은 쉽지 않기 때문에 치 매 환자들을 돌보는 요양 시설의 일정표를 참고하여 데 이터를 생성했다. 따라서 본 연구의 결과가 모든 환경에 서 좋은 성능을 보인다고 일반화할 수 없다. 그럼에도 본 연구에서 사용한 모델의 결과는 꽤 높은 수치의 결과를 보여준다. 이를 통해 오토인코더 모델이 정상 행동의 패 턴을 찾아낼 수 있다는 것을 알 수 있으며 장·단기 기억 모형을 통해 오토인코더의 결과를 더 정교하게 만들어 주는 것을 확인할 수 있다. 이는 실제로 센서를 부착하고 실제 환자들이나 사람들이 사용하였을 때 많은 데이터가 모이게 되면 더 좋은 성능을 보일 가능성을 보여준다.
따라서 추후에는 본 연구에서 사용한 모델을 더 보완 하고 추가적으로 사용할 수 있는 데이터를 잘 선정하여 보다 정교한 시스템을 만들 예정이다. 또한 이상 행동 감 지 외에도 사람들에게 알림을 주고 모니터링 할 수 있는 시스템을 추가할 예정이다.
References
- Bin-na Kim et al., "Global Trends of Dementia Policy 2018", central dementia center (NIDR-1801-0022), 2018. https://ansim.nid.or.kr/community/pds_view.aspx?bid=185
- S. Hochreiter & J. Schmidhuber, "Long short-term memory," Neural computation, 9(8):1735-1780, 1997. https://www.mitpressjournals.org/doi/pdf/10.1162/neco.1997.9.8.1735
- G. Singla, D. J. Cook, & M. Schmitter-Edgecombe, "Recognizing independent and joint activities among multiple residents in smart environments," Journal of ambient intelligence and humanized computing 1(1), pp 57-63, 2010. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2958106 https://doi.org/10.1007/s12652-009-0007-1
- P. N. Dawadi, D. J. Cook, & M. Schmitter-Edgecombe, "Modeling patterns of activities using activity curves," Pervasive and mobile computing 28, pp 51-68, 2016. https://www.sciencedirect.com/science/article/pii/S157411921500173X https://doi.org/10.1016/j.pmcj.2015.09.007
- B. Das, D. J. Cook, N. C. Krishnan & M. Schmitter-Edgecombe, "One-class classification-based real-time activity error detection in smart homes," IEEE journal of selected topics in signal processing 10(5), pp 914-923, 2016. https://ieeexplore.ieee.org/abstract/document/7421975 https://doi.org/10.1109/JSTSP.2016.2535972
- C. Vondrick, H. Pirsiavash & A. Torralba, "Anticipating visual representations from unlabeled video," In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp 98-106, 2016. https://arxiv.org/abs/1504.08023
- H. Zhong, J. Shi & M. Visontai, "Detecting unusual activity in video," In Proceedings of the 2004 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, CVPR 2004, Vol 2, pp. 1-8, 2004. https://ieeexplore.ieee.org/abstract/document/1315249/
- Y. Chen, G. Liang, K. K. Lee & Y. Xu, "Abnormal behavior detection by multi-SVM-based Bayesian network," In 2007 International Conference on Information Acquisition, IEEE, pp. 298-303, 2007. https://ieeexplore.ieee.org/abstract/document/4295746
- R. Mehran, A. Oyama, & M. Shah, "Abnormal crowd behavior detection using social force model," In 2009 IEEE Conference on Computer Vision and Pattern Recognition, IEEE, pp. 935-942, 2009. https://ieeexplore.ieee.org/abstract/document/5206641/
- J. Yin, Q. Yang, & J. J. Pan, "Sensor-based abnormal human-activity detection," IEEE Transactions on Knowledge and Data Engineering 20(8), pp. 1082-1090, 2008. https://ieeexplore.ieee.org/document/4358934 https://doi.org/10.1109/TKDE.2007.1042
- Y. X. Hung, C. Y. Chiang, S. J. Hsu & C. T. Chan, "Abnormality detection for improving elder's daily life independent," In International conference on smart homes and health telematics, Springer, Berlin, Heidelberg, pp. 186-194, 2010. https://link.springer.com/chapter/10.1007/978-3-642-13778-5_23
- A. Gaddam, S. C. Mukhopadhyay, & G. S. Gupta, "Elder care based on cognitive sensor network," IEEE Sensors Journal 11(3), pp. 574-581, 2010. https://ieeexplore.ieee.org/abstract/document/5483132/ https://doi.org/10.1109/JSEN.2010.2051425
- P. Baldi, "Autoencoders, unsupervised learning, and deep architectures," In Proceedings of ICML workshop on unsupervised and transfer learning, pp. 37-49, 2012. https://dl.acm.org/citation.cfm?id=3045796.3045801
- P. Vincent, H. Larochelle, I. Lajoie, Y. Bengio, & P. A. Manzagol, "Stacked denoising autoencoders: Learning useful representations in a deep network with a local denoising criterion," Journal of machine learning research 11, pp. 3371-3408, 2010. http://www.jmlr.org/papers/volume11/vincent10a/vincent10a.pdf
- D. P. Kingma, & M. Welling, "Auto-encoding variational bayes," arXiv preprint arXive:1312.6114, 2013. https://arxiv.org/abs/1312.6114
- A. Ng, "Sparse autoencoder," CS294A Lecture notes 72, pp. 1-19, 2011. https://web.stanford.edu/class/cs294a/sparseAutoencoder.pdf