목록deep learning (39)
꿈 많은 사람의 이야기
파이썬으로 케라스(keras)글을 오랜만에 올립니다.그 동안 공부도 많이 못했고(일을 핑계 삼아..) 여태 공부했던 것들 정리하고 좀 다지는 시간을 가졌습니다. 그리고 개인적으로 관심이 있는 자연어처리(NLP)쪽 프로젝트를 딥러닝 기반으로 개인 프로젝트 식으로 진행했습니다. 주제는 뉴스 카테고리 분류 및 핵심 키워드 추출과 연관 단어 분석입니다.일종의 news category classification 입니다. 여기에 word2vec와 tf-idf를 섞은 것이죠.뭔가 말이 거창하네요. 쓰여진 알고리즘은 다음과 같습니다LSTM(Long Short Term Memory) RNN의 종류Word2vec 단어를 벡터화Tf-idf 문서의 핵심 키워드 추출Logistic regression 사이킷런(scikit-le..
안녕하세요. 이번 포스팅은 딥러닝 기반 영상 인식 강의에서 최고로 평가되고 있는 스탠포드 대학교의 CS231n 강의 7강 정리입니다.지난 6장까지 해서 뉴럴 네트워크, backpropagation, optimization, activation functions(sigmoid, ReLU, tanh 등), weight initialization, data preprocessing(normalization, regularization 등을 학습했습니다. 벌써 많이 배웠죠??그리고 하이퍼 파라미터(hyperparameter)를 찾기 위해 grid search와 random search도 보았습니다.이번 시간에는 optimization에 대해서 더 배우고 regularization에 대해서 더 배웁니다. 우리가 ..
안녕하세요. 날씨가 많이 춥네요. 겨울이에요 완전 ㅠㅠ몸 건강 조심하세요! 이번에는 이미지 영상 인식 처리 딥러닝 강의 cs231n 6장입니다.가면 갈수록 어려워지네요 ㅠㅠ 회사일도 바빠서 이걸 따로 시간 빼내면서 정리하는 것도 일이네요. 하지만 딥러닝과 머신러닝 인공지능쪽이 핫한 요즘 지체할 수 없죠! 조금씩이라도 힘내서 공부해봅니다. 6장 정리 들어가봅니다 앞에는 과제니까 넘어가구요 우리는 앞서 이런 모양의 computational graph를 배웠습니다. 말 그대로 f = Wx + regularization 인거를 배웠죠. F = Wx 는 기본적인 식입니다. 그리고 뉴럴 네트워크에서는 이제 hidden layer가 쌓이게 되죠. 그래서 f = wx의 기본적인 식에서 층이 생기게 됩니다. F = w2..
이번 포스팅은 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..
해당 코드는 이 깃허브에 존재합니다. (https://github.com/lsjsj92/keras_basic) ------------ 요즘 딥러닝이 완전 핫합니다! 이미지 인식, 영상처리 문장 처리 등 많은 분야에서 사용되고 있는데요 이번 포스팅은 그 중에서 이미지 인식을 해봅니다 어떤 이미지 인식이냐구요? 바로 강아지 품종(종류)를 인식해보는 것입니다! 포메라니안, 불독, 시바, 허스키 등 강아지 종류를 한 번 예측해보죠 언어는 당연히 파이썬을 썼습니다. 라이브러리는 텐서플로 backend를 이용해 케라스(keras)를 사용했습니다. 즉 케라스로 CNN 네트워크를 구성해 훈련해봅니다 먼저 훈련 자료가 필요하겠죠?? 훈련 자료는 크롤링을 해서 가지고 왔습니다. 강아지 종류별로 폴더를 만들었는데요 종류는 ..
얼마전 DELL 최신 노트북으로 바꾸면서 tensorflow-gpu를 설치했습니다.그리고 keras(케라스)를 설치했지요 즉 백엔드로 텐서플로우를 사용하는 케라스를 사용했습니다.하지만 여러 문제점이 조금 있었습니다. failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILEDcould not create cudnn handle: CUDNN_STATUS_ALLOC_FAILED 이런 에러들이 뜨면서 실행이 되지 않았는데요.구글링을 해보니 저 뿐만 아니라 다른 여러 사람들도 겪었던 문제네요. 정확한 원인은 모르겠지만, gpu 메모리 할당 문제라고 합니다. 그 결과 원인을 해결할 수 있는 줄을 추가했습니다.저는 윈도우10 환경에서 tensorflow-gpu를 설치했구..
해당 코드는 https://github.com/lsjsj92 에 있습니다. 참고하시고 스타도 주시면 감사하겠습니다 :) 파이썬으로 케라스(keras)와 사이킷런(scikit-learn)을 독학한지 어느덧 1달이 조금 넘었습니다. 그 동안 카테고리 분류도 해보고, 감정 분석도 해보고(실패....) 여러가지 해보면서 일반적인 머신러닝 알고리즘(서포트 벡터 머신(SVM), 랜덤 포레스트(random forest) 등)이 아닌 케라스로 다층 퍼셉트론(MLP)을 구현해서 해봤습니다. 뭐 아직 다음 단계로 넘어갈 실력은 아니었지만 일단은 여러가지 경험을 쌓고자 이젠 컨볼루션 뉴런 네트워크(convolutional neural networks)를 해보려고 합니다. 컨볼루션 신경망이라고도 불리는데요 케라스에선 컨볼루션..
최근 네이버 뉴스 기사를 토대로 카테고리를 분류하는 머신러닝을 진행해봤다먼저 정치, 경제, 사회, IT 등을 파이썬으로 크롤링했다 데이터는 아래와 같이 모아졌다 각 카테고리별 폴더로 데이터를 떨궜다.문화, 경제, it, 오피니언, 정치, 사회 총 6개의 카테고리를 크롤링했으며 위와 같이 엑셀파일에 날짜, 제목, 내용을 긁어왔다. 이제 이 내용들을 전처리 작업 및 형태소 분석을 해야했다.왜냐하면 content에 보면 위와 같이 flash 오류를 우회하기 위한 함수 추가 등 이런 문구가 있다.또한, 특수 문자를 제거할 것이었고, 숫자, 영어도 제거하려고 했다.왜냐하면 한글을 기준으로 하려고 했기 때문이다 형태소 분석기는 은전한닢(mecab)으로 진행했다.은전한닢은 한글 형태소 분석기로 정말 좋다 konlpy..