INF011 - Seminários de Pesquisa IIprofessor.ufabc.edu.br/.../aulas/seminarios2018/semi11.pdf ·...

35
INF011 - Seminários de Pesquisa II Doutorando: Erick Toshio Yamamoto Orientador: Prof. Dr. Ricardo Suyama Professor da Disciplina: Prof. Dr. João Henrique Kleinschmidt Santo André, 02 de maio de 2018

Transcript of INF011 - Seminários de Pesquisa IIprofessor.ufabc.edu.br/.../aulas/seminarios2018/semi11.pdf ·...

INF011 - Seminários de Pesquisa II

Doutorando: Erick Toshio Yamamoto

Orientador: Prof. Dr. Ricardo Suyama

Professor da Disciplina: Prof. Dr. João Henrique Kleinschmidt

Santo André, 02 de maio de 2018

Agenda

• Introdução;

• Machine Learning;

• Deep Learning.

Introdução• Doutorando em Engenharia da Informação pela UFABC - 2017

• Mestre em Automação e Controle de Processos pelo IFSP - 2016.

• Bacharel em Engenharia de Controle e Automação pelo IFSP - 2013

• Histórico Profissional:

• Professor do Senai Roberto Simonsen;

• Consultor Técnico e de Vendas Treinamentos/ Produtos da FESTO Brasil Ltda.;

• Engenheiro de Aplicação na National Instruments Brazil Ltda.;

• Consultor em Automação para residências e industrias;

• Consultor em Robótica Educacional.

• Linhas de Pesquisas:

• Automação e Controle;

• Inteligência Artificial;

• Domótica/ Automação Residencial;

• UAV’s.

Graduação

Graduação

https://www.physionet.org/physiobank/database/#ecg

Banco de dados de ECG

Interface final

Interface de treinamento

MestradoRolagem (Roll)

DireitaEsquerda

Passos para frente e

para trás (Pitch)

Guinada (Pitch)

DireitaEsquerda

MestradoModelo matemático no LabVIEW

Ferramentas do Control and Simulation

Interface de simulação

Por que aprendizado de máquina?

• É muito difícil escrever programas que resolvam problemas como

reconhecer um objeto tridimensional de um novo ponto de vista em

novas condições de iluminação em uma cena desordenada.

A abordagem de aprendizado de máquina

• Definição de Aprendizagem de Máquina é um campo de estudo que dá aos computadores a

capacidade de aprender sem estarem programados explicitamente [Arthur L. Samuel, 1959].

Dados Rotulados

Algoritmo de

Aprendizado de

Máquina

Dados

Modelo Aprendido Predição

Treinamento

Predição

Tipos de tarefas de aprendizagem

• Aprendizado supervisionado

➢Aprendendo com conjunto de dados rotulados através de um treinamento.

• Aprendizado não supervisionado

➢Descobrindo padrões em dados não rotulados.

• Aprendizado por reforço

➢Aprendizagem baseada em feedback ou recompensa.

Tipos de problemas

Classificação(Supervisionado – preditivo)

Regressão(Supervisionado – preditivo)

Agrupamento(Não supervisionado – descritivo)

Detecção de Anomalia(Não supervisionado – descritivo)

Mas o que é Deep Learning?

• Parte do campo de aprendizado de máquina de aprender representações de

dados. Eficácia excepcional em padrões de aprendizagem.

• Utiliza algoritmos de aprendizado que extraem significado de dados usando uma

hierarquia de múltiplas camadas que imitam as redes neurais do nosso cérebro.

• Se você fornecer ao sistema toneladas de informações, ele começará a

compreendê-las e a responder de maneira útil.

Inspirado pelo cérebro!

• A primeira hierarquia de neurônios que

recebe informações no córtex visual são

sensíveis às bordas específicas, enquanto as

regiões do cérebro mais abaixo no canal visual

são sensíveis às estruturas mais complexas,

como rostos.

Julgamentos

categóricos, tomada

de decisão

Coordenação Motora

Retina

Para os

músculos

dos dedos

Forma visual

simples:

