Tópico 10 - Redes Neurais Convolucionais - Deep Learningjbflorindo/Teaching/2018/MT530/T10.pdf ·...

70
opico 10 - Redes Neurais Convolucionais - Deep Learning Jo˜ ao B. Florindo Instituto de Matem´ atica, Estat´ ıstica e Computa¸c˜ ao Cient´ ıfica Universidade Estadual de Campinas - Brasil jbfl[email protected] Jo˜ ao B. Florindo T´opico 10 - Redes Neurais Convolucionais - Deep Learning 1 / 70

Transcript of Tópico 10 - Redes Neurais Convolucionais - Deep Learningjbflorindo/Teaching/2018/MT530/T10.pdf ·...

Topico 10 - Redes Neurais Convolucionais - DeepLearning

Joao B. Florindo

Instituto de Matematica, Estatıstica e Computacao CientıficaUniversidade Estadual de Campinas - Brasil

[email protected]

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 1 / 70

Redes Neurais Convolucionais

Outline

1 Redes Neurais Convolucionais

2 Aplicacoes

3 Historico

4 Futuro

5 Outras abordagens

6 Aprendizado por reforco

7 Aprendizado extremo

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 2 / 70

Redes Neurais Convolucionais

Redes Neurais Convolucionais

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 3 / 70

Redes Neurais Convolucionais

Redes Neurais Convolucionais

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 4 / 70

Redes Neurais Convolucionais

Redes Neurais Convolucionais

Teoria “antiga”, mas ganhou protagonismo a partir de 2012.

Alex Krizhevsky reduziu erro de 26% para 15% na competicao ImageNet(“olimpıada” da Visao Computacional).

Despertou interesse de empresas como Google (busca de imagens),Amazon (recomendacao de produtos), Instagram (sistema de busca),Facebook (marcacao de usuarios em fotos), etc.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 5 / 70

Redes Neurais Convolucionais

Inspiracao Biologica

Cerebro reconhece objetos partindo de primitivas basicas, p.ex. patas erabo de um cachorro, e vai iterativamente construindo conceitos maisabstratos.

Experimento de Hubel e Wiesel em 1962 (Vıdeo): neuronios corticaisespecializados em certas orientacoes.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 6 / 70

Redes Neurais Convolucionais

Camada Convolucional

Imagem inteira introduzida como entrada (pode ser colorida, multicanais,etc.).

Convolucao com um filtro (neuronio).

Suporte do filtro: campo receptivo.

Resultado da convolucao: mapa de ativacao ou mapa de atributos.

Ligeiramente menor que a imagem original porque as bordas saodescartadas.

Cada filtro pode representar um atributo especıfico da imagem, p.ex., reta,curva, cor, etc.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 7 / 70

Redes Neurais Convolucionais

Camada Convolucional

Considere o detector de curva acima.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 8 / 70

Redes Neurais Convolucionais

Camada Convolucional

Resposta: (50*30)+(50*30)+(50*30)+(20*30)+(50*30) = 6600 (Grande!)Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 9 / 70

Redes Neurais Convolucionais

Camada Convolucional

Resposta: 0

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 10 / 70

Redes Neurais Convolucionais

Camada Convolucional

Sucessivas convolucoes detectam atributos de mais alto nıvel, p.ex.,semi-cırculos (reta+curva), quadrados (4 retas), etc.

Em nıveis mais altos ainda pode detectar um texto manuscrito ou umobjeto de uma cor especıfica.

Campos receptivos se tornam mais e mais amplos (informacao maisglobal).

Entre as camadas convolucionais temos ainda ReLU (nao-linearidade) ePool (sıntese da informacao).

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 11 / 70

Redes Neurais Convolucionais

Camada Totalmente Conectada

Ao final, temos a camada totalmente conectada.

Estabelece quais atributos de alto nıvel (ultima camada convolutional)mais se correlacionam com a classe do objeto.

Ex.: Imagem de um cachorro teria resposta alta no mapa de ativacaocorrespondente a patas e rabo. Um passaro teria resposta alta para bico easas.

OBSERVACAO

Valores (pesos) dos filtros sao ajustados durante o treinamento porbackpropagation.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 12 / 70

Redes Neurais Convolucionais

Camada Convolucional - Detalhes

Stride (deslocamento) e Padding (preenchimento).

Stride e o espacamento entre as mascaras.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 13 / 70

Redes Neurais Convolucionais

Camada Convolucional - Detalhes

