El modelo de lenguaje probabilístico neuronal de Bengio, Ducharme, Vincent y Jauvin es el primer modelo de lenguaje neuronal que funcionó a una escala seria: una red que, dadas las últimas palabras, estima la probabilidad de la siguiente y que, para hacerlo, aprende a la vez un vector para cada palabra del vocabulario. Una primera versión se presentó en NIPS 2000; la versión de revista es de 2003.
El problema
Un modelo de n-gramas estima probabilidades contando secuencias cortas. El obstáculo es la maldición de la dimensionalidad: con un vocabulario de 100.000 palabras, modelar la distribución conjunta de diez palabras seguidas exigiría del orden de 10⁵⁰ parámetros libres, y casi cualquier oración de prueba es distinta de todas las vistas en el entrenamiento (Bengio et al., 2003, p. 1137). Los n-gramas generalizan pegando fragmentos cortos que se superponen; nada les dice que «gato» y «perro» se parecen.
Cómo funciona
La propuesta tiene dos piezas (Bengio et al., 2003, pp. 1139–1143):
- Una tabla C de |V| × m números: cada fila es el vector (hoy diríamos el embedding) de una palabra, con m = 30, 60 o 100 dimensiones para vocabularios de unas 17.000 palabras.
- Una red que toma los vectores de las n − 1 palabras previas, los concatena, los pasa por una capa oculta con tangente hiperbólica y termina en una softmax sobre todo el vocabulario: y = b + Wx + U·tanh(d + Hx), donde la matriz W, que conecta las palabras directamente con la salida, es opcional.
Tabla y red se entrenan juntas, con descenso por gradiente sobre la log-verosimilitud del corpus. Como la probabilidad es una función suave de los vectores, y las palabras que cumplen papeles parecidos terminan con vectores cercanos, haber visto «el gato camina por el dormitorio» también sube la probabilidad de «un perro corría en una habitación» y de un número combinatorio de oraciones vecinas (2003, pp. 1139–1140). Los autores ubican la idea de representar símbolos con vectores distribuidos en los inicios del conexionismo, con Hinton (1986) y Elman (1990) (2003, p. 1140).
Resultados
Se probó en el corpus Brown (≈ 1,18 millones de palabras) y en noticias de Associated Press de 1995–1996 (≈ 14 millones de palabras de entrenamiento) (Bengio et al., 2003, p. 1147). Frente al mejor n-grama, la perplejidad de prueba bajó alrededor de 24 % en Brown y 8 % en AP News, y promediar la red con un trigrama ayudaba todavía más: ambos se equivocaban en lugares distintos (2003, p. 1148). El costo era grande para la época: cinco pasadas sobre AP News llevaron unas tres semanas en 40 CPU (2003, p. 1148), y el 99,7 % del cálculo se iba en la capa de salida (2003, p. 1145). Con la fórmula del artículo, la red de AP News tiene unos 12 millones de parámetros (cálculo propio); los autores hablan de casi 100 MB para su red más grande (2003, p. 1144).
Descendencia y límites
La tabla C sobrevive: todo modelo de lenguaje actual guarda una matriz de embeddings, inicializada al azar y ajustada durante el entrenamiento (Alammar y Grootendorst, 2024, pp. 57–58). Mikolov, Chen et al. (2013) tomaron esta red como el «NNLM» de referencia y notaron que casi todo su costo estaba en la capa oculta no lineal; al eliminarla obtuvieron word2vec (2013, secs. 2.1, 3).
Los límites están señalados en el propio artículo: la ventana es fija (n − 1 palabras), la softmax sobre todo el vocabulario es carísima y cada palabra ocupa un único punto del espacio, así que la polisemia queda mal servida (Bengio et al., 2003, p. 1152). «Banco» es el mismo vector en la plaza y en la City, como el bank de río y de dinero de Alammar y Grootendorst (2024, p. 11). Las redes recurrentes y la atención atacarían la ventana fija; los embeddings contextuales, la polisemia.