Aprendizagem Automática: Redes Neuronais Computacionaisarocha/MIA/0506/redesRn.pdf · conhecido o...

15
Page 1 Metodologias de Inteligência Artificial 2005/2006 Aprendizagem Automática: Redes Neuronais Computacionais MIA - 2005/06 Redes Neuronais Redes Neuronais : redes massivamente paralelas, constituídas por elementos simples interligados (usualmente adaptativos), interagindo com o mundo real tentando simular o que o sistema nervoso biológico faz (Kohonen, 1987) Rumelhart e McClelland : RN não são uma alternativa à IA mas uma estrutura distribuída para as primitivas suportando esquemas de representação mais abstractos. O conexionismo é um sério candidato à modelação de certos comportamentos inteligentes e, por vezes, uma alternativa à Inteligência Artificial clássica.

Transcript of Aprendizagem Automática: Redes Neuronais Computacionaisarocha/MIA/0506/redesRn.pdf · conhecido o...

Page 1: Aprendizagem Automática: Redes Neuronais Computacionaisarocha/MIA/0506/redesRn.pdf · conhecido o desempenho global do sistema. A aprendizagem deve terminar quando a actividade termina

Page 1

Metodologias de Inteligência Artificial2005/2006

Aprendizagem Automática: Redes Neuronais Computacionais

MIA - 2005/06

Redes Neuronais

• Redes Neuronais: redes massivamente paralelas, constituídas por elementossimples interligados (usualmente adaptativos), interagindo com o mundo real tentando simular o que o sistema nervoso biológico faz (Kohonen, 1987)

Rumelhart e McClelland : RN não são uma alternativa à IA mas uma estruturadistribuída para as primitivas suportando esquemas de representação maisabstractos.

• O conexionismo é um sério candidato à modelação de certos comportamentosinteligentes e, por vezes, uma alternativa à Inteligência Artificial clássica.

Page 2: Aprendizagem Automática: Redes Neuronais Computacionaisarocha/MIA/0506/redesRn.pdf · conhecido o desempenho global do sistema. A aprendizagem deve terminar quando a actividade termina

Page 2

MIA - 2005/06

Redes Neuronais

• Conexionismo: Computação paralela, efectuada por grandes redes, utilizando a interconexão de elementos simples - processadores (neurónios). O conexionismotrabalha com modelos distribuídos, em que cada conceito é espalhado por váriasunidades, e cada unidade representa uma combinação de características.

• No conexionismo, o conhecimento não é representado por expressõesdeclarativas (modelos locais como na IA clássica), mas pela estrutura e activaçãodo estado da rede.

• O contexto necessário para um problema é toda a rede. Cada unidade é afectadapela actividade global de todas as outras unidades, e esta influência é moduladapelos pesos das conexões.

MIA - 2005/06

Redes Neuronais• A caracterização do conexionismo baseado em Redes Neuronais

Computacionais implica:– Aprendizagem: Os sistemas não são programados no sentido convencional do termo.

O que é aprendido é a Rede de Conexãoe suas interligações e não um conjunto de acontecimentos particulares.

– Capacidade Adaptativa do sistema. O sistema é capaz de generalizar, o que implica a tolerância da utilização de atributos com valores pouco precisos.

A Análise Biológica:

• O cérebro humano é composto por cerca de 1011 Neurónios. Cada um destesneurónios comunica com os outros através de 104 sinápses (valor médio).

• O cérebro é capaz de aprender e opera de modo massivamente paralelo, podendotratar grandes quantidades de informação.

• A comunicação da informação é feita sobre a forma de dados analógicos.

Page 3: Aprendizagem Automática: Redes Neuronais Computacionaisarocha/MIA/0506/redesRn.pdf · conhecido o desempenho global do sistema. A aprendizagem deve terminar quando a actividade termina

Page 3

MIA - 2005/06

Neurónio clássico

Tentativa da sua modelação:

Neurónio formal

Redes Neuronais

MIA - 2005/06

Redes NeuronaisUma Rede Neuronal é estabelecida através da ligação entre os elementosunitários.

