https://doi.org/10.34163/jkits.2021.16.5.005
Journal of Knowledge Information Technology and Systems
ISSN 1975-7700 (Print), ISSN 2734-0570 (Online) http://www.kkits.or.kr
Comparative Study on Performance Improvement Methods in CNN Based on Time Series Data
Baek Ki Kim, Sangmin Suh
*Department of Information & Telecommunication Engineering, Gangneung-Wonju National University
A B S T R A C T
Human activity recognition (HAR) is a classification task based on time series sensor data, which have traditionally been performed with machine learning methods like a support vector machine (SVM). With development of deep learning, the task also is carried out using recurrent neural networks. Recently, it was confirmed that the time series data can be used for convolutional neural networks (CNN), where the time series data is transformed into an image beforehand to be used in CNN. Author has suggested several methods, i.e., edge enhancement, line width control, and color code optimization, for an accurate task in the time series based convolutional neural network. The edge enhancing method results from that recognizing things mean seeing the shape of the things. With the intuition additional edge information is applied to the image as an additional channel. Moreover, in the image of time series data, the optimal line width may be existed to achieve the best performance, which includes fast settle time and high accuracy. This motivates the line width control method. The color code optimization is motivated by a complementary color. The color code optimization can be obtained by maximizing the color distances in the color space. The complementary color makes images more clear and shape, which results in higher performance of the neural network. This paper compares and evaluates the three methods in detail. From the experimental results, in the image classification task of the time series data, the line width control is the most effective technique, and the color code optimization is also effective method. The line width control was the least effective because the raw information is time series data, i.e., line. However, if the raw data has spatial information such as images, the edge enhancement technique is much more effective to improve f1-score.
Ⓒ 2021 KKITS All rights reserved K E Y W O R D S : Artificial intelligence, Convolutional neural network, Deep learning, Image
classification, Human activity recognition, Time series data
A R T I C L E I N F O : Received 19 July 2021, Revised 2 August 2021, Accepted 8 October 2021.
*Corresponding author is with the Department of Information & Telecommunication Engineering,
Gangneung-Wonju National University, 150, Namwon-ro, Wonju-si, 26403, KOREA.
1. 서 론
인간 행동 인식 (human activity recognition, HAR)은 여러 센서들로부터 들어오는 정보를 이용 하여 인간의 행동을 분류하는 일이며, 이 기술을 이용하여 사람 기계간의 상호 작용을 할 수 있도 록 하는 중요한 기술이다[1].
이 기술은 전통적으로 머신러닝 기술의 영역이 었으나, 딥러닝 기술이 발전함에 따라, 순환 신경 망 (recurrent neural network, RNN)이 적용되어 왔 고, 최근에는 센서의 시계열 데이터를 이미지로 변 환한 후 컨벌루션 (convolutional neural network, CNN)을 이용한 이미지 분류기도 제안되었고, 그 성능도 검증이 되었다[2-3]. 이 논문에서는 그 동안 제안한 여러 가지 성능 향상 방법을 종합적으로 검토 비교하여, 인공 지능 신경망 설계자에게 설계 가이드를 제공하고자 한다.
이 논문의 구성은 다음과 같다. 제 2장에서는 각 방법들의 원리와 실제 구현 방법을 소개하고 제 3장에서는 그 성능들을 비교 분석하며, 제 4장 에서는 결론을 기술한다.
2. 시계열 기반 CNN의 성능 향상 방법 이 장에서는 시계열 기반 CNN에서 성능 향상 방법을 소개하며 각각의 성능을 비교 평가 한다.
이를 통하여 신경망 설계자가 보다 나은 신경망을 설계할 수 있도록 한다.
2.1 에지 강화
사람이 사물을 바라볼 때, 가장 먼저 색을 보는
E-mail address: [email protected]
* 이 논문은 제29회 한국지식정보기술확회 춘계학술대 회에서 발표된 논문을 확장하여 작성되었음.
것이 아니라 사물의 외곽을 본다는 아이디어에서 제안된 방법이다[3].
그림 1. 채널별 이미지 (왼쪽 위에서 시계 방향으로, RGEB) [3]
Figure 1. Channel images (from left-top clockwise, RGEB) [3]
RGB 채널에 에지 채널을 더하여 4채널의 이미 지를 만든 후 훈련을 하면 더욱 빠르게 손실함수 가 감소하였다. 에지 채널을 만드는 방법은 sobel, prewitt, laplacian 등이 있으며[4], 연산시간을 고려 하여 방법을 선택하면 된다. 기존의 연구에서는 laplacian방법을 사용하였고 표준 테스트 이미지[5]
를 사용한 각 채널 별 이미지는 <그림 1>과 같고 E는 에지 채널 (edge channel)을 말한다. 이 방법은 원래 순수한 이미지 분류기 (image classification)인 CIFAR-10 [6]에 적용된 방법으로, 이 논문에서는 처음으로 시계열 데이터에 이 방법을 적용한다.
2.2 선폭 최적화
인간 행동 인식의 경우, 시계열 데이터를 이미지 로 변환하여 CNN을 이용하여 이미지 분류기로 그
행동을 인식하는 방법이 있다. 거기서, 시계열 데 이터를 이미지로 변환 할 때, 그래프의 선폭이 이 미지 형상에 영향을 줄 수 있다. 그 이유는 만약 선폭이 너무 가늘거나 너무 두꺼우면 각 시계열 데이터사이의 구분이 안되는 문제가 발생하기 때 문이다. 그래서 목표 정밀도에 대한 수렴 속도와 정밀도를 고려한, 최적화된 선폭이 존재할 수도 있 다는 동기에서 출발하였다[7].
그림 2 걷기 선폭=(왼쪽 위에서 시계 방향으로 1,2,3,4) [4]
Figure 2. Walking line width (from left-top clockwise 1,2,3,4) [4]
<그림 2>는 걷기 데이터를 여러 선폭의 이미지 로 변환 했을 때 그림이다. 왼쪽 위에서 시계방향 으로 선폭은 각각 1, 2, 3, 4이다. 사람의 시각으로 그림을 볼 때도, 선폭이 너무 가늘거나 너무 두꺼 우면 각 데이터간의 구분이 잘 되지 않았고, 이 현 상은 정밀도 변화에도 그대로 나타났다. 최종 정밀 도와 거기에 수렴하는 시간을 고려할 때, 최적의 선폭은 2~3이었다.
2.3 최대 색차
이 방법은 시계열 데이터를 이미지로 만들 때, 색공간에서 데이터들의 색차를 최대로 하여 명확
하고 뚜렷한 이미지 데이터를 만드는 것이다 [8].
그림 3은 RGB 색공간을 표현한 것이다. 여기서는 24bit (8bit×3) 색공간을 표현한 것으로 빨강(R)/녹 색(G)/파랑(B) 각각 8bit로 표현된 색공간이다.
그림 3 RGG 색공간 Figure 3 RGB color space
그러므로 각 대표 색상이 갖는 값은 0~255이며, 이 세 가지 색의 조합으로 16,777,216 (28×28×28) 가지의 색상을 만들 수 있다. 또한, 식 1은 <그림 1>의 색공간에서 두 색 과 의 색차를 나타낸다.
(1)시계열 데이터의 개수가 N일 때, 이미지 바탕색 을 포함하여 N+1개의 최대 색차를 갖는 색들을 찾 아야 하며, 그것은 다음 식을 만족하는 모든 를 찾는 것과 동일하다.
≤ ≤ (2)
여기서, ≠ 이고 이다.
9개의 센서 정보들을 이미지로 변환할 때, 그 시 계열 정보들의 색차가 최대가 되도록 변환하면 더 욱 명확한 이미지가 생성될 것이다. 그러므로 센서 정보 개수와 이미지 배경을 포함한, 색차가 가장 큰 총 10개의 색을 찾아내면 된다. 이 논문에서 이 미지 바탕색은 흰색 (255,255,255)으로 고정한 후 나머지 9개의 색을 탐욕 알고리즘 (greedy algorithm)으로 탐색하였다[9]. 탐욕 알고리즘은 매 분기점마다 최적이라고 생각되는 결정을 하는 방 식으로 진행하는 방법으로, 반드시 최적의 해를 찾 지는 못하지만 준 최적(suboptimal)의 색상을 찾을 수는 있다.
그림 4.a 걷기의 기본 이미지
Figure 4.a Default image of walking
그림 4.b 걷기의 준 최적 이미지
Figure 4.b Suboptimal image of walking
<그림 4>는 걷기 동작에서 얻어진 센서 데이터들 을 그린 것으로 <그림 4.a>는 특별한 조치 없이 파 이썬에서 제공하는 기본 선색을 선택한 것이며,
<그림 4.b>는 제안하는 방법인 최대 색차를 갖는 방법으로 얻어진 이미지이다.
<그림 4.b>가 <그림 4.a>보다 더 선명하고 각 데이 터들 사이에 구분이 더욱 명확하며, 이것을 최대 색차를 만들어 각 그래프끼리 서로 보색 (complementary color)이 되도록 설계하였기 때문이 다.
3. 실험 및 분석
각각의 방법들이 성능 결과에 얼마나 영향을 미 치는지 분석해야 한다. 이를 위하여 여러 방법들을 이용하여 변환된 데이터 세트를 만들고, 간략한 기 준선 신경망을 통하여 성능 비교를 한다. <표 1>은 논문 전체에서 사용된 실험 환경이다.
표 1. 실험 환경 Table 1. Experimental environment
Name Specification
OS Ububtu 20.04 LTS
GPU RTX3090, 24GB, cuda core 10496 CPU AMD, 5600X, 6 core, 3.7GHz
API tensorflow-GPU 2.4.1
cuDNN 11.2
cuda 11.2
Memory DDR4 32000MHz-32GB×4 SSD 970 EVO Plus M.2 NVMe 2TB
기존의 데이터 세트 [10,11]는 각 클래스 마다 데이터의 수가 서로 다른 불균형 데이터 (imbalanced data)이므로, 각 데이터 수를 같게 하 기 위하여 최소수의 데이터 갯수인 1094개로 통일 하였다. 그런데, 만약 시계열 센서 데이터를 변환/
확대한다면 전혀 다른 형상의 모양이 나오기 때문 에, 이 논문에서 데이터 증강 (data augmentation) 을 하지 않았다. 데이터 증강을 하면 각 센서 정보 들이 모두 왜곡이 되기 때문이다. 인공지능 설계를 위한 프레임워크 (framework)는 텐서플로우-2.4 [12]를 사용하였는데, 텐서플로우 1.X 버전에 비하 여 2.X버전은 케라스 (Keras)를 포함하여 사용이 훨씬 편해졌다.
표 2. 신경망 Table 2. Neural network
Layer Output size Kernel Act.
Input (480, 640, 3/4) - -
Convolution (480,640, 8) 3×3 ReLU MaxPooling (240, 320, 8) 2×2 - Fully connected (1, 6) - Softmax
실험을 위한 신경망 구조는 <표 2>에 나타내었 다. 우선 입력 이미지의 크기는 (height, width, channel) = (480, 640, 3/4)인데, 에지 강화의 경우 RGB 채널 뿐만 아니라 에지채널(E)가 추가되기 때 문에 4 채널이 된다. 다음으로 하나의 컨볼루션 층 과 활성화 함수인 ReLU (Rectified Linear Unit)가 적용된다. 그리고 특징 맵의 크기를 줄이기 위하여 최대 풀링 층을 이용하였으며, 완전 연결층을 만들 어 6개 클래스인 동작을 인식하도록 하였다.
실험은 앞 장에 나온 방식의 모든 조합을 진행 하였으며, 그 조건은 <표 3>과 같다.
또한 하이퍼 파라마터 (hyper parameter)는 모두 동일한 값을 사용하였고, 총 16 에폭 (epoch)에, Adam 옵티 마이저 (optimizer)를 사용하였고, 학습 비 (learning rate)를 0.001로 설정한 후 훈련을 진 행하였다.
표 3 실험 조건 Table 3. Test conditions case # condition (0: off, 1: on) case-1 {edge, line_width, color_code} = {0,0,0}
case-2 {edge, line_width, color_code} = {0,0,1}
case-3 {edge, line_width, color_code} = {0,1,0}
case-4 {edge, line_width, color_code} = {0,1,1}
case-5 {edge, line_width, color_code} = {1,0,0}
case-6 {edge, line_width, color_code} = {1,0,1}
case-7 {edge, line_width, color_code} = {1,1,0}
case-8 {edge, line_width, color_code} = {1,1,1}
정확한 성능을 평가하기 위해서는 메트릭 (metric) 을 <표 4>에 명기하였다.
표 4. 성능 메트릭 Table 4. Performance matric
Name Content
TP (true positive) 긍정을 긍정으로 예측 FN (false negative) 긍정을 부정으로 예측 FP (false positive) 부정을 긍정으로 예측 TN (true negative) 부정을 부정으로 예측
그리고 객관적인 평가를 위하여 다음과 같은 성 능 지표들을 정의한다[13,14].
(3)
(4)
(5)
그리고 여러 실험 조건에서 다음과 같은 각각의 실험 결과들을 얻었다.
표 4 검출 성능: case-1 Table 4. Detection performance: case-1
Precision recall f1-score downstairs 0.488 0.712 0.579
jogging 0.556 0.625 0.588
sitting 0.667 0.426 0.519
standing 0.523 0.500 0.511 upstairs 0.433 0.325 0.371
walking 0.420 0.389 0.404
accuracy - - 0.507
표 5 검출 성능: case-2 Table 5. Detection performance: case-2
Precision recall f1-score downstairs 0.517 0.763 0.616
jogging 0.596 0.646 0.620
sitting 0.649 0.511 0.571
standing 0.564 0.478 0.518 upstairs 0.522 0.300 0.381
walking 0.411 0.426 0.418
accuracy - - 0.534
표 6 검출 성능: case-3 Table 6. Detection performance: case-3
Precision recall f1-score downstairs 0.538 0.949 0.687
jogging 1.000 0.917 0.957
sitting 0.704 0.404 0.514
standing 0.349 0.326 0.337 upstairs 0.533 0.200 0.291
walking 0.459 0.519 0.487
accuracy - - 0.578
표 7. 검출 성능: case-4 Table 7. Detection performance: case-4
Precision recall f1-score downstairs 0.615 0.814 0.701
jogging 1.000 1.000 1.000
sitting 0.739 0.723 0.731
standing 0.655 0.413 0.507 upstairs 0.500 0.275 0.355
walking 0.620 0.815 0.704
accuracy - - 0.694
표 8 검출 성능: case-5 Table 8. Detection performance: case-5
Precision recall f1-score downstairs 0.531 0.864 0.658
jogging 0.569 0.688 0.623
sitting 0.700 0.447 0.545
standing 0.486 0.370 0.42
upstairs 0.429 0.225 0.295
walking 0.407 0.407 0.407
accuracy - - 0.520
표 9 검출 성능: case-6 Table 9. Detection performance: case-6
Precision recall f1-score downstairs 0.562 0.915 0.697
jogging 0.436 0.354 0.391
sitting 0.763 0.617 0.682
standing 0.466 0.587 0.519 upstairs 0.667 0.200 0.308
walking 0.412 0.389 0.400
accuracy - - 0.531
표 10. 검출 성능: case-7 Table 10 Detection performance: case-7
Precision recall f1-score downstairs 0.554 0.864 0.675
jogging 1.000 0.958 0.979
sitting 0.686 0.511 0.585
standing 0.680 0.370 0.479 upstairs 0.650 0.325 0.433
walking 0.618 0.870 0.723
accuracy - - 0.673
표 11 검출 성능: case-8 Table 11. Detection performance: case-8
Precision recall f1-score downstairs 0.577 0.949 0.718
jogging 1.000 1.000 1.000
sitting 0.676 0.532 0.595
standing 0.968 0.652 0.779 upstairs 0.500 0.150 0.231
walking 0.768 0.981 0.862
accuracy - - 0.741
<표 4>부터 <표 11>을 보면 하나의 기술이 추가 될 때마다 f1-score가 분명히 점진적으로 개선됨을 알 수가 있다. 이것은 당연한 결과로 연산량을 늘 려서 성능을 높이기 때문이다.
이제 각각의 방법이 정밀도(accuracy)에 미치는 영향을 분석하기 위하여, 하나의 기술이 전체 성능 에 어떤 영향을 주는지 조사하여 <그림 5>에 나타 내었다.
그림 5.a 에지 채널의 영향 Figure 5.a Effect of edge channel
그림 5.b 선폭 조절의 영향 Figure 5.b Effect of line width control
그림 5.c 색상 코드 최적화의 영향 Figure 5.c Effect of color code optimization
[1] M. S. Kim, C. Y, Jeong, J. M. Sohn, J. Y.
Lim, S. E. Chung, H. T. Jeong, and H. C.
Shin, Trends in activity recognition using smartphone sensors, Electronics and telecommunications trends, Vol. 33, No. 3 , pp. 89-99, 2018.
[2] T. T. Um, V. Babakeshizadeh, and D. Kulić, Exercise motion classification from 그리고 각 경우의 정밀도 계산을 위하여 다음과
같은 식을 사용하였다.
(6)여기서 는 번째 (1: 에지 강화, 2: 선폭 최적화, 3: 최대 색차) 기술이 적용되었을 때의 정 밀도를 의미하며, 는 번째 기술이 적용되 지 않았을 때의 정밀도를 의미한다. 이것은 해당 기술을 적용하기 전과 후의 정밀도 차분을 모두 누적하여 전체적인 정밀도 개선량을 계산하였다.
<그림 5>를 보면, 에지 채널을 추가한 방법에서 가장 적은 성능 향상을 보였다. 이것은 원래의 원시 데이터 (raw data)가 공간 정보 (spatial information) 를 갖지 않는 시계열 데이터이기 때문이다. 시계열 데이터는 데이터 자체가 하나의 선이므로 에지 강 화를 하게 되면, 선의 양변을 에지로 표현하게 되 어 하나의 선이 세 개의 선으로 바뀌는 역할만을 하게 된다. 물론 선이 하나 있는 것 보다는 세 개 의 선이 있는 것이 시각적으로 더욱 선명하게 보 여 신경망이 더 잘 분류(classification)하도록 도움 은 줄 수는 있다. 그러나 근본적으로 이 방법은 공 간 정보를 갖고 있는 이미지 데이터에서 더욱 효 과적인 방법이다,
두 번째로 효과가 좋은 방법은 색상 코드를 서 로 보색으로 만들어 주는 최적화 방법이다. 그림 5.c에서도 가장 큰 성능 개선을 보이는 조합은 에 지 채널은 추가하지 않고 선폭만 최적화 한 경우 ({0,1})인데, 이것은 일단 신경망의 눈에 선명하게 보이는 조건하에서 선의 색을 보색으로 만들어야 더욱 효과가 좋다는 것을 의미한다.
가장 효과가 좋은 방법은, 세 가지 방법 중에서 가장 단순한 방법인, 선폭을 조절하는 것으로 누적
성능 개선은 약 6%가 되었다. 이 실험 결과가 의 미하는 것은, 선으로 표현되는 시계열는 ‘선명하 게 표현되는 것’이 최우선이라는 것이다. 그 후 색상 코드를 최적화하여 더욱 선명한 데이터로 변 환하면 더 좋은 성능의 신경망이 구현될 수 있다 는 것을 보이고 있다.
4. 결 론
이 논문에서는, CNN에서 제안했던 세 가지 성능 향상 방법 (에지강화, 선폭 조절, 색상 코드 최적 화)들을 실험적으로 비교 분석하였다. 성능 개선 방법들이 하나하나 추가되어 연산이 늘어나게 되 고 그에 따라서 f1-score가 점진적으로 향상됨을 보였다. 시계열 데이터를 이용한 분류기에서는, 우 선 데이터를 명확하게 보이도록 선폭을 조절해야 하고 그 후 색상코드를 최적화하여 더욱 선명하게 만드는 방법을 추천한다.
이 논문에서는 에지 채널 (edge channel) 추가 방 법은 그 효과가 작았는데, 그 이유는 데이터 자체가 시계열이기 때문이다. 그러므로 만약 이미지 분류기 와 같이 데이터에 공간 정보 (spatial information)가 있는 경우라면 에지 채널 방법도 분명이 효과가 있을 것이다.
References
시계열 데이터를 기반으로 한 CNN의 성능 향상 방법에 대한 비교 연구
김백기, 서상민
강릉원주대학교 과학기술대학 정보통신공학과 교수
요 약
인간 행동 인식 기술은 전통적으로 서포트 벡터 머 신과 같은 기계 학습 기술 분야이다. 그리고 딥 러닝 의 발전과 함께 순환 신경망을 사용하여 이와 같은 작업이 수행되고 있다. 최근에는 시계열 데이터를 이 미지로 변환한 후 CNN (Convolutional Neural Networks)에 적용할 수 있음이 확인되었다. 저자는 시 계열 기반 CNN 신경망에서 정밀도 향상을 위해 에지 향상, 선 너비 제어 및 색상 코드 최적화와 같은 몇 가지 방법을 제안했다. 엣지 강화 방법은 사물을 인식 한다는 것은 사물의 형태를 본다는 직관에서 나온 아 이디어이다. 또한 시계열 데이터의 데이터를 이미지로 변환 할 때, 빠른 정착 시간과 높은 정확도를 포함하 여 최상의 성능을 얻을 수 있는 최적의 선폭이 존재 할 수 있고, 이것이 선폭 제어 방법을 고안하게 되었 다. 색상 코드 최적화는 보색으로부터 동기가 부여되 었는데, 색상 코드 최적화는 색상 공간에서 색상 거리 를 최대화하여 얻을 수 있다. 보색은 이미지를 더 선 명하고 모양으로 만들어 신경망의 성능을 향상시킨다.
이 논문에서는 위의 세 가지 방법을 자세히 비교하고 평가한다. 실험 결과로부터 시계열 데이터의 이미지 분류 작업에서 선폭 제어가 가장 효과적인 기법이며 색상 코드 최적화도 효과적인 방법이었다. 이 논문에 서 선폭 제어는 원시 정보가 시계열 데이터인 선이기 때문에 효과가 떨어졌다. 그러나 원시 데이터에 이미 지와 같은 공간 정보가 있는 경우 f1-score를 향상시 키는 데 에지 강화 기법이 훨씬 더 효과적일 것이다.
large-scale wearable sensor data using convolutional neural networks, IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 2385-2390, 2017.
[3] S. Suh, Edge enhanced neural network for high accuracy image classification, Journal of Knowledge Information Technology and Systems(JKITS), Vol. 15, No. 3, 2020.
[4] R. C. Gonzalez, R. E. Woods, Digital Image Processing, Pearson, 2007.
[5] https://www.ece.rice.edu/~wakin/images/, Jul.
2021.
[6] https://www.cs.toronto.edu/~kriz/cifar.html, Jul.
2021.
[7] S. Suh, Improved motion recognition based on convolution neural network for high accuracy, Vol. 16, No. 3, 2021.
[8] S. Suh, Human activity recognition systems based on maximum color difference and deep learning, accepted, 2021.
[9] Y. Choi, Algorithm in python, Life and power press, 2021.
[10] M. Malekzadeh, R. G. Clegg, A. Cavallaro, H. Haddadi, DANA: Dimension-adaptive neural architecture for multivariate sensor data, https://arxiv.org/abs/2008.02397, May 2021.
[11] M. Malekzadeh, R. G. Clegg, A. Cavallaro, and H. Haddadi, Mobile sensor data anonymization, Proceedings of the International Conference on Internet of Things Design and Implementation, pp.
49-58, 2019.
[12] https://www.tensorflow.org/, Jul. 2021.
[13] S. Suh, Convolutional neural network based fire detection systems in surveillance camera,
Vol. 16, No. 3, 2021.
[14] A. Géron, Hands-on machine learning with scikit-learn, keras, and tensorFlow, O'Reilly, 2019.
Baek Ki Kim received the B.S. and M.S. and Ph.D.
degree in electronics engineering from KyungHee University, Seoul, Rep. of Korea in 1985, 1987 and 1997, respectively. Currently, he is a professor in the department of information and telecommunication engineering at Gangneung- Wonju National University, Korea. His research interests include signal processing and medical equipment field.
E-mail address: [email protected]
감사의 글
이 논문은 2021년도 국립강릉원주대학교 학술연 구조성비 지원 (20211001831)에 의하여 수행되었음.
Sangmin Suh received B.S., M.S., and Ph.D. degree in the electronics engineering in the Hanyang university of Seoul Korea in 1991, 1994, and 2003 respectively. From 1994 to 1999, he has been with Daewoo telecommunication. From 2003 to 2019, he was in Samsung electronics. He currently holds assistant professor in the department of information and telecommunication engineering at Gangneung-Wonju national university. His current research interests include artificial intelligence and robotics.
E-mail address: sangminsuh@gwnu.ac.kr