Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

기계학습을 이용한 숫자인식기 제작

SW Maestro 6기 1단계 1차 프로젝트
by team ZeroMind

  • Be the first to comment

기계학습을 이용한 숫자인식기 제작

  1. 1. 기계학습을 이용한 숫자인식기 제작 SW Maestro 6th 강성희 멘토님 | 김인식 유상현 도회린 1
  2. 2. 목차 • 팀원 및 프로젝트 소개 • 기계학습 소개 • 숫자 인식과 MNIST • 인공신경망 (ANN) • Convolutional Neural Network • Deep Learning • 기계학습 응용과 Kaggle • Property Hazard Inspection • Truly Native? 2
  3. 3. 팀원 소개 • 강성희 멘토님 • 팀장 : 김인식 • 팀원 : 유상현 • 팀원 : 도회린 3
  4. 4. 프로젝트 소개 • 기계학습을 이용한 숫자인식기 제작 • 주요 개발 환경 • Python 2.7 • Keras, Pandas, Theano, Numpy, Scikit-learn 등의 라이브러리 • 고성능의 연산 처리 능력을 갖춘 하드웨어 장비 환경 • CUDA GPU, 32GB RAM 등 4
  5. 5. 기계학습 소개 • 대량의 데이터를 입력시키면 스스로 데이터에 대해 학습하는 알고리즘 • 데이터에서 패턴을 찾아내는 새로운 방법 • 기존의 규칙 기반의 알고리즘으로 불가능한 일을 해냄 • 숫자 인식, 음성 인식 등 • 분류, 예측 등 산업에 응용 분야가 다양 5
  6. 6. 숫자인식과 MNIST • 손으로 쓴 우편번호 자동 인식기 • 수표에 기입한 금액 숫자 자동 인식기 • MNIST 데이터 • 28 X 28 Image • Image Label: 0~9 6
  7. 7. 인공신경망 • 뉴런 세포의 작동 원리에서 아이디어를 얻음 • Hidden Layer의 역할로 강력한 학습 모델이 됨 (Non-linear Classifier) • 적당한 파워의 모델을 찾기 어렵다 7
  8. 8. 인공신경망 인공신경망 데모 8
  9. 9. CNN Convolutional Neural Network • 훈련 이미지에서 물체의 위치만 살짝 달라도 학습 모델은 전혀 다른 사진으로 인식하던 문제를 해결 9
  10. 10. CNN Convolutional Neural Network ratio_train,)ratio_validate,)ratio_test =)split cols)=)list(data.columns.values) cols.remove('label') X)=)data.as_matrix(cols) y)=)data['label'].values rows_num =)data.values.shape[0] (중략) train_set =)(X[0:num_train],)y[0:num_train]) valid_set =)(X[num_train:(num_train + num_validate)] ,)y[num_train:(num_train + num_validate)]) test_set =)(X[(num_train + num_validate):rows_num] ,)y[(num_train + num_validate):rows_num]) 10
  11. 11. CNN Convolutional Neural Network image_size =)(28,)28) pool_sizes =)[(2,)2),)(2,)2)] filter_sizes =)[(5, 5),)(5, 5)] nkerns =)[20,)50] n_epochs =)100 cnn =)nn_modules.CNN.CNN(nkerns=nkerns,)batch_size=100,) image_size=image_size,)pool_sizes=pool_sizes,) filter_sizes=filter_sizes,)n_epochs=n_epochs) data)=)pd.read_csv('data/test.csv',)header=0) predicted)=)cnn.predict(data.astype(theano.config.floatX)) df =)pd.DataFrame([numpy.arange(1,)data.shape[0]+1),)predicted]).T df.columns =)['ImageId',)'Label'] df.to_csv("result.csv",)cols=['ImageId',)'Label'],)index=False, encoding='utfT8') 11
  12. 12. CNN Convolutional Neural Network CNN 데모 12
  13. 13. Deep Learning • Logistic Regression • Perceptron • Multi-layer Neural Network • CNN (Convolutional Neural Network) • RNN (Recurrent Neural Network) • Hopfield Net • Restricted Boltzmann Machine • Deep Belief Net 13
  14. 14. 기계학습의 응용과 Kaggle • 기업들이 기계학습으로 풀 수 있는 문제를 제시하고 상금을 건다. • 전 세계의 Data Scientist들이 각자의 해법을 고 안하여 답안을 제출 • 기계학습이 실제로 사용되는 곳에 실제 데이터를 가지고 응용해 볼 수 있는 기회 https://www.kaggle.com/competitions 14
  15. 15. Property Hazard Inspection • 부동산 자산의 위험도(Hazard)를 예측 • 위험도 측정의 자동화 • 상금 $25,000 • 데이터 종류 • 여러 요인에 따른 위험도 정보가 주어짐 • 각각의 요인이 무엇인지는 공개되지 않음. 15
  16. 16. Truly Native? • 인터넷 상의 글들 중에서 광고가 아닌 듯하게 올라오는 광고글을 탐지 • 상금 $10,000 • 데이터 종류 • 300,000개 이상의 raw HTML 파일 • 글, 링크, 이미지 등의 정보를 포함 16

×