# Rede Neural

A rede neural é uma rede ou circuito de neurônios biológicos, ou em um sentido mais moderno, uma rede neural artificial, composta de neurônios artificiais ou nodos. Portanto, uma rede neural pode ser uma rede neural biológica, composta por neurônios biológicos, ou uma rede neural artificial, usada em inteligência artificial (IA). As conexões de neurônios biológicos são representadas nas redes neurais artificiais como pesos entre nodos. Um peso positivo representa uma conexão estimulante enquanto valores negativos representam conexões inibitórias. Finalmente, a função de ativação controla a amplitude de saída. Por exemplo, um intervalo de saída aceitável é normalmente entre 0 e 1, ou poderia ser também entre -1 e 1.
Essas redes neurais artificiais podem ser treinadas por um conjunto de dados e usadas para modelagem preditiva, controle adaptativo e aplicações onde as redes podem ser treinadas através de um conjunto de dados. A autoaprendizagem pela experiência pode acontecer entre as redes, gerando conclusões de um grupo de informações complexo e aparentemente não relacionado ao problema.

## Resumo

A rede neural biológica é composta por grupos quimicamente conectados ou associados funcionalmente a neurônios. Um neurônio pode estar conectado a muitos outros neurônios e o número total de neurônios e conexões em uma rede pode ser extenso. Conexões, chamadas de sinapses, formam-se normalmente por axônios e dendritos, porém sinapse dendro dendrítica e outras conexões são possíveis. outras formas de sinalização também ocorrem por causa da difusão de neurotransmissores .
Inteligência artificial, modelagem cognitiva e redes neurais são paradigmas de processamento de informações, inspirados pelo processo no qual sistemas neurais biológicos processam dados. Inteligência artificial
e modelagem cognitiva tentam simular algumas propriedades das redes neurais biológicas. Na área de inteligência artificial, redes neurais artificiais obtiveram sucesso em reconhecimento de fala, análises de imagens e controle adaptativo com o objetivo de construir agentes de software (em computadores e jogos eletrônicos) ou robôs autônomos.
Historicamente, computadores digitais evoluíram da arquitetura de von Neumann e operam pela execução de instruções explícitas, com o acesso da memória por um número de processadores. Por outro lado, a origem das redes neurais são baseadas no esforço de modelagem de processamento de informação de sistemas biológicos. Diferentemente da arquitetura de von Neumann, a computação das redes neurais não separa a memória e o processamento.
A teoria da rede neural tem servido para melhorar o conhecimento de como os neurônios cerebrais funcionam e, também, providenciar uma base no empenho da criação da inteligência artificial.

## História

