#테크 

인공지능 딥러닝 세미나 코크리 7월 후기

지난 7월, 콘텐츠 크리에이터 모임 코크리의 두 번째 세미나가 진행되었습니다. 어떤 발표들이 있었는지 살펴볼까요?

2022-08-18 | 신승연

코크리의 두 번째 세미나!

지난 7월, 모두의연구소가 만든 콘텐츠 크리에이터 모임 코크리(Cocre)의 두 번째 세미나가 진행되었습니다. 이번 세미나에서도 코크리 크리에이터 분들의 멋진 이야기를 들을 수 있었습니다.

병리 이미지와 함께하는 딥러닝 (이혜성님)

혜성님의 개인 콘텐츠: [Cocre] 병리 이미지 다루기

첫 번째 발표는 이혜성님의 <병리 이미지와 함께하는 딥러닝>입니다. 혜성님은 현재 병원에서 병리 이미지에 머신러닝과 딥러닝을 적용하여 여러 과제들을 수행하고 계시는데요, 병리학 분야에서 딥러닝을 어떤 식으로 이용하는지 직접 들어볼 수 있는 기회였습니다.

일반적인 이미지 데이터와는 다르게, 병리 조직을 관찰하기 위해서는 조직을 염색해야 하기 때문에 병리 이미지 데이터는 기본적으로 염색이 되어 있습니다. 그러나 염색 방법과 병리 이미지를 스캔하는 스캐너는 여러 종류가 있고, 염색을 진행한 샘플 그룹마다 색상의 차이가 조금씩 생기기 때문에(배치 효과, batch effect), 병리 이미지를 처리할 때는 색상 차이에 유의해야 합니다. 이러한 색상 차이를 보정해주는 방법으로 이미지들의 색상 분포를 맞춰주는 stain normalization이 있습니다.

병리 이미지 데이터는 대부분 용량이 크고 패치 단위로 쪼개어 사용되는데, 또 다른 특징은 여러 배율의 이미지가 함께 저장되어 피라미드 구조를 만든다는 것입니다.

Lin et al., “Dual-path network with synergistic grouping loss and evidence driven risk stratification for whole slide cervical image analysis”

여기에서 필요한 개념이 MPP(micron per pixel)입니다. 이미지의 1픽셀이 실제로 몇 micrometer에 해당하는지 나타내는 값이죠. 위 그림에서와 같이 MPP가 클수록 배율은 작아지고, MPP가 작을수록 배율이 커집니다. (정확하게는 반비례 관계가 있습니다.) 병리 이미지 패치와 관련된 또 하나의 개념이 있는데, 바로 FoV(field of view)입니다. FoV는 패치에 보여지는 공간을 나타냅니다. 위 그림의 패치들은 FoV가 모두 같지만, 이미지 크기와 배율, MPP는 모두 다릅니다.

이렇게 병리 이미지 데이터는 여러 배율의 이미지가 피라미드 구조를 이룬다는 특징이 있기 때문에, 다양한 배율의 이미지를 사용하는 Multi Resolution Model이 병리 이미지를 처리하는 딥러닝 모델로서 연구되었습니다. 병리 이미지를 위한 딥러닝 모델의 구조를 본격적으로 설명하기 전에, Multi Resolution Model의 기본 원리를 살펴보겠습니다. Convolutional Neural Network(CNN)의 2×2 pooling layer는, 입력 이미지를 2픽셀*2픽셀의 일정한 크기로 나눈 다음 각 영역에서 하나의 픽셀 값을 계산함으로써 입력 이미지의 특징을 유지하면서도 width와 height가 절반으로 줄어든 이미지를 생성합니다.

