- 현미경 조직검사 이미지를 8개 진단 결과로 분류하는 과제였다. 전처리 없이 CNN에 넣었을 때 검증 정확도 64%, 테스트 정확도 12%였다. 8클래스에서 12%는 무작위로 답하는 것과 다르지 않다.
- 데이터를 늘리거나 층을 더 쌓는 대신, 병리학자가 진단에서 무엇을 보는지를 먼저 조사했다. Nottingham Histologic Score의 세 요인이 모두 세포핵을 본다는 점에서, 문제를 '모델이 못 본다'가 아니라 '판단에 필요한 경계가 이미지에 흐리게 담겨 있다'로 다시 정의했다.
- 조건을 한 번에 하나씩만 바꿨다. 층의 깊이(0.4832 / 0.4658, epoch 30) → 인셉션 모듈 + ImageNet 전이학습(40배율 0.9326, epoch 50) → 평균 적응임계처리(0.9808, epoch 50) 순이다.
- 적응임계처리는 40 · 100 · 200배율에서 원본을 이겼지만 400배율에서는 원본(0.9657)이 평균 적응임계(0.9640)보다 높았다. 보고서 본문은 '모든 배율에서 원본보다 높았다'고 적었지만 표는 그렇지 않아, 이 반례를 지우지 않고 그대로 남겼다.
- 정확도에서 멈추지 않고 CAM으로 11개 레이어의 활성화를, Grad-CAM으로 gradient가 실제로 세포핵에 오르는지를 확인했다. 일부 이미지는 끝까지 해석되지 않았고, 그 한계도 결론에 그대로 적었다.
| 0.12 → 0.9808 | 40배율 테스트 정확도 | 전처리 없는 CNN 0.12(8클래스 · epoch 20) → 층 깊이 조정 0.4832(epoch 30) → 인셉션 전이학습 0.9326(epoch 50) → 평균 적응임계처리 0.9808(epoch 50). 네 수치의 평가 조건이 서로 다르다. |
| 0.9808 | 최고 정확도 | 평균 적응임계처리 · 40배율 · epoch 50. 같은 배율 원본은 0.9326이었다. |
| 0.9657 > 0.9640 | 400배율의 반례 | 400배율에서는 전처리 없는 원본이 평균 적응임계처리보다 높았다. 이 배율 최고값은 BINARY의 0.9685다. |
| 8클래스 × 4배율 | 분류 문제 크기 | BreaKHis 악성 4종 · 양성 4종, 40 · 100 · 200 · 400배율. 배율당 1,800~2,000장 수준이고 40배율은 1,855장이었다. |
| 8,560,264 | 첫 모델의 파라미터 | 그중 8,389,120개(98%)가 Flatten 직후 Dense 한 층에 몰려 있었다. 학습 데이터는 배율당 2,000장이 되지 않았다. |
| 1–4일 | 조직검사 소요시간 | 작은 조직 약 1–2일, 큰 조직 약 3–4일(홍은경, 2013). 자동조직과정처리기 한 단계에만 15시간이 걸린다. |
왜 유방촬영술이 아니라 조직검사 이미지인가
모델 이야기 전에, 이 문제가 왜 풀 만한 문제인지가 보고서 1.1절에 숫자로 적혀 있다.
보고서는 문제의 크기부터 숫자로 세웠다. 전체 사망에서 암이 원인인 비율은 26.5%(2018년 통계청)이고, 여성의 유방암은 전 세계적으로 매년 200만명 이상 발생한다. 유방암 조기진단에서 조직검사는 병리과 전문의 판독으로 암 진단 여부가 결정된다. 분당서울대병원 자료에 따르면 유방촬영술에서 악성이 의심되어 조직검사를 시행했을 때 실제로 악성으로 확진되는 경우는 30%다. 조직검사 이미지를 통한 검사가 필수적이라는 뜻이고, 이 지점이 연구 대상을 유방촬영술 이미지가 아니라 조직검사 이미지로 정한 이유였다.
시간도 근거였다. 조직검사에 소요되는 시간은 작은 조직 약 1–2일, 큰 조직 약 3–4일이다(홍은경, 2013). 보고서 Figure 1의 조직병리검사 공정도에는 단계별 소요시간이 그대로 적혀 있다.
| 순서 | 공정 | 소요시간 |
|---|---|---|
| 1 | 검체접수 (운반 · 고정) | — |
| 2 | 육안검색 | 2–3시간 |
| 3 | 자동조직과정처리기 — 탈수 / 투명 / 파라핀침투 | 15시간 |
| 4 | 포매 | 2시간 |
| 5 | 박절 | 2시간 |
| 6 | 슬라이드 건조 | — |
| 7 | 염색 | 1시간 |
| 8 | 표본과 검사용지 정리 | 1시간 |
| 9 | 판독 (현미경 관찰) | — |
여기에 Alom et al.의 지적을 더했다. 병리학자들은 패턴 · 질감 · 다양한 형태학적 특성을 배율이 다른 이미지들에 대해 각각 검사해야 하므로, 이 일부 작업을 자동화하는 알고리즘이 필요하다는 것이다. 그래서 연구 목표를 두 갈래로 세웠다 — 조직검사 이미지를 인식하는 CNN architecture를 개발해 정확도를 높이는 것, 그리고 의사의 업무 프로세스를 돕기 위해 이미지 인식에 영향을 준 부분을 제안할 수 있는 알고리즘을 제안하는 것이다. 뒤쪽 목표가 나중에 CAM · Grad-CAM으로 이어진다.
조직검사 전 시각적 분석을 위해 염색한 뒤, 진단 과정에서 집중적으로 볼 부위를 전체 슬라이드 조직 스캔으로 결정한다는 사실도 함께 조사해 두었다. 사람이 슬라이드 전체를 훑어 볼 곳을 고르는 절차가 있다는 것은, 뒤에서 모델이 어디를 보는지 확인해야 한다는 요구로 되돌아온다.