Maior stride = menos sobreposicao entre campos receptivos e saıda commenor dimensao.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 14 / 70

Redes Neurais Convolucionais

Camada Convolucional - Detalhes

Padding e o preenchimento (com zeros por exemplo) para deixar aimagem convoluıda com o mesmo tamanho da original.

Tamanho da saıda:

O =(W − K + 2P)

S+ 1,

W=tamanho (altura) da entrada, K=tamanho do filtro, P=padding, S =stride.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 15 / 70

Redes Neurais Convolucionais

Hiper-parametros

Numero de camadas convolucionais e totalmente conectadas, tamanho dosfiltros, stride, padding, etc.

Depende do problema: tamanho, numero, complexidade e tipo de imagem,processamento envolvido, etc.

Altamente empırico: conjunto de validacao.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 16 / 70

Redes Neurais Convolucionais

Camada ReLU

Rectified Linear Units:f (x) = max(0, x).

Superaram a sigmoide, tanh e outras funcoes de ativacao.

Treinamento muito mais rapido com desempenho parecido.

Atenua efeito de dissipacao do gradiente (vanishing gradient): gradientediminui exponencialmente ao longo das camadas tornando o aprendizadomuito lento.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 17 / 70

Redes Neurais Convolucionais

Camada de Agrupamento (Pooling)

Ou camada de sub-amostragem (downsampling).

Mais comum: maxpooling - filtro (normalmente 2× 2) e stride do mesmotamanho detectando maior elemento da regiao (MAXIMOMORFOLOGICO!)

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 18 / 70

Redes Neurais Convolucionais

Camada de Agrupamento (Pooling)

Alternativas sao, por exemplo, average pooling e L2-pooling.

Motivacao: dado que o atributo esta na imagem convoluıda (resposta altaao filtro respectivo), nao importa tanto a localizacao exata.

Reduz o numero de pesos (custo computacional), compactando os dados.

Controla o sobre-treinamento (overfitting): perda de generalizacao.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 19 / 70

Redes Neurais Convolucionais

Camada de Dropout

Esta camada e usada apenas na fase de treinamento, nao no teste.

Elimina um conjunto aleatorio de ativacoes na camada setando para zero.

Forca a rede a ser “redundante”, i.e, a classificar corretamente mesmo quealgumas ativacoes sejam zeradas.

Atenua o overfitting.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 20 / 70

Aplicacoes

Outline

1 Redes Neurais Convolucionais

2 Aplicacoes

3 Historico

4 Futuro

5 Outras abordagens

6 Aprendizado por reforco

7 Aprendizado extremo

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 21 / 70

Aplicacoes

Aplicacoes em Imagens

Classificacao: atribuir categorias de objetos a uma imagem.

Localizacao: moldura em torno do objeto alvo.

Deteccao: localizacao de multiplos objetos (multiplos bounding boxes erotulos).

Segmentacao: Contorno e rotulo do objeto de interesse.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 22 / 70

Aplicacoes

Aplicacoes em Imagens

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 23 / 70

Aplicacoes

Transfer Learning

Modelo pre-treinado (pesos e parametros) em uma rede grande(normalmente publica) e finamente ajustada para a aplicacao especıfica.

Parte pre-treinada age como extrator de caracterısticas da imagem.

Ultima camada da rede pre-treinada e removida e substituıda pelo seuproprio classificador.

Pesos da rede pre-treinada sao congelados (nao se alteram durante obackpropagation).

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 24 / 70

Aplicacoes

Transfer Learning

Rede mais usada e a ImageNet: 14 milhoes de imagens e mais de milclasses.

Camadas iniciais detectam padroes de baixo nıvel (como curvas e bordas),que sao universais.

Se a base analisada e muito diferente da ImageNet pode-se usar menoscamadas pre-treinadas e mais para o problema especıfico.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 25 / 70

Aplicacoes

Data Augmentation

Deep learning precisa de muito dado para treinar.

Aumentar base artificialmente.

Rotacao, translacao, espelhamento, recortes aleatorios, conversao paratons de cinza, ruıdo, etc.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 26 / 70

Historico

Outline

1 Redes Neurais Convolucionais

2 Aplicacoes

3 Historico

4 Futuro

5 Outras abordagens

6 Aprendizado por reforco

7 Aprendizado extremo

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 27 / 70

Historico

Historico

Trabalho pioneiro de Yann LeCun et al. em 1998: “Gradient-basedlearning applied to document recognition”.

Rede LeNet (este trabalho iniciou-se em 1988).

