Redes Neuronais: diferenças entre revisões
Sem resumo de edição |
Sem resumo de edição |
||
Linha 95: | Linha 95: | ||
Facilidade de prototipagem: implementar uma arquitetura neural pode ser facilmente transformada num protótipo de hardware ou software, | Facilidade de prototipagem: implementar uma arquitetura neural pode ser facilmente transformada num protótipo de hardware ou software, | ||
pois após o treinamento, os resultados são, geralmente, obtidos por operações matemáticas elementares. | pois após o treinamento, os resultados são, geralmente, obtidos por operações matemáticas elementares. | ||
== Referências == | |||
<references/> | |||
--[[Utilizador:Up201501639|Up201501639]] ([[Utilizador Discussão:Up201501639|discussão]]) 18h41min de 16 de abril de 2016 (CEST)Joao Paulo Sabino | --[[Utilizador:Up201501639|Up201501639]] ([[Utilizador Discussão:Up201501639|discussão]]) 18h41min de 16 de abril de 2016 (CEST)Joao Paulo Sabino |
Revisão das 17h05min de 16 de abril de 2016
Redes Neuronais | |
---|---|
Sigla | |
Aplicações | Extraçao e Conhecimento de Dados, Tomada de Decisão Clinica, Inteligência Artificial, Decisões Financeiras |
Conceitos relacionados | Sistema de Informação em Saúde, Sistemas Financeiros, Machine Learning |
Introdução
Inteligência artificial é o campo da ciência computacional que procura construir máquinas automáticas, isto é, software e hardware capaz de executar tarefas ou comportamentos que são tipicamente caracterizados como humanos. Por sua vez, a inteligência humana é a capacidade de compreender situações complicadas e de mostrar uma adequada resposta às mesmas, assim como, a capacidade de aprender, adquirir conhecimento e aplicar o raciocínio para resolver problemas <ref name="A. Sheikhtaheri, F. Sadoughi, and Z. Hashemi Dehaghi; (2014) “Developing and Using Expert Systems and Neural Networks in Medicine: A Review on Benefits and Challenges,” J. Med. Syst., Sep., vol. 38, no. 9, p. 110 </ref>
[1]Assim podemos dizer que a inteligência artificial é o desenvolvimento de máquinas que possam desenvolver tarefas de inteligência humana, sem a intervenção humana [2] Os algoritmos tradicionais de computação não conseguem dar res-posta a todas as tarefas de inteligência artificial e novas abordagens são necessárias. É neste sentido que surge as redes neuronais artificiais, que são um modelo de processamento de computador que imita a rede de neurónios de um sistema biológico.[2]
Na biologia, o neurónio é o nome dado à célula nervosa e a todos os seus processos. As células nervosas são excitáveis e especializadas na recepção de estímulos e na condução do impulso nervoso. Possuem dendrites que transportam a informação aferente para o corpo celular do neurónio, o qual irá processar a informação e emitir uma informação eferente através do axónio (Fig. 1).
A transmissão da informação é realizada através de processos químicos ou eléctricos, podendo ser inibitória ou excitatória, dependendo da estrutura do neurónio, da informação vinda do axónio e da conjugação de várias redes axonais.
Assim, a nível cerebral os neurónios encontram-se organizados numa rede neuronal e estão interligados entre si. A sinapse é o local em que dois neurónios, que estão próximos, interagem através de um processo de comunicação interneuronal funcional. A maioria dos neurónios pode formar contactos sinápticos com mil ou mais neurónios e pode receber até dez mil conexões de outros neurónios. Contudo, a sinapse ocorre apenas numa direcção.
As redes neuronais artificiais, consistem em programas únicos de software que imitam a ciência de um neurónio. A conjugação de vários inputs (dendrites), num determinado centro de processamento (corpo do neurónio). Este último tem um determinado threshold, que é valor a partir do qual fica excitado e envia um sinal positivo para o processo seguinte. Este valor pode variar entre os vários centros de processamento. Assim, o output irá depender da multiplicação dos valores e pesos dos múltiplos inputs.
Este conjunto de valores irá dar resultado a um valor final que pode ou não ultrapassar o threshold e desta forma levar a um sinal positivo (1) ou negativo (0), que produz uma contribuição para um estado excitatório ou inibitório, respectivamente (Fig. 2). [2]~
Uma rede axonal neuronal está, por norma, organizada em camadas, sendo que todos os neurónios de uma determinada camada têm de estar interconectados com um neurónio da camada subsequente. Assim, os neurónios da primeira camada terão o nome de neurónios de input, os das camadas intermédias têm a designação de camadas escondidas e os da última camada serão neurónios de output.
As redes neuronais artificiais têm como principal diferença em relação aos programas tradicionais é que não são programadas, mas sim treinadas. Isto significa que processam a informação obtida e atribuem um peso adequado aos vários inputs, através de um processo de treino supervisionado que consiste na repetição de processo. Assim, as redes neuronais artificiais são um processo repetitivo em que conjuntos de inut, obtidos através de treino, são aplicados à rede, sendo posteriormente ajustados os pesos dos diferentes vectores através de pequenos incremento, para que o desempenho da rede seja o desejado.[2]
Breve história das Redes Neuronais Artificiais (RNA)
A primeira publicação relacionada à neura computação é de 1943, através do artigo de McCulloch & Pitts. Os autores realizaram o primeiro modelamento matemático inspirado no neurónio biológico, resultando assim na primeira ideia de neurónio artificial.
Em 1949 Donald Hebb propôs o primeiro método de treinamento, através do livro “The Organization of Behavior”, (A organização do comportamento em tradução livre). Os pesquisadores continuaram a desenvolver técnicas de modelos matemáticos fundamentados no neurónio biológico, gerando várias estruturas e algoritmos de aprendizado. Dentre esses pesquisadores, Frank Rosenblatt ganhou destaque por ter desenvolvido entre 1957 e 1958 o primeiro neuro computador, denominado Mark I – Perceptor, idealizando o modelo básico do Perceptron. Esse modelo despertou interesse devido à capacidade de reconhecer padrões simples.
Em 1969, a publicação de um livro trouxe um revés à área de neuro computação. Os autores demonstravam as limitações das RNA´s constituídas de apenas uma camada, o que as impossibilitava de realizar a classificação correta de padrões para classe não linearmente separáveis.
Apenas no final dos anos 80 é que os pesquisadores voltaram a se interessar pelo assunto, e nessa época surgiram estudos e publicações de redes com mais de uma camada. A retomada das pesquisas se deve ao desenvolvimento de computadores com maior capacidade de processamento, criação de algoritmos mais eficientes e novas descobertas sobre o sistema nervoso biológico (de onde se baseiam as redes neurais). Recentemente, além de inúmeras aplicações práticas em diferentes áreas do conhecimento, outras novas contribuições têm permitido alavancar o desenvolvimento associado às redes neurais.
A célula elementar do sistema nervoso cerebral é o neurónio e seu papel se resume a conduzir impulsos sob determinadas condições de operação. Os neurónios estão conectados uns aos outros através de sinapses, e juntos formam uma grande rede. As sinapses transmitem estímulos através de diferentes concentrações de Na+ (Sódio) e K+ (Potássio), e o resulta-do disto pode ser estendido por todo o corpo humano. Esta grande rede proporciona uma fabulosa capacidade de processamento e armazenamento de informação. O neurónio é dividido em três partes principais: dendritos, corpo celular e axônio.
Os dendritos têm por função receber os estímulos transmitidos pelos outros neurónios. O corpo de neurónio é responsável por colectar e combinar informações vindas de outros neurónios. O axônio é constituído de uma fibra tubular que pode alcançar até alguns metros, e é responsável por transmitir os estímulos para outras células.
O modelo de neurónio artificial mais simples foi proposto em 1943 por McCulloch & Pitts. Nessa representação, cada neurónio da rede pode ser implementado conforme mostra a figura.
Os diversos sinais de entrada advindos do meio externo (aplicação) são espelhados pelo conjunto {x1, x2, …, xn}, que são análogos aos impulsos eléctricos externos captados pelos dendritos no neurónio biológico. As ponderações exercidas pelas junções sinápticas do modelo biológico são representadas no neurónio artificial pelo conjunto de pesos sinápticos {w1, w2, …, w3}. A relevância de cada uma das entradas {xi} do neurónio é então executada através de multiplicações pelo respectivo peso {wi}. Assim, torna-se possível verificar que a saída do corpo celular artificial, denotado por u, é a soma ponderada de suas entradas.
Exemplo da utilização das redes neuronais artificiais na área médica
As redes neuronais artificiais tiveram um aumento da sua utilização nos últimos anos. Na área médica esse aumento é particularmente visível nos algoritmos de tomada de decisão, com especial enfoque no processo de diagnóstico. Existem inúmeros exemplos onde estas redes já são aplicadas, como é o caso do cancro da próstata[4] ou da mama[5], da restrição do crescimento fetal[6], da tuberculose[7], ou do diagnóstico de retino-patia diabética[8].
A nível do cancro da próstata as redes neuronais artificiais têm sido usadas essencialmente para a o diagnóstico e estadiamento da doença. A nível do diagnóstico a eficácia das redes neuronais comparativamente a regressão logística é pouco superior. Contudo, a sua eficácia pode aumentar com a inclusão de novos marcadores ou de padrões ecográficos (Fig.3). No processo de estadiamento do cancro da próstata as redes neuronais têm melhores resultados do que os programas baseados em regressão logística, ou do que tabelas de consulta. Foram desenvolvidos estudos para a sua utilização a nível da avaliação do risco, da escolha do tratamento e da predição de recorrência após o tratamento, porém os resultados não são tão positivos. [4]
Os modelos de redes neuronais sobre a restrição do crescimento fetal a nível uterino permitiram descobrir o importante papel que a interleucina pró-inflamatória 6 (IL-6), da proteína de ligação ao factor de crescimento tipo insulina 2 (IGFBP-2) e do fator de crescimento tipo insulina II (IGF-II) têm no desenvolvimento desta patologia. Com a aplicação das redes neuronais permitiu sugerir-se que a diminuição de IL-6 e IGFBP-2 poderá levar a um aumento da IGF-II e desta forma evitar o surgimento da restrição do crescimento fetal. [6]
Os modelos desenvolvidos para a tuberculose estão por sua vez direcionados com o diagnóstico (Fig. 4). E uma taxa de precisão de aproximadamente 93%. [7] A utilização de redes neuronais na retinopatia diabética permitiu o desenvolvimento e validação do diagnóstico através da análise de várias imagens da retina. Desta forma, o sistema pode ser utilizado como um auxílio na prática clínica, funcionando como um observador secundário que ajuda na árvore de decisão clínica da retinopatia diabética.[8]
Redes neuronais artificiais – Utilização no dia-a-dia
Mas não é apenas na área da medicina que as redes neuroniais assumem um papel importante. Também em muitas das tarefas do nosso dia-a-dia elas estão presentes ajudando empresas e entidades a tomar decisões e análises de uma forma muito mais suportada.
Desde os seus princípios datados de 1943, em que McCulloch & Pitts, demonstraram que as redes neuronais poderiam calcular qualquer função lógica ou aritmética que o seu uso tem sido massificado na nossa sociedade .
Em 1986 é desenvolvido o algoritmo Back–Propagation que ainda hoje é o algoritmo de aprendizagem mais utilizado.
Existem imensas aplicações das redes neuronais artificiais entre as quais destacamos:
Aplicações climatéricas Análise de mercado financeiro Robótica Identificação de fraude em cartões de crédito Classificação de dados Reconhecimento de padrões (linhas de montagem) Análise de imagens Identificação de voz Avaliação de crédito Análise de odor e aromas
Mas como é que tudo se conjuga? E de que maneira as redes neuronais são inteligentes e conseguem aprender e não apenas executar instruções definidas?
Como já anteriormente referido descrito as redes neuronais artificiais não são mais que um sistema que simula o funcionamento e comportamento do cérebro humano através de processos de aprendizagem e experiência. Através de meios de técnicas computacionais, suportados em modelos matemáticos é possível “treinar” uma rede para por exemplo permitir a classificação de padrões. Podem ser definidas como um conjunto de unidades de processamento, caracterizadas por neurónios artificiais interligados por um grande número de interconexões (sinapses artificiais), que são representadas por vetores/matrizes de pesos sinápticos. Estão inseridas dentro da área conhecida como sistemas inteligentes ou inteligência computacional.
Em termos de arquitectura poderemos classificar as redes neuronais artificiais como:
Adaptação por experiência: a partir de uma apresentação sucessiva de exemplos (padrões, amostras, medidas), ajustam-se os pesos sinápticos da rede. Isso possibilita que a rede aprenda por experimentação. Capacidade de aprendizagem: através de método de treino, a rede consegue relacionar as variáveis que constituem o proces-so. Habilidade de generalização: após o treino, a rede consegue generalizar o conhecimento, estimando soluções até então desconhecidas. Tolerância a falhas: como possui várias interconexões, torna-se tolerante a falha. Facilidade de prototipagem: implementar uma arquitetura neural pode ser facilmente transformada num protótipo de hardware ou software, pois após o treinamento, os resultados são, geralmente, obtidos por operações matemáticas elementares.
Referências
--Up201501639 (discussão) 18h41min de 16 de abril de 2016 (CEST)Joao Paulo Sabino