visio per computador presentació · redes neuronales intro alexnet (2012) vgg-16 (2014) esquema...
TRANSCRIPT
![Page 1: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/1.jpg)
Deep learning
Felipe LumbrerasDept. Ciències de la Computació / Centre de Visió per Computador
Universitat Autònoma de Barcelonahttp://www.cvc.uab.es/shared/teach/a102784/
![Page 2: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/2.jpg)
Índice
• Intro• Red básica• Arquitectura• Loss• Datos• Regularización• Ajuste• Zoo• Otros• Links
![Page 3: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/3.jpg)
Qué es el deep learning
• “[…] to allow computers to learn from experience and understand theworld in terms of a hierarchy of concepts, with each concept defined in terms of its relation to simpler concepts. By gathering knowledge fromexperience, this approach avoids the need for human operators to formally specify all of the knowledge that the computer needs. Thehierarchy of concepts allows the computer to learn complicatedconcepts by building them out of simpler ones. If we draw a graphshowing how these concepts are built on top of each other, the graph isdeep, with many layers. For this reason, we call this approach to AI deeplearning”
http://www.deeplearningbook.org/contents/intro.html
• “Deep Learning is a new area of Machine Learning research, which has been introduced with the objective of moving Machine Learning closerto one of its original goals: Artificial Intelligence”
http://deeplearning.net/
• Redes neuronales
Intro
![Page 4: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/4.jpg)
Esquema
Intro
Alexey Grigorevich Ivakhnenko, 1965
McCulloch-Pitts neuron, 1943
![Page 5: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/5.jpg)
Historia
• McCulloch-Pitts, Neuron [1943]. Pesos configurados a mano
• Rosemblatt, perceptron [1957]. Clasificador, aprendía de ejemplos
• Widrow and Hoff, ADALINE (adaptive linear element) [1960]. Regresor, usaba descenso estocástico de gradiente
• Minsky and Papert, XOR problem [1969]. Los modelos lineales tienen limitaciones
• Fukushima, Neocognitron [1980]. Campos receptivos, precursor de CNN
• Backpropagation + Multilayer perceptron ideas ya establecidas pero rescatadas por Rumelhart, Hinton y Willians [1986] para resolver problemas complicados.
• LeCun, LeNet-5 [1998]. Utiliza Convolutional Neural Networks para reconocer patrones visuales (dígitos) a partir de píxeles
• …
Intro
![Page 6: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/6.jpg)
http://beamandrew.github.io/deeplearning/2017/02/23/deep_learning_101_part1.html
![Page 7: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/7.jpg)
• Bases de datos (datos etiquetados)
• Capacidad de la red: más neuronas y más conectividad
• Mejora computacional (GPUs)
Intro
Claves del éxito
![Page 8: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/8.jpg)
Qué hace una red
• Parte de ejemplos (datos-etiquetas, entradas-salidas, x-y)
• Aproxima/genera una función. Dada una entrada genera unas salida.
– Clasifica
– Regresiona
– Genera
– …
• Con una única capa oculta y un número finito de neuronas se puede aproximar cualquier función: universal approximation theorem
• Cómo lo hace: parte de un estado inicial (aleatorio, otro problema, …), altera los pesos de manera que se minimiza el error entre las respuestas deseadas (presentadas) y lo que genera la red
Intro
cs.stanford.edu/people/karpathy/convnetjs/
z1
x2
x1
x1
xn
z1x2
𝑔(𝒙)z2
zo
...
![Page 9: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/9.jpg)
Para qué se usan en VC
• Clasificación de imágenes: 1K–10K clases
http://image-net.org/
www.nature.com/articles/nature21056.epdf
• Detección de objetos: 20-1K clases
• Segmentación semántica: 3 – 20 clases
Intro
![Page 10: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/10.jpg)
Para qué se usan
• En todos los ámbitos de la VC se está apostando por este tipo de soluciones– Generación de imágenes, phillipi.github.io/pix2pix/
– Style transfer, github.com/fzliu/style-transfer, arxiv.org/abs/1705.01088v1
– Superresolución arxiv.org/abs/1501.00092, arxiv.org/abs/1702.00783
– Colorización, richzhang.github.io/ideepcolor/
– 3D, ...
• En otros ámbitos:– Gaming,
– Síntesis de texto,
– Reconocimiento de habla,
– Chatbots,
– Criptografía,
– Gráficos: generación de escenas, recolorización, reiluminación,
– Simulaciones: astrofísica, ingeniería, ...
Intro
![Page 11: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/11.jpg)
Redes neuronales
Intro
AlexNet (2012)
VGG-16 (2014)
Esquema típico de red feedforward
Redes famosas y usadas en la resolución de varios problemas
![Page 12: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/12.jpg)
Perceptrón
• Neurona
• Neurona computacional , n inputs y una salida, parámetros (pesos 𝜔), función de activación = threshold binario (ajustado en cada caso, t)
Red básica
Modelo simple:- Pesos sinápticos- Estímulo acumulado- Salida todo o nada
Clasificador lineal binario
XOR problem
playground.tensorflow.org
𝑦 = 𝜎𝑡(𝝎′ · 𝒙)
![Page 13: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/13.jpg)
𝑏
𝜎
Multilayer perceptron
• MLP red neuronal feedforward
• Más capas -> ocultas (hidden layers) -> deep
• Conseguimos fronteras y funciones más complicadas (no lineales)
• Neurona base: para no ajustar el threshold de la función de activación lo trataremos como un peso extra conectado a una entrada fija (bias 𝑏)
• Dispondremos varias capas
• Usaremos funciones de activación derivables (permiten el aprendizaje)
Red básica
𝑦 = 𝜎(𝝎′ · 𝒙 + 𝑏)
𝒛 = 𝜎(𝑾𝟐𝒚 + 𝒃2) = 𝜎(𝑾𝟐𝜎 𝑾𝟏𝒙 + 𝒃1 + 𝒃2)
x1
xn
z1
x2z2
zo
...
......
𝑾𝟐, 𝒃2𝑾𝟏, 𝒃1 𝑦1
𝑦m
𝑦2
![Page 14: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/14.jpg)
Backpropagation
• El objetivo es minimizar la diferencia entre la función objetivo (respuestas conocida) y la respuesta de la red, Coste (C)
• Utilizaremos un
descenso del gradiente
• El error que observamos en la salida, C, lo propagamos hacia el interior. Se recalcularán pesos y bias
• Se utiliza la regla de la cadena para conocer cómo se ve afectado cada parámetro
Red básica
neuralnetworksanddeeplearning.com/chap2.html
![Page 15: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/15.jpg)
Arquitectura
• ConvNets: input + [CNN + subsampling]xN + [FC]xM + output -> loss
C: ConvolutionalS: Sampling
FC: Fully connected
• LeNet-5: activations: tanh or sigmoidsinput: 32x32C1: 28x28x6S2: 14x14x6C3: 10x10x16S4: 5x5x16F5: 120 F6: 84output: 10
Arquitectura
LeNet-5 (1998)
Mapas de características
Clasificador
Cascada
![Page 16: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/16.jpg)
Arquitectura
Arquitectura
AlexNet (2012)
• AlexNet: activations: ReLUs
input: 227x227
C1: 55x55x96
C2: 27x27x256
C3: 13x13x384
C4: 13x13x384
C5: 13x13x256
FC6: 4096
FC7: 4096
FC8 (output): 1000
![Page 17: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/17.jpg)
Capas convolucionales (CNN)
• Campo receptivo, solo hay conectividad local
• Los pesos son los mismos para cada posición (filtro)
• Equivale y se calcula con convoluciones
Ejemplo: entrada 32x32x3
campo receptivo: 5x5
pesos que conectan una región y una neurona: 5x5x3
• Hiperparámetros: – Depth: número de filtros que queremos usar
– Stride: salto entre convoluciones, si >1 se reduce el volumen espacial
– zero-padding: incrementa el borde del input con ceros, para ajustar tamaños de entradas y salidas y que se puedan comprar.
Arquitectura
![Page 18: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/18.jpg)
Subsampling, Max pooling
• Podemos interponer capas de pooling que reducen el tamaño de la red
• En algunas arquitecturas podemos tener capas de upsampling, para ello nos guardaremos en las capas de max pooling de qué pixel sacamos el valor
Arquitectura
stride=3
subsampling
Max pooling
0.1 0.7
-0.2 0.6
0.1 0.7
-0.2 0.6
0.7
Average pooling
0.3
![Page 19: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/19.jpg)
Funciones de activación
• Sigmoidea: 𝜎 𝑥 =1
1+𝑒−𝑥
• Tanh: tanh 𝑥
• ReLU: max 0, 𝑥
• Leaky ReLU: max 0.1𝑥, 𝑥
• ELU: ቊ𝑥 𝑥 ≥ 0
𝛼(𝑒𝑥 − 1) 𝑥 < 0
• Maxout: max(𝜔1′𝑥 + 𝑏1,𝜔2
′ 𝑥 + 𝑏2)
Arquitectura
1
x
![Page 20: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/20.jpg)
Capa completamente conectada (FC)
• Las últimas capas no buscan características
• Clasifican, regresionan, …
• La información se ha ido reduciendo
• Conectamos todas con todas las neuronas en un esquema tradicional
Arquitectura
z1
z2
zo
...
......
FC1 FC2
output
![Page 21: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/21.jpg)
Softmax
• Los outputs de la red para el caso de un clasificador necesitamos que se adapten al rango 0,1 y que sean una probabilidad (sumen 1).
• Para ellos utilizaremos la función softmax que ajusta las salidas de nuestra red al rango 0,1
𝜎(𝒛)𝑗=𝑒𝑧𝑗
σ𝑘 𝑒𝑧𝑘
Arquitectura
![Page 22: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/22.jpg)
Loss/Cost function
Loss
• Para poder usar backpropagation, definiremos una cost/loss/error function(*) que tiene que satisfacer dos propiedades:1. Se debe poder expresar como un promedio de costes para muestras de entrenamiento
individuales .
𝐶 =1
𝑛
𝑥
𝐶𝑥
2. La función de coste C no debe depender de ningún valor de activación por detrás de los de la última capa
(*) en algunos contextos se distinguen estas, siendo loss (perdida) la función que evalua el error para un dato concreto, y cost (coste) la que aglutina un conjunto de muestras y términos regularizadores
![Page 23: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/23.jpg)
Loss para regresión
• L2 o cuadrática
𝐶 =1
2
𝑗
(𝑎𝑗𝐿 − 𝑦𝑗)
2
• L1 o absoluta o Laplace, no diferenciable en cero.
𝐶 =
𝑗
|𝑎𝑗𝐿 − 𝑦𝑗|
• Huber: cuadrática para valores pequeños, absoluta para valores grandes
Loss
![Page 24: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/24.jpg)
Loss para classificación
• Logistic
𝐶 = −𝑦𝑗 log 𝑎𝑗𝐿 − 1 − 𝑦𝑗 log(1 − 𝑎𝑗
𝐿)
• Hinge
𝐶 = max(0,1 − 𝑎𝑗𝐿𝑦𝑗)
Loss
![Page 25: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/25.jpg)
Qué datos usaremos
• Muchos y etiquetados
• Bases de datos grandes – MNIST: 70K imágenes en grises 20x20
representa dígitos escritos a mano
60K training, 10K testing
– CIFAR-10: 60K imágenes en color 32x32
10 clases, 6K/clase. 50K training,10K test
– CIFAR-100: lo mismo pero con 100 clases, 600/clase
– ImageNet: organizada según WordNet
10M imágenes color, 10K categorías
– Places: 2,44M imágenes color.
– ….
Datos
![Page 26: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/26.jpg)
Training, Validation, Test
• Training: datos usados para aprender, la diferencia de las respuesta de la red a estos datos con respecto a las salidas esperadas es la diferencia que propagaremos hacia atrás.
• Validation: la manera correcta de sintonizar los hiperparámetros sin tocar el resto de los datos. La idea es partir el training en dos: uno mayor para entrenar y otro para validar. Podemos evaluar la accuracy obtenida cada cierto tiempo y ver cómo evoluciona en el tiempo.
• Test: Se evalúan una única vez al final. No podemos usar el test para aprender la red o sus hiperparámetros
• En el caso de tener pocas muestras y no poder partir en 3 se puede optar por hace una Cross-validation
Datos
![Page 27: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/27.jpg)
Epoch, batch, iterations
• Epoch: una pasada de los datos forward y backward de todos los datos de entrenamiento
• batch size: número de muestras de entrenamiento en un paso forward/backward. Cuanto mayor sea este batch size mejor representado estará el gradiente pero más memoria se necesitará.
• Iterations: número de pasos, cada uno usa batch size número de ejemplos
Datos
![Page 28: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/28.jpg)
Evolución temporal de un aprendizaje
Datos
![Page 29: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/29.jpg)
Regularización
• Hacer más robusto el aprendizaje, reducir el overfitting… Contamos con varias técnicas:
– Data augmentation
– Early stopping
– Dropout
– Batch normalization
– Weight decay
Datos
![Page 30: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/30.jpg)
Data augmentation
• Generar más muestras plausibles a partir de:
• - ligeras traslaciones (random crops)
• - simetrías horizontales y verticales
• - rotaciones
• Manipulación del color
• Distorsiones geométricas
• Añadir ruido a los datos
• Utilizar partes y reconstruir nuevas imágenes
• Nota: siempre que sean creíbles, por ejemplo una escena con el cielo en el suelo no es creíble dentro del ámbito de un coche autónomo, pero una naranja en cualquier dirección sí en un entorno industrial de control de calidad de fruta.
Datos
![Page 31: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/31.jpg)
Early stopping
• El training genera overfitting de sus datos, la red acaba ajustando muy bien las respuestas del training. Cuando pasa esto la red se equivocará más en un caso no visto. Lo que haremos es vigilar y parar cuando el validation error comience a subir
Datos
![Page 32: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/32.jpg)
Dropout
• Más “barato” que Batch normalization
• Máscara de 1/0
Datos
![Page 33: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/33.jpg)
Batch normalization
Datos
![Page 34: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/34.jpg)
Weight decay
• Evita que la importancia del resultado recaiga en pocas neuronas limitando el peso de estas.
• Añadimos a la función de coste un término que penaliza que los pesos se hagan grandes
Datos
ሚ𝐶 = 𝐶 +𝜆
2𝑊2
![Page 35: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/35.jpg)
Ajuste (hiperparámetros)
• Babysitting
• Random search vs. Gridded search
• Simulated annealing
• Metalearning
Ajuste
![Page 36: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/36.jpg)
Aceleración (GPU)
• En esencia una red consiste en multiplicar unos vectores de entrada por unas matrices de pesos hacia adelante (forward)… y aprender consiste en reducir el error en la salida propagándolo hacia atrás (backwards).
• Este proceso se puede hacer en CPU, GPU (graphic), TPU (tensor). Las dos últimas son arquitecturas paralelizadas y más eficientes en este tipo deproblemas.
• Cuda, openC, … tienenimplementaciones eficientesde las funciones básicas.
Aceleración
![Page 37: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/37.jpg)
Entornos de programación
Librerías orientadas al Deep LearningEntornos:• Tensorflow→ (libre, apoyado por Google)• PyTorch → (libre, apoyado por Facebook)• Caffee, Caffe2• MatConvNet (Matlab)• MatLab Deep Learning• Theano• Torch• Lasagne
• …Wrappers: simplifican la creación y uso• Keras (sobre Tensorflow)• Fast.ai, PyTorchLightning
Entornos
![Page 38: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/38.jpg)
Zoo
Zoo
https://adeshpande3.github.io/adeshpande3.github.io/The-9-Deep-Learning-Papers-You-Need-To-Know-About.html
![Page 39: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/39.jpg)
Siamesas
Zoo
![Page 40: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/40.jpg)
Tripletas
Zoo
![Page 41: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/41.jpg)
Reccurrent (RNN)
• Las salidas se utilizan como entradas, esto genera un estado interno de la red que exhibe un comportamiento temporal.
• Usadas con éxito con secuencias: modelización del lenguaje, traducción automática, reconocimiento de voz, image captioning entre otras.
• LSTM (Hochreiter & Schmidhuber, 1997) es uno de los tipos de RNN más usados en la que el gradiente se propaga unos cuantas veces hasta que se olvida.
• Esta redes que tienen millones de parámetros requieren semanas de entrenamiento en sistemas multiGPU.
Zoo
![Page 42: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/42.jpg)
Resnet
Zoo
• Mezclas las salidas de una capa, con las salidas de unas cuantas capas antes.
• Necesitas profundidades muy grandes de redes
• Dan buenos resultados
![Page 43: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/43.jpg)
Autoencoders
• “Comprimes” los datos,
• Quitas lo superfluo
• Reduces la dimensionalidad
Zoohttp://cs.stanford.edu/people/karpathy/convnetjs/demo/autoencoder.html
![Page 44: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/44.jpg)
U-net
• Fully convolutional network: se adapta al tamaño de entrada
• Muy utilizadas en segmentación semántica, pero se pueden adaptar a otros problemas: regresión, superresolución,…
• Se caracteriza por su forma en U y por las skip connections.
• Se aplican unas etapas de down, una capa media mid, y las correspondientes up. El resultado de las down seconcatena con las entradas de las up. Con este procedi-miento se consigue precisión y resolución en los resultados.
• Cada etapa tiene dos convoluciones.
Zoohttps://lmb.informatik.uni-freiburg.de/people/ronneber/u-net/
![Page 45: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/45.jpg)
GAN
• "If it doesn't work, try a GAN".
• Motivación:
Zoo
![Page 46: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/46.jpg)
GAN
• Generative Adversarial Network: dos redes neuronales que compiten mutuamente en una especie de juego de suma cero. Fueron presentadas por Ian Goodfellow et al. en 2014.
• Esquema:
• Muy utilizadas para generar/inventar datos creíbles
Zoo
![Page 47: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/47.jpg)
GAN
Zoo
https://github.com/junyanz/CycleGAN
![Page 48: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/48.jpg)
GAN
Zoo
https://github.com/phillipi/pix2pix
Deepfakes:
https://www.youtube.com/watch?v=G06dEcZ-QTghttps://www.youtube.com/watch?v=BsITEVX6hkEhttps://www.youtube.com/watch?v=p1b5aiTrGzY
![Page 49: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/49.jpg)
Otros conceptos interesantes• Embedings: mapeado de una variable discreta (categórica)
en un vector de valores continuos.
• Domain adaptation
• Zero-shot, Few-shot learning
Misc.
![Page 50: Visio per Computador presentació · Redes neuronales Intro AlexNet (2012) VGG-16 (2014) Esquema típico de red feedforward Redes famosas y usadas en la resolución de varios problemas](https://reader034.vdocumento.com/reader034/viewer/2022042713/5fac442f976c9f63361f760c/html5/thumbnails/50.jpg)
Links interesantes
• http://cs231n.stanford.edu/2016/
• http://www.deeplearningbook.org/
• http://neuralnetworksanddeeplearning.com/
• http://cs.stanford.edu/people/karpathy/
• http://distill.pub/
• http://deeplearning.net/
Links