• Nenhum resultado encontrado

As redes neuronais tentam modelizar directamente as funções biológicas do cérebro hu- mano. Isto leva à idealização dos neurónios como unidades discretas de processamento distribuído. As conexões locais ou globais de vários neurónios dentro de uma rede dão a estas estruturas a capacidade de assimilar, aprender, prever e/ou tomar decisões.

O primeiro modelo de rede neuronal foi descrito na década de 40 do século XX por W. S. McCulloch e W. Pits e o primeiro algoritmo de treino foi desenvolvido, cerca de quinze anos mais tarde, por Hoff e B. Widrow [WH60].

A principal, e mais importante, característica das redes neuronais é a capacidade que estas estruturas têm de se ajustar ao sistema em causa através de um conjunto de exemplos (pares de dados de entradas e saídas). As redes neuronais modificam a sua estrutura interna, os pesos das conexões entre os seus neurónios artificiais, com o objectivo de mapear as relações existentes entre as entradas e saídas de um dado sistema.

As redes neuronais artificiais são estruturas constituídas por vários neurónios, defini- dos por funções matemáticas não lineares pesadas, colocadas em camadas, interligadas entre si. Tipicamente, as redes neuronais artificiais possuem vários neurónios ligados em série e em paralelo em que o fluxo da informação segue da entrada para a saída. Este tipo de rede neuronal artificial é chamado Feedforward Multilayer Neural Network (FMNN), ou seja, rede neuronal directa multi-camada.

3.3.1

Rede Neuronal Multi-Camada

As redes neuronais artificiais multi-camada são estruturas com várias camadas interliga- das através de pesos, camadas essas que possuem elementos simples de processamento chamados neurónios. A informação relevante relativa ao mapeamento da entrada e saída fica armazenada nesses pesos.

Para efeitos ilustrativos, considere-se a FMNN, apresentada na figura 3.4, com p entradas, n saídas e com uma camada escondida.

wa 11 x1 x2 xp Camada de entrada Camada escondida Camada de saída wa pm wo 11 wo mn v1 vm y1 yn .. . ... ˆ ˆ

Figura 3.4: Rede neuronal artificial com uma camada escondida (p entradas, n saídas e m neurónios na camada escondida).

A camada de entrada não efectua qualquer operação, distribuindo apenas as entra- das xi para os pesos wija da camada escondida. Em cada neurónio da camada escondida

a soma pesada das entradas é calculada, como definido na equação 3.12: zj =

p

X

i=1

waijxi = (waj)Tx, j = 1..m (3.12)

em que a e o referem-se aos pesos da camada escondida e de saída, respectivamente, e i e j referem-se aos pesos relativos às entradas/saídas e ao respectivo neurónio da camada escondida.

O resultado anterior é passado por uma função de activação não linear como a função tangente hiperbólica definida na equação 3.13:

vj =

1− e(−2zj)

1 + e(−2zj), j = 1..m (3.13)

Finalmente, os neurónios da camada de saída têm uma função de activação linear, calculando a soma pesada das suas entradas, como definido na equação 3.14, obtendo-se

a saída do sistema: b yl= a X i=1 wajlvl= (waj) Tv, l = 1..n (3.14)

O treino destas estruturas consiste na adaptação dos pesos da rede de forma a minimizar o erro entre a saída da rede e a saída do sistema. Este procedimento é realizado em duas fases. Primeiro, calcula-se a saída da rede, calculando as saídas dos neurónios camada após camada até atingir a saída. Em segundo, faz-se a adaptação dos pesos, calculando as derivadas parciais entre a saída desejada e a saída da rede (erro), propagando-as para as camadas internas da rede de forma a ajustar os respectivos pesos. Esta propagação é realizada da saída para a entrada. As derivadas parciais erro são propagadas para a camada de saída, de seguida para a camada anterior até atingir a (primeira) camada escondida de modo ajustar todos os pesos da rede. Esta técnica de propagação do erro é conhecida por retropropagação do erro.

