Introdução suave à transdução em aprendizado de máquina

Introdução suave à transdução em aprendizado de máquina

Transdução ou aprendizado transdutivo são termos que você pode encontrar no aprendizado de máquina aplicado.

O termo está sendo usado com algumas aplicações de redes neurais recorrentes em problemas de predição de sequência, como alguns problemas no domínio do processamento de linguagem natural.

Nesta postagem, você descobrirá o que é transdução no aprendizado de máquina.

Depois de ler esta postagem, você saberá:

  • A definição de transdução em geral e em alguns campos específicos de estudo.
  • O que é aprendizado transdutivo no aprendizado de máquina.
  • O que significa transdução ao falar sobre problemas de previsão de sequência.

Comece seu projeto com meu novo livro Deep Learning for Natural Language Processing, incluindo tutoriais passo a passo e a Código-fonte Python arquivos para todos os exemplos.

Vamos começar.

Visão geral

Este tutorial é dividido em 4 partes; eles estão:

  1. O que é transdução?
  2. Aprendizagem Transdutiva
  3. Transdução em Linguística
  4. Transdução na Predição de Sequência

O que é transdução?

Vamos começar com algumas definições básicas do dicionário.

Transduzir significa converter algo em outra forma.

transduzir: para converter (algo, como energia ou uma mensagem) em outra forma, os órgãos dos sentidos, essencialmente, transduzir energia física em um sinal nervoso

- Dicionário Merriam-Webster (online), 2017

É um termo popular no campo da eletrônica e processamento de sinais, onde um “transdutor”É um nome geral para componentes ou módulos que convertem sons em energia ou vice-versa.

Todo o processamento de sinal começa com um transdutor de entrada. O transdutor de entrada pega o sinal de entrada e o converte em um sinal elétrico. Em aplicações de processamento de sinal, o transdutor pode assumir várias formas. Um exemplo comum de transdutor de entrada é um microfone.

- Desmistificado do Processamento de Sinal Digital, 1997

Em biologia, especificamente genética, transdução se refere ao processo de um microrganismo transferindo material genético para outro microrganismo.

transdução: a ação ou processo de transdução; especialmente: a transferência de material genético de um microrganismo para outro por um agente viral (como um bacteriófago)

- Dicionário Merriam-Webster (online), 2017

Então, geralmente, podemos ver que a transdução é sobre a conversão de um sinal em outra forma.

A descrição do processamento de sinal é a mais saliente onde as ondas sonoras são transformadas em energia elétrica para algum uso dentro de um sistema. Cada som seria representado por alguma assinatura elétrica, em algum nível escolhido de amostragem.

Exemplo de transdutor de processamento de sinal

Exemplo de transdutor de processamento de sinal

Aprendizagem Transdutiva

A transdução ou aprendizagem transdutiva é usada no campo da teoria da aprendizagem estatística para se referir à previsão de exemplos específicos dados exemplos específicos de um domínio.

É contrastado com outros tipos de aprendizagem, como aprendizagem indutiva e aprendizagem dedutiva.

Indução, derivando a função dos dados fornecidos. Dedução, derivando os valores da função dada para pontos de interesse. Transdução, derivando os valores da função desconhecida para pontos de interesse a partir dos dados fornecidos.

- Página 169, The Nature of Statistical Learning Theory, 1995

Relação entre indução, dedução e transdução

Relação entre indução, dedução e transdução
Retirado de The Nature of Statistical Learning Theory.

É um enquadramento interessante de aprendizagem supervisionada onde o problema clássico de “aproximar uma função de mapeamento de dados e usá-la para fazer uma previsão”É vista como mais difícil do que o necessário. Em vez disso, previsões específicas são feitas diretamente a partir de amostras reais do domínio. Nenhuma aproximação de função é necessária.

