인공지능/컴퓨터비전

[CV]의료 영상에 최적화된 딥러닝 모델의 개발

9yeah 2021. 7. 8. 10:16
출처 : https://jksronline.org/DOIx.php?id=10.3348/jksr.2020.0171

Develpoment of an Optimized Deep Learning Model for Medical Imaging (의료 영상에 최적화된 딥러닝 모델의 개발)을 공부 목적으로 요약 정리한 포스팅입니다. 

 

서론

딥러닝과적합(overfitting)의 문제가 있었으나 사전 학습(pretraining) 개념과 드롭아웃(dropout) 개념을 통해 기존의 문제를 극복할 수 있음을 증명하였다.

머신러닝과 달리 딥러닝은 특징 추출과정이 없이 데이터로부터 자체적으로 특징을 추출하고 학습하기 때문에 사람의 개입 없이 데이터 의존적 학습을 수행한다.

 

하지만, 딥러닝 학습 방법은 데이터로부터 어떠한 과정을 통해 결과를 유추했는지 명확한 원리를 알 수 없기 때문에 블랙박스(black box)라고 불린다. 이는 딥러닝이 내린 결정에 대한 신뢰성과 직결되기에 딥러닝 학습 과정을 시각화하기 위한 많은 연구들이 시도되고 있다.

 

CAM(Class Activation Map)을 통해 딥러닝의 결정을 유추할 수 있다.

  • 대장 내시경 영상에서 용종 검출에 대한 딥러닝 모델의 마지막 레이어에서의 가중치 값들을 가시화하였고, 용종의 위치에서 강하게 활성화된 것을 컬러로 확인할 수 있다.

대장 내시경 영상에서 CAM을 통해 딥러닝 모델을 시각화한 결과

 

데이터 수집

오픈 데이터는 딥러닝 학습에 부족한 데이터를 보완할 수 있지만, 데이터의 퀄리티 및 신뢰성에 대한 문제점이 있다. 따라서 오픈 데이터를 사용할 경우에는 데이터 검증을 통한 신뢰성 확보가 우선되어야 한다.

 

대표적인 오픈 데이터셋


원시 데이터 수집 시에는 다양한 대표성을 보이는 데이터를 수집하여 학습 모델이 일반화될 수 있도록 하는 것이 중요하지만, 어쩔 수 없이 데이터 불균형이 발생한다면 데이터 증강(data augmentation)을 통해 보완을 해주는 것이 좋다.

레이블링 데이터는 학습되는 모델의 목적에 따라 수집 방법에 차이가 발생한다.

 

  • 분류 (classification)
  • 검출 (detection)
  • 분할 (segmentation)

 

1. 분류 (classification)

학습 데이터에 각 카테고리에 대한 번호를 매겨 레이블링을 수행한다.

비교적 과정이 간단하기에 빠른 시간에 학습 데이터 구축이 가능하다.

ex) 폐 종양의 양/악성 진단, 퇴행성 관절염의 K-grade 예측 등

 

2. 검출 (detection)

검출 대상의 위치에 박스 또는 원 형태의 관심영역(region of interest)을 그려 레이블링을 수행한다.

검출 대상을 영상에서 찾은 뒤, 위치를 표시해야 하기에 레이블링에 다소 시간이 걸리지만, 관심영역을 그리는 방법이 간단하기에 비교적 빠른 시간에 학습 데이터를 구축할 수 있다.

ex) 유방 종괴 검출, 대장 용종 검출 등

3. 분할 (segmentation)

특정 대상에 대한 정량적 측정이 필요한 경우에 이뤄진다.

대상의 정확한 구조를 추출해내야 하기 때문에 자유곡선 방식을 통해 분할 대상의 외곽을 따라 관심영역을 그려야 한다. 따라서, 분할 대상의 구조가 복잡할수록 관심영역을 그리는 시간이 증가하며, 분류 및 검출에 비해 레이블링 시간이 많이 소요된다.

ex) 병변의 면적 또는 체적의 측정이 필요한 경우, 병변의 형태 관찰이 필요한 경우


레이블링 작업은 딥러닝 모델의 개발 과정에서 가장 많은 시간과 노력이 요구된다.

 

