DOI QR코드

DOI QR Code

Prediction System of Running Heart Rate based on FitRec

FitRec 기반 달리기 심박수 예측 시스템

  • 김진욱 (광운대학교 전자융합공학과) ;
  • 김광현 (광운대학교 전자융합공학과) ;
  • 선준호 (광운대학교 전자융합공학과) ;
  • 이승우 (광운대학교 전자융합공학과) ;
  • 김수현 (광운대학교 전자융합공학과) ;
  • 김진영 (광운대학교 전자융합공학과)
  • Received : 2022.09.22
  • Accepted : 2022.12.09
  • Published : 2022.12.31

Abstract

Human heart rate can be used to measure exercise intensity as an important indicator. If heart rate can be predicted, exercise can be performed more efficiently by regulating the intensity of exercise in advance. In this paper, a FitRec-based prediction model is proposed for estimating running heart rate for users. Endomondo data is utilized for training the proposed prediction model. The processing algorithms for time-series data, such as LSTM(long short term memory) and GRU(gated recurrent unit), are employed to compare their performance. On the basis of simulation results, it was demonstrated that the proposed model trained with running exercise performed better than the model trained with several cardiac exercises.

사람의 심박수는 운동 강도 측정의 기준으로 사용되는 중요한 지표이다. 만약 심박수를 예측한다면 운동 중 운동 강도를 미리 조절하여 효율적으로 운동할 수 있다. 본 논문에서는 FitRec 기반 달리기 운동을 수행하는 사용자의 심박수를 예측하는 모델을 제안한다. 학습을 위해 Endomondo의 데이터를 사용하여 예측 모델에 적용한다. 성능 비교를 위해 시계열 데이터 처리 알고리즘 LSTM(long short term memory)과 GRU(gated recurrent unit)를 사용하였다. FitRec에 유산소 운동 중 달리기 데이터만 학습한 결과 여러 유산소 운동 데이터를 모두 학습한 모델보다 MAE(mean absolute error)와 RMSE(root mean squared error) 둘 다 성능이 향상됨을 확인하였다.

Keywords

Ⅰ. 서론

2020년 2월 이후 COVID-19 확산으로 인해 전 세계적으로 건강에 대한 국민적 관심이 높아지고 있다. 한 연구에 따르면 2018년 WHO에서 발표한 신체 활동 지침에 부합하는 유산소 운동과 근육 강화 활동을 수행한 성인은 COVID-19 감염 위험도가 20% 감소했고, COVID-19 감염 이후 중증 진행 가능성과 사망률이 각각 60%, 80% 이상 감소한다는 사실을 밝혀냈다[1]. 미국심장협회(American Heart Association, AHA)에 따르면, 올바른 유산소 운동을 수행하기 위해서는 목표 심박수를 최대 심박수의 50%와 80% 사이에서 운동하는 것을 권고하고 있다[2].

최근 유산소 운동과 관련하여 심박수 예측과 관련된 다양한 연구가 진행되고 있다[3-4]. 한 논문에서는 DARNN (dual-stage attention based recurrent neural network) 기반 FitRec을 통해 유산소 운동의 운동 경로 추천과 심박수를 예측하였다[3]. 다른 논문에서는 키, 성별 그리고 몸무게 등의 개인정보에 해당하는 데이터를 제외하고 심박수, 고도 그리고 속도 등의 운동 정보에 해당하는 데이터를 학습에 사용하여 유산소 운동의 운동 경로 추천과 심박수를 예측하는 P3FitRec를 제안하였다[4].

그러나 두 연구 모두 각각의 운동이 일정 시간마다 거리, 속도, 심박수 등의 값이 다르지만, 운동데이터를 분리하지 않고 하나의 유산소운동 데이터로써 사용하였다. 그리고 운동별 운동데이터 차이를 원핫 인코딩된 운동 id로 표현하였다. 이는 각각의 운동별 심박수 예측값 차이를 운동 임베딩 벡터에만 의존하여 온전히 한 운동의 심박수를 예측에 어려움을 겪는다. 본 논문에서는 예측 정확도를 높이기 위해 유산소 운동데이터 중 달리기 운동데이터만 사용하여 달리기 운동에 대한 심박수를 예측하는 시스템을 제안한다.

