본문 바로가기

Machine Learning

CAM, Grad-CAM, Grad-CAM++ Interpretable method 중 널리 알려진 Grad-CAM을 중심으로, 관련 연구인 CAM과 Grad-CAM++까지 이번 기회에 정리를 해보고자 한다. CAM(2016) -> Grad-CAM(2017) -> Grad-CAM++(2018) 동일한 연구 그룹에서 이루어진 것은 아니고, 모두 다 다른 그룹에서 나온 논문이다. 실험 부분은 생략하고, 주요 아이디어의 흐름만 정리를 해본다. * CAM(Class Activation Mapping) CNN과 Global Average Pooling(GAP)를 결합한 아이디어임. 논문에 나온 아래 그림을 보면 이해하는데 도움이 된다. 말로 정리를 해보면 다음과 같다. 마지막 Conv layer의 feature map에 GAP를 적용하여 feature vec.. 더보기
Horovod 사용기 Pytorch기반으로 OCR 학습기를 개발하던 중, multi-gpu학습이 안되는 현상이 발생했다. Pytorch의 경우 data parallel을 이용하여 손쉽게 multi-gpu로 학습이 가능하다. Data parallel로 모델을 감싸서 실행을 하면 아래와 같이 동작한다. batch크기가 8이고 gpu가 4개인 경우, 그리고 GT의 shape가 예를 들어{32}인 1-D tensor일 경우 input과 gt를 정확히 4등분을 해서({8}, {8}, {8}, {8}) 각 gpu로 복사한다. 그런데 OCR의 경우 정답인 word의 길이가 가변적이므로, 어떤 input은 정답의 길이가 4이고 어떤 input은 7이다. 그래서 이를 정확히 n등분 할 경우 input과 정답이 맞지 않는 상황이 발생한다. 이.. 더보기
Encoder Based Lifelong Learning Encoder Based Lifelong Learning 한줄요약 Lifelong learning framework를 각 task별 autoencoder로 구성해서 제안했다. 블라블라.. 일단 Lifelong learning이라고 하는 컨셉은 이미 오래전에 나온건데, 한마디로 말하면 '인간'처럼 평생동안 학습할 수 있는 모델을 만드는 것이 목적이다. 기존의 supervised learning의 경우 주어진 데이터만 잘 수행할 수 있도록 학습을 시키는 것이 목적이라면, Lifelong learning에서는 주어진 데이터 이외의 또 다른 데이터가 계속해서 주어지더라도 기존의 지식을 활용하여 새로운 데이터를 잘 학습해야한다. 그리고 주어지는 데이터는 ground truth가 있을수도 없을수도 있다. Domai.. 더보기
Gaussian Process http://bridg.land/posts/gaussian-processes-1 Gaussian Process에 대한 기초적인 설명. 이론을 깊이 들어가진 않지만, 이런게 GP구나하는걸 느낄 수 있음. 애증의 커널..... #GaussianProcess #Kernel #Posting 더보기
[CNN] Deformable Convolutional Neural Networks http://openaccess.thecvf.com/content_ICCV_2017/papers/Dai_Deformable_Convolutional_Networks_ICCV_2017_paper.pdf ICCV 2017에서 발표된 Deformable Convolutional Networks, MSR Asia 아이디어 참 좋음 #NeuralNetworks #ICCV2017 더보기
[DomainAdaptation] VisDA ICCV 2017 workshop http://ai.bu.edu/visda-2017/assets/attachments/VisDA_MSM_at_MSRA.pdf VisDA ICCV2017 workshop winner's pt. #DomainAdaptation #Segmentation #ICCV2017 더보기
[Learning From Data] Chapter 1 예전부터 이 주제로 글을 써야겠다는 생각을 가지고 있었는데, 이제서야 글을 쓰게되네요. Learning From Data는 제가 기계학습을 처음 시작할 때 공부를 했던 책입니다. 제목이 마음에 들어서 시작을 했었지요. CalTech의 Mostafa 교수님께서 쓰시고 현재 MOOC로도 제공 중 입니다.Deep Neural Net이 각광을 받으면서 기계학습 강의의 대부분이 Neural Net으로 집중되어 있는 것 같은 느낌을 요즘에 많이 받는데요개인적인 생각으로는 Neural Net을 공부하기 이전에 기계학습에 대해 공부를 먼저하는 것이 좋을 것 같네요.아무튼 예전에 공부를 했던 Learning From Data책을 저도 복습을 하면서 글을 찬찬히 써보도록 하겠습니다. Chapter 1에서는 기계학습의 필요.. 더보기