Module 8 Questions:
Option A - The technical pipeline: Using Generative Design and Machine Learning for Faster Analysis Feedback (AU 2020)
Architecture and various processes in the AEC industry require iterating over multiple solutions parametrically when analyzing various options. The issue is that this process, though necessary, is often intensive, long, and computationally expensive. This video proposes a workflow to implement machine learning in Revit and Dynamo for faster analysis feedback. The video specifically looks at an example surrounding analyzing operational energy use, but can be expanded to other metrics.
The general framework presented in this video starts with defining the problem (including inputs and outputs), building the dataset to train the model, fitting the model to the dataset, and finally validating the model. A huge hitch in this process is building the dataset to train the model, so this workflow proposes building a synthetic dataset using established objectives and sample spaces.
I found this aspect the most interesting, as it is a really important step in training the model, but it is entirely synthetic due to the lack of real datasets. I feel like it is really easy to “screw up” this step due to poorly defined sample spaces and objectives that can incur lots of bias. Also, the idea of creating your own data to train your model to execute analyses faster is a bit alien to me, as it is not real data.
I would be most interested in exploring this step if I were to train a model to expedite some analyses, especially in defining my synthetic dataset. I would be curious how sensitive the analyses I am interested in at the end would be to changes in objectives for this sample space. I wonder if there is a way to tweak these objectives to force your model to spit out the results you want. If this is true, is there such a thing as creating an ethical model/dataset? That could be an interesting question to try to answer.
Personally, the hardest parts of this quarter came when trying to implement Dynamo or Grasshopper components that performed either optimization or complex analyses. The two that come to mind that gave me the most difficulty are WallaceiX (Grasshopper multi-objective optimization) and the solar insolation component in dynamo. These components are extremely specific to different metrics and can be very confusing to implement. AI or ML can easily be used to streamline the use of these components by simply using it as an interface between the user and the components’ inputs/outputs (like an AI wrapper).
Instead of needing to understand how genomes, Pareto fronts, and gene pools work for WallaceiX, the user can simply ask AI if my objectives are x, and y, and my inputs are a and b, what is a summary of the most optimized solutions, and what do the plots look like. A really complex component can be used really easily with little need to know how it works “under the hood”.
The same can be done for the solar insolation analysis component. Prompt the time period, building, and site of interest, and ask for the outputs you are interested in that are actual outputs of the component in Dynamo. This turns a really complex component into a very accessible tool.
Asterisk - Asterisk comes out of Thornton Tomasetti’s (a well-known global structural engineering firm) and uses machine learning and generative AI models for a structural optioneering platform. This ties directly into the “Using Generative Design and Machine Learning for Faster Analysis Feedback” video I discussed earlier, as it uses similar concepts and ideas. Any engineer can input parameters of interest and have results instantly from a huge sample space of solutions, when normally, this would take days. The huge kick in this is that Thornton Tomasetti has trained this model from their own 70 years of project data, not synthetic data as stated in the video. This is machine learning trained on real data specific to the firm. I could have used this for modules 5 and 6, perhaps if I wanted to take a deeper dive into studying the parameters for the structure.
Raven - Raven is a plugin for Grasshopper that basically gives you an AI agent in Grasshopper. To my understanding, it is like Claude code, but for Grasshopper (the intelligence layer for CAD is what is stated on their website). It works alongside you to write and debug scripts while exploring new directions. Grasshopper is a pretty powerful tool, but it can be very complex at the same time. Using Raven can help ordinary users strip away some of that barrier and make Grasshopper more accessible. This is similar to the AI wrapper concept I had brought up in part 2. For example, if I were having an issue with WallaceiX in Grasshopper, I could prompt Raven to debug it for me and ask it to create ways to creatively express the outputs. It would have made these assignments much faster.
T2D2 - T2D2 is an AI software platform that helps with automatically detecting and classifying visible damage and deterioration on facades and structures. Existing structures are a huge industry in structural engineering, and surveying structures can eat up lots of time and budget. Unlike architecture models, damage of all sorts is very well documented across different systems, so the model has a plethora of real data to be trained from. This can be huge for earthquake reconnaissance efforts or repair and rehab jobs. I could not explicitly use this in class as I do not have to survey anything, but it is a really cool application of ML and AI that I thought would be worth reading about.