artificial intelligence for deep...

78
Artificial Intelligence for Deep Learning

Upload: others

Post on 07-Feb-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

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 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

Why Deep Learning?

1. AI Definition

Why Deep Learning?

1. AI Definition

Supervised Learning

Unsupervised Learning

Reinforcement Learning

Deep Learning Types

1. AI Definition

Supervised Learning

CAT

CAT

CAT

DOG

DOG

DOG

1. AI Definition

Unsupervised Learning

1. AI Definition

ReinforcementLearning

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 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

LogisticRegression

What if you want to classify ‘true’ or ‘false’ / ’pass’ or ‘failure’ ?

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

More complexNeural Network

It’s neural network!

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

3. Neural Network Tips

3. Neural Network Tips

Choose ProperAlgorithm

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

Over fitting Problem

Biggest Problem on Deep Learning

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

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-SupervisedLearning

One effective way to reduce effort on labeling

3. Neural Network Tips

4. Practical Cases

4. Practical Cases

Successful Things So far, deep learning has been successful in perception

Seeing

ReadingHearing

The next challenge will be thinking(inference)

Learning

4. Practical Cases

Seeing

(사물을 인식)

4. Practical Cases

Image Recognition

Amazon GO

4. Practical Cases

컴퓨터는 어떻게 물체를 인식할까?

Convolution을

통해 Feature추출

Image Regconition

이미지는 숫자의 집합

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

Hearing & Reading

4. Practical Cases

NLP(자연어처리)

퀴즈쇼의 우승상금은 불우한 이웃을 위해

기부하겠어요 .

IBM Watson

- 명칭은 IBM의 최고경영자였던 토머스 왓슨의 이름

- 2005년 개발이 시작되었으며 이후 자신의 인공지능을 바탕으로

고도의 지능적인 문제를 분석해 답을 찾아내는 수준에 도달

- 왓슨은 기존 컴퓨터가 인식하지 못하는 문서, 사진, 음성 녹음 등의

정보를 스스로 이해하고 의미 있는 지식을 만들어 냄

- 2011년 2월에는 미국 ABC방송의 인기 퀴즈쇼 '제퍼디

(Jeopardy)'에 출연하여 우승

4. Practical Cases

IBM Watson전세계의 80%이상이 비정형 데이터

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(자연어 처리)활용

회계부정

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 다른예 RecommandationYouTube

유투브 추천 시스템 수백만개의 동영상을 수백개의 후보로 좁히고 이를 바탕으로 다시 사용자에게 추천할 영상을 고르는 두 단계로 구성

1 Level : 홈페이지에 맞춤 동영상 영역 2 Level : 노출할 동영상 선택

- 첫번째 후보자를 생성하는 단계 소프트맥스 함수를 이용한 분류(Classification) 문제로 생각

- 두번째 노출할 동영상을 결정함. 동영상의 기대시간을 예측하는 회귀(Regresstion) 문제로 생각

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

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

6. HOYA AI F/W

It’s HOYA time !!

Question & Answer