Articulo de referencia

Síntesis de programas bayesianos

En lenguajes de programación y aprendizaje automático , la síntesis de programas bayesianos ( BPS ) es una técnica de síntesis de programas en la que los programas probabilístic...

En lenguajes de programación y aprendizaje automático , la síntesis de programas bayesianos ( BPS ) es una técnica de síntesis de programas en la que los programas probabilísticos bayesianos construyen automáticamente nuevos programas probabilísticos bayesianos. [ 1 ] Este enfoque contrasta con la práctica habitual en programación probabilística, donde los desarrolladores humanos escriben manualmente nuevos programas probabilísticos.

El marco

La síntesis de programas bayesianos se ha descrito como un marco relacionado con la programación probabilística y que la utiliza. En la síntesis de programas bayesianos, se generan programas probabilísticos que, a su vez, constituyen distribuciones a priori sobre un espacio de programas probabilísticos. Esta estrategia permite la síntesis automática de nuevos programas mediante inferencia probabilística y se logra mediante la composición de programas componentes modulares.

La modularidad en BPS permite que la inferencia trabaje y pruebe programas probabilísticos más pequeños antes de integrarse en un modelo más grande. [ 2 ]

Este marco se puede contrastar con la familia de campos de síntesis de programas automatizada , que incluyen la programación por ejemplo y la programación por demostración . El objetivo en estos campos es encontrar el mejor programa que satisfaga alguna restricción. En la síntesis de programas tradicional, por ejemplo, la verificación de restricciones lógicas reduce el espacio de estados de los programas posibles, lo que permite una búsqueda más eficiente para encontrar un programa óptimo. La síntesis de programas bayesiana se diferencia en que las restricciones son probabilísticas y el resultado es en sí mismo una distribución sobre programas que se puede refinar aún más.

Además, la síntesis de programas bayesianos se puede contrastar con el trabajo sobre el aprendizaje de programas bayesianos , donde los componentes probabilísticos del programa se escriben a mano, se preentrenan con datos y luego se ensamblan manualmente para reconocer caracteres escritos a mano. [ 3 ]

Véase también

Referencias

  1. Saad, Feras A.; Cusumano-Towner, Marco F.; Schaechtle, Ulrich; Rinard, Martin C.; Mansinghka, Vikash K. (enero de 2019). "Síntesis bayesiana de programas probabilísticos para el modelado automático de datos". Proc. ACM Program. Lang . 3 (POPL): 37:1–37:32. arXiv : 1907.06249 . Bibcode : 2019arXiv190706249S . doi : 10.1145/3290350 . ISSN 2475-1421 . S2CID 53697125 .  
  2. "Máquinas parlantes: Programación probabilística, con Ben Vigoda | Robohub" . robohub.org . Consultado el 4 de marzo de 2017 .
  3. Lake, Brenden M.; Salakhutdinov, Ruslan; Tenenbaum, Joshua B. (2015-12-11). "Aprendizaje de conceptos a nivel humano mediante inducción de programas probabilísticos" . Science . 350 (6266): 1332– 1338. Bibcode : 2015Sci...350.1332L . doi : 10.1126/science.aab3050 . ISSN 0036-8075 . PMID 26659050 .  
  • Comentario de David Garrity sobre BPS : La inteligencia artificial experimentará un progreso significativo en 2017.