O documento apresenta uma introdução ao Deep Learning, discutindo conceitos como redes neurais profundas e frameworks como o TensorFlow. É feita uma demonstração de uma rede neural convolucional para reconhecimento de imagens usando o TensorFlow.
Subcategoria deMachine learning que
trata as oportunidades de aprendizado
profundo com redes neurais profundas
Desenvolvida e melhorada na área
acadêmica desde a década de 50,
ganhando notoriedade nos ultímos anos
Em razão do poder computacional atual,
vem sendo amplamente explorada
Cenário atual Deep learning:
Serviços da internet
• Classificação de
imagens
• Reconhecimento de fala
• NLP
Medicina diagnóstica
• Detecção de câncer
• Diabetes
Mídia e entretenimento
• Tratamento de vídeo
• Tradução em real time
Segurança
• Reconhecimento de
face
• Biometria
• Cyber security
Carros autônomos
• Detecção de pessoas
e objetos
• Melhor trajeto
• Prevenção de colisão
5.
Source: NextBigFuture
• Sabemosque quanto maior a quantidade
de dados maior é a performance
(leia acurácia) dos modelos
• Com quantidades cada vez maiores de
datasets abertos na internet, torna-se
possível treinar e desenvolver redes
neurais com arquiteturas cada vez
mais profundas
Alguns datasets para treinar as habilidades de Deep Learning
Imagens
• Minist
• Cifar-10
• CanalTech 256
• STL-10
• COIL100
• Imagenet
Artificial Datasets
• Arcade Universe
• BabyAIShapesDatasets
• ConvexNonConvex
• BackgroundCorrelation
Texto
• 20NewGroups
• Reuters
• Broadcast News
Speech
• TIMIT
Cenário atual
Source: Asimovinstitute
•Diversas arquiteturas
disponíveis.
• Uma para cada problema
• Novas arquiteturas
surgindo devido ao poder
computacional atual
13.
• CNN éuma rede do tipo Feed-Foward.
• Utiliza uma variação de perceptrons multicamada, desenvolvidos para
minimizar o uso computacional
• CNN aprende filtros em que um algoritmo tradicional seria necessário
implementações manuais
• Usada principalmente em reconhecimento de imagens e processamento
de vídeos, embora já tenha sido usada em processamento de voz e NLP
CNN – Convolutional
neural network
15.
Trabalhando com Imagens
•Imagem tratada como matriz.
• “Shape” da imagem é visto através
das dimensões altura, largura e
canais de cores (RGB)
• Devemos deixar as imagens do
mesmo tamanho(Slice)
• Podemos fazer conversões na
imagem, mudando posição,
Recortando, invertendo lados
(transpose), girando
• Extração de features pode ser
diretamente onde interessa
Open Source InterfacePlataform Written In Cuda Support
YES PYTHON, LINUX, C++ YES
MATLAB MAC OS X,
WINDOWS
YES PYTHON, LINUX, C++ YES
C++ WINDOWS,
MAC OS X
YES PYTHON LINUX, PYTHON YES
MAC OS X,
WINDOWS
YES PYTHON, LINUX, C++,PYTHON YES
R, LUA, C,C++ MAC OS X,
,JAVA, GO WINDOWS
YES PYTHON, LINUX, PYTHON YES
R MAC OS X,
WINDOWS
YES LUA,C,C++ LINUX, C, LUA YES
MAC OS X,
WINDOWS,
ANDROID,IOS
20.
Escolhendo Frameworks
•Analisar evoluçãodo Framework (releases,
updates, etc.)
•Linguagem suportada
•Plataforma suportada
•Suporte (documentação, comunidade, etc.)
•Expertise
•Foco no problema
21.
Source: Google Research
•Start 2011
• Reconhecimento de voz
• Pesquisas de imagens no Google Photos
• Ganhador do desafio de reconhecimento
visual em larga escala Imagenet 2014
• Utilizado em experimentos de legendas
em imagens e vídeos
• Start 2015
• Duas vezes mais rápido que seu
antecessor DistBelief
• Código aberto
• Flexível
• Baixo nível porém fácil de usar
22.
Biblioteca do Google
Documentaçãomuito rica (Inglês)
Muitos exemplos na internet (Mnist, desafios
do Kaggle, etc)
Baseado em Tensores e grafos
Comunidade ativa
CPU + GPU
Uso de GPU Necessita de CUDA ToolKit,
cuDNN
Uso de GPU não necessita alterações no
código
Suporte a Spark
Código e documentação aberta no GitHub
Estrutura de código
1.Criar constrante
2. Iniciar sessão
3. Executar operação
Import tensorflow as tf
# Cria Constant com valores.
A = tf.Constant(100)
B = tf.Contant(50)
# Cria sessão
sess = tf.session()
# Executa a sessão e imprime resultado
sess.run( A * B)
Source: TensorFlow
TensorBoard
• Interface gráfica,lançada junto com o
TensorFlow
• Desenvolvido para demonstrar
graficamente o comportamento do
modelo
• Cria um conjunto de pequenas e
determinadas visualizações genericas
• Possui API´s para adicionar plug-ins
de visualizações personalizadas
• Página do GitHub
Source: TensorFlow
28.
TensorFlow Serving
Source: TensorFlow
•Plataforma para deploy de
modelos de Deep Learning
• Aberto ao publico desde o inicio
• Controle de versão de modelos
• Suporte a vários modelos para
teste A/B
• Gerenciamento de recursos
• Pode ser usado por outros
frameworks
31.
The Cifar-10 Dataset
•Dataset com 60000 imagens coloridas, divididas em 10 classes
• Sendo 50000 imagens para treino e 10000 para teste
• Popular em competições de Deep Learning no Kaggle
• Link para download aqui
• Outros datasets para desenvolvimento de CNN´s aqui
Links uteis
• TensorflowCanal youtube link
• Tensorflow for Deep Learning research Stanford University link
• Tensorflow papers link
• Livro deep learning (free) datascienceacademy link
• Deep Learning studio link
• Nvidia Deep Learning institute link
• Tensorflow Playground link