deep learning - aprendizagem profunda

Entenda como funciona o Deep Learning

Inteligência Artificial (IA) e Aprendizado de Máquina (ML) são alguns dos tópicos mais quentes no momento.

O termo “IA” é usado casualmente todos os dias. Você ouve desenvolvedores dizendo que querem aprender IA. Você também ouve executivos dizendo que querem implementar IA em seus serviços. Mas muitas vezes, muitas dessas pessoas não entendem o que é AI.

Depois de ler este artigo, você entenderá os fundamentos da IA ​​e do ML. Mais importante, você entenderá como o Deep Learning, o tipo mais popular de ML, funciona.

Leia mais: As 11 melhores extensões do Google Chrome

Este guia é destinado a todos, portanto, nenhuma matemática avançada será envolvida.

Inteligência Artificial vs Aprendizado de Máquina

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

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

Quando a pesquisa de IA começou, os pesquisadores estavam tentando replicar a inteligência humana para tarefas específicas – como jogar um jogo.

Leia mais: Receba aulas grátis de eletrônica geral

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

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

O ML permite que os computadores aprendam sozinhos. Esse tipo de aprendizado tira proveito do poder de processamento dos computadores modernos, que podem facilmente processar grandes conjuntos de dados.

Leia mais: Mulheres na tecnologia: por um mundo mais igualitário

Aprendizado supervisionado x Aprendizado não supervisionado

O Aprendizado Supervisionado envolve o uso de conjuntos de dados rotulados que possuem entradas e saídas esperadas.

Quando você treina uma IA usando aprendizado supervisionado, você dá uma entrada e informa a saída esperada.

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

Leia mais: Recupere seu cabelo com produtos naturais

Um exemplo de aprendizado supervisionado é uma IA com previsão do tempo. Aprende a prever o tempo usando dados históricos. Esses dados de treinamento possuem entradas (pressão, umidade, velocidade do vento) e saídas (temperatura).

Aprendizado não supervisionado é a tarefa de aprendizado de máquina usando conjuntos de dados sem estrutura especificada.

Quando você treina um modelo de IA usando aprendizado não supervisionado, você permite que a AI faça classificações lógicas dos dados.

Leia mais: Mulheres Inspiradoras na Tecnologia

Um exemplo de aprendizado não supervisionado é uma IA com previsão de comportamento para um site de comércio eletrônico. O modelo não aprende usando um conjunto de dados rotulados de entradas e saídas.

Em vez disso, ele criará sua própria classificação dos dados de entrada. Ele lhe dirá quais tipos de usuários são mais propensos a comprar produtos diferentes.

Agora, como funciona o Deep Learning?

Deep Learning é um método de aprendizado de máquina. Isso nos permite treinar um modelo de Inteligência Artificial para prever saídas, dado um conjunto de entradas. Aprendizado supervisionado e não supervisionado pode ser usado para treinar o modelo.

Vamos aprender como a aprendizagem profunda funciona construindo um serviço hipotético de estimativa de preço de bilhetes de avião. Vamos treiná-lo usando um método de aprendizado supervisionado.

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

  • Aeroporto de origem
  • Aeroporto de destino
  • Data de partida
  • CIA aérea

Redes neurais

Redes neurais – vamos olhar dentro do cérebro da nossa IA.

Leia mais: 3 conceitos básicos sobre Banco de Dados que você precisa conhecer

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

deep learning - aprendizagem profunda

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

  • Camada de entrada
  • Camada (s) oculta (s)
  • 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.

Leia mais: Aprenda PHP em menos de 7 semanas

As camadas ocultas realizam 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ço.

deep learning - aprendizagem profunda

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

É aqui que começa a magia do Aprendizado Profundo.

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

Leia mais: A importância da mulher na história da computação

Ao prever o preço de um bilhete de avião, a data de partida é um dos fatores mais pesados. Assim, a data de partida das conexões neuronais terá um grande peso.

deep learning - aprendizagem profunda

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

Simplificando, um de seus propósitos é “padronizar” a saída do neurônio.

Leia mais: Recupere seu cabelo com produtos naturais

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

Treinando a Rede Neural

Treinar a IA é a parte mais difícil do Aprendizado Profundo. Por quê?

  • Você precisa de um grande conjunto de dados.
  • Você precisa de uma grande quantidade de poder computacional.

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

Leia mais: Notícias falsas geradas pela IA: ainda não estamos livres delas

Para treinar o modelo de IA, precisamos fornecer as entradas do nosso conjunto de dados e comparar suas saídas com as saídas do conjunto de dados. Como a rede neural ainda não foi treinada, suas saídas estarão erradas.

Depois de analisarmos todo o conjunto de dados, podemos criar uma função que nos mostre o quão erradas as saídas da IA ​​foram das saídas reais. Essa função é chamada de função de custo.

Idealmente, queremos que nossa função de custo seja zero. É quando as saídas da nossa rede são iguais às saídas do conjunto de dados.

Como podemos reduzir a função de custo?

Nós mudamos 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 gradiente descendente.

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

Leia mais: Melhores linguagens de programação em 2018

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

deep learning - aprendizagem profunda

Para minimizar a função de custo, você precisa fazer uma iteração em seu conjunto de dados várias vezes. É por isso que você precisa de uma grande quantidade de poder computacional.

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

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

Leia mais: Software livre é coisa de mulher sim

Onde posso aprender mais?

deep learning - aprendizagem profunda

Existem muitos outros tipos de redes neurais: Redes Neurais Convolucionais para Visão Computacional e Redes Neurais Recorrentes para Processamento de Linguagem Natural.

Se você quer aprender o aspecto técnico do Deep Learning, o ideal é fazer um curso online.

Resumindo

  • 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 camada de entrada, a camada oculta 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
  • Iterar através do conjunto de dados e comparar as saídas produzirá uma Função de Custo, indicando quanto a AI está desligada das saídas reais.
  • Após cada iteração pelo conjunto de dados, os pesos entre os neurônios são ajustados usando o Gradient Descent para reduzir a função de custo.