greedy search
Greedy search er en dekodningsstrategi, der ved hvert trin vælger det mest sandsynlige næste token uden at overveje fremtidige konsekvenser.
Kort fortalt
Greedy search vælger altid det ord eller token, der ser bedst ud lige nu, når en AI genererer en sætning.
- Kategori
- teknik
- Niveau
- begynder
Betydninger
1- 1
En dekodningsalgoritme i sekvensgenerering, der ved hvert tidstrin vælger elementet med højest sandsynlighed, uden at foretage nogen fremadskuende evaluering.
- Ved brug af greedy search til maskinoversættelse vælges det mest sandsynlige ord i hvert trin, hvilket ofte resulterer i korte og syntaktisk enkle oversættelser.
- Greedy search er en populær baseline i tekstgenerering på grund af sin enkelhed, men den kan overse mere sammenhængende sekvenser, som beam search finder.
Hvornår bruges det
Greedy search bruges ofte i sekvensgenereringsmodeller som maskinoversættelse eller tekstgenerering, hvor hastighed er vigtigere end optimalitet. Det er enkelt at implementere, men kan føre til suboptimale sætninger, fordi det ikke tager højde for fremtidige valg.
Kodeeksempel
def greedy_search(logits, vocab_size):
import torch
# logits: (batch_size, seq_len, vocab_size)
generated = []
for t in range(seq_len):
probs = torch.softmax(logits[:, t, :], dim=-1)
next_token = torch.argmax(probs, dim=-1)
generated.append(next_token.item())
return generatedEn simpel Python-implementering af greedy search, der vælger token med højest sandsynlighed i hvert tidstrin.
Oprindelse
Fra engelsk 'greedy' ('grådig') og 'search' ('søgning'); henviser til algoritmens grådige natur, der altid vælger den lokalt bedste mulighed.