Redes Neurais Artificiais

Documentos relacionados
Redes Neurais Artificiais

Aprendizagem de Máquina

Aprendizagem de Máquina

Redes Neurais Artificiais - Introdução. Visão Computacional

Aprendizagem de Máquina. Redes Neurais Artificiais (RNAs)

3 Redes Neurais Artificiais

Aprendizado de Máquinas. Multi-Layer Perceptron (MLP)

Inteligência Artificial Redes Neurais

Redes Neurais. Prof. Aurora Pozo. Obs: slides baseados em Prof. Marcílio Souto e Prof. Marley Vellasco

Reconhecimento de Padrões/Objetos

INF 1771 Inteligência Artificial

Teorema de Aprox. Universal. Teorema de Aprox. Universal. Teorema de Aprox. Universal. Teorema de Aprox. Universal. Teorema de Aprox.

Multi-Layer. Perceptrons. Algoritmos de Aprendizado. Perceptrons. Perceptrons

Tópicos Especiais: Inteligência Artificial REDES NEURAIS

Fundamentos de Inteligência Artificial [5COP099]

JAI 6 - Deep Learning Teoria e Prática

Multi-Layer. Perceptrons. Algoritmos de Aprendizado. Perceptrons. Perceptrons

PERCEPTRON. Características Básicas Modelo de Neurônio Estrutura da Rede Algoritmo de Aprendizado

Multiple Layer Perceptron

Regra de Hebb Perceptron Delta Rule (Least Mean Square) Multi-Layer Perceptrons (Back Propagation) Hopfield Competitive Learning Radial Basis Function

Redes Neurais MLP: Exemplos e Características

Algoritmos de Aprendizado. Formas de Aprendizado. Aprendizado Batch x Incremental. Aprendizado Batch x Incremental

Redes Neurais Artificial. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Aprendizado de Máquina (Machine Learning)

Introdução às Redes Neurais Artificiais

SCC Capítulo 5 Perceptron Multicamadas

Redes Neurais Artificiais

2. Redes Neurais Artificiais

Introdução às Redes Neurais Artificiais

Redes Neurais Artificial. Prática. Inteligência Artificial

Algoritmos de Aprendizado. Formas de Aprendizado. Aprendizado Batch x Incremental. Aprendizado Batch x Incremental

Redes Neurais: MLP. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Algoritmos de Aprendizado. CONTEÚDO Introdução Motivação, Objetivo, Definição, Características Básicas e Histórico. Regra de HEBB.

Redes Neurais e Sistemas Fuzzy

Mini-projeto: Reconhecimento de Digitos com MLPs. Germano C. Vasconcelos Centro de Informática - UFPE

TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais

Regra de Hebb Perceptron Delta Rule (Least Mean Square) Multi-Layer Perceptrons (Back Propagation) Hopfield Competitive Learning Radial Basis Function

Redes Neurais Artificial

4 Redes Neurais Artificiais

y rede RNA Conjunto de treino em arquiteturas supervisionadas (ex. clássico: MLP com Error Back Propagation) Sistema Físico, Econômico, Biológico...

Regra de Oja. Para taxa de aprendizagem pequena, Oja aproximou. pesos para criar uma forma útil da aprendizagem

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

Neural Networks. Neurônios: Elementos aritméticos simples. Redes Neuronais: conj de neurônios interligados.

Profa. Josiane M. Pinheiro outubro/2008

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

Redes Neurais Artificiais (RNA)

Classificação de Padrões. Abordagem prática com Redes Neurais Artificiais

Inteligência Artificial. IA Conexionista: Perceptron de Múltiplas Camadas Mapas Auto-Organizáveis. Renan Rosado de Almeida

Redes Neurais Artificiais. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 9)

Rede RBF (Radial Basis Function)

lnteligência Artificial Introdução a Redes Neurais Artificiais

Aprendizagem de Máquina

Máquinas de Vetores de Suporte

Thiago Christiano Silva

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

SCE REDES NEURAIS Redes Neurais Multi-Camadas Parte 2

2. Redes Neurais Artificiais

3 INTELIGÊNCIA COMPUTACIONAL (IC)

GT-JeDi - Curso de Desenv. de Jogos IA para Jogos

Classificação Linear. André Tavares da Silva.

Mineração de Dados em Biologia Molecular

Introdução às Redes Neurais Artificiais

Considerações de Desempenho