Reconhecimento de dıgitos, CEP, etc.

“Olimpıada” anual da Visao Computacional: ILSVRC (ImageNetLarge-Scale Visual Recognition Challenge).

Equipes do mundo todo se enfrentando em tarefas de classificacao,localizacao, deteccao, etc.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 28 / 70

Historico

Historico

2012 e um ano marcante: CNN aparece pela primeira vez no ILSVRC comum erro “top 5” de 15.4% na ImageNet (o 2o colocado errou 26.2%!!!).

Rede AlexNet (Alex Krizhevsky, Ilya Sutskever, Geoffrey Hinton).

Arquitetura simples para os dias de hoje.

Treinamento da ImageNet sobre 15 milhoes de imagens e 22 mil classess.

Nao-linearidade usando ReLU, data augmentation, dropout, gradienteestocastico, momento e weight decay.

Treinada em uma GTX 580 durante 5 a 6 dias.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 29 / 70

Historico

Historico

ILSVRC 2013: Varios modelos de CNNs sao apresentados naquele ano.

Vencedor e a ZF Net (Matthew Zeiler, Rob Fergus) com 11.2% de erro,treinando com “apenas” 1.3 milhoes de imagens.

Mudancas incrementais sobre a AlexNet.

Maior contribuicao foi na compreensao intuitiva do funcionamento da rede.

Criaram o conceito de DeConvNet que “inverte” a convolucao e permiteque se localize a regiao da imagem original que ativa determinado filtro.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 30 / 70

Historico

Historico

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 31 / 70

Historico

Historico

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 32 / 70

Historico

Historico

VGG Net (2014): Karen Simonyan e Andrew Zisserman (Oxford).

Erro de 7.3% treinando com 4 GPUs Titan Black por 2-3 semanas.

Uso de filtros 3× 3 menores que os usado ate entao (AlexNet usa 11× 11).

Maior numero de camadas: 19.

“Keep it deep, keep it simple!”

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 33 / 70

Historico

Historico

ILSVRC 2014: GoogLeNet - erro top 5 de 6.7%.

Mudanca de paradigma: rede nao precisa ser sequencial.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 34 / 70

Historico

Historico

Inception module

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 35 / 70

Historico

Historico

Convolucoes e pooling em paralelo.

Convolucoes 1× 1 reduzem a dimensionalidade (por exemplo se a entradae 100× 100× 100) a aplicacao de 10 filtros reduz para 100× 100× 10.

Apos cada convolucao, uma ReLU.

Simplicidade deixada de lado: 19 camadas.

“Algumas” GPUs treinando por uma semana.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 36 / 70

Historico

Historico

ILSVRC 2015: ResNet (Microsoft Research Asia) - erro de 3.6% com 8GPUs por 2-3 semanas.

Note que seres humanos costumam errar entre 5 e 10%.

152 camadas! (“Ultra-deep”)

Bloco residual - facilita otimizacao (gradiente distribui sobre soma).

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 37 / 70

Historico

Historico

DenseNet (2016): Huang et al.

Redes convolucionais totalmente conectadas.

Atenua gradiente muito pequeno, diminui numero de parametros, reuso deatributos, etc.

Erro top 5 de 6.12% na ImageNet.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 38 / 70

Futuro

Outline

1 Redes Neurais Convolucionais

2 Aplicacoes

3 Historico

4 Futuro

5 Outras abordagens

6 Aprendizado por reforco

7 Aprendizado extremo

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 39 / 70

Futuro

Casos de Sucesso

Investimento pesado do Google (Deep Mind). China investindo 150bilhoes de dolares em IA.

Traducao automatizada (Google translate): 55-85% de precisao.

Leitura labial (superando especialista da BBC).

Reconhecimento de caracteres em nomes de ruas e lojas (StreetView).

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 40 / 70

Futuro

Casos de Sucesso

Jogos: xadrez, Go e outros.

“Mudar” a idade ou o sexo de uma foto, ou por o rosto de outrapessoa em um vıdeo.

Robos, carro autonomo, realidade virtual, smartphones, etc.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 41 / 70

Futuro

Casos de Sucesso - Area Medica

Identificar moleculas com potencial para tratamento de cancer.

Diagnostico preciso e rapido de doencas cardiovasculares por MRI(nao invasivo).

Interpretacao de imagens medicas (tomografia, raio-X) usando-se umabase mundial de imagens associadas a termos tıpicos de diagnosticos.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 42 / 70

Futuro

Casos de Sucesso - Area Medica

