0% encontró este documento útil (0 votos)
167 vistas69 páginas

Machine Learning y Dynamo IA

Este documento presenta una introducción al aprendizaje automático (machine learning) y su aplicación al BIM (Building Information Modeling). Explica que el aprendizaje automático puede usarse para resolver problemas comunes en BIM como el manejo de grandes cantidades de datos de puntos, la coordinación de múltiples modelos y la normalización de parámetros. También describe cómo se están desarrollando paneles de control de BIM (BIM dashboards) que utilizan aprendizaje automático para tareas como la monitorización desatendida de modelos y la visual
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
167 vistas69 páginas

Machine Learning y Dynamo IA

Este documento presenta una introducción al aprendizaje automático (machine learning) y su aplicación al BIM (Building Information Modeling). Explica que el aprendizaje automático puede usarse para resolver problemas comunes en BIM como el manejo de grandes cantidades de datos de puntos, la coordinación de múltiples modelos y la normalización de parámetros. También describe cómo se están desarrollando paneles de control de BIM (BIM dashboards) que utilizan aprendizaje automático para tareas como la monitorización desatendida de modelos y la visual
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

MDUG

Machine Learning & Dynamo


Un acercamiento
Julio J Garcia Borja
Sobre mí
Sobre mi
Julio J García Borja

● Arquitecto Técnico @ UPM


● BIM Manager @ UPC
● Computational BIM Specialist @ Modelical
● Associate Proffesor @ UPC/fCIM
Sobre mi
Formación en ML

● DataCamp
● ASDM
Sobre mi
Formación en ML

● DataCamp
● ASDM
¿Dónde estamos?
¿Dónde estamos?
Está de moda debido a 3 factores:

● Producción académica
● Reducción de tiempos de computación
● Big Data
¿Dónde estamos?
Está de moda debido a 3 factores:

● Producción académica
● Reducción de tiempos de computación
● Big Data
¿Dónde estamos?
Está de moda debido a 3 factores:

● Producción académica
● Reducción de tiempos de computación
● Big Data
Del BIM al Big Data
Del BIM al Big Data
Problemas BIM actuales:

● Nubes de puntos inmensas que


debemos racionalizar

● Muchos modelos por proyecto

● Muchos problemas de coordinación que


gestionar

● Homogeneización de parámetros para FM


Del BIM al Big Data
Problemas BIM actuales:

● Nubes de puntos inmensas que debemos


modelar

● Muchos modelos por proyecto

● Muchos problemas de coordinación que


gestionar

● Homogeneización de parámetros para FM


Del BIM al Big Data
Problemas BIM actuales:

● Nubes de puntos inmensas que debemos


modelar

● Muchos modelos por proyecto

● Muchos problemas de coordinación


que gestionar

● Homogeneización de parámetros para FM


Del BIM al Big Data
Problemas BIM actuales:

● Nubes de puntos inmensas que debemos


modelar

● Muchos modelos por proyecto

● Muchos problemas de coordinación que


gestionar

● Homogeneización de
parámetros/modelos para FM
Del BIM al Big Data
Nacimiento de BIM Dashboards, el nuestro:

● Baywatch
Del BIM al Big Data
Nacimiento de BIM Dashboards, el nuestro:

● Baywatch
Del BIM al Big Data
Nacimiento de BIM Dashboards, el nuestro:

● Baywatch
○ Monitorización desasistida de modelos
○ Cuadro de control de proyectos
○ Visualización de métricas BIM
○ Gestión de activos
Del BIM al Big Data
Nacimiento de BIM Dashboards, el nuestro:

● Baywatch
○ Monitorización desasistida de modelos
○ Cuadro de control de proyectos
○ Visualización de métricas BIM
○ Gestión de activos
Del BIM al Big Data
Nacimiento de BIM Dashboards, el nuestro:

● Baywatch
○ Monitorización desasistida de modelos
○ Cuadro de control de proyectos
○ Visualización de métricas BIM
○ Gestión de activos
Del BIM al Big Data
Nacimiento de BIM Dashboards, el nuestro:

● Baywatch
○ Monitorización desasistida de modelos
○ Cuadro de control de proyectos
○ Visualización de métricas BIM
○ Gestión de activos
Inteligencia Artificial
Top-Down VS Bottom-Up
● Top-Down
○ La estructura del cerebro no es primordial
para la emergencia de la función cognitiva.
○ Sistema que trata de recoger el máximo
conocimiento sobre un tema muy concreto
para tratar de emular el comportamiento
de un humano avezado en la materia
mediante un sistema lógico.
○ Da lugar a sistemas expertos.
○ Popular entre 1950-1970.
○ Ejemplos:
■ MYCIN: Medicina
■ Deep Blue: Ajedrez
■ Watson : Jeopardy!
Top-Down VS Bottom-Up
● Bottom-Up
○ La estructura del cerebro es primordial
x1 w1
para la emergencia de la función cognitiva.
○ Hay que replicar los sistemas naturales
para poder hacer que un sistema artificial x2 w2
acceda a las funciones cognitivas.
○ Da lugar a redes neuronales. y
○ Popular desde 1985. x3 w3
f(x)
○ Ejemplos:
■ DeepMind: Alpha Go x4 w4
■ deepL translator
■ From image to 3D
x5 w5
Inteligencia artificial (IA)
Inteligencia humana exhibida por máquinas

¿Dónde estamos? IA estrecha

● Pueden hacer una o pocas cosas a la vez.


O reconocen imágenes o lenguaje...
● Necesitan código escrito por humanos
Inteligencia artificial (IA)
Inteligencia Artificial

Machine Learning

Deep Learning

1950 1960 1970 1980 1990 2000 2010


Machine Learning
Machine Learning (ML)
Sistemas de IA que pueden aprender de la
experiencia para encontrar patrones en un
conjunto de datos en vez de programarlos con
unas reglas específicas

¿Cómo funcionan?

● 1. Procesa datos
● 2. Aprende patrones de los datos
● 3. Clasifica nuevos datos que no ha visto

Son técnicas de Inteligencia artificial


by Jason Brownlee
[Link]
¿Cómo funciona?
Features (Atributos)
Se usan para entrenar un sistema de ML

Son las propiedades de las cuales estamos


Area: 0.09m²
intentando aprender

Altura: 3m
Features (Atributos)
Cogiendo los elementos estructurales como
ejemplo.

Pilares
2 atributos querrá decir que tengo 2
dimensiones (2D) Muros

Mi sistema puede aprender a dividir la gráfica


para discriminar pilares de los demás elementos
estructurales
Vigas Losas

Esto se puede usar para realizar futuras

Altura
clasificaciones que el sistema no haya visto
Area
Features (Atributos)
Escoger atributos útiles para la discriminación,
por tanto, influye en la calidad de mi sistema.

Si escojo atributos que no sean lo


suficientemente diferenciadores tendré una
modelo inservible.

% Acero
Material
Información útil
En ocasiones nos bastará con sistemas 1D
Información útil
En ocasiones nos bastará con sistemas 2D
Información útil
En ocasiones nos bastará con sistemas 3D
Información útil
Pero para determinados problemas tendremos
que irnos a 20D o MillonesD como es el caso
del reconocimiento de imágenes en el que cada
pixel es un atributo
Problemas lineales / no lineales
● Lineales: Son aquellos en los que existe
al menos un clasificador lineal para partir
todos los casos.
● No lineales: Son aquellos en los que no
existe un clasificador lineal para partir
todos los casos.
Problemas lineales / no lineales
● Lineales: Son aquellos en los que existe al
menos un clasificador lineal para partir
todos los casos.
● No lineales: Son aquellos en los que no
existe un clasificador lineal para partir
todos los casos.
Problemas lineales / no lineales
● Lineales: Son aquellos en los que existe al
menos un clasificador lineal para partir
todos los casos.
● No lineales: Son aquellos en los que no
existe un clasificador lineal para partir
todos los casos.
Problemas lineales / no lineales
● Lineales: Son aquellos en los que existe al
menos un clasificador lineal para partir
todos los casos.
● No lineales: Son aquellos en los que no
existe un clasificador lineal para partir
todos los casos.
Underfitting (No ajustado)
Añadir dimensiones puede ayudarnos a resolver
problemas complejos pero también podemos
hacer que nuestro sistema se conozca tan
bien nuestros datos de entrenamiento que
no sea capaz de generalizar la nueva
información y falle en su clasificación.
Well tuned (Bien ajustado)
Añadir dimensiones puede ayudarnos a resolver
problemas complejos pero también podemos
hacer que nuestro sistema se conozca tan
bien nuestros datos de entrenamiento que
no sea capaz de generalizar la nueva
información y falle en su clasificación.
Overfitting (Sobreentrenamiento)
Añadir dimensiones puede ayudarnos a resolver
problemas complejos pero también podemos
hacer que nuestro sistema se conozca tan
bien nuestros datos de entrenamiento que
no sea capaz de generalizar la nueva
información y falle en su clasificación.
Aprendizaje supervisado
● Datos de entrenamiento etiquetados
Aprendizaje no supervisado
● Datos de entrenamiento no etiquetados
Aprendizaje supervisado / no supervisado
Supervisado No supervisado

