Tópico 10 - Redes Neurais Convolucionais - Deep Learningjbflorindo/Teaching/2018/MT530/T10.pdf ·...
-
Upload
nguyennhan -
Category
Documents
-
view
253 -
download
0
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
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