85
인공지능 (A.I.) 이해와 최신기술 Artificial Intelligence and technical trend. Lablup Inc. Mario Cho (조만석) [email protected]

Open source ai_technical_trend

Embed Size (px)

Citation preview

Page 1: Open source ai_technical_trend

인공지능 (A.I.) 이해와 최신기술 Artificial Intelligence and technical trend.

Lablup Inc.

Mario Cho (조만석)

[email protected]

Page 2: Open source ai_technical_trend

Contents

• Machine Learning?

• Artificial Neural Network?

• Open Source based Artificial Intelligence Softwares

• Open Source A.I Software Applications

Page 3: Open source ai_technical_trend

Mario (manseok) Cho

Development Experience Image Recognition using Neural Network

Bio-Medical Data Processing

Human Brain Mapping on High Performance Computing

Medical Image Reconstruction(Computer Tomography)

Enterprise System Architect & consuliting

Artificial Intelligence for medicine decision support

Open Source Software Developer Committer: (Cloud NFV/SDN)

Contribute:

TensorFlow (Deep Learning)

OpenStack (Cloud compute)

LLVM (compiler)

Kernel (Linux)

Book Unix V6 Kernel

Lablup Inc.

Mario Cho

[email protected]

Page 4: Open source ai_technical_trend

The Future of Jobs

“The Fourth Industrial Revolution, which

includes developments in previously

disjointed fields such as

artificial intelligence & machine-learning,

robotics, nanotechnology, 3-D printing,

and genetics & biotechnology,

will cause widespread disruption not only

to business models but also to labor

market over the next five years, with

enormous change predicted in the skill

sets needed to thrive in the new

landscape.”

Page 5: Open source ai_technical_trend

Today‟s information

* http://www.cray.com/Assets/Images/urika/edge/analytics-infographic.html

Page 6: Open source ai_technical_trend

What is the Machine Learning ?

• Field of Computer Science that evolved from the study of pattern recognition and computational learning theory into Artificial Intelligence.

• Its goal is to give computers the ability to learn without being explicitly programmed.

• For this purpose, Machine Learning uses mathematical / statistical techniques to construct models from a set of observed data rather than have specific set of instructions entered by the user that define the model for that set of data.

Page 7: Open source ai_technical_trend

Artificial Intelligence

Understand information,

To Learn,

To Reason,

& Act upon it

Page 8: Open source ai_technical_trend

Object Recognition

Page 9: Open source ai_technical_trend

What is a neural network?

Yes/No (Mug or not?)

Data (image)

x1λ 5 , x

2λ 5

x2= (W

1´ x

1)+

x3= (W

2´ x

2)+

x1 x2 x3

x4 x5

W4 W3 W2 W1

Page 10: Open source ai_technical_trend

Neural network vs Learning network Neural Network Deep Learning Network

Page 11: Open source ai_technical_trend

Neural Network

W1

W2

W3

f(x)

1.4

-2.5

-0.06

Page 12: Open source ai_technical_trend

Neural Network

2.7

-8.6

0.002

f(x)

1.4

-2.5

-0.06

x = -0.06×2.7 + 2.5×8.6 + 1.4×0.002 = 21.34

Page 13: Open source ai_technical_trend

Neural Network as a Computational Graph

• In Most Machine Learning Frameworks,

• Neural Network is conceptualized as a Computational Graph

• The simple form of Computational Graph,

• Directed Acyclic Graph consist Data Nodes and Operator Nodes

Y = x1 * x2

Z = x3 – y

Data node

Opeator node

Page 14: Open source ai_technical_trend

Computational Graph

Tensor

(Muti axis

matrix)

Tensor Tensor

Multifly

add

Function

Page 15: Open source ai_technical_trend

Single layer perceptron

Affine ReLU X

W b

h1 C

C = ReLU( b + WX )

Page 16: Open source ai_technical_trend

Multi layer perceptron

X

W1 b1

h1 Affine

a1

W2 b2

h2 Affine

ReLU

ReLU

a2

W3 b3

h3 Affine Softmax

t

Cross

Entropy prob loss

Page 17: Open source ai_technical_trend

WFO Discovery Advisor

• Researches can‟t innovate fast enough to create truly breakthrough therapies

• To anticipate the safety profile of new treatments

WFO Corpus

Over 1TB of data Over 40m documents

Over 100m entities & relationships

Chemical

12M+ Chemical Structures

Genomics

20,000+ genes

MD Text

50+ books

Medline

23M+ abstracts

Journals

100+ journals

FDA drugs

11,000+ drugs

Patents

16M+ patents

Page 18: Open source ai_technical_trend

GPU

Page 19: Open source ai_technical_trend

Tensor Core : NVIDIA Volta

