Computer programming has evolved in the last 50 years to solve very complicated scientific and engineering problems including getting planes to fly and complex industries to operate.
Traditional computer programming involves a human first designing an algorithm, which can then solve a problem and finally encoding that algorithm into a form that a computer can execute. This way of computer programing has a limitation. Program complexity is limited by that programmer’s understanding of the problem, and his skill in selecting the exact algorithm.
Massive evolution in artificial intelligence (AI) and its subfield of machine learning (ML) have really come to the fore in the last decade. AI is the ability of computers, to enable them to solve problems using human capabilities like perception, learning and pattern recognition, and even more advanced concepts like compassion. The ML subfield involves giving a very large quantity of data and labels, indicating whether that data results in the desired outcome, to a computer. What’s remarkable about ML, is that it results in machine-developed algorithms, which substantially outperform the best human-designed ones in areas like language translation and facial recognition.
Human generated (static) models need to be developed by skilled programmers, familiar both with the nature of the problem to be solved and the operation of its related physical systems. Thus, the programmer needs to be a good scientist and a good programmer. Once developed, the model is fixed or static. Advantages of static models are that they can be developed in advance of modelled system implementation. The large disadvantage is that once developed, it will not increase its capability, nor modify itself to adapt to changes in the behaviour of the physical system.
ML models are different. The model designer does not need deep knowledge of the problem to be solved, nor of the physical systems generating the data. Additionally, ML models can evolve with time, as the physical system ages, and new patterns begin to emerge from the data. Finally, an ML model can learn system behaviour, which is entirely unknown to the model designer. This makes the ML model adaptive. This final characteristic substantially increases the number of problems which are solvable by computer models.
ML particularly excels where there is interaction with the Internet of Things (IOT). Humans are exceptionally capable of identifying patterns and spotting trends in small collections of data, but the larger the dataset, the more limited our patience for analysis. Additionally, we tend to fixate only on primary or dominant patterns, often, ignoring secondary or hidden patterns or trends. Where IOT and ML become complementary, is that large numbers of small-scale IOT sensors permanently generate vast quantities of data; well beyond the ability of individual humans to decode. As individual sensors are unable to detect patterns, so by themselves, IOT sensor capability is limited.
ML algorithms usually improve when data quantity, on which the learning is performed, is increased. These algorithms can also manage multiple patterns at the same time. ML can also analyse the vast amounts of data generated, to create sophisticated classification, anomaly detection, and forecasting algorithms. This provides the desired reward for investment in the IOT sensors.
ML models in renewables
The value of ML models when used in renewable energy, particularly solar, is driven chiefly by three factors. Firstly, vast amount of data being generated by large scale solar systems leads to the development of sophisticated and accurate ML models. Secondly, a large number of issues affecting the performance of solar plants, result in a significant number of different and meaningful patterns and trends. Finally, extended 20-to-30-year life of a solar plant, which leads to significant aging behaviour, and the emergence of new behaviours, as the plant transitions between installation, commissioning, early-stage failures, mature model behaviour, and end-of-life issues.
All these characteristics align with the strengths of ML models.