목록DeepLearning (3)
꿈 많은 사람의 이야기
안녕하세요. 날씨가 많이 춥네요.오늘은 딥러닝 영상 기반 강의인 스탠포드(stanford) 대학교 cs231n 2017년 강의 9번쨰 강의 정리입니다. 지난 시간에 7강까지 하고 8강은 넘어갔었는데요. 8강은 여러 딥러닝 software들을 소개해줍니다. 혹 궁금하신 분들이 있으시면 봐보세요! 이번 9강은 여태 나왔었던 훌륭한 CNN 모델들을 소개해줍니다. AlexNet(알렉스넷), googLeNet(구글넷), VGG Net, ResNet(레즈넷) 등을 소개하는 강의입니다. 이런 모델들은 imagenet과 localization 대회에서 우수한 성적을 거둔 모델입니다. LeNet은 가장 초창기 CNN 모델이죠.그리고 연구가 좀 더 되서 2012년이 되었습니다.그 전에는 사람이 수작업을 하거나 그랬었는데요..
모든 코드는 아래 깃허브에 올려놓았습니다. https://github.com/lsjsj92/keras_basic 지난번까지 multi classification 이미지 분류를 해봤습니다하지만 모든 카테고리 분류가 multi이지는 않죠~그래서 이번에는 이진 분류(binary classification)을 해보겠습니다 cat dog로 해볼게요개냐 고양이냐?를 판단하는 이미지 분류 작업입니다 폴더는 2개입니다cat, dog 즉, 고양이 강아지 이렇게 입니다. 그리고 각 폴더 아래에 이렇게 고양이 사진들이 있죠.고양이와 강아지(개) 사진은 크롤링해서 긁어 왔습니다 그리고 각 사진은 25000개 정도 있습니다.데이터는 충분한 것 같네요keras의 ImageDataGenerator를 굳이 사용안해도 될 것 같았습니..
머신러닝과 딥러닝을 혼자서 독학하면서 여러가지 상황에 맞닥드리게 되고 있다.어찌저찌 해결을 해나가고 있지만, 어제 같은 경우는 도저히 혼자서 해결이 안되었다.val_loss가 나아지지 않았고, val_acc 즉 정확도가 높아지지 않은 문제가 있었다.과적합(오버피팅, overfitting) 문제도 아니었다. 케라스에서는 오버피팅을 방지할 수 있다.Dropout이나 callbacks 라이브러리의 modelcheckpoint, earlystopping을 통해서overfitting을 방지하기 때문이다. 근데 참 웃긴게 아래와 같은 상황이었다. 나는 데이터 셋을 2개로 나누어서 진행했다.데이터가 너무 커서 경량화를 하나 추가했다. 예를 들어, 기존 데이터가 1G 짜리라면 경량화는 200MB짜리이다.데이터 구조는 ..