Artificial Intelligence for Deep Learning
01 AI Definition 02 Deep Learning Theory - Linear Regression - Cost Function - Gradient Descendent - Logistic Regression - Activation Function - Concept of Neural Network - Backward Propagation 03 How make good Neural Network 04 Deep Learning Practical Cases 05 Tensorflow with Jupyter 06 HOYA F/W Introduction
1. AI Definition
1. AI Definition Concept of Deep Learning VIDEO
1. AI Definition Conventional way Different algorithms Re-programming (1) Problem (2) Algorithm 9 7 5 3 Y=2*X+1 (3) Programming function(x) { return x*2 + 1 }
1. AI Definition Machine learning Same algorithms Different data (1) Problem (2) Algorithm (3) Programming initial 9 7 9 Y=w*X+b 7 5 3 5 3 optimized
1. AI Definition Why Deep Learning? New Algorithms Back Propagation CNN, RNN.. etc Big Data Hardware HDFS MapReduce GPU Parallel Execution Cloud Service
1. AI Definition Why Deep Learning?
1. AI Definition Why Deep Learning?
1. AI Definition Deep Learning Types Supervised Learning Unsupervised Learning Reinforcement Learning
1. AI Definition Supervised Learning CAT DOG CAT DOG DOG CAT
1. AI Definition Unsupervised Learning
1. AI Definition Reinforcement Learning VIDEO
2. Deep Learning Theory
2. Theory Concept Concept of perceptron is really important to understand Deep Learning wx + b
1. Perceptron == [ wx + b ] 2. Cost == [ Error ] 3. Gradient Descent Algorithm == [ Derivative ] 4. Activation Function == [ Binary ] 5. Neural Network == [ Perceptron * Perceptron ] 6. Back Propagation == [ Learning ]
2. Theory Concept of Perceptron Concept of perceptron is really important to understand Deep Learning wx + b Activation Function
1. Perceptron == [ wx + b ] 2. Cost == [ Error ] 3. Gradient Descent Algorithm == [ Derivative ] 4. Activation Function == [ Binary ] 5. Neural Network == [ Perceptron + Relation ] 6. Back Propagation == [ Learning ]
2. Theory Linear Regression Initial Y Y = wx + b Optimized HOW? 0 1 2 3 X x y y~ 0 3 7 1 5 9 2 7 11 3 9 13 4 11 15 5 13 17 6 15 19
2. Theory Concept of Costs Understand concept of cost is really important to understand deep learning x y init opt 0 3 7 3 1 5 9 5 2 7 11 6 init : ((7-3)^2 + (9-5)^2 + (6-11)^2) / 3 = 16 opt : ((3-3)^2 + (5-5)^2 + (7-7)^2) / 3 = 0 HOW?
1. Perceptron == [ wx + b ] 2. Cost == [ Error ] 3. Gradient Descent Algorithm == [ Derivative ] 4. Activation Function == [ Binary ] 5. Neural Network == [ Perceptron + Relation ] 6. Back Propagation == [ Learning ]
2. Theory Gradient Descent Algorithm Gradient Descent Algorithm is the best way to find minimum cost automatically weight Learning gradient Rate
1. Perceptron == [ wx + b ] 2. Cost == [ Error ] 3. Gradient Descent Algorithm == [ Derivative ] 4. Activation Function == [ Binary ] 5. Neural Network == [ Perceptron + Relation ] 6. Back Propagation == [ Learning ]
2. Theory Logistic Regression What if you want to classify true or false / pass or failure?
2. Theory Activation Functions Need to understand each activation functions character Perceptron = Activation(w * x + b)
1. Perceptron == [ wx + b ] 2. Cost == [ Error ] 3. Gradient Descent Algorithm == [ Derivative ] 4. Activation Function == [ Binary ] 5. Neural Network == [ Perceptron + Relation ] 6. Back Propagation == [ Learning ]
2. Theory More complex Neural Network It s neural network!
2. Theory Neural Network XOR problem Let s see how Neural network works with XOR example y1 y2 out 0 0 0 1 0 1 0 1 1 1 1 0
2. Theory Activation Functions (SoftMax) How to classify problem with neural network? one hot encoder A train data weight bias Activation 30 0.2 0.5 0.3 one hot 50 C percentile soft max 20 B 0.0 1.0 0.0
1. Perceptron == [ wx + b ] 2. Cost == [ Error ] 3. Gradient Descent Algorithm == [ Derivative ] 4. Activation Function == [ Binary ] 5. Neural Network == [ Perceptron + Relation ] 6. Back Propagation == [ Learning ]
2. Theory Backward Propagation How to train such a complex neural network? Output y-y~ Hidden Forward Propagation Input Train Data (Error) Back Propagation Tensor Board Example partial derivative chain rule Update Each Weight
3. Neural Network Tips
3. Neural Network Tips Choose Proper Algorithm
3. Neural Network Tips Learning Rate Normal Case Over shooting Not Enough Train Learning Rate (Hyper parameter)
3. Neural Network Tips Data Normalization If the range of the set is too wide, you need to normalize data first
3. Neural Network Tips Over fitting Problem Biggest Problem on Deep Learning
3. Neural Network Tips Over fitting Problem How to avoid overfitting!? (1) More Data Best Way (2) Drop Out (range : 0% ~ 100%) also hyperparameter -use only on training process
3. Neural Network Tips Activation Function (Sigmoid vs Relu) Why choosing right activation function is important?
3. Neural Network Tips Activation Function (Sigmoid vs Relu) More hidden layers = More hierarchies of features
3. Neural Network Tips Proper number of Nodes? Proper number of perceptrons can be differed from number of input This problem also related to overfitting issue. under fitted overfitted Proper number of nodes? : input data + 10?
3. Neural Network Tips Data Preprocessing Use AutoEncoder on data preprocessing!?
3. Neural Network Tips Data Preprocessing A fast learning algorithm for deep neural network
3. Neural Network Tips Semi-Supervised Learning One effective way to reduce effort on labeling
4. Practical Cases
4. Practical Cases Successful Things So far, deep learning has been successful in perception Seeing Hearing Reading Learning The next challenge will be thinking(inference)
4. Practical Cases Seeing (사물을 인식)
4. Practical Cases Image Recognition Amazon GO
4. Practical Cases Image Regconition 컴퓨터는 어떻게 물체를 인식할까? Convolution을 통해 Feature추출 이미지는 숫자의 집합
4. Practical Cases Convolution Neural Network Architecture Convolution이 모여 Convolution neural network - Convolution과 Pooling을 반복하여 Feature를 구성 - Convolution은 Local영역에서 특정 Feature를 얻는 과정 CNN Architecture
4. Practical Cases Convolution Neural Network CNN Network의 훈련 Data 형태 Training Data - Image와 Label이 되어있는 Data를 가지고 Network를 훈련 시킴 CNN Output
4. Practical Cases ImageNet Image Net Compitetion Ranking(1000-class, 1-milion images) 1. Clarifi(0.117) : Deep Convolutional neural Networks (Zeiler) 2. NUS : Deep Convolutional Neural Networks 3. ZF : Deep Convolutional Neural Networs 4. Andrew Howard : Deep Convolutional Neural Networks 5. OverFeat : Deep Convolutional Neural Networs 6. UvA-Euvison : Deep Convolutional Neural Networks 7. Adobe : Deep Convolutional Neural Networs 8. VGG : Deep Convolutional Neural Networks 9. Cognitive Vision : Deep Convolutional Neural Networs 10. decaf : Deep Convolutional Neural Networs 11. IBM Multimedia Team : Deep Convolutional Neural Networs 12. Deep Punx(0.209) : Deep Convolutional Neural Networs 13. MIL(0.244) : Local image descriptors + FV + linear classfier 14. Minerva-MSRA : Deep Convolutional Neural Networs ALL CNN
4. Practical Cases Convolution Neural Network AI + Drone = Counting Truck From: http://www.brainpad.co.jp/news/2016/09/02/3454
4. Practical Cases Convolution Neural Network Sorting garbages with tensorflow From: https://techcrunch.com/2016/09/13/auto-trash-sorts-garbage-automatically-at-the-tech crunch-disrupt-hackathon/
4. Practical Cases Convolution Neural Network TensorFlow powered Cucumber Sorter From: http://workpiles.com/2016/02/tensorflow-cnn-cucumber/
4. Practical Cases Image Recognition Image Detection 이미지 분석 + 실시간 사물인식 + 강화학습의 끝판왕 => 자율주행 Nvidia Auto Driving CNN END
Hearing & Reading
4. Practical Cases NLP (자연어처리) IBM Watson 퀴즈쇼의 우승상금은 불우한 이웃을 위해 - 기부하겠어요. 명칭은 IBM의 최고경영자였던 토머스 왓슨의 이름 - 2005년 개발이 시작되었으며 이후 자신의 인공지능을 바탕으로 고도의 지능적인 문제를 분석해 답을 찾아내는 수준에 도달 - 왓슨은 기존 컴퓨터가 인식하지 못하는 문서, 사진, 음성 녹음 등의 정보를 스스로 이해하고 의미 있는 지식을 만들어 냄 - 2011년 2월에는 미국 ABC방송의 인기 퀴즈쇼 '제퍼디 (Jeopardy)'에 출연하여 우승
4. Practical Cases IBM Watson 전세계의 80%이상이 비정형 데이터 Watson은 비정형 데이터를 이해 학습하고 답을 찾아 줄수 있음 의료, 금융, 고객서비스등 이미 비지니스 시장에 진출하여 성공을 거두고 있음 의료
4. Practical Cases IBM Watson 교육 마케팅
4. Practical Cases NLP (자연어처리) Recurrent Neural Network 이런 자연어 인식을 할려면 어떻게 할수 있을까요? Recurrent Neural Network(RNN) - 딥러닝 중 시계열(time-series) 데이터에 적합함 Convolutional Network(CNN)와 함께 딥러닝을 이끄는 쌍두마차 이미지 처리는 CNN, 음성인식, 자연어 처리는 RNN 많이 사용됨 CNN RNN
4. Practical Cases NLP (자연어처리) Recurrent Neural Network RNN의 훈련 데이터 형태 영어 프랑스어 Norway's rakfisk: Is this the world's smelliest fish?.. Le rakfisk de Norvège: s'agit-il du poisson le plus odorant du monde?.. RNN 네트워크에 훈련시키고 질의를 하면 문장을 만듬
4. Practical Cases NLP (자연어 처리) 활용 Sequnce to Sequnce Model 영어와 프랑스어의 번역 데이터를 다운 받아 Sequnce to Sequence Model에 훈련 시키면 간단한 번역 프로그램 구동 가능 https://tensorflowkorea.gitbooks.io/tensorflow-kr/content/g3doc/tutorials/seq2seq/ 야근, 노력, 야근, 지원 네이버 파파고 파파고(papago)에는 자체 개발한 인공신경망 번역 기술을 사용하여 문장의 전체 맥락을 먼저 이해하고 구성 요소들을 번역해 주기 때문에 기존 일반 번역기에 적용되어 있는 통계기반번역 (SMT) 대비 2배 이상 품질이 향상되었다고 광고함 PAPAGO
4. Practical Cases NLP (자연어 처리) 활용 RNN은 CNN과 합쳐서 그림을 보고 내용을 말해줍니다. Show Attend And Tell CNN + RNN (영상 인식 과 자연어 생성) https://github.com/yunjey/show-attend-and-tell-tensorflow
4. Practical Cases NLP (자연어 처리) 활용 요즘 핫한 인공지능 스피커도 자연어 처리기반 RNN으로 만든것으로 추정됩니다 ^^
4. Practical Cases NLP (자연어 처리) 활용 회계부정
4. Practical Cases NLP (자연어 처리) 활용 훌륭해 보이는 NLP도 아직 가야할 길이 많이 남아 있습니다 원문, 음성등 비정형 데이터가 80% 이상인데 우리도 활용 못하는 정보
Learning
4. Practical Cases Reinforcement Learning 아이가 걷는 것을 배우는 것처럼 어떻게 행동할 줄 모르지만 환경과 상호작용 하면서 걷는 법을 알아가는 것과 같은 학습 방법을 강화학습 강화학습은 인간의 학습 과정을 모방하여 만든 네트워크 환경(쿠키런)의 Agent(게이머)가 앞에 장애물이 있을것을 예측하고 Action(점프)를 눌러서 장애물을 회피해서 Reward(보상) 1을 받는다 환경(쿠키런)의 Agent(게이머)가 앞에 장애물이 있는데도, 가만히 있는것을 선택하여 Reward(보상)을 -1을 받는다. # CNN은 사람이 사물을 인식하는 방법을 모방, NN은사람의 기억하는 방법을 모방
4. Practical Cases Reinforcement Learning 의예 강화학습을 통한 자율주행 자동차의 끝판왕 제가 만든 벽돌깨기
4. Practical Cases DNN의 다른 예 주가예측 문제정의 N개의 과거 주가를 바탕으로 t+1의 주가 예측 예) 1일부터 30일까지 주가를 바탕으로 31일의 주가예측 - 주가를 예측하면 regresstion - 주가의 오름 내림을 예측하면 classfication 예측 결과 https://medium.com/@ale xrachnog/neural-network s-for-algorithmic-tradingpart-one-simple-time-seri es-forecasting-f992daa10 45a#.b1vu60ugd S&P 500 daily close prices from 2006 to 2016
4. Practical Cases DNN 다른예 Recommandation YouTube 유투브 추천 시스템 수백만개의 동영상을 수백개의 후보로 좁히고 이를 바탕으로 다시 사용자에게 추천할 영상을 고르는 두 단계로 구성 - 첫번째 후보자를 생성하는 단계 소프트맥스 함수를 이용한 분류 (Classification) 문제로 생각 두번째 노출할 동영상을 결정함. 동영상의 기대시간을 예측하는 회귀 (Regresstion) 문제로 생각 1 Level : 홈페이지에 맞춤 동영상 영역 2 Level : 노출할 동영상 선택
4. Practical Cases DeepLearning 다른예 Neural Style Implementation of Neural Style https://github.com/cysmith/neural-style-tf
5. Sample Code
DEMO (Jupyter notebook)
6. HOYA AI F/W
6. HOYA AI F/W 데이터 수집 및 전처리 - 개별적인 환경 구성 및 연동 어려움 Hadoop 연동 데이터 관리 툴 제공 - HBase 테이블 관리, 데이터 입출력 UI/UX 제공 Model 알고리즘, 언어, 분석 Tool 등 장벽 - 기존 업무와 전혀 다른 영역축 UI/UX 기반 신경망 설계 지원 -Visual 한 화면 제공으로 학습시간 단축 Train Training 에 GPU 서버 필요 - 개인적으로 데이터 훈련 어려움 GPU 서버 자원 공유 스케줄 관리 -HOYA 에서 복수의 GPU 서버 Job 분산 처리 운영환경과 호환성 없음 -Python 기반 Tensorflow 연동 어려움 MSA 기반 개발로 이기종 연동 -JAVA API 제공 한 줄 코딩으로 AI 적용 가능 Data Service
6. HOYA AI F/W It s HOYA time!!
Question & Answer