AI-driven profile joint selection
We have always offered Master´s Thesis opportunities to university students to support their academic and professional qualifications. There are more than 40 Master´s Theses completed for Vertex during the years. The research results are implemented in our product development to provide cutting-edge software solutions for our customers. In the “My Master´s Thesis Journey” blog series, our young professionals tell about their Master´s theses and what they have learned and accomplished during the journey.
In 2020, I joined Vertex as a summer trainee after my second year of Mechanical Engineering studies. Initially, my main responsibility was to create 3D models for the default environment based on user requirements. Although becoming a software developer wasn’t my initial plan, my interest in programming grew as I took robotics courses that emphasized programming skills. As time went on, my tasks became more technically oriented, involving the programming of new joints into the default library. I eventually had the opportunity to transition internally into the BD development team. I must admit that I’ve been very pleased with this decision.
By the end of 2022, I embarked on my thesis journey. However, finding a suitable topic proved to be a challenge. Through various school courses and projects, I developed an interest in machine learning. With guidance from my team, I landed on exploring profile joint identification using machine learning techniques.
AI in profile joint selection
Profile joints are essential in connecting structural profiles, such as beams and columns. The process of selecting the appropriate profile joints can be complex and time-consuming for structural engineers. To address this challenge, my thesis aimed to investigate how modern machine learning methods could simplify this process. The figure below illustrates the general plan and the end result.
Typically, the methods I explored required example data for the machine learning models to learn and generalize information for working with new, unseen data. However, as I was not an expert in the field, determining what data was relevant proved difficult. I made some educated guesses and sought input from others. I decided to include any easily accessible information that I believed could be even slightly relevant to profile joint selection. This involved developing a data extraction method within the software and applying various machine learning models to it. Several feature evaluation methods were then used to filter out irrelevant features. Initial tests revealed a need for even more information, which prompted me to include additional features in the data extraction process. With these added features, the results began to show promise.
At this stage, the machine learning models primarily utilized default settings and parameters from libraries such as Scikit-learn. For the neural network structure, I initially relied on something I had used in a previous project, which lacked a scientific foundation. To address this, I explored an alternative approach: training and comparing different neural networks. I started experimenting manually but quickly decided to automate the training and comparison process using the Keras Tuner Python library. By specifying the search space, Keras Tuner automatically explored it and provided a list of the best models. This approach significantly demystified the process of neural network parameter tuning. Additionally, I utilized dimensionality reduction methods to visualize datasets with more than three dimensions, with the best results achieved using Uniform Manifold Approximation and Projection (UMAP). The resulting figure below shows multiple clusters for each class, representing a certain profile joint, while also displaying some overlap between the classes.
While data visualizations aided in understanding the broader aspects of machine learning predictions, individual predictions still seemed like magic. To address this, I explored SHapley Additive exPlanations (SHAP). This technique allowed me to display how each feature contributed to individual predictions. For instance, it could demonstrate that a pair of vertical profiles couldn’t be joined using a profile joint designed for profiles with a 90-degree angle between them. Another example in the following figure highlights four key features that notably impact the result by increasing the probability for the current prediction.
During the spring, I encountered a challenge in gathering enough training data for all the profile joints available in the standard library. As a result, the models struggle to effectively work with joints that have insufficient examples. This situation is similar to training a model to recognize cats and dogs, but then showing it a picture of a horse. However, by training the model with more examples of horses, it can learn to handle those cases as well. Right now, I’m patiently collecting more data. My goal is to develop a model that can ultimately be utilized to assist users in their day-to-day work.
I thoroughly enjoyed experimenting with the machine learning models and exploring ways to enhance their functionality. However, the most challenging part of this process was documenting my findings in the thesis itself. Luckily, as I began writing my thesis, I was able to use services that utilized advanced GPT language models like ChatGPT and phind.com, which were also approved by Tampere University. These AI tools proved to be invaluable in assisting me with the research process, alleviating some of the concerns associated with writing. Subsequently, for this blog post, I decided to utilize ChatGPT to refine and rewrite my original content, allowing the model to assist me in creating a more polished version.