Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial...

32
SEL 0362 - Inteligência Artificial 1 Aprendizagem por treinamento de redes de aproximação Marco H. Terra Departamento de Eng. Elétrica - EESC - USP

Transcript of Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial...

Page 1: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 1

Aprendizagem por treinamento de redes de aproximação

Marco H. TerraDepartamento de Eng. Elétrica - EESC - USP

Page 2: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 2

Introdução

● Neste capítulo, serão apresentados conceitos sobre redes de aproximação e interpolação.

● Estas redes podem ser vistas como um caso especial de duas camadas da noção geral de redes neurais.

● Estas redes podem ser treinadas através de soluções de equações lineares ou através do gradiente ascendente.

● Também possuem capacidade de generalização tanto quanto as redes neurais com mais camadas.

● O objetivo é entender como as redes de interpolação e aproximação funcionam e como apresentar à rede as informações necessárias, através das amostras, para que sejam desempenhadas as respectivas funções.

Page 3: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 3

Redes de interpolação e aproximação● Uma rede interpola ou aproxima funções de acordo com a quantidade de

neurônios que ela possui.● Funções gaussianas centradas em amostras fornecem boas interpolações.● Suponha que se tenha uma caixa preta com várias entradas, x1 .... xn e

uma saída u.● Suponha também que se quer predizer os valores futuros de u, dada uma

sequência de amostras de combinações entrada-saída.● Decide-se construir uma função dos valores de entrada, y(x1.… xn) com as

seguintes propriedades: o valor de y é exatamente igual à saída da caixa preta se as entradas apresentadas é uma das amostras das combinações entrada-saída; e o valor y está próximo à saída da caixa preta para as outras entradas.

Page 4: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 4

Redes de interpolação e aproximação● Uma maneira de interpolar funções é fazendo uma soma ponderada de

funções, fi :

● Existem evidências de que cada fi deve alcançar o valor máximo ou mínimo dele quando os valores de entrada, x1....xn, estiverem próximos aos valores de entrada considerados para a i-ésima amostra entrada-saída. Os valores de fi devem mudar de acordo com as amostras da entrada.

● Suponha que se considere x1....xn, os valores da entrada atual, como as coordenadas de um vetor x. Também, suponha que os valores de entrada associados com a i-ésima amostra como as coordenadas de outro vetor, ci

y (x1, ... , xn)=∑i=1

s

w i f i(x1, ... , xn)

Page 5: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 5

Redes de interpolação e aproximação

● Assim, cada amostra de entrada ci é um ponto de referência, ou centro, estabelecido pela i-ésima amostra entrada-saída. Em virtude de que cada f i depende somente de um centro, o centro estabelecido pela i-ésima amostra, cada fi especializa a influência da i-ésima amostra nas predições futuras.

● A questão que se coloca é a seguinte: qual função se deve escolher para gi ?

● A função Gaussiana é a mais utilizada por duas razões: possui propriedades matemáticas atrativas e é fácil de ser controlada através de um parâmetro σ

f i(xi)=gi(||x−ci||)

gi(||x−ci||)=e−12σ ||x−c i||

2

Page 6: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 6

Redes de interpolação e aproximação

● Figura 1. Funções Gaussianas de várias larguras determinadas por três valores de σ.

Page 7: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 7

Redes de interpolação e aproximação● Com a função Gaussiana incorporada à função interpolação,

tem-se

● Esta função pode ser calculada por uma rede de duas camadas sendo que o nó na segunda camada calcula uma soma ponderada das saídas dos nós da primeira camada, e cada um dos nós da primeira camada calcula uma função Gaussiana centrada em uma amostra de entrada. Tais redes são denominadas redes de interpolação. Veja um exemplo na Figura 2.

y (x)=∑i=1

s

w i e12σ ||x−ci||

2

Page 8: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 8

Redes de interpolação e aproximação

● Figura 2: Uma rede de interpolação. Cada nó na primeira camada responde intensamente a uma amostra na entrada. O nó da segunda camada simplesmente soma as saídas ponderadas dos nós da primeira camada.

Page 9: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 9

Redes de interpolação e aproximação● Em resumo, uma rede de interpolação é uma representação

que é uma rede neural na qual:● Existem duas camadas de neurônios.● Cada neurônio da primeira camada calcula a Gaussiana da

distância entre o vetor de entrada corrente e uma amostra do vetor de entrada.

● Cada neurônio da segunda camada soma as entradas dele.● Os pesos entre as duas camadas são ajustados de tal maneira

que cada saída do neurônio da segunda camada seja exatamente a saída desejada para cada amostra da entrada.

Page 10: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 10

Redes de interpolação e aproximação● Com um número suficiente de nós, as redes podem interpolar

perfeitamente.● A seguir, é apresentado um exemplo de como funcionam

redes de interpolação: vamos supor que uma pessoa deseja saber como ela aproveita as férias dela em função do tempo de duração.

