RNAs, Classificação de Padrões e Motiação Geométrica Conteúdo. O problema do OU-eclusio.... Um problema mais geral de mapeamento não-linear... 0 3. Mapeamentos não-lineares genéricos... 4 4. Redes neurais multicamadas e suas etensões... 8 5. Treinamento Superisionado: Motiação Geométrica... 7 5. Vetor em D... 7 5. Vetor em >D... 8 5.3 Comparação entre etores: produto interno... 8 5.4 Projeção de um etor na direção de um outro etor... 9 5.5 Soma e subtração de etores... 9 5.6 Treinamento superisionado de um neurônio tipo perceptron, com função de atiação tipo sinal: Interpretação Geométrica... 30 5.7 Busca iteratia do mínimo de uma função ia gradiente descendente... 35 5.8 Aplicação do gradiente descendente ao caso do perceptron... 36 5.9 Obtenção da direção de maior decrescimento da função... 38 Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica. O problema do OU-eclusio Considere os pontos (0,0),(0,),(,0) e (,) no plano R, conforme apresentado na Figura. O objetio é determinar uma rede com duas entradas i {0,} (i=,), e uma saída y {0,} de maneira que: (, ) = (0,0) ou (,) y = 0 (, ) = (,0) ou (0,) y = (,0) (,) y = 0 y = (0,0) (0,) Figura - O problema do OU-eclusio Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica
Inicialmente será analisado o comportamento de um neurônio tipo perceptron (eja figura ) no processo de solução do problema eposto acima. A saída y pode ser representada na forma: y = g( + + 0 ) onde g( u) = se u 0 g( u) = 0 se u < 0 0 u g y Figura Neurônio tipo perceptron, com duas entradas (mais a polarização) Para qualquer alor dos parâmetros 0, e, a função g(u) separa o espaço de entradas em duas regiões, sendo que a cura de separação é uma linha reta. Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 3 0.5 5 0 0-5 -5 0 5 Figura 3 Mapeamento de entrada-saída para o perceptron da figura, com 0 = 6, = 4 e = 3 Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 4
No problema do OU-eclusio (figura ), pode-se constatar que não eiste uma única linha reta diisória de forma que os pontos (0,0) e (,) se posicionem de um lado enquanto que (0,) e (,0) permaneçam do outro lado da linha. Logo, pode-se imediatamente concluir que um neurônio tipo perceptron não apresenta grau de liberdade suficiente para resoler o problema proposto, o que foi corretamente constatado por Minsky & Papert, em 969. No entanto, esses autores também acreditaam que não haia razão para supor que redes multicamadas pudessem conduzir a uma solução para o problema proposto. Esta hipótese só foi definitiamente rejeitada com o desenolimento do algoritmo de retro-propagação (back-propagation), já nos anos 80, o qual permite o ajuste automático de pesos para redes neurais multicamadas, arquitetura necessária para a realização de mapeamentos não-lineares, como será erificado mais adiante. Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 5 Considere o problema de mapeamento de uma rede neural tipo perceptron, com uma camada intermediária (eja figura 4), aplicada ao problema do OU-eclusio. 0 0 0 g g z z g y Figura 4 - Perceptron com uma camada intermediária. A camada de entrada fornece um etor de entrada (, ) para a camada intermediária, enquanto que a camada intermediária produz duas saídas z =sgn( 0 + + ) e z =sgn( 0 + + ). Na camada de saída, o sinal de saída da rede neural é dado por y=sgn( 0 + z + z ). Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 6
Surge uma questão: eistem parâmetros ij (i=,; j=0,,) e k (k = 0,,) tais que y = 0 para as entradas (0,0) e (,) e y = para as entradas (,0) e (0,)? As saídas da primeira camada (z e z ) podem ser consideradas como ariáeis intermediárias utilizadas na geração da saída y. Do que já foi isto a respeito de um neurônio tipo perceptron, sabe-se que eistem pesos j (j=0,,) tais que (eja cura de separação L na figura 5(a)): (0,) produza z = (0,0),(,0),(,) produza z = 0. De forma similar, eistem pesos j (j=0,,) tais que (eja cura de separação L na figura.5(a)): (0,),(0,0),(,) produza z = (,0) produza z = 0 Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 7 z L L 3 (0,) (,) (0,) (,) L (0,0) (,0) (0,0) z (a) (b) Figura 5 - Realização da função OU-eclusio Essa discussão mostra que eistem pesos ij (i=,; j=0,,) tais que a entrada (0,) resulte em z =, z =, e a entrada (,0) resulte em z = 0, z = 0, enquanto que (0,0) e (,) produzam z = 0, z =. Já que (0,0) e (,) podem ser separados linearmente de (0,), como mostrado na figura 5(b) pela cura de separação L 3, pode-se concluir que a função booleana desejada pode ser obtida utilizando-se perceptrons em cascata, ou seja, uma rede com uma camada intermediária. Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 8
Isto é possíel deido à transformação do espaço de entrada (, ), onde os padrões não são linearmente separáeis, no espaço (z,z ), onde os padrões são linearmente separáeis. Em reconhecimento de padrões é bem conhecido que quando classes de padrões podem ser separadas utilizando-se uma função discriminante não-linear, o problema pode ser transformado em um espaço de dimensão maior onde os padrões são linearmente separáeis. Por eemplo, se a cura a 0 +a u +a u +a 3 u u = 0 no espaço (u,u ) separa duas classes de padrões, então um hiperplano (uma superfície linear) no espaço tridimensional (u,u,u u ) pode também separá-los. Esta foi a propriedade eplorada na solução do problema do OU-eclusio. Obiamente, eistem problemas de classificação muito mais compleos que o OU-eclusio, não apenas por enolerem mais dimensões ou padrões, mas também por considerarem classes disjuntas. Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 9. Um problema mais geral de mapeamento não-linear Considere, agora, um problema mais geral de classificação de padrões em um espaço de dimensão finita. Com base na figura 6, assume-se que a região triangular (conjunto A) corresponde a uma classe, enquanto que o complemento desta região (conjunto B) corresponde a uma classe. O objetio é determinar os pesos de uma rede neural cuja saída é (simbolizando a classe ) quando a entrada (, ) A e 0 (simbolizando a classe ) quando (, ) B. B A Figura 6 - Um problema de reconhecimento de padrões Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 0
Partindo das conclusões etraídas da seção anterior, é possíel afirmar que cada um dos três segmentos de reta que delimitam a região A pode ser representado por um neurônio tipo perceptron. Tomando-se a função booleana AND das saídas destes três perceptrons, a saída y pode ser feita quando (, ) A e 0 quando (, ) B. A estrutura desta rede é apresentada na figura 7. 0 g 0 g AND y 30 g 3 3 Figura 7 - Estrutura da rede para a solução do problema da figura 6 Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica A mesma abordagem pode ser estendida para casos em que o conjunto A é limitado por um polígono coneo. O número de neurônios necessários antes do conectio AND é, neste caso, igual ao número de lados do polígono. Se A, A e A 3 são conjuntos disjuntos (desconeos), cada qual limitado por um polígono coneo e o conjunto A = A A A 3 corresponde à classe e o complemento de A (conjunto B) corresponde à classe, a mesma abordagem descrita acima pode ser utilizada para reconhecer as duas classes. Neste caso, três redes idênticas àquela apresentada na Figura 7 são utilizadas. As saídas y, y e y 3 das três redes são tomadas como entrada de uma função booleana OR, cuja saída é (simbolizando classe ) quando (, ) A e 0 (simbolizando classe ) quando (, ) B. Com base nos resultados obtidos acima, e leando-se em conta que as funções booleanas AND e OR podem ser eecutadas atraés de um único neurônio do tipo perceptron, conclui-se que um perceptron com duas camadas intermediárias pode Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica
eecutar a tarefa de reconhecer elementos de conjuntos desconeos quando os conjuntos são limitados por segmentos lineares. Situações mais gerais, onde as regiões não são coneas podem também ser adequadamente mapeadas utilizando-se um perceptron com uma camada intermediária, já que qualquer região não-conea pode ser representada como uma união de regiões coneas. No entanto, a seleção automática dos pesos para redes com múltiplas camadas não é uma tarefa elementar. A principal dificuldade proém da natureza descontínua da função de atiação g utilizada (função sinal). Uma solução para este problema será proposta quando for apresentado o algoritmo de treinamento para redes neurais multicamadas, denominado algoritmo de retropropagação, o qual requer que a função de atiação dos neurônios seja diferenciáel, ao menos até a ordem. Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 3 3. Mapeamentos não-lineares genéricos Na seção anterior, erificou-se que redes neurais de três camadas, compostas por unidades processadoras com função de atiação do tipo sinal, são capazes de discriminar classes representadas por uma seqüência de segmentos lineares. No entanto, muitos são os eemplos de classes que não podem ser adequadamente descritas por seqüências de segmentos lineares e, portanto, não podem ser discriminadas por este tipo de rede neural. Por eemplo, considere o problema de classificação de padrões pertencentes a duas classes distintas, separáeis por uma circunferência, conforme apresentado na figura 8. Se for utilizada uma rede neural com função de atiação do tipo sinal, a melhor solução que pode ser obtida é uma aproimação da circunferência por trechos de segmento de reta. Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 4
B A Figura 8 - Padrões separáeis por uma circunferência A estrutura da rede neural é a mesma apresentada na figura 7, sendo que quanto maior o número de neurônios na primeira camada (camada de entrada), melhor será a aproimação. Esta relação é indesejáel, pois cria uma dependência assintótica (com taas de conergência muito baias) entre a dimensão da rede e a capacidade de classificação. Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 5 A conclusão que se pode etrair é que, no caso das redes neurais em camadas já apresentadas, funções de atiação lineares por partes, como é o caso da função sinal, ão conduzir a mapeamentos lineares por partes. Portanto, eiste aparentemente uma correspondência muito forte entre o tipo de não-linearidade da função de atiação e a capacidade de mapeamento de redes neurais artificiais para cada tipo de problema. Se esta correspondência se aplicar a todos os tipos de função de atiação, fica bastante comprometida a utilização de redes neurais em problemas genéricos de mapeamento, pois passa a ser necessário conhecer eatamente a característica do mapeamento para que se possa definir a função de atiação a ser utilizada, ou seja, é preciso aplicar a solução do problema na composição da rede neural que, em princípio, iria solucionar o problema. Felizmente, requisitos mínimos podem ser impostos às funções de atiação, de tal forma a garantir a eistência de solução, independente do problema de aplicação. Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 6
Deido à estruturação da rede em camadas, o processamento dos sinais pela rede faz com que os sinais de saída sejam uma composição particular de funções de atiação, as quais deem atender a um conjunto mínimo de propriedades para conferir à rede neural o que se denomina de capacidade de aproimação uniersal de mapeamentos não-lineares contínuos, definidos em regiões compactas do espaço de aproimação. Tomando por base métodos de aproimação uniersal para funções não-lineares, como séries de Taylor (composição de funções polinomiais) e séries de Fourier (composição de funções trigonométricas), não dee surpreender o fato de que redes neurais, cujas funções de atiação são dotadas de algum tipo particular de não-linearidade contínua, sejam capazes de realizar qualquer tipo de mapeamento multidimensional contínuo em regiões compactas do espaço de aproimação. Embora não estejamos mais restritos ao caso de problemas de classificação de padrões, estes continuam a representar uma das principais aplicações. Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 7 4. Redes neurais multicamadas e suas etensões Nesta seção, amos apresentar um eemplo ilustratio de como é o processo de aproimação de mapeamentos não-lineares contínuos utilizando redes neurais multicamadas (apresentaremos apenas o caso de uma camada intermediária), dotadas de função de atiação sigmoidal (portanto, uma função diferenciáel). Já imos que diferentes epressões para a função de atiação sigmoidal g(.) podem ser escolhidas. Já imos também que é recomendáel que o(s) neurônio(s) da camada de saída tenham funções de atiação do tipo identidade. Neste caso, considerando p neurônios na única camada intermediária, a função de transferência da rede neural pode ser dada na forma: y = c + cn g( bn + an ) p n= é a saída da rede (eja eemplo na figura 9, para p = ). 0, onde é o etor de entrada e y Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 8
a b u g y c 0 c y a u g y c b y = c + c g ( b + a ) + c g( b + ) 0 a a : deslocamento no eio b : inclinação da sigmóide c : amplitude da sigmóide Figura 9 - Rede neural multicamada e sua função de transferência Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 9 Isto significa que a rede neural com uma camada intermediária realiza um mapeamento que é dado por uma série truncada, tendo a função de atiação g(.) como função básica (função-base). É possíel então comparar este mapeamento com aquele realizado por uma série de Fourier truncada, dada na forma: y = c + cn ( n0 + a n ) p 0 cos. Se tomarmos g(.) como sendo cos(.), deduz-se que a rede neural com uma camada intermediária se transforma em uma série de Fourier generalizada, pelo fato de n= permitir também o ajuste da freqüência da função cos(.). As freqüências na série de Fourier são fias (múltiplos da freqüência fundamental 0 ) pois o ajuste deste termo representa uma operação não-linear, sem solução na forma fechada (requer processos iteratios de solução). Como g(.) pode assumir outras formas, além da função cos(.), muitas outras possíeis etensões podem ser consideradas. Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 0
Eemplo: Forma construtia de aproimação de um mapeamento não-linear a b c d e ( ) = c g( b + a ) + c g( b + a ) + c g( b + a ) + c g( b + a ) + c g( b + a ) f 3 3 3 4 4 4 5 5 5 + c 0 a b c d e, bias Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica b a e a+b+c+d bias c a+b a+b+c+d+e d a+b+c a+b+c+d+e+bias Figura 0 - Composição aditia de atiações na reprodução de um mapeamento não-linear. Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica
Eemplo : Considere a mesma rede do eemplo anterior (só que agora com entradas). Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 3 Pesos da rede neural treinada: camada intermediária -0.00089397-0.70059080 0.3969984-0.00038636 0.69606646 0.7008685 0.0058604 0.9860088-0.99969530 0.98693-0.300063984 0.8000985 0.49374004 0.5000547 0.895503 Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 4
Pesos da rede neural treinada: camada de saída 0.99989340388393 0.79978883437 0.900078469646 0.38564988369799 0.7999688679466 0.744550587375 Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 5 Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 6
5. Treinamento Superisionado: Motiação Geométrica 5. Vetor em D o grandeza que tem magnitude e direção; o ponto no sistema de coordenadas cartesianas; o lista ordenada de números que correspondem às projeções do etor em cada eio de coordenadas. (, ) ( ) =,θ = ( ), [ ] T = R θ T ( ) = + = Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 7 5. Vetor em >D Lista ordenada de números que correspondem às projeções do etor em cada eio de coordenadas. [ ] T = n R n n T = ( ) = i= 5.3 Comparação entre etores: produto interno i T = ii = θ n cos( θ) cos( θ) = i= θ θ T T > 0 T = 0 T < 0 Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 8
5.4 Projeção de um etor na direção de um outro etor θ = cos( θ) = Se T = = T 5.5 Soma e subtração de etores = u + z = u u z u Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 9 5.6 Treinamento superisionado de um neurônio tipo perceptron, com função de atiação tipo sinal: Interpretação Geométrica 0 = φ + u g(u) y u Y Hipótese (sem perda de generalidade): φ, 0, > u = + φ Y Ponto crítico: u = 0 se u 0 y = sgn( u) = 0 se u < 0 Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 30
Y Lugar geométrico dos pontos críticos: + = φ = φ + φ + > φ y = + = φ + < φ y = 0 φ Y T = + = = φ = φ Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 3 θ φ T > > φ φ θ φ T < < φ φ θ φ T < < φ φ Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 3
5.6. Regra de ajuste de pesos Caso Y padrão de entrada: Y saída desejada: y d = u d 0 Y saída obtida: y = 0 u < 0 α θ > 90 o Y solução: rotacionar no sentido de apontar mais na direção de Y regra: = + α Caso Y padrão de entrada: θ < 90 o Y saída desejada: y d = 0 u d < 0 Y saída obtida: y = u 0 α Y solução: rotacionar no sentido de apontar menos na direção de Y regra: = α Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 33 Juntando em uma única regra: regra delta ou regra do perceptron = + α( y d y) ou = α( y y ) Tomando o conjunto de padrões de entrada/saída na forma: y d d então, a apresentação de todos estes padrões (formando um ciclo de treinamento), ordenados aleatoriamente a cada ciclo de treinamento, com a aplicação da regra delta a cada apresentação de um padrão, ai lear ao comportamento desejado (assumindo padrões linearmente separáeis). Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 34
5.7 Busca iteratia do mínimo de uma função ia gradiente descendente y slope = y P y P y δy y Para alores pequenos de : δy y = = slope Sendo δy slope, e tendo por objetio minimizar a função, o problema se transforma em escolher um alor para que sempre produza δy < 0. Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 35 Tomando α > 0 suficientemente pequeno (para garantir δ y y ), uma escolha para pode ser: que conduz a = α slope δy α( slope) < 0 O alor de slope depende de, de modo que a aplicação iteratia de = α slope, para cada alor de, ai conduzir ao mínimo * da função. 5.8 Aplicação do gradiente descendente ao caso do perceptron Considerações necessárias para permitir uma comparação com os resultados apresentados anteriormente: Y Y tomar uma função de atiação diferenciáel; desconsiderar a entrada de polarização, ou tomá-la como uma constante. Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 36
+ u g(u) u y = + O critério de desempenho (função-erro a ser minimizada) pode ser dado na forma: J ( ) = ( y(, y ), ) d Aplicando a regra de ajuste do gradiente descendente resulta: J i = i α slope = i i α, i =, A deriada da função-erro em relação a i, i=,, assume a forma: J i = que lea à regra de ajuste como segue: i ( y yd ) = ( y yd ) = ( y y d ) i i y i Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 37 = α Fazendo = [ ] T e [ ] T i i ( y y d ) i =, chega-se à mesma epressão deduzida a partir de motiações geométricas (seção 6): = α ( y y ) 5.9 Obtenção da direção de maior decrescimento da função Para R p d e J(): R p R, mostre que a direção oposta ao gradiente é a direção de maior decrescimento da função J( ). Demonstração Y Para qualquer direção d R p, com d, a deriada direcional de J() na direção dada por d é: ( J, d) = ( + λd) J ( ) J D = lim = J ( ) λ 0 λ Y Seja γ o ângulo entre os etores J () e d, então: D T ( J, d) = J ( ) d = J ( ) d cos( γ) J ( ) d T d Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 38
Y Como = d, resulta: D ( J, d ) J ( ) J ( ) d J ( ) T Y Para d J ( ) J ( ) =, resulta ( ) para d minimiza D ( J,d) D J, d = J ( ), indicando que esta escolha, pois é a direção de maior decrescimento da função J( ). Tópico 6: RNAs, Classificação de Padrões e Motiação Geométrica 39