Escolar Documentos
Profissional Documentos
Cultura Documentos
Redes Neurais
Inteligência Artificial
Sumário
●
Introdução;
●
Notas Históricas;
●
Fundamentos:
– O Neurônio Natural;
– O Neurônio Artificial (Perceptron).
O Algoritmo de Treinamento do Perceptron;
Inteligência Artificial
●
Um Exemplo: Perceptron para Classificação;
●
O Problema do OU–exclusivo.
2
Sumário
●
Redes com Múltiplas Camadas:
– Organização em Camadas;
– Topologias;
– Aprendizagem de Redes Neurais;
– Multilayer Perceptron;
– O algoritmo Backpropagation;
Inteligência Artificial
– Dificuldades de Treinamento.
3
Introdução
●
O que são Redes Neurais?
– Modelos matemáticos baseados na organização e
no funcionamento do cérebro humano, que têm
a capacidade de aprender a partir de exemplos.
– “... um processador maciçamente paralelo e
distribuído, constituído de unidades de
processamento simples, que têm a propensão
Inteligência Artificial
4
Introdução
●
O que são Redes Neurais?
– Segundo Haykin (2001), uma rede neural se
assemelha ao cérebro em dois aspectos:
●
O conhecimento é adquirido pela rede a partir de seu
ambiente através de um processo de aprendizagem;
●
Forças de conexão entre os neurônios, conhecidas
Inteligência Artificial
5
Introdução
●
O procedimento utilizado na aprendizagem é conhecido
como algoritmo de aprendizagem;
●
A função deste algoritmo é modificar os pesos
sinápticos;
●
A aprendizagem se dá a partir do ajuste dos pesos;
●
Ajuste dos pesos método tradicional;
Inteligência Artificial
●
Modificar a topologia método alternativo;
6
Introdução
●
A inteligência surge da interação entre seus
componentes simples;
●
Capacidade de aprender;
●
Estrutura maciçamente paralelamente
Inteligência Artificial
distribuída:
– Processamento distribuído;
– Solução paralela de um problema.
7
Introdução
●
Os padrões do mundo devem ser codificados em
quantidades numéricas:
– Vetores numéricos.
●
As conexões também são representadas por valores
numéricos (pesos):
– Um peso para cada valor de entrada.
Inteligência Artificial
●
Arquiteturas treinadas (condicionadas) e não
explicitamente programadas:
– Daí surge o grande poder da técnica.
8
Introdução
●
Algumas aplicações das Redes Neurais:
– Classificação: categorizar um certo valor de
entrada;
– Reconhecimento de Padrões: identificar
estruturas ou padrões nos dados;
– Predição: identificar causas a partir de efeitos
Inteligência Artificial
9
Introdução
●
Algumas características das Redes Neurais:
– Generalização: produz saídas adequadas para
padrões ausentes no treinamento;
– Mapeamento de Entrada-Saída: Aprendizagem
supervisionada;
– Adaptabilidade: capacidade de adaptar seus
Inteligência Artificial
10
O Primeiro Neurônio Artificial
●
1943 – Neurônio de McCulloch & Pitts:
– É considerado o primeiro trabalho da Inteligência
Artificial e consequentemente de Redes Neurais;
– Entradas (Xp), pesos (Wp), nível de ativação (WpXp),
função de limiar (f(a)) e saída (Y).
Inteligência Artificial
11
O Primeiro Neurônio Artificial
●
1943 – Neurônio de McCulloch & Pitts:
– As entradas são excitatórias ou inibitórias;
– Eles demonstraram como os neurônios poderiam
calcular qualquer função lógica.
X +1 X +1
Inteligência Artificial
Y +1 XY Y +1 XY
X+Y-2 X+Y-1
1 -2 1 -1
12
O Primeiro Neurônio Artificial
●
1943 – Neurônio de McCulloch & Pitts:
X Y X+Y-2 XY
1 1 0 1 (1)
E 1 0 -1 -1 (0)
0 1 -1 -1 (0)
0 0 -2 -1 (0)
X Y X+Y-1 XY
Inteligência Artificial
1 1 1 1 (1)
1 0 0 1 (1)
OU
0 1 0 1 (1)
0 0 -1 -1 (0)
13
Fundamentos
●
O Neurônio Biológico:
– Corpo celular (Soma);
– Dendritos: Recebem os
sinais provenientes de
outros neurônios;
– Axônio: emite o sinal
resultante para outros
neurônios;
Inteligência Artificial
14
Fundamentos
●
Redes artificiais são inspiradas nas redes naturais;
●
Tentam imitar (simular) parte da organização e do
funcionamento do cérebro;
Inteligência Artificial
●
O comportamento inteligente emulado surge
naturalmente da interconexão entre os neurônios.
15
Fundamentos
●
Cérebro X Computador:
16
Fundamentos
●
O Neurônio Artificial
(Perceptron):
– Um vetor de sinais de
entrada: [x1, x2 ... xN];
17
O Algoritmo de Treinamento do
Perceptron
●
O Perceptron é similar ao neurônio de McCulloch-Pitts
na propagação de sinais;
●
Usa a função de ativação Abrupto Simples:
– Variação acima de um limiar resulta em um valor
de saída 1, caso contrário, este valor é -1.
● Dados valores de entrada (xi), pesos (wi) e um limiar (t),
o valor de saída é:
Inteligência Artificial
1 se ∑wixi ≥ t
-1 se ∑wixi < t
18
O Algoritmo de Treinamento do
Perceptron
●
O Perceptron usa uma forma simples de aprendizado:
– Tenta resolver o problema para um valor de entrada;
19
O Algoritmo de Treinamento do
Perceptron
●
O ajuste para o peso no i-ésimo componente do vetor
de entrada (wi) é dado por:
20
O Algoritmo de Treinamento do
Perceptron
●
Para cada componente do vetor de entrada:
21
Um Exemplo: Perceptron para
Classificação
●
A informação sobre o problema é traduzida em
parâmetros de um espaço cartesiano bidimensional:
X1 X2 Saída
10,0
1,0 1,0 1
9,4 6,4 -1
2,5 2,1 1
8,0 7,7 -1
5,0 0,5 2,2 1
Separação Linear
Inteligência Artificial
22
Um Exemplo: Perceptron para
Classificação
– X1 e X2 são os parâmetros de entrada;
– Um bias (viés) com valor constante 1:
●
Serve para aumentar o grau de liberdade dos ajustes
dos pesos;
– Os pontos de dados da tabela são usados para
treinar o perceptron;
W1
1 se ∑wixi ≥ t
Inteligência Artificial
X1
-1 se ∑wixi < t
W2
X2 f(net)
W3
bias
23
Um Exemplo: Perceptron para
Classificação
●
Os pesos são inicializados aleatoriamente com os
valores [0,75;0,5;-0,6] e o treinamento é iniciado;
●
Para o primeiro ponto temos e com t = 0:
f(net)1 = f(0,75*1+0,5*1-0,6*1)=f(0,65)=1
Inteligência Artificial
24
Um Exemplo: Perceptron para
Classificação
●
Para o segundo ponto temos:
f(net)2 = f(0,75*9,4+0,5*6,4-0,6*1)=f(9,65)=1
25
Um Exemplo: Perceptron para
Classificação
●
Aplicamos a regra de aprendizagem:
Wt = Wt-1+c(dt-1-sinal(Wt-1*Xt-1))Xt-1
W3 = W2 + 0,2(-1-(+1)) X2 =
Entradas (X)
Inteligência Artificial
26
Um Exemplo: Perceptron para
Classificação
●
O treinamento é repetido sobre o conjunto de
dados até que uma determinada condição seja
satisfeita:
●
Após obtida a separação linear, espera-se que
padrões ausentes no conjunto de treinamento
Inteligência Artificial
27
O Problema do OU-exclusivo
●
Pesquisadores estudaram as limitações do
modelo perceptron e demonstraram que:
28
O Problema do OU-exclusivo
●
Problemas linearmente separáveis
X2
Inteligência Artificial
X1
29
O Problema do OU-exclusivo
●
Problema linearmente separável: E
X2
X1 X2 Saída
(0,1) (1,1)
1 1 1
Inteligência Artificial
1 0 0
0 1 0
0 0 0 (0,0) (1,0)
X1
30
O Problema do OU-exclusivo
●
Problema linearmente separável: OU
X2
X1 X2 Saída
(0,1) (1,1)
1 1 1
Inteligência Artificial
1 0 1
0 1 1
0 0 0 (0,0) (1,0)
X1
31
O Problema do OU-exclusivo
●
Problema não linearmente separável: OU-exclusivo
Impossível desenhar uma
reta em duas dimensões que
separe os pontos de dados
X2
X1 X2 Saída
(0,1) (1,1)
1 1 0
Inteligência Artificial
1 0 1 ?
0 1 1
0 0 0 (0,0) (1,0)
X1
32
O Problema do OU-exclusivo
●
Problema não linearmente separável: OU-exclusivo
– Em termos de notação lógica temos:
P Q PQ PQ ~P ~Q
V V F V F F
V F V V V V
Inteligência Artificial
F V V V V V
F F F F F V
33
O Problema do OU-exclusivo
●
Problema não linearmente separável: OU-exclusivo
1 0 1 1
0 1 1 1
0 0 0 1 (0,0) (1,0)
PQ X1
34
O Problema do OU-exclusivo
●
Problema não linearmente separável (OU-exclusivo):
– O perceptron só é capaz de resolver problemas
linearmente separáveis;
– Para resolver problemas não linearmente separáveis
basta acrescentar uma camada;
●
Camada escondida;
– Problema: como encontrar os pesos dos neurônios
Inteligência Artificial
desta camada?
●
Antes dos anos 1980 não tínhamos essa resposta
(veremos a solução mais a diante).
35
O Problema do OU-exclusivo
●
Problema não linearmente separável: OU-exclusivo
Inteligência Artificial
36
Redes com Múltiplas Camadas
●
A rede neural surge da combinação de várias
unidades de processamento (neurônios);
– Pode ter uma ou mais camadas.
●
Organização em camadas:
– Camada de Entrada:
●
Sua única função é receber a informação de entrada
e repassar para a camada seguinte.
– Camadas escondidas (ocultas):
Inteligência Artificial
●
Situam-se entre as camadas de entrada e de saída;
●
Normalmente, possuem neurônios com a mesma
estrutura que os da camada de saída.
37
Redes com Múltiplas Camadas
●
Organização em camadas:
– Camadas Escondidas (ocultas):
●
Não existe regra padrão para:
– Definir o número de camadas escondidas;
– Definir o número de neurônios de cada uma.
– Camada de Saída:
●
Responsável por apresentar o resultado da rede ao
Inteligência Artificial
mundo externo;
●
O número de neurônios é definido pela quantidade
de sinais de saída da rede (depende do problema).
38
Redes com Múltiplas Camadas
●
Organização em camadas
Camada de Camada de
Entrada Saída
. . .
. . .
. . .
Inteligência Artificial
Camada
Escondida
39
Redes com Múltiplas Camadas
●
Topologias:
– Classificação quanto a forma como os neurônios
estão arranjados:
●
Redes Diretas (Feedforward):
– Redes cujo grafo não possui ciclos;
Inteligência Artificial
●
Redes Recorrentes (Feedback):
– Redes cujo grafo possui pelo menos um ciclo;
40
Redes com Múltiplas Camadas
●
Topologias:
– Redes Diretas (Feedforward):
●
Ex. Multilayer Perceptron
Inteligência Artificial
41
Redes com Múltiplas Camadas
●
Topologias:
– Redes Recorrentes (Feedback):
●
Ex. Redes de Hopfield
Inteligência Artificial
42
Redes com Múltiplas Camadas
Topologias:
– A definição da topologia (nº de neurônios e conexões)
ideal não é uma tarefa trivial;
• Não há regra objetiva, baseia-se em conhecimento
empírico;
• Normalmente são feitas várias tentativas.
43
Redes com Múltiplas Camadas
44
Redes com Múltiplas Camadas
Professor
Resposta desejada
Inteligência Artificial
Estímulo de entrada
Rede Neural
Resposta da rede
erro
45
Redes com Múltiplas Camadas
46
Aprendizagem Indutiva
●
Hierarquia da Aprendizagem
Inteligência Artificial
47
Redes com Múltiplas Camadas
●
Multilayer Perceptron
– Generalização do modelo Perceptron de uma única
camada;
– Rede tipicamente organizada em camadas como
mostrado anteriormente; Sinais Funcionais
Sinais de Erro
48
Redes com Múltiplas Camadas
●
Multilayer Perceptron
– Sinais Funcionais:
●
Sinais de entrada que propagam-se para frente,
neurônio por neurônio, e emergem como um sinal de
saída da rede na última camada.
– Sinais de Erro:
Inteligência Artificial
●
Se originam em cada neurônio de saída e se propagam
para trás, camada por camada, através da rede.
49
Redes com Múltiplas Camadas
Multilayer Perceptron
– A primeira camada é constituída de neurônios
sensoriais;
– Cada neurônio das camadas ocultas ou da camada
de saída é projetado para realizar:
1. O cálculo funcional que aparece na saída de um
neurônio, expresso como uma função não-linear do
Inteligência Artificial
50
Redes com Múltiplas Camadas
Multilayer Perceptron
51
Redes com Múltiplas Camadas
Multilayer Perceptron
– Um exemplo de função de ativação muito utilizada é
a sigmóide;
– A mais comum é a chamada função logística, dada
pela equação:
52
Redes com Múltiplas Camadas
Multilayer Perceptron
f ( wi xi) f ( wi xi)
1 1
0 0
Inteligência Artificial
wi xi wi xi
-1
53
Redes com Múltiplas Camadas
O algoritmo Backpropagation:
54
Redes com Múltiplas Camadas
O algoritmo Backpropagation:
55
Redes com Múltiplas Camadas
O algoritmo Backpropagation:
– A estratégia usada pelo algoritmo é propagar o erro a
partir da camada de saída na direção das camadas
ocultas;
• Origem do nome backpropagation;
– É necessário utilizar uma função de ativação não-linear,
a função logística é a mais comum:
• Sua derivada é facilmente calculada:
Inteligência Artificial
56
Redes com Múltiplas Camadas
O algoritmo Backpropagation:
– O algoritmo opera em dois passos:
1) Forward:
• Um padrão é apresentado à camada de entrada da
rede e propagado em direção à camada de saída;
57
Redes com Múltiplas Camadas
O algoritmo Backpropagation:
2) Backward:
• O erro é propagado a partir da camada de saída até
a camada de entrada;
58
Redes com Múltiplas Camadas
●
O algoritmo Backpropagation:
Inteligência Artificial
59
Redes com Múltiplas Camadas
O algoritmo Backpropagation:
– O algoritmo usa a Regra Delta Generalizada:
• Baseada na ideia de uma superfície de erro;
• A superfície representa o erro cumulativo sobre um
conjunto de dados;
• Cada configuração possível de pesos é representada
por um ponto na superfície;
• O objetivo é encontrar a direção sobre a superfície que
Inteligência Artificial
60
Redes com Múltiplas Camadas
O algoritmo Backpropagation:
– De maneira genérica, o ajuste dos pesos pelo
método do gradiente pode ser descrito pela
equação:
E
wij n
wij
Inteligência Artificial
Taxa de
Derivada parcial
Aprendizagem
do erro E em
relação ao peso wij
61
Redes com Múltiplas Camadas
O algoritmo Backpropagation:
– Uma superfície de erro em duas dimensões
E
A constante c controla
o tamanho do passo de
c W1 velho aprendizagem
W1 novo
Inteligência Artificial
Mínimo Local
W1
62
Redes com Múltiplas Camadas
O algoritmo Backpropagation:
– O ajuste dos pesos:
• Para neurônios na camada de saída:
w ji n 1 w ji n e j n f j' u j n xi n
» η é a taxa de aprendizagem;
63
Redes com Múltiplas Camadas
O algoritmo Backpropagation:
– O ajuste dos pesos:
• Para neurônios na camada escondida:
64
Redes com Múltiplas Camadas
O algoritmo Backpropagation:
– O ajuste dos pesos:
• Para neurônios na camada escondida:
65
Redes com Múltiplas Camadas
O algoritmo Backpropagation:
– O ajuste dos pesos:
• Exemplo de ajuste na camada escondida:
1 1
f ’(u1) saídas são propagados
x2 w012
para trás e utilizados
e2 para ajustar os pesos
2 w022 2
x3 wi23 F ’(u2) f ’(u2) da camada escondida
66
Redes com Múltiplas Camadas
67
Redes com Múltiplas Camadas
68
Redes com Múltiplas Camadas
Dificuldades de Treinamento
– A forma irregular da superfície de erro causa
dificuldades para o treinamento:
• Em razão das não-linearidades das funções de
ativação;
• Podem provocar o surgimento de mínimos locais e
regiões planas de gradiente nulo;
Inteligência Artificial
70
Redes com Múltiplas Camadas
• A convergência é lenta.
71
Redes com Múltiplas Camadas
72
Aprendizagem e Generalização
73
Aprendizagem e Generalização
74
Aprendizagem e Generalização
75
Aprendizagem e Generalização
Métodos construtivos:
– Construção gradual da rede através da adição de
neurônios até que um critério de parada seja
atingido;
– Início com underfitting e a cada adição se aproxima
do overfitting.
Algoritmos de poda:
– Diminuição gradual da estrutura da rede pela
Inteligência Artificial
76
Aprendizagem e Generalização
77
Aprendizagem e Generalização
1 m
Inteligência Artificial
Ek Ekp 2
2 p 1
78
Considerações Finais
Observações práticas:
– Os pesos devem ser inicializados com valores aleatórios
pequenos;
– Utilização de pesos de grande magnitude pode levar a
uma saturação nos neurônios da camada escondida;
– Quanto melhor o conjunto de treinamento, melhor a
resposta da rede:
Inteligência Artificial
79
Considerações Finais
Observações práticas:
– A taxa de aprendizagem é em geral definida entre 0,1
e 0,3:
• Valores muito grandes podem fazer o vetor gradiente
ficar “saltando” de um lado para outro na superfície de
erro.
Inteligência Artificial
80
Referências Bibliográficas
81