• Nenhum resultado encontrado

IA10 - Reconhecimento de Padrões

N/A
N/A
Protected

Academic year: 2021

Share "IA10 - Reconhecimento de Padrões"

Copied!
107
0
0

Texto

(1)

Redes Neurais

Artificiais

(2)

Redes Neurais Artificiais

• RNA: estruturas distribuídas

formadas por grande número

de unidades de processamento

conectadas entre si

• RNA: Eficientes onde

métodos tradicionais têm se

mostrado inadequados

(3)

Características das Redes Neurais

Artificiais

• Aprendem através de exemplos

• Adaptabilidade

• Capacidade de generalização

• Agrupar e organizar dados

• Tolerância a falhas

• Implementação rápida

(4)

Potenciais áreas de aplicação das

RNAs

• Classificação de padrões

• Clustering/categorização

• Aproximação de funções

• Previsão

• Otimização

• Memória endereçável pelo conteúdo

• Controle

(5)

Redes Neurais:

Inspiração Biológica

(6)

“What is real? How do you define real? If you’re talking about what you can feel, what you can smell, what you can taste and see, then real is simply electrical signals

interpreted by your brain. This is the world that you know.

(7)

Inspiração Biológica

• O trabalho em Redes Neurais Artificiais (RNA), tem sido

motivado desde o começo pelo reconhecimento de que o cérebro humano processa informações de uma forma

inteiramente diferente do computador digital convencional.

• O cérebro é um sistema de processamento de informação

altamente Complexo, Não-Linear e Paralelo.

 Considere uma tarefa de processamento que é realizada corriqueiramente pelo cérebro: a visão humana.

 O reconhecimento perceptivo (exemplo, reconhecer um rosto

familiar em uma cena não-familiar) pode ser realizado pelo cérebro em poucos milésimos de segundo.

(8)

Inspiração Biológica

Como o cérebro é capaz de realizar o reconhecimento

perceptivo, e outras tantas tarefas complexas, em um

intervalo tão curto de tempo, ao passo que tarefas de

complexidade muito menor podem levar dias para

serem executadas em um computador convencional?

No momento do nascimento, o cérebro de uma criança

tem uma grande estrutura e a habilidade de

desenvolver suas próprias regras através do que

usualmente denominamos “experiência”.

Na sua forma geral, uma rede neural é uma máquina

projetada para modelar/simular a maneira como o

cérebro realiza uma tarefa particular ou uma função de

interesse.

(9)

Inspiração Biológica

• Modelos inspirados no cérebro humano

– Compostas por várias unidades de processamento (“neurônios”)

– Interligadas por um grande número de conexões (“sinapses”)

(10)

Inspiração Biológica

A aprendizagem é resultado de alterações locais nos

neurônios.

Fisicamente, existem diversas formas de modificações

possíveis em um neurônio:

 dendritos podem nascer, bem como serem removidos;

 alguns dendritos se esticam ou se encolhem, permitindo ou eliminando, respectivamente, a conexão com outras células;  novas sinapses podem ser criadas ou sofrer alterações;

 sinapses também podem ser removidas;

A aprendizagem via modulação sináptica é o mecanismo mais

importante para as redes neurais, sejam elas biológicas ou

(11)

Inspiração Biológica

• A memória também é resultado de um processo

adaptativo das sinapses.

• Um dos resultados de um processo de

aprendizagem é a criação de um padrão de

conexões sinápticas duradouro, que resulta na

memorização de uma determinada experiência.

• A aprendizagem pode ser vista como o processo

adaptativo da estrutura sináptica, enquanto a

(12)

Inspiração Biológica

• O neurônio artificial (McCulloch-Pitts – 1943)

– Funções de classificação binária – Função de ativação

(13)
(14)

Perceptron

Rede mais simples para classificação de padrões linearmente

separáveis

Estado de ativação

 1 – Ativo  -1 – Inativo

Função de ativação

 ai(t+1)=f(ui(t))  ai(t+1)=  -1 se ui(t) < Ɵ  1 se ui(t) >= Ɵ

n

x

w

u

a(u(t)) u(t)

a(u(t)) = sinal [u(t)]

(15)

Perceptron – Modelo de Neurônio

1 x slide 15

0

w

n

x

2

x

3

x

1

w

3

w

2

w

n

w

limiar 0

1

0

x

  n i i i n i i i

x

w

x

w

1 0

