Quer saber como o Deep Learning funciona? Aqui está um guia rápido para todos.

Crédito da imagem: Datanami

Inteligência Artificial (IA) e Aprendizado de Máquinas (ML) são alguns dos tópicos mais interessantes agora.

O termo "AI" é jogado ao redor casualmente todos os dias. Você ouve os aspirantes a desenvolvedores dizendo que querem aprender AI. Você também ouve executivos dizendo que querem implementar a AI em seus serviços. Mas muitas vezes, muitas dessas pessoas não entendem o que é AI.

Depois de ler este artigo, você entenderá o básico de AI e ML. Mais importante ainda, você entenderá como Deep Learning , o tipo mais popular de ML, funciona.

Este guia destina-se a todos, portanto, nenhuma matemática avançada estará envolvida.

fundo

O primeiro passo para entender como o Deep Learning funciona é compreender as diferenças entre termos importantes.

Artificial Intelligence vs Machine Learning

A Inteligência Artificial é a replicação da inteligência humana nos computadores.

Quando a pesquisa da AI começou, os pesquisadores tentaram replicar a inteligência humana para tarefas específicas – como jogar um jogo.

Eles introduziram uma grande quantidade de regras que o computador precisava respeitar. O computador tinha uma lista específica de possíveis ações e tomou decisões com base nessas regras .

Aprendizagem de máquinas refere-se à capacidade de uma máquina para aprender usando grandes conjuntos de dados em vez de regras codificadas.

ML permite que os computadores aprendam por si mesmos. Este tipo de aprendizado aproveita o poder de processamento de computadores modernos, que podem facilmente processar grandes conjuntos de dados.

Aprendizagem supervisionada versus aprendizagem não supervisionada

A aprendizagem supervisionada envolve o uso de conjuntos de dados rotulados que possuem entradas e saídas esperadas.

Quando você treina um AI usando aprendizagem supervisionada, você dá uma entrada e conta a saída esperada.

Se a saída gerada pela AI for errada, ela irá reajustar seus cálculos. Este processo é feito iterativamente no conjunto de dados, até que a AI não cometa mais erros.

Um exemplo de aprendizagem supervisionada é uma IA que prevê o clima. Aprende a prever o tempo usando dados históricos. Que os dados de treinamento tenham entradas (pressão, umidade, velocidade do vento) e saídas (temperatura).

Aprendizagem não supervisionada é tarefa de aprendizagem de máquinas usando conjuntos de dados sem estrutura especificada.

Quando você treina uma AI usando aprendizado sem supervisão, você deixa a AI fazer classificações lógicas dos dados.

Um exemplo de aprendizagem sem supervisão é uma AI que predica o comportamento para um site de comércio eletrônico. Não aprenderá usando um conjunto de dados e entradas de dados rotulados.

Em vez disso, ele criará sua própria classificação dos dados de entrada. Ele irá dizer-lhe que tipo de usuários são mais propensos a comprar produtos diferentes.

Agora, como funciona Deep Learning?

Agora você está preparado para entender o que é Deep Learning e como funciona.

Deep Learning é um método de aprendizagem de máquinas . Isso nos permite treinar um AI para prever saídas, dado um conjunto de entradas. O aprendizado supervisionado e não supervisionado pode ser usado para treinar a AI.

Aprenderemos como o aprendizado profundo funciona através da construção de um hipotético serviço de estimativa de preços de bilhetes de avião . Vamos treiná-lo usando um método de aprendizagem supervisionado.

Queremos que o nosso estimador de preços do bilhete de avião preveja o preço usando as seguintes entradas (estamos excluindo os bilhetes de retorno por simplicidade):

  • Aeroporto de Origem
  • Aeroporto de Destino
  • Data de partida
  • CIA aérea

Redes neurais

Olhemos dentro do cérebro de nossa AI.

Como animais, o cérebro de nosso estimador AI possui neurônios. Eles são representados por círculos. Esses neurônios estão interconectados.

Crédito da imagem: CS231n

Os neurônios são agrupados em três tipos diferentes de camadas:

  1. Capa de entrada
  2. Camada (s) oculta (s)
  3. Camada de saída

A camada de entrada recebe dados de entrada. No nosso caso, temos quatro neurônios na camada de entrada: Aeroporto de Origem, Aeroporto de Destino, Data de Partida e Companhia Aérea. A camada de entrada passa as entradas para a primeira camada oculta.

As camadas ocultas executam cálculos matemáticos em nossas entradas. Um dos desafios na criação de redes neurais é decidir o número de camadas ocultas, bem como o número de neurônios para cada camada.

O " Deep " em Deep Learning refere-se a ter mais de uma camada oculta.