출발점 — 검증 64%, 테스트 12%
8개 클래스에서 테스트 정확도 12%는 무작위로 답하는 것과 다르지 않았다.
과제는 현미경 조직검사 이미지를 8개 진단 결과로 분류하는 것이었다. 데이터는 BreaKHis(보고서에는 “Breast Cancer Classification Challenge 2015 데이터 세트”로 표기)로, 40 · 100 · 200 · 400배율 각각에 대해 악성 4종 · 양성 4종이 폴더로 나뉘어 있다. 배율별 데이터는 1,800~2,000장 수준이어서 클래스당 장수가 적었다.
전처리 없이 CNN에 넣어 epoch 20으로 학습시켰을 때, 검증 정확도는 64%였지만 테스트 정확도는 12%였다. 8개 클래스에서 12%는 무작위로 답하는 것과 다르지 않은 수준이고, 검증과 테스트의 간격이 그대로 심각한 과적합을 가리켰다. Wenzhong(2020)의 논문도 배율이 높아질수록 검증 정확도와 테스트 정확도의 차이가 커지는 문제를 지적하고 있었다.
이때 사용한 아키텍처는 보고서 Table 1에 그대로 기록되어 있다.
| Layer (type) | Output Shape | Param # |
|---|---|---|
| input_1 (InputLayer) | (None, 150, 150, 3) | 0 |
| conv2d (Conv2D) | (None, 148, 148, 32) | 896 |
| max_pooling2d (MaxPooling2D) | (None, 74, 74, 32) | 0 |
| conv2d_1 (Conv2D) | (None, 72, 72, 64) | 18,496 |
| max_pooling2d_1 (MaxPooling2D) | (None, 36, 36, 64) | 0 |
| conv2d_2 (Conv2D) | (None, 34, 34, 128) | 73,856 |
| conv2d_3 (Conv2D) | (None, 32, 32, 64) | 73,792 |
| max_pooling2d_2 (MaxPooling2D) | (None, 16, 16, 64) | 0 |
| flatten (Flatten) | (None, 16384) | 0 |
| dense (Dense) | (None, 512) | 8,389,120 |
| dense_1 (Dense) | (None, 8) | 4,104 |
표에 적힌 파라미터를 더하면 8,560,264개이고, 그 가운데 8,389,120개(98%)가 Flatten 직후의 Dense 한 층에 몰려 있다. 데이터가 배율당 2,000장이 안 되는데 학습해야 하는 파라미터는 856만 개인 구조였다. 여기서부터 무엇을 하나씩 바꿔 볼 것인가가 이 연구의 형식이 되었다.
무엇을 분류하는가 — 여덟 진단명의 정의
클래스 이름만 옮기면 무엇을 분류하는지가 사라진다. 보고서 3.1절은 여덟 진단명을 하나씩 조사해 두었다.
BreaKHis의 여덟 폴더가 각각 어떤 질환인지를 조사해 적어 두었다. 비율이 함께 기록된 항목이 있어 클래스 불균형의 배경이 드러난다.
| 구분 | 진단명 (폴더명) | 보고서에 기록된 정의 |
|---|---|---|
| 악성 | 유관상피내암 DCIS (ductal_carcinoma) | 도관(duct)에서 시작된 암. 유관을 이루는 세포에서 생긴 암으로, 유관의 기저막을 침범하지 않고 유관 안에 있는 제0기 암이라고도 한다 |
| 악성 | 소엽암 (lobular_carcinoma) | 엽(lobe)에서 시작된 암. 암이 되기 전(pre-cancerous) 세포가 유방 세포조직 안에서 발견될 수 있다 |
| 악성 | 유방 점액성암 (mucinous_carcinoma) | 보고서에는 이 항목 설명 자리에 “모든 유방암의 1% 미만을 차지하는 매우 드문 유형의 침습성 유관 유방암 … 현미경으로 볼 때 보이는 손가락 모양의 돌기 또는 구진에서 유래”라는 서술이 들어가 있다 (마지막 절의 정정 항목 참조) |
| 악성 | 유두상암종 (papillary_carcinoma) | 여성 유방암에서 약 0.3–2%를 차지하는 비교적 드문 종양. 방사선 검사 · 세포 검사 · (핵심)총생검 조직검사로는 구별이 어렵다 (원문은 무엇과 구별이 어려운지를 “유두암종과는”으로만 적어 두어 대상이 분명하지 않다) |
| 양성 | 선증 (adenosis) | 유방 질환에서 흔한 조직학적 소견이지만, 드물게 주변의 종말관소엽단위(terminal duct/lobular unit, TDLU)와 합쳐져 임상적으로 만져지거나 육안으로 인지되는 선증종양(adenosis tumor)을 형성한다 |
| 양성 | 유방섬유선종 (fibroadenoma) | 유방에서 발생하는 종양 중 가장 흔한 양성종양. 정확한 원인은 밝혀지지 않았으나 젖을 분비하는 유선 말단부위의 과다한 증식과 이에 따른 유방조직 변형 때문으로 알려져 있다 |
| 양성 | 엽상종양 (phyllodes_tumor) | 암인 경우를 악성 엽상종양, 암이 아닌 경우를 양성 엽상종양이라고 부른다 |
| 양성 | 관상선종 (tubular_adenoma) | 크기가 1cm 이상인 선종, 현미경 소견에서 융모 형태(villous adenoma)를 보이는 선종, 세포가 덜 분화된 선종은 암으로 발전할 가능성이 높다. 흔하지만 악성화 경향은 낮은 양성 종양 |
진단 방법 쪽도 함께 조사했다. 국립암센터 자료에 따르면 진단을 위한 검사에는 조직병리검사 · 세포병검사 · 조직화학검사 · 면역병리검사가 있고, 이 연구는 그중 조직병리검사로 얻은 이미지를 사용했다. 그리고 종양과 암을 구분하는 요인은 다음과 같이 정리되어 있었다(홍은경, 2013).
- 암세포의 형태학적 이상
- 세포 간의 관계 이상
- 세포들이 질서정연하지 않다는 것
- 그 외 종양의 크기, 주위 조직 · 장기 침윤, 혈관 · 림프관 침윤
이 네 항목이 뒤에서 임계처리 결과를 눈으로 판정할 때 쓴 기준이다. 40배율 악성 이미지에서 “세포핵 경계의 질서정연하지 못한 모습”을 봤다고 적은 것은 세 번째 항목을 그대로 적용한 것이다.
병리학자는 무엇을 보는가 — Nottingham Score를 전처리로 번역하다
모델이 못 보는 것이 아니라, 판단에 필요한 경계가 이미지에 흐리게 담겨 있는 것이 문제라고 봤다.
데이터를 더 넣거나 층을 더 쌓기 전에, 병리과 전문의가 무엇을 보고 진단하는지를 먼저 조사했다. 정리한 내용은 세 갈래였다.
- Nottingham Histologic Score(the Elston-Ellis modification of Scarff-Bloom-Richardson grading system, Johns Hopkins pathology)는 유방암 등급을 정할 때 병리학자가 고려하는 세 요인을 ① gland formation의 양(세포 분화도와 종양세포가 정상 샘을 재생하는 정도) ② 핵 특징(다형성 및 종양 세포의 고르지 못한 모양) ③ 종양 세포가 분열·증식하는 정도로 정리하고 있었다.
- 암의 분화도(National Cancer Institute)는 G1 고분화(정상세포와 비슷한 상태) → G2 중등도 분화 → G3 저분화(정상세포와 비슷한 점이 거의 없는 상태) → G4 미분화(어떤 세포에서 기원했는지 구별이 불가능한 상태)로 나뉘고, 단계가 높을수록 공격적인 양상을 보인다.
- 등급별 조직검사 이미지의 특징은 1급이 균일한 핵을 가진 각진 nuclei, 2급이 tubular gland structure를 형성하지만 일부 영역에 비정형 핵을 포함하는 nests of cells가 잘 형성되지 않은 모습, 3급이 뚜렷한 핵 이형성과 유사분열을 가진 nests of cells(nests cells with marked nuclear atypia and mitotic activity)였다.
세 기준 모두 세포핵을 본다. 그런데 정작 그 세포핵은 일반적으로 흐릿하게 보이므로, 핵과 주변 사이의 경계를 높여 CNN이 인식하게 만들어야 한다는 지적이 선행연구에 있었다(Loukas, 2013). 여기서 문제의 진단이 바뀌었다. 모델이 못 보는 것이 아니라, 판단에 필요한 경계가 이미지에 흐리게 담겨 있는 것이 문제라고 봤다. 그렇다면 답은 모델을 키우는 것이 아니라, 병리학자가 보는 곳을 모델이 보게 만드는 것이다.
보고서에 실린 Nottingham 등급표를 보면 세 요인이 실제로 수치로 잘려 있다. Grade 1은 종양의 75% 이상이 샘 구조를 이루고 핵이 정상 유방 상피세포와 크기가 비슷하며 10 high power field당 유사분열이 7개 미만, Grade 2는 샘 구조 10–75%에 유사분열 8–15개, Grade 3은 샘 구조 10% 미만에 핵소체가 뚜렷하고 크기·모양의 변이가 크며 유사분열 16개 초과다. 사람이 세는 것은 샘 구조의 비율과 핵의 모양이고, 둘 다 경계가 보여야 셀 수 있는 것이다.