• O peso representativo da conexão entre dois elementos, determina o grau de interacção entre eles. Esta interacção pode ser de “excitação” ou de “inibição”, o que é indicado pelo sinal que afecta o peso respectivo da ligação.

• Cada um dos elementos da rede tenta manter ou modificar o seu estado, de acordo com as interacções que tem com os elementos a que está directamenteligado. Estas operações são realizadas em paralelo por todos os elementos darede (cooperação das unidades).

• A informação encontra-se totalmente distribuída, e consiste no conjunto de valores representativos dos pesos das conexões entre todas as unidades.

Page 4: Aprendizagem Automática: Redes Neuronais Computacionaisarocha/MIA/0506/redesRn.pdf · conhecido o desempenho global do sistema. A aprendizagem deve terminar quando a actividade termina

Page 4

MIA - 2005/06

Redes NeuronaisUma Rede Neuronal Computacional fica caracterizada depois de se conhecer:

– A unidade básica que é o elemento de processamento (denominado neurónioartificial)

– A estrutura das ligações (a topologia da Rede)– A lei de Aprendizagem

1. O elemento de processamento

Um neurónio é constituído por cinco partes fundamentais:– A entrada, através da qual a unidade adquire a informação.– Os pesos das conexões, com outros neurónios, que determinam a influência dos

valores de entrada no estado deste neurónio.– A função de combinação, que regra geral é uma soma ponderada das entradas (os

coeficientes de ponderação são os pesos das conexões):

Outras funções utilizadas são: máximo, mínimo, ...

�=

×=n

jjjii swe

1

MIA - 2005/06

Redes Neuronais– A função de transferência, permite calcular o estado do neurónio. A função mais

utilizada é a função sigmóide:

Outras funções utilizadas são: função degrau, rampa, ...

– A saída, é o resultado da função de transferência.

A figura seguinte é uma representação do neurónio i.

( )iei earctgoue

si

×+

= − 21

1

1

Page 5: Aprendizagem Automática: Redes Neuronais Computacionaisarocha/MIA/0506/redesRn.pdf · conhecido o desempenho global do sistema. A aprendizagem deve terminar quando a actividade termina

Page 5

MIA - 2005/06

Redes Neuronais2. Estrutura das ligações

A arquitectura das Redes Neuronais Computacionais pode ser dos tipos:– redes totalmente conectadas– redes de camadaúnica– redes de múltiplas camadas

2.1. Redes totalmente conectadasCada unidade da rede é conectada a todas as outras unidades.

MIA - 2005/06

Redes Neuronais2.1. Redes de camada única

2.1. Redes de múltiplas camadas

Page 6: Aprendizagem Automática: Redes Neuronais Computacionaisarocha/MIA/0506/redesRn.pdf · conhecido o desempenho global do sistema. A aprendizagem deve terminar quando a actividade termina

Page 6

MIA - 2005/06

Redes Neuronais

• Conexão directa: Diz respeito a uma conexão directa um-a-um entre um nó de uma camada e o nó correspondente a ele na próxima camada.

• Conexão inter-directa: Aqui, contrariamente à conexão directa, o número de elementos nas duas camadas ligadas não necessita ser igual. As ligações de camada a camada são múltiplas

• Conexão intra-directa: Denota uma inter-conexão completa entre nós da mesma camada.

MIA - 2005/06

Redes Neuronais3. Aprendizagem da Rede

As redes neuronais são inspiradas em trabalhos de neuro-fisiologia. Sabe-se que, no cérebro, a aprendizagem se efectua, em certa medida, por modificação dos contactos sinápticos.

Assim também, na aprendizagem da rede, os pesos das conexões são modificados para realizar, da melhor forma possível, a relação entrada-saída desejada.

• Os métodos de aprendizagem nas redes neuronais são:– Aprendizagem por Reforço (Reinforcement Learning)– Aprendizagem supervisionada– Aprendizagem não supervisionada

