본문 바로가기
내 맘대로 읽는 논문 리뷰/기타 분야

A novel wavelet sequence based on deep bidirectional LSTM network model for ECG signal classification

by 동석2 2021. 7. 14.

https://www.sciencedirect.com/science/article/pii/S0010482518300738

 

최근 ecg와 관련한 과제를 하게 되어, ecg signal에서 어떻게 하면 feature를 잘 뽑아 낼 수 있을까? 에 대한 답을 찾기 위해 읽게 된 논문이다. (2020년 논문)

 

Intro

현재 코드의 간단한 인코더로는 메모리나 데이터에 한계가 있음을 느껴, novel한 시그널 인코딩 방법을 찾고자 하였다. 제목이 매우 긴데, 요약하면 결국 ecg 시그널 해석에 맞게 인코더 첫 번째 layer를 변형하여 feature를 잘 뽑아서, 우리가 아는 Bidirectional LSTM에 넣어 분류해보니 매우 잘 되었다. 이다.

이전부터 signal에서 neural network를 통해 feature를 뽑아내는 모델들은 많이 제시되어왔었는데, (Neural Feature Extraction) 유명한 논문으로는 Wav2Vec, SincNet등이 있겠다. 이 둘은 주로 음성인식 모델로써 익숙할 것이다. sincnet이 이 논문과 비슷한 접근을 하였는데, 잠깐 살펴보겠다.

 

* sincnet 설명

https://ratsgo.github.io/speechbook/docs/neuralfe/sincnet

위 블로그를 참고하여 작성했습니다. 제 글보다 더 이해가 잘되니 관심있으신 분들은 이쪽으로 가시면 됩니다.

SincNet 역시 이 논문과 비슷한 맥락으로 signal 분석에 있어 가장 중요한 것은 첫 layer라고 보고, 첫 layer를 매우 novel한 방법으로 만들어 아주 좋은 결과를 이끌어 낸 바 있다.

간단히 해당 논문을 요약하면, 기존의 convolution filter를 통한 signal 분석은 filter의 초기값이나, window크기에 영향을 많이 받게 되어 중요값과 버릴 값 간의 차이가 명확해지지 않을 수 있게되기 때문에 좀 더 명확한 함수를 첫 layer에 사용하여, 차이를 명확하게 만든 것입니다.

이 명확한 함수는 bandpass filter라고 불리며, 주파수 공간에서 사각형의 filter로서 나타난다. 이를 사용하기 위해 푸리에 변환을 통해 시간 공간에서 주파수 공간으로 신호를 변환하여, bandpass filter와 유사한 모양을 가진 해밍 윈도우를 사용하여 층을 통과시키는 것이다.

이와 같은 변환+필터링이 가능한 것은, "시간 공간의 convolution이 주파수 공간의 곱셈과 같다"이기 때문이다. 자세한 증명은 위 블로그로..

그래서 위에서 말한 것들의 결과가 위와 같다. 위 그림에서 CNN filter의 경우 봐야할 중요 주파수와 버릴 주파수 간의 차이가 명확하지 않은 반면, sincNet의 경우 filter 값이 사각형에 가깝게 나와, 그 차이가 아주 명확해 보입니다. 이러한 테크닉을 통해 학습 속도를 빠르게 함과 동시에 성능과 해석력을 높인 것입니다.

 

결론은 시그널 분석에서 첫 layer를 잘 설정하는 것이 핵심이라는 것을 두 논문이 말해주고 있다는 것이다. 그렇다면 이 논문은 어떻게 layer를 설정하였을까?

WS layer

위 표가 바로 이 논문의 모델 구조이다. LSTM등등은 냅두고, 첫 층인 WS layer가 앞에서 말했 듯이 이논문의 핵심이 될 것이다.

WS layer의 가장 큰 핵심은 바로 DWT, discrete wavelet transform이다. DWT는 푸리에 변환과 같은 맥락의 신호 변환의 한 종류이다.

푸리에 변환의 경우, 시간 공간에서 주파수 공간으로 이동할 경우 시간 정보를 잃어버린 다는 단점이 있었다. (해당 주파수가 존재한다 를 알뿐, 언제의 주파수인지는 모를 것)

그래서 Short-time 푸리에 변환 등을 통해 공간을 나누어 해석을 했었다. DWT는 이 것을 좀 더 보완한 것으로,

주파수의 크기에 따라, 공간을 적절하게 배당하도록 한 것이다. STFT의 경우 주파수에 관계없이, 일정 시간 간격(윈도우)마다 주파수를 분해하여 변환하였는데 이 경우 윈도우를 아무리 잘 설정해도, 최적의 분해능을 찾을 수가 없었다.

그에 반해 DWT의 경우, 고주파의 경우 시간 해상도를 높이고, 저주파의 경우 주파수 해상도를 높이는 것으로 밸런스를 맞춘다.

이와 같은 것이 가능한 것은, 푸리에변환이 무한대의 함수를 가지고 변환하는 반면 DWT는 유한대의 함수이되, 사인파/코사인파와 비슷한 함수를 가지고 변환하기 때문이다. 그렇기에 다양한 범위의 해상도로 변환할 수 있는 것이다.

그래서 WS layer는 이러한 DWT를 적용하여, 계층적으로 feature를 뽑아 사용하게 된다. DWT를 적용하면 low-pass 와 high-pass 피쳐로 2가지 피쳐가 나오는데, high pass의 결과는 모으고 low-pass의 결과는 한번더 DWT를 적용해 보다 추상적 피쳐 또한 구할 수 있게끔 하였다.

논문은 이러한 DWT를 2개의 층으로 사용할 때 가장 좋은 결과를 냈다고 한다.

위 그림의 아래 b~e가 차례로 4계층 WS layer의 output이다. (c)~(d)사이가 가장 잘잡는 것처럼 보인다.

이렇게 구한 feature를 LSTM을 통해 분류한 것이 이번 논문이다.

 

Conclusion

결과는 거의 98~99%에 육박하는 accuracy가 나왔다고 한다. 놀라워라.. 달리 분석하지 않는 것은 직관적으로 당연한 이야기들이 이어졌기 때문이다. WS layer를 넣으니 6%정도 올랐다.. biLSTM쓰니 더올랐다.. 등등.

우선 이 논문 리뷰의 초점은 인코더과정에서 단순한 convolution을 사용하는 것 보다, 좀 더 시간축을 반영할 수 있게끔 피쳐를 추출할 방법을 연구해봐야 한다는 것이다. 그것이 DWT변환이 될 수도 있고, 다른 논문을 보면 autoencoder를 사용하기도 한다. 조금 더 공부해보고 후속논문을 리뷰해보도록하겠다.

직전학기의 RL project를 하면서 본 논문도 리뷰해야할텐데, 일이 많아 걱정이다.. 까먹을 것 같아..

'내 맘대로 읽는 논문 리뷰 > 기타 분야' 카테고리의 다른 글

Selective Learning: SelectiveNet  (0) 2022.01.05
WGAN-GP  (0) 2021.08.02
Wasserstein GAN  (0) 2021.07.29