선행 학습된 딥러닝 모델을 활용하여 이러한 문제를 일부 해결할 수 있다.

  • 모델 학습에 큰 기여를 할 수 있는 소량의 코어 데이터셋(core data-set)을 우선적으로 수집한 후, 이를 통해 선행 모델을 학습한다.
  • 이후, 나머지 데이터들은 선행 학습된 딥러닝 모델에 적용하여 결과를 얻고, 이를 수정하여 레이블링 데이터를 확보함으로써, 레이블링에 소요되는 시간의 단축이 가능하다.
  • 소량의 코어 데이터셋으로 학습된 딥러닝 모델은 많은 수정을 필요로 할 수 있으나, 점차 레이블링 데이터가 쌓일수록 딥러닝 모델의 성능도 향상되며, 레이블링 수정에 소요되는 시간 또한 단축될 수 있다.

 

또한, 의료 영상을 지원하는 무료 및 유료 레이블링 소프트웨어를 이용하는 방법도 있다.

  • ImageJ : 2D/3D 의료 영상 뷰어 및 영상 처리 기능을 제공하며, Box, Oval, Polygon, Freehand 등의 관심 영역 기능을 제공한다. 또한, 자바 기반의 코드가 공개되어 있으며, 플러그인 기능을 제공하여 원하는 기능을 직접 구현하여 추가하는 것도 가능하다.

 

데이터 증강 방법들을 적용한 연구들의 사례

 

데이터 증강

데이터 증강(data augmentation) 기법은 소량의 데이터를 바탕으로 컴퓨터 알고리즘을 통해 데이터의 양을 늘리는 기술로, 데이터 부족 및 불균형 문제를 해결하기 위한 최적의 수단이다.

 

의료 분야의 특성상 딥러닝 학습을 위한 데이터가 부족하거나 각 레이블 간의 데이터 불균형이 자주 발생한다. 데이터가 부족한 경우, 데이터셋의 특징을 잘 반영하지 못하거나 과소적합 및 과적합에 빠질 위험이 증가한다. 또한, 레이블 간 데이터의 양이 불균형한 상태에서는 딥러닝 모델의 학습이 데이터가 많은 레이블 쪽으로 편향될 위험이 증가한다.

 

  • 기존 영상을 변환하여 증강하는 방법
  • 새로운 데이터를 생성하여 증강하는 방법

 

1. 기존 영상을 변환하여 데이터를 증강하는 방법

데이터 증강에서 일반적으로 사용되는 방법으로, 영상의 기하학적 구조는 유지하면서 수학적 변환을 주어 데이터를 늘리는 방법이다.

 

데이터 증강 방법들을 적용한 연구들의 사례

  • 위치적 정보를 전환하는 방법
    • 뒤집기(flip)
    • 회전(rotation)
    • 이동(translation)
    • 배율(scale)
  • 픽셀 강도 정보를 기반으로 변환하는 방법
    • 영상 밝기(brightness) 및 감마 보정(gamma correlation)
    • 블러링(blurring)
    • 샤프닝(sharpening)

 

다양한 변환 방법 및 변환 파라미터 수준을 랜덤하게 적용하여 한 장의 영상으로부터 기하급수적으로 데이터를 증강할 수 있지만, 증강된 모든 영상들의 기하학적 구조가 그대로 유지되기 때문에 데이터의 대표성이 낮고, 이는 모델의 일반화 성능을 떨어뜨릴 수 있다.

 

2. 새로운 데이터를 생성하여 데이터를 증강하는 방법

샘플 데이터를 기반으로 새로운 데이터를 인위적으로 만들어내는 방법이다.

 

GAN(Generative Adversarial Network)

생성자(generator)와 구분자(discriminator)를 경쟁적으로 학습시켜 진짜 데이터와 구분이 어려운 가짜 데이터를 생성해내는 기법

 

  • Conditional PGGAN : 조건부로 점차 해상도를 높여 나가는 GAN 학습법
더보기

2019년, MR에서 2813개의 뇌 전이 암을 기반으로 새로운 뇌 전이 암 증강을 시도한 결과, 4000개의 새롭게 생성된 뇌 전이 암 데이터를 함께 학습하였을 때, 뇌 전이 암 검출에 대한 민감도(sensitivity)가 83%에서 91%로 증가하였음

 

GAN을 이용한 증강 방법은 영상의 기하학적 구조 자체가 다른 새로운 형태의 영상을 생성해내기 때문에 데이터의 대표성이 상대적으로 높다는 장점이 있다.

 

부적합 : 조직 검사의 확진이 필요한 암에 대한 진단과 관련된 경우

적합 : 양악성의 감별이 필요하지 않은 경우, 장기 영역의 분할이나 검출인 경우, 조직 검사나 추가적인 검사 없이 영상 소견만으로 확진이 가능한 경우 

 

하지만, GAN을 통해 생성된 데이터는 임상적 검증이 결여된 가짜 데이터로, 이를 통해 학습된 딥러닝 모델은 임상적 신뢰성이 떨어진다. 환자의 생명과 직결될 수 있는 의료 분야에서 학습 데이터의 임상적 신뢰성은 매우 중요한 문제이기에 딥러닝의 목적에 따라 GAN을 통해 생성된 데이터의 사용 여부를 고려해야 한다.

 

데이터 전처리

딥러닝 모델의 학습 전에 학습 데이터를 대상으로 처리되는 모든 과정을 포함한다.

기존의 데이터를 학습에 용이하도록 바꾸는 과정으로, 딥러닝 모델의 성능 향상에 직접적인 영향을 미치기 때문에 적절한 전처리 방법들을 선택하고 적용하는 것은 딥러닝 모델 개발에서 중요한 과정 중 하나이다.

 

목적에 따라 다양한 방법들이 존재하지만 의료 딥러닝 모델의 개발에서는 아래의 방법들이 주로 사용된다.

 

  • 비트 변환
  • 노이즈 제거 및 영상 개선
  • 정규화
  • 일괄적 영상 크기 조정

 

1. 비트 변환

의료 영상에서 주로 사용되는 특수한 전처리 방법이다.

일반 영상은 하나의 픽셀이 8bit를 가지지만, 의료 영상은 종류에 따라 8bit, 12bit, 16bit 등으로 구성된다.

 

  • 8bit : 초음파, 안저영상 등
  • 12bit 이상 : X-ray, CT, MR 등

 

12bit 이상의 영상은 Window Width/Level에 따라 8bit 영상으로 재구성하여 모니터에 표현된다. 따라서, 판독 시 모니터를 통해 보는 영상은 8bit로 변환된 영상이며, 판독 대상에 따라 Window Width/Level을 조절하여 육안 식별에 최적화하여 판독이 이뤄진다.

 

비트 변환은 이러한 특수성을 반영한 방법으로, 12bit 이상의 영상을 최적의 육안 식별이 가능하도록 특정 Window Width/Level을 조절하여 8bit 영상으로 변환하는 방법이다.

 

12bit 영상을 8bit로 변환할 경우 픽셀 손실이 발생하지만, 상황에 따라서는 픽셀 범위를 좁혀주는 것이 도움이 되는 경우도 있다.

즉, Window Level을 기준으로 Window Width 범위 밖의 픽셀 값들이 손실되는 것을 활용하면 학습 대상에서 불필요한 부분을 제거할 수 있기에 학습에 긍정적인 영향을 미칠 수 있다.

학습 대상의 특성에 따라 비트 변환을 통한 전처리 방법의 적용 여부를 결정해야 한다.

 

2. 노이즈 제거 및 영상 개선

저선량 CT의 경우 영상에 많은 잡음이 발생하는데 잡음은 영상 인식을 위한 학습에 불필요한 영향을 미칠 수 있기에 잡음 제거를 위한 필터링 알고리즘을 통해 잡음을 제거하는 것이 도움이 될 수 있다.

잡음 제거에 주로 사용되는 알고리즘은 다음과 같다.

  • Median Filter
  • Gaussian Filter

 

또한, 학습 대상이 주변 구조물과 대비(contrast)가 적어 경계의 구분이 어려운 경우 학습이 제대로 이뤄지지 않을 가능성이 크기에 영상 대비 및 선명도를 높이는 방법을 이용하기도 한다.

  • 히스토그램 평활화(histogram equalization)
  • 대비 제한 적응 히스토그램 평활화(contrast-limited adaptive histogram equalization)

 

CT 영상에서 잡음 제거와 영상 대비를 높이는 전처리 방법의 결과 예시

 

3. 정규화

정규화는 입력 영상의 화소값 범위를 제한하는 것이다.

8bit 영상의 경우 0~255 12bit 영상의 경우 0~4095의 화소 범위를 가지는데 이를 0~1 또는 -1~+1 사이의 범위로 좁혀 딥러닝 모델의 수렴 속도를 높일 수 있다.

 