본 논문의 구성은 다음과 같다. Ⅱ장에서는 모델 관련 알고리즘을 소개한다. Ⅲ장에서는 본 논문에서 제안한 시스템 모델을 소개한다. Ⅳ장에서는 실험 및 결과를 확인하고 Ⅴ장에서 결론을 내리며 마무리 짓는다.

Ⅱ. 관련 알고리즘

1. 순환 신경망

순환 신경망이란 은닉층으로 순환하는 층을 이용하여 이전 상태의 은닉층 출력이 현재 상태의 은닉층 입력으로 들어가 연산에 포함되는 구조를 의미한다[5]. 그림 1은 순환 신경망 모델 구조를 보여준다. t 시점에서의 입력 x가 활성화 함수를 통해 출력층으로 나올 때 t-1 시점에서의 은닉 상태가 추가된다. 수식은 다음과 같다.

ht = tanh(Wxxt + Whht-1 + b),       (1)

yt = σ(Wyht + b)       (2)

OTNBBE_2022_v22n6_165_f0001.png 이미지

그림 1. 순환 신경망 모델 구조.

Fig. 1. Structure of recurrent neural network model.

(1)은 t 시점의 은닉 상태를 나타내고, (2)는 t 시점의 출력값을 나타낸다. σ는 비선형 활성화 함수 중 하나이다. t 시점의 은닉 상태는 t 시점의 입력값 xt와 t-1 시점의 은닉 상태 ht-1이 활성화 함수인 tanh 함수를 통과한 값이다. t 시점의 출력값 yt는 t 시점의 은닉 상태 ht가 활성화 함수 σ를 통과한 값이다.

2. 장단기 메모리 네트워크

장단기 메모리 네트워크는 은닉층을 장단기 메모리 블록으로 이용하는 네트워크로 순환 신경망의 종류 중 하나이다[6]. 순환 신경망 모델은 시점이 길어질수록 앞의 정보가 충분히 전달되지 못하는 현상이 발생한다. 이를 장기 의존성 문제라고 하며 이 문제를 보완한 구조를 장단기 메모리라고 한다. 장단기 메모리는 망각 게이트, 입력 게이트, 그리고 출력 게이트로 구성되어 있다. 그림2는 장단기 메모리 네트워크 모델 구조를 보여준다.

OTNBBE_2022_v22n6_165_f0002.png 이미지

그림 2. 장단기 메모리 네트워크 모델 구조.

Fig. 2. Structure of long short term memory network model.

망각 게이트는 얼마만큼의 장기 정보를 삭제할지 결정하는 게이트이다. 수식은 다음과 같다.

ft = σg(Wfxt + Ufht-1 + bf).       (3)

(3)에 따르면 망각 게이트는 t 시점의 입력값 xt와 t-1 시점의 은닉 상태 ht-1가 활성화 함수를 통과하여 출력된 값이다.

입력 게이트는 기억할 단기 정보의 양을 결정하는 게이트이다. 수식은 다음과 같다.

it = tanh(Wixt + Uiht-1 + bi).       (4)

(4)를 통해 입력 게이트는 t 시점의 입력값 xt와 t-1시점의 은닉 상태 ht-1가 활성화 함수를 지나 값을 출력한다.

기존 순환 신경망 모델이 t-1 시점의 은닉 상태가 t 시점에 추가되었다면 장단기 메모리 네트워크 모델은 셀 상태가 추가되었다. 셀 상태 또한 은닉 상태처럼 t-1 시점의 셀 상태가 t 시점의 셀 상태를 구하기 위해 사용된다. t 시점의 셀 상태는 다음과 같이 표현된다.

