ElemedexEnciclopedia de bolsillo de arquitecturas de IA

Glosario (MT) › Entrenamiento y ajuste

MT120

Dropout

También: abandono aleatorio, apagado aleatorio de unidades

En inglés: Dropout

Técnica de regularización que, durante el entrenamiento, apaga al azar una fracción de las unidades de una red para que no dependa de coincidencias entre ellas.

El dropout, propuesto por Hinton y sus estudiantes en Toronto (Srivastava et al., 2014), es una de las técnicas más usadas contra el sobreajuste. En cada paso de entrenamiento, cada unidad de una capa se pone a cero con cierta probabilidad, la tasa de dropout, que suele estar entre 0,2 y 0,5 (Chollet, 2021, sec. 5.4.4):

salida de una capa: [0,2 · 0,5 · 1,3 · 0,8 · 1,1] → con dropout: [0 · 0,5 · 1,3 · 0 · 1,1]

En la inferencia no se apaga nada; en cambio, se reescalan las activaciones para compensar que ahora trabajan todas juntas (en la práctica, el reescalado suele hacerse ya durante el entrenamiento). Por eso las bibliotecas distinguen explícitamente el modo «entrenamiento» del modo «uso» (Chollet, 2021, sec. 7.4.1).

¿Por qué ayuda romper la red a propósito? Hinton contaba que se inspiró en su banco: los cajeros rotaban todo el tiempo, y concluyó que era para que ningún grupo pudiera ponerse de acuerdo para defraudar. Apagar al azar un subconjunto distinto de neuronas en cada ejemplo impide esas «conspiraciones», es decir, patrones casuales que la red memorizaría si nada los perturbara (Chollet, 2021, sec. 5.4.4). Otra lectura: una red con n unidades y dropout se comporta como un ensamble de 2ⁿ redes más chicas que comparten parámetros, promediadas al final (Witten et al., 2017, p. 436).

El modelo base del transformer original aplicaba dropout con tasa 0,1 a la salida de cada subcapa (Vaswani et al., 2017, sec. 5.4), y el ajuste supervisado de InstructGPT usó 0,2 (Ouyang et al., 2022, sec. 3.5). La idea conecta con una vieja tesis conexionista: en una representación distribuida ningún nodo es imprescindible, y el sistema se degrada con suavidad en lugar de romperse. El dropout convierte esa robustez en una disciplina impuesta durante el aprendizaje: obliga a que cada rasgo útil esté representado de más de una manera.

Fuentes

  • Chollet, F. (2021). Deep learning with Python (2nd ed.). Manning Publications. §
  • Ouyang, L., Wu, J., Jiang, X., Almeida, D., Wainwright, C., Mishkin, P., Zhang, C., Agarwal, S., Slama, K., Ray, A., Schulman, J., Hilton, J., Kelton, F., Miller, L., Simens, M., Askell, A., Welinder, P., Christiano, P. F., Leike, J., & Lowe, R. (2022). Training language models to follow instructions with human feedback. In Advances in Neural Information Processing Systems (Vol. 35, pp. 27730–27744). Curran Associates. https://doi.org/10.52202/068431-2011 §
  • Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I., & Salakhutdinov, R. (2014). Dropout: A simple way to prevent neural networks from overfitting. Journal of Machine Learning Research, 15(56), 1929–1958. https://jmlr.org/papers/v15/srivastava14a.html §
  • Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, Ł., & Polosukhin, I. (2017). Attention is all you need. In Advances in Neural Information Processing Systems (Vol. 30). Curran Associates. https://proceedings.neurips.cc/paper_files/paper/2017/hash/3f5ee243547dee91fbd053c1c4a845aa-Abstract.html §
  • Witten, I. H., Frank, E., Hall, M. A., & Pal, C. J. (2017). Data mining: Practical machine learning tools and techniques (4th ed.). Morgan Kaufmann. https://doi.org/10.1016/C2015-0-02071-8 §