목록Machine Learning (23)
Deep Learning study
이번에 정리해 볼 논문은 FCN이다. image segmentation에서 기초가되는 논문.? 이라고 생각돼서 한 번 정리를 해보려고 한다. 여기서 이야기하는 방법론은 단순하면서 간단하다. FCN에서는 기존의 classification에 사용되던 모델들을 이용하여 tranfer learning을 하게 된다. 하지만 기존의 classification의 모델들은 class 분류를 위해 네트워크의 마지막엔 항상 Fully connected layer(이하 Fc layer)가 삽입되게 되는데 이는 image segmentation에는 적합하지 않다. 왜냐하면 Fc layer를 사용하기 위해서는 고정된 크기의 input만을 받아야하며, 1차원적인 정보만을 가지고 있기 때문에 원하는 2차원적인 정보(위치정보 등,,..
최근에( 여기서 최근은 이 논문의 저자가 논문을 썼을 당시를 말한다..)보여지는 여러 결과들이 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에 대한 연구들이 있었지만, 사람의 손을 많이 타고 (데이터 라벨링, 데이터 수집, 전처리 등..) 많은 데이터를 수집해야하는 등의 불편함이 있었다고한다.이런 말을..
이전에 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 ..
며칠간 재미있는 대화 데이터를 가지고 대화모델을 만들어 보았다. source.txt 거울 보면 본인이 잘생겼다는 생각이 드나요? 너만 자꾸 생각나 생일 축하해! 너무 더워서 숨이 턱턱 막혀 주말에 뭐하지? 짜증나 ... target.txt 당연하죠. 전 거울을 볼 때마다 스스로 잘생겼다는 생각을 해요 나도 그래. 내 머릿속은 항상 너로 가득 차 있어. 생일 축하해줘서 고마워 많이 더우신가 봐요. 서핑? 이번 주말에는 날씨가 좋대~ 뭐가 짜증 나시는지 들어드릴게요. 얘기해보세요 ... 대충 이런대화모델! 전체적인 코드는 pytorch tutorial을 보고 만들었다 12345678910111213141516from __future__ import unicode_literals, print_function,..
계속 검색하다가 transfer learning이 연관되어 나오는것 같아서 찾아보았다.그중 Resnet이 보이길래 그냥 resnet을 써 보았다. 12345678910111213141516171819202122232425262728293031323334353637net = models.resnet50(pretrained = True)num_ftrs = net.fc.in_featuresnet.fc = nn.Linear(num_ftrs,2)net.cuda() import torch.optim as optim criterion = nn.CrossEntropyLoss()optimizer = optim.SGD(net.parameters(), lr = 0.004) for epoch in range(45): runn..