본 주차
1. 의료영상 분류 모델 학습 과정 정리
2. 분류모델 학습시 모델 평가하고,
3. 모델 성능 높이기 위한 방법 살펴볼 것
4. validation하는 방법,
5. overfitting을 줄이기 위한 regularization,
6. 데이터 오그멘테이션에 대해 공부
7. 또한, 분류 결과 얻고 나서 이 결과의 성능을 평가하는 방법에 대해 살펴볼 것.
저번 주차까지 feature추출해서 classifier 통과시키는 기법들과,
end to end로 결과를 구해줄 수 있는 CNN기법에 대해 알아보았다.
이런 의료영상 분류기들을 학습할때 진행되는 과정 정리해보자.
2주차에서는 rogistic regression, neural network에 대해 살펴봄
이런 부분들이 classifier임.
이 classifier학습하게 되면 추후 영상 들어왔을때 prediction할 수 있음
배우진 않았지만,
SVM, Random Forest등의 다양한 classifier를 학습 할 수 있다.
(이것들도 classifier이다.)
살펴봤던 문제 중 하나가.
영상의 space,크기가 너무 큰 경우에 classifier들의 오버피팅 문제가 생길 수 있다.
그래서 보통 feature를 뽑아주는 작업이 있다.
feature extrator로 피처 뽑아주고
뽑아진 피처를 바탕으로 클래시피케이션 수행하는 기법에 대해 알아 봄.
여기서 이 피처를 추출하는 기법을 살펴보면
영상 자체를 인텐스티Intensity값을 바로 피처로 이용할 수도 있고
혹은 텍스처정보들을 뽑아줄수가있다.(Haar feature에 대해 알아봤었는데,Haar feature 외에도 다양한 피처 익스트랙션 기법들이 있다. 그런 기법들을 사용할 수 잇다.)
또는 우리가 segmentation할 수 있다.
특정 중요한 영역들을 세그먼테이션 할 수 있고
세그먼테이션 되면 shape정보라던지, 특정영역에서의 intensity정보라던지 이런 정보들을 추출 할 수 있다.
그래서 보통 이런 피처를 추출하는 기법을 사용을 많이 한다.
3차시에서는 피처를 구지 익스트랙션 하지 않아도
end-to-end로 영상을 넣으면 바로 prediction이 되는 딥러닝 기반의 기법을 살펴봤음(CNN를 살펴봤음)
여기서는 보통 이런 피처 익스트랙션 작업들을 구지 하지 않아도 결과를 얻을 수 있었다.
이게 기본적인 스트럭처이고
영상이라던지, 의료영상이라던지 모두 이런 기본적인 구조를 따르는 경우가 많다.
의료영상인 경우 보통 preprossessing스텝이 추가되는 경우가 많다.
즉 영상이 들어왔을때, 영상을 바로(물론 바로 피처익스트랙션해도 되고, CNN해도 됨) 프리프로세싱 하는 경우가 많다.
왜냐면 의료영상데이터 경우, 서로 영상의 타입이 약간씩 다를 수 있기 때문이다.
예를들면 Voxel의 스페이싱이 조금 다를 수 있다.
그래서 복셀스페이싱을 서로 맞춰주는 부분이라던지
혹은 영상이 아주 잘 맞춰져있지 않은 경우
registration을 먼저 하는 경우가 있다.
그리고 인텐서티의 distribution이 다를 수 있기에 인텐서티를 먼저 normalization을 해주는 경우도 있다.
그리고 노이즈가 많을수도 있다.
그런 경우, 디노이징을 해서 노이즈를 없애준 다음 이 프로세싱 된 영상을 바탕으로
CNN넣어주거나(2번째 방법), 여기서부터 피처 추출해서 스텝을 진행하는 실험(1번째 방법)들이 진행이 된다.
또 우리가 살펴본것이
피처 익스트랙션한뒤,
이 피처들을 노말라이제이션 해줄수 있었다.
이 경우, 보통, demographic score 있었다.
데모그래픽스코어를 바탕으로 피처를 노말라이제이션 해줄 수 있었고,
추후 배우겠지만 피처들 중에서 중요한 피처들을 셀력션 해줄 수 있다.
중요하지 않은 피처들이 너무 많으면 오히려 오버피팅 일어날수 있기에
피처 셀렉션 하기도 한다.
이것이 전체적인 과정이고
보통 우리가 실험할때,
컨벤셔널conventional한 기법에 대해 실험을 해보고
특히 트레이닝 데이터가 적은 경우, 보통 첫번째 방식(feature추출해서 classifier 통과시키는 기법)으로 실험을 많이한다.
데이터가 조금 늘어나면 두번째 방식을 실험(딥러닝)을 많이 하기도 한다.
CNN이용할때도
데모그래픽스코어 이용하는 방법에 대해 저번 주차에 살펴봤었다.
이게 트레이닝 하는 과정이고,
트레이닝 할때나 테스트 영상 들어왔을때나 비슷한 작업이 수행된다.
만약 트레이닝할때 프리프로세싱 했다.
그리고 피처 추출한뒤에 노말라이제이션하고, 셀렉션하고, 클래시피케이션 했다면
테스트 영상 들어왔을때도 같은 스텝이 수행된다.
프리프로세싱하고 피처 뽑히고, 그 피처들이 노말라이제이션 되고, 그중에서 중요한 피처들로만 클래시피케이션 함
CNN도 트레이닝과 같은 과정으로 테스트가 진행된다.
다음 차시에서는 이런 실험들 진행할때 성능 높이는 방법에 대해 살펴보도록 하겠다.
'Deep learning' 카테고리의 다른 글
4-4. Transfer Learning (0) | 2020.11.05 |
---|---|
4-3. Overfitting / Regularization (0) | 2020.11.02 |
4-2. Validation (0) | 2020.11.02 |
3-6. CNN with demographic scores (0) | 2020.10.25 |
3-5. Advanced CNNs (ResNet, InceptionNet, DenseNet) (0) | 2020.10.05 |
3-4.Advanced CNNs (LeNet, AlexNet, VGG) (0) | 2020.09.15 |
3-3. Convolutional Neural Network (CNN) (0) | 2020.08.20 |