Redes neurais para leigos: um guia completo
Publicados: 2018-02-07Nosso cérebro é uma incrível máquina de reconhecimento de padrões. Ele processa 'entradas' do mundo exterior, categoriza-as (isso é um cachorro; isso é uma fatia de pizza; ooh, isso é um ônibus vindo em minha direção!) aquela pizza; sair do caminho do ônibus!).
Tudo isso com pouco esforço consciente, quase impulsivamente. É o mesmo sistema que detecta se alguém está bravo conosco, ou involuntariamente percebe o sinal de parada quando passamos por ele. Os psicólogos chamam esse modo de pensar de 'Sistema 1' e inclui habilidades inatas - como percepção e medo - que compartilhamos com outros animais. (Há também um 'Sistema 2', para saber mais sobre ele, confira o extremamente informativo Thinking, Fast and Slow de Daniel Kahneman ).
Como tudo isso está relacionado às Redes Neurais , você pergunta? Espere, chegaremos lá em um segundo.

Veja a imagem acima, apenas seus números normais, distorcidos para te ajudar a explicar melhor o aprendizado das Redes Neurais . Mesmo olhando superficialmente, sua mente o alertará com as palavras “192”.
Você certamente não disse “Ah, isso parece uma linha reta, acho que é um 1”. Você não calculou – aconteceu instantaneamente.
Fascinante, certo?
Há uma razão muito simples para isso – você se deparou com o dígito tantas vezes em sua vida que, por tentativa e erro, seu cérebro reconhece automaticamente o dígito se você o apresentar com algo remotamente próximo a ele.
Qual é a diferença entre Data Science, Machine Learning e Big Data?
Vamos direto ao assunto.
Índice
O que exatamente é uma rede neural ? Como funciona?
Por definição, uma rede neural é um sistema de hardware ou software, modelado após o funcionamento dos neurônios no cérebro humano. Basicamente, ajuda os computadores a pensar e aprender como humanos. Um exemplo deixará isso mais claro:
Quando criança, se alguma vez tocássemos em uma caneca de café quente e ela nos queimasse, nos certificamos de nunca mais tocar em uma caneca quente. Mas tínhamos algum conceito de dor em nossa consciência ANTES de tocá-la? Na verdade.
Esse ajuste de nosso conhecimento e compreensão do mundo ao nosso redor é baseado no reconhecimento de padrões. E, como nós, os computadores também aprendem por meio do mesmo tipo de reconhecimento de padrões. Esse aprendizado forma toda a base do funcionamento das redes neurais .
Programas de computador tradicionais funcionam em árvores lógicas – Se A acontece, B acontece. Todos os resultados potenciais para cada um dos sistemas podem ser pré-programados. No entanto, isso elimina o escopo da flexibilidade. Não há aprendizado lá.
E é aí que as Redes Neurais entram em cena! Uma rede neural é construída sem nenhuma lógica específica. Essencialmente, é um sistema treinado para procurar e se adaptar a padrões nos dados. Ele é modelado exatamente de acordo com o funcionamento do nosso próprio cérebro. Cada neurônio (ideia) está conectado via sinapses. Cada sinapse tem um valor que representa a probabilidade ou probabilidade da conexão entre dois neurônios ocorrer. Dê uma olhada na imagem abaixo:

O que exatamente são os neurônios, você pergunta?
Simplificando, um neurônio é apenas um conceito singular. Uma caneca, a cor branca, chá -, a sensação de queimação de tocar uma caneca quente, basicamente qualquer coisa. Todos esses são neurônios possíveis. Todos eles podem ser conectados, e a força de sua conexão é decidida pelo valor de sua sinapse. Quanto maior o valor, melhor a conexão. Vamos ver uma conexão de rede neural básica para fazer você entender melhor:

Cada neurônio é o nó e as linhas que os conectam são as sinapses. O valor da sinapse representa a probabilidade de um neurônio ser encontrado ao lado do outro. Então, fica bem claro que o diagrama mostrado na imagem acima está descrevendo uma caneca contendo café, que é de cor branca e extremamente quente.
Geração de linguagem natural: principais coisas que você precisa saber
Todas as canecas não possuem as propriedades como a que está em questão. Podemos conectar muitos outros neurônios à caneca. O chá, por exemplo, é provavelmente mais comum que o café. A probabilidade de dois neurônios estarem conectados é determinada pela força da sinapse que os conecta. Quanto maior o número de canecas quentes, mais forte a sinapse.
No entanto, em um mundo onde as canecas não são usadas para armazenar bebidas quentes, o número de canecas quentes diminuiria drasticamente. Aliás, essa diminuição também resultaria na diminuição da força das sinapses que conectam as canecas ao calor.
Assim,

Torna-se

Esta pequena e aparentemente sem importância descrição de uma caneca representa a construção central das redes neurais .
Tocamos em uma caneca mantida em uma mesa - descobrimos que está quente. Isso nos faz pensar que todas as canecas são quentes. Então, tocamos em outra caneca – desta vez, a que estava na prateleira – não está nem um pouco quente. Concluímos que as canecas na prateleira não estão quentes. À medida que crescemos, evoluímos.
Nosso cérebro tem recebido dados todo esse tempo. Esses dados determinam uma probabilidade precisa de se a caneca que estamos prestes a tocar estará quente ou não. As redes neurais aprendem exatamente da mesma maneira.
Agora, vamos falar um pouco sobre o primeiro e mais básico modelo de uma rede neural : O Perceptron!

