Transformer: Ligando NLP com Visão Computacional

Transformer: Ligando NLP com Visão Computacional

Introdução ao Transformer

Visão geral da seção: Nesta seção, o palestrante introduz a rede neural Transformer e explica como ela é usada para processar texto.

Entrada do Transformer

  • A entrada do Transformer é um texto com tamanho fixo (por exemplo, 512 ou 1024 palavras).
  • Se o texto for menor que isso, ele deve ser preenchido com palavras vazias.
  • Cada palavra é representada por um vetor de tamanho 256.

Codificação das Palavras

  • As palavras são codificadas em vetores usando uma técnica chamada "positional encoding".
  • Essa técnica usa senóides de frequência variável para codificar a ordem das palavras no texto.
  • O resultado é uma matriz com 256 linhas e 1024 colunas.

Bloco Encoder

  • O bloco encoder transforma os vetores que representam as palavras em vetores que levam em conta a ordem das palavras.
  • Isso é feito adicionando informações sobre a ordem das palavras aos vetores usando "positional encoding".

Vantagens do Transformer

  • O uso de "positional encoding" permite que o Transformer processe textos de comprimento variável sem perder informações importantes sobre a ordem das palavras.
  • A representação matricial dos textos permite que técnicas desenvolvidas para processamento de imagens (como TensorFlow) sejam aplicadas ao processamento de textos.

Vetores e Mecanismo de Atenção

Visão Geral da Seção: Nesta seção, o palestrante explica como os vetores são usados no mecanismo de atenção.

Vetores e Mecanismo de Atenção

  • Os vetores representam as palavras em um texto e são divididos em três cópias: consulta, chave de busca e valores.
  • O uso dessas três cópias ajuda no processamento paralelo do mecanismo de atenção.
  • O método de autoatenção é usado com múltiplas cabeças para processar vários vetores representando a mesma palavra.
  • Depois que o processamento é feito para cada cabeça, as informações precisam ser juntadas usando uma concatenação e projeção.

Conexão Residual

Visão Geral da Seção: Nesta seção, o palestrante explica a conexão residual.

Conexão Residual

  • A conexão residual é uma conexão entre a representação anterior das palavras e a nova representação após o mecanismo de atenção.
  • A conexão residual soma as duas matrizes para não perder nenhuma informação importante.

Combinando informações originais com novas informações

Visão geral da seção: Nesta seção, o palestrante explica como a informação original é combinada com as novas informações para criar uma nova representação. Ele também menciona a propagação do erro na Gradiente e sua relação com esse processo.

Combinando vetores originais com novos vetores

  • A informação original é combinada com as novas informações geradas.
  • Os vetores originais são combinados com os novos vetores para criar uma nova representação.
  • Isso permite ter vantagem das duas representações juntas.

Pittsford e redes neurais artificiais

Visão geral da seção: Nesta seção, o palestrante fala sobre Pittsford, que é uma rede neural artificial usada em visão computacional. Ele explica que essa rede usa duas camadas convolucionais e compartilhamento de pesos.

Rede neural artificial Pittsford

  • É uma rede neural artificial usada em visão computacional.
  • Usa duas camadas convolucionais e compartilhamento de pesos.
  • No caso do Transformer, ele usa duas camadas convolucionais com tamanho núcleo da convolução de tamanho 1.

Conexões skip e aprendizado hierárquico

Visão geral da seção: Nesta seção, o palestrante explica como as conexões skip são usadas para manter a informação anterior enquanto adiciona novas informações. Ele também fala sobre como a profundidade da rede permite aprender uma representação hierárquica.

Conexões skip

  • As conexões skip são usadas para manter a informação anterior enquanto adiciona novas informações.
  • Isso é feito para não perder o que foi aprendido anteriormente.
  • O bloco inteiro é chamado de codificador e é repetido seis vezes no caso do artigo.

Aprendizado hierárquico

  • A profundidade da rede permite aprender uma representação hierárquica.
  • Isso é útil para resolver problemas de visão computacional ou processamento de texto.

Codificador e decodificador do Transformer

Visão geral da seção: Nesta seção, o palestrante explica que o Transformer tem um codificador e um decodificador. Ele menciona que muitos problemas em visão computacional podem ser resolvidos apenas com o codificador.

Codificador e decodificador do Transformer

  • O Transformer tem um codificador e um decodificador.
  • Muitos problemas em visão computacional podem ser resolvidos apenas com o codificador.

Camada linear e camada softmax

Visão geral da seção: Nesta seção, o palestrante fala sobre a camada linear, que transforma uma imagem em um vetor, e a camada softmax, que pega as classes de saída.

Camada linear

  • A camada linear transforma uma imagem em um vetor.
  • É usada para criar um vetor que representa todo o texto.

Camada softmax

  • A camada softmax pega as classes de saída.
  • É usada para adivinhar a próxima palavra em um problema de processamento de texto.

Uso do Transformer em problemas de preenchimento de palavras e classificação de texto

Visão geral da seção: Nesta seção, o palestrante discute como o Transformer pode ser usado para resolver problemas de preenchimento de palavras e classificação de texto.

Uso do Transformer em problemas de preenchimento de palavras

  • O percentual mais alto no dicionário é usado para decidir qual palavra usar para preencher um campo.
  • O codificador Transformer pode resolver o problema de preenchimento de palavras.
  • Em vez disso, as palavras podem ser transformadas em classes e usadas para resolver um problema de classificação.

Uso do Transformer na classificação de texto

  • As classes podem ser usadas para classificar o gênero do texto (romance, ficção, comédia, biografia).
  • As classes também podem ser usadas para análise sentimental ou identificar a língua do texto.
  • As mesmas técnicas podem ser aplicadas à análise das frases no Twitter ou ao desempenho dos candidatos nas eleições.

Uso do Transformer em imagens

  • Para identificar a raça dos bois (Nelore, Angus ou Gir), uma imagem RGB deve ser dividida em várias regiões.
  • Cada região é transformada em um vetor que é concatenado com outros vetores gerados pelas outras regiões.
  • Essa técnica é chamada Virgem Transforma e foi proposta pelo pessoal da Google.

Combinação das ideias das redes convolucionais e Transformers

  • A ideia por trás da Virgem Transforma combina as melhores ideias das redes convolucionais usadas na visão computacional com novas ideias para resolver problemas de linguagem natural.
  • Há muito a ser explorado e desenvolvido nessa área, tornando-a um campo de pesquisa ativo e interessante.
Video description

IMPORTANTE: No caso das múltiplas cabeças (7'10"), embora eu não tenha dito no vídeo, cada um destes vetores relacionados às cabeças podem ter "pesos" associados à cada valor que podem ser apreendidos durante o treinamento normal da rede. São estes pesos que vão ajudar a rede a aprender um "sentido" diferente para as mesmas palavras no final das contas. Mesmo com uma cabeça apenas, pode ser interessante ter os pesos associados ao valores.