KecNet: A Light Neural Network for Arrhythmia Classification Based on Knowledge Reinforcement

LeeJeongHwi·2022년 8월 30일
0

Papers

목록 보기
5/7

KecNet: A Light Neural Network for Arrhythmia Classification Based on Knowledge Reinforcement

Journal : Hindawi, Journal of Healthcare Engineering

Abstract

모바일 디바이스에서는 빠르게 응답받고 대역폭 소비가 거의 없고 노동력이 많이 필요없음

최근 기술에서는 딥러닝 방식을 사용하면서 Nonlinear 패턴을 인식했는데, 이거는 리소스가 너무 크게 들어갔음

그래서 경량 신경망인 KecNet을 제안

--> MIT-BIH 데이터셋을 사용해서 분류

이 모델은 모바일 디바이스에도 충분히 사용 가능할 것 같다고 함

Introduction

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가지 상태에 대한 분류를 진행함

Problem Definition

분류모델 성능을 향상시키기 위해서 레이어 수를 증가시켜 representation capability를 향상시킴

근데 3가지 문제가 있음

  1. layer가 증가됨에 따라 파라미터 수 증가 --> 계산복잡성의 증가, 용량 증가?
  2. layer가 증가됨에 따라 Gradient Vanishing 문제 발생
  3. overfitting 방지를 위해 training data가 더 많이 필요함

저자들은 적은 레이어 개수(shallow Networks)를 사용하면서 모델 복잡성, training data 증가를 하지 않도록 하는 모델을 설계하는 것을 목표로 하였음

  • ECG 신호의 노이즈를 필터링하기위해 Bandpass Filter의 amplitude-Frequency 특성을 사용

  • dominant한 feature를 추출하는 것을 포함하여 relevant domain knowledge을 CNN의 설계 프로세스의 통합하려고함

  • CNN pooling 매커니즘으로 시간적 정보의 손실을 방지

Methods

Sinc-Convolution Layer

데이터의 품질은 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 gg를 정의

bandpass filter는 조절가능한 filter banks를 설계하는데 효율적인 선택인데, 이는 시간 영역 신호를 주파수영역 변환에 의해 다른 서브스페이스들로 분할되어 필터가 특정 주파수 영역의 정보에 의해 활성화되서 효과적이고 안정적인 필터링을 할 수 있어서 사용함

bandpass filter에 대해서 좀 더 공부하기

필터가 효과적으로 특정 주파수 범위의 복잡한 신호에서 components를 추출하기 때문에 robust함과 가독성이 향상됨

실제로 Sinc-Convolution을 적용하였을 때 다음과 같은 성능 향상을 이뤘음

Symbolic Representation of Rhythmic Features

CV : Coefficient of Variation

  1. ECG 조각에서의 R Peak Detection(Pan-Tomkins Algorithm) 을 수행하고 R-Peak 위치를 획득함
  2. RR Interval Series TT를 구함
  3. 평균과 표준편차를 구함
  4. Coefficient of Variation을 구함

The Architecture of the Network

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로 구성되어있음

  • Sinc-Conv_Layer
    • length  L=251length \ \ L = 251 일때 classification Accuracy가 가장 많이 향상되었다.
  • Std Conv Layer
    • filter size = 5, ReLU Activation function
  • Max-pooling Layer
    • 연산량 감소
  • Drop-out Layer
    • pooling 레이어 다음으로 ratio = 0.2 짜리를 추가
    • 처음 Full connection layer 다음에 ratio = 0.3 짜리를 추가
  • GAP (Global Average Pooling)
    • Dense layer 전 Feature map 감소
  • Dense Layer
    • Softmax Function을 사용해서 5개의 클래스로 나눔

Experimental

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

  • 60 epoch
  • 128 batch size
  • Adam Optim
  • 0.0003 Learning Rate

Result

요약하면 다음과 같다

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으로 인해 파라미터의 개수가 줄은 것으로 생각됨

Conclusion

가볍고 모바일디바이스 리소스로도 분류를 할 수 있게 2가지를 도입함

Physically Interpretable Sinc-Convolution Layer

  • feature extraction 성능을 향상시키고 CNN parameter number개수를 줄이기위한 Bandwidths based Customized Filter를 학습시키기위한 레이어

Rhythm Variation Coefficient

  • 얕은 CNN 내에서 Long-duration Correlation을 파악할 때의 어려움을 줄이고, 네트워크의 성능을 향상, 임상 사용성을 향상시키기위해 추가된 상관계수

최종적으로 ACC : 99.31%, SEN : 99.45%, PRE : 98.78%를 달성함

Appendix

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로 사용하여 학습시킨 것이 특징

profile
Goal : BioSignal Data Analysis

0개의 댓글