A base teórica preliminar de redes neurais contemporâneas foi proposta independentemente por Alexander Bain (1873) e William James (1890). Em seus trabalhos, tanto os pensamentos quanto as atividades corporais ocorrem pela interação doe neurônios com o cérebro.
De acordo Bain, toda atividade levava ao disparo de um determinado conjunto de neurônios. Quando as atividades forem repetidas, as conexões entre esses neurônios se fortalecem. De acordo com a sua teoria, essa repetição foi o que levou à formação da memória. A comunidade científica do período era, em geral, cética em relação à teoria de Bain porque esta requer um número excessivo de conexões neurais no cérebro. Hoje em dia, é aparente que o cérebro é extremamente complexo e que a mesma “fiação” pode lidar com muitos problemas e informações.
A teoria de James era similar à de Bain, porém, ele sugeriu que as memórias e ações eram resultados de correntes elétricas fluindo entre os neurônios e o cérebro. O seu modelo foca no fluir de correntes elétricas e não requer conexões individuais para cada memória ou ação.
CS Sherrington (1898) conduziu experimentos para testar a teoria de James. Ele conduziu correntes elétricas pela medula espinhal de ratos. Porém, ao invés de demonstrar um aumento de corrente elétrica, como James havia projetado, Sherrington descobriu que a força das correntes elétricas diminuíram conforme os experimentos continuavam. Importantemente, esse trabalho levou à descoberta do conceito de habituação .
McCulloch e Pitts (1943) criaram um modelo computacional para redes neurais baseado em matemática e algoritmos chamado de lógica de limiar. Esse modelo abriu caminho para que as pesquisas de redes neurais se dividissem em duas áreas distintas, processos biológicos no cérebro e aplicações de redes neurais em inteligência artificial.
No final de 1940, o psicólogo Donald Hebb criou a hipótese de aprendizagem baseado no mecanismo de plasticidade neural, agora conhecida como aprendizagem Hebbiana . Esta é considerada uma regra típica de aprendizado não supervisionado e suas variações são modelos iniciais da potencialização de longa duração . Essas idéias começaram a ser utilizadas em modelos computacionais em 1948 com o tipo-B de máquinas desorganizadas de Alan Turing .
Farley e Clark (1954) usaram pela primeira vez máquinas computacionais, na época chamadas de calculadoras, pela primeira vez na MIT (Massachussets Institute of Technology - Instituto de Tecnologia de Massachusetts) para simular a rede Hebbian. Outras máquinas computacionais de redes neurais foram criadas por Rochester, Holland, Habit e Duda (1956).
Rosenblatt (1958) criou o perceptron, um algoritmo baseado na aprendizagem de duas camadas de rede de computadores. Este algoritmo reconhece padrões utilizando adição e subtração básica. Rosenblatt também utilizou notações matemáticas para descrever circuitos que não faziam parte do perceptron básico, como o circuito ou exclusivo, um circuito no qual sua computação matemática não pode ser processada até a criação do algoritmo de retropropagação fosse criado por Werbos (1975).
As pesquisas em redes neurais estagnaram depois da publicação de Marvin Minsky e Seymour Papert sobre aprendizado de máquina (1969). Eles descobriram dois problemas Eles descobriram dois problemas chaves com a máquinas computacionais de redes neurais. O primeiro problema estava relacionado com a incapacidade de processamento do circuito ou exclusivo por redes neurais de uma camada. O segundo problema significante foi que os computadores não eram sofisticados o suficiente para, efetivamente, processarem tempo de execução longos, o que era necessário para redes neurais grandes. As pesquisas em redes neurais começaram a aumentar depois que os computadores conseguiram aumentar as suas capacidades de processamento. Vale também mencionar que os avanços nas pesquisas em redes neurais se devem à criação do algoritmo de retropropagação que efetivamente resolveu o problema ou exclusivo (Werbos 1975).
O processamento paralelo da metade de 1980 se tornou popular como conexionismo . O texto de Rumelhart e McClelland (1986) fez uma exposição completa sobre o uso do conexionismo em computadores para simular processos neurais.
As redes neurais usadas em inteligência artificial são tradicionalmente vistas como modelos simples do processo neural no cérebro, apesar de que a relação entre este modelo e a arquitetura biológica cerebral ainda são debatidas. Ainda não está claro até que ponto as redes neurais artificiais espelham a função cerebral.

## Inteligência artificial

A rede neural (RN), no caso de neurônios artificiais chamada de rede neural artificial (RNA) ou rede neural simulada (SNN), é um grupo natural ou artificial de neurônios interconectados que usam modelos matemáticos ou computacionais para processamento de informação baseado no conexionismo para abordar a computação. Na maioria dos casos, a rede neural artificial é um sistema adaptativo que muda sua estrutura baseando-se em informações internas ou externas que fluem por suas redes
Em termos mais práticos, as redes neurais são modelagem de dados estatísticos não lineares ou ferramentas de decisões .Elas podem ser usadas para modelar relações complexas entre entradas e saídas ou para encontrar padrões em dados.
Uma rede neural artificial envolve uma rede de elementos de processamento simples ( neurônios artificiais ) que podem exibir um comportamento global complexo, determinado pelas conexões entre os elementos de processamento e os parâmetros dos elementos. Neurônios artificiais foram propostos pela primeira vez em 1943 por Warren McCulloch, um neurofisiologista, e Walter Pitts, um lógico, que colaboraram pela primeira vez na Universidade de Chicago .
Um tipo clássico de rede neural artificial é a rede neural recorrente de Hopfield.
O conceito de rede neural foi aparentemente proposto por Alan Turing em seu artigo de 1948 Intelligent Machinery (Máquina Inteligentes) de 1948 no qual ele se referiu a eles como, "máquinas não organizadas do tipo-B".
A utilidade da modelagem de redes neurais artificiais reside no fato de que elas podem deduzir uma função a partir de observações e também podem usá-la. Redes neurais não supervisionadas também podem ser usadas para aprenderem as representações das entradas que capturam as características salientes da distribuição de entrada. Para exemplos, leia sobre máquina de Boltzmann (1983) e, mais recentemente, o algoritmo de aprendizado estruturado profundo, o qual pode aprender implicitamente a função de distribuição dos dados observados. O aprendizado em redes neurais é particularmente útil em aplicações onde a complexidade dos dados ou trabalho faz com que a criação manual dessas funções não seja algo prático.

