Rede neural artificial - Artificial neural network

Uma rede neural artificial é um grupo interconectado de nós, inspirado por uma simplificação de neurônios em um cérebro . Aqui, cada nó circular representa um neurônio artificial e uma seta representa uma conexão da saída de um neurônio artificial para a entrada de outro.

As redes neurais artificiais ( RNAs ), geralmente chamadas simplesmente de redes neurais ( NNs ), são sistemas de computação inspirados nas redes neurais biológicas que constituem os cérebros dos animais .

Uma RNA é baseada em uma coleção de unidades conectadas ou nós chamados neurônios artificiais , que modelam vagamente os neurônios em um cérebro biológico. Cada conexão, como as sinapses em um cérebro biológico, pode transmitir um sinal a outros neurônios. Um neurônio artificial recebe um sinal e depois o processa e pode sinalizar os neurônios conectados a ele. O "sinal" em uma conexão é um número real , e a saída de cada neurônio é calculada por alguma função não linear da soma de suas entradas. As conexões são chamadas de arestas . Neurônios e arestas normalmente têm um peso que se ajusta à medida que o aprendizado avança. O peso aumenta ou diminui a força do sinal em uma conexão. Os neurônios podem ter um limite de modo que um sinal seja enviado apenas se o sinal agregado cruzar esse limite. Normalmente, os neurônios são agregados em camadas. Camadas diferentes podem realizar transformações diferentes em suas entradas. Os sinais viajam da primeira camada (a camada de entrada) até a última camada (a camada de saída), possivelmente depois de atravessar as camadas várias vezes.

Treinamento

As redes neurais aprendem (ou são treinadas) processando exemplos, cada um dos quais contém uma "entrada" e um "resultado" conhecidos, formando associações ponderadas de probabilidade entre os dois, que são armazenadas na estrutura de dados da própria rede. O treinamento de uma rede neural a partir de um determinado exemplo é geralmente conduzido pela determinação da diferença entre a saída processada da rede (geralmente uma previsão) e uma saída alvo. Essa diferença é o erro. A rede então ajusta suas associações ponderadas de acordo com uma regra de aprendizado e usando esse valor de erro. Ajustes sucessivos farão com que a rede neural produza uma saída que é cada vez mais semelhante à saída de destino. Depois de um número suficiente desses ajustes, o treinamento pode ser encerrado com base em certos critérios. Isso é conhecido como aprendizado supervisionado .

Esses sistemas "aprendem" a executar tarefas considerando exemplos, geralmente sem serem programados com regras específicas para tarefas. Por exemplo, no reconhecimento de imagem , eles podem aprender a identificar imagens que contêm gatos analisando imagens de exemplo que foram marcadas manualmente como "gato" ou "sem gato" e usando os resultados para identificar gatos em outras imagens. Eles fazem isso sem nenhum conhecimento prévio de gatos, por exemplo, que eles têm pelos, rabos, bigodes e rostos de gato. Em vez disso, eles geram automaticamente características de identificação a partir dos exemplos que processam.

História

Warren McCulloch e Walter Pitts (1943) abriram o assunto criando um modelo computacional para redes neurais. No final dos anos 1940, DO Hebb criou uma hipótese de aprendizagem baseada no mecanismo de plasticidade neural que ficou conhecida como aprendizagem Hebbian . Farley e Wesley A. Clark (1954) usaram máquinas computacionais, então chamadas de "calculadoras", para simular uma rede Hebbian. Em 1958, o psicólogo Frank Rosenblatt inventou o perceptron , a primeira rede neural artificial, financiada pelo Escritório de Pesquisa Naval dos Estados Unidos . As primeiras redes funcionais com várias camadas foram publicadas por Ivakhnenko e Lapa em 1965, como Group Method of Data Handling . Os fundamentos da retropropagação contínua foram derivados no contexto da teoria de controle por Kelley em 1960 e por Bryson em 1961, usando princípios de programação dinâmica . Posteriormente, a pesquisa estagnou após Minsky e Papert (1969), que descobriram que os perceptrons básicos eram incapazes de processar o circuito ou exclusivo e que os computadores não tinham energia suficiente para processar redes neurais úteis.

Em 1970, Seppo Linnainmaa publicou o método geral para diferenciação automática (AD) de redes discretas conectadas de funções diferenciáveis aninhadas . Em 1973, Dreyfus usou a retropropagação para adaptar os parâmetros dos controladores em proporção aos gradientes de erro. O algoritmo de retropropagação de Werbos (1975) possibilitou o treinamento prático de redes multicamadas. Em 1982, ele aplicou o método AD de Linnainmaa às redes neurais da maneira que se tornou amplamente usada.

O desenvolvimento da integração em escala muito grande (VLSI) de óxido de metal (MOS) , na forma de tecnologia complementar MOS (CMOS), possibilitou o aumento da contagem de transistores MOS na eletrônica digital . Isso forneceu mais poder de processamento para o desenvolvimento de redes neurais artificiais práticas na década de 1980.

Em 1986 , Rumelhart , Hinton e Williams mostraram que a retropropagação aprendeu representações internas interessantes de palavras como vetores de características quando treinada para prever a próxima palavra em uma sequência.

Em 1992, o max-pooling foi introduzido para ajudar com a invariância de deslocamento mínimo e a tolerância à deformação para auxiliar no reconhecimento de objetos 3D . Schmidhuber adotou uma hierarquia multinível de redes (1992) pré-treinada um nível de cada vez por aprendizado não supervisionado e ajustado por retropropagação .

Os primeiros sucessos das redes neurais incluíram a previsão do mercado de ações e, em 1995, um carro (em sua maioria) autônomo.

Geoffrey Hinton et al. (2006) propôs aprender uma representação de alto nível usando camadas sucessivas de variáveis ​​latentes binárias ou de valor real com uma máquina de Boltzmann restrita para modelar cada camada. Em 2012, Ng e Dean criaram uma rede que aprendeu a reconhecer conceitos de nível superior, como gatos, apenas assistindo a imagens sem rótulos. O pré-treinamento não supervisionado e o aumento do poder de computação das GPUs e da computação distribuída permitiram o uso de redes maiores, principalmente em problemas de imagem e reconhecimento visual, que ficaram conhecidos como " aprendizado profundo ".

Ciresan e colegas (2010) mostraram que, apesar do problema do gradiente de desaparecimento , as GPUs tornam a retropropagação viável para redes neurais feedforward de muitas camadas. Entre 2009 e 2012, as ANNs começaram a ganhar prêmios em concursos de ANN, abordando o desempenho de nível humano em várias tarefas, inicialmente em reconhecimento de padrões e aprendizado de máquina . Por exemplo, a memória de longo prazo bidirecional e multidimensional (LSTM) de Graves et al. venceu três concursos de reconhecimento de caligrafia conectada em 2009 sem nenhum conhecimento prévio sobre os três idiomas a serem aprendidos.

Ciresan e colegas construíram os primeiros reconhecedores de padrões para alcançar desempenho humano competitivo / sobre-humano em benchmarks, como reconhecimento de sinais de trânsito (IJCNN 2012).

Modelos

Neurônio e axônio mielinizado, com fluxo de sinal de entradas em dendritos para saídas em terminais de axônio

As RNAs começaram como uma tentativa de explorar a arquitetura do cérebro humano para realizar tarefas nas quais os algoritmos convencionais tiveram pouco sucesso. Eles logo se reorientaram para melhorar os resultados empíricos, abandonando principalmente as tentativas de permanecer fiéis aos seus precursores biológicos. Os neurônios são conectados uns aos outros em vários padrões, para permitir que a saída de alguns neurônios se torne a entrada de outros. A rede forma um gráfico direcionado e ponderado .

Uma rede neural artificial consiste em uma coleção de neurônios simulados. Cada neurônio é um que está conectado a outros nós por meio de links que correspondem a conexões biológicas axônio-sinapse-dendrito. Cada link tem um peso, que determina a força da influência de um nó sobre outro.

Componentes de ANNs

Neurônios

As RNAs são compostas por neurônios artificiais que são conceitualmente derivados de neurônios biológicos . Cada neurônio artificial tem entradas e produz uma única saída que pode ser enviada a vários outros neurônios. As entradas podem ser os valores de recursos de uma amostra de dados externos, como imagens ou documentos, ou podem ser as saídas de outros neurônios. As saídas dos neurônios de saída final da rede neural realizam a tarefa, como reconhecer um objeto em uma imagem.

Para encontrar a saída do neurônio, primeiro pegamos a soma ponderada de todas as entradas, ponderada pelos pesos das conexões das entradas para o neurônio. Adicionamos um termo de polarização a essa soma. Essa soma ponderada às vezes é chamada de ativação . Essa soma ponderada é então passada por uma função de ativação (geralmente não linear) para produzir a saída. As entradas iniciais são dados externos, como imagens e documentos. Os resultados finais cumprem a tarefa, como reconhecer um objeto em uma imagem.

Conexões e pesos

A rede consiste em conexões, cada conexão fornecendo a saída de um neurônio como uma entrada para outro neurônio. Cada conexão recebe um peso que representa sua importância relativa. Um determinado neurônio pode ter várias conexões de entrada e saída.

Função de propagação

A função de propagação calcula a entrada para um neurônio a partir das saídas de seus neurônios predecessores e suas conexões como uma soma ponderada. Um termo de polarização pode ser adicionado ao resultado da propagação.

Organização

Os neurônios são normalmente organizados em várias camadas, especialmente no aprendizado profundo . Os neurônios de uma camada se conectam apenas aos neurônios das camadas imediatamente anteriores e posteriores. A camada que recebe dados externos é a camada de entrada . A camada que produz o resultado final é a camada de saída . Entre eles estão zero ou mais camadas ocultas . Redes de camada única e sem camada também são usadas. Entre duas camadas, vários padrões de conexão são possíveis. Eles podem ser totalmente conectados , com cada neurônio em uma camada conectando-se a todos os neurônios na próxima camada. Eles podem ser agrupamentos , onde um grupo de neurônios em uma camada se conecta a um único neurônio na próxima camada, reduzindo assim o número de neurônios nessa camada. Neurônios com apenas essas conexões formam um gráfico acíclico direcionado e são conhecidos como redes feedforward . Alternativamente, as redes que permitem conexões entre neurônios na mesma camada ou em camadas anteriores são conhecidas como redes recorrentes .

Hiperparâmetro

Um hiperparâmetro é um parâmetro constante cujo valor é definido antes do início do processo de aprendizagem. Os valores dos parâmetros são derivados por meio do aprendizado. Exemplos de hiperparâmetros incluem taxa de aprendizagem , o número de camadas ocultas e tamanho do lote. Os valores de alguns hiperparâmetros podem ser dependentes dos valores de outros hiperparâmetros. Por exemplo, o tamanho de algumas camadas pode depender do número total de camadas.

Aprendendo

A aprendizagem é a adaptação da rede para lidar melhor com uma tarefa, considerando observações de amostra. O aprendizado envolve o ajuste dos pesos (e limites opcionais) da rede para melhorar a precisão do resultado. Isso é feito minimizando os erros observados. O aprendizado é completo quando o exame de observações adicionais não reduz de forma útil a taxa de erro. Mesmo após o aprendizado, a taxa de erro normalmente não chega a 0. Se, após o aprendizado, a taxa de erro for muito alta, a rede normalmente deve ser reprojetada. Praticamente, isso é feito definindo uma função de custo que é avaliada periodicamente durante o aprendizado. Enquanto sua produção continua diminuindo, o aprendizado continua. O custo é frequentemente definido como uma estatística cujo valor só pode ser aproximado. As saídas são, na verdade, números, portanto, quando o erro é baixo, a diferença entre a saída (quase certamente um gato) e a resposta correta (gato) é pequena. A aprendizagem tenta reduzir o total das diferenças entre as observações. A maioria dos modelos de aprendizagem pode ser vista como uma aplicação direta da teoria de otimização e estimativa estatística .

Taxa de Aprendizagem

A taxa de aprendizagem define o tamanho das etapas corretivas que o modelo executa para ajustar os erros em cada observação. Uma alta taxa de aprendizado encurta o tempo de treinamento, mas com menor precisão final, enquanto uma taxa de aprendizado mais baixa leva mais tempo, mas com potencial para maior precisão. Otimizações como Quickprop visam principalmente acelerar a minimização de erros, enquanto outras melhorias tentam principalmente aumentar a confiabilidade. Para evitar oscilações dentro da rede, como pesos de conexão alternados, e para melhorar a taxa de convergência, os refinamentos usam uma taxa de aprendizagem adaptativa que aumenta ou diminui conforme apropriado. O conceito de momentum permite que o equilíbrio entre o gradiente e a alteração anterior seja ponderado de forma que o ajuste do peso dependa em algum grau da alteração anterior. Um momento próximo a 0 enfatiza o gradiente, enquanto um valor próximo a 1 enfatiza a última alteração.

Função de custo

Embora seja possível definir uma função de custo ad hoc , frequentemente a escolha é determinada pelas propriedades desejáveis ​​da função (como convexidade ) ou porque ela surge do modelo (por exemplo, em um modelo probabilístico, a probabilidade posterior do modelo pode ser usada como um inverso custo).

Retropropagação

A retropropagação é um método usado para ajustar os pesos da conexão para compensar cada erro encontrado durante o aprendizado. A quantidade de erros é efetivamente dividida entre as conexões. Tecnicamente, backprop calcula o gradiente (a derivada) da função de custo associada a um determinado estado em relação aos pesos. As atualizações de peso podem ser feitas por meio de descida gradiente estocástica ou outros métodos, como Extreme Learning Machines , redes "No-prop", treinamento sem backtracking, redes "sem peso" e redes neurais não conexionistas .

Paradigmas de aprendizagem

Os três principais paradigmas de aprendizagem são aprendizagem supervisionada , aprendizagem não supervisionada e aprendizagem por reforço . Cada um deles corresponde a uma tarefa de aprendizagem particular

Aprendizagem supervisionada

A aprendizagem supervisionada usa um conjunto de entradas emparelhadas e saídas desejadas. A tarefa de aprendizagem é produzir a saída desejada para cada entrada. Nesse caso, a função de custo está relacionada à eliminação de deduções incorretas. Um custo comumente usado é o erro quadrático médio , que tenta minimizar o erro quadrático médio entre a saída da rede e a saída desejada. As tarefas adequadas para o aprendizado supervisionado são o reconhecimento de padrões (também conhecido como classificação) e regressão (também conhecido como aproximação de função). A aprendizagem supervisionada também se aplica a dados sequenciais (por exemplo, para escrita à mão, reconhecimento de fala e gestos ). Isso pode ser pensado como aprender com um "professor", na forma de uma função que fornece feedback contínuo sobre a qualidade das soluções obtidas até o momento.

Aprendizagem não supervisionada

No aprendizado não supervisionado , os dados de entrada são fornecidos junto com a função de custo, alguma função dos dados e a saída da rede. A função de custo depende da tarefa (o domínio do modelo) e de quaisquer suposições a priori (as propriedades implícitas do modelo, seus parâmetros e as variáveis ​​observadas). Como um exemplo trivial, considere o modelo onde é uma constante e o custo . Minimizar esse custo produz um valor igual à média dos dados. A função de custo pode ser muito mais complicada. A sua forma depende da aplicação: por exemplo, na compressão pode estar relacionado com a informação mútua entre e , enquanto na modelagem estatística, pode estar relacionado com a probabilidade posterior do modelo dado os dados (note que em ambos os exemplos essas quantidades seriam maximizadas em vez de minimizadas). As tarefas que se enquadram no paradigma da aprendizagem não supervisionada são, em geral, problemas de estimativa ; as aplicações incluem clustering , estimativa de distribuições estatísticas , compressão e filtragem .

Aprendizagem por reforço

Em aplicativos como jogos de videogame, um ator realiza uma série de ações, recebendo uma resposta geralmente imprevisível do ambiente após cada uma. O objetivo é ganhar o jogo, ou seja, gerar as respostas mais positivas (menor custo). Na aprendizagem por reforço , o objetivo é ponderar a rede (elaborar uma política) para realizar ações que minimizem o custo de longo prazo (cumulativo esperado). A cada momento o agente executa uma ação e o ambiente gera uma observação e um custo instantâneo, de acordo com algumas regras (geralmente desconhecidas). As regras e o custo a longo prazo geralmente só podem ser estimados. Em qualquer conjuntura, o agente decide se vai explorar novas ações para descobrir seus custos ou explorar o aprendizado anterior para prosseguir mais rapidamente.

Formalmente, o ambiente é modelado como um processo de decisão de Markov (MDP) com estados e ações . Como as transições de estado não são conhecidas, distribuições de probabilidade são usadas: a distribuição de custo instantânea , a distribuição de observação e a distribuição de transição , enquanto uma política é definida como a distribuição condicional sobre ações dadas as observações. Juntos, os dois definem uma cadeia de Markov (MC). O objetivo é descobrir o MC de menor custo.

ANNs servem como o componente de aprendizagem em tais aplicações. A programação dinâmica juntamente com RNAs (dando programação neurodinâmica) tem sido aplicada a problemas como aqueles envolvidos em roteamento de veículos , videogames, gerenciamento de recursos naturais e medicina por causa da capacidade das RNAs de mitigar perdas de precisão, mesmo ao reduzir a densidade da grade de discretização para aproximação numericamente a solução de problemas de controle. As tarefas que se enquadram no paradigma da aprendizagem por reforço são problemas de controle, jogos e outras tarefas sequenciais de tomada de decisão.

Auto-aprendizagem

A autoaprendizagem em redes neurais foi introduzida em 1982 junto com uma rede neural capaz de autoaprendizagem chamada Crossbar Adaptive Array (CAA). É um sistema com apenas uma entrada, situação se apenas uma saída, ação (ou comportamento) a. Não tem entrada de conselho externo nem entrada de reforço externo do ambiente. O CAA calcula, de forma transversal, as decisões sobre ações e emoções (sentimentos) sobre as situações encontradas. O sistema é impulsionado pela interação entre cognição e emoção. Dada a matriz de memória, W = || w (a, s) ||, o algoritmo de autoaprendizagem da barra transversal em cada iteração realiza o seguinte cálculo:

  In situation s perform action a;
  Receive consequence situation s';
  Compute emotion of being in consequence situation v(s');
  Update crossbar memory w'(a,s) = w(a,s) + v(s').

O valor retropropagado (reforço secundário) é a emoção em relação à situação de consequência. O CAA existe em dois ambientes, um é o ambiente comportamental onde se comporta, e o outro é o ambiente genético, de onde a partir dele inicialmente e apenas uma vez recebe emoções iniciais a ponto de se deparar com situações no ambiente comportamental. Tendo recebido o vetor do genoma (vetor da espécie) do ambiente genético, o CAA aprenderá um comportamento de busca de objetivos, no ambiente comportamental que contém situações desejáveis ​​e indesejáveis.

Neuroevolução

A neuroevolução pode criar topologias e pesos de rede neural usando computação evolutiva . É competitivo com abordagens sofisticadas de descida gradiente. Uma vantagem da neuroevolução é que ela pode ser menos propensa a ficar em "becos sem saída".

De outros

Em uma estrutura bayesiana , uma distribuição sobre o conjunto de modelos permitidos é escolhida para minimizar o custo. Métodos evolutivos , programação de expressão gênica , recozimento simulado , maximização de expectativa , métodos não paramétricos e otimização de enxame de partículas são outros algoritmos de aprendizagem. A recursão convergente é um algoritmo de aprendizagem para redes neurais do controlador de articulação do modelo cerebelar (CMAC).

Modos

Dois modos de aprendizagem estão disponíveis: estocástico e em lote. Na aprendizagem estocástica, cada entrada cria um ajuste de peso. No lote, os pesos de aprendizagem são ajustados com base em um lote de entradas, acumulando erros ao longo do lote. O aprendizado estocástico introduz "ruído" no processo, usando o gradiente local calculado a partir de um ponto de dados; isso reduz a chance de a rede travar nos mínimos locais. No entanto, o aprendizado em lote normalmente produz uma descida mais rápida e estável para um mínimo local, uma vez que cada atualização é realizada na direção do erro médio do lote. Um compromisso comum é usar "minilotes", pequenos lotes com amostras em cada lote selecionadas estocasticamente de todo o conjunto de dados.

Tipos

As RNAs evoluíram para uma ampla família de técnicas que avançaram o estado da arte em vários domínios. Os tipos mais simples têm um ou mais componentes estáticos, incluindo número de unidades, número de camadas, pesos unitários e topologia . Os tipos dinâmicos permitem que um ou mais deles evoluam por meio do aprendizado. Estes últimos são muito mais complicados, mas podem encurtar os períodos de aprendizagem e produzir melhores resultados. Alguns tipos permitem / exigem que o aprendizado seja "supervisionado" pelo operador, enquanto outros operam de forma independente. Alguns tipos operam puramente em hardware, enquanto outros são puramente software e são executados em computadores de uso geral.

Algumas das principais descobertas incluem: redes neurais convolucionais que se mostraram particularmente bem-sucedidas no processamento de dados visuais e outros dados bidimensionais; a memória de curto prazo longa evita o problema do gradiente de desaparecimento e pode lidar com sinais que têm uma mistura de componentes de baixa e alta frequência, auxiliando no reconhecimento de voz de grande vocabulário, síntese de texto para fala e falantes fotorrealistas; redes competitivas, como redes adversárias geradoras, nas quais várias redes (de estrutura variável) competem entre si, em tarefas como ganhar um jogo ou enganar o oponente sobre a autenticidade de uma entrada.

Design de rede

A pesquisa de arquitetura neural (NAS) usa aprendizado de máquina para automatizar o projeto de RNA. Várias abordagens de NAS projetaram redes que se comparam bem aos sistemas projetados à mão. O algoritmo de pesquisa básico é propor um modelo candidato, avaliá-lo em relação a um conjunto de dados e usar os resultados como feedback para ensinar a rede NAS. Os sistemas disponíveis incluem AutoML e AutoKeras.

As questões de design incluem decidir o número, tipo e conectividade das camadas de rede, bem como o tamanho de cada uma e o tipo de conexão (completa, pool, ...).

Os hiperparâmetros também devem ser definidos como parte do design (eles não são aprendidos), governando questões como quantos neurônios estão em cada camada, taxa de aprendizagem, passo, passo, profundidade, campo receptivo e preenchimento (para CNNs), etc.

Usar

O uso de redes neurais artificiais requer uma compreensão de suas características.

  • Escolha do modelo: Depende da representação dos dados e da aplicação. Modelos excessivamente complexos têm aprendizagem lenta.
  • Algoritmo de aprendizagem: existem inúmeras vantagens e desvantagens entre os algoritmos de aprendizagem. Quase qualquer algoritmo funcionará bem com os hiperparâmetros corretos para treinamento em um determinado conjunto de dados. No entanto, selecionar e ajustar um algoritmo para treinamento em dados não vistos requer experimentação significativa.
  • Robustez: Se o modelo, a função de custo e o algoritmo de aprendizagem forem selecionados de forma adequada, a RNA resultante pode se tornar robusta.

As capacidades da ANN se enquadram nas seguintes categorias amplas:

Formulários

Por causa de sua capacidade de reproduzir e modelar processos não lineares, as redes neurais artificiais encontraram aplicações em muitas disciplinas. As áreas de aplicação incluem identificação e controle de sistema (controle de veículo, previsão de trajetória, controle de processo , gerenciamento de recursos naturais ), química quântica , jogos em geral , reconhecimento de padrões (sistemas de radar, identificação de rosto , classificação de sinal, reconstrução 3D , reconhecimento de objeto e muito mais), reconhecimento de sequência (gesto, fala, reconhecimento de texto manuscrito e impresso), diagnóstico médico , finanças (por exemplo, sistemas de negociação automatizados ), mineração de dados , visualização, tradução automática , filtragem de rede social e filtragem de spam de e-mail . As RNAs têm sido usadas para diagnosticar vários tipos de câncer e para distinguir linhas de células cancerígenas altamente invasivas de linhas menos invasivas usando apenas informações de forma celular.

As RNAs têm sido usadas para acelerar a análise de confiabilidade de infraestruturas sujeitas a desastres naturais e para prever assentamentos de fundação. As RNAs também têm sido usadas para construir modelos de caixa preta em geociências : hidrologia , modelagem oceânica e engenharia costeira e geomorfologia . As RNAs têm sido utilizadas na segurança cibernética , com o objetivo de discriminar entre atividades legítimas e maliciosas. Por exemplo, o aprendizado de máquina foi usado para classificar malware Android, para identificar domínios pertencentes a agentes de ameaças e para detectar URLs que representam um risco de segurança. A pesquisa está em andamento em sistemas ANN projetados para testes de penetração, para detecção de botnets, fraudes de cartões de crédito e intrusões de rede.

ANNs têm sido propostas como uma ferramenta para resolver equações diferenciais parciais em física e simular as propriedades de sistemas quânticos abertos de muitos corpos . Em pesquisas sobre o cérebro, as RNAs estudaram o comportamento de curto prazo de neurônios individuais , a dinâmica dos circuitos neurais surgem de interações entre neurônios individuais e como o comportamento pode surgir de módulos neurais abstratos que representam subsistemas completos. Os estudos consideraram a plasticidade de longo e curto prazo dos sistemas neurais e sua relação com o aprendizado e a memória do neurônio individual para o nível do sistema.

Propriedades teóricas

Poder computacional

O perceptron multicamadas é um aproximador de função universal , conforme comprovado pelo teorema da aproximação universal . No entanto, a prova não é construtiva quanto ao número de neurônios necessários, a topologia da rede, os pesos e os parâmetros de aprendizagem.

Uma arquitetura recorrente específica com pesos avaliados racionais (em oposição aos pesos avaliados por números reais de precisão total ) tem o poder de uma máquina de Turing universal , usando um número finito de neurônios e conexões lineares padrão. Além disso, o uso de valores irracionais para pesos resulta em uma máquina com poder de super-Turing .

Capacidade

A propriedade de "capacidade" de um modelo corresponde à sua capacidade de modelar qualquer função dada. Está relacionado à quantidade de informações que podem ser armazenadas na rede e à noção de complexidade. Duas noções de capacidade são conhecidas pela comunidade. A capacidade de informação e a dimensão VC. A capacidade de informação de um perceptron é intensamente discutida no livro de Sir David MacKay, que resume o trabalho de Thomas Cover. A capacidade de uma rede de neurônios padrão (não convolucionais) pode ser derivada por quatro regras que derivam da compreensão de um neurônio como um elemento elétrico . A capacidade de informação captura as funções modeláveis ​​pela rede, dados quaisquer dados como entrada. A segunda noção é a dimensão VC . O VC Dimension usa os princípios da teoria da medida e encontra a capacidade máxima nas melhores circunstâncias possíveis. Isto é, dados de entrada dados em um formulário específico. Conforme observado em, a Dimensão VC para entradas arbitrárias é a metade da capacidade de informação de um Perceptron. A dimensão VC para pontos arbitrários às vezes é chamada de capacidade de memória.

Convergência

Os modelos podem não convergir de forma consistente para uma única solução, em primeiro lugar porque podem existir mínimos locais, dependendo da função de custo e do modelo. Em segundo lugar, o método de otimização usado pode não garantir a convergência quando começa longe de qualquer mínimo local. Em terceiro lugar, para dados ou parâmetros suficientemente grandes, alguns métodos tornam-se impraticáveis.

O comportamento de convergência de certos tipos de arquiteturas de RNA são mais compreendidos do que outros. Quando a largura da rede se aproxima do infinito, a RNA é bem descrita por sua expansão de Taylor de primeira ordem ao longo do treinamento e, portanto, herda o comportamento de convergência dos modelos afins . Outro exemplo é quando os parâmetros são pequenos, observa-se que as RNAs muitas vezes se enquadram em funções alvo de baixas a altas frequências. Esse comportamento é conhecido como polarização espectral, ou princípio de frequência, das redes neurais. Esse fenômeno é o oposto do comportamento de alguns esquemas numéricos iterativos bem estudados, como o método de Jacobi . Observou-se que redes neurais mais profundas são mais inclinadas para funções de baixa frequência.

Generalização e estatísticas

Aplicativos cujo objetivo é criar um sistema que generaliza bem para exemplos nunca vistos, enfrentam a possibilidade de over-training. Isso surge em sistemas complicados ou superespecificados quando a capacidade da rede excede significativamente os parâmetros livres necessários. Duas abordagens tratam do excesso de treinamento. A primeira é usar validação cruzada e técnicas semelhantes para verificar a presença de excesso de treinamento e selecionar hiperparâmetros para minimizar o erro de generalização.

A segunda é usar alguma forma de regularização . Este conceito emerge em uma estrutura probabilística (Bayesiana), onde a regularização pode ser realizada selecionando uma probabilidade anterior maior sobre modelos mais simples; mas também na teoria de aprendizagem estatística, onde o objetivo é minimizar mais de duas quantidades: o 'risco empírico' e o 'risco estrutural', que corresponde aproximadamente ao erro sobre o conjunto de treinamento e o erro previsto em dados invisíveis devido ao sobreajuste.

Análise de confiança de uma rede neural

Redes neurais supervisionadas que usam uma função de custo de erro quadrático médio (MSE) podem usar métodos estatísticos formais para determinar a confiança do modelo treinado. O MSE em um conjunto de validação pode ser usado como uma estimativa para a variação. Este valor pode então ser usado para calcular o intervalo de confiança da saída da rede, assumindo uma distribuição normal . Uma análise de confiança feita dessa forma é estatisticamente válida, desde que a distribuição de probabilidade de saída permaneça a mesma e a rede não seja modificada.

Ao atribuir uma função de ativação softmax , uma generalização da função logística , na camada de saída da rede neural (ou um componente softmax em uma rede baseada em componente) para variáveis ​​de destino categóricas, as saídas podem ser interpretadas como probabilidades posteriores. Isso é útil na classificação, pois dá uma medida de certeza nas classificações.

A função de ativação do softmax é:


Crítica

Treinamento

Uma crítica comum às redes neurais, especialmente na robótica, é que elas exigem muito treinamento para operação no mundo real. As soluções potenciais incluem o embaralhamento aleatório de exemplos de treinamento, usando um algoritmo de otimização numérica que não executa etapas muito grandes ao alterar as conexões de rede seguindo um exemplo, agrupando exemplos nos chamados minilotes e / ou introduzindo um algoritmo de mínimos quadrados recursivo para CMAC .

Teoria

Uma objeção fundamental é que as RNAs não refletem suficientemente a função neuronal. A retropropagação é uma etapa crítica, embora esse mecanismo não exista em redes neurais biológicas. Não se sabe como a informação é codificada por neurônios reais. Os neurônios sensores disparam potenciais de ação com mais frequência com a ativação do sensor e as células musculares puxam com mais força quando seus neurônios motores associados recebem potenciais de ação com mais frequência. Além do caso de retransmissão de informações de um neurônio sensor para um neurônio motor, quase nada sobre os princípios de como a informação é tratada por redes neurais biológicas é conhecido.

Uma reivindicação central das RNAs é que elas incorporam princípios gerais novos e poderosos para o processamento de informações. Esses princípios estão mal definidos. Freqüentemente, afirma-se que eles emergem da própria rede. Isso permite que a associação estatística simples (a função básica das redes neurais artificiais) seja descrita como aprendizado ou reconhecimento. Alexander Dewdney comentou que, como resultado, as redes neurais artificiais têm uma "qualidade algo por nada, que transmite uma aura peculiar de preguiça e uma nítida falta de curiosidade sobre o quão bons são esses sistemas de computação. Nenhuma mão humana (ou mente) intervém; as soluções são encontradas como num passe de mágica; e ninguém, ao que parece, aprendeu nada ". Uma resposta a Dewdney é que as redes neurais lidam com muitas tarefas complexas e diversas, que vão desde o vôo autônomo de aeronaves até a detecção de fraudes de cartão de crédito e o domínio do jogo Go .

O escritor de tecnologia Roger Bridgman comentou:

As redes neurais, por exemplo, estão no banco dos réus não só porque foram alardeadas ao céu (o que não foi?), Mas também porque você poderia criar uma rede de sucesso sem entender como ela funcionava: o monte de números que captura seu o comportamento seria com toda probabilidade "uma mesa opaca e ilegível ... sem valor como recurso científico".

Apesar de sua declaração enfática de que ciência não é tecnologia, Dewdney parece aqui denunciar as redes neurais como má ciência, quando a maioria de seus criadores está apenas tentando ser bons engenheiros. Uma tabela ilegível que uma máquina útil pudesse ler ainda valeria a pena ter.

Os cérebros biológicos usam circuitos rasos e profundos, conforme relatado pela anatomia do cérebro, exibindo uma ampla variedade de invariância. Weng argumentou que o cérebro se auto-conecta amplamente de acordo com as estatísticas de sinais e, portanto, uma cascata serial não pode capturar todas as principais dependências estatísticas.

Hardware

Redes neurais grandes e eficazes requerem recursos computacionais consideráveis. Embora o cérebro tenha um hardware adaptado para a tarefa de processar sinais por meio de um gráfico de neurônios, simular até mesmo um neurônio simplificado na arquitetura de von Neumann pode consumir grandes quantidades de memória e armazenamento. Além disso, o projetista frequentemente precisa transmitir sinais por meio de muitas dessas conexões e de seus neurônios associados - o que exige muito tempo e energia da CPU .

Schmidhuber observou que o ressurgimento das redes neurais no século XXI é em grande parte atribuível aos avanços no hardware: de 1991 a 2015, o poder de computação, especialmente fornecido por GPGPUs (em GPUs ), aumentou cerca de um milhão de vezes, tornando o algoritmo de retropropagação padrão viável para redes de treinamento que são várias camadas mais profundas do que antes. O uso de aceleradores como FPGAs e GPUs pode reduzir o tempo de treinamento de meses para dias.

A engenharia neuromórfica ou uma rede neural física aborda a dificuldade do hardware diretamente, construindo chips não-von-Neumann para implementar diretamente as redes neurais nos circuitos. Outro tipo de chip otimizado para processamento de rede neural é chamado de Unidade de Processamento de Tensor , ou TPU.

Contra-exemplos práticos

Analisar o que foi aprendido por uma RNA é muito mais fácil do que analisar o que foi aprendido por uma rede neural biológica. Além disso, os pesquisadores envolvidos na exploração de algoritmos de aprendizagem para redes neurais estão gradualmente descobrindo princípios gerais que permitem que uma máquina de aprendizagem seja bem-sucedida. Por exemplo, aprendizagem local vs. não local e arquitetura superficial vs. profunda.

Abordagens híbridas

Os defensores dos modelos híbridos (combinando redes neurais e abordagens simbólicas) afirmam que tal mistura pode capturar melhor os mecanismos da mente humana.

Galeria

Veja também

Notas

Referências

Bibliografia

links externos