선행연구 열 편 — 무엇을 가져오고 무엇을 버렸는가
보고서 2장은 열 편을 읽고 정리한 절이다. 정확도 수치까지 함께 적혀 있다.
모델을 바꾸기 전에 유방암 이미지 인식 연구의 방법을 논문으로 조사했다. 보고서 2.1절에 정리된 내용이다.
| 문헌 | 방법 | 기록된 수치 · 시사점 |
|---|---|---|
| 권보준 (2013) 유방 초음파 | 병변 영역에서 기하 · 통계 · 밝기 · 텍스처 · 경계 · 모양 특징을 추출. 경계의 명확성을 경계 안과 밖의 밝기 변화량 차이로 정의해 경계 픽셀 히스토그램으로 만들고, 랜덤 포레스트로 학습 | 긴 병변보다 위아래로 분포한 병변이 암일 확률이 높고, 병변 경계가 불분명할 경우 암이 될 확률이 높았다. 밝기의 최소 · 최대 · 평균 · 표준편차 · 파워 · 최빈값 · 백분위를 사용 |
| Wenzhong (2020) | ResNet + Inception 모델. 이후 ResNet · Inception module · AlexNet을 모두 합친 DeepBC 제안 | 시스템 정확도가 배율이 증가함에 따라 점차 감소했고, 배율이 높아질수록 검증-테스트 정확도 차이가 커졌다 |
| Loukas (2013) | kNN · SVM · PNN. 저배율 조직학적 단면에서 겹치는 세포나 총체적 구조를 제거해 반영 | 세포핵이 일반적으로 흐릿하게 보이므로 핵과 주변 사이의 경계를 높여 CNN이 인식하게 만들어야 한다 — 이 연구의 전처리 설계가 여기서 나왔다 |
| Alom et al. (2019) | Inception Recurrent Residual CNN (IRRCNN). 악성/양성 이진 분류와 진단결과 다중 클래스 인식 | 기존 SIFT · LBP · LPQ · GLCM · TAS · PFTAS 기반 연구는 85% 수준이었으나, Recurrent Convolutional Layers 추가 + 크기조정 · 이미지 자르기 · 데이터 증강으로 최고 99% |
| George (2020) | NucDeep — 오버랩되지 않는 핵 패치로 저복잡도 CNN 설계, 피처 퓨전(FF) + SVM, 패치 클래스 확률 기반 의사결정(NucDeep + SVM + PD) | 기존 방법은 대부분 세포핵 분할·분류 기반이고 핵 인식에 Laplacian blob detector를 썼다. NucDeep는 로컬 핵 피처를 컴팩트한 영상 수준 피처로 바꿔, 학습 복잡성이 낮음에도 기존 방법을 능가 |
| Kumar (2015) | 형상 · 배경 세포 세분화 · 특징추출. 텍스처 · 색상 기반 기능, GLCM, Law's Texture Energy(LTE), Tamura 특징추출 | 구조의 특징을 강조하는 방법으로 정확도를 높였다 |
| Alzubaidi (2020) | 회전 및 밝기를 변화시키는 데이터 증강 | 환자에 따른 과적합 영향을 줄임. 세포의 회전에 따른 과적합을 줄일 수 있어 이 종합설계에서도 필요성을 느꼈다 |
| Vaka (2020) | Deep Neural Network with Support Value (DNNS) 3단계 — ① 필터링으로 노이즈 제거 ② 엔트로피 · 기하학적 · 텍스트 기능 추출 ③ Histo-sigmoid 기반 퍼지 클러스터링으로 종양 분할 | 히스토그램 값 · Sigmoid · Histo-sigmoid 함수의 수학 방정식을 수정해 데이터 부족 문제를 해결하려 했다 |
| Wang (2019) | 사전학습 DCNN 4개(DenseNet121 · ResNet-50 · 멀티레벨 Inception V3 · 멀티레벨 VGG-16)로 멀티네트워크 피처 추출 → Dual-Network Orthogonal Low-Rank Learning(DOL) → 앙상블 SVM(E-SVM) | ICIAR 2018 Challenge 데이터셋에서 97.70%. 양성 · 상황암 · 침습성 암 · 정상 4등급 분류 |
| Hwang & Cha (2020) 남성 유방암 review | Yuan 등이 시행한 남성 유방 종괴 125개(양성 100 · 악성 25)의 수술 전 초음파 소견 후향 분석 | 유두 한쪽에 치우친 종괴 · 불규칙형 모양 · 에코성 테두리 · 종괴 내 혈류가 남성 유방암의 유의한 소견 |
정리하면 선행연구의 흐름은 두 갈래였다. 하나는 구조를 합쳐 키우는 쪽(DeepBC · IRRCNN · 멀티네트워크 + E-SVM)이고, 다른 하나는 핵을 분할하거나 경계를 세우는 쪽(Loukas · George · Kumar)이다. 이 연구는 두 번째 갈래를 택했고, 첫 번째 갈래는 인셉션 모듈 도입까지만 가져왔다.
가져오지 못한 것도 있다. Alzubaidi의 데이터 증강은 “필요성을 느꼈다”고 적었을 뿐 실제 실험에는 넣지 않았고, 참고문헌에는 Sun et al.(2018) · Kakde et al.(2020) · Fatima et al.(2020)이 올라가 있지만 본문에서 다루지 않았다. 읽은 것과 쓴 것이 같지 않았다는 뜻이다.

