Redes Neuronais: diferenças entre revisões

Fonte: aprendis
Saltar para a navegaçãoSaltar para a pesquisa
Sem resumo de edição
Sem resumo de edição
 
(Há 43 edições intermédias do mesmo utilizador que não estão a ser apresentadas)
Linha 1: Linha 1:
{{Conceitos
|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 ==
 
<p>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="ref1">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> </p>
 
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 <ref name="ref2">J. G. Brookshear (2011), Computer science: An overview.</ref>
 
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 <ref name=ref2 />
 
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).
 
[[Ficheiro:Exemplo.jpg]]
 


== Texto do cabeçalho ==
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.  
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 conhecimen-to e aplicar o raciocínio para resolver problemas.[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 huma-na.[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 receção de estímulos e na condução do impulso nervoso. Possuem den-drites 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étricos, 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 contatos sinápticos com mil ou mais neurónios e pode receber até dez mil cone-xões de outros neurónios. Contudo, a sinapse ocorre apenas numa dire-ção. [3]


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 imput (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 imputs. 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 positi-vo (1) ou negativo (0), que produz uma contribuição para um estado excitatório ou inibitório, respetivamente (Fig. 2). [2]
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.<ref name="ref3">R. S. Snell (2001) Clinical neuroanatomy for medical students, Fifth edition. EUA: Lippincott, Williams € Wilkins, Inc.</ref> 
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 imput, 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 imputs, 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 imputs, obtidos através de treino, são aplicados à rede, sendo posterior-mente ajustados os pesos dos diferentes vetores através de pequenos incrementos, para que o desempenho da rede seja o desejado.[2]
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.


2 Exemplo da utilização das redes neuronais artificiais na área médica
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). <ref name=ref2 />
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 aplica-das, 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 aumen-tar 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 fe-tal a nível uterino permitiram descobrir o importante papel que a interleu-cina pró-inflamatória 6 (IL-6), da proteína de ligação ao fator de cresci-mento 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 dire-cionados com o diagnóstico (Fig. 4). E uma taxa de precisão de aproxi-madamente 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]


[[Ficheiro:Rede Neuronal Artificial.png]]


<p>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.</p>


3 Redes neuronais artificiais – Utilização no dia-a-dia
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]
Mas não é apenas na área da medicina que as redes neuroniais assu-mem 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 neuroniais 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 neuroniais 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
Por exemplo no caso do uso no mercado financeiro, em que a capacidade de prever dados e resultados não passou despercebida aos principais agentes do mercado, a poderosa Standard&Poor usa um sistema de redes neuronais artificiais para ajuda na decisão relativa à composição de uma carteira de títulos (“Neural Fair Value 20“).
Também em Portugal o interesse por este tipo de rede tem vindo a aumentar e a ser cada vez mais presente nas empresas entidades nacionais, sendo como referência de tal as seguintes:


• PT – utilização na análise de dados das suas centrais digitais
• CGD – sistemas periciais de avaliação de pedidos de crédito de empresas.
• Sonae – análise data mining dos dados de venda
Mas como é que tudo se conjuga? E de que maneira as redes neuroniais 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 inteli-gência computacional.
== 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 termos de arquitetura poderemos classificar as redes neuronais artifi-ciais como:
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.
• Adaptação por experiência: a partir de uma apresentação su-cessiva de exemplos (padrões, amostras, medidas), ajustam-se os pesos sinápticos da rede. Isso possibilita que a rede apren-da 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 elementa-res.
3.1 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 mode-lamento matemático inspirado no neurônio biológico, resultando assim na primeira ideia de neurônio artificial.
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.
Em 1949 Donald Hebb propôs o primeiro método de treinamento, atra-vés do livro “The Organization of Behavior”, (A organização do compor-tamento 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 consti-tuí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 interes-sar pelo assunto, e nessa época surgiram estudos e publicações de redes com mais de uma camada. A retomada das pesquisas se deve ao desen-volvimento 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 conhecimen-to, outras novas contribuições têm permitido alavancar o desenvolvimen-to 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
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.


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 armazenamen-to de informação. O neurônio é dividido em três partes principais: den-dritos, corpo celular e axônio.
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 coletar e combi-nar 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 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.
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étricos 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 respetivo 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.


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.


Agradecimentos
[[Ficheiro:neuronio_artificial.jpg]]
Ao departamento de informática da Faculdade de Ciências da Universidade do Porto por toda a ajuda e disponibilidade para a realização deste trabalho.
Financiamento
Este trabalho foi inteiramente suportado pelos authors.


O desenvolvimento das redes neuronais artificiais teve como principio a estrutura e funcionamento do sistema nervoso humano de forma a que se pudesse ter uma proximidade de simular a capacidade de aprendizagem do nosso cérebro na realização de tarefas que podem ser consideradas simples tais como pegar num objeto mas que apenas são possíveis devido à complexa estrutura do cérebro humano.
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.


Deve-se a McCulloch e Pitts (1943) o inicio da pesquisa deste tipo de modelos computacionais tendo sido desenvolvido um primeiro modelo matemático denominado de unidades logicas com limiar (LTU em inglês).


Este modelo tem como base o Neurónio Biológico sendo que este é o principal bloco de construção do nosso cérebro conforme ilustrado na figura 2 abaixo.
== Exemplo da utilização das redes neuronais artificiais na área médica ==


[[Image:image05.png|image05.png | center| frame | Figura 2 - Esquema de um neurónio e da forma como o impulso é realizado ao longo do mesmo.]]
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 <ref name="ref4">X. Hu, H. Cammann, H.-A. Meyer, K. Miller, K. Jung, and C. Stephan (2013) “Artificial neural networks and prostate cancer—tools for diagnosis and management,” Nat. Rev. Urol., feb, vol. 10, no. 3, pp. 174–182.</ref> ou da mama<ref name="ref5"> S. Issac Niwas, P. Palanisamy, R. Chibbar, and W. J. Zhang (2012) “An Expert Support System for Breast Cancer Diagnosis using Color Wavelet Features,” J. Med. Syst., Oct, vol. 36, no. 5, pp. 3091–3102.</ref>, da restrição do crescimento fetal <ref name="ref6"> M. E. Street, M. Buscema, A. Smerieri, L. Montanini, and E. Grossi (2013) “Artificial Neural Networks, and Evolutionary Algorithms as a systems biolo-gy approach to a data-base on fetal growth restriction,” Prog. Biophys. Mol. Biol., Dec., vol. 113, no. 3, pp. 433–438.</ref>, da tuberculose <ref name="ref7">O. Er, F. Temurtas, and A. Ç. Tanrıkulu, (2010) “Tuberculosis Dis-ease Diagnosis Using Artificial Neural Networks,” J. Med. Syst., Jun, vol. 34, no. 3, pp. 299–302, </ref>, ou do diagnóstico de retino-patia diabética <ref name="ref8">S. J. J. Kumar and M. Madheswaran, (2012) “An Improved Medical Decision Support System to Identify the Diabetic Retinopathy Using Fundus Images,” J. Med. Syst., Dec., vol. 36, no. 6, pp. 3573–3581.</ref>


Tendo por base este modelo as RNA foram desenvolvidas com o mesmo principio tendo como componentes básicas unidades de processamento simples a que foi dado o nome de neurónios artificiais ilustrado a seguir na figura 3 :
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 . 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. <ref name=ref4 />


[[Image:image08.png|image08.png| center| frame | Figura 3 - Esquema de um neurónio artificial.]]
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. <ref name=ref6 />


As redes neuronais artificiais, consistem em programas únicos de software que imitam a ciência de um neurónio.
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%. <ref name=ref7 />


A conjugação de vários input (dendrites), num determinado centro de processamento (corpo do neurónio).
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.<ref name=ref8 />




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.
== 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.


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, respetivamente .
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.


Uma rede neuronal artificial está, por norma, organizada em camadas, sendo que todos os neurônios de uma determinada camada têm de estar inter-conectados com um neurônio da camada subsequente.
=== Principais aplicações das Redes Neuronais Artificiais ===


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.
# '''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




Uma das principais características das RNA a sua capacidade de aprendizagem e de treino , através de algoritmos desenvolvidos para o efeito, sendo os mesmos elaborados por um conjunto de regras bem definidas que influenciam a forma como deve ser alterado o valor de cada peso.
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.<ref name="ref9">Redes Neurais Artificiais para engenharia e ciências aplicadas – Ivan Nunes da Silva/ Danilo Hernane Spatti/ Rogério Andrade Flauzino  </ref>  <ref name="ref10">CEFAGE – Aplicação das Redes Neuronais Artificiais à Deteção dos Mercados Euronext Mais Rentáveis</ref> <ref name="ref11">Sistemas Inteligentes baseados em Redes Neurais Artificiais aplicados ao Pro-cessamento de Imagens </ref>


Um dos principias algoritmos de treino foi o desenvolvido por (Rumelhar et al, 1986) baseado em gradientes descendentes a que de seu o nome de Back-propagation . Este algoritmo permitiu a massificação da utilização das redes multi camadas já que permitiu o seu treinamento.


===Arquitectura dass redes neuronais artificiais===


O processo de treino no caso especifico deste algoritmo assenta num processo iterativo que constituído por duas etapas ; uma para a frente (forward) e uma par trás (backward) . Na primeira fase cada objeto de entrada é dado a conhecer à rede. O mesmo é recebido por cada um dos neurónios da primeira camada intermediaria sendo ponderado pelo peso associado à conexão de entrada correspondente . Na camada respetiva cada neurônio pertencente à mesma aplica a função de ativação à soma das suas entradas a produz um valor de saída (output) que é utilizado como valor de entrada (input) da camada de neurónios seguinte. Este processo é continuo ate que os neurónios da camada de saída produzem eles mesmos o seu valor de saída. Este valor é então comparado com o valor de com o valor esperado para saída desse neurônio. A diferença entre os valores achados é o erro cometido pela rede para o objeto introduzido na rede.
# '''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.




A equação seguinte indica como é feito o ajuste de pesos de uma rede MLP pelo algoritmo back-propagation
== Exemplo de algoritmo de treino back-propagation ==


[[Image:image04.png|image04.png]]


Exemplo de algoritmo de treino back-propagation
<blockquote style="background-color: whitesmoke;">
<blockquote style="background-color: whitesmoke;">
* Entrada : um conjunto de n objetos de treino
* Entrada : um conjunto de n objetos de treino
Linha 142: Linha 131:
* até erro total <
* até erro total <
</blockquote>
</blockquote>
== Referências ==
<references/>




Conflito de Interesses: Nada a declarar.
--[[Utilizador:Up201501639|Up201501639]] ([[Utilizador Discussão:Up201501639|discussão]]) 18h41min de 16 de abril de 2016 (CEST) Joao Paulo Sabino
Bibliografia

Edição atual desde as 22h34min de 17 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 [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).

Exemplo.jpg


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.[3]

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]

Rede Neuronal Artificial.png

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.

Neuronio artificial.jpg

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 . 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.

Principais aplicações das Redes Neuronais Artificiais

  1. Aplicações climatéricas
  2. Análise de mercado financeiro
  3. Robótica
  4. Identificação de fraude em cartões de crédito
  5. Classificação de dados
  6. Reconhecimento de padrões (linhas de montagem)
  7. Análise de imagens
  8. Identificação de voz
  9. Avaliação de crédito
  10. 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.[9] [10] [11]


Arquitectura dass redes neuronais artificiais

  1. 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.
  2. Capacidade de aprendizagem: através de método de treino, a rede consegue relacionar as variáveis que constituem o proces-so.
  3. Habilidade de generalização: após o treino, a rede consegue generalizar o conhecimento, estimando soluções até então desconhecidas.
  4. Tolerância a falhas: como possui várias interconexões, torna-se tolerante a falha.
  5. 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.


Exemplo de algoritmo de treino back-propagation

  • Entrada : um conjunto de n objetos de treino
  • Saída : Rede MPL com valores de pesos ajustados
  • inicializar pesos da rede com valores aleatórios
  • inicializar erro total=0
  • repita
    • para cada objeto xi do conjunto faça
      • para cada camada de rede , a partir da primeira camada intermediaria.
        • Faça para cada neurónio njl da camada:
          • calcular valor da saída produzida pelo neurónio , f
        • fim
      • fim
      • calcular erro parcial=y-f
      • para cada camada de rede a partir da camada de saída faça:
        • para cada neurónio njl da camada faça
          • ajustar pesos do neurónio utilizando Equação
        • fim
      • fim
      • calcular erro total = erro total + erro parcial
    • fim
  • até erro total <

Referências

  1. 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
  2. 2,0 2,1 2,2 J. G. Brookshear (2011), Computer science: An overview.
  3. R. S. Snell (2001) Clinical neuroanatomy for medical students, Fifth edition. EUA: Lippincott, Williams € Wilkins, Inc.
  4. 4,0 4,1 X. Hu, H. Cammann, H.-A. Meyer, K. Miller, K. Jung, and C. Stephan (2013) “Artificial neural networks and prostate cancer—tools for diagnosis and management,” Nat. Rev. Urol., feb, vol. 10, no. 3, pp. 174–182.
  5. S. Issac Niwas, P. Palanisamy, R. Chibbar, and W. J. Zhang (2012) “An Expert Support System for Breast Cancer Diagnosis using Color Wavelet Features,” J. Med. Syst., Oct, vol. 36, no. 5, pp. 3091–3102.
  6. 6,0 6,1 M. E. Street, M. Buscema, A. Smerieri, L. Montanini, and E. Grossi (2013) “Artificial Neural Networks, and Evolutionary Algorithms as a systems biolo-gy approach to a data-base on fetal growth restriction,” Prog. Biophys. Mol. Biol., Dec., vol. 113, no. 3, pp. 433–438.
  7. 7,0 7,1 O. Er, F. Temurtas, and A. Ç. Tanrıkulu, (2010) “Tuberculosis Dis-ease Diagnosis Using Artificial Neural Networks,” J. Med. Syst., Jun, vol. 34, no. 3, pp. 299–302,
  8. 8,0 8,1 S. J. J. Kumar and M. Madheswaran, (2012) “An Improved Medical Decision Support System to Identify the Diabetic Retinopathy Using Fundus Images,” J. Med. Syst., Dec., vol. 36, no. 6, pp. 3573–3581.
  9. Redes Neurais Artificiais para engenharia e ciências aplicadas – Ivan Nunes da Silva/ Danilo Hernane Spatti/ Rogério Andrade Flauzino
  10. CEFAGE – Aplicação das Redes Neuronais Artificiais à Deteção dos Mercados Euronext Mais Rentáveis
  11. Sistemas Inteligentes baseados em Redes Neurais Artificiais aplicados ao Pro-cessamento de Imagens


--Up201501639 (discussão) 18h41min de 16 de abril de 2016 (CEST) Joao Paulo Sabino