Quais são as redes neurais e como eles funcionam?

Se você manter-se com notícias de tecnologia, você provavelmente se deparar com o conceito de redes neurais

(Também conhecido como redes neurais).

Em 2016, por exemplo, a rede neural AlphaGo do Google bater um dos melhores jogadores vão profissionais do mundo em uma série 4-1. YouTube também anunciou que eles estariam usando redes neurais para entender melhor seus vídeos. Dezenas de outras histórias podem vir à mente.YouTube vai usar redes neurais para realmente entender VídeosYouTube vai usar redes neurais para realmente entender VídeosPesquisando YouTube pode ser frustrante, porque o YouTube não ver os vídeos a maneira que uma pessoa faz. Recentemente, o Google arquiva uma patente que poderia mudar isso.consulte Mais informação

Mas o que exatamente é uma rede neural? Como funciona? E por que é tão popular na aprendizagem de máquina?

Um computador como um cérebro

neurocientistas modernos costumam discutir o cérebro como um tipo de computador. As redes neurais têm como objectivo fazer o oposto: construir um computador que funciona como um cérebro.

Claro, temos apenas uma compreensão superficial de funções extremamente complexas do cérebro, mas através da criação de uma simulação simplificada de como o cérebro processa dados, podemos construir um tipo de computador que funciona muito diferente de um padrão.

Computador de dados do processo processadores em série ( “em ordem”). Eles executam muitas operações em um conjunto de dados, um de cada vez. processamento paralelo ( “processamento de vários fluxos de uma só vez”) significativamente acelera o computador usando múltiplos processadores em série.

Na imagem a seguir, o exemplo de processamento paralelo requer cinco processadores diferentes:

de série vs processamento paralelo
Crédito de imagem: ExplainThatStuff

Uma rede neural artificial (assim chamado para distingui-la das redes neurais reais no cérebro) tem uma estrutura fundamentalmente diferente. É altamente interligados. Isso permite que ele para processar dados muito rapidamente, aprender a partir desses dados, e atualizar sua própria estrutura interna para melhorar o desempenho.

O alto grau de interconexão, no entanto, tem alguns efeitos surpreendentes. Por exemplo, as redes neurais são muito bons em reconhecer padrões obscuros em dados.

A capacidade de aprender

A capacidade de uma rede neural para aprender é a sua maior força. Com arquitetura de computação padrão, um programador tem de desenvolver um algoritmo que informa ao computador o que fazer com os dados de entrada para se certificar de que o computador gera a resposta correta.