실험 ① 층의 깊이만 바꿔 보다
한 번에 여러 조건을 바꾸지 않았다. 첫 단계는 깊이만 다르게 한 두 CNN이다.
먼저 다른 조건을 모두 고정하고 층의 깊이만 다르게 한 두 모델을 같은 설정으로 학습시켰다.
| 학습 조건 | 값 |
|---|---|
| 데이터셋 | BreaKHis 40배율 · 1,855장 · 8클래스 |
| 입력 크기 | 150 × 150 × 3 |
| epoch | 30 |
| optimizer | SGD |
| 학습률 | 0.0001 |
| momentum | 0.9 |
| loss | categorical_crossentropy |
| metric | accuracy |
| batch size | 16 |
| 정규화 | Keras ImageDataGenerator로 이미지 정규화 |
두 모델의 차이는 보고서 Figure 5의 레이어 그래프에 커널 크기까지 적혀 있다. 얕은 쪽은 Conv 블록 4개에 MaxPooling 3회, 깊은 쪽은 Conv 블록 6개에 MaxPooling 5회다. 결정적인 차이는 Flatten 직전의 feature map 크기였다.
| 항목 | 모델 A (얕은 쪽) | 모델 B (깊은 쪽) |
|---|---|---|
| 입력 | ? × 150 × 150 × 3 | ? × 150 × 150 × 3 |
| Conv 커널 순서 | 3×3×3×32 → 3×3×32×64 → 3×3×64×128 → 3×3×128×64 | 3×3×3×32 → 3×3×32×64 → 3×3×64×64 → 3×3×64×64 → 3×3×64×128 → 3×3×128×64 |
| MaxPooling2D 개수 | 3 | 5 |
| Flatten 직후 Dense 커널 | 16384 × 512 | 64 × 512 |
| 출력 Dense | 512 × 8 | 512 × 8 |
| 정확도 (epoch 30) | 0.4832 | 0.4658 |
깊게 쌓은 쪽이 더 낮았다. 원인은 이 데이터의 성질에서 찾았다. 40배율에서는 세포핵이 이미지에서 차지하는 픽셀이 적은데, 풀링을 거친 뒤에는 feature map의 개수가 두 배로 커지면서 필요한 파라미터가 과도하게 많아진다. 파라미터가 많을 때 생기는 gradient vanishing과 overfitting이 함께 나타난 것으로 봤다. 구조를 놓고 보면 깊은 쪽은 풀링을 다섯 번 거치면서 공간 차원이 거의 소진되어 Flatten 시점의 차원이 64로 줄어든다. 남은 정보가 거의 없는 상태에서 8클래스를 갈라야 했던 셈이다.
즉 깊게 쌓는 것이 답이 아니었다. 보고서 결론은 이 현상을 “레이어의 깊이가 깊어질수록 성능은 높아지지만 free parameter 수가 증가한다”로 정리하고, 배율당 1,800~2,000장이라는 데이터 규모와 겹쳐 과적합과 기울기 감소가 함께 생겼다고 적었다.