\(\begin{aligned}\tilde{c_{t}}=\sigma_{g}\left(W_{c} x_{t}+U_{c} h_{t-1}+b_{c}\right)\\\end{aligned}\)       (5)

\(\begin{aligned}c_{t}=f_{t} \odot c_{t-1}+i_{t} \odot \tilde{c_{t}}\\\end{aligned}\)      (6)

(5)에서 t시점의 입력값 xt와 t-1 시점의 은닉 상태 ht-1이 tanh 함수를 지나서 \(\begin{aligned}\tilde{c_{t}}\\\end{aligned}\)를 출력한다. (6)에서 망각 게이트에서 출력한 ft와 t-1 시점의 셀 상태 ct-1를 원소 간 곱으로 계산하고, 입력 게이트에서 출력한 it과 (5)에서 출력한 \(\begin{aligned}\tilde{c_{t}}\\\end{aligned}\)를 원소 간 곱으로 계산한 두 식을 더하여 t 시점의 셀 상태 ct를 출력한다.출력 게이트는 t 시점의 입력값 xt와 t-1 시점의 은닉 상태 ht-1이 활성화 함수를 지난 값이다. 이 값과 t 시점의 셀 상태 ct를 이용하여 t 시점의 은닉 상태를 결정한다. 출력 게이트를 수식으로 표현하면 다음과 같다.

ot = σg(Woxt + Uoht-1 + bf),       (7)

ht = ot ⊙ tanh(ct).       (8)

(7)을 통해 출력 게이트의 값을 구하고 (8)을 통해 t시점의 셀 상태의 값이 tanh 함수를 지나 출력 게이트의 값과 연산이 되어 t 시점의 은닉 상태를 구할 수 있다. t시점의 은닉 상태는 t+1 시점의 입력층과 t 시점의 출력층으로 보내진다.

3. GRU (Gated recurrent unit)

GRU는 장단기 메모리 네트워크(long short term memory: LSTM)의 장기 의존성 문제에 대한 해결책을 유지하면서, 은닉 상태를 업데이트하는 계산을 줄였다[7]. LSTM과 달리 셀 상태가 없고 출력, 입력 그리고 망각 게이트 대신에 업데이트, 리셋 게이트가 존재한다. GRU의 구조를 수식으로 다음과 같이 표현된다.

rt = σ(Wxrxt + Whrht-1 + br),      (9)

zt = σ(Wxzxt + Whzht-1 + bz),       (10)

\(\begin{aligned}\begin{aligned} \tilde{h}_{t}= & \tanh \left(W_{x h} x_{t}+\right. \\ & \left.W_{h h}\left(r_{t} \odot h_{t-1}\right)+b_{h}\right),\end{aligned}\\\end{aligned}\)       (11)

\(\begin{aligned}h_{t}=z_{t} \odot h_{t-1}+\left(1-z_{t}\right) \odot \widetilde{h}_{t}\\\end{aligned}\)       (12)

(9)는 리셋 게이트, (10)은 업데이트 게이트를 나타낸다. (11), (12)는 (9), (10)에서 구한 리셋 게이트와 업데이트 게이트의 값을 통해 그림 3에서처럼 연산하여 은닉 상태 ht을 출력한다.

OTNBBE_2022_v22n6_165_f0003.png 이미지

그림 3. GRU 모델 구조.

Fig. 3. Structure of GRU model.

Ⅲ. 시스템 모델

1. 실험 데이터

본 논문에서는 Endomondo에서 제공하는 데이터를 이용하였다[3]. 원본 데이터는 253,020개의 운동데이터가 있으며 1,104명의 사용자로 구성되어 있다. 표 1은 운동데이터 중 학습에 사용할 feature를 정리한 표이다. 표 1에서 나오는 것과 같이 학습에 사용할 feature 들은 distance, altitude, user id 그리고 heart rate이다. 학습 입력값에 distance, altitude, user id를 출력값에 heart rate가 들어간다. feature 중 user id를 제외하고 시계열 데이터로 구성되어 있으며 user id는 범주형 데이터로 구성되어 있다. 운동데이터 중 달리기의 심박수를 예측하기 위해 달리기 데이터만 사용하여 총 37,841개의 운동데이터를 사용한다. 37,841개 중 학습에 30,064개, 검증에 3,753개 그리고 테스트에 4,024개를 사용한다.