4. 일괄적 영상 크기 조정

일괄적 영상 크기 조정은 학습 데이터의 크기가 제각각일 경우, 동일한 크기로 조정해주는 과정을 의미한다.

 

이때 동일한 크기로 크기 수정(resize)하는 과정에서 가로 세로 비율(aspect ratio)을 유지하거나 무시할 수 있다.

하지만 원본 영상에서의 형태학적 구조들이 손실된 채 크기 조정이 발생하기에 가급적 가로세로 비율을 유지해주는 것이 적절하다.

서로 크기가 다른 영상들의 가로세로 비율을 유지한 채 동일한 크기로 수정하기 위해서는

  • 짧은 변을 맞추고 잘라내거나
  • 긴 변을 맞추고 빈칸을 제로 패딩하여 채울 수 있다.

 

일반적으로는 긴 변을 맞추는 방법이 사용된다.

 

영상 크기 조정 기법의 예시

 

모델의 학습

전처리 과정이 끝난 후 사용할 딥러닝 모델을 선정하고, 학습을 위한 하이퍼 파라미터(hyper parameter)에 따라 학습이 이루어진다.

 

하이퍼 파라미터는 가중치(weight) 같이 모델이 스스로 설정하고 갱신하는 변수가 아닌, 사람이 직접 설정해주는 매개변수를 의미한다.

  • 배치(batch)의 크기
  • 에폭(epochs)
  • 학습률(learning rate)

 

이러한 하이퍼 파라미터는 값에 따라 모델의 성능이 크게 좌우될 수 있기에 매우 중요하지만, 사람이 직접 결정해야 하기에 많은 경험을 필요로 한다. 따라서 하이퍼 파라미터의 최적값이 존재하는 범위를 좁히면서 찾아내는 것이 효율적이다.

 

전이 학습 (transfer learning)

딥러닝 모델의 학습에는 대량의 학습 데이터가 필요하지만, 의료분야에서는 대량의 학습 데이터를 확보하기 어려운 경우가 많다. 이 경우 전이 학습을 통해 극복할 수 있다.

전이 학습이란 학습 데이터가 부족한 경우, 데이터가 풍부한 타 분야에서 사전 훈련된 모델을 재사용하는 학습 기법이다.

전이 학습은 학습 데이터의 수가 적을 때 효과적이며, 학습 속도와 정확도를 높일 수 있다는 장점이 있다.

 

모델의 검증

학습이 완료된 모델은 별도로 구축한 테스트 데이터를 통해 검증이 이뤄진다. 이는 학습된 모델을 대상을 새로운 데이터에서의 일반화 성능을 평가하기 위한 과정이다.

만약 테스트 데이터에서의 결과가 학습 데이터에서의 결과와 상이한 차이를 보이는 경우, 모델이 학습 데이터에 과적합(overfitting) 되었다고 유추할 수 있다.

교차 검증 (cross validation)

테스트 데이터가 충분하지 않은 경우에는 검증 결과만으로 모델의 일반화 성능을 단정 짓기는 어렵다.

특히, 의료 데이터는 특성상 모델의 일반화 성능을 확신할 정도의 충분한 데이터를 구축하는 것이 어려운 경우가 많기에 교차검증을 고려할 수 있다.

  • K-fold 교차검증 : 데이터셋의 모든 샘플들이 한 번씩 테스트 될 기회를 갖도록 하는 방법이다.
  • 전체 데이터를 사이즈가 동일한 k개의 하부집합으로 나누고, k번째 하부 집합을 검증용 데이터로, 나머지 k-1개의 하부집합을 훈련용 데이터로 사용한다.
  • 이를 k번 반복 층정하고 각각의 반복 측정 결과를 평균 낸 값을 최종 평가로 사용한다.
  • 하부 집합의 분포에 따라 적절한 k의 선정이 필요하며, k의 크기가 작아질수록 학습 데이터의 개수가 적어져 추정 값의 편향될 위험성이 있으며, 데이터의 배분에 따라 모델이 민감해져 추정의 분산도 증가될 위험이 있다.
  • k의 값은 5 또는 10이 위주로 사용되고 있으며, 많은 연산과 시간이 걸리지 않는 5-fold 교차 검증이 주로 사용되고 있다.

 

K-fold 교차 검증

 

외부 검증 (external validation)