실험 ② VGG 대 인셉션, 그리고 ImageNet 전이학습
좁은 영역에서 여러 스케일의 특징을 함께 뽑는 구조로 바꿨다.
보고서 3.2.1절의 비교 실험은 세 단계였다. ① 층의 깊이만 다르게 한 두 CNN, ② VGG와 유사한 모델 대 Inception 모듈을 추가한 GoogLeNet, ③ ②에서 채택한 모델로 배율별 비교다. 앞 절이 ①이고, 이 절이 ②와 ③이다.
층이 깊어질수록 작은 영역에 있는 세포핵의 특징을 추출하기 어려워 과적합이 생긴다고 판단했다. 그래서 지역적인 receptive field에서 더 많은 피처를 뽑도록, 1×1 컨볼루션 · 3×3 컨볼루션 · 5×5 컨볼루션 · 풀링 레이어를 나란히 놓아 다양한 scale의 feature를 함께 추출하는 인셉션 모듈로 구조를 바꿨다. 피처 추출 과정은 최대한 sparse하게 유지하고 행렬 연산 자체는 이들을 합쳐 최대한 dense하게 만든다는 인셉션의 설계 의도를 그대로 가져왔고, 비교 결과 인셉션 모듈을 추가한 쪽이 적합하다고 판단했다.
구현은 Keras와 TensorFlow로 하고, ImageNet 데이터셋에서 훈련된 아키텍처(VGG · Inception · ResNet 등)의 사전학습 가중치로 전이학습했다. 유방암 조직 이미지는 ImageNet과 성질이 많이 다른 이미지이므로 전이학습이 실제로 수렴을 빠르게 하는지 확인이 필요했는데, 사전 훈련된 가중치를 쓰고 상단에 몇 개의 레이어를 추가해 미세조정한 결과 처음부터 학습한 모델보다 수렴 속도가 빨라지고 시간·계산이 절약되는 것을 확인했다.
이 모델로 배율별 정확도를 비교했다(모두 epoch 50).
| 배율 | 40배율 | 100배율 | 200배율 | 400배율 |
|---|---|---|---|---|
| 정확도 | 0.9326 | 0.9683 | 0.9578 | 0.9657 |
epoch를 더 늘려도 정확도가 잘 오르지 않았고, 40배율이 가장 낮았다. 배율에 대한 결론은 조심스럽게 적었다 — 4.1절은 “배율에 따라서 상관관계를 정확하게 확인하기는 어려웠다”, 결론은 “배율에 따라서는 유의미한 상관관계를 확인할 수 없었다”였다. Wenzhong이 보고한 “배율이 증가하면 정확도가 감소한다”는 경향이 이 데이터에서는 재현되지 않았다는 뜻이다. 학습을 마친 hdf5 가중치 파일은 보고서에 공유 링크로 기록해 두었다.

