인공지능과 웨어러블 디바이스의 만남
안녕하세요. 다시 만나서 반갑습니다. 오늘은 HUINNO AI팀이 수행하고 있는 연구분야 중 하나인 심전도 분석 인공지능 모델의 경량화에 대해 소개하고자 합니다. 인공지능 모델 경량화 기술을 통해 웨어러블 디바이스 상에서 구동될 수 있는 높은 성능의 심전도 분석용 인공지능 모델을 제공함으로써 더 나은 의료 경험을 제공하고자 합니다.
본 포스팅은 “Compressed Deep Learning to Classify Arrhythmia in an Embedded Wearable Device (Lee et al, 2022).”의 내용을 참고하여 작성되었습니다.
강력하지만 가까이 하기엔 너무 무거운 인공지능
모바일이나 웨어러블 디바이스로부터 수집된 신호, 이미지 등의 정보를 클라우드 서버로 전송하여 인공지능 분석을 진행하는 인공지능 서비스에서는 네트워크 환경이나 서비스의 구조적 한계에 의해 사용자가 원하는 시점에 결과를 전달하지 못할 수 있습니다. 특히, HUINNO에서 현재 서비스하고 있는 ambulatory ECG에서는 심전도 측정이 완료된 후 반납된 웨어러블 디바이스로부터 심전도 신호를 추출하여 클라우드 서버로 전송하기 때문에, 환자의 증상에 빠르게 (혹은 조기에) 대응할 수 없는 구조적 한계를 가지고 있습니다.
위와 같은 한계는 클라우드 서비스에서 활용되던 인공지능 모델을 모바일이나 웨어러블 디바이스 환경에서 그대로 활용할 수 없기 때문에 마주하게 됩니다. 예를 들면, HUINNO AI팀에서 연구하였던 Resnet with a squeeze-and-excitation block 기반의 neural network는 심전도 판독에 있어 97.05%의 높은 f1 score(152 layer 기준)를 보여주지만 모델의 파라미터의 용량만 700 MB가 넘어 이를 작은 심전도 기기에서 구동시키기 쉽지 않습니다. 이러한 한계를 극복하기 위하여, 기존 모델의 성능을 최대한 유지하며 모델의 크기와 연산량을 줄여야하는 과제를 마주하게 됩니다.
경량화 기법들
인공지능 모델의 크기와 연산량을 줄이기 위해 어떻게 해야 할지 조금은 막막하지만 인공지능 모델 경량화에 사용되는 여러 기법들을 살펴보며 느낌을 잡아보겠습니다.
Pruning (가지치기)
- 모델을 구성하는 뉴런이나 시냅스의 개수 자체를 줄일 수 있다면 모델 자체의 크기를 줄일 수 있을 것입니다. 특정 뉴런이나 시냅스의 기여도를 판단할 수 있다면 가지치기할 우선순위를 판단하는데 도움이 될 수 있습니다.
Low-rank approximation
- 보통의 합성곱 신경망에서 학습된 여러 필터를 소수 기저 벡터의 조합으로 표현할 수 있다면(혹은, 근사할 수 있다면), 합성곱 필터를 저장하는데 필요한 용량을 절약할 수 있습니다.
Knowledge Distillation
- 원모델(Teacher Model)의 결과를 이용하여 경량화된 모델(Student Model)을 효과적으로 학습할 수 있는 방법입니다. 원모델에 학습된 generalized된 정보가 경량화된 모델로 효과적으로 transfer될 수 있습니다.
Quantization
- 실수형으로 학습된 필터가 어느정도의 범위 안에 존재한다고 가정할 수 있다면 이를 양자화하여 정수형으로 표현할 수 있습니다. 모델의 사이즈와 연산량이 줄어들게 됩니다.
모델 경량화
위와 같은 방법을 통해 모델을 얼마나 경량화할 수 있을까요? TensorFlow Lite를 이용하여 TensorFlow로 구현된 인공지능 모델을 경량화한 결과와 해당 모델을 임베디드 환경에서 구동한 결과를 살펴보겠습니다.
무엇보다도 모델의 파라미터 용량이 현저하게 줄어들었습니다. 클라우드 서버에서 구동되는 원모델의 파라미터 사이즈는 743 MB이었지만 경량화를 통해 embedded 환경에서 구동되는 경량화된 인공지능 모델의 경우에는 76 KB로 약 10,000배 가까이 감소했습니다. 여기서 더 중요한 것은 경량화된 모델이 원모델의 정확도를 거의 유지하며 (약 1.2%의 성능하락) 모델의 크기를 줄였다는 점입니다. 더불어서 연산에 필요한 리소스도 웨어러블 디바이스(임베디드 환경)에서 구동될 수 있는 수준의 결과를 보여줍니다.
기대효과
심방세동 환자의 약 15–30%는 무증상인 것으로 보고되고, 증상이 일시적으로 나타났다 하더라도 지속되지 않는 경우가 많습니다. 이는 질환에 대한 진단과 적절한 의학적 처치를 늦추는 결과를 가져올 수 있습니다. 이번에 살펴본 인공지능 경량화 기술과 같은 기술이 엣지 디바이스에 적용된다면, 해당 디바이스를 착용하고 있는 환자에 디바이스가 직접 적절한 피드백을 제공하고 환자에게 의료진에게 신속한 진단 및 처치를 요청할 수 있는 기회가 제공될 수 있습니다. 이러한 기회 제공함으로써 인공지능모델 경량화 기술은 환자에게 더 좋은 의료 경험을 제공하고 의료진의 생산성 향상에 기여할 수 있을 것입니다.
맺음말
앞으로 포스팅을 통해 HUINNO AI팀이 수행하고 있는 연구개발 내용을 소개하고 이를 통해 의료 서비스, 의료 경험 향상에 어떻게 기여하고자 하는지 지속적으로 공유하고자 합니다. 더 나아가서, 저희의 기술개발 내용이 단순한 기술적 발전에서 머무는 것이 아닌 모두가 느낄 수 있는 의료 경험으로 이어지길 소망하고 있습니다.
읽어주셔서 감사합니다.
참고문헌
Lee, K.-S.; Park, H.-J.; Kim, J. E.; Kim, H. J.; Chon, S.; Kim, S.; Jang, J.; Kim, J.-K.; Jang, S.; Gil, Y.; Son, H. S. Compressed Deep Learning to Classify Arrhythmia in an Embedded Wearable Device, Sensors 2022, 22, 1776. https://doi.org/10.3390/s22051776
TensorFlow Lite. Model Optimization. Available online: https://www.tensorflow.org/lite/performance/model_optimization.
Han, S.; Pool. J.; Tran, J.; Dally, W.J. Learning both Weights and Connections for Efficient Neural Networks. arXiv Prepr. 2015, arXiv:1506.02626. Available online: https://arxiv.org/abs/1506.02626.
Hinton, G.; Vinyals, O.; Dean, J. Distilling the Knowledge in a Neural Network. arXiv Prepr. 2015, arXiv:1503.02531. Available online: https://arxiv.org/abs/1503.02531.
Han, S.; Mao, H.; Dally, W.J. Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding. arXiv Prepr. 2015, arXiv:1510.00149. Available online: https://arxiv.org/abs/1510.00149.