Você está na página 1de 81

Disciplina: Inteligência Artificial

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

natural de armazenar conhecimento


experimental e torná-lo disponível para uso.”
(Simon Haykin, 2001)

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

como pesos sinápticos, são utilizados para


armazenar o conhecimento adquirido.

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

(Ex. diagnóstico de doenças);


– Filtragem de Ruído: retirar componentes
irrelevantes de um sinal.

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

pesos a modificações do meio ambiente.


– Tolerância a falhas: o conhecimento se
encontra distribuído por toda a rede;

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 XY Y +1 XY
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 XY
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 XY
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

– Sinapse: conexão entre dois


neurônios.

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:

Parâmetro Cérebro Computador

Material Orgânico Metal e Plástico

Velocidade Milisegundos Nanosegundos

Tipo de Processamento Paralelo Sequencial


Inteligência Artificial

Armazenamento Adaptativo Estático

Controle de processos Distribuído Centralizado

16
Fundamentos


O Neurônio Artificial
(Perceptron):
– Um vetor de sinais de
entrada: [x1, x2 ... xN];

– Um vetor de pesos: [W1, W2,


... WN];
Inteligência Artificial

– Nível de Ativação: WiXi;

– Função de Limiar: f(net).

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;

– Um erro é calculado com base em um resultado correto


de saída fornecido;

– Os pesos são modificados de modo a reduzir esse erro;


Inteligência Artificial

– Processo iterativo: até que um conjunto de pesos que


minimize o erro médio sobre todo o conjunto de
treinamento seja produzido.

19
O Algoritmo de Treinamento do
Perceptron

O ajuste para o peso no i-ésimo componente do vetor
de entrada (wi) é dado por:

wi = c(d – sinal(∑wixi))xi

– c define a taxa de aprendizagem;


Inteligência Artificial

– d valor de saída desejado (+1 ou -1);


– sinal(∑wixi) é o valor de saída do Perceptron (+1 ou -1);

– d – sinal(∑wixi) será 0, 2 ou -2.

20
O Algoritmo de Treinamento do
Perceptron

Para cada componente do vetor de entrada:

– Se d = sinal(∑wixi), não faça nada;

– Se d=1 e sinal(∑wixi)=-1, incremente os pesos


na i-ésima linha em 2cxi;
Inteligência Artificial

– Se d=-1 e sinal(∑wixi)=1, decremente os pesos


na i-ésima linha em 2cxi.

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

(Função de Limiar) 7,9 8,4 -1


7,0 7,0 -1
2,8 0,8 1

0,0 1,2 3,0 1


7,8 6,1 -1
0,0 5,0 10,0

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

– Os pesos não são ajustados, pois a saída real é


igual a saída desejada (W2 = W1)

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

– A regra de aprendizagem é aplicada, já que a saída


real é diferente da saída desejada;
– No perceptron bipolar limitado abruptamente, o
Inteligência Artificial

incremento será sempre +2c ou -2c:


– A constante de aprendizado c é definida com um
valor real pequeno (0,2 neste exemplo).

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

0,75 - 0,4 * 9,4 = -3,01


0,50 - 0,4 * 6,4 = -2,06
- 0,60 - 0,4 * 1,0 = -1,00
Bias

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

sejam classificados corretamente.

27
O Problema do OU-exclusivo


Pesquisadores estudaram as limitações do
modelo perceptron e demonstraram que:

– Ele não é capaz de resolver uma classe de


problemas na qual os pontos de dados não são
linearmente separáveis;
Inteligência Artificial

– Um exemplo clássico desse tipo de problema é


o OU-exclusivo;

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 PQ PQ  ~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

Necessário usar redes com


múltiplas camadas X2
~P  ~Q
X1 X2 PQ ~P  ~Q
(0,1) (1,1)
1 1 1 0
Inteligência Artificial

1 0 1 1

0 1 1 1

0 0 0 1 (0,0) (1,0)

PQ 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.

– Quanto ao número de parâmetros:


Inteligência Artificial

• O uso de poucos neurônios pode causar underfitting;


• O uso de muitos neurônios pode causar overfitting.

43
Redes com Múltiplas Camadas

 Aprendizagem de Redes Neurais:


– A aprendizagem está relacionada com a melhoria do
desempenho da rede:
• Minimização do erro;
• Auto-organização através da correlação entre os dados;
• Maximização de recompensas através de um processo
tentativa e erro.
Inteligência Artificial

– Algoritmo de aprendizagem: procedimento que


ajusta os pesos sinápticos de uma rede com base nas
regras de aprendizagem.

44
Redes com Múltiplas Camadas

 Aprendizagem de Redes Neurais:


– Aprendizagem supervisionada: correção dos pesos
com base no erro da rede.

Professor

Resposta desejada
Inteligência Artificial

