INTRODUCTION
대부분의 FL paper들이 굉장히 시스템의 성능 측면에서 접근을 하다보니 실제로 FL이 적용된 어플리케이션이나 사례와 관련된 연구들을 찾아보기가 매우 힘들었다. FL의 특성을 생각해보면 Medical domain에서 굉장히 매력적인 기술이라 Medical informatics 쪽에서도 분명 재밌는 연구들이 있었을 것 같아서 (없으면 오히려 좋고...) JAMIA 논문들을 좀 찾아봤다. 그중에서 2021년에 나온 이 페이퍼가 가장 먼저 practical한 실제 임상 데이터를 기반으로 진행된 연구로 보여서 읽어봤는데, technical novelty 자체는 크게 없지만 읽은김에 정리해두려 한다.
DL은 nature image와 medical image의 domain을 막론하고 많은 성과를 보여왔다. 그런데 medical image는 환자의 privacy 같은 문제 때문에 이를 쉽게 공개하지 않고 따라서 적절한 open dataset이 없는 경우가 허다하다. 그 와중에 DL은 기본적으로 학습에 사용된 data들을 interpolation하는 역할을 하지 extrapolation하지 못한다. 쉽게 말하자면 학습에 사용된 distribution에 속하는 데이터들에 대해서만 잘 작동한다는 것. 그 distribution 밖의 data point에 대해서는 잘 작동하지 않는다. 이 두 문제가 결합되면서 medical domain에서 괜찮은 DL을 개발하는 것이 꽤나 어려운 일이다.
그런데 FL은 기본적으로 data sharing 없이 흩어져 있는 데이터들을 종합하여 학습할 수 있는 방법이다. 환자의 정보를 직접적으로 공개하기 어려운 medical data를 대상으로 사용하기 적합하다. 이 논문은 그 간지러운 부분을 긁어주는 논문인 셈이라고 생각한다.
MATERIALS AND METHODS
해당 연구에서 다루는 데이터는 prostate MRI segmentation으로 MRI 이미지에서 전립선의 위치를 명확하게 표기해내는 것이라고 할 수 있다. 연구에 참여한 단체는 기업은 총 4개로 nvidia, UCLA와 SUNY Upstate 2개의 대학, 그리고 미국 국립 암연구소(NCI)가 연구에 참여했다. 여기서 NCI가 nvidia가 협업+ model weight를 주고받는 것은 ok하고, 그 이외의 데이터는 하나도 공유되지 않는다는 협약을 맺었다고 한다. 진짜 FL의 목적에 맞는 시스템이 된게다. 모델은 3D Anisotropic Hybrid Network을 사용했다고 한다.
데이터셋 구성은 open된 데이터셋이 아니라서 구체적으로 다루진 않겠다만 80개의 이미지를 5개 세트로 등분해서 5개의 submodel을 300epoch씩 학습하였고, 학습에서 하나는 validation으로 돌리는 5-fold validation을 거쳤다고 한다. Server 자체는 privacy를 보장할 수 있는 형태로 설계해서 보안의 문제를 해결햇다고 언급했다.
모델의 평가의 경우 voxel segmentation을 고려하여 Dice coefficient를 사용했으며 수식은 아래와 같다.
EVALUATION
구체적인 data의 분포에 대한 내용도 포함되어 있는데 너무 논문을 그대로 옮겨놓는 느낌이라 배제했다. 아래는 각 model의 성능을 나타낸 것이다. 한 기업에서 나온 모델로 평가한 것과 FL 모델의 성능차이를 봤는데, 자기 데이터를 학습한 모델로 자신의 데이터를 infer한 성능보다는 구렸지만, 전체적인 성능을 보면 FL 모델이 성능이 좋다. 결국 generalization 자체는 FL 모델이 잘하고 있다는 것으로 해석할 수 있겠다.
그런데 결국 우리 병원 데이터를 더 잘 분류하면 그게 좋은거 아닌가? 생각할 수 있다. 해당 연구에서는 단순한 FedAvg 기반 학습을 했기에 이러한 결과가 나오는 것으로 보이는데, personalization 과정이나 해당 병원에 좀 더 fine-tuning하는 과정이나 방법을 추가하면 개선할 수 있다고 생각된다. 그리고 결국 본인 병원 데이터에 over-fitting되고 있다는 것이 딥러닝을 적용하는 병원 입장에서는 달갑지 않을 것이니까.
Table 4는 아예 외부 데이터를 통해서 성능을 평가한건데, 하나의 병원에서 나온 모델보다 FL을 통해 학습한 model이 훨씬 성능이 좋다는 것을 확인할 수 있다는 것!
DISCUSSION
discussion 파트에서도 저자들이 재밌는 이야기를 던진다. model inversion 기반의 training data 추출의 문제에 대해서도 이야기도 나와있고, model personalization이나 추가적인 병원들이 FL 과정에 참여하여 더 큰 heterogeity를 가진 상황에 대한 연구에 대한 이야기도 나와있으며 Continual Learning에서 사용되는 forgetting을 줄이는 방법등에 대한 적용도 future work으로 남겨두고 있다.
후기
진짜 practical하게 FL을 적용한 논문은 처음 읽어본 것 같다. 그냥 시뮬레이션만 오지게 돌리는 연구도 의미가 있긴 하지만, 이러한 연구들도 유의미하고 재미있게 한 번쯤 읽을 법하다고 생각한다. 확실히 좀 더 많은 숫자의 병원이 참여하는 연구도 재미있는 부분이며 training data 복구에 대한 문제에 대해서도 더 다뤄야 할 필요가 있어보이기는 한다.