Compara com zero Se >= 0 então “on” c.c. “off”

(16)

Perceptron

•Função de saída = função identidade •Treinamento

– Supervisionado – Correção do erro

• Em que a saída do perceptron é y e a saída desejada é d

•Teorema da convergência: se é possível classificar um conjunto de entradas linearmente separáveis, uma rede Perceptron fará a classificação

•* Taxa de aprendizagem(Ƞ ) introduzida por Rosenblatt (1958) que estende o modelo de McCulloch-Pitts a estímulos que podem assumir valores contínuos, em oposição aos valores apenas binários

) ( ) 1 ( w x d y wii

i

(17)

Algoritmo de Treinamento

1. Iniciar todas as conexões w

ij

com valores

aleatórios entre 0 e 1.

2. Repita

Para cada par de treinamento (X, d) Calcular a saída y

Se (d != y) então

Atualizar peso dos neurônios

Até erro ser aceitável ou atingir um numero x de iteração

(18)

Algoritmo de Teste

1. Apresentar o padrão X a ser reconhecido

2. Calcular a saída y

3. Se (z = y)

Então

X pertence a Classe 1

Senão

X pertence a Classe 2

(19)

Exemplo Perceptron

• Classificação  1  Quadrúpede  0  bípede • Padrões de Treinamento  4 características + classificação  Amostras: slide 19

Animal Carac 1 Carac 2 Carac 3 Carac 4 Classe

Cão 1 -1 1 1 1 Gato 1 1 1 1 1 Cavalo 1 1 -1 1 1 Homem -1 -1 -1 1 0 Galinha -1 1 -1 1 0 Avestruz 1 -1 1 -1 0

(20)

Exemplo Perceptron

Função de Ativação

 F(a) = 1 se u(x) >= Ɵ  F(a) = -1 se u(x) < Ɵ

Função Saída

 Se F(a) = 1 então Y = 1  Se F(a) = -1 então Y = 0

Taxa de Aprendizagem

 ƞ = 1

Limiar

 Ɵ = 1

(21)

Exemplo Perceptron

Perceptron

Animal c1 c2 c3 c4 u(x) a(x) yo yd w1 w2 w3 w4

0 0 0 0 Cão 1 -1 1 1 1 Gato 1 1 1 1 1 Cavalo 1 1 -1 1 1 Homem -1 -1 -1 1 0 Galinha -1 1 -1 1 0 Avestruz 1 -1 1 -1 0 Cão 1 -1 1 1 1 Gato 1 1 1 1 1 Cavalo 1 1 -1 1 1 Homem -1 -1 -1 1 0 Galinha -1 1 -1 1 0 Avestruz 1 -1 1 -1 0 slide 21

(22)

Resposta

Perceptron

Animal c1 c2 c3 c4 u(x) a(x) yo yd w1 w2 w3 w4

0 0 0 0 Cão 1 -1 1 1 0 -1 0 1 1 -1 1 1 Gato 1 1 1 1 2 1 1 1 1 -1 1 1 Cavalo 1 1 -1 1 0 -1 0 1 2 0 0 2 Homem -1 -1 -1 1 0 -1 0 0 2 0 0 2 Galinha -1 1 -1 1 0 -1 0 0 2 0 0 2 Avestruz 1 -1 1 -1 0 -1 0 0 2 0 0 2 Cão 1 -1 1 1 4 1 1 1 2 0 0 2 Gato 1 1 1 1 4 1 1 1 2 0 0 2 Cavalo 1 1 -1 1 4 1 1 1 2 0 0 2

(23)

Exercício

• Considere um perceptron de duas entradas (x1 e

x2) e uma saída (y). Com função de ativação

limiar similar a questão anterior, entretanto com Ө

desconhecido. Taxa de aprendizagem igual a 0.4

• Determine a rede perceptron que implemente as

funções booleanas:

a) AND

b) OR

(24)

Exercício

• Dada uma rede do tipo Perceptron formada três

terminais de entrada, utilizando pesos iniciais w0

= 0.4, w1 = -0.6 e w2 = 0.6, função limiar Ɵ = 0.5

e uma taxa de aprendizado = 0.4, responda os

itens abaixo:

a) Ensinar a rede a gerar a saída -1 para o padrão 001 e a saída +1 para os padrão 110

(25)
(26)

Adaline

• O Adaline é elemento linear cuja saída y é

simplesmente uma combinação linear das

componentes do vetor de entrada x:

(27)

•Treinamento

– Supervisionado

– Correção de erro (regra LMS (Least Mean Square) – delta,

Widrow-Hoff

)

Adaline

) ( ) ( ) ( ) ( 2 1 ) ( )) ( ( ) 1 ( 1 2 ) 1 ( o d i i i o d i n i i i o o d i i i y y x w w y y x J grad x w y y y J w J J grad J grad w w                  

  slide 27

(28)

Algoritmo de Treinamento

1. Iniciar todas as conexões w

ij

com valores

aleatórios dentro de um intervalo;

2. Repita

Para cada par de treinamento (X, d) Calcular a saída y

Se (d – y > erro aceitável) então Atualizar peso dos neurônios

Até erro ser aceitável ou se atingir um numero de ciclos máximo

(29)

Adaline x Perceptron

• Enquanto o perceptron utiliza normalmente uma

função degrau (limiar) e por isso é bastante

utilizado para classificação, o Adaline utiliza uma

função linear e é utilizado para aproximação de

funções ou regressão linear

• O parâmetro Ɵ no Adaline serve como um fator de

descolamento da função de ativação em relação a

origem. Já no Perceptron esse parâmetro

determina onde ocorrerá a separação linear do

(30)

Exercício

Utilizando a rede Adaline, encontre a função que gerou

os seguintes dados:

O valor de Ɵ é 0, a taxa de aprendizagem é 0,1. Os

pesos iniciais de w1 é 2 e w2 é 3. A taxa mínima de

erro é 0,005 em módulo.

X1 X2 Y 2 2 6 3 3 9 2 1 4 1 1 3 1 2 5

(31)

Aprendizado em Batch

                     m j j o j d j i i i m j j o j d j i n i i i j o m j j o j d i i i y y x m w w y y x m J grad x w y y y m J w J J grad J grad w w 1 ) 1 ( 1 1 1 2 ) 1 ( ) ( 1 ) ( 1 ) ( ) ( 2 1 ) ( )) ( (

slide 31

(32)

Redes Neurais:

Modelagem

(33)

Estrutura das Redes Neurais

Artificiais

slide 33 camadas intermediárias camada de saída camada de entrada conexões

(34)

Conceitos básicos

• Estrutura geral das RNA

– Unidades de processamento ni (nós) • Estado de ativação ai • Função de ativação Fi • Função de saída ƒi – Conexões wij – Topologia

(35)

Conceitos básicos

• Estrutura geral das RNA

– Unidades de processamento ni (nós) • Estado de ativação ai • Função de ativação Fi • Função de saída ƒi – Conexões wij – Topologia slide 35

(36)

Unidades de processamento

• Função: receber entradas de conjunto de

unidades A, computar função sobre entradas e

enviar resultado para conjunto de unidades B

• Entrada total:

u

x w

j j j N

1 f (xw)

x

1

x

2 y w1 w2 wN f (a(xiwi))

(37)

Conceitos básicos

• Estrutura geral das RNA

– Unidades de processamento ni (nós) • Estado de ativação ai • Função de ativação Fi • Função de saída ƒi – Conexões wij – Topologia slide 37

(38)

Estado de ativação

• Representa o estado dos neurônios da rede

• Pode assumir valores

– Binários (0 e 1)

– Bipolares (-1 e +1) – Reais

(39)

Conceitos básicos

• Estrutura geral das RNA

– Unidades de processamento ni (nós) • Estado de ativação ai • Função de ativação Fi • Função de saída ƒi – Conexões wij – Topologia slide 39

(40)

Funções de ativação

• Processa conjunto de entradas recebidas e o

transforma em estado de ativação

• Função de ativação

– Atualiza estado de ativação

• a(t + 1) = F [a(t), u(t)] • a(t + 1) = F [u(t)]

– Atualização

• Síncrona (mais comum) • Assíncrona

(41)

Funções de ativação

Funções de ativação mais comuns:

 a(t + 1) = u(t) (linear)

 a(t + 1) =

 a(t + 1) = 1/(1 + e- lu(t)) (sigmoid logística)

 a(t + 1) = (1 - e-lu(t)) (tangente hiperbólica)

(1 +e-lu(t))

slide 41

1 , se u(t) ≥ q 0, se u(t) < q

(42)

Funções de ativação

Função Linear

F[u(t)]

u(t)

(43)

Funções de ativação

Função Limiar Unipolar

slide 43 F[u(t)] u(t) F[u(t)] =

0, se u(t) < 

1, se u(t)  

(44)

Funções de ativação

Função Limiar Bipolar

F[u(t)]

u(t)

F[u(t)] = sinal [u(t)]

F[u(t)] =

-1, se u(t) < 

1, se u(t)  

(45)

Funções de ativação

Função piecewise linear

slide 45 F[u(t)] u(t) F[u(t)] = -1, se u(t) < - +1, se u(t) >  -   u(t)    1 -1

(46)

Funções de ativação

Função Sigmoid Logística(Unipolar)

F[u(t)]

F[u(t)] = 1/(1 + e

- lu(t)

)

(47)

Funções de ativação

Função Tangente Hiperbóbica (Sigmoid Bipolar)

slide 47

F[u(t)] =

(1 +e

-lu(t)

)

(1 - e

-lu(t)

)

F[u(t)] +1 -1

(48)

Conceitos básicos

• Estrutura geral das RNA

– Unidades de processamento ni (nós) • Estado de ativação ai • Função de ativação Fi • Função de saída ƒi – Conexões wij – Topologia

(49)

Funções de saída

• Função de saída

– Transforma estado de ativação de uma unidade em seu sinal de saída

• yi (t) = ƒi (ai (t))

– Geralmente é uma função identidade

(50)

Valores de entrada e saída

• Sinais de entrada e saída de uma RNA geralmente são

números reais

– Números devem estar dentro de um intervalo

• Tipicamente entre -1 e +1 ou 0 e 1

• Codificação realizada pelo projetista da rede

• Em alguns dados há a necessidade de normalização.

– Técnicas de Normalização:

• Valor normalizado = (valor-média)/(maior – menor) • Valor normalizado = (valor-menor)/(maior – menor)

(51)

Conceitos básicos

• Estrutura geral das RNA

– Unidades de processamento ni (nós) • Estado de ativação ai • Função de ativação Fi • Função de saída ƒi – Conexões wij – Topologia slide 51

(52)

Conexões

• Definem como neurônios estão interligados

– Nós são conectados entre si através de conexões específicas

• Codificam conhecimento da rede

– Uma conexão geralmente tem um valor de ponderamento ou peso associada a ela

(53)

Conexões

• Tipos de conexões (wik(t)) – Excitatória: (wik(t) > 0) – Inibitória: (wik(t) < 0) – Conexão inexistente: (wik(t) = 0) • Número de conexões de um nó

– in: número de conexões de entrada – out: número de conexões de saída

– Exemplo:4 conexões de entrada no neurônio em destaque e 2 de saída

(54)

Conceitos básicos

• Estrutura geral das RNA

– Unidades de processamento ni (nós) • Estado de ativação ai • Função de ativação Fi • Função de saída ƒi – Conexões wij – Topologia

(55)

Topologia

• Número de camadas

– Uma camada (Ex Perceptron, Adaline) – Multi-camadas (Ex MLP)

• Completamente conectada • Parcialmente conectada • Localmente conectada

(56)

Completamente conectada

(57)

Parcialmente conectada

slide 57

(58)

Parcialmente conectada

(59)

Topologia

• Arranjo das conexões

– Redes feedforward

• Não existem loops de conexões

– Redes recorrentes

• Conexões apresentam loops

• Mais utilizadas em sistemas dinâmicos

– Lattices

• Matriz n-dimensional de neurônios

(60)

Projeto de Redes

Neurais: Arquitetura

e Forma de

Aprendizado

(61)

Projeto da Rede Neural

• Escolha da Topologia

• Selecionar arquitetura adequada para a rede

– Número de camadas

– Número de nós da camada de entrada igual a quantidade de características do padrão

• Pré-processamento pode aumentar ou diminuir número de nós

(62)

Aprendizado em RNAs

• Capacidade de aprender a partir de seu ambiente e

melhorar sua performance com o tempo

• Parâmetros livres de uma RNA são adaptados

através de estímulos fornecidos pelo ambiente

– Processo iterativo de ajustes aplicado a sinapses e thresholds

– Idealmente, a RNA sabe mais sobre seu ambiente após cada iteração

• RNA deve produzir para cada conjunto de

entradas apresentado o conjunto de saídas

(63)

Aprendizado em RNAs

• Mecanismos de aprendizado

– Modificação de pesos (wij(t)) associados às conexões

– Acréscimo e/ou eliminação de conexões/neurônios

• Algoritmos de aprendizado

– Conjunto de regras bem definidas para a solução de um problema de aprendizado

– Grande variedade

• Cada um com suas vantagens

• Diferem na maneira como ajuste ∆wik(t) é realizado

(64)

Aprendizado por correção de erro

• Taxa de aprendizado (η)  0 < h < 1

– Taxas pequenas

– Taxas grandes

Média das entradas anteriores Estimativas estáveis de peso Aprendizado lento

Aprendizado rápido

Captação de mudanças no processo

(65)

Multi Layer

Perceptron

(66)

Exercício

• Repetir o exercício do perceptron com as portas

AND e OR para a função XOR

O neurônio de McCulloch-Pitts não é capaz de implementar a função XOR!!!

(67)

Poder de Representação

• O modelo de McCulloch-Pitts consegue

representar qualquer função booleana linearmente

separável:

(68)
(69)

Poder de Representação

• Para resolver tal problema, é necessário fazer a

composição de neurônios (Rede Neural Artificial)

(70)

Exercício

• No que diz respeito às redes neurais, assinale a opção correta.

a) O treinamento de uma rede neural tem tempo determinado de execução.

b) Não há problemas em realizar o teste de desempenho de uma rede neural com o mesmo conjunto de dados usado para o treinamento.

c) O número de pesos de uma rede neural não influencia a rapidez com que ela processa dados.

d) O aprendizado supervisionado é o paradigma de treinamento mais utilizado para desenvolver aplicações de redes neurais para classificação e predição. e) O número de camadas ocultas de uma rede de alimentação direta é

inversamente proporcional ao aumento do espaço de hipóteses que ela pode representar.

(71)
(72)

Rede Multilayer Perceptron

Arquitetura de RNA mais utilizada

Possuem uma ou mais camadas intermediárias de nós

 Função de ativação mais utilizada é sigmóide logística

Treinamento de redes MLP

 Grande variedade de Algoritmos  Geralmente supervisionados

 Estáticos

 Não alteram estrutura da rede  Backpropagation, Rprop

 Construtivos

 Alteram estrutura da rede  Upstar, Cascade Correlation

(73)

Treinamento de redes MLP

• Treinamento estático

– MLPs com formatos e tamanhos diferentes podem utilizar mesma regra de aprendizado

• Topologias diferentes podem resolver o mesmo problema

– Regra mais utilizada: backpropagation

(74)

Backpropagation

• Rede é treinada com pares entrada-saída

• Cada entrada de treinamento está associada a uma

saída desejada

• Treinamento em duas fases, cada uma percorrendo

a rede em um sentido

– Fase forward – Fase backward

Sinal (forward)

(75)

Aprendizado

slide 75 camada de entrada camadas intermediárias camada de saída P a d r ã o S a í d a D e s e j a d a

(76)

RNA - Aprendizado

camada de entrada camadas intermediárias camada de saída P a d r ã o S a í d a D e s e j a d a

(77)

RNA - Aprendizado

slide 77 camada de entrada camadas intermediárias camada de saída P a d r ã o S a í d a D e s e j a d a

(78)

RNA - Aprendizado

camada de entrada camadas intermediárias camada de saída P a d r ã o S a í d a D e s e j a d a

(79)

RNA - Aprendizado

slide 79 camada de entrada camadas intermediárias camada de saída P a d r ã o S a í d a D e s e j a d a

(80)

RNA - Aprendizado

camada de entrada camadas intermediárias camada de saída P a d r ã o S a í d a D e s e j a d a

(81)

RNA - Aprendizado

slide 81 camada de entrada camadas intermediárias camada de saída P a d r ã o S a í d a S a í d a D e s e j a d a Erro

(82)

RNA - Aprendizado

camada de entrada camadas intermediárias camada de saída P a d r ã o S a í d a D e s e j a d a

(83)

RNA - Aprendizado

slide 83 camada de entrada camadas intermediárias camada de saída P a d r ã o S a í d a D e s e j a d a

(84)

RNA - Aprendizado

camada de entrada camadas intermediárias camada de saída P a d r ã o S a í d a D e s e j a d a

(85)

Backpropagation

