목록deep learning (29)
Deep Learning study
최근에( 여기서 최근은 이 논문의 저자가 논문을 썼을 당시를 말한다..)보여지는 여러 결과들이 network의 깊이가 매우 중요하다는 것이 드러나고 있다. 그 예로 ImageNet dataset challenge의 결과를 보면, 좋은 성과를 낸 것들은 모두 very deep한 모델들 이였다. 하지만 과연 network의 깊이만 깊어진다고(layer 들이 많아짐) 더 좋은 network가 될까? 물론 그것은 아니다. 가장 흔히 발생하는 vanishing/exploding gradients의 문제가 있다. 하지만 이러한 문제들은 Batch Norm 과 같은 방법으로 많은 부분 해결이 가능하다. 또한 normalized initialization, intermediate normaliation layer를 사..
내가 이 책을 알게된건 아마도 .. facebook을 보던중 tensorflow kr 그룹의 게시글에서 우연찮게 본것같다. 가장 먼저 눈에 들어오는것은 Andrew ag이였다 . 이 분야에서는 너무나 유명하신 분이기 때문에 주저않고 꼭 읽어봐야겠다 라고 생각했다. Coursera에서 머신러닝 강의도 봤던터라 조금 친숙한 감도 있었던거 같다 ㅋㅋ 여튼 , 이 책은 ai 개발에 있어서의 기술적인 방법들에대해 서술하고있다 . 예를들면 데이터를 어떻게 분류할것인가 , 어떤데이터를 이용해야하는가 등의 테크닉들을 알려주고있다 . 음 .. 내가 이 책을 제대로 써먹으려면 내년 6월 전역한 후겠지만 , 많은 ai개발자들에게 도움이 될만한 책인것은 분명한것 같다 . 책의 마지막에는 ‘슈퍼히어로가 되는것보단 슈퍼히어로..
오늘은 입대한 이래로 처음으로 읽어본 논문을 정리해보려고 한다. 이 논문은 captcha solver 를 GAN을 이용해 구현한 내용이다. 흔히 captcha는사이트 회원가입을할때 많이 볼 수 있을것이다. captcha 는 사람과 프로그램을 구별하기 위한 방법으로 위의 사진과 같은 형태를 가지고 있다. text를 프로그램이 인식하기 힘들도록 글자를 서로 overlap 시킨다던가 사이에 선을 그어놓고나 , 글자를 왜곡시키고 노이즈가 있는 배경을 사용하는 등의 방법을 사용한다. 이 논문에 따르면 이전에도 머신러닝을 사용한 captcha solver에 대한 연구들이 있었지만, 사람의 손을 많이 타고 (데이터 라벨링, 데이터 수집, 전처리 등..) 많은 데이터를 수집해야하는 등의 불편함이 있었다고한다.이런 말을..
You Only Look Once: Unified, Real-Time Object Detection 오늘 정리할 것은 YOLO ~ YOLO 는 you only live once 라는 말로 잘 알고 있을 것 이지만, 여기서는 you only look once ! 뛰어난 작명 센스 ... 기존의 R-CNN에서는 region proposal 을 따로 찾고 bounding box 를 찾고 class 분류를 했다. 그러므로 region proposal 과정에서의 오버헤드가 컸기 때문에 성능향상에 어려움이 있었다. 하지만 YOLO는 grid방식을 이용하여 region proposal 의 오버헤드를 없앴다. grid 방식을 사용하면 그 grid cell 하나하나가 proposal 이 되기 때문에 오버헤드가 없어지는 ..
이번 포스팅은 YOLO를 읽기전에 한 번쯤 읽어보아야 할 것 같아서 간략하게나마 정리 보았다. R-CNN, Fast-RCNN , Faster-RCNN에 대해서 알아보자 R-CNN R-CNN은 Region proposals with CNN 의 줄임으로 이미지 안에 어떤 object 들이 있는지 찾아내는 것을 목적으로 한다. 먼저 input 이미지에서 2000개 정도의 subimage를 뽑아낸다. object들이 존재할 것 같은 부분을 잘라내어 주는것이다. 그리고 그 각각의 이미지들을 CONV net을 통과시키기 위해 알맞는 사이즈로 변환후 CNN을 통해 분류작업(classification)을 한다. 그 후에 SVM(support vector machine)을 이용해 각 object 들을 분류해준다. 또한 ..
저번에 흥미를 가져 읽어보았던 Generative Adversarial Nets에 대해 정리를 해봐야겠다. 수식은 최대한 생략하고.. 바탕이되는 내용과 이해중심으로? 이 논문을 찾아보게된 이유는 공부를하다 문득 Colorization이라는것을 보게되었는데 너무 재미있어보여서 찾다 찾다보니 여기까지 오게된것같다. 먼저 논문을 보면서 GAN에 딸린 Adversarial 이란 것에 의문을 많이 가졌었는데, GAN을 구조를 모르기때문에 '상반된' 이라는 것이 무엇을 의미하는지 감이오지 않았기 때문에 그랬던것 같다. Adversarial이라고 쓰는 이유를 살펴보자면 GAN에서는 Generator(G) 와 Discriminator(D) 라는 상반된? 대립적인? 모델을 사용하기 때문이다. 말 그대로 Generator..
이전에 3번의 시도에 거쳐서 했던 실험을 끝내려고 한다 최종으로 만들어낸 모델을 살펴 보자. 사실 음.. 전에 것과 별반 차이는 없는것 같다.. Generator 내가 구성한 모델은 다음과 같다. 흑백이미지를 노이즈와 합쳐준것을 input으로 넣어준다. Conv layer 와 maxpool 로 이미지를 encode 한다 (encode한다는 말이 맞는건지는 잘 모르겠다.) 그런다음 maxpool layer를 거치면서 줄어든 사진크기를 deconvolution 으로 decode 하면서 크기를 복원시켜나간다. decode 하는 과정중에 encode 과정에서의 output을 계속해서 더해줬는데 , 저 과정 없이 실행을 했었더니(trial2) 형체를 알아보기 힘든 모양이 나왔다. 그래서 원래 이미지의 모양을 잊지..
Black & White 이미지를 Color 로 바꾸는 모델을 만들기 위해서 GAN 이라는 모델을 이용할 것이다. 사실 처음에는 그냥 단순한 ConvNet으로 해결하려 했지만 성능은 참담했다. 흑백이미지를 input으로 학습을 시켰을때, Color이미지를 만들어내는것이 아니라 원래 이미지보다 약간은 흐린 갈색 이미지가 나오게 되는 것 이였다. 그래서 찾다가 찾다가 , GAN 을 알게되고 공부해 보았다. 첫번째로 만들어낸 모델은 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667class Generator(nn.Module): def ..