A utilização de FMNN com uma camada escondida é suficiente para a modelização da maioria dos sistemas [BV03]. Um maior número de camadas pode fornecer um menor erro de modelização; em contrapartida, aumenta a complexidade da rede e o seu número de parâmetros. A escolha do número de neurónios da camada escondida é essencial para a criação de modelos com baixo erro de modelização. Poucos neurónios implicam um elevado erro de modelização, muitos neurónios resultam numa rede com muitos pesos, potenciando uma fraca capacidade de generalização. Um compromisso entre estas duas situações deve ser levado em consideração na construção de uma FMNN.

3.3.2

Método de Retropropagação do Erro

Para maior simplicidade na explicação do método da retropropagação do erro, considera- se uma FMNN com p entradas e uma saída e um conjunto de N pares de dados entrada e saída {X, y}, definidos na equação 3.15:

X= [x1, ..., xN] ; y=[y1, ..., yN]T (3.15)

em que X ∈ RN×pé um vector linha que contem as p entradas xke y ∈ RNé um vector

coluna que contem as saídas desejadas yk com k = 1..N.

Chamando e à diferença entre a saída desejada y e a saída da rede y, o ajuste dosb pesos da rede é conseguido minimizando a função de custo definida na equação 3.16:

J = 1 2 N X k=1 e2k com ek = yk− byk (3.16)

De notar que a saída da rede é uma função não linear relativamente aos seus pesos w. Assim, o treino de uma FMNN é um problema de optimização não linear para o qual vários métodos baseados na retropropagação do erro podem ser aplicados:

• Método de Newton (gradiente de segunda ordem);

• Método de Levenberg-Marquard (gradiente de segunda ordem).

Os métodos que utilizam o gradiente de primeira ordem baseiam-se na regra de actualização dos pesos definida na equação 3.17:

w(n + 1) = w(n)−λ(n)∇J(w(n)) (3.17)

em que w(n) é o vector dos pesos na iteração n, λ(n) é o factor de aprendizagem e ∇J(w(n)) é o Jacobiano da FMNN definido na equação 3.18:

∇J(w(n)) = · ∂J(w) ∂w1 ,∂J(w) ∂w2 , ...,∂J(w) ∂wM ¸T (3.18) O problema da optimização não linear é resolvido usando o primeiro termo da expansão de J(w) em série de Taylor:

J(w) ≈ J(w0) +∇J(w0)T(w− w0) +

1

2(w− w0)H(w0)(w− w0) (3.19) Os algoritmos de aprendizagem que utilizam o gradiente de segunda ordem são mais eficientes do que os que utilizam o gradiente de primeira ordem, uma vez que esta abordagem aumenta a velocidade de convergência do algoritmo de aprendizagem.

Os métodos que utilizam o gradiente de segunda ordem, além do primeiro termo, utilizam também o segundo termo da expansão de J(w) em série de Taylor, equação 3.19, em que H(w0) é a matriz Hessiana que contém as derivadas de segunda ordem

de J relativamente aos vários pesos.

3.3.3

Comentários

As redes neuronais artificiais permitem aproximar qualquer sistema através de um conjunto de neurónios dispostos em camadas interligadas por pesos, cuja identificação é efectuada à custa de um conjunto de dados de entrada e saída do sistema.

A interpretabilidade destas estruturas é, praticamente nula, uma vez que a infor- mação sobre o sistema está armazenada de forma distribuída. Este facto faz com que este tipo de modelos seja classificado como modelos do tipo caixa negra.

As vantagens mais importantes das redes neuronais são: • a capacidade de aprendizagem;

• a capacidade de generalização: responde correctamente a novos casos desde que esses sejam semelhantes aos casos aprendidos;

• a robustez em relação a perturbações. As desvantagens mais importantes são:

• a ausência de interpretabilidade dos modelos criados;

• a dificuldade em definir a respectiva estrutura interna (número de camadas e número de neurónios).