● A Tabela 1 mostra as quatro últimas férias desta pessoa, as férias com menor tempo de duração foram boas, as próximas férias, com um tempo maior de duração, foram melhores (amostra 2), as férias da amostra 3 foram terríveis e a última foi melhor que a anterior, considerando uma escala de 1 a 10.

Page 11: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 11

Redes de interpolação e aproximação

Tabela 1

Amostra Duração (Dias)

Avaliação (1-10)

1 4 5

2 7 9

3 9 2

4 12 6

Page 12: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 12

Redes de interpolação e aproximação● Suponha que se queira projetar uma rede de interpolação para predizer as avaliações de outras férias com durações distintas.

● Em função de que o problema possui quatro amostras, mas somente uma variável de entrada, a duração das férias, a rede de interpolação possui quatro nós e uma entrada, como mostrada na Figura 3.

● Com uma largura pequena σ, cada amostra tem somente influência local, com uma largura grande σ, cada amostra tem uma influência global.

● Dados valores para σ, é fácil calcular valores para os pesos tal que a rede de interpolação forneça resultados corretos para todas as amostras. A razão é que o número de pesos é o mesmo que o número de amostras das combinações entrada-saída, e cada combinação entrada-saída fornece uma equação envolvendo os pesos desconhecidos:

Page 13: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 13

Redes de interpolação e aproximação

● Figura 3: Uma rede de interpolação para predizer as avaliações das férias dadas as durações das férias.

Page 14: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 14

Redes de interpolação e aproximação

y1=w1 e−12σ (x1−x1)

2

+w2 e−12σ (x1−x2)

2

+w3 e−12σ (x1−x3)

2

+w4 e−12σ (x1−x4)

2

y2=w1e−12σ (x2−x1)

2

+w2e−12σ (x2−x2)

2

+w3 e−12σ (x2−x3 )

2

+w4 e−12σ (x2−x4)

2

y3=w1e−12σ (x3−x1)

2

+w2e−12σ (x3−x2)

2

+w3 e−12σ (x3−x3)

2

+w4 e−12σ (x3−x4)

2

y4=w1e−12σ (x4−x1)

2

+w2 e−12σ (x4−x2)

2

+w3 e−12σ (x4−x3)

2

+w4 e−12σ (x4−x4)

2

Page 15: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 15

Redes de interpolação e aproximação● O procedimento de treinamento pode ser resumido da seguinte

maneira:● Para criar uma rede de interpolação:

– Para cada amostra dada, crie um nó centrado na amostra de entrada. Então, crie uma equação da seguinte maneira:

– Calcule a distância entre a amostra da entrada e cada um dos centros dos nós.

– Calcule a função Gaussiana de cada distância.– Multiplique cada função Gaussiana pelos correspondentes pesos dos nós.– Equacione a saída da amostra com a soma das funções Gaussianas

ponderadas das distâncias.– Resolva as equações para encontrar os pesos.

Page 16: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 16

Redes de interpolação e aproximação● Para três valores de σ, a tabela abaixo

fornece os respectivos valores (Tabela 2)σ w

1w

2w

3w

41

1 4.90 8.84 0.73 5.99

2 0.87 13.93 -9.20 8.37

16 -76.50 236.49 -237.77 87.55

Page 17: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 17

Redes de interpolação e aproximação● Dado um σ e um conjunto correspondente de

pesos, pode-se calcular os valores para a função de interpolação e a rede correspondente não somente para as amostras das entradas consideradas, mas para qualquer entrada.

● As funções ilustradas na Figura 4 foram geradas a partir dos valores da Tabela 2.

● Note que as funções de interpolação passam pelos dias de duração das férias 4, 7, 9 e 12.

Page 18: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 18

Redes de interpolação e aproximação

● Figura 4. Funções de interpolação para uma avaliação das férias do tipo Gaussiana para três valores de σ. Valores grandes e pequenos de σ produzem funções de interpolação oscilações e variações pouco representativas.

Page 19: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 19

Redes de interpolação e aproximação● Se a rede possui menos nós que amostras, nenhuma escolha de pesos

pode assegurar que a rede forneça a saída correta para todas as amostras das entradas.

● Pode-se construir redes com menos nós que amostras, estas redes são denominadas redes de aproximação, e olham para os pesos como aproximações razoáveis.

● O método do gradiente ascendente é apropriado para se ajustar os pesos para aproximações razoáveis das amostras das entradas.

● Este método busca os valores máximos como uma medida do desempenho de uma rede de aproximação.

● Pode-se medir o desempenho somando-se os erros quadrados para todas as amostras das entradas.

● Supõe-se que o valor atual de y para uma amostra particular é ds.

Page 20: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 20

Redes de interpolação e aproximação● sendo r na equação anterior uma taxa constante, deve ser ajustada

para garantir uma convergência rápida para uma solução satisfatória e evitar sobressinal e instabilidade.

● Em resumo, para se criar uma rede de aproximação:– Quando existem poucas amostras, crie uma rede de interpolação usando o

procedimento da rede de interpolação.– Escolha uma taxa constante, r.– Até que o desempenho seja satisfatório;