Redes Neurais Artificiais Sistemas Inteligentes Especialização em Automação Industrial SISTEMAS INTELIGENTES PROFESSOR FLÁVIO MURILO

HP UFCG Analytics Abril-Maio Um curso sobre Reconhecimento de Padrões e Redes Neurais. Por Herman Martins Gomes.

Autor: Edroaldo Lummertz da Rocha Home page: edroaldo.wordpress.com

Back Propagation. Dicas para o BP

Redes Neurais e Sistemas Fuzzy

5HGHV1HXUDLV$UWLILFLDLV

serotonina (humor) dopamina (Parkinson) serotonina (humor) dopamina (Parkinson) Prozac inibe a recaptação da serotonina

3 REDES CLÁSSICAS PERCEPTRON E ADALINE

Redes Neurais Artificiais

REDES NEURAIS ARTIFICIAIS

Redes neurais artificiais

Por que Redes Neurais?

Resolução da Prova 1 SCC Redes Neurais 2o. Semestre de Prof. João Luís

Teoria do aprendizado

Máquinas de Vetores de Suporte

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

RECONHECIMENTO DE GÊNERO ATRAVÉS DA VOZ

Perceptron Multi-camadas Treinada por Retropropagação. Aluizio Fausto Ribeiro Araújo Universidade Federal de Pernambuco Centro de Informática

Protótipo de Software para Reconhecimento de Impressões Digitais

Perceptron de Múltiplas Camadas e Backpropagation

Variações do BP. Variações do BP. Variações do BP. Taxa de Aprendizado Adaptativa. Taxa de Aprendizado Adaptativa

Primeiras Redes Neurais Artificiais: Perceptron e Adaline

2. Redes Neurais Artificiais

3 Redes Neurais Introdução

INTELIGÊNCIA ARTIFICIAL

Redes Neurais Artificiais

UNIVERSIDADE FEDERAL DE LAVRAS DEPARTAMENTO DE CIÊNCIAS EXATAS (DEX) Estudo de Algoritmos de Aprendizado em Redes Neurais Artificiais

GUIA DE AULAS PRÁTICAS DE REDES NEURAIS ARTIFICIAIS

Redes Perceptron e Multilayer Perceptron aplicadas a base de dados IRIS

Redes Neurais. Artificiais. Fabricio Breve Parte 2. 19/04/2018 Fabricio Breve. Bias. Sinais de entrada. Pesos sinápticos.

Introdução à Redes Neurais. Prof. Matheus Giovanni Pires EXA 868 Inteligência Artificial Não-Simbólica B Universidade Estadual de Feira de Santana

Rede Perceptron. Capítulo 3

3 Inteligência Computacional

Transcrição:

Redes Neurais Artificiais Marcelo K. Albertini 24 de Julho de 2014

2/34 Conteúdo Perceptron Gradiente descendente Redes multicamadas Retropropagação de erros

3/34 Modelos conexionistas Humanos Tempo de ativação neural 0.001s Número de neurônios 10 10 Conexões por neurônio 10 4a5 Tempo de reconhecimento de cenas 0.1s Computação paralela massiva

Exemplo: carro autônomo 4/34

5/34 Propriedades de redes neurais Muitas unidades de ativação Muitas conexões ponderadas entre unidades Processo altamente paralelizado Ênfase no ajuste de pesos automático