Uma resposta de entrada-saída pode ser tão simples como “quando a tecla for pressionada, display‘A` na tela”ou tão complicada como a realização estatísticas complexas. redes neurais, por outro lado, não é necessário o mesmo tipo de algoritmos. Através de mecanismos de aprendizagem, eles podem essencialmente projetar seus próprios algoritmos que garantir que eles executar corretamente.4 algoritmos de aprendizado de máquina que moldam sua vida4 algoritmos de aprendizado de máquina que moldam sua vidaVocê pode não perceber, mas a aprendizagem de máquina já está ao seu redor, e ele pode exercer um surpreendente grau de influência sobre sua vida. Não acredita em mim? Você pode ser surpreendido.consulte Mais informação

É importante observar que, como redes neurais são programas de software escritos em máquinas que usam hardware de processamento serial padrão, tecnologia atual ainda impõe limites. Na verdade, a construção de uma versão de uma rede neural hardware é outro problema inteiramente.

De neurônios para Nodes

Agora que já lançou as bases para as redes funcionam como neurais, podemos começar a olhar para alguns dos detalhes. A estrutura básica de uma rede neural artificial parece com isso:

arquitetura de rede neural

Cada um dos círculos é chamado de “nó” e ele simula um único neurônio. À esquerda são nós de entrada, no meio são nós escondidos, e à direita são nós de saída.

Em termos muito básicos, os nós de entrada aceitar valores de entrada, que pode ser um binário 1 ou 0, que faz parte de um valor de cor RGB, o status de uma peça de xadrez, ou qualquer outra coisa. Esses nós representam o fluxo de informações para a rede.

Cada nó de entrada é ligado a um número de nós escondidos (por vezes para cada nó escondida, por vezes a um subconjunto). nós de entrada levar a informação lhes é dada e passá-lo para a camada escondida.

Por exemplo, um nó de entrada pode enviar um sinal ( “fogo”, na linguagem da neurociência) se receber um 1, e permanecem latentes se receber um zero. Cada nó escondido tem um limite: se todas as suas entradas somadas atingem um certo valor, ele dispara.

De sinapses Conexões

Cada conexão, o equivalente a uma sinapse, também é dado um peso específico, que permite que a rede para colocar uma ênfase mais forte sobre a ação de um nó específico. Aqui está um exemplo:

peso líquido neural

Como você pode ver, o peso da conexão B é maior do que a conexão A e C. Vamos dizer nó escondido 4 só será acionado se receber um total de entrada de 2 ou superior. Isso significa que, se 1 ou 3 fogo por conta própria, em seguida, 4 não será acionado, mas 1 e 3 juntos provocaria o nó. Nó 2 também poderia desencadear o nó em seu próprio através da conexão B.

Vamos dar tempo como um exemplo prático. Digamos que você projetar uma rede neural simples para determinar se deve haver um aviso de tempestade de inverno.

Usando as ligações e os pesos acima, nó 4 apenas pode disparar, se a temperatura é inferior a 0 M e ventos são acima de 30 MPH, ou seria disparar, se há mais do que uma probabilidade de 70 por cento de neve. Temperatura seria alimentado em nó 1, ventos de nó 3, e probabilidade de neve em nó 2. Agora nó 4 pode levar tudo isso em consideração para determinar o sinal para enviar para a camada de saída.

Better Than lógica simples

É claro, esta função poderia simplesmente ser promulgada com portões simples e / ou a lógica. Mas as redes neurais mais complexas, como a mostrada abaixo, são capazes de operações significativamente mais complexos.

neural exemplo líquida
Crédito de imagem: As redes neurais e aprendizagem de profundidade por Michael A. Nielsen

Saída da função nós camada da mesma maneira como aqueles camada oculta: nós de saída resumir a entrada da camada escondida, e se chegar a um determinado valor, o fogo nós de saída e enviar sinais específicos. No final do processo, a camada de saída vai ser o envio de um conjunto de sinais que indicam o resultado da entrada.



Enquanto a rede mostrado acima é simples, redes neurais profundas pode ter muitas camadas escondidas e centenas de nós.

rede neural profunda
Crédito de imagem: As redes neurais e aprendizagem de profundidade por Michael A. Nielsen

Correção de erros

O processo, até agora, é relativamente simples. Mas onde as redes neurais realmente brilham é na aprendizagem. A maioria das redes neurais usam um processo chamado backpropagation, que envia sinais para trás através da rede.

Antes de programadores implantar uma rede neural, eles executá-lo através de uma fase de treinamento em que ele recebe um conjunto de entradas com resultados conhecidos. Por exemplo, um programador pode ensinar uma rede neural para reconhecer imagens. A entrada pode ser uma imagem de um carro, e a saída correta seria a palavra “carro”.Use seu smartphone para identificar qualquer coisa com CamFindUse seu smartphone para identificar qualquer coisa com CamFindEste aplicativo pode realmente identificar praticamente qualquer objeto que você jogue com ele. Isso é não só legal, mas tem um monte de usos práticos também!consulte Mais informação

O programador fornece a imagem como entrada e ver o que sai dos nós de saída. Se a rede responde com “avião”, o programador diz ao computador que é incorreto.

A rede, em seguida, faz ajustes para suas próprias conexões, alterando os pesos de diferentes ligações entre os nós. Esta ação é guiado por um algoritmo de aprendizagem específica adicionados à rede. A rede continua a ajustar pesos de ligação até que fornece a saída correcta.

Esta é uma simplificação, mas as redes neurais pode aprender operações altamente complexas usando princípios semelhantes.

Melhoria contínua

Mesmo após o treino, backpropagation continua - e é aí que as redes neurais obter muito legal. Eles continuar a aprender como eles são usados, integrando novas informações e fazer ajustes para os pesos de diferentes conexões, tornando-se cada vez mais eficaz e eficiente na tarefa que eles foram projetados para.

Isso pode ser tão simples como reconhecimento de imagem ou tão complexo como jogar Go.

Desta forma, as redes neurais estão sempre mudando e melhorando. E isso pode ter efeitos surpreendentes, resultando em redes que priorizar as coisas um programador não teria pensado que priorizar.

Além do processo descrito acima, que é chamada aprendizagem supervisionada, há também um outro método: aprendizagem não supervisionada.

Nesta situação, as redes neurais ter uma entrada e tentar recriá-lo exatamente na sua saída, usando backpropagation para atualizar suas conexões. Isto pode soar como um exercício inútil, mas, desta forma, as redes de aprender a extrair características úteis e generalizar esses recursos para melhorar seus modelos.

Questões de Profundidade

Backpropagation é uma maneira muito eficaz de ensinar redes neurais ... quando eles estão apenas algumas camadas de profundidade. À medida que o número de camadas escondidas aumenta, a eficácia de retropropagação diminui. Este é um problema para redes profundas. Usando backpropagation, eles são muitas vezes mais eficaz do que redes simples.

Video: Redes Neurais Artificiais (Introdução) - Parte 01

Os cientistas vêm-se com uma série de soluções para este problema, as especificidades do que são bastante complicado e além do escopo desta peça introdutório. O que muitas destas soluções tentar fazer, em termos simples, é diminuir a complexidade da rede, treinando-o para “comprimir” os dados.

poda rede neural
Crédito da imagem: Song Han

Para fazer isso, a rede aprende a extrair um número menor de identificar características da entrada, tornando-se mais eficiente em seus cálculos. Com efeito, a rede está a fazer generalizações e abstrações, muito da mesma forma que os seres humanos aprendem.

Após esse aprendizado, a rede pode podar nós e conexões que considere menos importante. Isso torna a rede mais eficiente e aprendizagem torna-se mais fácil.

Aplicações de Rede Neural

Então redes neurais simular como o cérebro aprende usando várias camadas de nós - de entrada, oculto e de saída - e eles são capazes de aprender tanto em situações supervisionadas e não supervisionadas. redes complexas são capazes de fazer abstrações e generalizações, tornando-os mais eficientes e mais capaz de aprender.

Video: Como funcionam as redes neurais

O que podemos usar esses sistemas fascinantes para?

Em teoria, podemos usar redes neurais para quase nada. E você provavelmente já sido usá-los sem perceber. Eles são muito comuns na fala e reconhecimento visual, por exemplo, porque eles podem aprender a escolher as suas características específicas que sons ou imagens têm em comum.

Video: [INTELIGÊNCIA ARTIFICIAL] Redes Neurais Artificiais: BACKPROPAGATION

Então, quando você pedir Siri onde a estação de gasolina mais próximo, o seu iPhone está colocando o seu discurso através de uma rede neural para descobrir o que você está dizendo. Pode haver outra rede neural que aprende a prever os tipos de coisas é provável que você pedir.8 coisas que você provavelmente não sabia Siri poderia fazer8 coisas que você provavelmente não sabia Siri poderia fazerSiri se tornou uma das características definidoras do iPhone, mas para muitas pessoas, não é sempre o mais útil. Enquanto alguns isso é devido às limitações de reconhecimento de voz, a estranheza de usar ...consulte Mais informação

ícone siri

Auto-dirigir carros pode usar redes neurais para processar dados visuais, seguindo, assim, as regras da estrada e evitar colisões. Robôs de todos os tipos podem beneficiar de redes neurais que ajudá-los a aprender a tarefas de forma eficiente completos. Os computadores podem aprender a jogar jogos como xadrez, Go, e Atari clássicos. Se você já conversou com um chatbot, há uma chance de que ele estava usando uma rede neural para oferecer respostas adequadas.

busca na internet pode se beneficiar muito de redes neurais, como o modelo de processamento paralelo altamente eficiente pode produzir uma grande quantidade de dados rapidamente. Uma rede neural também poderia aprender seus hábitos para personalizar seus resultados de pesquisa ou prever o que você vai procurar no futuro próximo. Este modelo de previsão, obviamente, seria muito valioso para os comerciantes (e qualquer outra pessoa que precisa de ser prever o comportamento humano complexo).

reconhecimento de imagem, reconhecimento óptico de caracteres, previsão do mercado de ações, rota-finding, processamento de dados grande, análise de custos médicos, previsão de vendas, jogo de vídeo AI ... as possibilidades são quase infinitas. A capacidade de redes neurais para aprender os padrões, fazer generalizações, e com sucesso prever o comportamento torna valiosos em inúmeras situações.Os 5 melhores ferramentas de OCR para extrair texto de ImagensOs 5 melhores ferramentas de OCR para extrair texto de ImagensQuando você tem resmas de papel, como você obter tudo o que o texto impresso convertido em algo que um programa digital será capaz de reconhecer e índice? Manter um bom software de OCR por perto.consulte Mais informação

O futuro de redes neurais

As redes neurais têm avançado de modelos muito simples para simulações de aprendizagem altamente complexos. Eles estão em nossos telefones, nossos tablets e executando muitos dos serviços web que usamos. Há muitos outros sistemas de aprendizagem de máquina lá fora.

Mas as redes neurais, por causa de sua semelhança (de uma forma muito simplificada) para o cérebro humano, são alguns dos mais fascinantes. À medida que continuamos a desenvolver e refinar os modelos, não há como dizer o que eles vão ser capazes de fazer.

Você sabe de quaisquer utilizações interessantes de redes neurais? Você tem experiência com eles a si mesmo? O que você acha mais interessante sobre esta tecnologia? Compartilhe seus pensamentos nos comentários abaixo!


Artigos relacionados