● Para todas as amostras das entradas,– Calcule as saídas resultantes.– Calcule Δwi para cada peso.

● Some as mudanças dos pesos para todas as amostras das entradas e altere os pesos.

Page 21: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 21

Redes de interpolação e aproximação● O objetivo é maximizar a função objetivo P, esta

função alcança valor nulo quando não existe erro:

● Para maximizar a função P, deriva-se a função com relação a cada peso, wi, assim as mudanças de peso podem estar em proporção às respectivas derivadas.

● Através da regra da cadeia e um pouco de álgebra chega-se à seguinte fórmula para calcular as mudanças dos pesos

P=−∑s

( y s−ds)2

Δw i=r∑s

(d s− ys)e−12σ ||xs−c i||

2

Page 22: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 22

Redes de interpolação e aproximação● Suponha, para o exemplo das férias, que não se pode ter mais que

dois nós na rede, assim a predição é a alternativa possível através de uma rede de aproximação, ao invés de uma rede de interpolação.

● Suponha também, que são estabelecidos os valores iniciais para a rede com dois nós usando as amostras da Tabela 1 para as férias com duração 7 e 12 dias, omitindo as férias com duração de 4 e 9 dias.

● Utilizando o método do gradiente ascendente, ajusta-se os pesos, usando todas as quatro amostras. Os resultados, após os pesos terem sido ajustados 100 vezes com uma taxa constante r = 0.1, estão resumidos na Tabela 3 e na Figura 5.

● w1 e w2 reduzem o erro para as férias de 9 dias, mas acrescentam erro nas férias de 7 e 12 dias veja Figura 5.

Page 23: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 23

Redes de interpolação e aproximação

● Figura 5. Quando existem menos nós que amostras, a função de aproximação não pode fornecer as amostras das saídas para todas as amostras das entradas. O gradiente ascendente pode produzir um conjunto de pesos que fornece uma aproximação razoável.

Page 24: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 24

Redes de interpolação e aproximação

w1

w2

c1

c2

Valores iniciais

8.75 5.61 7.00 12.00

Valores finais

7.33 4.47 7.00 12.00

Tabela 3

Page 25: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 25

Redes de interpolação e aproximação● Há uma alternativa de se ajustar os centros e os pesos

simultaneamente. Para isto deve-se também encontrar as derivadas parciais de P com respeito às coordenadas do centro.

● A fórmula para a j-ésima componente do i-ésimo centro é definida como segue:

● Os resultados, após serem ajustados os pesos e os centros 100 vezes com r = 0.1, são mostrados na Tabela 4.

Δ cij=r∑s

w i(d s− y s)e−12σ ||x s−c i||

2

1

σ(xsj−cij)

Page 26: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 26

Redes de interpolação e aproximação

w1

w2

c1

c2

Valores iniciais

8.75 5.61 7.00 12.00

Valores finais

9.13 8.06 6.00 13.73

Tabela 4

Page 27: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 27

Redes de interpolação e aproximação

● Figura 6. Quando existem menos nós que amostras, a função de aproximação não pode fornecer as saídas exatas para todas as amostras das entradas. Ajustando ambos, pesos e centros, a aproximação é melhor que a conseguida com os ajustes individuais.

Page 28: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 28

Redes de interpolação e aproximação● Suponha que a avaliação das férias dependa da

temperatura média também. A temperatura será medida em Celsius e em Fahrenheit. A quantidade de amostras continua as mesmas apenas acrescidas da temperatura média, portanto a rede possui duas entradas (duração e temperatura) e uma saída (avaliação).

● A Figura 7 mostra a avaliação produzida por uma rede como uma função da duração das férias para uma temperatura média de 73 °F. Veja nas Tabelas 5 e 6 as temperaturas consideradas.

Page 29: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 29

Redes de interpolação e aproximação

Amostra Duração Temperatura Avaliação

1 4 70 5

2 7 75 9

3 9 45 2

4 12 90 6

Tabela 5: Temperatura em graus Fahrenheit

Page 30: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 30

Redes de interpolação e aproximação

Amostra Duração Temperatura Avaliação

1 4 21 5

2 7 24 9

3 9 7 2

4 12 32 6

Tabela 5: Temperatura em graus Celsius

Page 31: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 31

Redes de interpolação e aproximação

● Figura 7. Predição da avaliação das férias versus a duração das férias para uma temperatura média de 73 °F. Uma variação maior caracteriza a curva quando a temperatura não é considerada. A função derivada da temperatura em graus Celsius mostra maior influência a partir das quatro amostras.

Page 32: Aprendizagem por treinamento de redes de aproximação€¦ · SEL 0362 - Inteligência Artificial 2 Introdução Neste capítulo, serão apresentados conceitos sobre redes de aproximação

SEL 0362 - Inteligência Artificial 32

Redes de interpolação e aproximação● Note que a função de aproximação em

graus Celsius é maior que em Fahrenheit, portanto as unidades utilizadas alteram o treinamento também.

● A utilização de um fator de escala para o treinamento da rede é um procedimento útil para o treinamento.