Page 7: Aprendizagem Automática: Redes Neuronais Computacionaisarocha/MIA/0506/redesRn.pdf · conhecido o desempenho global do sistema. A aprendizagem deve terminar quando a actividade termina

Page 7

MIA - 2005/06

Redes Neuronais3.1. Aprendizagem por reforço

( aprendizagem por Recompensa )

Não são fornecidas as saídas correctas para as entradas consideradas, mas são atribuídos prémios/castigos de acordo com o facto de a saída ser correcta ou não.

As alterações dos pesos das conexões são baseadas somente nos níveis de actividade entre unidades conectadas. Esta é uma informação local. Neste método, quando é efectuada a modificação do peso de uma conexão, não éconhecido o desempenho global do sistema.

A aprendizagem deve terminar quando a actividade termina ou é suficientemente baixa.

Este método é também denominado "aprendizagem com um crítico".

MIA - 2005/06

Redes Neuronais3.1.1. HEBB

O estado de um neurónio pode possuir dois valores:– valor 1 : o neurónio está activo.– valor 2 : o neurónio não está activo.

A eficácia da sinapse entre duas unidades aumenta quando a actividade entre elas é correlacionada.Os pesos das conexões são modificados pela lei de aprendizagem de Hebb:

3.1.2. HOPFIELD

Este método é idêntico ao apresentado anteriormente, mas a regra utilizada para a modificação dos pesos das conexões é:

jiij ssW ×=∆

( ) ( )1212 −××−×=∆ jiij ssW

Page 8: Aprendizagem Automática: Redes Neuronais Computacionaisarocha/MIA/0506/redesRn.pdf · conhecido o desempenho global do sistema. A aprendizagem deve terminar quando a actividade termina

Page 8

MIA - 2005/06

Redes NeuronaisUsam-se valores binários para os neurónios, quer para a lei de Hebb, quer para a lei de Hoppfield

O neurónio i tem saída Si e está ligado ao neurónio j que tem saída Sj, através de um peso Wij

A alteração no peso é:

Na lei de Hebb ou se mantém ou se aumenta o peso das sinapses.

Na lei de Hoppfield, quando:Si = Sj = 0 --> ∆ =1 , nós correlacionadosSi = Sj =1 --> ∆ =1Si = 0 e Sj = 1--> ∆ = -1 , nós não correlacionadosSi = 1 e Sj = 0 --> ∆ = -1

( ) ( ) ijijij WtWtW ∆+=+1

MIA - 2005/06

Redes Neuronais3.2 Aprendizagem supervisionada

A rede produz a sua própria resposta a uma configuração que é presente à entrada, após o que um supervisor apresenta a resposta correcta. Se as duas respostas são idênticas, não há necessidade de modificar os pesos das conexões. Caso contrário, a diferença entre estes dois valores, é utilizada para modificar o peso das conexões existentes na rede.Este método é também denominado "aprendizagem com um supervisor"

3.2.1 PERCEPTRON

Este método é utilizado em redes de camada única.Os pesos das conexões são modificados de acordo com a lei:

c -- constantesi -- saída da unidade idi -- saída correcta da unidade i (fornecida pelo supervisor)

( ) ijjij sdscW ×−×=∆

Page 9: Aprendizagem Automática: Redes Neuronais Computacionaisarocha/MIA/0506/redesRn.pdf · conhecido o desempenho global do sistema. A aprendizagem deve terminar quando a actividade termina

Page 9

MIA - 2005/06

Redes NeuronaisEsta regra de aprendizagem converge (garantidamente) para uma representação correcta, se e só se a classe dos modelos é separável linearmente.

Nota: A função AND é separável linearmente:

A função XOR não é separável linearmente:

111

001

010

000

X AND YYX

011

101

110

000

X XOR YYX

MIA - 2005/06

Redes Neuronais3.2.2 RETRO-PROPAGAÇÃO DO GRADIENTE

Este método é utilizado em redes de múltiplas camadas.O algoritmo minimiza uma função de custo quadrática:

si – saída da unidade idi – saída correcta da unidade i m – número de exemplos apresentados à reden – número de unidades da camada de saída

