목록CNN (9)
꿈 많은 사람의 이야기
최근에 텐서플로우로 배우는 자연어 처리 책을 보고 있습니다 평소에는 케라스(keras)만 위주로 써서 이 책의 내용의 코드와 잘 맞지 않는 부분이 있는데요이 책도 텐서플로우 안에 있는 keras 모듈을 사용하기는 합니다.tf.keras.layer 등을 사용하고 때에 따라서 tf.nn.rnn 등을 사용하기도 합니다. 하지만 완전 순수 keras 라이브러리와는 좀 사용법이 다르네요그 중 하나가 저는 model summary 부분이 정말 궁금했습니다. 케라스에서는 그냥 model.summary()를 하면 모델 요약이 나왔었는데요!tf.keras를 사용하다보니까 사용 방법이 좀 달랐습니다 model을 요약(summary)해서 shape 등의 정보를 볼 수 있는 방법을 소개합니다(tensorflow model s..
연말이 다가 오면서 목표했던 것들이 서서히 다 끝나간다.특히 최근에는 회사 일 때문에 딥러닝 공부를 아예 못하고 있는데개인적으로는 너무너무 딥러닝이 하고싶었다. 그래서 최근에 나혼 케라스 창시자에게 배우는 딥러닝 이라는 책을 샀다.프랑소와 숄레가 지었고 박해선님이 옮겨주셨다. 개인적으로 공부할 시간이 없었다. 맨날 야근해서 공부하고, 주말엔 모두의 연구소 스터디도 가고 그거 정리하고 하면 그냥 한 주가 끝났다.근데 너무 딥러닝이 하고 싶었다. 이미 뒤쳐지고 있는데 더 뒤쳐지기가 무서웠기 때문이다. 그래서 결심한 것이 새벽 5시 기상 후 공부!이다. 나는 이 책을 새벽 5시에 일어나서 출근 준비 전까지 1시간 30분 정도 공부했다.이걸 2주동안 반복하니까 책을 한 번 다 읽게 되었다.(물론 코드는 못쳐보고..
파이썬으로 케라스(keras)글을 오랜만에 올립니다.그 동안 공부도 많이 못했고(일을 핑계 삼아..) 여태 공부했던 것들 정리하고 좀 다지는 시간을 가졌습니다. 그리고 개인적으로 관심이 있는 자연어처리(NLP)쪽 프로젝트를 딥러닝 기반으로 개인 프로젝트 식으로 진행했습니다. 주제는 뉴스 카테고리 분류 및 핵심 키워드 추출과 연관 단어 분석입니다.일종의 news category classification 입니다. 여기에 word2vec와 tf-idf를 섞은 것이죠.뭔가 말이 거창하네요. 쓰여진 알고리즘은 다음과 같습니다LSTM(Long Short Term Memory) RNN의 종류Word2vec 단어를 벡터화Tf-idf 문서의 핵심 키워드 추출Logistic regression 사이킷런(scikit-le..
안녕하세요. 날씨가 많이 춥네요.오늘은 딥러닝 영상 기반 강의인 스탠포드(stanford) 대학교 cs231n 2017년 강의 9번쨰 강의 정리입니다. 지난 시간에 7강까지 하고 8강은 넘어갔었는데요. 8강은 여러 딥러닝 software들을 소개해줍니다. 혹 궁금하신 분들이 있으시면 봐보세요! 이번 9강은 여태 나왔었던 훌륭한 CNN 모델들을 소개해줍니다. AlexNet(알렉스넷), googLeNet(구글넷), VGG Net, ResNet(레즈넷) 등을 소개하는 강의입니다. 이런 모델들은 imagenet과 localization 대회에서 우수한 성적을 거둔 모델입니다. LeNet은 가장 초창기 CNN 모델이죠.그리고 연구가 좀 더 되서 2012년이 되었습니다.그 전에는 사람이 수작업을 하거나 그랬었는데요..
이번 포스팅은 cs231n의 5강을 정리한 글입니다. 이번 장에서는 컨볼루션 뉴런 네트워크( convolutional neural networkds)를 배우게 됩니다.그럼 바로 시작해볼까요! 이거는 뭐 cs231n에서 진행하는 과제(assignment)와 관련된 장입니다. 우리는 지난 시간에는 단순한 linear score를 배웠습니다.f = wx이죠그리고 만약 2-layer가 된다면 W2max(0, W1x) 이런식으로 된다고 했고이렇게 하면 hidden layer가 추가된다고 했습니다. 이제 우리는 컨볼루션 뉴런 네트워크에 대해서 배우게 될 것입니다.convolutional nerual network 속칭 CNN은 이미지 인식에서 정말 많이 사용합니다.그럼 이 CNN이 발전되기 까지 딥러닝의 역사는 어..
이번 포스팅은 스탠포드 대학 cs231n 4강 정리 포스팅입니다. 이번 강의에서는 backpropagation(오차역전파)과 neural network에 대해서 배웁니다.그럼 바로 시작하겠습니다. 맨 처음 부분은 여기 강의 과제에 대한 이야기라서 넘어가도록 하겠습니다. 우리는 지난 시간에 score function에 대해서 배웠습니다.그리고 SVM의 loss인 hinge loss에 대해서 배웠습니다.또 다른 loss인 softmax loss를 배웠습니다. 이건 cross entropy loss라고도 불리우죠. 그리고 규제(regularization)에 대해서도 배웠습니다. 이후 optimization에 대해서도 배웠습니다. 이 과정에서 경사하강법을 배웠지요. 그냥 일반적으로 계산하는 방법은 numeric..
요즘 모두의 연구소에서 딥러닝 스터디에 참가하고 있습니다. cs231n 강의를 참고해서 스터디 하고 있는데요 이걸 정리하려고 합니다. 1, 2강은 뭐 그냥저냥한 내용이니까 3강부터 정리하려고 합니다 3강은 loss function과 optimization의 내용입니다. 이 둘의 핵심을 알아보도록 하죠 시작! 먼저 지난 시간의 내용을 복습하고 넘어갑니다. 지난 시간에는 이미지 분류에 대해서 알아보았습니다. 그 중 이미지 분류가 왜 힘들고 쉽지 않은지에 대해서 알아보았죠. 조명, 변형, 은닉 등의 문제점 때문이었습니다. 그리고 CIFAR-10 데이터셋에 대해서도 알아보았습니다. 이후에 크로스 벨리데이션(cross validation), KNN을 알아보았습니다. 또 data-driven방식을 알아보았죠 그리고..
해당 코드는 이 깃허브에 존재합니다. (https://github.com/lsjsj92/keras_basic) ------------ 요즘 딥러닝이 완전 핫합니다! 이미지 인식, 영상처리 문장 처리 등 많은 분야에서 사용되고 있는데요 이번 포스팅은 그 중에서 이미지 인식을 해봅니다 어떤 이미지 인식이냐구요? 바로 강아지 품종(종류)를 인식해보는 것입니다! 포메라니안, 불독, 시바, 허스키 등 강아지 종류를 한 번 예측해보죠 언어는 당연히 파이썬을 썼습니다. 라이브러리는 텐서플로 backend를 이용해 케라스(keras)를 사용했습니다. 즉 케라스로 CNN 네트워크를 구성해 훈련해봅니다 먼저 훈련 자료가 필요하겠죠?? 훈련 자료는 크롤링을 해서 가지고 왔습니다. 강아지 종류별로 폴더를 만들었는데요 종류는 ..
해당 코드는 https://github.com/lsjsj92 에 있습니다. 참고하시고 스타도 주시면 감사하겠습니다 :) 파이썬으로 케라스(keras)와 사이킷런(scikit-learn)을 독학한지 어느덧 1달이 조금 넘었습니다. 그 동안 카테고리 분류도 해보고, 감정 분석도 해보고(실패....) 여러가지 해보면서 일반적인 머신러닝 알고리즘(서포트 벡터 머신(SVM), 랜덤 포레스트(random forest) 등)이 아닌 케라스로 다층 퍼셉트론(MLP)을 구현해서 해봤습니다. 뭐 아직 다음 단계로 넘어갈 실력은 아니었지만 일단은 여러가지 경험을 쌓고자 이젠 컨볼루션 뉴런 네트워크(convolutional neural networks)를 해보려고 합니다. 컨볼루션 신경망이라고도 불리는데요 케라스에선 컨볼루션..