Aprendizado profundo x Aprendizado de máquina em Azure Machine Learning versus Machine Learning

Este artigo explica o aprendizado profundo versus o aprendizado de máquina e como eles se encaixam na categoria mais ampla de inteligência artificial. Saiba mais sobre soluções de aprendizado profundo que você pode criar em Azure Machine Learning, como detecção de fraudes, reconhecimento de voz e facial, análise de sentimentos e previsão de séries temporais.

Para obter orientação sobre como escolher algoritmos para suas soluções, consulte a folha de consulta do algoritmo de Machine Learning.

Os modelos de base no Azure Machine Learning são modelos de aprendizado profundo pré-treinados que podem ser ajustados para casos de uso específicos. Saiba mais sobre modelos de base (versão prévia) no Azure Machine Learning e como usar modelos de base no Azure Machine Learning (versão prévia).

Aprendizado de máquina e aprendizado profundo e IA

Relationship diagram: AI vs. machine learning vs. deep learning

Considere as seguintes definições para entender o aprendizado profundo versus Machine Learning versus ia:

  • Aprendizado profundo é um subconjunto do machine learning baseado em redes neurais artificiais. O processo de aprendizado é profundo porque a estrutura das redes neurais artificiais consiste em várias camadas: de entrada, saída e oculta. Cada camada contém unidades que transformam os dados de entrada em informações que a próxima camada pode usar para executar uma determinada tarefa preditiva. Graças a essa estrutura, um computador pode aprender por meio de seu próprio processamento de dados.

  • O machine learning é um subconjunto de inteligência artificial que usa técnicas (como o aprendizado profundo) que permitem que os computadores usem a experiência para aprimorar as tarefas. O processo de aprendizado consta das seguintes etapas:

    1. Alimentar dados em um algoritmo. (Nesta etapa, você pode fornecer informações adicionais para o modelo, por exemplo, executando extração de recursos.)
    2. Usar esses dados para treinar um modelo.
    3. Testar e implantar o modelo.
    4. Consuma o modelo implantado para realizar uma tarefa de previsão automatizada. (Em outras palavras, chame e use o modelo implantado para receber as previsões retornadas pelo modelo.)
  • A inteligência artificial (IA) é uma técnica que permite aos computadores imitar a inteligência humana. Ela inclui o machine learning.

  • A IA generativa é um subconjunto de inteligência artificial que usa técnicas (como aprendizado profundo) para gerar novo conteúdo. Por exemplo, você pode usar IA generativa para criar imagens, texto ou áudio. Esses modelos aproveitam conhecimento pré-treinado em massa para gerar esse conteúdo.

Usando as técnicas de aprendizado de máquina e de aprendizado profundo, você pode criar sistemas de computador e aplicativos que fazem tarefas que são normalmente associadas à inteligência humana. Essas tarefas incluem reconhecimento de imagem, reconhecimento de fala e tradução de idioma.

Técnicas de aprendizado profundo e o aprendizado de máquina

Agora que você tem a visão geral do aprendizado de máquina versus aprendizado profundo, vamos comparar as duas técnicas. No Machine Learning, o algoritmo precisa ser informado sobre como fazer uma previsão precisa, consumindo mais informações (por exemplo, executando extração de recursos). No aprendizado profundo, o algoritmo pode aprender a fazer uma previsão precisa por meio de seu próprio processamento de dados, graças à estrutura de rede neural artificial.

A tabela a seguir compara as duas técnicas mais detalhadamente:

Todos os aprendizado de máquina Apenas aprendizado profundo
Número de pontos de dados Pode usar pequenas quantidades de dados para fazer previsões. Precisa usar grandes quantidades de dados de treinamento para fazer previsões.
Dependências do hardware Pode funcionar em máquinas de low-end. Ele não precisa de uma grande quantidade de poder computacional. Depende de computadores avançados. Ele faz inerentemente um grande número de operações de multiplicação de matriz. Uma GPU pode otimizar essas operações com eficiência.
Processo de personalização Requer que os recursos sejam identificados e criados com precisão pelos usuários. Aprende recursos de alto nível de dados e cria novos recursos por si só.
Abordagem de aprendizagem Divide o processo de aprendizado em etapas menores. Em seguida, ele combina os resultados de cada etapa em uma saída. Percorre o processo de aprendizado resolvendo o problema de ponta a ponta.
Tempo de execução Leva um tempo comparativamente pequeno para ser treinado, variando de alguns segundos a algumas horas. Geralmente leva muito tempo para treinar porque um algoritmo de aprendizado profundo envolve muitas camadas.
Saída A saída geralmente é um valor numérico, como uma pontuação ou uma classificação. A saída pode ter vários formatos, como um texto, uma pontuação ou um som.