Fase Forward

 Entrada é apresentada à primeira camada da rede

 Após os neurônios da camada i calcularem seus sinais de saída, os neurônios da camada i + 1 calculam seus sinais de saída

 Saídas produzidas pelos neurônios da última camada são comparadas às saídas desejadas

 Erro para cada neurônio da camada de saída é calculado

Fase Backward

 A partir da última camada:

 O nó ajusta seu peso de modo a reduzir o seu erro

 Nós das camadas anteriores tem seu erro definidos por:

 Erros dos nós da camada seguinte conectados a ele ponderados pelos pesos das conexões entre eles

(86)

Backpropagation

• Treina redes MLP produzindo representações

internas necessárias para nós intermediários

• Supor que cada combinação de pesos e thresholds

corresponda a um ponto em uma superfície de

solução

– Solução = pontos mais baixos da superfície

– Procura minimizar erro ajustando pesos e thresholds para que eles correspondam aos pontos mais baixos da superfície

(87)

Backpropagation

• Gradiente de uma função está na

direção e sentido onde a função

tem taxa de variação máxima

– Garantido de achar uma solução para superfícies simples

• Backpropagation fornece

aproximação da trajetória no

espaço de peso computado pelo

método do gradiente descendente

(88)

Backpropagation

 Processamento

 Forward (calcula a saida)  teste

 Backward (ajusta os pesos)  treinamento  Estados de ativação  1 (+1) = ativo  0 (-1) = inativo  Função de ativação  Não linear

 Diferenciável , contínua e, geralmente, não decrescente  Sigmoidal

 ai(t + 1) = 1/(1 + e- ui(t)) (sigmoid logística)

 ai(t + 1) = (1 - e-ui(t)) (tang. hiperbólica)

(1 +e-ui (t)) a[u(t)] 1 u(t) F[u(t)] +1 -1 u(t) Sigmoid

(89)

Backpropagation

• Funcionamento do algoritmo:

– Ponto de partida para obter a expressão de ajuste de pesos: slide 89

  j j j y d E ( )2 2

1 Função custo do erro para um padrão,

considerando todos os nodos de saída.

i j i j w E w    

 Para caminhar em direção ao mínimo,o peso é ajustado com sinal contrário

(90)

Backpropagation

• Interpretação gráfica: Busca do mínimo global.

w E (erro de treinamento) w0 w > 0 d E d w < 0 d E d w > 0 w < 0 w0

(91)

Backpropagation

A partir desta idéia, fazendo manipulações

matemáticas, obtemos a expressão de ajuste de pesos:

Em cada iteração, o algoritmo realiza duas fases:

 Forward (a rede gera suas saídas a partir das entradas),  Backward (a rede ajusta seus pesos a partir das saídas).

slide 91            

w f net caso contrário

saída de nodo for se net f y d t onde t x t w onde w t w t w j l j l l j j j j i j i j i j i j i j ), ( ' ) ( ), ( ' ) ( ) ( ) ( ) ( ) ( ) 1 (    

(92)

Backpropagation

• Fase Forward: Apresenta-se o padrão à rede, que

gera uma saída.

Padrão y

(Saída da rede)

(93)

Backpropagation

• Fase Backward: Ajusta os pesos da rede a partir da

camada de saída.

slide 93        

w f net caso contrário

saída de nodo for se net f y d t onde t x t w j l j l l j j j j i j i j ), ( ' ) ( ), ( ' ) ( ) ( ) ( ) (     w é de um nodo de saída: w =   x w y f x  = ( d – y ) f ’(net) Saída desejada net =  wi xi

(94)

Backpropagation

       

w f net caso contrário

saída de nodo for se net f y d t onde t x t w j l j l l j j j j i j i j ), ( ' ) ( ), ( ' ) ( ) ( ) ( ) (    

w1 não é de um nodo de saída:

w1 =   1 x1 w11 = ( w ) f ’(net1) net1 f x1 w Calculado anteriormente

(95)

Treinamento

1)

Iniciar todas as conexões com valores aleatórios

2)

ciclo = 0

3)

Repita

erro = 0

ciclo = ciclo + 1

Para cada par de treinamento (X, d) Para cada camada k := 1 a N

Para cada neurônio J := 1 a Mk Calcular a saída yjk

Se erro > e

Então Para cada camada k := N a 1

Para cada neurônio J := 1 a Mk Atualizar pesos

Até erro < e ou até ciclo > qtdMax

(96)

Teste

1) Apresentar padrão X a ser reconhecido

2) Para cada camada k := 1 a N

