[논문 소개] An Intriguing Failing of Convolutional Neural Networks and the CoordConv Solution
- 논문 정보
- 논문 제목: An Intriguing Failing of Convolutional Neural Networks and the CoordConv Solution
- 논문 링크: https://arxiv.org/abs/1807.03247
- 프로젝트 페이지: https://eng.uber.com/coordconv/?utm_source=twitter&utm_medium=social&utm_campaign=SocialWarfare
오늘 소개드릴 논문은 "An Intriguing Failing of Convolutional Neural Networks and the CoordConv Solution" (https://arxiv.org/abs/1807.03247)입니다. 우버 AI팀의 논문입니다. 우버!! 솔직히 소개를 읽는거 보다 프로젝트 페이지에 저자들이 재밋게 만들어 올린 동영상을 보면 바로 이해되는 논문입니다. 수학 까막눈에 아는게 없다보니 요즘 논문은 외계어였는데, 이 논문은 저자들도 재밋고 문제도 해결방법도 정말 쉽고 명료하게 설명합니다.
일단 논문 제목에서는 도대체 뭘 하려는건지 정확히 알기 힘듭니다. Intriguing Failing이라니..
일단 이 논문에서 다루는 문제는 아래와 같은 가장 단순한 coordinate transform problem을 다룹니다. 뭐 어렵게 생각하실 게 없는게 가장 먼저 다루는 supervised rendering의 경우는 x,y 좌표를 주고 CNN에게 그 좌표에 박스하나를 그려주는 겁니다.
그런데.. 요즘 모든 AI에 다 끌어다 쓰는 CNN이 이 문제들.. 그러니깐 coordinate transform problem 중에서도 기본 중의 기본적인 문제에 대해서도 문제가 상당하다는 발견에서 이 논문은 시작합니다. 그러한 문제를 잘 정의하고 분석하기 위해 일단 제일 간단한 문제를 위한 데이터 셋을 아래와 같이 정의합니다.
그래서 학습을 시켜봤더니, 아래와 같이 기대만큼의 성과를 올리지 못 했습니다.
이 논문에서 이러한 문제들을 더 분석했는데, 분석 사항은 논문을 더 보시면 되는데 해결방법이 아주 심플하고 재밋습니다. coordinate transform problem 잘 못 푸니, CNN에게 coordination 정보를 알려줍니다. -_-.
아래 그림을 보시면 i,j 와 같이 hard-coded coordinate들을 그냥 레이어 뒤에 심플하게 박아줍니다. 논문에서는 추가적인 문제를 풀때 극좌표계 정보도 그냥 하나 더 박아줍니다. -_-
그랬더니 ... 아래와 같이 성능이 좋아집니다. 성능이 너무 좋은거 아니야? 라고 하시겠지만 이미 시킨 일 자체가 무지 쉬운 일이였습니다. 너무 쉬운 일을 못 하니 해결하려고 한 일이니 결과의 성능이 좋은건 당연하겠죠.
음.. CNN은 다들 아시겠지만 coordinate를 모르게 되어 있으니 그걸 알도록 좌표계 정보를 제공하자... 이건거 같은데.. 데모를 보시면 아시겠지만 쉬운 문제라고 해도 너무 잘 되네요. -_- ..
오 재밌네요. 아예 좌표 정보를 덧붙이다니