Deteccao prematura de retinopatia diabetica (uma das maiores causasde cegueira).

Deteccao de tumores em geral, p.ex. melanoma (IBM).

Quantificacao nao invasiva da evolucao de um tumor / reducao dogrupo de teste.

Classificacao de lesoes e tumores.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 43 / 70

Outras abordagens

Outline

1 Redes Neurais Convolucionais

2 Aplicacoes

3 Historico

4 Futuro

5 Outras abordagens

6 Aprendizado por reforco

7 Aprendizado extremo

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 44 / 70

Outras abordagens

Outras abordagens - R-CNN

CNNs baseadas em regioes - Ross Girshick (UC Berkeley).

Deteccao de objetos (retangulo em volta do objeto de interesse)

Busca seletiva: Define regioes potenciais (da ordem de milhares) porsimilaridade.

Imagem de cada regiao submetida a uma CNN e classificada comopertencente ou nao ao objeto de interesse.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 45 / 70

Outras abordagens

Outras abordagens - GAN

Generative Adversarial Networks.

Imagens adversarias sao aquelas que “enganam” a rede, maximizando oerro.

Adicao de distorcoes artificiais imperceptıveis a olho nu.

Forca aprendizado mais preciso.

Gera imagens artificiais mais realistas.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 46 / 70

Outras abordagens

Outras abordagens - GAN

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 47 / 70

Outras abordagens

Outras abordagens - Descritores classicos

Combinacao com descritores classicos de texturas, p.ex., LBP, filter bankse outros.

Uso como gerador de descritores de imagens: remocao da(s) ultima(s)camada(s) e aplicacao de classificadores classicos, p.ex., SVM.

E ainda muito mais: maquinas de Boltzman, Deep Belief Networks, etc.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 48 / 70

Aprendizado por reforco

Outline

1 Redes Neurais Convolucionais

2 Aplicacoes

3 Historico

4 Futuro

5 Outras abordagens

6 Aprendizado por reforco

7 Aprendizado extremo

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 49 / 70

Aprendizado por reforco

Aprendizado por reforco

Sem treinamento.

Usado em problemas recentes como o AlphaGo.

Agente “aprende” por tentativa e erro, visando maximizar a recompensa(p.ex. a pontuacao em um jogo).

Baseado em estados, acoes e recompensas.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 50 / 70

Aprendizado por reforco

Aprendizado por reforco

Imagine um jogo como PacMan ou SuperMario.

O personagem e um agente.

O jogo em si e o ambiente.

Cada frame do jogo e um estado.

Os movimentos (direita, para frente, saltar, etc.) sao acoes.

Cada doce/fruta/moeda coletados ou o simples fato de continuar vivo euma recompensa.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 51 / 70

Aprendizado por reforco

Aprendizado por reforco

Loop geral:

1 Parte do estado S0 recebido do ambiente

2 Agente faz acao A0 com base em S0

3 Ambiente muda para S1

4 Ambiente recebe recompensa R1

Baseado na “hipotese” da recompensa: maximizar a recompensaacumulada esperada:

Gt = Rt+1 + Rt+2 + · · · =T∑

k=0

Rt+k+1.

Porem recompensas no inıcio do jogo sao mais provaveis (mais provaveis).Veja a seguir.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 52 / 70

Aprendizado por reforco

Aprendizado por reforco

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 53 / 70

Aprendizado por reforco

Aprendizado por reforco

O rato e o agente.

Objetivo e comer o maximo de queijo sem ser comido pelo gato!

Recompensa para estados proximos ao gato sao descontados.

Taxa de desconto γ ∈ [0, 1]. Nova recompensa acumulada:

Gt =∞∑k=0

γkRt+k+1.

Com o passar do tempo, o rato fica mais perto do gato e a recompensa setorna exponencialmente menos provavel.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 54 / 70

Aprendizado por reforco

Aprendizado por reforco

Conceito de tarefa: conjunto de recompensas, acoes, estados e transicoesem uma janela de tempo.

Tarefa episodica: Possui comeco e fim. Ex.: entre o inıcio e o fim de umnıvel no jogo ou ate que o personagem morra.Tarefa contınua: agente nao para de rodar ate que alguem interrompa.Ex.: Sistema automatico de compra e venda acoes.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 55 / 70

Aprendizado por reforco

Aprendizado por reforco

Recompensa acumulada V (St) ao final de cada episodio (Monte Carlo):

V (St)← V (St) + α(Gt − V (St)).