bordas, cantos.

Alto nível de

descrição de

objetos: faces,

objetos

Forma visual

intermediária:

características,

grupos, etc.

Medula espinhal

Inspirado pelo cérebro!

• Nosso cérebro tem muitos neurônios conectados e a força das conexões entre os

neurônios representa um conhecimento de longo prazo;

• Uma hipótese do algoritmo de aprendizado: todos os algoritmos mentais

significativos são aprendidos, exceto para o aprendizado e a recompensa do

próprio maquinário.

Google Brain Project em

núcleos de 16k

2012

Uma breve históriaA muito tempo atrás…

1958 Perceptron 1974 Retropropagação

1969

Perceptron criticado

Silêncio Perturbador (AI hibernou)

Redes Neurais Convolucionais para

Reconhecimento Escrita à Mão

1998

1995

Reino SVM

2006

Restricted

Boltzmann

Machine

2012

AlexNet ganha a

ImageNet

Uma breve históriaO Big Bang conhecido como “Uma rede para governar todos eles”

ImageNet: The “computer vision World Cup”

Fonte: https://www.dsiac.org/sites/default/files/journals/dsiac-winter-2017-volume-4-number-1.pdf

Uma breve históriaO Big Bang conhecido como “Uma rede para governar todos eles”

IBM: Automatic Speech Recognition (ASR)

Fonte: https://minghsiehee.usc.edu/2017/04/the-machines-

are-coming/

Google’s I/O 2017

Fonte: http://fortune.com/2017/05/18/google-speech-

recognition/

O que mudou?“Vinhos antigos em novas garrafas”

Big Data

(Digitalização)

Computação

(Lei de Moore,

GPUs)

Progresso do

Algoritmo

Superstars / Pesquisadores

Empresas

Startups

DeepLearning – Noções básicasNão há mais recursos de engenharia.

Dados de Entrada

Recursos de

Engenharia

Algoritmo

Tradicional de

Aprendizado

Algoritmo de

Aprendizado

ProfundoDados de Entrada

Custa muito tempo

“...Os aspecto principal da aprendizagem profundo é que essas camadas não são projetadas por

engenheiros humanos: elas são aprendidas com dados, usando um procedimento de aprendizado para

fins gerais.” – Yann LeCun, Yoshua Bengio e Geoffrey Hinton, Nature 2015.

Uma rede neural profunda consiste em uma hierarquia de camadas, em que cada camada

transforma os dados de entrada em representações mais abstratas (por exemplo, borda ->

nariz -> face). A camada de saída combina esses recursos para fazer previsões.

DeepLearning – Noções básicasArquitetura

“Gato”

DeepLearning – Noções básicasO que aprende?

Bordas Olhos, Nariz,... Faces

DeepLearning – Noções básicasRedes Neurais Artificiais

Consiste em uma entrada, uma saída e várias camadas ocultas totalmente conectadas entre elas. Cada camada é

representada como uma série de neurônios e extrai progressivamente mais e mais recursos da entrada até que a

camada final tome uma decisão sobre o que a entrada mostra. Quanto mais camadas a rede tiver, os recursos de alto

nível ela aprenderá.

Camada de Entrada

Camada Oculta 1 Camada Oculta 2

Camada de Saída

DeepLearning – Noções básicasO neurônio

Um neurônio artificial contém uma função de ativação não linear e possui várias

conexões ponderadas de entrada e saída.

Os neurônios são treinados para filtrar e detectar características ou padrões específicos

(por exemplo, borda, nariz) recebendo entrada ponderada, transformando-a com a função de

ativação e passando-a para as conexões de saída.

Ramos do

axônio

Terminais

do

axônio

impulsos levados

do corpo celular

impulsos transportados

em direção ao corpo

celular

corpo celular

núcleo

dendritos

axônio

DeepLearning – Noções básicasFunções de ativação não-linerares

• As redes mais profundas usam ReLU - max (0,

x) - atualmente para camadas ocultas, uma vez

que o treino é muito rápido, é mais expressiva

que a função logística e evita o problema do

gradiente de fuga.