● Datos de entrenamiento etiquetados ● Datos de entrenamiento sin etiquetar


○ 3m, 0.09m², Pilar ○ 3m, 0.09m²
○ 3.1m,0.08m², Pilar ○ 3.1m,0.08m²
○ 0.2m, 25m², Forjado ○ 0.2m, 25m²
● Supervision: Le doy como input el output ● No le doy como input el output esperado
esperado ● Hago al sistema que busque patrones
● Ejemplos: ● Ejemplos:
○ Problemas de clasificación (Classification) ○ Problemas de agrupación (Clustering)
○ Problemas de regresión (Regression)
Aprendizaje por refuerzo
Aprendizaje por ensayo-error

El programa aprende jugando millones de


partidas.

Cuando gana le damos una recompensa,


cuando pierde, no le damos recompensa
(recompensa negativa)

Podemos usar funciones de optimización para


buscar el resultado deseado
Aprendizaje por refuerzo
Aprendizaje por ensayo-error

El programa aprende jugando millones de


partidas.

Cuando gana le damos una recompensa,


cuando pierde, no le damos recompensa
(recompensa negativa)

Podemos usar funciones de optimización para


buscar el resultado deseado
Aprendizaje por refuerzo
Aprendizaje por ensayo-error

El programa aprende jugando millones de


partidas.

Cuando gana le damos una recompensa,


cuando pierde, no le damos recompensa
(recompensa negativa)

Podemos usar funciones de optimización para


buscar el resultado deseado
Ejemplos de uso con Dynamo
“AI” package
● By Radu Gidei, Grimshaw
“DynamoAI” package
● By Sharad Jaiswal, Autodesk

+ AI
“LunchboxML” package
● By Nathan Miller, Proving Ground
ZeroTouch Nodes
● Son nodos programados en C#
● Ventajas:
○ C#
○ .NET frameworks (salimos de IronPython!)
○ UIs customizadas
○ Mejor IDE
● Inconvenientes:
○ No se puede acceder al código

¿Dónde empezar? Matteo Cominetti’s workshop


[Link]
Accord
● C# .NET machine learning framework
● Implementable en dynamo via Zero Touch
Nodes
Agrupación, clasificación y predicción
● Agrupación/Clustering: No supervisado
● Clasificación/Classification: Supervisado
● Regresión/Regression: Supervisado
Regression: Linear Regression (LR)
● Modelo lineal
● Establece relaciones lineales entre un
escalar y una o más variables
Regression: Linear Regression (LR)
● Modelo lineal
● Establece relaciones lineales entre un
escalar y una o más variables
● Como era de esperar, las predicciones del
nodo de Miller coinciden con las del de
Gidei
Regression: Linear Regression (LR)
● Cuarteto de Anscombe
○ Distribuciones gráficamente distintas
○ Mismas métricas estadísticas, misma línea
de regresión
Regression: Non Linear Regression
● Modelo no lineal
● Establece relaciones entre un escalar y
una o más variables
Regression: Polynomial Regression
● Modelo polinomial
● Establece relaciones polinomiales entre
un escalar y una o más variables
● En el package de DynamoAI se pueden
seguir las demostraciones matemáticas
Clustering: Gaussian Mixture Model (GMM)
● Modelo probabilístico
● Sirve para representar la presencia de
subpoblaciones dentro de una
población global
Classification: Naive Bayes Classifier
● Clasificador probabilístico
● Distribución normal (gaussiana)
Classification: Naive Bayes Classifier
● Clasificador probabilístico
● Distribución normal (gaussiana)
Classification: Naive Bayes Classifier
● Clasificador probabilístico
● Distribución normal (gaussiana)
GRACIAS
ALGOMAD 2018 se está cocinando!

[Link]
MDUG

También podría gustarte