## Aplicações

As redes neurais podem ser utilizadas em áreas diferentes. Os trabalhos nos quais as redes neurais artificiais são aplicadas tendem a cair entre as seguintes categorias amplas:
* Aproximação de funções ouregressão, incluindo série temporal e modelagem.
* Classificação, incluindo padrão e reconhecimento de sequências, detecção de novidades e decisões sequenciais.
* Processamento de dados, incluindo filtragem de dados, agrupamento, separação cega de sinais e compressão.
As áreas de aplicação das RNAs incluem sistema de identificação não linear e controle (controle de veículos e processos), jogos e decisões (gamão, xadrez, jogo de corrida), reconhecimento de padrões (sistemas de radar, identificação facial, reconhecimento de objeto), reconhecimento de sequências. (gestos, fala, reconhecimento de texto escrito ), diagnóstico médico, aplicações financeiras, mineração de dados (ou descoberta de conhecimento em bancos de dados, "KDD"), visualização e filtragem de spam de e-mail . Por exemplo, é possível criar um perfil semântico dos interesses do usuário, emergindo-o de imagens treinadas para reconhecimento de objetos.

## Neurociência

A neurociência teórica e computacional é a área preocupada com a análise e modelagem computacional do sistema neural biológico. Como os sistemas neurais estão intimamente relacionados aos processos cognitivos e comportamentais,
O objetivo da área é criação de modelos de sistemas neurais biológicos para entender como os sistemas biológicos funcionam. Para ganhar esse entendimento, neurocientistas se esforçam em criar uma ligação entre os processos biológicos observados (dados), mecanismos biologicamente e aprendizagem neural (modelagem de rede neurais biológicas ) e teoria (teoria de aprendizagem estatística e teoria da informação ).

### Tipos de modelos

Usam-se vários, que são definidos em níveis diferentes de abstração e modelam aspectos diferentes do sistema neural. Eles variam entre modelos de neurônios individuais com comportamento de curto prazo, modelos da dinâmica do circuito neural que ocorrem pela interação de neurônios individuais e modelos de comportamento que ocorrem por causa dos modelos neurais abstratos, os quais representam subsistemas completos. Entre eles também estão inclusos modelos de plasticidade dos sistemas neurais de longo e curto prazo e suas relações com o aprendizado e memória, começando por um neurônio individual até o nível de sistema.

### Conexão

Em agosto de 2020, cientistas relataram que conexões bidirecionais ou o adicionamento apropriado de conexões de retorno, podem acelerar e promover a comunicação entre redes neurais modulares do córtex cerebral e diminuir o limiar para que tenham uma comunicação bem sucedida. Eles mostraram que adicionar conexões de retorno entre os pares de ressonância pode auxiliar uma propagação bem sucedida de um pacote de pulso singular em toda a rede.

## Crítica