Page 20: Open source ai_technical_trend

Why is Deep Learning taking off?

Engine

Fuel

Large neural networks

Labeled data

(x,y pairs)

Page 21: Open source ai_technical_trend

Convolution Feature

Page 22: Open source ai_technical_trend

Deep learning : CNN

Page 23: Open source ai_technical_trend

Traditional learning vs Deep Machine Learning

Eiffel Tower

Eiffel Tower

RAW data

RAW data

Deep

Learning

Network

Feature

Extraction

Vectored Classification

Traditional Learning

Deep Learning

Page 24: Open source ai_technical_trend

Human-Level Object Recognition

• ImageNet

• Large-Scale Visual Recognition Challenge

Image Classification / Localization 1.2M labeled images, 1000 classes Convolutional Neural Networks (CNNs) has been dominating the contest since..

2012 non-CNN: 26.2% (top-5 error)

2012: (Hinton, AlexNet)15.3%

2013: (Clarifai) 11.2%

2014: (Google, GoogLeNet) 6.7%

2015: (Google) 4.9%

Beyond human-level performance

Page 25: Open source ai_technical_trend

The Big Players

Page 26: Open source ai_technical_trend

History of Deep Learning Framework

2010

2013

2014

2015

2016

2017

(Nov.)

(Dec.) (Jul.)

(Jun.)

On GitHub

(Debut: Apr. ‘2015)

(Oct.)

(Jun.)

(Nov.)

(Jan.)

(Apr.)

(Mar.)

Page 27: Open source ai_technical_trend

Google

Page 28: Open source ai_technical_trend

Open Source Software for Machine Learning

Caffe

Theano

Convnet.js

Torch7

Chainer

DL4J

TensorFlow

Neon

SANOA

Summingbird

Apache SA

Flink ML

Mahout

Spark MLlib

RapidMiner

Weka

Knife

Scikit-learn

Amazon ML

BigML

DataRobot

FICO

Google

prediction API

HPE haven

OnDemand

IBM Watson

PurePredictive

Yottamine

Deep

Learning Stream

Analytics Big Data

Machine Learning

Data

Mining

Machine Learning

As a Service

Pylearn2

Page 29: Open source ai_technical_trend

