• Nenhum resultado encontrado

3 REDES NEURAIS ARTIFICIAIS

3.4 AS REDES PERCEPTRON MULTI-CAMADAS

De entre os vários tipos de Redes Neurais Artificiais existentes, as redes Perceptron multi-camadas são as redes mais utilizadas, em parte devido à sua facilidade de implementação, e por outra devido à sua simplicidade. Estas redes têm sido utilizadas por uma grande variedade de aplicações; por esses motivos, o modelo MLP foi o escolhido para implementação do modelo neste trabalho. O objetivo desta seção é descrever e explicar, basicamente, o funcionamento das Redes Neurais Artificiais do tipo Perceptron multi-camadas.

3.4.1 O Perceptron

O modelo mais simples de Rede Neural, no qual várias unidades de processamento estão conectadas unicamente a uma unidade de saída através dos pesos sinápticos, é conhecido como Perceptron, de Frank Rosenblatt (1960). A sua estrutura inspira-se nas primeiras etapas de processamento dos sistemas sensoriais (como por exemplo a visão), nos quais a informação vai atravessando sucessivas camadas de neurónios, que realizam o processamento de mais alto nível. Um Perceptron, na sua configuração mais simples, é formado por três camadas de células, como mostra a Figura 3.4.

Células Sensoriais Células de Associação Células de Resposta

Figura 3.4 - Camadas de um Perceptron. Fonte: Smith (1996).

O Perceptron pode utilizar-se tanto como classificador, como para a representação de funções booleanas, pois o seu neurónio de saída é do tipo binário (Brío & Molina, 2001). A importância histórica do Perceptron radica no facto de este ser treinável, pois o algoritmo de aprendizagem do modelo introduzido por Rosenblatt permite determinar automaticamente os pesos sinápticos que classificam um conjunto de padrões a partir de

Redes Neurais Artificiais

classe, de modo que, dado um vector de entrada, o neurónio responde com 0 se não pertence à classe que representa, e com 1 se pertence. É fácil verificar-se, no entanto, que o neurónio do tipo Perceptron somente permite diferenciar entre duas classes linearmente separáveis.

Segundo Braga et al. (2000), apesar de ter causado grande euforia na comunidade científica da época, o Perceptron não teve vida muito longa, já que as duras críticas de Minsky e Papert (1969) à sua capacidade computacional causaram grande impacto sobre as pesquisas em RNAs, levando a um grande desinteresse pela área durante os anos 70 e início dos anos 80. Esta visão pessimista da capacidade do Perceptron e das RNAs de uma maneira geral mudou com as descrições da rede de Hopfield em 1982 e do algoritmo backpropagation em 1986. Foi em consequência destes trabalhos que a área de RNAs ganhou novo impulso, ocorrendo, a partir do final dos anos 80, uma forte expansão no número de trabalhos de aplicação e teóricos envolvendo RNAs e técnicas correlatas.

3.4.2 As Redes Multilayer Perceptron

As redes MLP (Multilayer Perceptron) apresentam um poder computacional muito maior do que aquele apresentado pelas redes sem camadas intermédias. A solução de problemas não-linearmente separáveis passa pelo uso de redes com uma ou mais camadas intermédias, ou escondidas. A rede passa a conter então pelo menos três camadas: a de entrada, a camada intermédia ou escondida, e uma camada de saída. Cada nó na camada de entrada leva para dentro da rede o valor de uma variável independente. Os nós na camada escondida fazem a maioria do trabalho. A camada denomina-se de ‘escondida’ porque os nós apenas contactam com os nós das camadas de entrada e saída, ou seja, elas estão ‘escondidas’ do mundo exterior. Segundo Cybenko (1989), uma rede com uma camada intermédia pode implementar qualquer função contínua. A utilização de duas camadas intermédias permite a aproximação de qualquer função matemática. Deve ser observado que permitir a implementação (aprendizagem) da função não implica, como é o caso da rede Perceptron, a garantia de implementação dessa mesma função. Dependendo da distribuição dos dados a rede pode convergir para um mínimo local ou pode demorar para encontrar a solução desejada. O problema coloca-se então em como treinar estas redes.

Para o treinamento das redes com mais de uma camada foi proposto um método que se baseia no gradiente descendente (Rumelhart et al., 1986). Mas para que este método possa ser utilizado é necessário que a função de activação seja contínua, diferenciável e, de preferência, não decrescente. A função de ativação deve informar os erros cometidos pela rede para as camadas anteriores com a maior precisão possível. A alternativa utilizada para superar os problemas deste tipo de rede é a utilização de funções de ativação do tipo sigmoidal. A função sigmóide é abordada detalhadamente no item 3.6 deste capítulo.

Dougherthy (1995) fez uma revisão sobre as Redes Neurais aplicadas na área de Transportes. Em seu estudo ele salienta a importância da rede multilayer perceptron e afirma que este tipo de rede, juntamente com o algoritmo backpropagation, têm sido os mais utilizados nas pesquisas em Transportes, embora outras topologias também venham sendo utilizadas. Neste trabalho em particular, foi adoptada a rede multilayer perceptron, por ser a mais conhecida e utilizada, além de ter apresentado bons resultados em estudos semelhantes.

3.4.3 Topologia

Uma das maiores dificuldades em se definir a estrutura de uma Rede Neural Artificial é o fiel dimensionamento da sua topologia. Normalmente, o número de camadas e o número de nós em cada camada é definido em função de uma inspecção prévia dos dados e da complexidade do problema. Uma vez definida a topologia inicial, a estrutura final mais adequada para o modelamento é normalmente obtida através de refinamentos sucessivos, que podem levar a um tempo de dimensionamento alto, já que este tem um grande componente empírico (Queiroz, 1999).

O número adequado de nós na camada intermédia, geralmente definido empiricamente, depende fortemente da distribuição dos padrões de treinamento e validação da rede. De entre os vários factores particulares que influenciam este número estão:

• Número de exemplos de treinamento;

• Quantidade de ruído presente nos exemplos;

• Complexidade da função a ser aprendida;

Redes Neurais Artificiais

• Definir o número de unidades, na camada intermédia, em função do número de entradas e saídas. Deve ser observado que este método não pode ser utilizado de forma genérica.

• Utilizar um número de conexões dez vezes menor que o número de exemplos. Este método apenas reduz a incidência de overfitting. Se o número de exemplos for muito maior que o número de conexões, o overfitting é improvável, mas pode ocorrer undefitting (a rede não converge durante o seu treinamento).

Existem problemas que necessitam apenas de uma unidade de entrada e uma unidade de saída, e outros que podem necessitar de milhares de unidades intermédias. O número de unidades intermédias pode também, em alguns casos, crescer exponencialmente com o número de entradas. A solução mais eficiente é aquela onde o número de unidades cresce apenas polinomialmente com o aumento do número de unidades de entrada. Em síntese, nas etapas de ajuste deve-se sempre procurar obter uma topologia de rede que modele com precisão os dados do conjunto de treinamento, mas que também resulte numa aproximação com boa capacidade de generalização.

Documentos relacionados