Vamos apresentar o algoritmo deste método, que é o mais utilizado:Suponhamos que a rede possui uma camada de entrada com A unidades, uma camada intermédia com B unidades e uma camada de saída com C unidades.Vamos denominar os estados das unidades de entrada de ei (i=1...A), os estados das unidades intermédias de cj (j=1...B) e os estados das unidades de saída de sk (k=1...C). Os pesos das conexões que ligam a camada de entrada e a camada intermédia de w1 e que ligam a camada intermédia e a camada de saída de w2.

( )� �= =

−××

=m

k

n

i

ki

ki ds

mct

1 1

2

21

Page 10: Aprendizagem Automática: Redes Neuronais Computacionaisarocha/MIA/0506/redesRn.pdf · conhecido o desempenho global do sistema. A aprendizagem deve terminar quando a actividade termina

Page 10

MIA - 2005/06

Redes NeuronaisA função de transferência utilizada é a função sigmoide:

1 – Apresentar um exemplo ei , i = 1 … A

2 – Propagar os estados da camada de entrada para a camada intermédia.

, i = 1 … A , j = 1 … B

3 – Propagar os estados da camada intermédia para a camada de saída.

, j = 1 … B , k = 1 … C

4 – Cálculo dos erros nas unidades de saída., k = 1 … Cdk é a saída correcta da unidade k.

)exp(11

ii e

s−+

=

����

�� ×−+

=�

iiij

j

ewc

1exp1

1

��

���

� ×−+=

�j

jjk

k

cws

2exp1

1

( ) ( )kkkkk sdsss −×−×= 1δ

MIA - 2005/06

Redes NeuronaisNota:δsk está relacionado com o erro na saída uma vez que dk-sk é o erro. Então sk×(1- sk) é o peso associado a cada parcela.

• sk perto de 0 ou de 1exemplos: 0,1 × 0,9 = 0,09

0,9 × 0,1 = 0,09resultam valores menores e logo, variações mais pequenas

• sk com valores intermédiosexemplo: 0,5 × 0,5 = 0,25

resultam valores maiores e logo, variações maiores

O que quer dizer que no meio da curva (sigmóide) as variações são maiores que nosextremos. Dá-se maior importância ao erro quando quando a saída sk está no meio dasigmóide

Page 11: Aprendizagem Automática: Redes Neuronais Computacionaisarocha/MIA/0506/redesRn.pdf · conhecido o desempenho global do sistema. A aprendizagem deve terminar quando a actividade termina

Page 11

MIA - 2005/06

Redes Neuronais5 – Retropropagar o erro para as unidades intermédias:

, j = 1 … B , k = 1 … C

6 – Modificar os pesos das conexões entre a camada intermédia e a camada de saída:, j = 1 … B , k = 1 … C

, se δsk×cj(n) e δsk×cj(n-1) são de sinais opostos, se δsk×cj(n) e δsk×cj(n-1) são do mesmo sinal

µ –– passo ou coeficiente de aprendizagem

7 – Modificar os pesos das conexões entre a camada de entrada e a camada intermédia:, i = 1 … A , j = 1 … B

, se δcj×ej(n) e δcj×ej(n-1) são de sinais opostos, se δcj×ej(n) e δcj×ej(n-1) são do mesmo sinal

( ) ( )117.01 −×= nn µµ

( ) � ××−×=k

jkkjjj wsccc 21 δδ

( ) ( ) ( ) ( )nwnnwnw jkjkjk 22212 ∆×−=+ µ( ) jkjk csnw ×=∆ δ2

( ) ( )127.02 −×= nn µµ( ) ( )122.12 −×= nn µµ

( ) ( ) ( ) ( )nwnnwnw ijijij 11111 ∆×−=+ µ( ) ijij ecnw ×=∆ δ1

( ) ( )112.11 −×= nn µµ

MIA - 2005/06

Redes Neuronais8 – Se o número de exemplos já apresentados à rede é inferior ao número de exemplos que

desejamos utilizar, retornar a 1.

9 – Retornar a 1 se pretendemos que o erro (valor das modificações dos pesos das conexões: ∆w) seja diminuído.

Com este método podemos classificar exemplos não linearmente separáveis !

Nota:Quanto mais elevado for o parâmetro µ, maiores são as modificações efectuadas no valor dos pesos, e mais rápida é a aprendizagem.No entanto, se este valor for demasiado elevado, podem ocorrer oscilações nos pontos próximos de curvatura pronunciada. Importa manter µ baixo. Mas isso leva a uma aprendizagem lenta. Deveobter-se um compromisso. As equações apresentadas nos pontos 6 e 7 podem ser alteradas para:

, j = 1 … B , k = 1 … C

β - diminui a probabilidade de encontrar um mínimo local. Determina o efeito da variação anterior na variação da actual direcção; “filtra” as variações dasuperfície de erro; impede a curvatura pronunciada

( ) ( )122 −∆×+×=∆ nwcsnw jkjkjk βδ

Page 12: Aprendizagem Automática: Redes Neuronais Computacionaisarocha/MIA/0506/redesRn.pdf · conhecido o desempenho global do sistema. A aprendizagem deve terminar quando a actividade termina

Page 12

MIA - 2005/06

Redes NeuronaisConsideremos a função do custo quadrática

que é a função a minimizar no algoritmo de retropropagação (apresentando m exemplos a uma rede com n saídas)

Todas as parcelas do segundo somatório representam a mesma função e são positivas. Logo basta minimizar o somatório exterior. Como consideramos m exemplos:

( )��= =

−××

=m

k

n

i

ki

ki ds

mct

1 1

2

21

��

���

� −×��

���

� −××=��

���

� −××

×=��

��

��

���

� −×× � �

= =

ki

ki

ki

ki

ki

ki

m

k

n

i

ki

ki dsddsdsd

mmds

md 2

21

21

21 2

1 1

2

2211

1

1

1

��

���

� +

=

��

���

� +

��

���

� +−=

��

��

+=�

���

− entradas

entradas

entradas

entradas

entradaski

e

e

e

ed

edsd

0=���

��� k

idd

MIA - 2005/06

Redes NeuronaisMinimizar a função de custo inicial (através da sua derivada) é equivalente a minimizar o erro dassaídas (δsk ).

Ou seja, ao alterar os pesos das ligações da rede através do algoritmo da retropropagação, está-se a fazer o erro tender para zero.

( ) ( )

( )

( )

( )

( )kkentradas

entradas

kkentradas

entradas

kkentradasentradas

kkentradasentradas

kkkkk

sd

e

e

sd

e

e

sd

ee

sdee

sdsss

−×

��

���

� +

=

−×

��

���

� +

−+=

−×

�����

�����

��

���

� +

−+

=

−×��

��

+−×

+=

−×−×=

−−

−−

2

2

2

1

1

11

1

1

1

1

1

11

1

1

Page 13: Aprendizagem Automática: Redes Neuronais Computacionaisarocha/MIA/0506/redesRn.pdf · conhecido o desempenho global do sistema. A aprendizagem deve terminar quando a actividade termina

Page 13

MIA - 2005/06

Redes NeuronaisAlgumas dificuldades são encontradas na determinação de:

– tamanho da rede , nºde ligações , arquitectura

• Se a rede cresce, aprende melhor, mas perde capacidade de generalização:– efectua associações exactas entre as formas de saída e de entrada– apresenta comportamento aleatório quando são apresentadas formas desconhecidas na entrada

da rede

• Quanto menos ligações e camadas interiores existir, mais se força a rede a generalizar. Énecessário tentar encontrar a rede de menor tamanho que consiga memorizar o conjunto de formas que lhe são apresentadas.

• O problema de determinação de uma configuração da rede pode ser visto como um sistema de equações em que:

nº ligações independentes ↔ nºde variáveis

nº saídas × nº exemplos de aprendizagem ↔ nºde equações

Deve ser verificada a relação:nº ligações independentes < nºsaídas × nºexemplos aprendizagem (3 a 5 vezes)

MIA - 2005/06

Redes Neuronais3.3 Aprendizagem não supervisionada

A aprendizagem ocorre como uma adaptação própria da rede, na detecção de regularidades no espaço de entrada, sem feedback directo de um supervisor. Extrai-se a estrutura inerente na amostra de entrada.Este método de aprendizagem aplica-se quando não dispomos, à priori, de qualquer indicação sobre possíveis classificadores.Este método é também denominado "aprendizagem sem supervisor".

3.3.1 APRENDIZAGEM COMPETITIVAQuando é presente um exemplo à entrada da rede, todas as unidades vão concorrer pelo direito à resposta. Aquela que responde mais fortemente, é a célula mais activa. E assim, os pesos das conexões existentes nesta unidade são ajustados de forma a que a sua resposta seja reforçada, tornando assim mais provável que a identificação dessa qualidade particular da entrada seja efectuada por esta unidade.O resultado da aprendizagem é que unidades individuais estão envolvidas na detecção de características distintas, o que pode ser usado para classificar um conjunto de configurações de entrada.

Page 14: Aprendizagem Automática: Redes Neuronais Computacionaisarocha/MIA/0506/redesRn.pdf · conhecido o desempenho global do sistema. A aprendizagem deve terminar quando a actividade termina

Page 14

MIA - 2005/06

Redes Neuronais

3.3.2 KOHONEN

Este método é utilizado em redes de camada única.No fim da aprendizagem, cada unidade responde selectivamente a uma classe: isto é, para uma determinada configuração de entrada, uma unidade encontra-se mais activa que as outras. Este método é idêntico ao anterior, mas neste caso, quando uma unidade vence a competição, são modificados os pesos das conexões que existem nesta unidade e em unidades vizinhas desta.Para a determinação da unidade mais activa, utiliza-se a regra seguinte:

j = 1… mn − número de unidades da camada de entradam − número de unidades da camada de saída

( ) ( )�=

−=n

iijijj wscc

0

2,min

MIA - 2005/06

Redes Neuronais: aplicação

Exemplo de aplicação de uma Rede Neuronal: previsão do consumo de água

Projectar um Sistema Computacional capaz de prever consumos de água em uma região, sendo conhecidos os consumos diários em anos anteriores.

A rede neuronal utilizada é constituída por 4 camadas:– uma camada de entrada com 26 neurónios– duas camadas escondidas com, respectivamente, 10 e 5 neurónios– uma camada de saída com 1 neurónio

Pela análise dos dados recebidos, constatou-se que a informação relativa aos dias feriados, ou períodos habituais de férias (férias escolares, ...), não era relevante. Assim, esta informação não foi incluída no cálculo da previsão do consumo de água.

Page 15: Aprendizagem Automática: Redes Neuronais Computacionaisarocha/MIA/0506/redesRn.pdf · conhecido o desempenho global do sistema. A aprendizagem deve terminar quando a actividade termina

Page 15

MIA - 2005/06

Redes Neuronais: aplicação

A informação presente na camada de entrada, que é a informação relativa aos parâmetros utilizados para efectuar a previsão, encontra-se codificada em:

– 7 neurónios para indicar o consumo dos 7 dias anteriores.– 4 neurónios para indicar a pluviosidade dos 4 dias anteriores.– 2 neurónios para indicar a temperatura máxima dos 2 dias anteriores.– 2 neurónios para indicar a temperatura mínima dos 2 dias anteriores.– 2 neurónios para indicar a queda de neve dos 2 dias anteriores.– 2 neurónios para indicar a nebulosidade dos 2 dias anteriores.– 7 neurónios para representar o dia da semana.

A aprendizagem da rede foi efectuada utilizando o algoritmo back-propagation com a função de transferência sigmoide.Os dados utilizados foram os valores dos parâmetros já referidos, no período:

– na fase de aprendizagem : de 1/1/1974 a 30/9/1988– na fase de teste : de 1/10/1988 a 30/9/1989

O erro obtido foi de 7.2%

MIA - 2005/06

Redes Neuronais: aplicação