실험 ③ 임계처리 5종을 눈으로 먼저 확인하다
학습에 올리기 전에, 어떤 규칙이 핵 경계를 살리는지 8클래스 이미지에서 직접 봤다.
구조를 바꾼 위에 병리 소견을 전처리로 옮겼다. 유방암 이미지의 픽셀값을 중간값 threshold로 이진화하는 필터를 써서, 불분명한 세포핵 경계 때문에 생기는 과적합을 줄이고 암세포가 가진 rest of cells의 특징을 강화하는 것이 목표였다. 규칙은 다섯 가지로 정의했다. 네 번째와 다섯 번째만 원래 픽셀값을 남긴다.
| 규칙 | 기준값을 넘으면 | 넘지 않으면 | OpenCV 대응 |
|---|---|---|---|
| 1 | 최대값 | 0 | BINARY |
| 2 | 0 | 최대값 | BINARY_INV |
| 3 | 기준값 | 최대값 | TRUNC |
| 4 | 원래값 | 0 | TOZERO |
| 5 | 0 | 원래값 | TOZERO_INV |
눈으로 확인한 관찰은 다음과 같다. 40배율 악성 유관상피내암에서는 세포핵 경계의 질서정연하지 못한 모습을 BINARY와 TOZERO가 명확하게 구분해 주었고, 소엽암에서는 악성의 특징 중 하나인 세포경계막이 두꺼워지는 현상을 BINARY · BINARY_INV · TOZERO가 잘 드러냈다. 유두상암종에서는 경계의 차이를 뚜렷하게 만들어 노이즈를 줄이는 데 활용될 수 있음을 보였다.
반대로 양성 선증처럼 염색이 잘 되지 않아 명도가 낮은 표본에서는 특징이 오히려 부각되지 않는 문제가 나타났다. 이 실패가 다음 단계를 결정했다.



적응임계처리 — 영역마다 기준값을 다시 계산한다
염색이 옅은 표본에서 특징이 사라지는 원인은 임계값이 아니라, 임계값을 이미지 전체에 하나만 쓴다는 데 있었다.
원인은 분명했다. 임계처리는 이미지 전체에 하나의 기준값을 적용하므로, 일정한 영역 안에서 근접한 픽셀값들을 고려하지 못한다. 조직검사 염색 정도에 따라 기준값이 어긋나면 특징이 사라진다. 그래서 근접한 픽셀값을 이용해 해당 영역에 적용할 기준값을 자체적으로 계산하는 적응임계처리를 추가로 도입했다 — 평균 적응임계처리와 가우시안블러 적응임계처리 두 가지다.
눈으로 확인한 범위는 전처리마다 달랐다. 보고서에 실린 비교 이미지를 세어 보면 다음과 같다.
| 전처리 | 보고서에 이미지가 실린 범위 | 컷 수 |
|---|---|---|
| 임계처리 5규칙 | 40배율 악성 4종 + 양성 4종, 100배율 악성 4종 + 양성 4종 | 8클래스 × 2배율 = 16컷 |
| 적응임계처리 (평균 · 가우시안블러) | 40배율 악성 4종 + 양성 4종, 400배율 악성 4종 + 양성 4종 | 8클래스 × 2배율 = 16컷 |
즉 정확도 비교는 4개 배율 전부에 대해 했지만, 눈으로 확인한 시각 비교는 임계처리가 40 · 100배율, 적응임계처리가 40 · 400배율이었다. 적응임계처리를 400배율에서 따로 확인한 것은, 다음 절에서 나오는 고배율의 반례와 짝이 맞는 순서다.
정확도 비교 표에 올라간 임계처리는 다섯 규칙 가운데 BINARY와 TOZERO 두 종이고, 여기에 흑백변환 · 평균 적응임계 · 가우시안블러 적응임계를 더해 다섯 행이다. BINARY_INV와 TRUNC는 눈으로 확인하는 단계까지만 쓰고 학습에는 올리지 않았다.


전처리별 정확도 — 그리고 400배율의 반례
같은 모델에 전처리만 바꿔 넣었다. 40배율은 4.8%p 올랐고, 400배율은 오히려 내려갔다.
같은 모델(인셉션 모듈 · ImageNet 전이학습 · epoch 50)에 전처리만 바꿔 학습시킨 결과다. 첫 행의 원본 수치는 배율 비교 실험(4.1절)에서 가져와 나란히 놓은 것이다.
| 전처리 | 40배율 | 100배율 | 200배율 | 400배율 |
|---|---|---|---|---|
| 원본 이미지 (전처리 없음) | 0.9326 | 0.9683 | 0.9578 | 0.9657 |
| 기준값을 넘으면 최대값 아니면 0 (BINARY) | 0.9354 | 0.8687 | 0.9622 | 0.9685 |
| 기준값을 넘으면 원래값 아니면 0 (TOZERO) | 0.9685 | 0.9736 | 0.9600 | 0.8877 |
| 흑백변환 | 0.9602 | 0.9500 | 0.9565 | 0.9331 |
| 평균 적응임계처리 | 0.9808 | 0.9769 | 0.9734 | 0.9640 |
| 가우시안블러 적응임계처리 | 0.9716 | 0.9683 | 0.9745 | 0.9602 |
40 · 100배율에서는 평균 적응임계처리, 200배율에서는 가우시안블러 적응임계처리가 가장 높았다. 40배율에서 원본 0.9326 → 평균 적응임계 0.9808로 4.8%p 올랐다. 이미지 전체에 하나의 기준값을 쓰던 방식에서 염색이 옅은 표본의 특징이 사라지던 문제는, 영역마다 기준값을 따로 계산하는 적응임계처리로 사라졌다.
반대로 400배율에서는 원본(0.9657)이 평균 적응임계(0.9640) · 가우시안블러 적응임계(0.9602)보다 높았다. 이미 세포핵이 크게 보이는 고배율에서는 경계를 세워 줄 필요가 없다는 뜻이다. 이 배율에서 가장 높은 값도 적응임계가 아니라 BINARY(0.9685)였다. 보고서 4.2절 본문은 “모든 배율 데이터에서 가장 높은 정확도를 보였고 원본이미지를 학습시킨 것보다 높은 정확도를 보임”이라고 적었지만, 표를 그대로 읽으면 400배율은 그렇지 않다. 전처리의 효과가 배율에 따라 달라진다는 반례이므로 지우지 않고 남긴다.
단계별로 무엇이 얼마나 올렸는지를 한 표로 정리하면 다음과 같다. 네 수치의 평가 조건이 서로 다르므로 조건을 함께 적었다.
| 단계 | 조작 | 40배율 테스트 정확도 | 평가 조건 |
|---|---|---|---|
| 1 | 전처리 없는 CNN | 0.12 (검증 0.64) | 8클래스 · epoch 20 |
| 2 | 층의 깊이만 조정한 두 모델 | 0.4832 / 0.4658 | 40배율 1,855장 · epoch 30 |
| 3 | 인셉션 모듈 + ImageNet 전이학습 | 0.9326 | epoch 50 |
| 4 | + 평균 적응임계처리 | 0.9808 | epoch 50 |
CAM — 11개 레이어의 활성화를 들여다보다
암의 진단에서는 예측력만큼 설명력이 중요하다고 판단했다.
정확도에서 멈추지 않고, 모델이 어느 부분에서 가중치가 높아 올바른 예측을 했는지 확인했다. 'conv2d', 'batch_normalization', 'activation', 'conv2d_1', 'batch_normalization_1', 'activation_1', 'conv2d_2', 'batch_normalization_2', 'activation_2', 'max_pooling2d'로 구성된 층의 feature map을 11개 레이어에 대해 시각화했다.
관찰은 세 가지였다. 첫째, 첫 번째 레이어(conv2d_1)의 activation map과 출력은 입력과 유사한 형태를 유지해 여러 필터의 가중치를 볼 수 있었다. 둘째, 레이어가 깊어질수록 activation map은 시각적으로 더 추상적이 되어 단순한 모서리·곡선이 아니라 클래스의 더 구체적인 특징을 감지하게 되는 것이 보였다. 셋째, 남색으로 비어 있는 레이어가 나타났는데, 이는 희소한 activation map으로 해당 레이어의 필터가 주어진 입력에서 일치하는 패턴을 찾지 못했을 때 발생한다.
세 번째 관찰은 성능 지표로는 잡히지 않는 것이다. 정확도 0.98을 낸 모델 안에도 아무 패턴도 잡지 못한 필터가 남아 있다는 뜻이고, 이것이 뒤에서 “일부 사진은 해석하기 어렵다”는 한계로 이어진다.



Grad-CAM — 어디를 보고 판단했는가
정확도가 높은 이유가 정말 세포핵인지 확인하는 절차다.
레이어를 통과한 출력 이미지에 컨볼루션 레이어의 gradient를 시각화했다. 확인 범위는 악성 4종 · 양성 4종 × 40 · 100 · 200 · 400배율 전부, 즉 32개 조합이다.
결과는 세포핵이 염색이 잘 되어 있어 세포핵에서 gradient가 높게 나오는 것이었다. 세포핵의 모양이 불분명하거나 일정하지 않은 것을 보고 판단하는 조직병리학 소견과, 모델이 실제로 보는 곳이 일치한다는 뜻이다. 앞에서 Nottingham Score의 세 요인이 모두 세포핵을 본다는 조사로 전처리를 설계했으니, 이 확인은 그 설계가 의도대로 작동했는지를 되짚는 절차였다.
한계도 함께 남겼다. 일부 사진은 전체적으로 해석이 어려웠고, 패턴을 찾지 못해 비어 있는 activation map처럼 설명이 붙지 않는 부분이 있었다. 진단을 돕는 모델이라면 정확도만이 아니라 어디를 보고 그렇게 판단했는지 보여줄 수 있어야 한다고 생각했기 때문에, 이 부분을 결론에 한계점으로 적었다.