source: Stanford CS231n (https://cs231n.github.io/convolutional-networks/)

이 과정을 병리 이미지에 적용해봅시다. 병리 이미지를 2×2 pooling layer에 넣는다면, 입력 이미지와 출력 이미지의 FoV는 일정하지만, 이미지 크기와 배율은 절반으로 줄어들고, MPP는 2배로 증가할 것입니다. 결론적으로 Multi Resolution Model의 pooling layer는 일정한 FoV에서 이미지 크기와 배율을 감소시키고, MPP는 증가시키는 연산이라고 할 수 있습니다.

이번 발표에서는 대표적인 Multi Resolution Model로 U-Net과 HookNet이 소개되었습니다. U-Net은 segmentation task를 위한 모델로도 유명한데요, pooling layer로 이루어진 contracting path와 deconvolution layer로 이루어진 expanding path로 구성되어 있습니다. contracting path에서는 pooling layer를 통과할 때마다 이미지 크기와 배율은 절반으로 감소하고 MPP는 2배 증가합니다. 반대로, expanding path에서는 deconvolution layer를 통과할 때마다 이미지 크기와 배율은 2배씩 증가하고 MPP는 2배 감소합니다. 그리고 두 경로의 모든 지점에서 패치의 FoV는 일정합니다.

Ronneberger et al., “U-Net: Convolutional Networks for Biomedical Image Segmentation”

HookNet은 두 가지 배율의 이미지를 입력으로 사용하는데요, 관찰하고자 하는 영역의 고배율 이미지 패치(target)를 입력시키는 target branch와 target 패치를 포함하는 작은 배율의 이미지 패치를 입력시키는 context branch로 이루어져 있습니다. 마치 U-Net의 skip connection처럼, HookNet의 핵심 아이디어는 context branch와 target branch의 feature map을 결합하는 것입니다. 비록 HookNet의 성능은 좋지 않았지만, 병리학자가 여러 배율의 패치를 보고 판독하는 것처럼 다양한 배율의 이미지를 입력받고 처리한다는 점에서 의의가 있다고 합니다.

van Rijthoven et al., “HookNet: multi-resolution convolutional neural networks for semantic segmentation in histopathology whole-slide images”

 


e-CLIP: 네이버쇼핑의 E-commerce Vision Language Pretrained Model(VLPM) (우태강님)

e-CLIP 논문 링크: e-CLIP: Large-Scale Vision-Language Representation Learning in E-commerce

두 번째 발표는 우태강님의 <e-CLIP: 네이버쇼핑의 E-commerce VLPM>입니다. 태강님이 계시는 네이버 쇼핑에서는 데이터에 딥러닝 모델을 적용하기 위해 많은 고민을 하고 있다는데요, 상품 속성 추출, 분류 등의 task를 해결하기 위해, 이미지 데이터와 텍스트 데이터를 결합하는 CLIP(Contrastive Language–Image Pre-training) 모델을 전자상거래(e-commerce) 데이터에 맞게 개선한 e-CLIP 모델을 만들었다고 합니다. (e-CLIP 논문은 이번 CIKM 2022 컨퍼런스에 accept 되었습니다!)

OpenAI에서 개발한 CLIP 모델(https://openai.com/blog/clip/)은 이미지 인코더와 텍스트 인코더 모델에서 각각 생성된 이미지 벡터-텍스트 벡터 쌍을 비교하는 방식으로 학습되어 여러 task에서 뛰어난 성능을 보였고, 이미지 데이터와 텍스트 데이터를 결합하는 multimodal model로 각광을 받았습니다. 그런데 네이버 쇼핑 데이터에 CLIP 모델을 적용하는 데는 한계가 있었다고 합니다. 특정 상품을 판매하는 온라인 스토어는 여러 곳이 있기 때문에, 일반적인 이미지 데이터와는 다르게 네이버 쇼핑 데이터에는 중복되는 상품이 많이 존재한다고 합니다. 원래 CLIP은 대각선 위의 pair만 옳고 나머지는 틀린 것으로 학습이 되어야 하는데, 중복되는 상품이 존재할 때는 옳은 pair가 대각선 이외의 위치에도 존재하죠. 그래서 e-CLIP은 옳은 pair가 둘 이상일 경우 score를 1/n씩 나눠가집니다.

e-CLIP framework. (source: “e-CLIP: Large-Scale Vision-Language Representation Learning in E-commerce”)

e-CLIP은 모델 학습 방법에도 변화를 주었는데요, mini-batch의 gradient를 누적시켜서 global batch gradient를 계산하는 gradient accumulation과 batch-size scheduler를 적용했습니다. 실제로 pretraining을 할 때는 데이터 전처리를 진행했습니다. 중복되는 이미지를 제거하기 위해 convolution으로 이미지 벡터를 비교하거나 이미지 해상도를 낮추어서 비교했고, 중복되는 상품명을 제거하기 위해서는 상품명에 word set을 적용했다고 합니다. 또한 상품의 이미지가 없거나 깨지는 경우나 광고, 성인 이미지 등 적절하지 않은 이미지인 경우 제거했습니다.

네이버 쇼핑은 e-CLIP을 어떤 문제를 해결하는 데 사용할까요? 상품별 최저가 비교를 위한 product matching과 clustering, 상품의 속성(category, color, texture, …)을 추출하는 attribute extraction, 상품의 카테고리를 분류하는 category classification 등의 downstream task가 있습니다. BERT-multi, CLIP 등 기존 pretrained model과 비교했을 때 뛰어난 성능을 보였다고 합니다. 네이버쇼핑에서 e-CLIP 이후에 어떤 논문이 나올지 기대가 되네요!

 


캐나다 amii 연구소 컨퍼런스 갔다온 썰 푼다 (박정현님)

마지막 발표는 박정현님의 <캐나다 amii 연구소 컨퍼런스 갔다온 썰 푼다>입니다. amii(Alberta Machine Intelligence Institute)는 캐나다 Alberta 주에 있는 인공지능 연구소로, 인공지능 연구와 교육, 비즈니스 컨설팅 등도 함께 하고 있습니다. amii 연구소는 매년 AI week라는 컨퍼런스를 주최하는데요, 올해 AI week는 amii 20주년을 기념하는 행사라고 합니다. 다른 인공지능 컨퍼런스처럼 키노트 연설, 프레젠테이션이 준비되어 있고, 네트워킹 이벤트도 많이 진행된다고 합니다. 아무래도 해외 컨퍼런스라고 하면 비용 걱정이 많이 되는데요, 정현님은 Talent Bursary라는 프로그램으로 캐나다까지의 여행 비용과 행사 비용을 일부 지원받았다고 합니다! 이력서만으로도 신청이 가능하니 AI week 행사에 관심있는 분들은 신청해보시면 좋을 것 같습니다.

정현님이 컨퍼런스에서 관심있게 보셨던 발표 3개를 소개해 주셨습니다. 첫 번째는 정수장에서 강화학습을 이용하여 에너지 소비량을 감소시키는 연구(https://www.amii.ca/latest-from-amii/isl-adapt-uses-ml-make-water-treatment-cleaner-greener/)입니다. 물을 정화하는 데는 많은 양의 에너지가 소비되는데, 주위 환경으로부터 센서 값들을 수집한 다음, 강화학습으로 물 정화를 위한 최적의 파라미터 값을 찾아서 적용함으로써 에너지 소모도 줄이고 환경도 지킨다는 아이디어입니다.

두 번째는 엘리베이터 정보를 고려해서 복층 건물의 구조를 매핑하는 연구(https://ras.papercept.net/images/temp/AIM/files/0206.pdf)입니다. 기존의 SLAM 연구에서는 엘리베이터의 정보를 잘 신경쓰지 않았기 때문에 복층 건물의 구조를 매핑할 때는 부정확한 결과가 나왔다고 하는데요, 해당 연구에서는 YOLOv3 모델로 엘리베이터의 위치를 인식하고, 엘리베이터 내부에서는 기압의 변화로 층수를 추정함으로써 건물 구조 매핑의 정확성을 높였습니다.

마지막은 Flatland Challenge라는, 철도 교통 최적화 문제를 해결하는 대회(https://www.aicrowd.com/challenges/flatland-challenge)가 소개되었습니다. 출발점과 도착점이 정해진 여러 대의 기차를 움직이는데, 강화학습을 이용해서 기차들이 서로 부딪히거나 교통 체증이 발생하지 않도록 최적화하는 문제입니다.

컨퍼런스 발표 이외에도, 정현님은 AI week의 네트워킹 행사에도 활발하게 참여하셨다고 합니다. 행사 이후에도, AI week에서 만난 외국인 친구의 인터뷰 콘텐츠에 참여하셨다고 합니다. 논문을 쓰는 것이 아니면 해외 컨퍼런스에 참석하기가 쉽지 않은데요, 정현님의 발표 덕분에 간접 경험을 할 수 있었습니다.

 


코크리 운영진과 크리에이터 분들은 다음 세미나를 위해 열심히 준비하고 있습니다🙂
코크리의 다음 세미나는 8월 25일입니다. 많은 관심 부탁드려요!