• Nenhum resultado encontrado

1 INTRODUÇÃO

2.5 REDES NEURAIS ARTIFICIAIS

O cérebro é composto por alguns bilhões de neurônios. Neurônios são células formadas por dendritos, corpo e axônio (FERNEDA, 2006), como mostrado de forma simplificada na Figura 2. Estímulos gerados por neurônios vizinhos são captados pelos dendritos e transmitidos ao corpo do neurônio. Quando tais estímulos atingem certo limiar, o corpo envia novo impulso, transmitido pelo axônio às células vizinhas por meio de sinapses. Este processo se repete por várias camadas de neurônios. Assim, informações são processadas de forma que o cérebro gere reações físico- químicas.

Figura 2 - Representação simplificada de um neurônio

A habilidade dos animais realizarem funções complexas como a aprendiza- gem é consequência direta do processamento paralelo e distribuído da rede de neu- rônios do cérebro. Novos conhecimentos ou experiências podem levar a rearranjos das redes de neurônios, reforçando ou inibindo algumas sinapses (HAYKIN, 2001, p. 32-36).

McCulloch e Pitts (1943) foram pioneiros na busca por modelos computacio- nais que simulassem o funcionamento das células do cérebro. Os resultados anima- dores levaram pesquisadores a proporem métodos inovadores de aprendizagem para as Redes Neurais Artificiais (RNA), como o percepton de Rosenblatt (1958), que finalmente Minsky e Pappert (1969) mostraram ter sérias limitações. Porém, du- rante os anos 80, avanços tecnológicos e metodológicos fazem reavivar o entusias- mo pelo tema. A Figura 3 é uma simplificação do modelo de um neurônio artificial (HAYKIN, 2001, p. 36).

Figura 3 - Modelo matemático de um neurônio (FERNEDA, 2006)

Este modelo é composto por três elementos básicos: (i) um conjunto de cone- xões de entrada (x1, x2, ..., xn) associadas a pesos (p1, p2, ..., pn), (ii) um acumulador

