Baixe o app para aproveitar ainda mais
Prévia do material em texto
IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 1 Perceptron de Múltiplas Camadas* * Versões anteriores deste material foram elaboradas pelos Profs. Leandro N. de Castro e Fernando J. Von Zuben. Conteúdo 1. Introdução ............................................................................................................................2 2. Derivação do Algoritmo de Backpropagation......................................................................7 2.1 Capacidade de Aproximação Universal ........................................................................14 3. Aspectos Práticos do Treinamento de Redes MLP ............................................................18 3.1 Treinamento Local ou em Lote .....................................................................................18 3.2 Critérios de Parada ........................................................................................................20 3.3 Arquitetura da Rede.......................................................................................................24 3.4 Normalização dos Dados de Entrada.............................................................................27 3.5 Inicialização dos Vetores de Pesos e Limiares (Bias) ...................................................27 IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 2 1. Introdução • Como o erro é função indireta dos pesos nas camadas intermediárias, a regra da cadeia deverá ser usada para o cálculo das derivadas. • O perceptron de múltiplas camadas (multi-layer perceptron) é uma rede do tipo perceptron com, pelo menos, uma camada intermediária. • Trata-se de uma generalização do perceptron simples discutido em aula. • Com a publicação do livro Perceptrons (Minsky & Papert, 1969) no final da década de 1960, foi proposta a rede perceptron com múltiplas camadas como uma tentativa de superar as limitações encontradas no perceptron simples. • Tornou-se então necessário desenvolver um algoritmo de treinamento mais sofisticado capaz de definir de forma automática os pesos para este tipo de rede. • Como será detalhado a seguir, o algoritmo de treinamento desta rede é uma generalização da regra delta proposta por Widrow & Hoff para o treinamento da Adaline. IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 3 • O treinamento da rede MLP foi feito originalmente utilizando-se um algoritmo denominado de retropropagação do erro, conhecido como backpropagation. • Este algoritmo consiste basicamente de dois passos: o Propagação positiva do sinal funcional: durante este processo todos os pesos da rede são mantidos fixos; e o Retropropagação do erro: durante este processo os pesos da rede são ajustados tendo por base uma medida de erro por base. • O sinal de erro é propagado em sentido oposto ao de propagação do sinal funcional, por isso o nome de retro-propagação do erro. • Uma rede MLP típica possui três características principais: o Os neurônios das camadas intermediárias (e, eventualmente, os da camada de saída) possuem uma função de ativação não-linear do tipo sigmoidal (e.g. função logística ou tangente hiperbólica). o A rede possui uma ou mais camadas intermediárias. o A rede possui um alto grau de conectividade. IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 4 Input layer First hidden layer Output layer Second hidden layer … … y1 y2 yo +1 x1 x2 x3 xm +1 +1 … … Functional signal propagation Error backpropagation • A regra delta generalizada será utilizada para ajustar os pesos e limiares (bias) da rede de forma a minimizar o erro entre a saída da rede e a saída desejada para todos os padrões de treinamento. IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 5 • Para isso, serão utilizadas informações sobre o gradiente do erro em relação aos pesos e limiares da rede, pois já sabemos que, atualizando os pesos da rede na direção oposta à do vetor gradiente, estamos minimizando o erro entre a saída da rede e a saída desejada. • Entretanto, o erro é calculado diretamente apenas para a camada de saída. A pergunta que o algoritmo de retropropagação do erro responde é: como determinar a influência do erro nas camadas intermediárias da rede? , )( α)()1( , ,, m ji m ji m ji w t twtw ∂ ∂ℑ −=+ m i m i m i b t tbtb ∂ ∂ℑ −=+ )( α)()1( • A derivação do algoritmo de backpropagation será apresentada e resumida em notação matricial: IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 6 f1 W1 b1 ∑∑∑∑ u1 x 1 Primeira camada y1 = f1 (W1x + b1) f2 W2 b2 ∑∑∑∑ u2 y1 1 Segunda camada y2 = f2 (W2y1 + b2) f3 W3 b3 ∑∑∑∑ u3 y2 1 Terceira camada y3 = f3 (W3y2 + b3) y3 • A saída de cada camada da rede torna-se a entrada para a camada seguinte: ym + 1 = fm + 1 (Wm + 1ym + bm + 1), para m = 0, 1, …, M – 1, onde M é o número de camadas da rede; y0 = x, ou seja, a entrada da primeira camada é o vetor de entradas; e y = yM é a saída da última camada (ou da rede como um todo). • Para a rede apresentada na figura acima, tem-se: y3 = f3(W3f2(W2f1(W1x + b1)+b2)+b3). IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 7 2. Derivação do Algoritmo de Backpropagation • Como o erro é função indireta dos pesos nas camadas intermediárias, a regra da cadeia deverá ser usada para o cálculo das derivadas. , ,, m ji m i m i m ji w u uw ∂ ∂ × ∂ ∂ℑ = ∂ ∂ℑ . m i m i m i m i b u ub ∂ ∂ × ∂ ∂ℑ = ∂ ∂ℑ • O segundo termo de cada uma das equações acima pode ser facilmente calculado, uma vez que a entrada líquida da camada m é uma função explícita dos pesos e limiares nesta camada (Sm é a quantidade de neurônios na camada m): . 1 1 1 ,∑ − = − += mS j m i m j m ji m i bywu .1,1 , = ∂ ∂ = ∂ ∂ − m i m im jm ji m i b uy w u • Definindo agora a sensibilidade de ℑ a mudanças na entrada líquida do i-ésimo neurônio da camada m como sendo: IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 8 ,δ m i m i u∂ ∂ℑ ≡ então: ,δ 1 , − = ∂ ∂ℑ m j m im ji y w .δ m im ib = ∂ ∂ℑ • As equações para atualização de pesos em qualquer camada podem então ser expressas da seguinte forma: ,αδ)()1( 1 ,, − −=+ mj m i m ji m ji ytwtw .αδ)()1( mimimi tbtb −=+ • Em notação matricial temos: ,)(α)()1( 1 Tmmmm tt −−=+ yδWW ,α)()1( mmm tt δbb −=+ onde . 21 T m S mmm m muuu ∂ ∂ℑ ∂ ∂ℑ ∂ ∂ℑ = ∂ ∂ℑ ≡ L u δ IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron deMúltiplas Camadas 9 • Ainda é necessário calcular as sensibilidades δδδδm, o que requer outra aplicação da regra da cadeia. É este processo que dá origem ao termo retro-propagação, pois descreve a relação de recorrência na qual a sensibilidade na camada m é calculada a partir da sensibilidade na camada m + 1. • Para derivar a relação de recorrência das sensibilidades, utilizaremos a seguinte matriz jacobiana: . 1 2 1 1 1 1 2 2 1 2 1 1 2 1 1 2 1 1 1 1 1 1 111 ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ = ∂ ∂ +++ +++ +++ + +++ m S m S m m S m m S m S m m m m m m S m m m m m m m m mmm m m u u u u u u u u u u u u u u u u u u L MOMM L L u u IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 10 • Considere um elemento i, j qualquer desta matriz: ),()( 1 , 1 , 1 , 1 m j mm jim j m j m m jim j m jm jim j m i ufw u uf w u y w u u &+++ + = ∂ ∂ = ∂ ∂ = ∂ ∂ onde . )()( m j m j m m j m u uf uf ∂ ∂ = & • Em notação matricial: ),(1 1 mmm m m uFW u u &+ + = ∂ ∂ onde . )(00 0)(0 00)( )( 2 1 = m S m mm mm mm muf uf uf &L MOMM L& L& & uF • Agora podemos escrever a relação de recorrência para a sensibilidade utilizando a regra da cadeia em forma matricial: IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 11 .))(())(( 11111 1 ++ + + + + = ∂ ∂ℑ = ∂ ∂ℑ ∂ ∂ = ∂ ∂ℑ = mTmmm m Tmmm m T m m m m δWuF u WuF uu u u δ && • Observe que as sensibilidades são propagadas da última para a primeira camada através da rede: δδδδM → δδδδM – 1 → …→ δδδδ2 → δδδδ1 • Ainda existe um último passo a ser executado para que o algoritmo de retro- propagação fique completo. Precisamos do ponto de partida, δδδδM, para a relação de recorrência da equação acima. Este ponto é obtido na última camada: .)(2 )()()( δ 1 2 M i i iiM i S j jj M i T M i M i u yys u ys uu J M ∂ ∂ −−= ∂ −∂ = ∂ −−∂ = ∂ ∂ = ∑ =ysys • Como: ),()( MjMM i M j M M i M i M i i uf u uf u y u y & = ∂ ∂ = ∂ ∂ = ∂ ∂ então ).()(2δ MjMiiMi ufys &−−= IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 12 • Em notação matricial: ).)((2 ysuFδ −−= MMM & f 1 W 1 b 1 ∑∑∑∑ u 1 x 1 f 2 W 2 b 2 ∑∑∑∑ u 2 y 1 1 f 3 W 3 b 3 ∑∑∑∑ u 3 y 2 1 y 3 F 1 . F 2 . F 3 . Propagação dos sinais pi pi pi 2 ( y – s ) δδδδ 3 δδδδ 2 δδδδ 1 Retro-propagação das sensibilidades pi pi (W 2 ) T (W 3 ) T δδδδ 2 δδδδ 3 IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 13 procedure [W] = backprop(max_it,min_err,α,X,D) for m from 1 to M do, initialize Wm //small random values initialize bm //small random values end for t ← 1 while t < max_it & MSE > min_err do, for i from 1 to N do, //for each training pattern //forward propagation of the functional signal y0 ← xi yim + 1 ← fm + 1 (Wm + 1yim + bm + 1), m = 0, 1, …, M – 1, //backpropagation of sensitivities ))((2 iiMiMMi yduFδ −−← & 11))(( ++← miTmmimmi δWuFδ & , m = M – 1, …,2,1, //update weights and biases Tm i m i mm )(α 1−−← yδWW , m = 1, …, M , m i mm δbb α−← , m = 1, …, M , Ei ← eiTei = (di − yi)T (di − yi) //calculate the error for pattern i end for MSE ← (1/N).sum(Ei) //MSE t ← t + 1 end while end procedure IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 14 2.1 Capacidade de Aproximação Universal • Uma arquitetura do tipo MLP pode ser vista como uma ferramenta prática geral para fazer um mapeamento não-linear de entrada-saída. • Especificamente, seja m o número de entradas da rede e o o número de saídas. A relação entrada-saída da rede define um mapeamento de um espaço euclidiano de entrada m-dimensional para um espaço euclidiano de saída o-dimensional, que é infinitamente continuamente diferenciável. • CYBENKO (1989) foi o primeiro pesquisador a demonstrar rigorosamente que uma rede MLP com uma única camada intermediária é suficiente para aproximar uniformemente qualquer função contínua que encaixe em um hipercubo unitário. • O teorema da aproximação universal aplicável a redes MLP é descrito abaixo: IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 15 • Teorema: Seja f(.) uma função contínua não-constante, limitada, e monotonicamente crescente. Seja Im um hipercubo unitário m-dimensional (0,1)m. O espaço das funções contínuas em Im é denominado C(Im). Então, dada qualquer função g ∈ C(Im) e ε > 0, existe um inteiro M e conjuntos de constantes reais αi e wij, onde i = 1, …, M e j = 1, …, m, tais que pode-se definir ∑ ∑ = = −= M i i m j jijim wxwfxxxF 1 0 1 21 α),...,,( como uma aproximação da função g(.) tal que, ε<− ),...,,(),...,,( 2121 mm xxxgxxxF Para todo {x1,…, xm} ∈ Im. • Este teorema é diretamente aplicável aos perceptrons de múltiplas camadas: o Percebemos que a função logística (ou a tangente hiperbólica) utilizada como não-linearidade de um neurônio é contínua, não-constante, limitada e monotonicamente crescente, o que satisfaz as condições impostas à função f(.). IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 16 o Verificamos também que a equação para a função F(⋅) representa as saídas de uma rede MLP descrita como segue: � a rede possui m nós de entrada e uma única camada intermediária com M unidades; o conjunto de entradas é {x1,…, xm} � o neurônio intermediário i possui pesos wi1, …, wim e limiar w0i � a saída da rede é uma combinação linear das saídas das unidades intermediárias, com α1, …, αM definindo os coeficientes dessa combinação. • O teorema afirma que um perceptron de múltiplas camadas com uma única camada intermediária é capaz de realizar uma aproximação uniforme, dado um conjunto de treinamento suficientemente significativo para representar a função. • Note que este teorema é um teorema de existência. Nada garante que um MLP com uma única camada seja ótimo no sentido de tempo de processamento, facilidade de implementação e eficiência na representação. IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 17 1 xl1 xlm + f w2m w21 w02 + f wMmwM1 w0 + f w1m w11 w01 + αM α2 α1 Fl 1 1 α0 1 IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 18 3. Aspectos Práticos do Treinamento de Redes MLP 3.1 Treinamento Local ou em Lote • Em aplicações práticas do algoritmo de retro-propagação, o aprendizado é resultado de apresentações repetidas de todas as amostras do conjunto de treinamento ao MLP. • Cada apresentação de todo o conjunto de treinamento durante o processo de aprendizagem é chamada de época. • O processo de aprendizagem é repetido época após época, até que um determinado critério de parada seja atingido (próxima seção). • É uma boa prática fazer com que a ordem de apresentação das amostras seja feita aleatoriamente de uma época para a outra. Esta aleatoriedade tende a fazer com que a busca no espaço de pesos tenha um caráter estocástico ao longo dos ciclos de treinamento. IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 19 • Para um dado conjunto de treinamento, a atualização dos pesos pode ser feita de duas maneiras básicas: o Atualização local: neste método, a atualização dos pesos é feita imediatamente após a apresentação de cada amostra de treinamento. Especificamente, considere uma época consistindo de N padrões de treinamento arbitrariamente ordenados ( ) ( ){ }NN sxsx ,,...,, 11 . A primeira amostra ( )11, sx da época é apresentada à rede, e são efetuados o passo positivo e a retro-propagação do erro, resultando em um ajuste dos pesos das conexões. Em seguida, a próxima amostra ( )22 ,sx é apresentada à rede e o passo positivo e a retro-propagação do erro são efetuados, resultando em mais um ajuste do conjunto de pesos. Este processo é repetido até que a última amostra seja apresentada à rede. Este método também é conhecido como método de atualização online ou padrão a padrão. o Atualização em lote: no método em lote, a atualização dos pesos só é feita após a apresentação de todas as amostras de treinamento que constituem uma época. IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 20 O ajuste relativo a cada padrão é acumulado (somado). Este método também é conhecido como método de atualização offline ou batch. • Do ponto de vista operacional, o método local de treinamento é preferível, pois requer um menor armazenamento local para cada conexão. • O caráter “mais marcadamente estocástico” da atualização padrão por padrão pode reduzir a possibilidade de o algoritmo ficar preso em um mínimo local. • Por outro lado, a utilização do método em lote fornece uma estimativa mais precisa do vetor gradiente. • Numa análise final, entretanto, a eficiência dos dois métodos depende do problema a ser tratado (HAYKIN, 1994). 3.2 Critérios de Parada • O processo de minimização do MSE (ou da função custo), em geral, não tem convergência garantida e não possui um critério de parada bem definido. IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 21 • Um critério de parada não recomendável, por não levar em conta o estado do processo iterativo de treinamento, é interromper o treinamento após um número fixo (definido previamente) de iterações. • Serão discutidos aqui critérios de parada que levam em conta alguma informação a respeito do estado do processo iterativo, cada qual com seu mérito prático. • Para formular tal critério, deve-se considerar a possibilidade de existência de mínimos locais. • Seja θ* o vetor de parâmetros (pesos) que denota um ponto de mínimo, seja ele local ou global. • Uma condição necessária para que θ* seja um mínimo é que o vetor gradiente )θ(∇ℑ (ou seja, a derivada parcial de primeira ordem) da superfície de erro em relação ao vetor de pesos θ seja zero em θ = θ*. • Sendo assim, é possível formular critérios de convergência (ou parada) como o seguinte: IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 22 o é considerado que o algoritmo de retro-propagação convergiu quando a norma Euclidiana da estimativa do vetor gradiente (|| )θ(∇ℑ ||) atingiu um valor suficientemente pequeno. Obs.: o problema deste critério de parada é que, para simulações bem sucedidas, o tempo de treinamento pode ser muito longo. Este critério também requer o cálculo da norma do vetor gradiente. O Tópico 9 fará um estudo sobre técnicas de aceleração da convergência deste algoritmo. o é considerado que o algoritmo de retro-propagação convergiu quando a variação do erro quadrático de uma época para a outra atingir um valor suficientemente pequeno. Obs.: esse critério é proposto devido a uma outra propriedade única de um mínimo: o fato de que a função custo, ou medida de erro, ℑmed(θ) é estacionária no ponto θ = θ*. IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 23 o é considerado que o algoritmo de retro-propagação convergiu quando o erro quadrático médio atingir um valor suficientemente pequeno, ou seja, ℑmed(θ) ≤ ε, onde ε é um valor suficientemente pequeno. Obs.: este critério é uma variação do critério anterior. • Se o critério de parada é, por exemplo, um valor mínimo para o MSE, então não podemos garantir que o algoritmo será capaz de atingir o valor desejado. • Por outro lado, ao tomarmos como critério de parada um valor mínimo para a norma do vetor gradiente, devemos estar conscientes de que o algoritmo, provavelmente, irá produzir como resultado o mínimo local mais próximo da condição inicial. • Atualmente existe uma grande quantidade de pesquisadores procurando funções de erro (custo) alternativas, com o objetivo de melhorar as características de convergência dos perceptrons de múltiplas camadas. IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 24 • Um exemplo disso é a função de custo chamada de entropia cruzada (cross- entropy) (SHEPHERD, 1997), dada por: ( ) ( )[ ],1ln 1 1 1 ,, ,,∑∑ = = − −−=ℑ N n S i sM ni sM ni m nini yy onde N é o número de amostras, M é o número de camadas, Sm é a dimensão de cada camada e y são as saídas da rede. • Outro critério de parada bastante útil, e geralmente utilizado em conjunto com algum dos critérios anteriores, é a avaliação da capacidade de generalização da rede após cada época de treinamento. O processo de treinamento é interrompido antes que a capacidade de generalização da rede seja deteriorada. 3.3 Arquitetura da Rede • A quantidade de neurônios na camada de entrada da rede é geralmente dada pelo problema ser abordado. IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 25 • Entretanto, a quantidade de neurônios nas camadas intermediárias e de saída são características de projeto. • Aumentando-se a quantidade de neurônios na camada intermediária, aumenta-se a capacidade de mapeamento não-linear da rede MLP. • Porém, é preciso tomar cuidado para que o modelo não se sobre-ajuste aos dados, pois então surge a possibilidade de que a rede esteja sujeita ao chamado sobre- treinamento (overfitting). • Uma rede com poucos neurônios na camada intermediária pode não ser capaz de aproximar o mapeamento desejado, o que causa underfitting.IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 26 -3 -2 -1 0 1 2 3 -1.0 -0.8 -0.6 -0.4 -0.2 0.0 0.2 0.4 0.6 0.8 1.0 -3 -2 -1 0 1 2 3 -1.0 -0.8 -0.6 -0.4 -0.2 0.0 0.2 0.4 0.6 0.8 1.0 -3 -2 -1 0 1 2 3 -1.0 -0.8 -0.6 -0.4 -0.2 0.0 0.2 0.4 0.6 0.8 1.0 -3 -2 -1 0 1 2 3 -1.0 -0.8 -0.6 -0.4 -0.2 0.0 0.2 0.4 0.6 0.8 1.0 IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 27 • O underfitting também pode ser causado caso o treinamento seja interrompido prematuramente. 3.4 Normalização dos Dados de Entrada • Uma das características importantes de uma função sigmoidal é a presença de saturação para valores muito grandes de seu argumento. • Por esse motivo, é importante fazer com que os valores dos atributos dos dados de entrada estejam contidos em um intervalo pré-definido, por exemplo, [0,1] ou [−1,1]. 3.5 Inicialização dos Vetores de Pesos e Limiares (Bias) • A qualidade e a eficiência do aprendizado supervisionado em redes multicamadas dependem fortemente da especificação da arquitetura da rede, da função de ativação dos neurônios, da regra de aprendizagem e dos valores iniciais do vetor de parâmetros (pesos). IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 28 • Valores ótimos destes itens são desconhecidos a priori, pois dependem principalmente do conjunto de treinamento e da natureza da solução (THIMM & FIESLER, 1997). • Assumimos aqui que a arquitetura da rede, as funções de ativação dos neurônios e a regra de aprendizado já tenham sido determinadas adequadamente, embora não necessariamente de maneira ótima. Sob essas considerações, um processo de treinamento bem sucedido passa a depender somente de uma definição do conjunto inicial de pesos que guie o processo de treinamento para uma solução satisfatória, fora de mínimos locais pobres e problemas de instabilidade numérica. • Logo, o conjunto inicial de pesos a ser utilizado no treinamento supervisionado de redes multicamadas possui grande influência na velocidade do aprendizado e na qualidade da solução obtida após a convergência. • Uma escolha inicial inadequada para os valores dos pesos pode fazer com que o treinamento não conduza a modelos de aproximação satisfatórios (mesmo que o IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 29 processo de otimização seja bem-sucedido) ou apresente problemas numéricos que, de outro modo, poderiam ser evitados. • Atualmente, existem várias técnicas propostas no sentido de definir adequadamente o conjunto de pesos iniciais. • A importância de uma boa escolha do conjunto de pesos iniciais é enfatizada por KOLEN & POLLAK (1990). Eles mostraram que uma busca global pelo conjunto ótimo de pesos não é factível. Assim, por motivações práticas, a regra de aprendizagem deve ser baseada em técnicas de otimização com busca local. • Por outro lado, a busca local implica que a solução a ser obtida está fortemente relacionada à condição inicial, pois cada condição inicial pertence à base de atração de um mínimo local particular, o qual atrairá a solução (HERTZ et al., 1991). • Conseqüentemente, apenas mínimos locais podem ser produzidos, na prática, como resultados de um processo de treinamento supervisionado bem-sucedido. Se IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 30 este mínimo for o mínimo global, ou um bom mínimo local da superfície de erro, então a rede neural estará em, ou próxima de, seu limite de desempenho. Caso contrário, quanto pior for o mínimo local, pior o desempenho da rede treinada. • Diversas estratégias de inicialização dos pesos já foram sugeridas. Os métodos mais simples baseiam-se em uma distribuição uniforme aleatória (KOLEN & POLLAK 1990), representando a ausência total de conhecimento sobre o conjunto amostral. • Há abordagens mais sólidas, como os dois paradigmas alternativos para busca do melhor conjunto inicial de pesos via treinamento supervisionado que exporemos a seguir: • Paradigma do caminho mais fácil: não é tão comum na literatura. A idéia básica é fornecer uma condição inicial não necessariamente próxima da solução ótima, mas que seja tal que o processo de treinamento possa, a partir da condição inicial, evoluir mais rapidamente (em média) e mais eficientemente. A estratégia mais IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 31 simples é definir automaticamente um intervalo de inicialização para os pesos e utilizar uma distribuição uniforme neste intervalo. • Paradigma do caminho mais curto: é a abordagem geralmente empregada na literatura. A idéia básica é fornecer uma condição inicial tão próxima quanto possível da solução ótima, ainda desconhecida. A idéia intuitiva desta abordagem é que, quanto mais próxima da solução ótima estiver a condição inicial, menor será a probabilidade de existência de mínimos locais no caminho até esta solução, e mais eficiente se tornaria o processo de treinamento. Duas estratégias podem ser consideradas: extração de conhecimento do conjunto de treinamento com o objetivo de descobrir peculiaridades da superfície de otimização (baseado em aspectos teóricos), ou exploração da superfície de otimização para aumentar as chances de se encontrar uma região promissora na busca pelo ótimo (baseada em aspectos heurísticos). IA353 – Profs. Fernando J. Von Zuben & Romis R. F. Attux DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp Tópico 5: Perceptron de Múltiplas Camadas 32 • O paradigma do caminho mais fácil geralmente ignora o conjunto de treinamento na tentativa de definir um bom intervalo de valores para os pesos. Como conseqüência, o caminho entre a condição inicial e a solução ótima, embora fácil de ser percorrido, pode ser muito longo. • Por outro lado, o paradigma do caminho mais curto considera todo o conjunto de treinamento, mas geralmente ignora as conseqüências da combinação 〈dados de entrada-saída〉 + 〈pesos〉 no processamento de sinais da rede neural. Como conseqüência, o caminho entre a condição inicial e a solução ótima, embora curto, pode ser muito difícil de ser percorrido. • Exemplos destes paradigmas e pontos de partida para uma pesquisa mais avançada envolvendo técnicas para geração de condições iniciais podem ser encontrados em: NGUYEN & WIDROW (1990), KIM & RA (1991), LEHTOKANGAS et al. (1995) e DE CASTRO, L.N. & VON ZUBEN (1998).
Compartilhar