데스트 데이터도 결국 동일 기관에서 확보된 가능성이 크기 때문에 교차 검증만으로도 일반화 성능을 확신하기에는 무리가 있다.

최근에는 타 기관으로부터 수집된 데이터를 통해 모델의 일반화 성능을 검증하는 외부 검증(external validation)의 필요성이 증가하고 있다.

 

모델의 경량화

딥러닝 모델은 학습 과정에서뿐만 아니라 서비스 활용 시에도 많은 양의 연산이 필요하고, 이를 위해서는 GPU 기반의 고성능 컴퓨팅 파워(computing power)가 요구된다.

실시간 처리가 필요하거나 모바일 환경과 같이 리소스 사용에 제한이 있는 경우에는 딥러닝 모델을 활용하기 위한 자원이 부족할 가능성이 높다.

이에 최근에는 모델 경량화를 통해 저사양의 환경에서 적은 연산으로도 정확도를 유지하며 딥러닝 모델을 학습하고 구동할 수 있는 경량화 기법들이 연구되고 있다.

모델의 네트워크 구조나 합성곱 필터 등이 효율적으로 설계된 딥러닝 모델을 활용하는 방법

잔여 블록이나 병목 블록, 밀집 블록 등의 구조 변경을 통해 연산량과 파라미터 수를 줄인 신경망 모델은 다음과 같다.

  • ResNet
  • DenseNet
  • SqueezeNet

 

채널별로 합성곱을 수행하고, 점별로 연산을 나누어 연산량과 파라미터를 줄인 모델은 다음과 같다.

  • MobileNet
  • ShuffleNet

 

기존 알고리즘의 하라미터를 줄임으로써 경량화하는 방법

가장 대표적인 방법으로는 모델 압축이 있다.

  • 가중치 가지치기 (weight pruning) : 기존 신경망 네트워크의 가중치 중 작은 가중치 값들을 모두 0으로 설정하여 모델의 크기를 줄인다.

+) 가중치 가지치기는 가중치를 0으로 만들어 뉴런을 삭제하는 드롭 아웃(dropout)과 동일한 효과를 가지지만, 드롭 아웃은 학습 과정에서 무작위로 가중치를 삭제하는 것이고, 가중치 가지치기는 삭제할 가중치를 선택할 수 있다는 차이점이 있다.

  • 양자화 기법 (Quantization) : 신경망의 32bit 부동 소수점 수준을 16bit나 8bit 등으로 줄여서 연산의 효율성을 높인다.

 

가중치 가지치기와 양자화 기법

 

지식 증류 방법

지식 증류 방법은 더 많은 파라미터와 연산량을 기반으로 선행 학습된 큰 규모의 모델(전문가 모델, teacher model)로부터 필요한 정보들을 작고 단순한 규모의 모델(숙련가 모델, student model)에서 전달받아 학습하는 기법이다.

적은 규모의 모델에서 큰 규모의 모델과 비슷한 성능을 낼 수 있다는 장점이 있다.

 

전이 학습 (transfer learning)

전이 학습은 다른 데이터로 학습된 모델의 결과를 옮겨와 이를 기반으로 학습하는 방법이다.

부족한 데이터와 훈련 시간을 단축할 수 있다는 장점이 있다.

이미 잘 학습된 모델의 결과를 기반으로 학습하기 때문에 적은 파라미터와 연산량에서도 기존보다 높은 수준에서 학습 결과가 수렴되어 딥러닝 모델의 경량화에 많이 활용되고 있다.

 

결론

일반화된 성능의 딥러닝 모델을 만들기 위해서는 방대한 데이터가 요구될 뿐만 아니라 데이터 준비 과정에서부터 데이터 증강, 전처리, 딥러닝 모델의 학습과 검증, 경량화까지의 모든 과정이 딥러닝 모델의 일반화 성능을 결정하는데 영향을 미칠 수 있다.

 

딥러닝의 목적과 데이터의 규모, 사용하는 영상의 특성을 바탕으로 개발 과정에서 각각의 상황에 적절한 최적화 방법을 고려해야 한다.

 

의료 분야에서의 인공지능의 역할은 임상적 신뢰성을 바탕으로 정확한 예측과 일관된 성능을 보이는 것이 중요하다.

이를 위해 의료 영상의 임상적 관점을 공학적으로 풀어내어 딥러닝 모델의 개발과정에 녹여내고, 이를 최적화하기 위한 방법들을 고려해야 할 것이다.