Você está na página 1de 27

BERT

Intuição
BERT - Intuição

O que é BERT?
O que é BERT?

Bidirectional Encoder Representations from Transformers (representações de codificador bidirecional de


transformadores):
- Encoder Representations: Sistema de modelagem de linguagem com pré-treinamento com dados não
rotulados. Fine-tuning para outras aplicações
- from Transformer: Baseado em uma das arquiteturas mais poderosas de Processamento de Linguagem
Natural. O Transformer define a arquitetura do BERT
- Bidirectional: Utiliza o contexto da esquerda e direita para entendimento das palavras. O processo de
treinamento é baseado nessas palavras, como por exemplo: “I like my dog”

Embeddings
BERT - Intuição

Ideia geral
Transfer learning

Transfer learning:
Transfer learning

Antes da transferência de aprendizagem em PLN:

- pseudo bidirecional
- porém, utiliza RNNs
Transfer learning

Antes da transferência de aprendizagem em PLN:

- uso da arquitetura Transformer


- porém, o contexto é da esquerda para a direita
Transfer learning

BERT:

Combina os dois princípios (Transformer e bidirecional),


pois o método de treinamento é baseado em um
mascaramento da linguagem
Transfer learning

Resumo das arquiteturas:


Transfer learning

Pré-treinamento da arquitetura BERT:


- dados: BooksCorpus (800M palavras) e Wikipedia em inglês (2,5000M palavras). São necessários textos do
tipo “documento” para termos sequências contínuas
- 2 tasks: previsão de uma palavra e previsão da próxima sentença
- mais ou menos 3 dias de treinamento executando em 16 TPUs
BERT - Intuição

Arquitetura BERT
Encoders from Transformer

Arquitetura BERT: pilhas de codificadores


Encoders from Transformer

Arquitetura BERT: pilhas de codificadores

L: número de camadas codificadoras


H: hidden size (“embedding dim”)
A: número de “self-attention heads”

- BERT_base: L=12, H=768, A=12


parameters: 110M
- BERT_large: L= 24, H=1024, A=16
parameters: 340M
Inputs (entradas)

BERT’s inputs flexibility:


- Precisamos representar uma única sentença e também um par de sentenças (para Q&A, por exemplo)
- Precisamos ter acesso fácil para a ferramenta de classificação do BERT

[CLS] + Sentence A + [SEP] + Sentence B

[CLS]: token de classificação


[SEP]: token de separação entre duas sentenças (sentença B é opcional)
Inputs (entradas)

Qual o tamanho das sentenças?

string tokens vectors

tokenization embedding

He likes playing [He, likes, play, ##ing] [[0.173, -0.837, …],


[0.736, 0.374, …],
[-0.364, -0.023, …],
[0.367, -0.536, …]]
Tokenizer (tokenizador)

Tokenizador BERT’:

WordPiece tokenizer:
- 30,522 “palavras”
- Lida com uma nova palavra combinando palavras conhecidas
- Ajuda a resolver o problema de palavras que “estão e não estão” no vocabulário
- Cada palavra terá um identificador (ID) único
Transformed inputs (entradas transformadas)

O codificador recebe:
- Embedded words (palavras)
- Indicação sobre a primeira e segunda sentença
- Positional embedding (como no Transformer)
Outputs (saídas)

Dois tipos de saídas:


- Saída para o token [CLS]
- Representação para cada token

C: usado para classificação e treinado durante


“previsão da próxima sentença”
Tk: usado para tarefas no “nível de palavra”
(embedding, Q&A). O treinamento é realizado
durante a etapa de “Mask Language Model”

Cada token é um vetor do mesmo tamanho


(hidden size H, 768 for BERTbase).
BERT - Intuição

Pré-treinamento BERT
Pré-treinamento

Duas fases:
- MLM (Masked Language Model) -> vetor
para cada token
- NSP (Next Sentence Prediction) -> um vetor
para classificação
Pré-treinamento

Masked Language Model:

Como aplicar treinamento bidirecional com Transformer?


Pré-treinamento

Masked Language Model:

Como aplicar treinamento bidirecional com Transformer?


?

Mascaramos as palavras que queremos prever

[MSK]
Pré-treinamento

Masked Language Model:

15% das palavras são substituiídas por:


- [MASK] token em 80% dos casos
- Token randômico em 10% dos
casos
- Não modificar o token em 10%
dos casos

Depois fazemos a previsão


Pré-treinamento

Masked Language Model:

BERT aprende a relação entre as


palavras e a importância do contexto

Faz a diferenciação entre homônimos


(cem e sem)
Pré-treinamento

Previsão da próxima sentença:


- Obtem um entendimento de nível superior, de palavras para frases
- Mais tarefas, como perguntas e respostas
Pré-treinamento

Previsão da próxima sentença:

De duas sentenças A e B (separadas por [SEP]): IsNext/NotNext.

A: Ecology is one of the biggest challenge of this


century.
IsNext
B: Reducing our energy consumption could help saving
living beings

A: Ecology is one of the biggest challenge of this


century.
NotNext
B: Camels have three eyelids to help protect themselves
from sand blowing in their eyes.
Pré-treinamento

Previsão da próxima sentença:

Você também pode gostar