Sobes.tech
Middle — Senior

O que é o sampling negativo no treino do word2vec e para que serve?

sobes.tech IA

Resposta da IA

Amostragem negativa é uma técnica de otimização usada no treino do modelo word2vec para um aprendizado eficiente em tarefas com vocabulário muito grande. Em vez de calcular a probabilidade para todas as palavras do vocabulário (o que é muito dispendioso), a amostragem negativa seleciona vários exemplos "negativos" (palavras que não fazem parte do contexto da palavra dada) e treina o modelo para distinguir entre pares de palavras reais (exemplos positivos) e aleatórios (negativos).

Isto permite acelerar significativamente o treino e reduzir os custos computacionais, mantendo a qualidade das embeddings obtidas. No final, o modelo aprende a aumentar a probabilidade de palavras próximas e a diminuir a de palavras aleatórias.

Exemplo: para um par (palavra, contexto) — exemplo positivo, são selecionadas várias palavras aleatórias do vocabulário como negativas, e o modelo aprende a distingui-las.

# Pseudocódigo de amostragem negativa
for target_word, context_word in corpus:
    positive_pair = (target_word, context_word)
    negative_samples = sample_negative_words(k)  # k — número de exemplos negativos
    update_model(positive_pair, negative_samples)