Journal : Hindawi, Journal of Healthcare Engineering
모바일 디바이스에서는 빠르게 응답받고 대역폭 소비가 거의 없고 노동력이 많이 필요없음
최근 기술에서는 딥러닝 방식을 사용하면서 Nonlinear 패턴을 인식했는데, 이거는 리소스가 너무 크게 들어갔음
그래서 경량 신경망인 KecNet을 제안
--> MIT-BIH 데이터셋을 사용해서 분류
이 모델은 모바일 디바이스에도 충분히 사용 가능할 것 같다고 함
DNN으로 구축하기엔 많고 품질좋은 labeled data가 필요함, 또 그리고 노이즈가 많이 없는 데이터를 수집하기엔 많이 어렵고 비용이 많이 들음 그리고 제한된 데이터들로는 low robustness 리스크가 발생할 수 있음
--> lightweight하고 robust한 딥러닝 알고리즘이 필요
그래서 저자들은 KecNet이라는 이름의 모델을 제시했는데, 두개의 장점을 가진다.
(1) DSP를 더 정확하게 fit하기위한 customize Filter bank가 포함된 CNN Network를 구성하였는데 이는 복잡한 신호에서 특정 주파수 범위의 성분을 효과적으로 추출
--> 노이즈에 robust하고 구현 cost가 적게 소모됨
(2) ECG의 long-duration correlation Features는 모델의 성능 개선을 위해 추가 매개변수로 사용
MIT-BIH Dataset을 사용
A S V F Q 5가지 상태에 대한 분류를 진행함
분류모델 성능을 향상시키기 위해서 레이어 수를 증가시켜 representation capability를 향상시킴
근데 3가지 문제가 있음
저자들은 적은 레이어 개수(shallow Networks)를 사용하면서 모델 복잡성, training data 증가를 하지 않도록 하는 모델을 설계하는 것을 목표로 하였음
ECG 신호의 노이즈를 필터링하기위해 Bandpass Filter의 amplitude-Frequency 특성을 사용
dominant한 feature를 추출하는 것을 포함하여 relevant domain knowledge을 CNN의 설계 프로세스의 통합하려고함
CNN pooling 매커니즘으로 시간적 정보의 손실을 방지
데이터의 품질은 baseline drift, motion artifacts, electromyographic inference과 같은 noise에 영향을 많이 받음
그래서 기존 방법으로는 representation 방법이랑 가독성을 감소시킴
첫 Conv layer는 다이렉트로 original 데이터를 처리하는데 이 original 데이터는 많은 정보를 담고 있음, 그래서 이 첫 레이어가 잘 처리해줘야 다음 레이어들이 복잡한 비선형 데이터의 표현을 잘 처리할 수 있어서 매우 중요함
그래서 저자들은 Sinc-convolution layer를 제시하였음
bandpass filter 설계를 위해 파라미터화된 사인 주기함수가 이 레이어의 핵심인데,
SincNet논문을 기반으로한 구조를 참고문헌으로 사용하였음
SincNet은 low and high cutoff frequency를 학습함 --> 애플리케이션에 맞게 특별히 조정된 맞춤형 filter bank를 도출, 매우 컴팩트하고 효율적인 방법
논문 : SPEAKER RECOGNITION FROM RAW WAVEFORM WITH SINCNET
CNN이 filter들의 모든 parameter들을 학습하는 반면에 sinc-conv Layer는 조정 가능한 filter bank 를 정의
bandpass filter는 조절가능한 filter banks를 설계하는데 효율적인 선택인데, 이는 시간 영역 신호를 주파수영역 변환에 의해 다른 서브스페이스들로 분할되어 필터가 특정 주파수 영역의 정보에 의해 활성화되서 효과적이고 안정적인 필터링을 할 수 있어서 사용함
bandpass filter에 대해서 좀 더 공부하기
필터가 효과적으로 특정 주파수 범위의 복잡한 신호에서 components를 추출하기 때문에 robust함과 가독성이 향상됨
실제로 Sinc-Convolution을 적용하였을 때 다음과 같은 성능 향상을 이뤘음
CV : Coefficient of Variation
Conv1D기반 KecNet을 제안
Sinc-Convolution 1개, 2개의 Conv Layer, 3개의 Pooling Layer, 2개의 Batch Normalization Layer, 3개의 Dropout Layer, 1개의 Global average Pooling layer, 3개의 Dense layer로 구성되어있음
48 Dynamic ECG Recordings
30분 길이, 360Hz Sampling Rate, 11bit resolution
일반적으로 Wearable에서는 Single-Lead (Lead II)를 사용함
길이 M = 3600으로 data의 길이들을 나눔 (360Hz 라서 10초만 보게)
Z-score로 normalization을 해서 ECG segment들의 Amplitude를 Scaling 하고 offset effect를 제거함
offset effect : ?
ACC, SEN, PRE, PC 로 평가를 진행
HyperParmeters
요약하면 다음과 같다
Vanilla CNN과 비교했을 때 정확도가 2%, 민감도가 3%, 파라미터개수가 1/6 등 많이 개선되었고
Coefficient Variation을 영향도를 봤을 때에는 1~1.5% 차이가 났어서 이는 무시할 수 있는 수준이다.
그리고 PC Reduction (파라미터 개수 감소)에 대해서 비교했을 때
GoogleNet, MobileNet, SqueezeNet을 비교해보았는데,
GoogleNet은 논문에서 제안한 KecNet보다 좋은성능을 보였으나 그 차이는 그리 크지않고 오히려 GoogleNet의 경우 PC가 1326이고 그에 반해 KecNet은 267로 적은 개수의 파라미터개수를 보여줌
이는 Sinc Function으로 인해 파라미터의 개수가 줄은 것으로 생각됨
가볍고 모바일디바이스 리소스로도 분류를 할 수 있게 2가지를 도입함
Physically Interpretable Sinc-Convolution Layer
Rhythm Variation Coefficient
최종적으로 ACC : 99.31%, SEN : 99.45%, PRE : 98.78%를 달성함
SincNet
Frequency Domain에서의 Rectangle Function이 Time Domain에서는 Sinc Function으로 적용됨
즉 Frequency Domain에서 Rect Function이 곱셈연산으로 수행한 것은 Time Domain에서 Sinc Function로 Convolution 연산을 적용한 것과 같음
이러한 Sinc Function을 추가해서 Filtering을 하여 의미있는 filter를 찾는 것을 목표로함
low cutoff freqeucny, high cutoff frequency로 학습함
--> 맞춤형 필터를 제공할때 효과적
Raw WaveForm을 그대로 직접 Feed로 사용하여 학습시킨 것이 특징