• Created by Yangqing Jia (http://daggerfs.com/)

UC Berkerey Computer Science Ph.D. / Trevor Darrell, BAIR

Google BrainLab.TensorFlow join

Facebook research Scientest

Evan Shellhamer (http://imaginarynumber.net/)

• Maintained by BAIR(Berkeley Artificial Intelligence Research, http://bair.berkeley.edu/)

• Release „2013: DeCAF (https://arxiv.org/abs/1310.1531)

Dec. „2013: Caffe v0

• Application Facebook, Adobe, Microsoft, Samsung, Flickr, Tesla, Yelp, Pinterest, etc.

• Motivation „2012 ILSVRC, AlexNet

DNN define/training/deploy implementation by F/W

Caffe http://caffe.berkeleyvision.org/

S/W Creator Platform Mobile Langua

ge Interface OpenMP CUDA OpenCL Multi GPU

Parallel

Executi

on

Caffe BAIR Linux,

Mac - C++

Python,

MATLAB Y

Y

- Y

Page 30: Open source ai_technical_trend

• Created & Maintained by Preferred Networks, Inc.

(https://www.preferred-networks.jp/ja/)

• Release

Jun. „2015

• Application

Toyota motors, Panasonic (https://www.wsj.com/articles/japan-seeks-tech-revival-with-artificial-intelligence-1448911981)

FANUC (http://www.fanucamerica.com/FanucAmerica-news/Press-releases/PressReleaseDetails.aspx?id=79)

• Motivation

Define-by-Run Architecture

Chainer http://docs.chainer.org/en/latest/index.html

S/W Creator Platform Mobile Langua

ge Interface OpenMP CUDA OpenCL Multi GPU

Parallel

Executi

on

Chainer Preferred

Networks Linux - Python Python -

Y

- Y Y

[Define-and-Run (TensorFlow)] [Define-by-Run (Chainer, PyTorch)]

Page 31: Open source ai_technical_trend

• Created & Maintained by Microsoft Research

• Release

Jan. „2016

• Applications

Microsoft‟s speech recognition engine

Skype‟s Translator

• Motivation

Efficient performance on distributed environments

CNTK https://www.microsoft.com/en-us/research/product/cognitive-toolkit/

https://www.microsoft.com/en-us/research/blog/microsoft-computational-network-toolkit-offers-most-efficient-distributed-deep-learning-computational-performance/

S/W Creator Platform Mobile Langua

ge Interface OpenMP CUDA OpenCL

Multi

GPU

Parallel

Execution

CNTK Microsoft Linux,

Windows - C++ Python, C++ Y Y - Y Y

Page 32: Open source ai_technical_trend

• 주체

• Created by Adam Gibson @Skymind (CTO)

Chris Nicholson @Skymind (CEO)

• Maintained by Skymind (https://skymind.ai/)

• Release

Jun. „2014

• Application

Finatial Fraud Detection Research Partnership with Nextremer in Japan (https://skymind.ai/press/nextremer)

DL4J https://deeplearning4j.org/

S/W Creator Platform Mobile Langua

ge Interface OpenMP CUDA OpenCL

Multi

GPU

Parallel

Execution

DL4J SkyMind

Cross-

platform

(JVM)

Android Java Java, Scala,

Python

Y

Y

- Y

Y

(Spark)

Page 33: Open source ai_technical_trend

• Created & Maintained by

Francois Chollet @Google

• Release

Mar. „2015

• Appliation

TensorFlow (http://www.fast.ai/2017/01/03/keras)

• Motivation

Provide a high-level interface based on deep learning framework like Theano, TensorFlow

Easy to use

Simple Modular

Various Deep-learning framework support

Keras https://keras.io/

S/W Creator Platform Mobile Langua

ge Interface OpenMP CUDA OpenCL

Multi

GPU

Parallel

Execution

Keras François

Chollet

Linux,

Mac,

Windows

- Python Python

Y(Thean

o)

N(TF)

Y

- Y

Page 34: Open source ai_technical_trend

• Created by CMU (http://www.cs.cmu.edu/~muli/file/mxnet-learning-sys.pdf)

• Maintained by DMLC(Distributed Machine Learning Community)

CMU, NYU, NVIDIA, Baidu, Amazon, etc.

• Release Oct. „2015

• Application AWS (https://www.infoq.com/news/2016/11/amazon-mxnet-deep-learning)

• Motivation Support for Mixed Programming Model: Imperative & Symbolic

Support for Portability: Desktops, Clusters, Mobiles, etc.

Support for Multiple Languages: C++, R, Python, Matlab, Javascript, etc.

MXNet http://mxnet.io/

S/W Creator Platform Mobile Langua

ge Interface OpenMP CUDA OpenCL

Multi

GPU

Parallel

Execution

MXNet DMLC

Linux,

Mac,

Windows,

Javascript

Android,

iOS C++

C++, Python,

Julia,

MATLAB,

JavaScript,

Go, R, Scala,

Perl

Y Y - Y Y

Page 35: Open source ai_technical_trend

• Created by James Bergstra, Frederic Bastien, etc. (http://www.iro.umontreal.ca/~lisa/pointeurs/theano_scipy2010.pdf_

Maintained by

LISA lab @ Université de Montréal

• Release Nov „2010

• Application Keras

Lasagne

Blocks

• Motivation There‟s any.

Theano http://deeplearning.net/software/theano/index.html

S/W Creator Platform Mobile Langua

ge Interface OpenMP CUDA OpenCL

Multi

GPU

Parallel

Execution

Theano

Université

de

Montréal

Linux,

Mac,

Windows

- Python Python Y

Y

- Y

Page 36: Open source ai_technical_trend

• Created & Maintained by Ronan Collobert: Research Scientist @ Facebook

Clément Farabet: Senior Software Engineer @ Twitter

Koray Kavukcuoglu: Research Scientist @ Google DeepMind

Soumith Chinatala: Research Engineer @ Facebook

• Release Jul. „2014

• Application Facebook, Google, Twitter, Element Inc., etc.

• Motivation Unlike Caffe, for research rather than mass market

Unlike Theano, easy to use based on imperative model rather than symbolic model

Torch http://torch.ch/

S/W Creator Platform Mobile Langua

ge Interface OpenMP CUDA OpenCL

Multi

GPU

Parallel

Execution

Torch

Ronan,

Clément,

Koray,

Soumith

Linux,

Mac,

Windows

Android,

iOS C, Lua Lua Y

Y

Y Y

Not

officially

Page 37: Open source ai_technical_trend

• Created & Maintained by Google Brain

• Release Nov. „2015

• Application Google

Search Signals (https://www.bloomberg.com/news/articles/2015-10-26/google-turning-its-lucrative-web-search-over-to-ai-machines)

Email auto-responder (https://research.googleblog.com/2015/11/computer-respond-to-this-email.html)

Photo Search (https://techcrunch.com/2015/11/09/google-open-sources-the-machine-learning-tech-behind-google-photos-search-smart-reply-and-more/#.t38yrr8:fUIZ)

• Motivation It‟s Google

TensorFlow https://www.tensorflow.org/

S/W Creator Platform Mobile Langua

ge Interface OpenMP CUDA OpenCL Multi GPU

Parallel

Executi

on

TensorFlow Google

Linux,

Mac,

Windows

Android,

iOS

C++,

Python

Python,

C/C++, Java,

Go

N Y

- Y Y

Page 38: Open source ai_technical_trend

Google Tensorflow on github

Page 39: Open source ai_technical_trend

* Source: Oriol Vinyals – Research Scientist at Google Brain

Page 40: Open source ai_technical_trend

Expressing High-Level ML Computations

• Core in C++

• Different front ends for specifying/driving the computation

• Python and C++ today, easy to add more

* Source: Jeff Dean– Research Scientist at Google Brain

Page 41: Open source ai_technical_trend

Hello World on TensorFlow

Page 42: Open source ai_technical_trend

Image recognition in Google Map

* Source: Oriol Vinyals – Research Scientist at Google Brain

Page 43: Open source ai_technical_trend

Deep Learning Hello World == MNIST

Page 44: Open source ai_technical_trend

MNIST (predict number of image)

Page 45: Open source ai_technical_trend

CNN (convolution neural network) training

Page 46: Open source ai_technical_trend

MNIST code

Page 47: Open source ai_technical_trend

Old Character Recognition

Page 48: Open source ai_technical_trend

Convolution Neural Network

Page 49: Open source ai_technical_trend

Convolution Neural Network

Page 50: Open source ai_technical_trend

Multy layer Deep Networks

Page 51: Open source ai_technical_trend

Face extraction method

Page 52: Open source ai_technical_trend

Human-Level Face Recognition

• Convolutional neural networks based face recognition system is dominant

• 99.15% face verification accuracy on

LFW dataset in DeepID2 (2014) Beyond human-level recognition

Source: Taigman et al. DeepFace: Closing the Gap to Human-Level Performance in Face Verification, CVPR’14

Page 53: Open source ai_technical_trend

Deep & Deep Neural network

Page 54: Open source ai_technical_trend

ImangeNet Classification Top-5 error

Page 55: Open source ai_technical_trend

ImageNet Large Scale Visual Recognition Challenge

Page 56: Open source ai_technical_trend

Image Recognition

* Source: Oriol Vinyals – Research Scientist at Google Brain

Page 57: Open source ai_technical_trend

Object Classification and Detection

Page 58: Open source ai_technical_trend

Language Generating

* Source: Oriol Vinyals – Research Scientist at Google Brain

Page 59: Open source ai_technical_trend

How to the Object recognition ?

Page 60: Open source ai_technical_trend

Image Caption Generation

Page 61: Open source ai_technical_trend

Black/White Image Colorization

Page 62: Open source ai_technical_trend

Colorful Image Colorization

ab L

Concatenate (L,ab) Grayscale image: L channel

“Free”

supervisory

signal

Semantics?

Higher-level

abstraction?

Ref: Richard Zhang, Phillip Isola, Alexei (Alyosha) Efros

Page 63: Open source ai_technical_trend

Inceptions

Page 64: Open source ai_technical_trend

Neuro Style Painter

Page 65: Open source ai_technical_trend

Neuro Style Painter

Page 66: Open source ai_technical_trend

Neuro Style Painter

Page 67: Open source ai_technical_trend

Neuro paint

Page 68: Open source ai_technical_trend

pix2pix

Page 69: Open source ai_technical_trend

Edges2Image

[Isola et al. CVPR 2017]

Page 70: Open source ai_technical_trend

Image Generate

Page 71: Open source ai_technical_trend

3D Generative Adversarial Network

[Wu et al. NIPS 2016]

Page 72: Open source ai_technical_trend

Image Segmentation

Page 73: Open source ai_technical_trend

Scene Parsing

[Farabet et al. ICML 2012, PAMI 2013]

Page 74: Open source ai_technical_trend

Scene Parsing

[Farabet et al. ICML 2012, PAMI 2013]

Page 75: Open source ai_technical_trend

Auto pilot car

Page 76: Open source ai_technical_trend

Neural Conversational Model

Page 77: Open source ai_technical_trend

Recurrent Neural Language modeling

Page 78: Open source ai_technical_trend

RNN Unfold into DNN over time

Page 79: Open source ai_technical_trend

Goolge Natural Translate Machine

Page 80: Open source ai_technical_trend

Natural Language Translate

Page 81: Open source ai_technical_trend

Deep Q-Learning

Page 82: Open source ai_technical_trend

AlphaGo Gen1

Page 83: Open source ai_technical_trend

How do data science techniques scale with amount of data?

Page 84: Open source ai_technical_trend

Inspirer Humanity

Page 85: Open source ai_technical_trend

Thanks you!

Q&A