O que é a transferência de aprendizado?

O treinamento de modelos de aprendizado profundo geralmente requer grandes quantidades de dados de treinamento, recursos de computação de alto nível (GPU, TPU) e um tempo de treinamento mais longo. Em cenários em que não há nenhum deles disponível para você, você pode fazer um atalho para o processo de treinamento usando uma técnica conhecida como aprendizado de transferência.

O aprendizado de transferência é uma técnica que aplica o conhecimento obtido na resolução de um problema para um problema diferente, mas relacionado.

Devido à estrutura de redes neurais, o primeiro conjunto de camadas geralmente contém recursos de nível mais baixo, enquanto o conjunto final de camadas contém recursos de nível mais alto que estão mais próximos do domínio em questão. Ao redirecionar as camadas finais para uso em um novo domínio ou problema, você pode reduzir significativamente a quantidade de tempo, os dados e os recursos de computação necessários para treinar o novo modelo. Por exemplo, se você já tiver um modelo que reconheça carros, poderá redirecionar esse modelo usando o aprendizado de transferência para também reconhecer caminhões, motocicletas e outros tipos de veículos.

Saiba como aplicar o aprendizado de transferência para classificação de imagem usando uma estrutura de código-fonte aberto no Azure Machine Learning: treinar um modelo de PyTorch de aprendizado profundo usando o aprendizado de transferência.

Casos de Uso do Aprendizado Profundo

Devido à estrutura de rede neural artificial, o profundo aprendizado de excels na identificação de padrões em dados não estruturados, como imagens, som, vídeo e texto. Por esse motivo, o aprendizado profundo está transformando rapidamente muitas indústrias, incluindo saúde, energia, finanças e transporte. Esses setores agora estão relembrando os processos de negócios tradicionais.

Alguns dos aplicativos mais comuns para aprendizado profundo são descritos nos parágrafos a seguir. No Azure Machine Learning, você pode usar um modelo compilado de uma estrutura de código-fonte aberto ou criar o modelo usando as ferramentas fornecidas.

Reconhecimento de entidade nomeada

O reconhecimento de entidade nomeada é um método de aprendizado profundo que leva um pedaço de texto como entrada e o transforma em uma classe predeterminada. Essas novas informações podem ser um CEP, uma data, uma ID de produto. As informações podem então ser armazenadas em um esquema estruturado para criar uma lista de endereços ou servir como um parâmetro de comparação para um mecanismo de validação de identidade.

Detecção de objetos

O aprendizado profundo foi aplicado em muitos casos de uso de detecção de objetos. A detecção de objetos é usada para identificar objetos em uma imagem (como carros ou pessoas) e fornecer um local específico para cada objeto com uma caixa delimitadora.

A detecção de objetos já é usada em setores como jogos, varejo, turismo e carros de autoatendimento.

Geração de legenda de imagem

Como o reconhecimento de imagem, em legendas de imagens, para uma determinada imagem, o sistema deve gerar uma legenda que descreve o conteúdo da imagem. Quando você pode detectar e rotular objetos em fotografias, a próxima etapa é transformar esses rótulos em frases descritivas.

Normalmente, os aplicativos de legenda de imagem usam redes neurais de revolução para identificar objetos em uma imagem e, em seguida, usam uma rede neural recorrente para transformar os rótulos em sentenças consistentes.

Tradução automática

A tradução automática usa palavras ou frases de uma linguagem e as converte automaticamente em outro idioma. A tradução automática já existe há muito tempo, mas o aprendizado profundo atinge resultados impressionantes em duas áreas específicas: tradução automática de texto (e conversão de fala em texto) e tradução automático de imagens.

Com a transformação de dados apropriada, uma rede neural pode entender o texto, áudio e sinais visuais. A tradução automática pode ser usada para identificar trechos de som em arquivos de áudio maiores e transcrever a palavra ou imagem falada como texto.

Análises de texto

A análise de texto baseada em métodos de aprendizado profundo envolve a análise de grandes quantidades de dados de texto (por exemplo, documentos médicos ou recebimentos de despesas), reconhecimento de padrões e criação de informações organizadas e concisas.