Estímulo de entrada
Rede Neural
Resposta da rede
erro

45
Redes com Múltiplas Camadas

 Aprendizagem de Redes Neurais:


– Aprendizagem não supervisionada:
• Baseada na análise das correlações entre as entradas;

• O objetivo é agrupá-las, codificá-las ou categorizá-las;

• Entradas similares são entendidas como pertencentes


à mesma categoria:
Inteligência Artificial

– Ativam o(s) mesmo(s) neurônio(s) de saída.

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

Dois tipos de sinais são


Inteligência Artificial

identificados nesta rede:


(1) Sinais Funcionais e (2)
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

sinal de entrada e dos pesos;


2. O cálculo de uma estimativa do vetor gradiente,
necessário para a retropropagação através da rede.

50
Redes com Múltiplas Camadas

 Multilayer Perceptron

– Para que a rede tenha a capacidade de generalizar a


partir de dados que não são linearmente separáveis é
necessário adaptar o modelo Perceptron:

• Uma forma direta de fazer isso é substituir sua função de


limiar abrupto por outro tipo de função;
Inteligência Artificial

• Funções de ativação contínuas permitem o uso de


algoritmos de aprendizagem mais sofisticados;

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:

f(net) = 1/(1 + e-λ*net), onde net = XiWi


Inteligência Artificial

• λ é uma constante positiva que ajusta a curva


sigmóide;
• 0 < f(net) <1.

52
Redes com Múltiplas Camadas

 Multilayer Perceptron

Função limiar abrupto Função sigmóide

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:

– Algoritmo de aprendizagem para redes de perceptrons com


múltiplas camadas;

– Também conhecido como Regra Delta Generalizada;

– Apresentado em 1986 por Rumelhart, Hinton e Williams;


Inteligência Artificial

– Operação similar a dos perceptrons com uma camada;

54
Redes com Múltiplas Camadas

 O algoritmo Backpropagation:

– Devido ao processamento em múltiplas camadas, o erro


pode se espalhar e evoluir de maneira imprevisível e
complexa através das camadas seguintes;

– Analisar a fonte do erro na camada de saída é uma tarefa


complexa;
Inteligência Artificial

– O algoritmo fornece uma maneira de ajustar os pesos de


um neurônio de acordo com a sua “parcela de culpa”
pelo erro global da rede.

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

f’(net) = (1/(1 + e-λ*net))’ = f(net) * (1 – f(net))

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;

• A saída obtida é comparada com a saída desejada


para esse padrão particular. Se esta não estiver
Inteligência Artificial

correta, o erro é calculado;

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;

• Os pesos das conexões dos neurônios das camadas


internas vão sendo modificados conforme o erro é
retropropagado;
Inteligência Artificial

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

reduza o erro o mais rápido possível (aprendizagem por


descida do gradiente)

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;

» ej(n) é o erro: (dj - Oj);


Inteligência Artificial

» f’j(uj(n)) é a derivada da função de ativação. Para a sigmóide


a derivada é: f(net) * (1 – f(net)). Lembre que f(netj) é
simplesmente Oj ;

» xi(n) é a entrada i do neurônio.

63
Redes com Múltiplas Camadas

 O algoritmo Backpropagation:
– O ajuste dos pesos:
• Para neurônios na camada escondida:

w ji n  1 w ji n f j' u j n  el n f j' ul n wlj l xi n 


l

» lel(n)f’l(ul(n))wlj(l) é uma estimativa do erro do neurônio j


da camada escondida;
Inteligência Artificial

» O índice l refere-se ao neurônio de saída;


» O erro da camada de saída é retropropagado já que não
existem valores de saída desejados para as camadas
escondidas.

64
Redes com Múltiplas Camadas

 O algoritmo Backpropagation:
– O ajuste dos pesos:
• Para neurônios na camada escondida:

w ji n  1 w ji n f j' u j n  el n f j' ul n wlj l xi n 


l

» lel(n)f’l(ul(n))wlj(l) é uma estimativa do erro do neurônio j


da camada escondida;
Inteligência Artificial

» O índice l refere-se ao neurônio de saída;


» O erro da camada de saída é retro propagado já que não
existem valores de saída desejados para as camadas
escondidas.

65
Redes com Múltiplas Camadas

 O algoritmo Backpropagation:
– O ajuste dos pesos:
• Exemplo de ajuste na camada escondida:

Δ wi 23=wi 23+ ηF ' ( u 2 ) ( wo12 e 1 f ' ( u 1 )+ wo22 e 2 f ' ( u 2 ) ) x 3


x1
e1
Os erros e1 e e2 das
Inteligência Artificial

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

 O algoritmo Backpropagation resumido:

1. Inicialize os pesos com valores aleatórios pequenos

2. Apresente a entrada Xp = x0, x1, x2,..., xn-1 e a saída