O que é um Perceptron?
Um perceptron é o modelo mais básico de uma rede neural. Ele recebe múltiplas entradas binárias: x1, x2, …, e produz uma única saída binária.

Vamos entender melhor a rede neural acima com a ajuda de uma analogia.
Diga que você caminha para o trabalho. Sua decisão de ir trabalhar é baseada principalmente em dois fatores: o clima e se é um dia de semana ou não. O fator climático ainda é administrável, mas trabalhar nos fins de semana é um grande não! Como temos que trabalhar com entradas binárias, vamos propor as condições como perguntas sim ou não. O tempo está bom? 1 para sim, 0 para não. É um dia de semana? 1 sim, 0 não.
Um guia para iniciantes para compreensão de linguagem natural
Lembre-se, não podemos dizer explicitamente à rede neural essas condições; ele terá que aprendê-los por si mesmo. Como decidirá a prioridade desses fatores ao tomar uma decisão? Usando algo conhecido como “pesos”. Os pesos são apenas uma representação numérica das preferências. Um peso maior fará com que a rede neural considere essa entrada com uma prioridade mais alta do que as outras. Isso é representado por w1, w2… no fluxograma acima.
“Ok, tudo isso é muito fascinante, mas onde as Redes Neurais encontram trabalho em um cenário prático?”
Aplicações da vida real de redes neurais
Se você ainda não descobriu, aqui está, uma rede neural pode fazer praticamente tudo, desde que você consiga obter dados suficientes e uma máquina eficiente para obter os parâmetros corretos. Qualquer coisa que, mesmo remotamente, exija aprendizado de máquina, recorre às redes neurais para obter ajuda. O aprendizado profundo é outro domínio que faz uso extensivo de redes neurais. É um dos muitos algoritmos de aprendizado de máquina que permitem que um computador execute uma infinidade de tarefas, como classificação, agrupamento ou previsão.
- Com a ajuda de redes neurais , podemos encontrar a solução de tais problemas para os quais um método tradicional-algorítmico é caro ou não existe.
- As redes neurais podem aprender por exemplo, portanto, não precisamos programá-las em grande parte.
- As redes neurais são precisas e significativamente mais rápidas do que as velocidades convencionais.
Pelos motivos mencionados acima e outros, o Deep Learning, ao fazer uso de Redes Neurais , encontra amplo uso nas seguintes áreas:

- Reconhecimento de voz: veja o exemplo do Amazon Echo Dot – alto-falantes mágicos que permitem que você peça comida, receba notícias e atualizações meteorológicas ou simplesmente compre algo online apenas falando.
- Reconhecimento de caligrafia: As redes neurais podem ser treinadas para entender os padrões da caligrafia de alguém. Dê uma olhada no aplicativo Handwriting Input do Google – que usa o reconhecimento de manuscrito para converter seus rabiscos em textos significativos.
- Reconhecimento facial: desde melhorar a segurança do seu telefone (Face ID) até os filtros super legais do Snapchat - o reconhecimento facial está em toda parte. Se você já carregou uma foto no Facebook e foi solicitado a marcar as pessoas em sua foto, você sabe o que é reconhecimento facial!
- Fornecendo inteligência artificial em jogos: Se você já jogou xadrez contra um computador, já sabe como a inteligência artificial potencializa os jogos e o desenvolvimento de jogos. É na medida em que os jogadores usam a IA para melhorar suas táticas e experimentar suas estratégias em primeira mão .
Para concluir…
As redes neurais formam a espinha dorsal de quase todas as grandes tecnologias ou invenções que você vê hoje. É justo dizer que imaginar deep/machine learning sem redes neurais é quase impossível. Dependendo da maneira como você implementa uma rede e do tipo de aprendizado que você coloca em uso, você pode obter muito de uma rede neural , em comparação com um sistema de computador tradicional.

Aprenda cursos de ML das melhores universidades do mundo. Ganhe Masters, Executive PGP ou Advanced Certificate Programs para acelerar sua carreira.
Como o aprendizado profundo é diferente das redes neurais?
O aprendizado profundo é um ramo do aprendizado de máquina, enquanto as redes neurais consistem em vários algoritmos de aprendizado de máquina. Enquanto as redes neurais empregam neurônios para transmitir dados na forma de valores de entrada e saída por meio de conexões, o aprendizado profundo está associado à transformação e extração de recursos, que visa construir uma relação entre os estímulos e as respostas neurais correspondentes existentes no cérebro.
Quais são algumas limitações das redes neurais?
Uma desvantagem de empregar redes neurais é que uma grande quantidade de dados é necessária, o que é um dos pontos negativos. Além disso, em comparação com as técnicas padrão, a utilização de redes neurais é computacionalmente cara. Um grande problema é que as redes neurais não fornecem uma boa explicação para as saídas que produzem. Isso pode ser observado em sites como o Quora, onde quando a conta de um usuário é cancelada, nenhuma explicação clara pode ser fornecida sobre por que a resposta fornecida estava incorreta.
Como a ambiguidade é tratada pelo aprendizado de máquina?
O ML inclui uma ampla variedade de tipos de dados, como fotos, vídeos, scripts e assim por diante. Embora desafiadores, algoritmos de aprendizado de máquina, como processamento de linguagem natural e sequenciamento de DNA, fornecem respostas para a ambiguidade. A ambiguidade só será reduzida se forem usados mais dados de alta qualidade. Além disso, o objetivo de ML idealizado deve ser exato e sincronizado com as necessidades do projeto de ML em questão.
