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
Conventional wayDifferent algorithmsRe-programming
35
7
9
(1) Problem (2) Algorithm (3) Programming
Y = 2 * X + 1 function(x){
return x*2 + 1}
1. AI Definition
Machine learning Same algorithms Different data
35
7
9
(1) Problem (2) Algorithm (3) Programming
Y = w * X + b
35
7
9
initial
optimized
1. AI Definition
Why Deep Learning?
New AlgorithmsBack PropagationCNN, RNN .. etc
Big DataHDFS
MapReduce
HardwareGPU Parallel Execution
Cloud Service
1. AI Definition
Supervised Learning
Unsupervised Learning
Reinforcement Learning
Deep Learning Types
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 ofPerceptron
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
OptimizedHOW?
x y y~
0 3 7
1 5 9
2 7 11
3 9 13
4 11 15
5 13 17
6 15 19
Y
X0 1 2 3
Y = wX + b
2. Theory
Concept ofCosts
x y init opt
0 3 7 3
1 5 9 5
2 7 11 6init : ((7-3)^2 + (9-5)^2 + (6-11)^2) / 3 = 16
opt : ((3-3)^2 + (5-5)^2 + (7-7)^2) / 3 = 0
HOW?
Understand concept of cost is really important to understand deep learning
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
GradientDescentAlgorithm
weight Learning
Rate
gradient
Gradient Descent Algorithm is the best way to find minimum cost automatically
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
ActivationFunctions
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
Neural NetworkXOR 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
ActivationFunctions(SoftMax)
How to classify problem with neural network ?
train data weight bias Activation percentile
one hot encoder
A
B
C
20
50
30
soft max
one hot
0.2
0.5
0.3
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
BackwardPropagation
How to train such a complex neural network?
Output Hidden Input
Tensor Board Example
Train DataForward Propagation
y-y~
(Error)
Back Propagation Update
Each Weightpartial derivative chain rule
Learning RateNormal 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
(1) More Data ⇐ Best Way
(2) Drop Out (range : 0% ~ 100%) ⇐ also hyperparameter
-use only on training process
Over fitting Problem
How to avoid overfitting !?
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 nodes? : input data + 10 ?
Proper number of perceptrons can be differed from number of input
This problem also related to overfitting issue.
under fitted overfitted
3. Neural Network Tips
4. Practical Cases
Successful Things So far, deep learning has been successful in perception
Seeing
ReadingHearing
The next challenge will be thinking(inference)
Learning
Convolution NeuralNetworkArchitecture
Convolution이 모여 Convolution neural network- Convolution과 Pooling을 반복하여 Feature를 구성
- Convolution은 Local영역에서 특정 Feature를 얻는 과정
4. Practical Cases
CNN Architecture
Convolution NeuralNetwork
Training Data
4. Practical Cases
CNN Output
CNN Network의 훈련 Data 형태- Image와 Label이 되어있는 Data를 가지고 Network를 훈련 시킴
ImageNet
1. Clarifi(0.117) : Deep Convolutional neural Networks (Zeiler)2. NUS : Deep Convolutional Neural Networks3. ZF : Deep Convolutional Neural Networs4. Andrew Howard : Deep Convolutional Neural Networks5. OverFeat : Deep Convolutional Neural Networs6. UvA-Euvison : Deep Convolutional Neural Networks7. Adobe : Deep Convolutional Neural Networs8. VGG : Deep Convolutional Neural Networks9. Cognitive Vision : Deep Convolutional Neural Networs10. decaf : Deep Convolutional Neural Networs11. IBM Multimedia Team : Deep Convolutional Neural Networs12. Deep Punx(0.209) : Deep Convolutional Neural Networs13. MIL(0.244) : Local image descriptors + FV + linear classfier14. Minerva-MSRA : Deep Convolutional Neural Networs
Image Net Compitetion Ranking(1000-class, 1-milion images)
ALL CNN
4. Practical Cases
Convolution NeuralNetwork
4. Practical Cases
AI + Drone = Counting Truck
From: http://www.brainpad.co.jp/news/2016/09/02/3454
Convolution NeuralNetwork
4. Practical Cases
Sorting garbages with tensorflow
From: https://techcrunch.com/2016/09/13/auto-trash-sorts-garbage-automatically-at-the-techcrunch-disrupt-hackathon/
Convolution NeuralNetwork
4. Practical Cases
TensorFlow powered Cucumber Sorter
From: http://workpiles.com/2016/02/tensorflow-cnn-cucumber/
4. Practical Cases
Image Recognition
ImageDetection
Nvidia Auto Driving
이미지 분석 + 실시간 사물인식 + 강화학습의 끝판왕 =>
자율주행
CNN END
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(자연어처리)
RecurrentNeuralNetwork
Recurrent Neural Network(RNN)- 딥러닝 중 시계열(time-series) 데이터에 적합함- Convolutional Network(CNN)와 함께 딥러닝을 이끄는 쌍두마차- 이미지 처리는 CNN, 음성인식, 자연어 처리는 RNN 많이 사용됨
RNNCNN
이런 자연어 인식을 할려면 어떻게 할수 있을까요?
4. Practical Cases
NLP(자연어처리)
RecurrentNeuralNetwork
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
https://tensorflowkorea.gitbooks.io/tensorflow-kr/content/g3doc/tutorials/seq2seq/
영어와 프랑스어의 번역 데이터를 다운 받아 Sequnce to Sequence Model에 훈련 시키면 간단한 번역 프로그램 구동 가능
네이버 파파고
PAPAGO
파파고(papago)에는 자체 개발한 인공신경망 번역 기술을 사용하여 문장의 전체 맥락을 먼저 이해하고 구성 요소들을 번역해 주기 때문에 기존 일반 번역기에 적용되어 있는 통계기반번역 (SMT) 대비 2배 이상 품질이 향상되었다고 광고함
야근, 노력, 야근, 지원
4. Practical Cases
NLP(자연어 처리)활용
Show Attend And Tell
CNN + RNN (영상 인식 과 자연어 생성)
https://github.com/yunjey/show-attend-and-tell-tensorflow
RNN은 CNN과 합쳐서 그림을 보고 내용을 말해줍니다.
4. Practical Cases
NLP(자연어 처리)활용
요즘 핫한 인공지능 스피커도 자연어 처리기반 RNN으로 만든것으로 추정됩니다 ^^
4. Practical Cases
NLP(자연어 처리)활용
훌륭해 보이는 NLP도 아직 가야할 길이 많이 남아 있습니다
원문, 음성등 비정형 데이터가 80% 이상인데 우리도 활용 못하는 정보
4. Practical Cases
Reinforcement Learning
환경(쿠키런)의 Agent(게이머)가 앞에 장애물이 있을것을 예측하고 Action(점프)를 눌러서 장애물을 회피해서 Reward(보상) 1을 받는다
환경(쿠키런)의 Agent(게이머)가 앞에 장애물이 있는데도, 가만히 있는것을 선택하여 Reward(보상)을 -1을 받는다.
# CNN은 사람이 사물을 인식하는 방법을 모방, NN은사람의 기억하는 방법을 모방
강화학습은 인간의 학습 과정을 모방하여 만든 네트워크
아이가 걷는 것을 배우는 것처럼 어떻게 행동할 줄 모르지만 환경과 상호작용 하면서 걷는 법을 알아가는 것과 같은 학습 방법을 강화학습
4. Practical Cases
Reinforcement Learning의 예
제가 만든 벽돌깨기
강화학습을 통한 자율주행 자동차의 끝판왕
4. Practical Cases
DNN의 다른 예주가예측
S&P 500 daily close prices from 2006 to 2016
문제정의
N개의 과거 주가를 바탕으로 t+1의 주가 예측 예) 1일부터 30일까지 주가를 바탕으로 31일의 주가예측
- 주가를 예측하면 regresstion- 주가의 오름 내림을 예측하면 classfication
예측 결과
https://medium.com/@alexrachnog/neural-networks-for-algorithmic-trading-part-one-simple-time-series-forecasting-f992daa1045a#.b1vu60ugd
4. Practical Cases
DNN 다른예 RecommandationYouTube
유투브 추천 시스템 수백만개의 동영상을 수백개의 후보로 좁히고 이를 바탕으로 다시 사용자에게 추천할 영상을 고르는 두 단계로 구성
1 Level : 홈페이지에 맞춤 동영상 영역 2 Level : 노출할 동영상 선택
- 첫번째 후보자를 생성하는 단계 소프트맥스 함수를 이용한 분류(Classification) 문제로 생각
- 두번째 노출할 동영상을 결정함. 동영상의 기대시간을 예측하는 회귀(Regresstion) 문제로 생각
4. Practical Cases
DeepLearning 다른예
Neural Style Implementation of Neural Style
https://github.com/cysmith/neural-style-tf
Data
Model
Train
Service
데이터 수집 및 전처리 - 개별적인 환경 구성 및 연동 어려움
Hadoop 연동 데이터 관리 툴 제공 - HBase 테이블 관리, 데이터 입출력 UI/UX 제공
알고리즘, 언어, 분석 Tool 등 장벽 - 기존 업무와 전혀 다른 영역축
UI/UX 기반 신경망 설계 지원 -Visual 한 화면 제공으로 학습시간 단축
Training 에 GPU 서버 필요 - 개인적으로 데이터 훈련 어려움
GPU 서버 자원 공유 스케줄 관리 -HOYA 에서 복수의 GPU 서버 Job 분산 처리
운영환경과 호환성 없음 -Python 기반 Tensorflow 연동 어려움
MSA 기반 개발로 이기종 연동 -JAVA API 제공 한 줄 코딩으로 AI 적용 가능
6. HOYA AI F/W