결론에 적은 것, 그리고 다시 읽으며 정정한 것
결과를 다시 검산하는 일은 결과를 만드는 일과 같은 무게였다.
보고서 결론은 네 문장으로 요약된다. ① 레이어가 깊어질수록 성능은 높아지지만 free parameter 수가 증가하고, 배율당 1,800~2,000장이라는 데이터로는 과적합과 기울기 감소가 생긴다. ② 인셉션 모듈을 추가해 정확도 향상을 확인했다. ③ 배율에 따라서는 유의미한 상관관계를 확인할 수 없었다. ④ 경계 강화 전처리 중 평균 · 가우시안블러 적응임계처리가 더 좋았고, 그 이유는 염색 정도에 따라 하나의 기준값이 어긋나는 문제를 영역별 기준값이 해소하기 때문이다.
이 글을 쓰기 위해 보고서를 다시 읽으며, 본문 서술과 표가 어긋나는 지점을 찾아 정정했다. 남겨 두는 편이 정확하다고 판단해 함께 적는다.
| 지점 | 원문 서술 | 표에서 확인한 사실 · 정정 |
|---|---|---|
| 4.2절 결론 문장 | “가우시안블러 적응임계처리와 평균적응 임계처리가 모든 배율 데이터에서 가장 높은 정확도를 보였고 원본이미지를 학습시킨 것보다 높은 정확도를 보임” | 400배율은 원본 0.9657이 평균 적응임계 0.9640 · 가우시안 0.9602보다 높다. “40 · 100 · 200배율에서 적응임계처리가 이기고, 400배율에서는 원본이 더 높았다”가 정확하다. 400배율 최고값은 BINARY의 0.9685다 |
| 4.2절 정확도 표 | 표에 전처리 5행만 있다 | 표 안에 원본 이미지 행이 없다. 원본 수치(0.9326 / 0.9683 / 0.9578 / 0.9657)는 4.1절 3) 배율 비교에서 온 값이다. 두 표를 합쳐 읽어야 “전처리가 원본을 이겼는가”를 판정할 수 있고, 400배율 반례가 4.2절 본문에서 누락된 원인도 여기에 있다 |
| 0.12 · 0.48 · 0.93 · 0.98의 평가 기준 | 네 수치가 나란히 인용된다 | 기준이 서로 다르다. 0.12는 8클래스 · epoch 20의 테스트 정확도, 0.4832 · 0.4658은 epoch 30, 배율별 · 전처리별 수치는 epoch 50이다. 이 글에서는 각 수치에 조건을 함께 적었다 |
| 3.1절 점액성암 항목 | “유방 점액성 암(Mucinous Carcinoma)” 아래에 “유두 유방암은 모든 유방암의 1% 미만을 차지하는 매우 드문 유형의 침습성 유관 유방암 … 손가락 모양의 돌기 또는 구진에서 유래”라고 적혀 있다 | 손가락 모양의 돌기(papilla)에서 유래한다는 설명은 유두상암종(papillary carcinoma)의 정의다. 점액성암 자리에 유두상암 설명이 들어간 것으로 보인다 |
| 데이터셋 명칭 | “BreaKHis(Breast Cancer Classification Challenge 2015 데이터 세트)” | 통용 명칭은 BreaKHis(Spanhol et al.)다. 이 글에서는 “BreaKHis · 40 · 100 · 200 · 400배율 · 8클래스”로 통일했다 |
| 1.1절 인용 표기 | 본문에 “wenzhang(2020)”으로 적혀 있고, 2.1절과 참고문헌에는 “Wenzhong, L.”로 적혀 있다 | 동일 문헌(Wenzhong, L., Huanlan, L., Caijian, H., & Liangjun, Z. (2020). Classifications of Breast Cancer Images by Deep Learning. medRxiv)이다. 이 글에서는 Wenzhong으로 통일했다 |
| 인셉션 모델 구조 | 본문은 1×1 · 3×3 · 5×5 컨볼루션과 풀링을 나란히 두었다고 서술 | Figure 6의 레이어 그래프에는 1×7 · 7×1로 분해된 커널과 1×1×768×192 같은 채널 폭이 보인다. ImageNet 사전학습 아키텍처를 가져와 미세조정한 결과로 보이며, 이 차이를 그대로 적어 둔다 |
정리하면 이 연구에서 정확도를 실제로 올린 조작은 두 개였다 — 구조를 인셉션 모듈로 바꾸고 ImageNet 가중치를 가져온 것(0.48 → 0.93), 그리고 병리 진단 기준을 적응임계처리로 옮긴 것(0.9326 → 0.9808). 나머지는 올리지 못했거나(깊이) 배율에 따라 뒤집혔다(400배율). 어느 쪽도 지우지 않는 것이 이 기록의 목적이다.
여기서 배운 것
- 도메인의 판단 기준을 전처리로 번역하는 것이 모델을 키우는 것보다 먼저다. Nottingham Histologic Score가 보는 핵 다형성과 경계를 적응임계처리로 세운 것이, 40배율 0.9326 → 0.9808 사이에서 바꾼 유일한 조작이었다.
- 조건을 한 번에 하나만 바꿔야 원인을 말할 수 있다. 구조 · 배율 · 전처리를 분리해 비교했기 때문에 400배율의 반례를 '실패'가 아니라 '이미 핵이 크게 보이는 고배율에서는 경계 강화가 불필요하다'는 해석으로 남길 수 있었다.
- 깊이는 답이 아니었다. 풀링을 다섯 번 거친 모델은 Flatten 시점 차원이 64까지 줄어 8클래스를 가를 정보가 남지 않았고, 얕은 모델은 파라미터 98%가 Dense 한 층에 몰려 있었다. 구조의 문제를 구조로 읽는 법을 여기서 배웠다.
- 정확도는 결론이 아니라 질문의 시작이다. Grad-CAM으로 gradient가 실제로 세포핵에 오르는지 확인했고, 그 과정에서 아무 패턴도 잡지 못한 빈 activation map과 해석되지 않는 이미지를 함께 발견해 한계로 적었다.
- 본문 서술과 표가 어긋나는 지점(400배율 결론 문장, 원본 행이 빠진 표, 점액성암 설명)을 스스로 찾아 정정 항목으로 남겼다. 결과를 다시 검산하는 일은 결과를 만드는 일과 같은 무게라는 것을 배웠다.