O modelo de estimativa do valor de uma função em um determinado ponto de interesse descreve um novo conceito de inferência: passar do particular para o particular. Chamamos esse tipo de inferência de inferência transdutiva. Observe que esse conceito de inferência aparece quando se deseja obter o melhor resultado de uma quantidade restrita de informações.

- Página 169, The Nature of Statistical Learning Theory, 1995

Um exemplo clássico de algoritmo transdutivo é o algoritmo k-Nearest Neighbours, que não modela os dados de treinamento, mas os usa diretamente sempre que uma previsão é necessária.

A transdução está naturalmente relacionada a um conjunto de algoritmos conhecido como aprendizado baseado em instância ou baseado em caso. Talvez o algoritmo mais conhecido nesta classe seja o algoritmo k-vizinho mais próximo.

- Aprendizagem por Transdução, 1998

Precisa de ajuda com Deep Learning for Text Data?

Faça meu curso intensivo de e-mail gratuito de 7 dias agora (com código).

Clique para se inscrever e também obter uma versão gratuita do Ebook em PDF do curso.

Comece Seu Crash-Course GRÁTIS Agora

Transdução em Linguística

Classicamente, a transdução tem sido usada quando se fala em linguagem natural, como no campo da linguística.

Por exemplo, existe a noção de um “gramática de transdução”Que se refere a um conjunto de regras para transformar exemplos de um idioma em outro.

Uma gramática de transdução descreve um par de línguas estruturalmente correlacionado. Ele gera pares de frases, em vez de frases. A frase do idioma 1 é (pretende ser) uma tradução da frase do idioma 2.

- Página 460, Handbook of Natural Language Processing, 2000.

Há também o conceito de “transdutor de estado finito” (FST) da teoria da computação que é invocado quando se fala sobre tarefas de tradução para mapear um conjunto de símbolos para outro. É importante ressaltar que cada entrada produz uma saída.

Um transdutor de estado finito consiste em vários estados. Ao fazer a transição entre estados, um símbolo de entrada é consumido e um símbolo de saída é emitido.

- Página 294, Tradução automática estatística, 2010.

Este uso de transdução ao falar sobre teoria e tradução automática clássica colorem o uso do termo quando se fala sobre predição de sequência moderna com redes neurais recorrentes em tarefas de processamento de linguagem natural.

Transdução na Predição de Sequência

Em seu livro sobre redes neurais para processamento de linguagem, Yoav Goldberg define um transdutor como um modelo de rede específico para tarefas de PNL.

Um transdutor é estritamente definido como um modelo que produz uma etapa de tempo para cada etapa de tempo de entrada fornecida. Isso mapeia para o uso linguístico, especificamente com transdutores de estado finito.

Outra opção é tratar o RNN como um transdutor, produzindo uma saída para cada entrada que ele lê.

- Página 168, Métodos de rede neural em processamento de linguagem natural, 2017.

Ele propõe esse tipo de modelo para marcação de sequência, bem como modelagem de linguagem. Ele prossegue indicando que a geração condicionada, como ocorre com a arquitetura codificador-decodificador, pode ser considerada um caso especial do transdutor RNN.

Este último ponto é surpreendente dado que o Decodificador na arquitetura do modelo Codificador-Decodificador permite um número variado de saídas para uma dada sequência de entrada, interrompendo “uma saída por entrada” na definição.

Gráfico de treinamento do transdutor RNN

Transdutor RNN Training Graph.
Retirado de “Neural Network Methods in Natural Language Processing.”

Mais geralmente, a transdução é usada em tarefas de predição de sequência de PNL, especificamente tradução. As definições parecem mais relaxadas do que a estrita uma saída por entrada de Goldberg e o FST.

Por exemplo, Ed Grefenstette, et al. descreve a transdução como mapeamento de uma string de entrada para uma string de saída.

Muitas tarefas de processamento de linguagem natural (PNL) podem ser vistas como problemas de transdução, ou seja, aprender a converter uma string em outra. A tradução automática é um exemplo prototípico de transdução e resultados recentes indicam que Deep RNNs têm a capacidade de codificar longas strings de origem e produzir traduções coerentes