A camada de saída retorna os dados de saída. No nosso caso, nos dá a previsão de preços.

Então, como ele calcula a previsão de preços?

É aí que começa a magia da Aprendizagem Profunda .

Cada conexão entre neurônios está associada a um peso . Esse peso determina a importância do valor de entrada. Os pesos iniciais são definidos aleatoriamente.

Ao prever o preço de um bilhete de avião, a data de partida é um dos fatores mais pesados. Assim, as conexões dos neurônios da data de partida terão um grande peso.

Crédito de imagem: CodeProject

Cada neurônio possui uma função de ativação . Essas funções são difíceis de entender sem raciocínio matemático.

Simplificando, um dos seus propósitos é "padronizar" o resultado do neurônio.

Uma vez que um conjunto de dados de entrada passou por todas as camadas da rede neural, ele retorna os dados de saída através da camada de saída.

Nada complicado, né?

Treinando a Rede Neural

Treinar o AI é a parte mais difícil da Aprendizagem Profunda. Por quê?

  1. Você precisa de um grande conjunto de dados .
  2. Você precisa de uma grande quantidade de energia computacional .

Para o nosso estimador de preços do bilhete de avião, precisamos encontrar dados históricos dos preços dos ingressos. E devido à grande quantidade de aeroportos possíveis e combinações de datas de partida, precisamos de uma lista muito grande de preços dos ingressos.

Para treinar a AI, precisamos dar as entradas de nosso conjunto de dados e comparar suas saídas com as saídas do conjunto de dados. Como a AI ainda não está treinada, suas saídas serão erradas.

Uma vez que passamos por todo o conjunto de dados, podemos criar uma função que nos mostre como as saídas reais foram erradas nas saídas do AI. Esta função é chamada de função de custo .

Idealmente, queremos que nossa função de custo seja zero. É quando as saídas do nosso AI são iguais às saídas dos conjuntos de dados.

Como podemos reduzir a função de custo?

Alteramos os pesos entre os neurônios. Poderíamos alterá-los aleatoriamente até que nossa função de custo seja baixa, mas isso não é muito eficiente.

Em vez disso, usaremos uma técnica chamada Gradient Descent .

Gradient Descent é uma técnica que nos permite encontrar o mínimo de uma função. No nosso caso, estamos procurando o mínimo de função de custo.

Isso funciona alterando os pesos em pequenos incrementos após cada iteração de conjunto de dados . Ao calcular a derivada (ou gradiente) da função de custo em um determinado conjunto de pesos, podemos ver em qual direção é o mínimo.

Crédito da imagem: Sebastian Raschka

Para minimizar a função de custo, você precisa fazer uma iteração através do seu conjunto de dados muitas vezes. É por isso que você precisa de uma grande quantidade de poder computacional.

A atualização dos pesos usando a descida gradiente é feita automaticamente . Essa é a magia do Deep Learning!

Uma vez que treinamos nosso estimador de preços de ingressos de avião AI, podemos usá-lo para prever os preços futuros.

Onde posso aprender mais?

Existem muitos outros tipos de redes neurais: redes neuronais convolucionais para visão computacional e redes neuronais recorrentes para processamento de linguagem natural .

Se você quiser aprender o aspecto técnico da Deep Learning, sugiro fazer um curso on-line.

Atualmente, um dos melhores cursos para Deep Learning é Andrew Ng 's Deep Learning Specialization . Se você não está interessado em obter um certificado, não precisa pagar o curso. Você pode auditar isso gratuitamente.

Se você tiver alguma dúvida ou quiser mais explicações técnicas sobre os conceitos, por favor, pergunte abaixo!

Em suma…

  • Deep Learning usa uma Rede Neural para imitar a inteligência animal.
  • Existem três tipos de camadas de neurônios em uma rede neural: a Entrada Camada, a (s) camada (s) oculta (s) e a camada de saída.
  • As conexões entre os neurônios estão associadas a um peso, ditando a importância do valor de entrada.
  • Os neurônios aplicam uma função de ativação nos dados para "padronizar" a saída que sai do neurônio.
  • Para treinar uma Rede Neural, você precisa de um grande conjunto de dados.
  • Iterando através do conjunto de dados e comparando as saídas produzirão uma função de custo, indicando o quanto a IA está fora das saídas reais.
  • Após cada iteração através do conjunto de dados, os pesos entre os neurônios são ajustados usando Gradiente Descida para reduzir a função de custo.

Se você gostou deste artigo, me dê alguns palmas para que mais pessoas vejam isso. Obrigado!

Você também pode verificar minha explicação sobre como usei o Python para encontrar pessoas interessantes para seguir em Medium.

Para mais atualizações, siga-me no Twitter .