da soma ponderada (

= n i i ip x 1

que limita o intervalo permissível de amplitude do sinal de saída (γ) a um valor fixo. Os pesos simulam o comportamento das conexões entre os neurônios. Pesos com valores positivos representam conexões excitatórias enquanto os valores negativos representam conexões inibitórias. O valor resultante da soma ponderada das entra- das é avaliado pela função de ativação, que define a saída do neurônio.

Uma combinação de diversos neurônios resulta numa RNA, modelo que bus- ca simular o processamento de informação dos cérebros. Seus componentes, os neurônios, são unidades de processamento simples que se unem por meio de cone- xões sinápticas. De uma forma simplificada, uma RNA pode ser vista como um grafo onde os nós representam os neurônios e os arcos as sinapses, como exemplificado na Figura 4.

Figura 4 - Exemplo de uma RNA

As RNA podem ser classificadas segundo sua arquitetura e sua forma de a- justar os pesos associados às conexões durante o processo de ajuste dos pesos. A arquitetura de uma RNA restringe o tipo de problema no qual a rede poderá ser utili- zada. Ela é definida pelo número de camadas (camada única ou múltiplas camadas), pelo número de nós em cada camada, pelo tipo de conexão entre os nós (feedfor-

ward ou feedback) e por sua topologia (HAYKIN, 2001, p. 46-49).

Uma das propriedades das RNA é a de se servir de estratégias de ajuste dos pesos de cada uma de suas conexões, processo esse chamado de aprendizagem. Assim, a partir de exemplos e de contra-exemplos, uma RNA aprende e faz inferên- cias sobre o que foi aprendido, possibilitando a melhoria gradativa do seu desempe- nho. (BRAGA; CARVALHO; LUDERMIR, 2000)

O aprendizado das RNA se dá de forma supervisionada ou não-supervisio-

seus padrões de saída correspondentes. Ou seja, é necessário um conhecimento prévio do comportamento que se deseja ou se espera da rede. Compara-se a res- posta fornecida pela RNA com a resposta esperada. Em função do erro verificado, são feitos ajustes buscando a melhoria da suas futuras respostas. (BRAGA; CAR- VALHO; LUDERMIR, 2000)

No aprendizado não-supervisionado, somente os padrões de entrada estão disponíveis para a RNA. A rede as processa e, em função das regularidades encon- tradas, tenta progressivamente estabelecer representações internas para codificar características e classificá-las automaticamente. Este tipo de aprendizado só é pos- sível quando existe redundância nos dados de entrada, para que se consiga encon- trar padrões em tais dados. (BRAGA; CARVALHO; LUDERMIR, 2000)

Denomina-se ciclo ou época uma apresentação de todos os n pares (entrada e saída) do conjunto de treinamento ao processo de aprendizado. A correção dos pesos num ciclo pode ser executada de dois modos (CARVALHO, 2004):

Modo padrão, onde a correção dos pesos acontece a cada apresentação

à rede de um exemplo do conjunto de treinamento. Cada correção de pe- sos baseia-se somente no erro do exemplo apresentado naquela itera- ção. Assim, em cada ciclo ocorrem n correções.

Modo batch, onde apenas uma correção é feita por ciclo. Todos os e- xemplos do conjunto de treinamento são apresentados à rede, seu erro médio é calculado e a partir deste erro fazem-se as correções dos pesos. As RNA podem ser aplicadas na solução de uma grande quantidade de pro- blemas complexos. Citamos abaixo alguns exemplos:

• A sua aplicação em software de reconhecimento de voz, que necessitam aprender a conhecer a voz de determinadas pessoas;

• Na geração de séries temporais;

• Em software de OCR, que é responsável pela tradução de uma imagem para texto onde ele necessita aprender a reconhecer caracteres a partir de uma imagem;

• Em aplicações mais complexas como usinas, mercado financeiro, etc. Um modelo de RNA bastante difundido é a rede Multilayer Perceptron (MLP), utilizada na resolução de problemas de diversas áreas do conhecimento humano, tais como a engenharia, a medicina e a linguística, em função de sua facilidade e

simplicidade de implementação. Braga, Ludemir e Carvalho (2001, p. 72) exemplifi- cam algumas destas implementações: reconhecimento de caracteres, previsão do comportamento de ações na bolsa, verificação de assinaturas, segurança em tran- sações com cartões de crédito e diagnóstico médico.

As redes Perceptron, de apenas uma camada, conseguem resolver apenas problemas linearmente separáveis. Já uma rede MLP com uma camada intermediá- ria é suficiente para aproximar qualquer função contínua, ao passo que duas cama- das intermediárias são suficientes para aproximar qualquer função matemática, con- tínua ou não (CYBENKO, apud BRAGA; LUDEMIR; CARVALHO, 2001, p. 49).

Para Braga, Ludemir e Carvalho (2001, p. 49), uma grande dificuldade surge com o treinamento das RNA, pois pode haver convergência para um mínimo local em função da distribuição dos dados. Para minimizar este problema, a rede MLP deve ser implementada com uma camada intermediária formada por um conjunto de redes Perceptron para cada grupo de entradas linearmente separáveis. Outra solu- ção é treinar toda a rede de uma única vez. Todavia, neste caso, surge um outro problema: como treinar os neurônios da camada intermediária?

Rumelhart (apud BRAGA; LUDEMIR; CARVALHO, 2001, p. 50) propôs na década de 80 um método para resolução deste problema baseado em gradiente descendente, onde a função de ativação precisa ser contínua e diferenciável, para que o gradiente possa ser calculado e direcionar o ajuste dos pesos e, ainda ser, de preferência não decrescente. Esta função deve informar os erros da camada de res- posta às camadas anteriores. A alternativa encontrada foi a utilização da função de ativação do tipo sigmoidal.

Documentos relacionados