Conocimiento Bóveda 5 /6 - CVPR 2015
Picture: Un Lenguaje de Programación Probabilístico para la Percepción de Escenas
Tejas D Kulkarni, Pushmeet Kohli, Joshua B Tenenbaum, Vikash Mansinghka
< Imagen del Resumen >

Gráfico de Conceptos & Resumen usando Claude 3 Opus | Chat GPT4o | Llama 3:

graph LR classDef inverse fill:#f9d4d4, font-weight:bold, font-size:14px classDef challenges fill:#d4f9d4, font-weight:bold, font-size:14px classDef probabilistic fill:#d4d4f9, font-weight:bold, font-size:14px classDef variability fill:#f9f9d4, font-weight:bold, font-size:14px classDef inference fill:#f9d4f9, font-weight:bold, font-size:14px classDef helmholtz fill:#d4f9f9, font-weight:bold, font-size:14px classDef memory fill:#f9d4d4, font-weight:bold, font-size:14px classDef framework fill:#d4f9d4, font-weight:bold, font-size:14px classDef examples fill:#d4d4f9, font-weight:bold, font-size:14px classDef future fill:#f9f9d4, font-weight:bold, font-size:14px A["Picture: Un Lenguaje de
Programación Probabilístico para la
Percepción de Escenas"] --> B["Gráficos inversos: escenas de imágenes 1"] A --> C["Desafíos: forma, apariencia, tiempo real 2"] A --> D["Programación probabilística: simuladores estocásticos 3"] D --> E["Simulación condicionada: condicionamiento en datos 4"] C --> F["Variabilidad de forma: simuladores ricos, procesos 5"] C --> G["Variabilidad de apariencia: modelos de dibujos animados, proyección 6"] C --> H["Inferencia más rápida: de arriba hacia abajo más de abajo hacia arriba 7"] H --> I["Máquinas de Helmholtz: entrenar de abajo hacia arriba 8"] A --> J["Estado de sueño: alucinar, almacenar datos 9"] A --> K["Trazas de programa: pila con salidas 10"] K --> L["Aproximadores de funciones: entrenar en trazas 11"] J --> M["Memoria estructurada: proyectar alucinaciones 12"] M --> N["Inferencia: muestrear trazas de la memoria 13"] N --> O["Emparejamiento de patrones y razonamiento: eficiente 14"] A --> P["Marco conceptual: lenguaje, renderizador, representación 15"] A --> Q["Pose humana: ejemplo de malla 3D 16"] Q --> R["Discreto y continuo: DPM más de arriba hacia abajo 17"] A --> S["Forma 3D: programa de malla flexible 18"] A --> T["Imágenes intrínsecas: comparación de Baron y Honek 19"] A --> U["Trabajo futuro: simuladores, aprendizaje profundo 20"] U --> V["Motores AD: soporte mixto CPU/GPU 21"] U --> W["Integración profunda: codificadores CNN, decodificadores de programas 22"] U --> X["Torch o Caffe: integración cercana 23"] U --> Y["Aprendizaje más allá de los parámetros: programas, subrutinas 24"] U --> Z["Dirección emocionante: redes neuronales, programas 25"] class B,C,H,I,N,O inverse class C challenges class D,E probabilistic class F,G variability class H,N,O inference class I helmholtz class J,K,L,M memory class P framework class Q,R,S,T examples class U,V,W,X,Y,Z future

Resumen:

1.- Gráficos inversos: Analizar escenas invirtiendo el proceso de renderizado gráfico, pasando de imágenes a descripciones de escenas.

2.- Desafíos: La variabilidad de forma, la variabilidad de apariencia y la inferencia en tiempo real son los principales desafíos en los gráficos inversos.

3.- Programación probabilística: Añadir variables aleatorias a los programas gráficos para crear simuladores de escenas estocásticos para la inferencia.

4.- Simulación condicionada: Ejecutar programas probabilísticos condicionados a datos de prueba para inferir propiedades de la escena.

5.- Manejo de la variabilidad de forma: Usar simuladores gráficos ricos y procesos estadísticos no paramétricos sobre mallas 3D.

6.- Variabilidad de apariencia: Construir modelos de dibujos animados y proyectarlos con datos reales usando redes profundas para comparación abstracta.

7.- Inferencia más rápida: Combinar métodos de inferencia de arriba hacia abajo con propuestas de reconocimiento rápido de abajo hacia arriba.

8.- Máquinas de Helmholtz: Usar conocimiento de arriba hacia abajo para entrenar tuberías discriminativas de abajo hacia arriba, como propuso Hinton et al.

9.- Estado de sueño: Alucinar datos del programa probabilístico y almacenarlos en una memoria externa a largo plazo.

10.- Trazas de programa: Ejecutar un programa una vez para obtener una pila con todas las variables y salidas correspondientes.

11.- Aproximadores de funciones: Entrenar redes neuronales con valores parciales de trazas de programa como objetivos.

12.- Memoria estructurada a largo plazo: Proyectar datos alucinados usando aproximadores aprendidos para crear una memoria estructurada semánticamente.

13.- Inferencia con propuestas de Helmholtz: Muestrear trazas de programa de la región de memoria estructurada correspondiente a una imagen de prueba.

14.- Emparejamiento de patrones y razonamiento: Hacer un 90% de emparejamiento de patrones desde la memoria y un 10% de razonamiento para una inferencia eficiente.

15.- Marco conceptual: Modelo de lenguaje de escena, renderizador aproximado, capa de representación y función de puntuación.

16.- Ejemplo de pose del cuerpo humano: Usar una malla 3D disponible en Blender para la estimación de pose.

17.- Combinación de modelos discretos y continuos: Integrar modelos de pose DPM con inferencia de arriba hacia abajo para mejorar los resultados.

18.- Ejemplo de programa de forma 3D: Escribir un programa flexible para definir una distribución sobre mallas 3D.

19.- Comparación con imágenes intrínsecas: Ejecutar el método de imagen intrínseca de Baron y Honek para comparación en una mesa de prueba.

20.- Trabajo futuro: Construir una biblioteca de simuladores ricos hacia adelante e integrar con marcos de aprendizaje profundo.

21.- Motores de diferenciación automática: Desarrollar motores AD rápidos con soporte mixto de CPU y GPU para programas probabilísticos.

22.- Integración profunda de programas y redes neuronales: Entrenar sistemas de extremo a extremo con codificadores CNN y decodificadores de programas probabilísticos diferenciables.

23.- Integración de Torch o Caffe: Implementar el enfoque propuesto con integración cercana a marcos de aprendizaje profundo.

24.- Aprendizaje más allá de los parámetros: Explorar el aprendizaje en el espacio de programas o subrutinas.

25.- Dirección de investigación emocionante: Desarrollar modelos que combinen redes neuronales profundas con programas probabilísticos diferenciables.

Bóveda del Conocimiento construida por David Vivancos 2024