As empresas usam o aprendizado profundo para executar a análise de texto para detectar o Insider Trading e a conformidade com as normas governamentais. Outro exemplo comum é a fraude de seguro: a análise de texto geralmente foi usada para analisar grandes quantidades de documentos para reconhecer as chances de uma declaração de seguro ser fraude.

Redes neurais artificiais

Redes neurais artificial são formadas por camadas de nós conectados. Os modelos de aprendizado profundo usam redes neurais que têm um grande número de camadas.

As seções a seguir exploram a typologies de rede neural artificial mais popular.

Rede neural Feedforward

A rede neural Feedforward é o tipo mais simples de rede neural artificial. Em uma rede Feedforward, as informações se movem em apenas uma direção da camada de entrada para a camada de saída. As redes neurais Feedforward transformam uma entrada colocando-a em uma série de camadas ocultas. Cada camada é composta de um conjunto de neurônios, e cada camada é totalmente conectada a todos os neurônios na camada antes. A última camada totalmente conectada (a camada de saída) representa as previsões geradas.

RNN (Rede Neural Recorrente)

As redes neurais recorrentes são uma rede neural artificial amplamente usada. Essas redes salvam a saída de uma camada e as alimentam de volta à camada de entrada para ajudar a prever o resultado da camada. As redes neurais recorrentes têm ótimos recursos de aprendizado. Eles são amplamente usados para tarefas complexas, como Previsão de série temporal, aprendizado de manuscrito e linguagem de reconhecimento.

CNN (Rede Neural Convolucional)

Uma rede neural de revolução é uma rede neural artificialmente eficaz e apresenta uma arquitetura exclusiva. As camadas são organizadas em três dimensões: largura, altura e profundidade. Os neurônios em uma camada conectam-se não a todos os neurônios na próxima camada, mas apenas a uma pequena região dos neurônios da camada. A saída final é reduzida a um único vetor de pontuações de probabilidade, organizadas ao longo da dimensão de profundidade.

As redes neurais de revolução foram usadas em áreas como reconhecimento de vídeo, reconhecimento de imagem e sistemas de recomendação.

GAN (Rede Adversária Gerativa)

Redes adversárias gerativas são modelos gerativos treinados para criar conteúdo realista, como imagens. São compostas por duas redes conhecidas como gerador e discriminador. Ambas as redes são treinadas simultaneamente. Durante o treinamento, o gerador usa ruído aleatório para criar dados sintéticos que se assemelham muito aos dados reais. O discriminador usa a saída do gerador como entrada e usa dados reais para determinar se o conteúdo gerado é real ou sintético. Cada rede compete entre si. O gerador tenta gerar conteúdo sintético indistinguível do conteúdo real, e o discriminador tenta classificar corretamente as entradas como reais ou sintéticas. A saída é usada para atualizar os pesos de ambas as redes para ajudá-las a atingir melhor suas respectivas metas.

Redes adversárias gerativas são usadas para resolver problemas como conversão de imagem para imagem e progressão de idade.

Transformadores

Transformadores são uma arquitetura de modelo adequada para resolver problemas que contêm sequências como dados de texto ou de série temporal. Eles consistem em camadas de codificador e decodificador. O codificador recebe uma entrada e a mapeia para uma representação numérica que contém informações como contexto. O decodificador usa informações do codificador para produzir uma saída, como texto traduzido. O que torna os transformadores diferentes de outras arquiteturas que contêm codificadores e decodificadores são as subcamadas de atenção. Atenção é a ideia de se concentrar em partes específicas de uma entrada com base na importância de seu contexto em relação a outras entradas em uma sequência. Por exemplo, ao resumir um artigo de notícias, nem todas as frases são relevantes para descrever a ideia principal. Ao se concentrar em palavras-chave ao longo do artigo, o resumo pode ser feito em uma única frase, o título.

Os transformadores são usados para resolver problemas de processamento de idioma natural, como tradução, geração de texto, resposta a perguntas e resumo de texto.

Algumas implementações bem conhecidas de transformadores são:

  • BERT (Representações de Codificador Bidirecional de Transformadores)
  • GPT-2 (Transformador Pré-Treinado Gerativo 2)
  • GPT-3 (Transformador Pré-Treinado Gerativo 3)

Próximas etapas

Os artigos a seguir mostram mais opções para usar modelos de aprendizado aprofundado de software livre no Azure Machine Learning: