This is the first in a series of posts covering topics raised during the Q&A session following my recent talk on Computational Design at the Institution of Structural Engineers. As the talk itself was some while ago my recollection of the questions may be inexact and the answers may have been improved significantly by hindsight and additional thinking time, so I do not guarantee an exact transcript, but I have tried to remain true to the spirit of both the question and response I gave on the night.
The first topic is something that I get asked about a lot; the role that emerging A.I. techniques will play in the industry:
“There is a lot of talk at the moment about Artificial Intelligence and it seems that its use is going to revolutionise a lot of industries. Do you think we will see an A.I. revolution in Structural Engineering?”
‘Artificial Intelligence’ is one of those things that has a lot more utility as a marketing term than it does as a technical term. It is applied to algorithms that give the outside appearance of mimicing certain aspects of human intelligence, but beyond that there isn’t really all that much that sets them apart from any other algorithm and quite where you choose to draw the line between ‘A.I.’ and ‘non-A.I.’ algorithms is a bit fuzzily defined.
So, there are two questions worth considering. Firstly; will something called ‘artificial intelligence’ revolutionise structural engineering? In the long run almost certainly yes, if only because the term is used so broadly. We can speculate about what that might look like, but because this technology hasn’t necessarily been invented yet we risk straying into the world of science fiction. So the second, more interesting, question is perhaps; will any of the artificial intelligence techniques we currently have access to revolutionise structural engineering? The answer to this is a bit more complicated.
Certain older ‘A.I.’ techniques have already made their way to being standard parts of the computational designer’s toolkit – most notably genetic algorithms and other optimisation methods. In RCD we utilise such techniques regularly and find them very useful (though we are, admittedly, somewhat atypical in this).
However, these days when people talk about ‘A.I.’ they are most often referring to machine learning and in particular Artificial Neural Networks. This class of A.I. algorithms takes (very loose) inspiration from the way that organic brains operate by simulating a network of ‘neurons’ which pass signals between one another and which ‘learn’ by adjusting the weightings of the connections between each pairing to tune the response given to particular stimulus.
This is great at engaging our imaginations (“There’s a brain in my computer!”) and they are capable of some truly impressive feats which go well beyond what we expect from a computer. However, it should be pointed out that there are still some pretty substantial differences between the way these ANNs work and the way the human brain works and the degree to which they exhibit genuinely intelligent behaviour is often overstated. These are ultimately statistical methods and as with any other algorithm they have strengths and weaknesses.
Broadly speaking; they are quite general and have a wide range of applicability to many different problem domains, but tend to be much less computationally efficient than any algorithm designed specifically for that task (not least because they must undergo a lengthy process of training before they are of any use at all). Their true value, therefore, lies in applications for which no more direct method of solution exists; computer vision, object recognition and so on being the prime examples.
Engineering is fairly well codified and rules-based, and therefore there are more direct methods available in a lot of cases. There are also a couple of drawbacks to Neural Net methods which limit their application to engineering problems.
Firstly, their quality relies heavily on the dataset on which they are trained. This can be a problem even in image manipulation applications, when there are millions of photographs easily available. Engineering datasets are much harder to come by and tend to be much less complete. A BIM model might record that a project used a 6m x 9m column grid, but it won’t record the discussion with the architect which drove that decision. Without a clearly-defined record of the inputs and outputs of a process, it is difficult for Neural Nets to discern the relationships between them.
The second, more significant issue is that Neural Nets do not show their working. As engineers, we need not only to produce designs but also to be able to justify those designs. The output of a neural net will be the result of thousands of different variables spread all throughout the network; it is very difficult to trace back through that mess and understand *why* it has done any particular thing, beyond the broadest answer that it did it because you have shown it examples which looked something like that in the past. At present, these systems are capable only of blind imitation, not of reasoning through or rationalising their choices.
This is not to say that these techniques have no uses in the structural design process. Far from it; there are dozens of potential applications. We ourselves have utilised them in the past to help to categorise different design configurations, and are investigating their use to help ‘short-cut’ generative optimisation processes and understand client preferences. There are doubtless plenty of other opportunities for these kinds of techniques to fill in the gaps where more rigidly-defined algorithms struggle. Outside of structures, Ramboll’s SiteSee initiative is applying machine learning techniques to data collected via drones to help with mining site restoration. On a larger scale, I suspect their most wide-scale utilisation in AEC will come in maintenance; performing continuous inspections of built assets and identifying when human intervention is likely to be required. Some steps have already been taken in that direction.
But in the midst of all this potential it is important not to be carried away by the hype. If I seem to be focusing overly on the negative aspects here it is only because I would like to counterbalance the breathless uncritical excitement with which this technology is often promoted. It is important to remember that neural nets are only one cog in the machine, rather than the all-in-one panacea that they are sometimes presented as. They have a role to play in digitalising the industry, but that role is part of a broader tapestry consisting of a range of different algorithmic approaches appropriate to different tasks. So, I wouldn’t recommend focusing exclusively on A.I. as the means to revolutionise the industry (and suggest retaining a healthy skepticism of anybody trying to use the term as a selling point). There are plenty of other computational techniques which are both more accessible and more immediately applicable and we as an industry are still a long way off realising the full potential of even the most basic of these. The revolution which is already underway is the use of digital and algorithmic design techniques to augment and enhance human intelligence. That human intelligence is still key, and where we choose to supplement it with the artificial kind it needs to be done with full consideration of the applicability and limitations of the technology.