6/34 Perceptron 1 w 0 x 1 w 1 x 2 w 2.. x n w n entradas pesos Função de ativação Saída: o(x 1,..., x n) { 1 se w0 + w o(x 1,..., x n ) = 1 x 1 +... + w n x n > 0 1 caso contrário. Na notação simplificada vetorial: { 1 se w x > 0 o( x) = 1 caso contrário.

Superfície de decisão de um perceptron + + + + + + + + +? + + Representa algumas funções úteis Quais pesos representam g(x 1, x 2 ) = AND(x 1, x 2 )? Mas algumas funções não são representáveis Todas as não linearmente separáveis Portanto, queremos redes de perceptrons para representar dados não linearmente separáveis 7/34

8/34 Treino do Perceptron w i w i + w i onde w i = η(t o)x i Onde: t = c( x) é valor-alvo o é a saída do perceptron η é uma constante pequena (exemplo 0.1) chamada de taxa de aprendizado

9/34 Regra de treino do Perceptron Possível provar convergência se Dados de treino são linearmente separáveis η é suficientemente pequeno

10/34 Gradiente descendente Considere o caso simplificado unidade linear, onde o = w 0 + w 1 x 1 +... + w n x n Objetivo é aprender w i que minimiza o erro quadrático E[ w] 1 (t d o d ) 2 2 d D onde D é conjunto de exemplos de treino, t d é o valor de treino para o exemplo d e o d o valor obtido pelo perceptron.

Figura gradiente descendente 0.5 0.4 E[w] 0.3 0.2 0.1 0 0 0.2 0.4 w0 0.6 0.8 1 0 0.2 0.4 0.6 0.8 w1 1 11/34

12/34 Cálculo do gradiente Gradiente E[ w] [,,..., ] w 0 w 1 w n Regra de treino w = η E[ w] Isto é w i = η

13/34 Gradiente descendente = 1 w 2 d (t d o d ) 2 i

13/34 Gradiente descendente = 1 w 2 d (t d o d ) 2 i = 1 2 d (t d o d ) 2

13/34 Gradiente descendente = 1 w 2 d (t d o d ) 2 i = 1 2 d (t d o d ) 2 = 1 2 d 2(t d o d ) (t d o d )

Gradiente descendente = 1 w 2 d (t d o d ) 2 i = 1 2 d (t d o d ) 2 = 1 2 d 2(t d o d ) (t d o d ) = d (t d o d ) (t d w x d ) = d w (t d o d )( x i,d ) i 13/34

14/34 Gradiente descendente Gradiente(exemplosDeTreino, eta) Inicializar w i com valor aleatório pequeno Fazer até convergir (ou treinar demais) 1. Inicializar cada w i para zero 2. Para cada x, t de exemplosdetreino fazer 2.1 Apresentar x ao neurônio e calcular a saída o 2.2 Para cada peso w i fazer w i w i + η(t o)x i 3. Para cada w i fazer w i w i + w i

15/34 Resumo Treino do perceptron é garantido se Exemplos são linearmente separáveis Taxa de aprendizado η suficientemente pequena é usada Treino do perceptron com gradiente descendente Convergência para hipótese de menor erro quadrático Mesmo quando dados de treino tem ruído Mesmo quando dados não são separáveis por H

16/34 Treino com gradiente: em lote vs. incremental Modo em lote Fazer até convergir 1. Computar o gradiente E D [ w] 2. w w η E D [ w] E D [ w] 1 (t d o d ) 2 2 d D

17/34 Gradiente descendente: modo incremental Modo incremental Fazer até convergir Para cada exemplo de treino d D 1. Computar o gradiente E d [ w] 2. w w η E d [ w] E d [ w] 1 2 (t d o d ) 2 Gradiente descendente incremental pode aproximar o modo em lote se η for pequeno o suficiente.

18/34 Redes multi-camadas de unidades sigmóides Neural net and traditional classifiers, WY Huang, RP Lippmann - Neural information processing systems, 1988

19/34 Unidade sigmóide 1 w 0 x 1 w 1 x 2 w 2.. x n w n entradas pesos σ(x) = 1 1+exp x Propriedade útil Função de ativação sigmóide Saída: o = σ(ganho) = ganho = n t=0 w ix i é a função de transferência sigmóide 1 1+exp ganho σ(x) x = σ(x)(1 σ(x))

20/34 Podemos derivar regras de gradiente descendente para Uma unidade sigmóide Rede multi-camadas de unidades sigmóides Retroprogação de erros

21/34 Gradiente de erro para uma unidade sigmóide ganho = n t=0 w ix i o d = σ(ganho d ) é a saída da função de transferência do neurônio respondendo ao d-ésimo exemplo no conjunto D t d é a resposta esperada para o d-ésimo exemplo E é o erro da rede t d não varia de acordo com w i, então t d = 0 = 1 w 2 d D (t d o d ) 2,usa regra da soma e obtém: i

21/34 Gradiente de erro para uma unidade sigmóide ganho = n t=0 w ix i o d = σ(ganho d ) é a saída da função de transferência do neurônio respondendo ao d-ésimo exemplo no conjunto D t d é a resposta esperada para o d-ésimo exemplo E é o erro da rede t d não varia de acordo com w i, então t d = 0 = 1 w 2 i = 1 2 d D (t d o d ) 2,usa regra da soma e obtém: d (t d o d ) 2,usa regra da cadeia e obtém:

21/34 Gradiente de erro para uma unidade sigmóide ganho = n t=0 w ix i o d = σ(ganho d ) é a saída da função de transferência do neurônio respondendo ao d-ésimo exemplo no conjunto D t d é a resposta esperada para o d-ésimo exemplo E é o erro da rede t d não varia de acordo com w i, então t d = 0 = 1 w 2 d D (t d o d ) 2,usa regra da soma e obtém: i = 1 2 = 1 2 d (t d o d ) 2,usa regra da cadeia e obtém: d 2(t d o d ) (t d o d ), aplica derivada de constante e obtém:

21/34 Gradiente de erro para uma unidade sigmóide ganho = n t=0 w ix i o d = σ(ganho d ) é a saída da função de transferência do neurônio respondendo ao d-ésimo exemplo no conjunto D t d é a resposta esperada para o d-ésimo exemplo E é o erro da rede t d não varia de acordo com w i, então t d = 0 = 1 w 2 d D (t d o d ) 2,usa regra da soma e obtém: i = 1 2 = 1 2 d (t d o d ) 2,usa regra da cadeia e obtém: d 2(t d o d ) (t d o d ), aplica derivada de constante e obtém: = ( ) d (t d o d ) o d w,usa regra da cadeia e obtém: i

Gradiente de erro para uma unidade sigmóide ganho = n t=0 w ix i o d = σ(ganho d ) é a saída da função de transferência do neurônio respondendo ao d-ésimo exemplo no conjunto D t d é a resposta esperada para o d-ésimo exemplo E é o erro da rede t d não varia de acordo com w i, então t d = 0 = 1 w 2 d D (t d o d ) 2,usa regra da soma e obtém: i = 1 2 = 1 2 d (t d o d ) 2,usa regra da cadeia e obtém: d 2(t d o d ) (t d o d ), aplica derivada de constante e obtém: = ( ) d (t d o d ) o d w,usa regra da cadeia e obtém: i = d o d ganho d (t d o d ) ganho d 21/34

22/34 Da equação que relaciona o erro E e os pesos da rede w i : Falta obter = d o d ganho d o d ganho d (t d o d ) ganho d e ganho d

22/34 Da equação que relaciona o erro E e os pesos da rede w i : Falta obter = d o d ganho d o d ganho d (t d o d ) ganho d e ganho d Lembrando que o d = σ(ganho d ) e σ(x) x o d ganho d = σ(ganho d) ganho d = o d (1 o d ) = σ(x)(1 σ(x)), temos:

22/34 Da equação que relaciona o erro E e os pesos da rede w i : Falta obter = d o d ganho d o d ganho d (t d o d ) ganho d e ganho d Lembrando que o d = σ(ganho d ) e σ(x) x o d ganho d = σ(ganho d) ganho d = o d (1 o d ) = σ(x)(1 σ(x)), temos: E lembrando que ganho d = w x d, temos do segundo termo: ganho d = w x d = x i,d

22/34 Da equação que relaciona o erro E e os pesos da rede w i : Falta obter = d o d ganho d o d ganho d (t d o d ) ganho d e ganho d Lembrando que o d = σ(ganho d ) e σ(x) x o d ganho d = σ(ganho d) ganho d = o d (1 o d ) = σ(x)(1 σ(x)), temos: E lembrando que ganho d = w x d, temos do segundo termo: ganho d = w x d = x i,d Então, a parte da culpa do erro E relativa ao peso w i é = (t d o d )o d (1 o d )x i,d d D

23/34 Definição: δ k = ganho k será a parte do erro passada às camadas internas δ k é obtido desde a última camada até a de entrada = k Saidas(j) ganho k ganho k

23/34 Definição: δ k = ganho k será a parte do erro passada às camadas internas δ k é obtido desde a última camada até a de entrada = k Saidas(j) ganho k ganho k = k Saidas(j) δ k ganho k

23/34 Definição: δ k = ganho k será a parte do erro passada às camadas internas δ k é obtido desde a última camada até a de entrada = k Saidas(j) ganho k ganho k = k Saidas(j) δ k ganho k = k Saidas(j) δ k ganho k o j o j

23/34 Definição: δ k = ganho k será a parte do erro passada às camadas internas δ k é obtido desde a última camada até a de entrada = k Saidas(j) ganho k ganho k = k Saidas(j) δ k ganho k = k Saidas(j) δ k ganho k o j o j = k Saidas(j) δ kw kj o j

23/34 Definição: δ k = ganho k será a parte do erro passada às camadas internas δ k é obtido desde a última camada até a de entrada = k Saidas(j) ganho k ganho k = k Saidas(j) δ k ganho k = k Saidas(j) δ k ganho k o j o j = k Saidas(j) δ kw kj o j = k Saidas(j) δ kw kj o j (1 o j )

Definição: δ k = ganho k será a parte do erro passada às camadas internas δ k é obtido desde a última camada até a de entrada = k Saidas(j) ganho k ganho k = k Saidas(j) δ k ganho k = k Saidas(j) δ k ganho k o j o j = k Saidas(j) δ kw kj o j = k Saidas(j) δ kw kj o j (1 o j ) δ j = = o j (1 o j ) δ k w kj k Saidas(j) 23/34

24/34 Algoritmo de retropagação Inicializar todos os pesos para valores aleatórios pequenos. Até convergência, faça para cada exemplo de treino 1. Apresente exemplo à rede e compute a saída da rede 2. Para cada unidade de saída k 3. Para cada unidade interna h δ k o k (1 o k )(t k o k ) δ h o h (1 o h ) 4. Atualizar cada peso da rede w ij onde w ij = ηδ j x ij k saidas w ij w ij + w ij δ k w hk

25/34 Mais em retroprogação Gradiente descendente sobre toda rede de vetores de pesos Generalizável para grafos direcionados (redes neurais recorrentes) Encontra mínimo local Funciona bem na prática ao rodar várias vezes Frequentemente inclui um momentum do peso α w i,j (n) = ηδ j x i,j + α w i,j (n 1) Minimiza erro nos exemplos de treino necessário cuidado para evitar overfitting Treino pode ser lento, mas usar a rede treinada é rápido

26/34 Capacidade de representação de redes neurais Funções booleanas Toda função booleana pode ser representada por uma rede com apenas uma camada interna Mas pode ser necessário um número exponencial de unidades internas em relação ao número de entradas Funções contínuas Toda função contínua compacta pode ser aproximada com erro arbitrariamente pequeno por rede com uma camada interna Qualquer função pode ser aproximada com acurácia arbitrária por uma rede com duas camadas internas

27/34 Evitando overfitting: opções Penalizar pesos grandes: E( w) 1 2 d D k saidas(t kd o kd ) 2 + γ i,j w 2 ji Treino em inclinações alvo e em valores: E( w) 1 2 d D k saidas (t kd o + kd) 2 + µ j entradas ( t kd x j d o kd x j d ) 2 Compartilhamento de pesos Critério de parada prematura

28/34 Precursor de deep learning Figura: Fonte: Neural net and traditional classifiers de Huang& Lippmann (1988).

29/34 Deep learning Redes com várias camadas intermediárias Objetivo: atingir níveis mais profundos de abstração Custo de treino relativamente alto Uso com grandes bases de dados Resultados empíricos e pouco teóricos Referência: Deep Learning Tutorial: deeplearning.net/tutorial/deeplearning.pdf 1. Para cada camada 1.1 Pré-treinar separadamente com algoritmo não supervisionado 1.2 Empilhar nas camadas previamente treinadas e refinar com retropropagação Uso de técnicas para melhoria do aprendizado.

30/34 Técnicas: inicialização Para usar tanh como função de ativação, inicializar pesos no seguinte intervalo: 6 6 [, ] fan in + fan out fan in + fan out Facilita propagação e correção de erros.

31/34 Técnicas: taxa de aprendizado Varredura em 10 1, 10 2,..., e concentrar no intervalo de menor erro de validação µ Descrescente 0 1+d t, com µ 0 inicial e d sendo uma constante de decréscimo

32/34 Técnicas: atualização de pesos em minibatch Intermediário entre estocástico e em lote. Estimativa grosseira do gradiente. Ajuda a reduzir custo computacional. Varia de acordo com o número de épocas usado.

33/34 Parada antes de overfitting Usar conjunto de validação. Verificar periodicamente o desempenho no conjunto de validação. Quando piorar, pára. Verificar pode envolver usar teste de hipótese ou uma simples comparação.

34/34 Redes neurais: sumário Perceptrons Gradiente descendente Redes multi-camadas Retroprogação de erros Deep learning