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.