deep learning na visão computacional - lps.usp.br · tarefas consideradas impossíveis 5 anos...
TRANSCRIPT
![Page 1: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/1.jpg)
Deep Learning na Visão Computacional
Hae Yong Kim
Deep learning está realizando tarefas que pareciam impossíveis 5 anos atrás.
Estamos dando passos para computador que: * Entende o que vê;* Entende o que ouve, e fala vários idiomas;* Lê e entende texto científico, médico e jurídico;* Aprende sozinho, a partir das experiêcias.
Frequentemente sai notícias sobre deep learning em jornal de grande circulação.
![Page 2: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/2.jpg)
Deep learning evoluiu muitíssimo rápido (5 anos).
Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser humano.Nós, professores, estamos tendo que aprender deep learning, voltando a sentar no banco de alunos.
Meu esforço para aprender deep learning:1) Livro http://neuralnetworksanddeeplearning.com/2) Programas Tiny-DNN, Theano.3) Banco de imagens MNIST e CIFAR-10.4) Curso de Stanford CS231n “Convolutional Neural Networks for Visual Recognition”.5) Programas Dlib, Caffe, Tensorflow.
![Page 3: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/3.jpg)
Deep learning (2010) é uma técnica particular de machine learning (1980).Machine learning (1980) é uma sub-área de inteligência artificial (1950).
![Page 4: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/4.jpg)
Classifique 16kg, 3kg e 75kg.
Machine learning simples:Dadas amostras de treinamento de peso (kg) e rótulo Adulto, Bebê e Criança:
Muito simples
![Page 5: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/5.jpg)
Feminimo Masculino
?? Muito difícil, sem usar deep learning.
Classifique:
Eu classifiquei manualmente e cometi 1% de erro.Fiz um programa deep learning simples que comete 1% de erro.Programa simples é tão bom quanto ser humano!Polêmica causada pelo software que reconhece homossexuais pela face (20-30% de erro).
![Page 6: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/6.jpg)
Deep learning utiliza redes neurais com muitas camadas escondidas.
Em visão computacional, usa camada convolucional.
Consegue resolver problemas que pareciam impossíveis, como:
* Classificar os rostos em feminino/masculino.* Descobrir idade pela face.* Ler placas e números de casas para Google Map.
Agora, “captcha” é inútil: computador reconhece melhor letras e números distorcidos que humanos.
![Page 7: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/7.jpg)
Procurar: “Man riding bicycle carrying dog” em mecanismos de busca: Google, Bing, Yahoo, Duckduckgo.
Como os sites de busca encontram imagens de:“Man riding bicycle carrying dog”?Se escrever em português, (ainda) não dá muito certo.
![Page 8: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/8.jpg)
Man seated on a chair hugging dog
Man walking with dog on highway
![Page 9: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/9.jpg)
Reconhecimento de fala (Siri, Cortana, etc)Tradução de texto (Google translate, Bing translator, etc.)Recomendação de vídeo no Youtube.Propaganda com sugestão de produtos que o usuário pode se interessar.http://www.yaronhadad.com/deep-learning-most-amazing-applications/
Restaura automaticamente cor em fotos preto-e-branco.
Colorir manualmente: https://g1.globo.com/mg/minas-gerais/noticia/imagens-historicas-ganham-cor-nas-maos-de-artista-mineira.ghtml
![Page 10: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/10.jpg)
Super-resolução. Consegue identificar o rosto na coluna esquerda? Computador gerou a coluna do meio. Coluna da direita é a imagem alta-resolução desconhecida.
![Page 11: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/11.jpg)
Aprende a jogar video-gameJogando (vendo os pixels e movendo joystick).
Em muitos jogos, é melhor que ser humano.
Melhora jogando contra si mesmo.
![Page 12: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/12.jpg)
Carro autônomo.
Robótica.
Composição automática de música.
Leitura labial (93% de acerto, melhor que ser humano 52%).
![Page 13: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/13.jpg)
Transferir estilo de pintura.
![Page 14: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/14.jpg)
Classificação de dígitos manuscritos MNIST(provavelmente, o problema mais simples de deep learning)
Erro humano: 2 – 2,5 %Erro de machine learning convencional: 2,5%O menor erro de deep learning: 0,23%O que eu consegui: 0,35%.
![Page 15: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/15.jpg)
Banco de dados para reconhecimento de objetos:
MNIST: Dígitos manuscritos. Imagens 28x28.
CIFAR-10: 10 categorias de objetos (trem, gato, cachorro, carro, navio, etc). Imagens 32x32.
Pascal: 20 categorias de objetos. Imagens “grandes” com bounding box localizando objetos.
Imagenet: 20000 categorias. 14 milhões de imagens.
![Page 16: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/16.jpg)
Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 9 - May 2, 20178
LeNet-5
[LeCun et al., 1998]
Conv filters were 5x5, applied at stride 1
Subsampling (Pooling) layers were 2x2 applied at stride 2
i.e. architecture is [CONV-POOL-CONV-POOL-FC-FC]
Vou usar slides do curso de Stanford.
![Page 17: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/17.jpg)
LeNet-5 (1998)
AlexNet (2012) – aqui deep learning torna-se popular
VGGNet (2014)
GoogleNet (2014)
ResNet (2015)
Todos baseados em rede neural convolucional.Usam ReLU, maxpooling, e fully-connected layer.
![Page 18: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/18.jpg)
Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 9 - May 2, 2017Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 9 - May 2, 201722
ImageNet Large Scale Visual Recognition Challenge (ILSVRC) winners
First CNN-based winner
![Page 19: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/19.jpg)
Deep learning (convolutional neural net) aprende sozinho quais são as melhores características. Antes, ser humano tinha que dizer.
![Page 20: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/20.jpg)
Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 8 - April 27, 201711
CPU vs GPU
# Cores Clock Speed Memory Price
CPU
(Intel Core
i7-7700k)
4(8 threads with
hyperthreading
)
4.4 GHz Shared with system $339
CPU
(Intel Core
i7-6950X)
10 (20 threads
with
hyperthreading
)
3.5 GHz Shared with system $1723
GPU
(NVIDIA
Titan Xp)
3840 1.6 GHz 12 GB GDDR5X $1200
GPU
(NVIDIA
GTX 1070)
1920 1.68 GHz 8 GB GDDR5 $399
CPU: Fewer cores,
but each core is
much faster and
much more
capable; great at
sequential tasks
GPU: More cores,
but each core is
much slower and
“dumber”; great for
parallel tasks
11
![Page 21: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/21.jpg)
Num computador bom:* GPU 50x mais rápido que CPU usando cuDNN (biblioteca otimizada).* GPU 3x mais rápido que CPU sem biblioteca otimizada.
No meu computador:* GPU 10x mais rápido que CPU usando cuDNN.* GPU e CPU mesma velocidade sem biblioteca otimizada.
É muito difícil escrever programa para GPU. Se escrever, não fica muito rápido.Tem que usar rotinas prontas (cuDNN).
Não precisa ter computador com GPU bom.É possível usar computação na nuvem (Google, Amazon, etc).
![Page 22: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/22.jpg)
Google TPU
78
(Tensor Processing Unit)
Em uso pela Google desde 2015.TPU é 15-30x mais rápido que GPU/CPU. Gasta muito menos energia.
![Page 23: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/23.jpg)
Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 8 - April 27, 2017Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 8 - April 27, 201720
Softwares para deep learning
Caffe (UC Berkeley)
Torch (NYU / Facebook)
Theano (U Montreal)
TensorFlow (Google)
Caffe2 (Facebook)
PyTorch (Facebook)
CNTK (Microsoft)
Paddle (Baidu)
MXNet (Amazon)Developed by U Washington, CMU, MIT,
Hong Kong U, etc but main framework of
choice at AWS
And others...
Empresas (e não universidades) estão fornecendo software para deep learning. Há interesse econômico.
![Page 24: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/24.jpg)
Testei:
* Tiny_dnn (C++, só para CPU).* Dlib (C++, CPU/GPU)* Caffe (linguagem própria, Python, C++)
Testei rapidamente:
* Theano (Python)* Tensorflow (Python, C++)
Estou buscando softwares que permitam inserir novos tipos de camadas. De preferência em C++, pois é bem mais rápido que Python.
![Page 25: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/25.jpg)
Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 11 - May 10, 201717
Other Computer Vision Tasks
Classification
+ Localization
Semantic
SegmentationObject
Detection
Instance
Segmentation
CATGRASS, CAT,
TREE, SKYDOG, DOG, CAT DOG, DOG, CAT
Single Object Multiple ObjectNo objects, just pixels This image is CC0 public domain
![Page 26: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/26.jpg)
Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 14 - May 23, 2017
Reinforcement learning: Playing Atari Games
42
Objective: Complete the game with the highest score
State: Raw pixel inputs of the game state
Action: Game controls e.g. Left, Right, Up, Down
Reward: Score increase/decrease at each time step
[Mnih et al. NIPS Workshop 2013; Nature 2015]
![Page 27: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/27.jpg)
Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 14 - May 23, 201762
Video by Károly Zsolnai-Fehér. Reproduced with permission.
https://www.youtube.com/watch?v=V1eYniJ0Rnk
![Page 28: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/28.jpg)
(Goodfellow 2016)
(Andrej Karpathy, “Breaking Linear Classifers on ImageNet”)
Problema: Adversarial attack.
8% peixe dourado 12% margarida
![Page 29: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/29.jpg)
(Goodfellow 2016)
Problema:Adversarial attack: Turning Objects into “Airplanes”
![Page 30: Deep Learning na Visão Computacional - lps.usp.br · Tarefas consideradas impossíveis 5 anos atrás são possíveis hoje. Ex: Computador soluciona melhor “captcha” do que ser](https://reader030.vdocuments.com.br/reader030/viewer/2022021715/5c62fdb509d3f26d208bc7f9/html5/thumbnails/30.jpg)
Deep learning “explodiu” nos últimos 5 anos.
Possivelmente, estamos no meio de uma revolução em computação.
No futuro, talvez teremos computadores com processadores dedicado a deep learning.
Já estamos usando deep learning corriqueiramente (ex: quando fazemos busca na internet, usamos Siri, Cortana, etc.).
As empresas estão investindo pesado em deep learning.
Frequentemente, aparecem novas aplicações de deep learning.
Nós, professores, estamos tendo que aprender deep learning.