Documente Academic
Documente Profesional
Documente Cultură
Francisco Herrera
Research
R h Group
G on Soft
S ft Computing
C ti and
d
Information Intelligent Systems
(SCI2S)
http://sci2s.ugr.es
Dept. of Computer Science and A.I.
University of Granada, Spain
Email: herrera@decsai.ugr.es
Deep Learning
Deep Learning
D L i : El aprendizaje
di j profundo
f d es un
conjunto de algoritmos que intenta modelar
abstracciones de alto nivel en los datos mediante el
uso de arquitecturas compuestas de transformación
no lineales múltiples.
p
Bibliografía:
L. Deng and D. Yu.
Deep Learning methods and applications.
Foundations and Trends in Signal Processing
Vol. 7, Issues 3-4, 2014.
Nota: Deep Learning introduce el uso
de estructuras de aprendizaje que
requieren de arquitecturas de
procesamiento eficiente y distribuido
(
(GPU, Spark,
k …)) y muestra resultados
l d
importantes en el procesamiento de
imágenes, habla, lenguaje natural, ...
Deep Learning
Amazing
a g improvements
p o e e ts in e error
o rate
ate in object
recognition, object detection, speech recognition, and
more recently, in natural language
processing/understading.
processing/understading
Yoshua Bengio
http://www iro umontreal ca/ bengioy/talks/DL Tutorial NIPS2015 pdf
http://www.iro.umontreal.ca/~bengioy/talks/DL-Tutorial-NIPS2015.pdf
Deep Learning
Al
Algunas d
definiciones
fi i i (D
(Deng and
d Yu,
Y 2014)
Deep Learning
Al
Algunas d
definiciones
fi i i (D
(Deng and
d Yu,
Y 2014)
Deep Learning
Al
Algunas d
definiciones
fi i i (D
(Deng and
d Yu,
Y 2014)
Deep Learning
Al
Algunas d
definiciones
fi i i (D
(Deng and
d Yu,
Y 2014)
Deep Learning
Al
Algunas d
definiciones
fi i i (D
(Deng and
d Yu,
Y 2014)
Deep Learning
(also called Hierarchical Learning)
Hierarchical Learning
Gaussian
G i mixture
i t models
d l (GMM
(GMMs),
)
Linear or nonlinear dynamical systems,
Conditional, random fields (CRFs)
Maximum entropy (MaxEnt) models,
Support vector machines (SVMs)
Logistic regression/kernel regression
Multilayer perceptrons (MLPs) with a single hidden layer
including extreme learning machines (ELMs).
(ELMs)
Backpropagation
Credits: The Evolution of Neural Learning Systems: A Novel Architecture Combining the Strengths of NTs, CNNs,
and ELMs. N Martinel, C Micheloni… - IEEE SMC Magazine, 2015 - ieeexplore.ieee.org
Deep Learning
Backpropagation
• Minimize error of
calculated
l l d output
k • Adjust weights
• Gradient Descent
wjk • Procedure
• Forward Phase
j • Backpropagation
of errors
• For each sample,
p ,
multiple epochs
vij
i
Deep Learning
P bl
Problems with
ith Backpropagation
B k ti
Yoshua Bengio
Credits: http://www.iro.umontreal.ca/~bengioy/talks/DL-Tutorial-NIPS2015.pdf
Deep Learning
(Hierarchical Learning)
S
Some Models:
M d l
Deep networks for unsupervised or generative learning:
deep belief network (DBN),
(DBN) stack of restricted Boltzmann
machines (RBMs), autoencoder …
Autoencoder
An autoencoder neural
network is an unsupervised
learning algorithm that
applies backpropagation,
setting the target values to
be equal to the inputs.
Credito: D. Charte
Deep Learning
1
0,9
0,8
0,7
alo
Anchura Péta
0,6
0,5
0,4
0,3
0,2
,
0,1
0
0 0,2 0,4 0,6 0,8 1
Longitud Pétalo
Deep Learning
Credito: D. Charte
Deep Learning
C layers are
convolutions,
convolutions
S layers
pool/sample
Deep Learning
Credits: http://www.iro.umontreal.ca/~bengioy/talks/DL-Tutorial-NIPS2015.pdf
Deep Learning
Credits: http://www.iro.umontreal.ca/~bengioy/talks/DL-Tutorial-NIPS2015.pdf
Deep Learning
De la academia a la industria: DNNresearch Inc y
Google Deepmind
ImageNet
g Classification with Deep p Convolutional Neural Networks
Part of: Advances in Neural Information Processing Systems 25 (NIPS 2012)
ImageNet
g is a dataset of over 15
million labeled high-resolution
images belonging to roughly 22,000
categories. The images were
collected from the web and labeled
by human labelers using Amazon’s
Mechanical Turk crowd-sourcing
tool. Starting in 2010, as part of
the Pascal Visual Object Challenge,
an annual competition called the
ImageNet Large-Scale Visual
Recognition Challenge (ILSVRC) has
been held. ILSVRC uses a subset of
ImageNet with roughly 1000
images in each of 1000 categories.
In all, there are roughly 1.2 million
training images, 50,000 validation
images, and 150,000 testing
images.
Deep Learning
Retos en los Juegos “inteligentes”
http://arxiv.org/abs/1312.5602
Deep Learning
Retos en los Juegos “inteligentes”
http://elpais.com/elpais/2015/02/25/ciencia/1424860455_667336.html
http://www.nature.com/nature/journal/v518/n7540/full/nature14236.html
Deep Learning
Retos en los Juegos “inteligentes”
http://www.nature.com/nature/journal/v518/n7540/full/nature14236.html
Schematic illustration of the convolutional neural network.
V Mnih et al.
al Nature 518,
518 529-533 (2015)
doi:10.1038/nature14236
http://www.nature.com/nature/journal/v518/n7540/full/nature14236.html
Deep Learning
Retos en los Juegos “inteligentes”
http://arxiv.org/abs/1509.01549
Deep Learning
Retos en los Juegos “inteligentes”
http://arxiv.org/abs/1509.01549 https://chessprogramming.wikispaces.com/Giraffe
Deep Learning
Retos en los Juegos “inteligentes”
https://www.technologyreview.com/s/541276/deep-learning-machine-
https://www.technologyreview.com/s/541276/deep learning machine
teaches-itself-chess-in-72-hours-plays-at-international-master/
Ref: arxiv.org/abs/1509.01549 :
Giraffe: Using Deep Reinforcement Learning to Play Chess
Algunos datos:
von Neumann introduced the minimax algorithm in 1928
363 features
The evaluator network converges in about 72 hours on a machine with 2x10-core Intel Xeon
E5-2660v2 CPU.
Giraffe is able to play at the level of an FIDE International Master
Deep Learning
Retos en los Juegos “inteligentes”
http://www.nature.com/nature/journal/v529/n7587/full/
nature16961.html
Deep Learning
Retos en los Juegos “inteligentes”
http://elpais.com/elpais/2016/01/26/ciencia/1453766578 683799.html
http://elpais.com/elpais/2016/01/26/ciencia/1453766578_683799.html
Deep Learning
Retos en los Juegos “inteligentes”
http://www.nature.com/nature/journal/v529/n7587/full/
nature16961.html
Deep Learning
Retos en los Juegos “inteligentes”
http://www.nature.com/nature/journal/v529/n7587/full/
nature16961.html
Deep Learning
Retos en los Juegos “inteligentes”
http://www.nature.com/nature/journal/v529/n7587/full/
nature16961.html
Deep Learning
Retos en los Juegos “inteligentes”
http://www.nature.com/news/google-ai-algorithm-
masters-ancient-game-of-go-1.19234
http://www.nature.com/news/the-
g
go-files-champion-preps-for-1-
p p p
million-machine-match-1.19541
https://actualidad.rt.com/ciencias/201602-inteligencia-
artificial-alphago-google-gana-leyenda-go
9/03/2016
Deep Learning
Retos en los Juegos “inteligentes”
https://gogameguru.com/tag/deepmind-alphago-lee-sedol/
Deep Learning
Retos en los Juegos “inteligentes”
https://gogameguru.com/alphago-defeats-lee-sedol-4-1/
IMAGENET (ILSRVC): Microsoft Wins ImageNet
Using Extremely Deep Neural Networks
Microsoft's
Mi ft' network
t k was really
ll deep
d
at 150 layers (extremely deep
neural network). To do this the
team had to overcome a
fundamental problem inherent in
training deep neural networks. As
the network gets deeper training
becomes more difficult so you
encounter a seemingly paradoxical
situation that adding layers makes
the performance worse.
The solution proposed is
called deep p residual learning.g
http://www.image-
net org/challenges/LSVRC/
net.org/challenges/LSVRC/
http://www.i-programmer.info/news/105-artificial-intelligence/9266-microsoft-wins-imagenet-
using-extremely-deep-neural-networks.html
IMAGENET (ILSRVC 2015): Microsoft Wins
ImageNet
g Using
g Extremely
y Deep
p Neural
Networks
http://arxiv.org/abs/1512.03385
Deep Learning
Retos en la “pintura”
http://arxiv.org/abs/1508.06576
Deep Learning
Retos en la “pintura”
Credits: http://arxiv.org/abs/1508.06576
Deep Learning
Retos en la “pintura”
http://www.deepart.io/
Deep Learning
Retos en la “pintura”
Ejemplos del resultado de DeepART
van Goth
http://www.deepart.io/
Deep Learning
Retos en la “pintura”
http://arxiv.org/abs/1409.1556
http://arxiv.org/abs/1508.06576
Deep Learning
Digit Recognizer Kaggle
9 6 6 6 4 0 7 4 0 1
3 1 3 4 7 2 7 1 2 1
1 7 4 2 3 5 1 2 4 4
Créditos: A. Herrera-Poyatos
Deep Learning
http://www.kaggle.com/c/digit-recognizer
Data Set:
Training Set: 42.000 Imágenes
Test Set: 28.000 Imágenes
á
Imagen:
10 clases: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
28x28 píxeles
Ej
Ejemplo:
l
1 Primer paso
1.
2
2. Optimizar los parámetros de un algoritmo sencillo
• Cross Validation sobre KNN para encontrar el mejor valor de k.
Solución: K=1 0.97114 en Kaggle
Créditos: A. Herrera-Poyatos
Deep Learning
2 Visualización
2.
Media de todas las imágenes del training set por
clases:
Solución: Preprocesamiento
Créditos: A. Herrera-Poyatos
Deep Learning
3 Preprocesamiento
3.
Idea: Eliminar las filas y columnas de píxeles en
bl
blanco.
3 Preprocesamiento
3.
Solución: Redimensionar las imágenes a 20x20
píxeles
p e es (t
(tras
as el
e proceso
p oceso anterior
a te o laa imagen
age más
ás
grande tiene esa dimensión)
Lib
Librería
í que contiene
ti Deep
D L
Learning:
i H2O
http://0xdata.com/
Récord
é del mundo en el problema MNIST sin preprocesamiento
http://0xdata.com/blog/2015/02/deep-learning-
performance/
f /
Créditos: A. Herrera-Poyatos
Deep Learning
http://cran.r project.org/web/packages/h2o/index.html
http://cran.r-project.org/web/packages/h2o/index.html
Créditos: A. Herrera-Poyatos
Deep Learning
http://www.h2o.ai/resources/
http://www.h2o.ai/resources/
Sparkling
S kli Water
W t allows
ll users to
t
combine the fast, scalable machine
learning algorithms of H2O with the
capabilities of Spark.
Spark With
Sparkling Water, users can drive
computation from Scala/R/Python
and utilize the H2O Flow UI,
UI
providing an ideal machine learning
platform for application developers.
Créditos: A. Herrera-Poyatos
Deep Learning
hidden=C(1024,1024,2048)
Créditos: A. Herrera-Poyatos
Deep Learning
Digit Recognizer and Convolutional NN
A complete description
http://neuralnetworksanddeeplearning.com/chap6.html
By Michael Nielsen /
Jan 2016
Deep Learning
Digit Recognizer and Convolutional NN
http://neuralnetworksanddeeplearning.com/chap6.html
C
Convolutional
l ti l neurall networks
t k use th
three b
basic
i ideas:
id l
local
l
receptive fields, shared weights, and pooling. Let's look at each of these
ideas in turn.
Local receptive fields: To be more precise, each neuron in the first hidden
layer will be connected to a small region of the input neurons, say, for
example, a 5×5 region, corresponding to 25 input pixels. So, for a
particular hidden neuron
neuron, we might have connections that look like this:
Deep Learning
Digit Recognizer and Convolutional NN
http://neuralnetworksanddeeplearning.com/chap6.html
L
Local
l receptive
ti fi ld
fields:
24×24 neurons
http://neuralnetworksanddeeplearning.com/chap6.html
Sh
Shared
d weights
i ht and
d biases:
bi the same weights and bias
for each of the 24×24 hidden neurons (sigmoide function)
The map from the input layer to the hidden layer a feature map.
http://neuralnetworksanddeeplearning.com/chap6.html
http://neuralnetworksanddeeplearning.com/chap6.html
P li
Pooling l
layers: the pooling layers do is simplify the
information in the output from the convolutional layer, one
common procedure for pooling is known as max-pooling, in the
2x2 region input.
Deep Learning
Digit Recognizer and Convolutional NN
http://neuralnetworksanddeeplearning.com/chap6.html
R l experiment
Real i t for
f DIGIT
DIGIT:
http://neuralnetworksanddeeplearning.com/chap6.html
On the left, the raw input digits. On the right, graphical representations of the
l
learned
d features.
f t In
I essence, the
th network
t k learns
l to
t “see”
“ ” lines
li and
d loops.
l
Credits: https://www.datarobot.com/blog/a-primer-on-deep-learning/
Deep Learning
Digit Recognizer and Convolutional NN
Credits: http://www.iro.umontreal.ca/~bengioy/talks/DL-Tutorial-NIPS2015.pdf
Deep Learning
Digit Recognizer and Convolutional NN
http://rodrigob.github.io/are_we_there_yet/build/classification_
http://rodrigob.github.io/are we there yet/build/classification
datasets_results.html
Deep Learning
Digit Recognizer
Deep Learning
Digit Recognizer
http://rodrigob.github.io/are_we_there_yet/build/classification_
http://rodrigob.github.io/are we there yet/build/classification
datasets_results.html
Deep Learning
htt //
http://www.teglor.com/b/deep-learning-libraries-language-cm569/
t l /b/d l i lib i l 569/
Python
Matlab
C++
R
Ja a …
Java,
Deep Learning
Caffe is a deep learning framework made with expression, speed, and modularity in
mind. It is developed by the Berkeley Vision and Learning Center (BVLC) and by
community contributors. Google's DeepDream is based on Caffe Framework. This
framework is a BSD
BSD-licensed
licensed C++ library with Python Interface.
Interface
Lasagne is a lightweight library to build and train neural networks in Theano. It is
governed by simplicity, transparency, modularity, pragmatism , focus and
restraint principles.
nolearn contains a number of wrappers and abstractions around existing neural
network libraries, most notably Lasagne, along with a few machine learning utility
modules.
Deeplearning4j is the first commercial-grade, open-source, distributed deep-
learning library written for Java and Scala. It is designed to be used in business
environments, rather than as a research tool.
Deep Learning
http://caffe.berkeleyvision.org/
SparkNet
https://github.com/amplab/SparkNet
Deep Learning
http://www.kdnuggets.com/2015/12/spark-deep-learning-training-with-
http://www.kdnuggets.com/2015/12/spark deep learning training with
sparknet.html By Matthew Mayo, KDnuggets.
https://github.com/amplab/SparkNet
Deep Learning
https://pypi.python.org/pypi/Theano
http://deeplearning.net/software/theano/
NN Lasagne http://lasagne.readthedocs.org/en/latest/index.html
Tensor Flow
https://www.tensorflow.org/
TensorFlow™
T Fl ™ iis an open source software
ft library
lib
for numerical computation using data flow
graphs.
Tensor Flow
https://www.tensorflow.org/
http://www.kdnuggets.com/2016/02/scikit-flow-easy-deep-learning-tensorflow-scikit-
learn.html
Deep Learning
http://deeplearning4j.org/
Deep Learning
http://spark-packages.org/user/deeplearning4j
Deep Learning
In summary
Credits: http://www.slideshare.net/david.kh/promises-of-deep-learning
Deep Learning
Relevant researchers
https://www.cs.toronto.edu/~hinton/
(Geoffrey E. Hinton)
University of Toronto
Google Lab - Toronto
http://www.iro.umontreal.ca/~bengioy/yoshua_en/index.
html
(Yosua Bengio)
Université
é de
d Montréal
é l
http://yann.lecun.com/
(Yann LeCun)
Director of AI Research, Facebook
Deep Learning
Final Comments: Overview sobre las estructuras
de representación para aprendizaje y deep learning
http://www.nature.com/nature/journal/v521/n7553/full/nature14539.html
Deep Learning
Readings: Recent Overview
Abstract
Deepp learningg allows computational
p models that are composed
p of
multiple processing layers to learn representations of data with
multiple levels of abstraction. These methods have dramatically
improved the state-of-the-art in speech recognition, visual object
recognition, object detection and many other domains such as
drug discovery and genomics. Deep learning discovers intricate
structure in large data sets by using the backpropagation
algorithm to indicate how a machine should change its internal
parameters that are used to compute the representation in each
layer from the representation in the previous layer. Deep
convolutional
l ti l nets
t have
h brought
b ht about
b t breakthroughs
b kth h in
i
processing images, video, speech and audio, whereas recurrent
nets have shone light on sequential data such as text and speech.
http://www.nature.com/nature/journal/v521/n7553/full/nature14539.html
Deep Learning
Readings: Recent Overview
http://www.nature.com/nature/journal/v521/n7553/full/nature14539.html
Deep Learning
Final Comments: The future of of deep learning (by
LeCun, Bengio and Hinton)
Unsupervised learning91, 92, 93, 94, 95, 96, 97, 98 had a catalytic effect in reviving interest
in deep learning, but has since been overshadowed by the successes of purely
supervised learning. Although we have not focused on it in this Review, we expect
unsupervised learning to become far more important in the longer term. Human and
animal learning is largely unsupervised: we discover the structure of the world by
observing it, not by being told the name of every object.
Human vision is an active process that sequentially samples the optic array in an
intelligent, task-specific way using a small, high-resolution fovea with a large, low-
resolution surround. We expect much of the future progress in vision to come from
systems that are trained end-to-end and combine ConvNets with RNNs that use
reinforcement learning to decide where to look. Systems combining deep learning
and reinforcement learning are in their infancy, but they already outperform passive
vision systems
y 99 at classification tasks and p produce impressive
p results in learningg to
play many different video games . 100