Redes Neurais e Sistemas Fuzzy O ADALINE e o algoritmo LMS O ADALINE No contexto de classificação, o ADALINE [B. Widrow 1960] pode ser visto como um perceptron com algoritmo de treinamento baseado em minimização de um índice de desempenho médio sobre o arquivo de treinamento (algoritmo LMS). A especificação dos pesos do ADALINE segue critérios bem definidos que visam minimizar o erro quadrático médio (EQM) na saída do ADALINE. O elemento adaptativo do ADALINE é o Combinador Linear Adaptativo (CLA), e a saída do ADALINE pode ser binária, se a função de ativação utilizada for a hardlimiter (degrau), ou contínua, se a função for do tipo sigmóide (ou linear). Quando a saída do ADALINE for contínua, o elemento realiza a tarefa de regressão. Bernard Widrow [1962] propôs o uso de redes de múltiplos ADALINEs, MADALINEs, para problemas de classificação. Neste caso, a primeira camada era adaptativa e a segunda (de saída) era composta de funções de limiar fixas (AND, OR, MAJ). O ADALINE é capaz de solucionar problemas linearmente separáveis não determinísticos (com ruído). 2
Problema LS com ruído 3 Regressão O problema de estimar uma função a partir de um conjunto de exemplos entrada-saída com algum ou nenhum conhecimento da forma da função é comum a várias áreas, recebendo nomes distintos: regressão, aproximação de funções, identificação de sistemas e aprendizagem indutiva. No domínio das RN, este problema genérico é tratado como aprendizagem supervisionada e na estatística como regressão. O poder computacional do ADALINE é equivalente a um regressor linear. Entretanto, a saída do ADALINE pode ser modificada por uma função de ativação não-linear, o que o torna um componente não-linear em redes mais complexas capazes de aproximação de funções não-lineares. 4
Regressão linear O problema consiste em ajustar uma linha reta f(x) = ax + b a um conjunto T de p pontos: y T = {(x i, y i )} i=1 p h 3 h 2 h 1 (x 1, y 1 ) (x 2, y 2 ) (x 3, y 3 ) (x 5, y 5 ) (x 4, y 4 ) menor EQM Qual é a melhor solução? depende da métrica de avaliação h 1 : passa pelo maior número de pontos em T h 2 : passa pelos 2 pontos em T com valores extremos da entrada (x) h 3 : produz o menor erro quadrático médio (EQM) em T (h LMS : Least Mean Square ) x 5 O Problema da Filtragem Adaptativa Considere um sistema dinâmico cuja caracterização matemática seja desconhecida. Nós dispomos apenas de um conjunto rotulado de dados de entrada-saída gerados pelo sistema em instantes discretos de tempo. Quando, no instante i um estímulo x(i) de dimensão m é aplicado aos terminais de entrada do sistema, este responde produzindo uma saída escalar correspondente d(i), onde i = 1, 2,, n, O comportamento externo do sistema é portanto descrito pelo conjunto de dados onde T : {x(i), d(i) ; i = 1, 2,, n,...} x(i) = [x 1 (i), x 2 (i),, x m (i)] T O problema consiste em criar um modelo do sistema dinâmico desconhecido, utilizando um único neurônio linear. 6
Modelo neural para filtragem adaptativa O modelo neural opera sob a influência de um algoritmo que controla os ajustes necessários para os pesos sinápticos do neurônio. O algoritmo começa com um conjunto arbitrário de pesos que são ajustados em resposta a variações estatísticas do comportamento do sistema. Para um determinado estímulo x(i), o modelo calcula uma saída y(i). Calcula-se então um sinal de erro e(i), como a diferença entre a resposta desejada d(i) e a saída real do modelo y(i). O processo adaptativo consiste em ajustar os pesos de acordo com e(i). x 1 (i) x 2 (i) x m (i) Sistema dinâmico desconhecido d(i) x 1 (i) x 2 (i) +1 w 0 (i) w 1 (i) w 2 (i) v(i) CLA w m (i) = y(i) - d(i) + + e(i) x m (i) 7 2. Definições Como o elemento adaptativo do ADALINE é o CLA, podemos definir o erro linear instantâneo do ADALINE como sendo relativo à saída do CLA. Dado um conjunto de vetores de entrada pertencentes a uma de 2 classes linearmente separáveis, o problema é encontrar o conjunto de pesos capaz de associar cada vetor de entrada com o seu rótulo de classe. Dadas amostras (x 1, d 1 ), (x 2, d 2 ),, (x k, d k ),, (x L, d L ), de alguma função que mapeie vetores de entrada x(i) para os valores desejáveis na saída d(i), determinar o melhor vetor de pesos w* para um CLA realizar este mapeamento. +1 x k 1 w 1 w 0 CLA x k 2 w 2 v k (.) y k Para um vetor x k particular na entrada podemos definir o erro linear instantâneo relativo à saída do CLA: e k = d k v k com : v k = w T.x k 8
Plano de mapeamento do ADALINE O plano de mapeamento do ADALINE corresponde à superfície de regressão. v(n) = w 0 + w 1 x 1 (n) + w 2 x 2 (n) (+1, +1, +1,5) x 1 x 2 d v = 0,5x 1 + 0,5x 2 + 0,5 e 1 1 1 0,5 0,5 1 +1 + 1 + 0,5 + 0,5 +1 1 +1 + 0,5 +0,5 +1 +1 + 1 + 1,5 0,5 v ( 1, +1, +1) (+1, 1, +1) (+1, +1, +1) ( 1, +1, 0,5) (+1, 1, +0,5) ( 1, 1, 1) x 2 ( 1, 1, 0,5) x 1 x 1 x 2 9 Erro Quadrático Médio (EQM) O melhor vetor de pesos será aquele para o qual resulta o menor erro médio, considerando todo o conjunto de treinamento. Define-se como Erro Quadrático Médio (EQM), em um instante k, o valor médio dos erros instantâneos, elevados ao quadrado para evitar cancelamento de erros com sinais diferentes, de um conjunto de CLA, todos com o mesmo vetor de pesos instantâneos w k. Cada CLA terá um vetor de entrada x k e a resposta desejada correspondente d k escolhidos ao acaso, de uma população estatisticamente estacionária. Com isso, para cada CLA pode-se definir: Erro instantâneo quadrado: e k2 = (d k v k ) 2 Considerando-se que o vetor de pesos varie a cada iteração: v k = w kt.x k Com isso, e k2 = d k2 2 d k w kt.x k + w kt.x k x kt.w k Calculando a média sobre o conjunto, define-se o EQM no instante k ( k ): E k < e k2 >= <d k2 > 2 < d k x kt >.w k + w kt. < x k x kt >.w k L Sendo < > o operador valor esperado = 1 f L k k 1 10
Expressão do Erro Quadrático Médio Definindo-se o vetor p como a correlação cruzada entre a resposta desejada d (escalar) e o vetor x : p T < d k x kt > = < d k, d k x 1k,..., d k x nk > T e a matriz de correlação das entradas R definida em termos da média em relação aos conjuntos de ALC: R < x k x kt > R = 1 x 1k... x nk x 1k x 1k x 1k... x 1k x nk...... x nk x nk x 1k... x nk x nk < > Com isso o MSE no instante k pode ser expresso como: E k < e k2 > = < d k2 > 2 p T.w k + w kt. R.w k 11 Análise da função EQM do ADALINE A expressão do EQM como função dos pesos define uma superfície parabolóide convexa, sempre positiva, com um mínimo global: E k < e k2 > = < d k2 > 2 p T.w k + w kt. R.w k E E min w 2 w 1 * w 2 * w 1 12
Determinação do mínimo global da função EQM A posição do mínimo global do EQM pode ser determinada diretamente encontrando o valor de w* que corresponde ao gradiente nulo da função. E k = < e k2 > = < d k2 > 2 p T.w k + w kt. R.w k O gradiente do EQM é encontrado por diferenciação, resultando em uma função linear dos pesos: k E E k w k = 2p + 2R w k O vetor de pesos ótimo w*, é encontrado igualando o gradiente a zero: 2Rw* 2p = 0 Resolvendo para w*, obtém-se a equação de Wiener-Hopf: w* = R 1 p Substituindo esta expressão de w* na expressão do EQM encontramos a expressão do EQM mínimo: E min = < d k2 > p T.w* 13 Resolução da equação de Wiener-Hopf para o OR x 1 w 1 x 2 w 2 1 w 0 v y x(1) x(2) x(3) x(4) x 0 x 1 x 2 +1 1 1 +1 1 +1 +1 +1 1 +1 +1 +1 d 1 +1 +1 +1 p T < d k x kt > = 0,25 {[1 1 1] + [1 1 1] + [1 1 1] + [1 1 1]} = [0,5 0,5 0,5] R < x k x kt > = 0,25 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 + 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 R = 1 0 0 0 1 0 0 0 1 I w* = R 1 p = I.p = p [0,5 0,5 0,5] T = E min = < d k2 > p T.w* = 0,25 14
Plano de mapeamento para o OR Plano de mapeamento de um neurônio de duas entradas com w 0 = w 1 = w 2 = 0,5 x 1 x 2 v = 0,5x 1 + 0,5x 2 + 0, 5 e v(n) = 0,5 x 1 (n) + 0,5 x 2 (n) + 0,5 (+1, +1, +1,5) 1 1 0,5 0, 5 1 +1 0, 5 0, 5 +1 1 0, 5 0, 5 +1 +1 1, 5 0, 5 EQM = 0, 25 v ( 1, +1, +1) (0, 0, +0,5) (+1, 1, +1) (+1, +1, +1) ( 1, +1, 0,5) (+1, 1, +0,5) ( 1, 1, 1) x 2 ( 1, 1, 0,5) x 1 x 1 x 2 15 Superfície de regressão do ADALINE para o OR v(n) = 0,5 x 1 (n) + 0,5 x 2 (n) + 0,25 OR unipolar x 1 x 2 v = 0,5x 1 + 0,5x 2 + 0,25 e 0 0 0,25 0,25 0 +1 0,75 0,25 +1 0 0,75 0,25 +1 +1 1,25 0,25 EQM = 0,0625 Comprovar este resultado pela equação de Wiener-Hopf 16
Superfície de regressão do perceptron para o OR v(n) = 2 x 1 (n) + 2 x 2 (n) 1 x 1 x 2 v =2x 1 + 2x 2 1 e 0 0 1 1 0 +1 + 1 0 +1 0 + 1 0 +1 +1 + 3 2 EQM = 1,25 17 3. Método da descida mais íngreme do erro Método iterativo que, a partir de um ponto inicial sobre a superfície do EQM, procura o mínimo global, modificando os pesos a cada iteração na direção do gradiente descendente da função EQM. E E(1) E min w 1 * E( E(n) w 2 * w 2 w 1 18
Algoritmo iterativo para a descida mais íngreme do erro 1. Inicializar os pesos com valores arbitrários, não nulos. 2. Do ponto inicial na superfície do erro EQM determinar a direção da inclinação mais íngreme para baixo na superfície. 3. Fazer pequena alteração nos pesos de forma que o novo vetor de pesos esteja um pouco mais abaixo, na superfície de erro. w(k + 1) = w( + ( k E ) 4. Repetir os passos 2 e 3 até encontrar o mínimo 19 Aplicações do ADALINE Como o algoritmo de treinamento do ADALINE a cada iteração diminui o EQM, é possível aplicá-lo com sucesso em problemas linearmente separáveis não determinísticos. Neste caso, o EQM dá a medida de desempenho alcançada no treinamento. 1000 w 1.renda + w 2.dívida = t Dívida 800 600 400 200 Mau Bom 0 0 1000 2000 3000 Renda 20
Gradiente do erro quadrado instantâneo: Algoritmo µ -LMS Sendo: e (= d( y( e y( w( T.x( ^ k E k e k2 (e 2 () w ( Aplicando a regra da cadeia das derivadas: 2 com: E( e ( 2e( e( e( E k E( E( e( y( w( e( y( w( e( y( y( y( w( w( d( y( 1 T w( x( x( k E E( w ( = 2 e(. x( 21 Descida do gradiente: algoritmo µ -LMS A cada iteração, os pesos são atualizados por uma parcela do gradiente descendente, instantâneo: com: e assim: w(k + 1) = w( + ( k E ) k E ^ k E k E 2 e(. x( Com isso, os pesos são corrigidos por: w(k + 1) = w( + 2µ e(. x( com µ o parâmetro taxa de aprendizagem. 22
Observações sobre o processo de treinamento Nos algoritmos de aprendizagem supervisionada, o aprendizado resulta da apresentação múltipla de um conjunto predeterminado de exemplos de treinamento. Uma apresentação completa do conjunto inteiro de treinamento durante o processo de aprendizagem é denominada uma época. O processo de aprendizagem é continuado para várias épocas até que os pesos se estabilizem e a função de custo a ser minimizada convirja para um valor mínimo. É aconselhável tornar aleatória a ordem de apresentação dos exemplos de treinamento de uma época para a seguinte, para que a busca no espaço de pesos seja estocástica sobre os ciclos de treinamento, evitando os ciclos limites. 23 Regras para o ajuste dos pesos Todos os algoritmos iterativos estudados se baseiam no princípio da perturbação mínima: Adaptar para reduzir o erro na saída para um padrão de treinamento corrente, perturbando o mínimo as respostas já aprendidas. Regras de descida mais íngreme do gradiente O objetivo é reduzir uma função de custo calculada como média sobre o conjunto de treinamento. A função de custo mais comum é o EQM. Apesar de esta ser a abordagem mais popular para ajuste de pesos, existem abordagens mais sofisticadas, como o métodos de quase- Newton e do gradiente conjugado, com melhores propriedades de convergência, mas com condições mais restritas de aplicação. 24
Regras não-lineares: Regra delta para o Adaline sigmóide Considera o erro na saída não-linear do ADALINE: x 1 w 1 x 0 w 0 v f(v) y x 2 w 2 Utiliza função de ativação diferenciável, sigmóide, f(x): A tangente hiperbólica: Ou a função logística: 1 e 2v k y k tanh(v k ) = 1 e 2v k f(v)= tanh(v) 1 y k = 1 e v k f(v)= (1+exp(v)) 1 +1 +1 0-1 v 0 +0.5 v 25 Algoritmo -LMS Minimiza o EQM pela descida mais íngreme do gradiente do erro quadrado instantâneo, como no µ-lms. O erro instantâneo é agora medido na saída não-linear: e k d k y k d k f (v k ) com v k = w kt.x k Aproximação assumida: ^ k E k E A expressão do gradiente do erro quadrado instantâneo é a mesma: w ( ^ k E k e k2 (e 2 () O gradiente desta nova função de custo é calculado pela regra da cadeia das derivadas parciais. 26
Gradiente do erro quadrado instantâneo: Algoritmo -LMS ^ k E k e k2 (e 2 () w ( Sendo, e 2 (= (d( y() 2 d( fv()) 2 d( fw( T.x()) 2 e aplicando a regra da cadeia das derivadas: com: E k E( E( e( y( v( w( e( y( v( w( E( e( 2e( e( y( 1 y( v( f ( v( w( x( Então: k E E( w ( = 2 e( f v(). x( 27 Descida do gradiente: algoritmo -LMS A cada iteração, os pesos são atualizados por uma parcela do gradiente descendente, instantâneo: com: e assim: w(k + 1) = w( + ( k E ) k E ^ k E k E 2 e( f v(). x( Com isso, os pesos são corrigidos por: w(k + 1) = w( + 2µ e( f v(). x( com µ o parâmetro taxa de aprendizagem. 28
tanh(x) = 1 e 2x Análise das funções sigmóides 1.5 f(x) = 1.2 1 1+ e 1 1 e 2x x 0.8 0.5 0.6 0-4 -2 0 2 4 0.4-0.5 0.2-1 0-1.5-4 -2 0 2 4 1.2 0.3 1 1 0.8 0.6 0.4 0.2 0-4 -2 0 2 4 tanh (x) = 1 tanh 2 (x) 0.25 0.2 0.15 0.1 0.05 0-4 -2 0 2 4 f (x) = f(x).(1f(x)) 29 Ajuste dos pesos do algoritmo -LMS Para a função logística: f v() = f (v().(1 f v()) = y(.(1 y() Com isso, os pesos são corrigidos por: w(k + 1) = w( + 2µ e( y(.(1 y(). x( Para a função tangente hiperbólica: f v() = 1 (f v()) 2 = 1 (y() 2 Com isso, os pesos são corrigidos por: w(k + 1) = w( + 2µ e(.(1 (y() 2 ). x( 30
Análise do EQM do Adaline sigmóide EQM do OR com função logística EQM do OR com tangente hiperbólica 31 Superfície de regressão do Adaline sigmóide para a função OU v tanh(v) tanh(v) EQM = 0,000362 Resultado do treinamento: w 0 = w 1 = w 2 = 2,25 y = tanh(2,25*x + 2,25*y + 2,25) 32