A não linearidade é necessária para aprender representações complexas (não

lineares) de dados, caso contrário, o NN seria apenas uma função linear.

DeepLearning – Noções básicasProcessos de treinamento

Amostra de Dados

Rotulados

Encaminhe-o pelo

canal da rede para

obter previsões

Retropropague os

errosAtualiza as conexões

dos pesos

Aprende por gerar um sinal de erro que mede a diferença entre as previsões da rede e os valores desejados e, em

seguida, usando este sinal de erro para alterar os pesos (ou parâmetros) para que as previsões fiquem mais

precisas.

DeepLearning – Noções básicasGradiente descendente

O gradiente descendente descobre o (local) mínimo da função de estimação (usado para calcular o erro de saída)

e, assim usado para ajustar os pesos.

• Redes neurais convolucionais aprendem uma representação complexa de dados visuais usando grandes quantidades de dados. Eles são inspirados pelo sistema visual humano e aprendem múltiplas camadas de transformações, que são aplicadas umas sobre as outras para extrair uma representação progressivamente mais sofisticada da entrada.

DeepLearning – Noções básicasRedes Neurais Artificiais Convolucionais

• Cada camada de um CNN leva um volume 3D de números e produz um volume 3D de números.

Por exemplo. A imagem é um cubo 224 * 224 * 3 (RGB) e será transformada em 1 * 1000 vetor

de probabilidades.

DeepLearning – Noções básicasRedes Neurais Artificiais Convolucionais

• A camada de convolução é um detector de recursos que aprende automaticamente a filtrar as informações não necessárias de uma entrada usando o kernel de convolução.

• As camadas de agrupamento compõem o valor máximo ou médio de um recurso específico em

uma região dos dados de entrada (redução de tamanho das imagens de entrada). Também ajuda a

detectar objetos em alguns locais incomuns e reduz o tamanho da memória.

DeepLearning – Noções básicasÉ tudo Open Source

DeepLearning – Noções básicasAplicações

Jogos Digitais Reconhecimento de Caracteres (PLN)

Reconhecimento de ImagemReconhecimento Objetos

Referências BibliográficasGoogle’s I/O 2017. Disponível em : http://fortune.com/2017/05/18/google-speech-recognition/. Acesso em: 30 mar. 2018.

IBM: Automatic Speech Recognition (ASR). Disponível em :https://minghsiehee.usc.edu/2017/04/the-machines-are-coming/.

Acesso em: 30 mar. 2018.

ImageNet: The “computer vision World Cup”. Disponível em: < https://www.dsiac.org/sites/default/files/journals/dsiac-winter-2017-volume-4-number-1.pdf >. Acesso em: 30 mar. 2018.

KURENKOV, A. A 'Brief' History of Neural Nets and Deep Learning. Disponível em:http://www.andreykurenkov.com/writing/ai/a-brief-history-of-neural-nets-and-deep-learning/. Acesso em: 20 mar. 2018.

LI, F.F.; JOHNSON, J.; YEUNG, S. Convolutional Neural Networks. Disponível em:< http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture5.pdf >. Acesso em: 20 mar. 2018.

MEDINA, A. M. Machine Learning and Optimization. 2014. 14f. (Doutorado em Matemática) - Courant Institute of Mathematical Sciences, New York, NY.

Medium. A Guide to Receptive Field Arithmetic for Convolutional Neural Networks. Disponível emhttps://medium.com/@Synced/a-guide-to-receptive-field-arithmetic-for-convolutional-neural-networks-42f33d4378e0. Acesso em: 20 mar. 2018.

PUGET, J. F. – What Is Machine Learning? – 2016. Disponível em: https://www.ibm.com/developerworks/community/blogs/jfp/entry/What_Is_Machine_Learning?lang=em. Acesso em: 19 de fev. de 2018.

YANN, L., YOSHUA, B., GEOFFREY, H. Deep learning. Disponível em: <http://dx.doi.org/10.1038/nature14539>. Nature. 2015;521:436–444. doi: 10.1038/nature14539.

Obrigado!