Para cada neurônio J := 1 a Mk

Calcular a saída yjk

Comparar saída yNj com dcj para cada classe c

Classificar padrão como pertencente a classe

cuja saída desejada é mais próxima da saída

produzida

(97)

MLPs como classificadores

• Função implementada por cada neurônio é

formada pela combinação das funções

implementadas por neurônios da camada anterior

– Camada 1: linhas retas no espaço de decisão – Camada 2: regiões contínuas

• Número de lados = número de unidades na camada 1

– Camada 3: Combinações de figuras contínuas, produzindo formatos abstratos

(98)

Regiões contínuas

Aberta Aberta Fechada

Fechada Fechada

(99)

Combinações de regiões contínuas

(100)

Unidades intermediárias

• Número de camadas intermediárias necessárias

– 1 camada: suficiente para aproximar qualquer função contínua ou Booleana

– 2 camadas: suficiente para aproximar qualquer função – 3 ou mais camadas: pode facilitar o treinamento da rede

• Cada vez que o erro é propagado para a camada anterior, ele se torna menos útil

(101)

Unidades intermediárias

Número de neurônios nas camadas intermediárias

 Em geral não é conhecido

 Utilizar função do número de entradas e saídas

 Não há garantias

 Número de pesos vezes dez é menor que o número de exemplos

 Apenas reduz overfitting

 Se o número de exemplos for muito maior que o número de pesos, overfitting é improvável, mas pode ocorrer underfitting

 Depende de:

 Número de exemplos de treinamento  Quantidade de ruído

 Complexidade da função a ser aprendida

(102)

Generalização

• Classificação correta de padrões não utilizados no

treinamento

• Ocorre através da detecção de características

relevantes do padrão de entrada

• Padrões desconhecidos são atribuídos a classes

cujos padrões apresentam características

semelhantes

(103)

Dificuldades de aprendizado

Backpropagation é muito lento em superfícies

complexas

 Considerar efeitos de segunda ordem para gradiente descendente (Rprop)

Mínimos locais: solução estável que não fornece

saída correta

 Taxa de aprendizado decrescente  Adicionar nós intermediários

 Utilizar momentum  Adicionar ruído

(104)

Dificuldades de aprendizado

• Overfitting

– Depois de um certo ponto do treinamento, a rede piora ao invés de melhorar

– Memoriza padrões de treinamento, incluindo suas peculiaridades (piora generalização)

– Alternativas

• Encerrar treinamento cedo • Reduzir pesos

(105)

Atualização dos pesos

• Ciclo

– Apresentação de todos os exemplos de treinamento durante o aprendizado

• Abordagens para atualização dos pesos

– Por padrão (online)

• Exemplos devem ser apresentados em ordem aleatória

– Por ciclo (batch)

(106)

Atualização dos pesos

• Por padrão

– Pesos atualizados após apresentação de cada padrão – Estável se taxa de aprendizado e momentum forem

pequenos (reduzir progressivamente as taxas) – Altas taxas  rede instável

– Mais rápida, principalmente se o conjunto de treinamento for grande e redundante

(107)

Atualização dos pesos

• Por ciclo

– Pesos atualizados depois que todos os padrões de treinamento forem apresentados

– Geralmente mais estável

– Pode ser lento se o conjunto de treinamento for grande e redundante

– Estimativa mais precisa do vetor gradiente

• Método depende da aplicação

Referências

Documentos relacionados

Frente ao exposto, este trabalho teve por objetivo avaliar discentes da disciplina de Matemática Discreta nos conteúdos de lógica formal, teoria dos conjuntos e

O emprego de um estimador robusto em variável que apresente valores discrepantes produz resultados adequados à avaliação e medição da variabilidade espacial de atributos de uma

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

Os valores encontrados para os coeficientes foram de 0,71 e 0,68 para número de adultos vivos e de ovos, respectivamente, na face adaxial e de 0,56 e 0,64, para essas mesmas

Analysis of relief and toponymy of the landscape based on the interpretation of the military topographic survey: Altimetry, Hypsometry, Hydrography, Slopes, Solar orientation,

A assistência da equipe de enfermagem para a pessoa portadora de Diabetes Mellitus deve ser desenvolvida para um processo de educação em saúde que contribua para que a

servidores, software, equipamento de rede, etc, clientes da IaaS essencialmente alugam estes recursos como um serviço terceirizado completo...