Deep Learning
Matheus, Leandro e Andrei
SUMÁRIO
● INTRODUÇÃO
○ O que é Deep Learning?
○ Por que aprender Deep Learning? ○ Aplicações; ○ Popularização; ● Conceitos Básicos ○ O Neurônio Artificial ○ Multilayer Perceptron ○ Treinamento
● Exemplo prático (MLP com Keras)
O que é Deep Learning?
“machine learning algorithms based on learning multiple levels of
representation/abstraction. Amazing improvements in error rate in object
recognition, object detection, speech recognition, and more recently, in natural language processing/understanding”
Yann LeCun, Geoffrey Hinton, Yoshua Bengio & Andrew Ng
Deep Learning EVERYWHERE... -Classificação de imagens -Análise de sentimentos -Reconhecimento de fala -Legendas automáticas em vídeos -Busca de vídeos
-Tradução em tempo real
-Detecção de pedestres -Detecção de faixa -Reconhecimento de placas -Detecção de face -Sistemas de vigilância -Imagens de satélite -Detecção de células cancerígenas -Design de drogas INTERNET & CLOUD ENTRETENIMENTO & MÍDIA VEÍCULOS AUTÔNOMOS SEGURANÇA & DEFESA MEDICINA & BIOLOGIA 4
Por que aprender Deep Learning?
Por que aprender Deep Learning?
Por que aprender Deep Learning?
Aplicação de Deep Learning (carros autônomos)
Aplicação de Deep Learning (carros autônomos)
Aplicação de Deep Learning (descrição automática de cenas)
Aplicação de Deep Learning (imagens radiográficas)
ImageNet Large Scale Visual Recognition Competition
No Free Lunch!
● Fraquezas do Deep Learning:
○ Requer muitos dados de treinamento para alcançar um bom desempenho ○ Altamente dependente da qualidade dos dados de treinamento
○ Grande quantidade de parâmetros que requerem ajuste (arquitetura, treinamento) ○ Computacionalmente custoso
○ Black Box
Número de papers em Deep Learning
Popularização dos métodos de Deep Learning
● Hardware para processamento altamente paralelo (GPUs); ● Frameworks que facilitam o desenvolvimento.
Graphics Processing Unit (GPU)
CPU GPU
Intel Core i7 Nvidia Titan X 8 cores 3584 cores
Desempenho da GPU (NVIDIA TITAN X)
Frameworks
suporte:
wrapper frameworks devices interface Frameworks 19
SUMÁRIO
● INTRODUÇÃO
○ O que é Deep Learning?
○ Por que aprender Deep Learning? ○ Aplicações; ○ Popularização; ● Conceitos Básicos ○ O Neurônio Artificial ○ Multilayer Perceptron ○ Treinamento
● Exemplo prático (MLP com Keras)
Neurônios Reais vs Artificiais
Neurônios Artificiais ● Perceptron: ○ Separação linear ● Problema clássico: ○ XOR 22
Multilayer Perceptron (MLP)
● Possui “camadas ocultas”
○ Introduz a não linearidade
○ Resolve o problema do XOR
Treinamento da MLP
● Uma MLP é treinada através do ajuste dos pesos de forma a alcançar a saída desejada
● Este ajuste é feito utilizando o Gradiente Descendente (Gradient Descent)
● O gradiente é calculado através da derivada parcial da função de custo com respeito aos pesos da rede.
● Os pesos do restante das camadas são atualizados usando o algoritmo de retropropagação de erros (backpropagation)
○ w = vetor de pesos ○ t = tempo/iteração atual ○ L = função de custo
○ n = taxa de aprendizado (learning rate)
SUMÁRIO
● INTRODUÇÃO
○ O que é Deep Learning?
○ Por que aprender Deep Learning? ○ Aplicações; ○ Popularização; ● Conceitos Básicos ○ O Neurônio Artificial ○ Multilayer Perceptron ○ Treinamento
● Exemplo prático (MLP com Keras)
Exemplo - MLP com Keras 1. Load Data. 2. Define Model. 3. Compile Model. 4. Fit Model. 5. Evaluate Model.
Framework: Keras (Wrapper) + Tensorflow (Backend)
Exemplo - MLP com Keras
● Pima Indians Diabetes Database
○ Amostras: 768
○ Atributos: 8
○ Saída: 1
Exemplo - MLP com Keras
Exemplo - MLP com Keras - Output
Atividades
● Video
○ Backpropagation (Geoffrey Hinton)
○ Playlist sobre vários assuntos referentes a DL
● Leitura
○ Deep Learning Book - Ian Goodfellow,Yoshua Bengio and Aaron Courville
○ Deep Learning - Nature
● Framework
○ Keras (Recomenda-se usar o TensorFlow backend)
● Simulador
○ Neural Network Playground