Uma crítica comum de redes neurais, particularmente em robótica, é que estas requerem uma grande diversidade de exemplos de treinamento para sua operação no mundo real. Isto não é uma surpresa, qualquer máquina de aprendizado precisa de exemplos representativos suficientes para capturar a estrutura subjacente e assim generalizar novos casos. Dean Pomerleau, em sua pesquisa publicada no artigo Knowledge-based Training of Artificial Neural Networks for Autonomous Robot Driving (Treinamento Baseado no Conhecimento de Redes Neurais Artificiais para Condução Autônoma de Robôs), usou uma rede neural para treinar um veículo robótico a dirigir vários tipos de estradas (via única, várias vias, estrada, etc). Uma parte grande de sua pesquisa está voltada para (1) extrapolar múltiplos cenários de uma única experiência, (2) e para a preservação de treinamentos do passado, para que o sistema não fique super treinado (se, por exemplo, este for apresentado com uma série de curvas à direita - este não deverá aprender a dobrar sempre à direita). Esses problemas são comuns em redes neurais onde o modelo tem que tomar uma decisão dentre uma variedade enorme de respostas, porém isto pode ser resolvido de muitas maneiras diferentes. Entre elas, por exemplo, o embaralhamento aleatório de exemplos de treinamento, a utilização de um algoritmo numérico de otimização que não precise de muitos passos enquanto faz a troca das conexões das redes, seguindo um exemplo ou pelo agrupamento de exemplos, também chamados de mini-lotes.
AK Dewdney, ex-colunista da Scientific American (revista científica Americana), escreveu em 1997: "Apesar de que redes neurais solucionam alguns problemas em brinquedos, o seu poder computacional é tão limitado que me surpreende qualquer pessoa acreditar que elas podem ser utilizadas como ferramentas para resolver problemas generalizados" (Dewdney, pág. 82).
Os argumentos para a posição de Dewdney incluem a necessidade de dedicar bastante recursos de armazenamento e processamento para que um software de redes neurais grandes seja implementado com eficiência. Enquanto o cérebro já possui hardware adaptado para o trabalho de processar sinais por meio do de um gráfico de neurônios, a simulação na tecnologia de Von Neumann, até mesmo a forma mais simples, poderá fazer com que um desenvolvedor de rede neural encha muitos milhões de linhas de banco de dados para suas conexões – isso pode consumir grandes quantidades de memória e da capacidade de armazenamento de dados em computadores. Além disso, o desenvolvedor de sistemas de redes neurais precisará, com frequência, simular a transmissão de sinais através de muitas destas conexões e os neurônios associados às mesmas - o que geralmente deverá ser combinado com um tamanho incrível de tempo e poder de processamento pela CPU. Ainda que redes neurais produzam programas eficazes com frequência, elas geralmente o fazem com o custo da eficiência (eles tendem a consumir tamanhos consideráveis de tempo e dinheiro).
Argumentos contra a posição de Dewdney incluem o uso com sucesso de redes neurais para solucionar muitos problemas complexos e trabalhos diversos, como aeronaves que voam autonomamente.
O escritor tecnológico Roger Bridgman fez o seguinte comentário sobre as declarações de Dewdney sobre redes neurais:
   Redes neurais, por exemplo, estão no banco dos réus não só porque elas foram intensamente promovidas (O que não foi?), mas também porque você pode criar uma rede com sucesso sem entender como ela funciona: os inúmeros números que capturam o seu comportamento provavelmente seriam "opacos, uma tabela que não se pode ler… sem valor como um recurso científico".
   Apesar de sua declaração enfática de que ciência não é tecnologia, Dewdney parece rotular redes neurais como uma ciência ruim, enquanto a maioria das pessoas que as desenvolvem só estão tentando ser bons engenheiros. Ainda vale muito a pena ter uma tabela que não pode ser lida por pessoas mas que pode ser lida por uma máquina.
Embora analisar o que foi aprendido por uma rede neural seja difícil, a análise do aprendido por uma rede neural biológica acaba sendo mais fácil. Além disso, ênfases recentes na explicabilidade da inteligência artificial têm contribuído ao desenvolvimento de métodos, notavelmente os métodos baseados nos mecanismos de atenção, visualização e explicação de redes neurais que foram aprendidas. Os pesquisadores envolvidos em algoritmos de aprendizado exploratório em redes neurais estão gradualmente descobrindo princípios genéricos que permitem uma máquina de aprendizado a ser bem sucedida. Por exemplo, Bengio e LeCun (2007) escreveram um artigo a respeito de aprendizado local versus não local e também sobre arquitetura superficial versus profunda.
Outras críticas vieram de de pessoas que acreditam em modelos híbridos (combinando redes neurais e abordagens simbólicas ). Elas defendem a mistura dessas duas abordagens e acreditam que modelos híbridos podem capturar melhor os mecanismos da mente humana (Sun e Bookman, 1990).

## Melhorias recentes

Embora pesquisas iniciais tenham se preocupado principalmente com as características elétricas dos neurônios, uma parte particularmente importante das investigações dos últimos anos tem sido a exploração do papel de neuromoduladores como dopamina, acetilcolina e serotonina no comportamento e no aprendizado.
Modelos biofísicos, como a teoria BCM, têm sido importantes na compreensão dos mecanismos da plasticidade sináptica e têm tido aplicações tanto na ciência da computação quanto na neurociência. A pesquisa sobre a compreensão de algoritmos computacionais usados no cérebro está em andamento, recentemente, houve evidências biológicas sobre de redes de base radial e retropropagação neural como mecanismos de processamento de dados.
Dispositivos computacionais foram criados em CMOS (Semicondutor de óxido de metal complementar) tanto para simulação biofísica e computação neuromórfica . Esforços recentes são promissores para a criação de nanodispositivos para análises e convolução de componentes principais em grande escala. Se bem sucedidos, esses esforços podem gerar uma nova era de computação neural que seria um passo à frente da computação digital, porque dependeria do aprendizado ao invés da programação e também porque seria fundamentalmente analógico em vez de digital, apesar de que suas primeiras serem de fato feitas por dispositivos digitais CMOS.
Entre 2009 e 2012, as redes neurais recorrentes e redes neurais de feedforward densa, desenvolvidas na pesquisa de grupo de Jürgen Schmidhuber no laboratório suíço de inteligência artificial IDSIA (Swiss AI Lab IDSIA) ganharam oito competições internacionais em reconhecimento de padrões e máquina de aprendizado . Por exemplo, curta e longa memória multidimensional (LSTM) ganhou três competições em reconhecimento de escrita manual conectada em 2009 na Conferência Internacional em Reconhecimento e Análises de Documentos (ICDAR - International Conference on Document Analysis and Recognition), sem ter nenhum conhecimento sobre os três idiomas que seriam aprendidos.
Variantes do algoritmo de retropropagação, assim como métodos não supervisionados por Geoff Hinton e colegas da Universidade de Toronto, podem ser usadas para o treinamento profundo de arquiteturas altamente não lineares. Semelhantes ao Neocognitron de 1980 por Kunihiko Fukushima, e a "arquitetura padrão de visão", inspirada pelas células simples e complexas identificadas por David H. Hubel e Torsten Wiesel no córtex visual primário .
A função de base radial e as redes wavelet também foram introduzidas. Estas apresentam melhores propriedades de aproximação e têm sido aplicadas em sistemas de identificação não linear como também em aplicações de classificações .
As redes feedforward de aprendizado profundo alternam camadas convolucionais e camadas de pooling máximo, encimadas por várias camadas de classificação pura. Implementações rápidas baseadas em GPU (Graphics processing unit - Unidade de processamento gráfico) desta abordagem ganharam várias competições de reconhecimento de padrãos, incluindo o IJCNN 2011 Traffic Sign Recognition Competition (Competição de Reconhecimento de Sinais de Trânsito) e o ISBI 2012 Segmentation of Neuronal Structures in Electron Microscopy Stacks challenge (Desafio de Estruturas Neuronais em Pilhas de Microscopia Eletrônica). Essas redes neurais também foram as primeiras a reconhecer padrões artificiais que alcançaram uma performance que pode competir com humanos e até superá-los em benchmarks como reconhecimento de sinais de trânsito (IJCNN 2012), ou o problema de dígitos manuais MNIST por Yann LeCun e colegas da NYU (Universidade de Nova York).