- Learning to Transduce with Unbounded Memory, 2015.

Eles continuam fornecendo uma lista de algumas tarefas específicas da PNL que ajudam a tornar concreta essa ampla definição.

A transdução de cordas é central para muitas aplicações em PNL, desde transliteração de nome e correção ortográfica até morfologia flexional e tradução automática

Alex Graves também usa transdução como sinônimo de transformação e também fornece uma lista de exemplos de tarefas de PNL que atendem à definição.

Muitas tarefas de aprendizado de máquina podem ser expressas como a transformação - ou transdução - de sequências de entrada em sequências de saída: reconhecimento de fala, tradução automática, previsão de estrutura secundária de proteína e conversão de texto em fala, para citar apenas alguns.

- Sequence Transduction with Recurrent Neural Networks, 2012.

Para resumir, podemos reformular uma lista de tarefas de processamento transdutivo de linguagem natural da seguinte maneira:

  • Transliteração, produzindo palavras em uma forma de destino, dados exemplos em uma forma de origem.
  • Correção ortográfica, produzindo a grafia correta da palavra dada a grafia incorreta da palavra.
  • Morfologia Inflexional, produzindo novas sequências dadas sequências de origem e contexto.
  • Maquina de tradução, produzindo sequências de palavras em um idioma de destino, com exemplos em um idioma de origem.
  • Reconhecimento de fala, produzindo sequências de texto dadas sequências de áudio.
  • Predição de estrutura secundária de proteína, prevendo a estrutura 3D dadas as sequências de entrada de aminoácidos (não NLP).
  • Text-to-Speech, ou síntese de voz, produzindo sequências de texto de áudio fornecidas.

Finalmente, além da noção de transdução que se refere a classes amplas de problemas de PNL e modelos de predição de sequência RNN, alguns novos métodos estão sendo explicitamente nomeados como tal. Navdeep Jaitly, et al. referem-se ao seu novo método de predição sequência a sequência RNN como um “Transdutor Neural“, Que tecnicamente RNNs para predição sequência a sequência também seriam.

apresentamos um transdutor neural, uma classe mais geral de modelos de aprendizagem sequência a sequência. O Transdutor Neural pode produzir pedaços de saídas (possivelmente de comprimento zero) conforme os blocos de entradas chegam - satisfazendo assim a condição de estar “online”. O modelo gera saídas para cada bloco usando um transdutor RNN que implementa um modelo de sequência a sequência.

- A Neural Transducer, 2016

Leitura Adicional

Esta seção fornece mais recursos sobre o tópico se você estiver procurando ir mais fundo.

Definições

Teoria da Aprendizagem

Linguística

Predição de sequência

Resumo

Nesta postagem, você descobriu a transdução no aprendizado de máquina aplicado.

Especificamente, você aprendeu:

  • A definição de transdução em geral e em alguns campos específicos de estudo.
  • O que é aprendizado transdutivo no aprendizado de máquina.
  • O que significa transdução ao falar sobre problemas de previsão de sequência.

Você tem alguma pergunta?
Tire suas dúvidas nos comentários abaixo e farei o possível para responder.

Desenvolva modelos de aprendizado profundo para dados de texto hoje!

Aprendizado profundo para processamento de linguagem natural

Desenvolva seus próprios modelos de texto em minutos

... com apenas algumas linhas de código python

Descubra como em meu novo Ebook:
Aprendizado profundo para processamento de linguagem natural

Ele fornece tutoriais de auto-estudo em tópicos como:
Bag-of-Words, Word Embedding, Language Models, Caption Generation, Text Translation e muito mais...

Finalmente, leve o aprendizado profundo para seus projetos de processamento de linguagem natural

Ignore os acadêmicos. Apenas resultados.

Veja o que há dentro

Você também pode estar interessado em