표 1. 학습에 사용할 특징.

OTNBBE_2022_v22n6_165_t0001.png 이미지

Table 1. Feature used in training.

2. 제안한 모델 구조

본 논문에서는 다수의 유산소 운동에서의 심박수를 예측하는 것이 아닌 달리기 운동에서의 심박수를 예측하는 것을 목표로 한다. 기존의 FitRec 모델에서 sport id feature가 빠졌으며 시계열 feature를 처리할 RNN에 LSTM과 GRU를 각각 사용하여 두 모델의 비교 성능을 확인한다.

제안된 모델은 그림 4와 같다. 입력값은 두 가지의 종류로 구성되어 있다. 시계열 데이터와 범주형 데이터로 시계열 데이터인 고도(altitude)와 거리(distance)는 RNN을 통해 user id는 임베딩을 거쳐 연결(concatenate)된다. 연결된 값을 input attention과 RNN으로 구성된 인코더와 temporal attention과 RNN으로 구성된 decoder를 거쳐서 심박수를 예측한다.

OTNBBE_2022_v22n6_165_f0004.png 이미지

그림 4. 제안한 심박수 예측 모델.

Fig. 4. Proposed heart rate prediction model.

3. 손실 함수

본 논문은 제안한 시스템 모델에 대해서 MSE(mean squared error)를 손실 함수로 사용한다. 수식은 다음과 같다.

\(\begin{aligned}M S E=\frac{1}{n} \sum_{i=1}^{n}\left(Y_{i}-\widehat{Y}_{i}\right)^{2}\\\end{aligned}\).       (13)

(13)에서 n은 입력 데이터 수를 나타내며, Yi는 실제 값을 나타내고, \(\begin{aligned}\widehat{Y}_{i}\\\end{aligned}\)는 예측값을 나타낸다.

Ⅳ. 실험 및 결과

1. 데이터 전처리

앞서 실험 데이터에서 선택된 데이터 필드에서 스포츠 종류 중 달리기를 사용하였다. 데이터의 입력값으로 사용할 거리 데이터를 위도, 경도 값을 통해 계산하였다. 거리의 경우 위도, 경도로 구성된 2개의 지점을 harversine을 통해 유도한다. 수식은 다음과 같다[8].

\(\begin{aligned}\begin{aligned} h= & \sin ^{2}\left(\frac{\phi_{2}-\phi_{1}}{2}\right)+ \\ & \cos \phi_{1} \cos \phi_{2} \sin ^{2}\left(\frac{\lambda_{2}-\lambda_{1}}{2}\right) \\ d= & 2 r \arcsin (\sqrt{h})\end{aligned}\\\end{aligned}\)       (14)

(14)에서 Φ1, Φ2는 지점 1과 지점 2의 위도이다. λ1, λ2는 지점 1과 지점 2의 경도이다. 는 유도한 거리이다. r은 지구의 반지름이다.

2. 하이퍼파라미터

본 연구에서 설정한 하이퍼파라미터는 총 5개이다. Dropout, 학습률, 셀의 개수, 배치 크기, 그리고 epoch이다. 각 파라미터에 대해 간략히 서술하겠다.

Dropout은 과적합을 막기 위한 층으로 정해진 비율로 무작위로 Dropout 층에 들어오는 입력값들을 0으로 설정한다. 본 논문은 이 값을 0.1로 설정한다.

학습률은 최적화 알고리즘의 조정 파라미터이다. 학습률이 너무 높으면 overshooting 현상이 발생할 수 있다. 학습률이 너무 낮으면 손실 함수의 최소화에 수렴하는 데 오래 걸릴 수 있다. 본 논문에서는 실험을 통해 이 값을 0.001로 설정한다.

셀의 개수는 은닉층의 셀 개수를 정하는 파라미터이다. 셀의 개수가 커지면 네트워크의 크기가 커지고 더 복잡한 데이터 처리가 가능하다고 예상한다. 실험을 통해 이 값을 64로 설정한다.

배치 크기는 학습 단위를 정해주는 파라미터이다. 모델이 학습데이터를 얼마나 받아들여 모델 내부의 변수들을 업데이트할 것인지 결정하는 파라미터다. 이 값은 2048로 설정한다.

epoch는 주어진 데이터를 몇 번 반복 학습할 것인지 결정하는 파라미터이다. 대체로 이 값을 증가시키면 학습 성과가 잘 나타나는 경향이 있지만 큰 값을 설정하면 과적합에 빠져 유의미한 학습 결과를 얻기 힘들다. 본 논문에서는 이 값을 20회로 설정한다. 추가로 과적합을 방지하기 위해서 early stopping을 설정하여 검증 손실 값이 3회 안에 향상되지 않으면 학습이 중단된다. 표 2는 본 논문에서 사용한 하이퍼파라미터를 정리한 표이다.

표 2. 실험 파라미터.

OTNBBE_2022_v22n6_165_t0002.png 이미지

Table 2. Simulation parameters.

3. 실험 결과

평가 지표는 RMSE(root mean squared error) 그리고 MAE(mean absolute error)를 사용하였다[9]. RMSE와 MAE는 예보 오류와 시계열 분석에 사용되는 지표[10]이며 수식은 다음과 같다.

\(\begin{aligned}R M S E=\sqrt{\frac{1}{n} \sum_{i=1}^{n}\left(y_{i}-x_{i}\right)}\\\end{aligned}\),       (15)

\(\begin{aligned}M A E=\frac{\sum_{i=1}^{n}\left|y_{i}-x_{i}\right|}{n}\\\end{aligned}\)       (16)

(15), (16)에서 yi는 예측값, xi는 실제값 그리고 n은 입력 데이터 수를 나타낸다. 표 3은 실제 데이터와 설계한 모델 간의 오차를 (15), (16)을 통해 계산한 결과를 정리한 표이다. 기존의 연구와 비교해서 달리기 데이터만 학습한 모델이 더 좋은 성능을 보여주고 있다. 두 모델 중에는 GRU를 사용한 모델이 더 좋은 성능을 보여줌을 확인한다. 그림 5, 6은 달리기 모델에서의 GRU, LSTM의 학습 손실을 나타낸다. 그림 7, 8은 GRU, LSTM의 테스트 데이터의 심박수 예측 결과 표본을 나타낸다. 두 모델 모두 높은 정확도의 예측을 보여준다.

표 3. 모델 성능평가.

OTNBBE_2022_v22n6_165_t0003.png 이미지

Table 3. RMSE and MAE of models.

OTNBBE_2022_v22n6_165_f0005.png 이미지

그림 5. GRU 모델의 학습 손실.

Fig. 5. Training loss of GRU model.

OTNBBE_2022_v22n6_165_f0006.png 이미지

그림 6. LSTM 모델의 학습 손실.

Fig. 6. Training loss of LSTM model.

OTNBBE_2022_v22n6_165_f0007.png 이미지

그림 7. GRU 모델 심박수 예측 결과.

Fig. 7. Heart rate prediction result of GRU model.

OTNBBE_2022_v22n6_165_f0008.png 이미지

그림 8. LSTM 모델 심박수 예측 결과.

Fig. 8. Heart rate prediction result of LSTM model.

Ⅴ. 결론

본 논문에서는 FitRec 기반 딥러닝 모델을 통해 달리기 운동의 심박수를 예측하는 모델을 제안하였다. 유산소 운동 중 달리기 데이터만 사용하여 데이터셋을 구성하였고, 시계열 데이터 처리를 위해 LSTM과 GRU 모델을 사용하여 비교 성능을 확인하였다. 심박수 예측에 대한 성능 지표인 RMSE와 MAE 관점에서, 제안한 모델이 FitRec과 비교하여 성능이 향상된 것을 확인하였다. 또한, LSTM 기반 모델이 GRU 기반 모델과 비교하면 향상된 성능을 보이는 것을 확인하였다.

추후 연구로는 더 다양한 feature 들을 추가하는 것을 생각해볼 수 있다. 심박수와 연관된 키, 몸무게, 나이 등의 사람의 신체적인 특징정보를 추가함으로써 각각의 지표들이 더 향상될 수 있을 것으로 예상한다.

본 논문에서 제안한 방식은 미래의 심박수를 예측하여 예측한 심박수를 토대로 사용자의 운동 강도를 추천하는 데 활용할 수 있다.

References

  1. S. W. Lee, J. Lee, S. Y. Moon, et al "Physical activity and the risk of SARS-CoV-2 infection, severe COVID-19 illness and COVID-19 related mortality in South Korea: a nationwide cohort study," British Journal of Sports Medicine, vol. 56, no. 16, pp. 901-912, June 2022. DOI: https://doi.org/10.1136/bjsports-2021-104203
  2. D. K. Arnett, et al "2019 ACC/AHA guideline on the primary prevention of cardiovascular disease: a report of the american college of cardiology/american heart association task force on clinical practice guidelines," Circulation, vol. 140, no. 11, pp. 596-646, Mar. 2019. DOI: https://doi.org/10.1161/CIR.0000000000000678
  3. J. Ni, L. Muhlstein, and J. McAuley, "Modeling heart rate and activity data for personalized fitness recommendation," The World Wide Web Conference, no. 11, pp. 1343-1353, May 2019. DOI: https://doi.org/10.1145/3308558.3313643
  4. X. Liu, et al "Privacy-preserving personalized fitness recommender system (P3FitRec): a multi-level deep learning approach," CoRR, Mar. 2022. DOI: https://doi.org/10.48550/arXiv.2203.12200
  5. R. Jozefowicz, W. Zaremba, and I. Sutskever, "An empirical exploration of recurrent network architectures," International Conference on Machine Learning, vol. 37, no. 9, pp. 2342-2350, July 2015. DOI: https://dl.acm.org/doi/10.5555/3045118.3045367
  6. S. Hochreiter and J. Schmidhuber, "Long short-term memory," Neural Computation, vol. 9, no. 8, pp. 1735-1780, Nov. 1997. DOI: https://doi.org/10.1162/neco.1997.9.8.1735
  7. K. Cho, B. van Merrienboer, D. Bahdanau, and Y. Bengio, "On the properties of neural machine translation: encoder-eecoder approaches." Association for Computational Linguistics, pp. 103-111, Oct. 2014. DOI: https://doi.org/10.48550/arXiv.1409.1259
  8. C. C. Robusto, "The cosine-haversine formula," The American Mathematical Monthly, vol. 64, no. 1, pp. 38-40, Jan. 1957. DOI: https://doi.org/10.2307/2309088
  9. T. Chai and R. R. Draxler, "Root mean square error (RMSE) or mean absolute error (MAE)? - Arguments against avoiding RMSE in the literature," Geoscientific Model Development, vol. 7, no. 3, pp. 1247-1250, June 2014. DOI: https://doi.org/10.5194/gmd-7-1247-2014
  10. Rob J. Hyndman and Anne B. Koehler, "Another look at measures of forecast accuracy," International Journal of Forecasting, vol. 22, no. 4. pp. 43-46, May 2006. DOI: https://doi.org/10.1016/j.ijforecast.2006.03.001
  11. D. Lee, "Cross correlation based signal classification for monitoring system of abnormal respriatory status," Journal of the Korea Academia-Industrial, vol. 21, no. 5, pp. 7-13, May 2020.