desejada Tp = t0, t1, t2,..., tm-1, onde n é o número
de neurônios de entrada e m é o número de
neurônios de saída.
Inteligência Artificial

67
Redes com Múltiplas Camadas

 O algoritmo Backpropagation resumido:


3. Calcule a saída real e o erro. Cada camada calcula:
 n 1

y pj  f   wi xi 
 i 0 
4. Adapte os pesos, começando com a camada de saída,
Inteligência Artificial

na direção das camadas anteriores:


w ij ( t+1) =wij ( t ) +ηδ pj o pj

68
Redes com Múltiplas Camadas

 O algoritmo Backpropagation resumido:

Para neurônios de saída:


δ pj =o pj ( 1−o pj )( t pj −o pj )

Para neurônios escondidos:


δ pj =o pj ( 1−o pj ) ∑ δ pk w jk
Inteligência Artificial

Onde ∑ é o somatório sobre todos os k neurônios da


camada acima do neurônio j
69
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

• Dificuldade para o treinamento com algoritmos


baseados em gradiente descendente.

70
Redes com Múltiplas Camadas

 Influência da taxa de aprendizagem (η)


– Quanto maior o valor de η:
• Os ajustes dos pesos são de maior magnitude;

• O erro tende a diminuir mais rapidamente.

– Com valor de η muito pequeno:


Inteligência Artificial

• O treinamento pode ficar preso em mínimos locais;

• A convergência é lenta.

71
Redes com Múltiplas Camadas

 Influência da taxa de aprendizagem (η)


– Uma alternativa é o uso de algoritmos com taxa de
aprendizagem adaptativa:
• O valor de η depende do erro:

– Começa com valor alto;


Inteligência Artificial

– É reduzido gradualmente próximo às regiões de


mínimo.

72
Aprendizagem e Generalização

 O objetivo do processo de aprendizagem em Redes


Neurais é a obtenção de modelos com alto poder
de generalização;
 Na aprendizagem supervisionada temos:
– Conjunto de treinamento composto por pares de
entrada (X) e saída (Yd):
Inteligência Artificial

• X é um vetor de valores de entrada;

• Yd é a saída desejada para um certo vetor de entrada.

73
Aprendizagem e Generalização

 Os pesos devem ser ajustados de forma que o erro


seja minimizado a cada iteração:
– O erro é obtido pela diferença entre a saída desejada (Yd) e a
saída real da rede (Y );
 Nem sempre a minimização pura do erro leva a
resultados satisfatórios:
– Overfitting – mais neurônios que o necessário para a resolução
do problema;
Inteligência Artificial

– Underfitting – menos neurônios que o necessário para a


resolução do problema.

74
Aprendizagem e Generalização

 O objetivo é encontrar o ajuste ideal (fit) na fronteira


entre overfitting e underfitting;
 Estimar parâmetros é uma tarefa árdua:
– Requer conhecimento sobre a complexidade do
problema;
– Geralmente este é o conhecimento que se deseja
obter.
Inteligência Artificial

 Uso de estratégias para tentar encontrar o número


ideal de parâmetros. Ex.:
– Métodos construtivos e algoritmos de poda.

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

eliminação de pesos e neurônios;


– Início com overfitting se aproximando de underfitting
a cada eliminação.

76
Aprendizagem e Generalização

 Novos parâmetros de treinamento são adicionados


com o uso desses métodos;
– Deverão ser ajustados pelo projetista.
 A quantidade de neurônios é normalmente definida
por tentativa-e-erro:
– A experiência do projetista é a principal heurística
utilizada.
 Geralmente, o treinamento encerra quando um erro
Inteligência Artificial

médio quadrático aceitável é obtido;


 Outro critério de parada utilizado é o número de
épocas de treinamento.

77
Aprendizagem e Generalização

 Erro Médio Quadrático (Mean Square Error - MSE):


– Para cada neurônio o erro é definido como:

Ekp ykp  okp 

– O MSE é definido como:

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

• Equilíbrio entre quantidade e qualidade.

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

 LUGER, G. F.; Inteligência Artificial – Estruturas e Estratégias


para a Solução de Problemas Complexos. 4ª ed. – Porto Alegre:
Bookman, 2004.
 REZENDE, S. O.; (organizadora). Sistemas Inteligentes –
Fundamentos e Aplicações. Barueri, SP: Manole, 2003.
 RUSSEL, S.; NORVIG, P. Inteligência Artificial. São Paulo:
Campus, 2004.
 HAYKIN, S.; Redes Neurais – Princípios e Prática. 2ª ed. Porto
Inteligência Artificial

Alegre: Bookman, 2001.


 Beale, R. and Jackson, T. Neural Computing: An Introduction.
Institute of Physics Publishing Bristol and Philadelphia, 1990.

81

Você também pode gostar