Ou ao final de cada passo (diferenca temporal):

V (St) = V (St) + α[Rt+1 + γV (St+1)− V (St)].

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 56 / 70

Aprendizado por reforco

Aprendizado por reforco

Abordagem baseada em valor: Maximizar recompensa acumulada V (S).

Depende da polıtica π que determina a acao a partindo do estado s:

a = π(s).

Agente escolhe em cada passo o estado com maior valor.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 57 / 70

Aprendizado por reforco

Aprendizado por reforco

Abordagem baseada na polıtica: encontrar funcao π otima.

Pode ser determinıstica (depende apenas do estado s) ou estocastica(acao segue distribuicao de probabilidade condicionada ao estado atual).

Abordagem baseada em modelo: encontra um modelo geral para oambiente.

Mais complicada de todas pois cada ambiente pode ter um modelo proprio.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 58 / 70

Aprendizado por reforco

Aprendizado por reforco

Objetivo e encontrar melhor acao para cada estado.

Na pratica, usa-se um processo de decisao de Markov.

Tabela Q mapeia cada par estado-acao para a recompensa mais provaveldada pelo ambiente.

Inferencia a partir de uma distribuicao muito complicada (Monte Carlo).

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 59 / 70

Aprendizado por reforco

Aprendizado por reforco

Um dilema que surge e o “exploration vs. exploitation”

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 60 / 70

Aprendizado por reforco

Aprendizado por reforco

Suponha que o rato tenha infinitos pedacos pequenos de queijo proximo aele.

Baseado apenas na recompensa ele ficara preso ali (exploitation) e nuncabuscara o queijo gigante no topo (exploration).

Agente pode sair da regra padrao em tempos aleatorios para minimizareste efeito.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 61 / 70

Aprendizado por reforco

Aprendizado por reforco

Aprendizado profundo usa redes profundas: Deep Q-Learning.

Metodo original se baseia em tabelas estado/acao e cadeias de Markov.

Abordagem “deep” usa rede para “aprender” estas relacoes e definir arecompensa e a acao mais adequada em cada estado.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 62 / 70

Aprendizado por reforco

Aprendizado por reforco

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 63 / 70

Aprendizado extremo

Outline

1 Redes Neurais Convolucionais

2 Aplicacoes

3 Historico

4 Futuro

5 Outras abordagens

6 Aprendizado por reforco

7 Aprendizado extremo

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 64 / 70

Aprendizado extremo

Aprendizado extremo

Extreme Machine Learning (ELM)

Proposto por Huang et al. em 2004.

Mecanismo similar ao da rede neural classica, mas com apenas umacamada oculta.

Nao usa gradiente descendente, o que evita problemas com convergencialenta e mınimos locais.

Treinamento milhares de vezes mais rapido.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 65 / 70

Aprendizado extremo

Aprendizado extremo

Entrada e o vetor X. Pesos da camada de entrada na matriz W e daoculta na matriz β.

Bias na ultima linha das matrizes para agilizar.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 66 / 70

Aprendizado extremo

Aprendizado extremo

Para m neuronios de entrada, d na oculta e s na saıda:

Treinamento analıtico, nao iterativo como o backpropagation.

Matriz W gerada aleatoriamente e nao muda ate o final.

Objetivo e encontrar a matriz β usando Y e W: solucao de um sistemalinear.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 67 / 70

Aprendizado extremo

Aprendizado extremo

Obter inicialmente a matriz H:

,

em que f e a funcao de transferencia da camada (p.ex. sigmoide) ei = {1, 2, · · · ,N} o ındice das N amostras de treinamento.

H armazena os resultados da camada oculta.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 68 / 70

Aprendizado extremo

Aprendizado extremo

β obtido do sistema linear:Hβ = Y

e portantoβ = H†Y

em que H† e a inversa generalizada de Moore-Penrose de H.

Permite “inverter” matrizes originalmente nao invertıveis, ate mesmo naoquadradas.

Agora a rede esta treinada e pode ser executada.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 69 / 70

Aprendizado extremo

Aprendizado extremo

Problema 1: Matriz W aleatoria pode desencadear erro significativo seformos “azarados”.

Metodos para otimizar escolha de W tem sido propostos (p.ex. algoritmosevolutivos).

Problema 2: Inversa generalizada.

Calculo custoso se tivermos muitas amostras de entrada e/ou muitosneuronios na camada oculta.

Joao B. Florindo Topico 10 - Redes Neurais Convolucionais - Deep Learning 70 / 70