Escolar Documentos
Profissional Documentos
Cultura Documentos
Turma A, 01/2022
PPGInf - CIC/UnB
Prof. Li Weigang
weigang@unb.br
Lógica de predicados de 1ª ordem
• Material:
• Agentes inteligentes
• Capítulo 18 – Russell & Norvig
• Seções 18.1 a 18.3
• Contato:
weigang@unb.br
weigangbr@gmail.com
• Página web:
https://cic.unb.br/~weigang/
limiar
Aprendizagem
Equação do erro:
Exemplo: Implementação da porta lógica AND
E = Sd - So
Passo 3: Ajuste do peso onde
Calcular o erro: E = 1 - 0 = 1 Sd é a saída desejada
So é a saída obtida
Calcular o fator de correção:
F1 = c*E*x1 F2 = c*E*x2
F1 = 0,5*1*1 F2 = 0,5*1*1 Fator de correção:
F1 = 0,5 F2 = 0,5 F = c*x*E =Delta W
onde
c = 0,5 (constante)
Calcular o novo peso: x é a entrada
w1novo = w1 + F1 w2novo = w1 + F2 E é o erro
w1novo = 0 + 0,5 w2novo = 0 + 0,5
w1novo = 0,5 w2novo = 0,5
Equação do ajuste:
wnovo = w + F
Aprendizagem
Exemplo: Implementação da porta lógica AND
Para treinar a rede vamos seguir alguns passos:
Para as entradas [1, 1] ...
Pesos iniciais [0,5, 0,5]
Passo 1: Aplicar a função Soma
Soma = 1*0,5 + 1*0,5 = 1
Passo 2: Aplicar a função de Transferência
Soma 0,5 y = 0
Soma > 0,5 y = 1
Transferido 1 para a saída. Correto!!!!!
X1=0, x2=1, soma=0*0,5+1*0,5=0,5, Soma 0,5 y = 0,
X1=1, x2=0, soma=1*0,5+0*0,5=0,5, Soma 0,5 y = 0,
X1=0, x2=0, soma=0*0,5+0*0,5=0,5, Soma 0,5 y = 0,
Arquiteturas de RNA
• Arquiteturas neurais são tipicamente organizadas em camadas, com unidades
que podem estar conectadas às unidades da camada posterior
Introdução
• Arquiteturas de RNA
• Usualmente as camadas são classificadas em três grupos:
• Camada de Entrada: onde os padrões são apresentados à rede
• Camadas Intermediárias ou Escondidas: onde é feita a maior parte do processamento,
através das conexões ponderadas; podem ser consideradas como extratoras de
características
• Camada de Saída: onde o resultado final é concluído e apresentado
Arquiteturas de RNA
• Número de camadas
• Redes de camada única
• Só existe um nó entre qualquer entrada e qualquer saída da rede
X1
X1
X2
X2
X3
Introdução X1
X2
X3
• Arquiteturas de RNA X4
• Número de camadas X5
• Redes de múltiplas camadas X6
X1
X2 X1
X6
X3 X2
X4 X4
X7
X5
X5
Arquiteturas de RNA
• Tipos de conexões dos nós
• Feedforward, ou acíclica
• A saída do neurônio na i-ésima camada da rede não pode ser usada como entrada de nodos
em camadas de índice menor ou igual a i
X1
X1 X2
X3
X2 X4
X5
X3 X1 X6
X2
X6
X3
X4
X7
X5
Arquiteturas de RNA
• Tipos de conexões dos nós
• Feedback, ou cíclica
• A saída do neurônio na i-ésima camada da rede é usada como entrada de nodos em camadas de índice menor
ou igual a i
• Redes cuja saída final (única) é X1
ligada às entradas comportam-se X2
como autômatos reconhecedores
de cadeias, onde a saída que é X4
realimentada fornece o estado do X5
autômato
• Auto-associativa
Todas as ligações são cíclicas
Associam um padrão de entrada X1
com ele mesmo
São particularmente úteis para X2
recuperação ou regeneração de um padrão de entrada
Arquiteturas de RNA
• Conectividade
• Fracamente (ou parcialmente) conectada
X1 X1
X2 X2
X6
X3 X3
X4 X4
X7
X5
X5 X6
X1
X2
X4
X5
Arquiteturas de RNA
• Conectividade
• Completamente conectada
X1
X1
X2
X2
X3
Arquiteturas de RNA
• Uma rede neural é caracterizada, principalmente ...
• ... pela sua topologia (feedforward, feedback)
• ... pelas características dos nós (booleano, fuzzy, híbrido)
• ... pelas regras de treinamento (Hebb, backpropagation, ...)
Introdução
• Modelos de RNA
• Redes lineares
• Perceptrons
• ADALINE e MADALINE
• Perceptrons de Múltiplas Camadas
• Rede Hopfield
• Mapas de Kohonen
• Rede Counterpropagation
• Rede BAM (Bidirectional Associative Memory)
• Rede ART (Adaptive Resonance Theory)
• Rede IAC (Interactive Activation and Competition)
• ...
Portas de limiar (threshold)
Função Equação com Polarização Sem polarização Com polarização
+1
1,x +1
Degrau y
0,x 0 x - 0 x
+1
+1
Degrau 1, x
y
Simétrico 1, x 0 x - 0 x
-1
-1
+1 +
Linear
y=x+ 0 +1 x - 0 x
-
+1
+1
Logística 1
y ( )
Sigmoidal 1e
0 x - 0 x
' +1
Tangente
e
x e x y y (1 y )
+1
Sigmoidal y=
e
x e x 0 x - 0 x
-1 -1
Perceptrons
• Introdução
• Desenvolvido por Rosenblat (1958)
• Rede mais simples que pode ser utilizada para classificação de padrões
linearmente separáveis
• Utiliza modelo de Mculloch-Pitts para o nó
Perceptrons
• Treinamento
• Supervisionado
• Correção de erro: wij = .e.xi
• = taxa de aprendizagem
• xi = valor de entrada
• e = (dj – yi) = erro (valor calculado – valor desejado)
• Teorema da convergência:
“Se é possível classificar um conjunto de entradas, uma rede Perceptron fará a
classificação”
Perceptrons
• Treinamento
• Algoritmo: Iniciar todas as conexões com wi = 0 (ou aleatórios)
Repita
Para cada padrão de treinamento (X, d)
faça
Calcular a saída y
Se (d y)
então atualizar pesos
até o erro ser aceitável
Perceptrons
• Treinamento
• Algoritmo:
Treinamento
• Algoritmo de teste:
Para cada padrão de 1 a p
faça
Apresentar Xp à entrada da rede
Calcular a saída y
Se y
então Xp Classe 1
senão Xp Classe 2
Perceptrons
• Treinamento
Exemplo:
• Ensinar uma rede Perceptron a classificar os seguintes padrões:
0, 0 0
0, 1 1
1, 0 1
1, 1 0
Problema
• Solução: Utilizar mais de uma camada
• Camada 1: uma rede Perceptron para cada grupo de entradas linearmente separáveis
• Camada 2: uma rede combinando as saídas das redes da 1ª camada, produzindo a
classificação final
wij = .yi.xj
Aprendizagem em Redes Neurais Artificiais
• Regra Delta (Widrow-Hoff)
• A regra Delta é uma variação da regra de Hebb
• Foi desenvolvida por Bernard Widrow e Ted Hoff (1982), conhecida também
como least mean square (LMS), por minimizar o erro médio quadrático
neti wij x j
j
d
W ij . Ti Yi . net i . Xj
dx
1
E ( d i yi ) 2
2 i
• Root Means Square
(d
2
E i yi )
i
Aprendizagem em Redes Neurais Artificiais
• Perceptrons com múltiplas camadas
• Apresentam um poder computacional muito maior do que
aquele apresentado pelas redes sem camadas intermediárias
• Tratam com dados que não são linearmente separáveis
• Teoricamente, redes com mais de uma camada intermediária
podem
implementar qualquer
função, seja ela
linearmente
separável ou não
Aprendizagem em Redes Neurais Artificiais
Exemplo: problema com as funções AND e XOR
Perceptrons com múltiplas camadas
• Algoritmo de aprendizado: retropropagação
• Antes de se iniciar o processo de aprendizado por retropropagação, é
necessário que se tenha:
• O conjunto de padrões de treinamento, entrada e saída desejada
• Um valor para a taxa de aprendizado
• Um critério que finalize o algoritmo (por nº de ciclos - ou épocas - ou por
erro)
• Uma metodologia para atualizar os pesos (w)
• A função de transferência não-linear (usualmente, usa-se a sigmóide)
• Valores de pesos iniciais
Inicialização do treinamento (N = 1)
S
E < Ed Pare – Rede treinada
N N+1
N
S
N > NMax Pare – Número máximo de épocas
N
Recálculo dos pesos da camada de saída
Utilização do Método do
Gradiente Descendente
Recálculo dos pesos da camada intermediária
2
y ( net )
1
1 e
( x)
2 e
y' ( x) 2
[1 e ]
Perceptrons com múltiplas camadas
• Algoritmo de aprendizado: retropropagação
• Gradiente descendente
• Minimização da função de erro
Perceptrons com múltiplas camadas
• Algoritmo de aprendizado: retropropagação
• Gradiente descendente
• Contornos de erro para determinação do vetor gradiente E
Perceptrons com múltiplas camadas
• Algoritmo de aprendizado: retropropagação
• Gradiente descendente
• Momento: auxilia a rapidez da convergência e alcança um perfil de
aprendizado eficiente e mais confiável
Perceptrons com múltiplas camadas
• Algoritmo de aprendizado: retropropagação
• O problema do mínimo local
• O problema da oscilação
• Causa: taxa de aprendizagem muito alta
Perceptrons com múltiplas camadas
• Algoritmo de aprendizado: retropropagação
• Número de neurônios da camada intermediária
NH = Número de neurônios da camada intermediária
NS = Número de neurônios da camada de saída
NE = Número de neurônios da camada de entrada
• Ebehart:
• Outros: NH NS NE
NH NS NE
Perceptrons com múltiplas camadas
• Algoritmo de aprendizado: retropropagação
• Representação para o fluxo de informações na rede
Wij Wki
j i k
1
Hj A
W 1ij. X i
1 e da camada intermediária para os da camada
6. Propague a ativação dos neurônios
i 0
de saída
Para todo j = 1, ..., c:
1
Yj B
W 2ij. H i
1 da
7. Compute os erros dos neurônios e camada de saída, denotada por 2j
i 0
(backward)
Para todo j = 1, ..., c: