Durante séculos, a abordagem científica para compreensão de processos físicos consistiu principalmente na construção de um modelo matemático de processo, resolvendo as equações do movimento e interpretando o comportamento do processo em termos destas soluções. Os próprios modelos matemáticos são expressões de leis físicas que são geralmente escritas como equações diferenciais. Estas leis podem ser usadas para descrever o comportamento do processo, tendo em conta as condições iniciais. A tentativa de compreender a natureza descrevendo-a em termos matemáticos tem sido incrivelmente bem sucedida. Os gigantes do assunto como Newton, Maxwell e Dirac, encapsularam verdades fundamentais nas equações que levam seus nomes. Não só podem ser descritos os fenômenos conhecidos, mas também os surpreendentes e inesperados efeitos podem ser previstos, tais como a previsão de Hamilton da Refração Cônica ou a previsão de Einstein da curvatura de um feixe de luz que passa a de um corpo muito grande.
As redes neurais têm aplicações em diversas áreas onde os padrões precisam ser extraídos a partir de dados históricos, incluindo a previsão financeira, o reconhecimento de voz e o controle de processos. Uma aplicação comum é olhar para o padrão de retornos de um anúncio de marketing e usar isso para direcionar mais anúncios. Outra é em reconhecimento de escrita, onde se pode escrever em um caderno e a escrita será traduzida em texto ASCII. Há também um campo em desenvolvimento chamado Neurociência Computacional, que toma a inspiração de ambas as redes neurais artificiais e neurofisiológicas e tenta juntá-las.
Vamos aos conceitos
A definição mais simples de uma rede neural, mais propriamente chamada de rede neural “artificial” (RNA), é provida pelo inventor de um dos primeiros neurocomputadores, Dr. Robert Hecht-Nielsen. Ele define uma rede neural como:
“… um sistema de computação composto por um número de elementos de processamento simples, altamente interligados, que processam informação pelo seu estado dinâmico de resposta à entradas (inputs) externos.” – Em “Neural Network Primer: Part I”, por Maureen Caudill, AI Expert, Fev. 1989
RNAs são dispositivos de processamento (algoritmos ou hardware real) que são vagamente modelados após a estrutura neuronal do córtex cerebral dos mamíferos mas em escala muito menor. Um grande RNA pode ter centenas ou milhares de unidades de processamento, ao passo que um cérebro de um mamífero tem bilhões de neurônios com um correspondente aumento na sua interação geral e comportamento emergente. Embora os pesquisadores de RNA geralmente não estejam preocupados com o fato de suas redes se assemelharem com precisão a sistemas biológicos, alguns têm. Por exemplo, alguns pesquisadores têm simulado com precisão a função da retina do olho e modelado incrivelmente bem.
Embora a matemática envolvida com as redes neurais não seja uma questão trivial, um usuário pode muito facilmente conseguir pelo menos uma compreensão operacional da sua estrutura e função.
Para entender melhor a computação neural artificial é importante saber primeiro como um computador “serial” convencional e seu software processam a informação. Um computador de série tem um processador central que pode tratar uma variedade de locais de memória onde os dados e instruções são armazenados. Os cálculos são feitos pelo processador lendo uma instrução bem como quaisquer dados que a instrução requeira dos endereços de memória. A instrução é então executada e os resultados são guardados numa localização de memória específica, conforme necessário. Em um sistema de série (e um paralelo padrão também) os passos computacionais são deterministas, sequenciais e lógicos, e o estado de uma determinada variável pode ser monitorado a partir de uma operação para outra.
Em comparação, RNAs não são sequenciais ou necessariamente deterministas. Não existem processadores centrais complexos, mas sim, muitos processadores centrais simples que geralmente não fazem nada além de tirar a soma ponderada de seus inputs de outros processadores. RNAs não executam instruções programadas; eles respondem em paralelo (ou simulado ou real) para o padrão de entradas que lhe são apresentados. Também não há endereços de memória separados para armazenamento de dados. Em vez disso, a informação está contida no “estado” de ativação global da rede. “Conhecimento” é, portanto, representado pela própria rede, que é literalmente mais do que a soma dos seus componentes individuais.
As redes neurais são aproximadores universais, e elas funcionam melhor se o sistema que você estiver usando para modelá-las tem uma alta tolerância ao erro. Seria, então, não aconselhado usar uma rede neural para equilibrar um talão de cheques! No entanto, eles funcionam muito bem em:
- capturar associações ou descobrir regularidades dentro de um conjunto de padrões;
- onde o volume, o número de variáveis ou diversidade dos dados é muito grande;
- as relações entre as variáveis são vagamente entendidas; ou,
- as relações são difíceis de descrever adequadamente com as abordagens convencionais.
Dependendo da natureza da aplicação e a força dos padrões de dados internos é bem possível que uma rede se forme muito bem. Isto aplica-se aos problemas onde as relações podem ser bastante dinâmicas ou não lineares. RNAs fornecem uma alternativa analítica para técnicas convencionais que são muitas vezes limitadas pelos pressupostos rigorosos de normalidade, linearidade, independência variável, etc. Porque uma RNA pode capturar muitos tipos de relacionamentos, é permitido que o usuário, de forma rápida e relativamente fácil, modele fenômenos que antes podem ter sido muito difíceis ou impossíveis de se explicar.
Logo, podemos concluir que essa nova técnica computacional pode muito revolucionar diversos campos da ciência, e por seu desenvolvimento contínuo, podemos dizer que isso não está muito longe de acontecer.