Wind power generation prediction using machine learning-based image processing
By converting the power curve of the wind farm into images and processing these images using machine learning models, a potential representation representing the properties of the wind farm is solved, and a more efficient and accurate prediction effect is achieved in the prior art.
Patent Information
- Application Number
- CN202380074683.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-10-31
- Filing Date
- 2023-01-03
- Publication Date
- 2025-05-23
AI Technical Summary
The prior art is difficult to accurately predict future power generation of wind farms, especially since some wind farm properties are difficult to measure directly.
These images are processed by converting the power curve of the wind farm into images and using a machine learning encoder model to generate a potential representation of the properties of the wind farm. Then, in conjunction with expected weather data, future power generation of the wind farm is determined.
A more accurate prediction of future power generation of wind farms is achieved, reducing dependence on difficult-to-measure properties, and improving prediction accuracy and efficiency.
Smart Images

Figure CN120035834A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to Indian Patent Application No. 202221061929 filed on October 31, 2022 and titled “Wind Power Production Prediction Using Machine Learning Based Image Processing” which is hereby incorporated by reference as if fully set forth in this specification. Background Art
[0003] A wind farm may include a plurality of wind turbines configured to generate electric power. The power generation of a wind farm may vary depending on weather conditions including wind speed. It is desirable to accurately predict the amount of power that will be generated by a wind farm at a future time. Summary of the invention
[0004] A machine learning (ML) model can be configured to assist in determining the expected future power generation of a wind farm. The power curve of a wind farm can represent the power output of the wind farm as a function of wind speed. The power curves of different wind farms can vary depending on various attributes of the wind farms. Therefore, the power curve can represent these various attributes of the wind farm, some of which may not be directly measurable. The power curve of the wind farm can be converted into an image, and the image can therefore represent the attributes of the wind farm as a visual pattern. The image can be processed by the ML model to generate a potential representation indicating the attributes of the wind farm. The potential representation can be used together with expected future weather data to determine the expected future power generation of the wind farm.
[0005] In a first example embodiment, a method may include determining a power curve image comprising a plurality of pixels, the power curve image representing power production of a plurality of wind turbines of a wind farm as a function of wind speed. The method may also include determining, by an ML encoder model, a latent representation of a property of the wind farm based on processing the power curve image by the ML encoder model. The method may additionally include obtaining expected weather data corresponding to a future time. The method may also include determining an expected power production of the wind farm at the future time based on the latent representation and the expected weather data. The method may further include generating an output including the expected power production.
[0006] In a second example embodiment, a method may include determining a training power curve image comprising a plurality of pixels, the training power curve image representing power production of a plurality of training wind turbines of a training wind farm as a function of wind speed. The method may also include determining, by a machine learning (ML) encoder model, a training latent representation of an attribute of the training wind farm based on processing the training power curve image by the ML encoder model. The method may additionally include determining, by an ML decoder model, a reconstruction of the training power curve image based on processing the training latent representation by the ML decoder model. The method may also include determining a loss value based on comparing (i) the reconstruction of the training power curve image with (ii) the training power curve image. The method may further include adjusting one or more parameters of the ML encoder model based on the loss value.
[0007] In a third example embodiment, a system may include a processor and a non-transitory computer-readable medium having instructions stored thereon that, when executed by the processor, cause the processor to perform operations according to the first example embodiment and / or the second example embodiment.
[0008] In a fourth example embodiment, a non-transitory computer-readable medium may have instructions stored thereon that, when executed by a computing device, cause the computing device to perform operations according to the first example embodiment and / or the second example embodiment.
[0009] In a fifth example embodiment, a system may include various components for performing each of the operations of the first example embodiment and / or the second example embodiment.
[0010] These and other embodiments, aspects, advantages and alternatives will become apparent to those of ordinary skill in the art by reading the following detailed description and referring to the accompanying drawings as appropriate. In addition, the present disclosure and other descriptions and drawings provided herein are intended only to illustrate embodiments, and therefore, numerous variations are possible. For example, structural elements and process steps may be rearranged, combined, allocated, eliminated or otherwise changed while still within the scope of the claimed embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Figure 1 A computing system according to examples described herein is shown.
[0012] Figure 2 A system according to the examples described herein is shown.
[0013] Figure 3A , Figure 3B and Figure 3C A wind farm power curve is shown according to examples described herein.
[0014] Figure 3D and Figure 3E An image showing a wind farm power curve according to examples described herein.
[0015] Figure 4 A training system according to examples described herein is shown.
[0016] Figure 5 A flow chart according to examples described herein is shown.
[0017] Figure 6 A flow chart according to examples described herein is shown. DETAILED DESCRIPTION
[0018] Example methods, devices, and systems are described herein. It should be understood that the words "example" and "exemplary" are used herein to mean "serving as an example, instance, or illustration." Any embodiment or feature described herein as "example," "exemplary," and / or "illustrative" is not necessarily to be construed as preferred or advantageous over other embodiments or features unless so stated. Therefore, other embodiments may be utilized, and other changes may be made, without departing from the scope of the subject matter presented herein.
[0019] Accordingly, the example embodiments described herein are not intended to be limiting.It will be readily understood that aspects of the present disclosure as generally described herein and illustrated in the accompanying drawings may be arranged, substituted, combined, separated and designed in a variety of different configurations.
[0020] Furthermore, unless the context suggests otherwise, the features shown in each of the accompanying drawings may be used in combination with each other. Figure 1 The illustrated features are generally considered to be integral aspects of one or more overall embodiments, but it is understood that not all of the illustrated features are necessary for every embodiment.
[0021] Additionally, any enumeration of elements, blocks, or steps in this specification or claims is for clarity purposes. Therefore, such enumeration should not be interpreted as requiring or implying that these elements, blocks, or steps follow a specific arrangement or are performed in a specific order. Unless otherwise specified, the drawings are not drawn to scale.
[0022] I. Overview
[0023] A wind farm may include a plurality of wind turbines configured to generate electricity. The amount of power generated by a wind farm may depend on weather conditions and the properties (i.e., characteristics) of the wind farm. The properties of a wind farm may include any physical properties of the wind farm and / or associated with the wind farm that affect how much power is generated under various weather conditions. Although some of these properties may be directly measurable, other properties may be difficult and / or impractical to measure. For example, the wind farm location, turbine type, turbine blade size, turbine height, and / or turbine diameter may be directly measurable. However, it may be difficult to measure other characteristics of a wind farm (such as component degradation over time, temperature-related performance changes, the surroundings of a wind farm (e.g., high-rise buildings, trees, mountains, etc. that may affect wind and / or other weather characteristics), topological changes of wind farms that cause height changes of different wind turbines, and / or efficiency changes of different components of different wind turbines, and other) may be difficult. However, properties that are difficult and / or impractical to measure may affect how much power a wind farm produces in various weather conditions and may therefore be important to quantify.
[0024] The amount of power generated by a wind farm may be a function of wind speed. Specifically, each wind turbine may begin generating power when the wind speed exceeds a corresponding cut-in speed, and may generate its maximum rated power when the wind speed is greater than or equal to a corresponding rated output speed. When the output power of a wind turbine (e.g., on the vertical axis) is plotted as a function of wind speed (e.g., on the horizontal axis), the resulting power curve may be approximately S-shaped. The power curve of a wind farm may depend on the corresponding power curves of the multiple wind turbines that make up the wind farm. Therefore, the power curve of a wind farm may differ from a (theoretical / idealized) S-shape, where the variation is based on the common properties of the wind turbines that make up the wind farm.
[0025] In order to more accurately predict how much power a wind farm will generate, the properties of the wind farm can be determined by processing the power curve of the wind farm by an ML encoder model. Specifically, a power curve image can be generated based on the power curve of the wind farm. The power curve image may include a plurality of pixels that provide a visual representation of a plurality of samples that make up the power curve. The ML encoder model can be configured to process the power curve image and, based on such processing, generate a potential representation that provides an indication of the properties of the wind farm. Therefore, ML-based image processing techniques can be used to extract the properties of the wind farm from the image of the power curve of the wind farm. The properties of the wind farm represented by the potential representation may include directly measurable properties and / or properties that may be difficult and / or impractical to measure.
[0026] The power prediction ML model can be configured to process a potential representation of a wind farm and expected weather data corresponding to a future time to determine the expected power generation of the wind farm at the future time. As a result of the training, the power prediction ML model can be configured to determine how changes in expected weather interact with the properties of the wind farm to cause changes in power generation. The expected power generation of the wind farm can be used to determine how to distribute the power generated by the wind farm and / or how much additional power will be generated by other power sources to achieve the target power generation at the future time.
[0027] The power curve image may be generated based on a normalized version of the power curve of the wind farm. The number of samples used to define the power curve may be exactly, substantially and / or approximately equal to the number of training samples used to generate each training image that has been used to train the ML encoder model. Additionally, the vertical scale representing power output may be expressed as a fraction of maximum output power rather than absolute power, so that different wind turbines and / or wind farms with different absolute maximum power outputs may be directly comparable along a common relative power output scale. The horizontal scale representing wind speed may be in the range of a predetermined minimum wind speed to a predetermined maximum wind speed, wherein sample values below the minimum wind speed and / or above the maximum wind speed are excluded from defining the power curve.
[0028] Generating power curve images using a constant and / or fixed number of samples drawn along a graph of a constant and / or fixed area in both inference and training may allow each power curve image to contain information of substantially and / or approximately equal visual density, thereby allowing the ML encoder model to be used to map visual patterns in the power curve images to latent representations of properties of the wind farm. Thus, when a consistent and / or standardized process is used to generate power curve images input into the ML encoder, the latent representation generated by the ML encoder model may more accurately represent the wind farm properties. Conversely, if power curve images are generated based on different numbers of samples drawn along axes of different scales, the appearance of a given power curve image of a corresponding wind farm will vary, which may hinder the ability of the ML encoder model to learn to reliably extract wind farm properties from visual patterns in the power curve images.
[0029] Additionally, if not already represented in grayscale, the power curve image can be converted to a grayscale image to reduce and / or eliminate the effects of color on representing attributes of the wind farm. In some implementations, the power curve image can initially be generated at full resolution and can subsequently be downsampled prior to being processed by the ML encoder model, which can (i) allow for reduced complexity and / or size of the ML encoder model and (ii) reduce the effects of high frequency outliers (which can represent noise and / or errors in the data) on the resulting latent representation. In some cases, the downsampled version of the power curve image can be filtered using one or more operators (e.g., erosion and / or dilation) prior to being processed by the ML encoder model to further reduce the number of outlier samples represented by the downsampled power curve image.
[0030] Generating a potential representation of the properties of a wind farm based on a power curve image rather than directly based on the samples that make up the power curve can be more accurate and / or more efficient. Specifically, generating a power curve image can operate to filter out noise and / or outlier data, because noise and / or outliers may generate little or no visual patterns in the power curve image. In addition, a power curve image with H×W pixels can be based on a much larger number of samples than H×W. Therefore, the number of parameters involved in defining an ML encoder model to accurately process the H×W pixels can be less than the number of parameters involved in defining a version of the ML encoder model to process the original samples. Smaller models can be trained and executed more quickly, and therefore can utilize less energy and / or fewer computing resources.
[0031] II. Example Computing System
[0032] Figure 1 1 is a simplified block diagram illustrating some of the components of an example computing system 100. By way of example and not limitation, computing system 100 may be a cellular mobile telephone (e.g., a smart phone), a computer (such as a desktop, notebook, tablet, server, or handheld computer), a home automation component, a digital video recorder (DVR), a digital television, a remote control, a wearable computing device, a gaming console, a robotic device, a vehicle, or some other type of device.
[0033] like Figure 1As shown, computing system 100 may include communication interface 102, user interface 104, processor 106, data storage 108, and camera assembly 124, all of which may be communicatively linked together via a system bus, network, or other connection mechanism 110. Computing system 100 may be equipped with at least some image capture and / or image processing capabilities. It should be understood that computing system 100 may represent a physical image processing system, a specific physical hardware platform on which an image sensing and / or processing application operates in software, or other combinations of hardware and software configured to perform image capture and / or processing functions.
[0034] The communication interface 102 can allow the computing system 100 to communicate with other devices, access networks and / or transmission networks using analog or digital modulation. Therefore, the communication interface 102 can facilitate circuit switching and / or packet switching communications, such as plain old telephone service (POTS) communications and / or Internet protocols (IP) or other packetized communications. For example, the communication interface 102 may include a chipset and an antenna arranged for wireless communication with a radio access network or access point. Moreover, the communication interface 102 may take the form of a wired interface or include a wired interface, such as Ethernet, a universal serial bus (USB) or a high-definition multimedia interface (HDMI) port and other possibilities. The communication interface 102 may also take the form of a wireless interface or include a wireless interface, such as Wi-Fi, BLUETOOTH®, a global positioning system (GPS) or a wide area wireless interface (e.g., WiMAX or 3GPP long term evolution (LTE)) and other possibilities. However, other forms of physical layer interfaces and other types of standard or proprietary communication protocols may be used on the communication interface 102. In addition, the communication interface 102 may include multiple physical communication interfaces (eg, a Wi-Fi interface, a BLUETOOTH® interface, and a wide area wireless interface).
[0035] The user interface 104 can be used to allow the computing system 100 to interact with the human or non-human user, such as to receive input from the user and provide output to the user.Therefore, the user interface 104 can include input components, such as keypad, keyboard, touch-sensitive panel, computer mouse, trackball, joystick, microphone etc.The user interface 104 can also include one or more output components, such as display screen, that can be combined with the touch-sensitive panel.The display screen can be based on CRT, LCD, LED and / or OLED technology, or other technologies known now or developed later.The user interface 104 can also be configured to generate audible output via loudspeaker, speaker jack, audio output port, audio output device, earphone and / or other similar devices.The user interface 104 can also be configured to receive and / or capture audible speech, noise and / or signal by microphone and / or other similar devices.
[0036] In some examples, user interface 104 may include a display used as a viewfinder for still camera and / or video camera functions supported by computing system 100. Additionally, user interface 104 may include one or more buttons, switches, knobs, and / or dials that facilitate configuration and focusing of camera functions and capture of images. Some or all of these buttons, switches, knobs, and / or dials may be implemented by a touch-sensitive panel.
[0037] Processor 106 may include one or more general purpose processors (e.g., microprocessors) and / or one or more special purpose processors (e.g., digital signal processors (DSPs), graphics processing units (GPUs), floating point units (FPUs), network processors, or application specific integrated circuits (ASICs)). In some instances, the special purpose processors may be capable of image processing, image alignment, and merging images, among other possibilities. Data storage 108 may include one or more volatile and / or non-volatile storage components, such as magnetic storage, optical storage, flash storage, or organic storage, and may be fully or partially integrated with processor 106. Data storage 108 may include removable and / or non-removable components.
[0038] The processor 106 may be capable of executing program instructions 118 (e.g., compiled or non-compiled program logic and / or machine code) stored in the data storage 108 to perform various functions described herein. Thus, the data storage 108 may include a non-transitory computer-readable medium having program instructions stored thereon, which, when executed by the computing system 100, causes the computing system 100 to perform any of the methods, processes, or operations disclosed in this specification and / or the accompanying drawings. The execution of the program instructions 118 by the processor 106 may result in the processor 106 using the data 112.
[0039] For example, program instructions 118 may include an operating system 122 (e.g., an operating system kernel, device drivers, and / or other modules) and one or more application programs 120 (e.g., a camera function, an address book, email, web browsing, social networking, an audio-to-text function, a text translation function, and / or a gaming application) installed on computing system 100. Similarly, data 112 may include operating system data 116 and application data 114. Operating system data 116 may be primarily accessed by operating system 122, and application data 114 may be primarily accessed by one or more of application programs 120. Application data 114 may be arranged in a file system that is visible or hidden to a user of computing system 100.
[0040] Applications 120 may communicate with operating system 122 via one or more application programming interfaces (APIs). These APIs may facilitate, for example, applications 120 reading and / or writing application data 114, sending or receiving information via communication interface 102, receiving and / or displaying information on user interface 104, and the like.
[0041] In some cases, the application 120 may be referred to simply as an "app". Additionally, the application 120 may be downloaded to the computing system 100 through one or more online application stores or application markets. However, the application may also be installed on the computing system 100 in other ways, such as via a web browser or through a physical interface on the computing system 100 (e.g., a USB port).
[0042] The camera assembly 124 may include, but is not limited to, an aperture, a shutter, a recording surface (e.g., photographic film and / or an image sensor), a lens, a shutter button, an infrared projector, and / or a visible light projector. The camera assembly 124 may include, but is not limited to, a component configured to capture images in the visible light spectrum (e.g., electromagnetic radiation having a wavelength of 380 nanometers to 700 nanometers) and / or a component configured to capture images in the infrared light spectrum (e.g., electromagnetic radiation having a wavelength of 701 nanometers to 1 millimeter), among other possibilities. The camera assembly 124 may be controlled, at least in part, by software executed by the processor 106.
[0043] III. Example Wind Farm Power Generation Prediction System
[0044] Figure 2 An example system for determining an expected power generation of a wind farm based on expected weather data and historical power generation of the wind farm is shown. Specifically, system 200 can be configured to generate expected power generation 250 based on expected weather data 246 and wind farm power generation data 202. System 200 can include map generator 222, image generator 224, ML encoder model 242, and power prediction ML model 248.
[0045] The graph generator 222 may be configured to generate a power curve graph 223 based on the wind farm power production data 202 and the model training characteristics 228. The image generator 224 may be configured to generate a power curve image 226 based on the power curve graph 223 and the model training characteristics 228. The power curve image 226 may include a plurality of pixels that provide a visual representation of the power curve graph 223. The ML encoder model 242 may be configured to generate a potential representation 244 based on the power curve image 226. The power prediction ML model 248 may be configured to generate an expected power production 250 based on the potential representation 244 and the expected weather data 246. That is, the system 200 may be configured to convert the wind farm power production data 202 into an image and process the image using an ML model to determine the expected power production of the wind farm at a future time.
[0046] The wind farm power generation data 202 may represent historical power generation of the wind farm as a function of wind speed. The wind farm power generation data 202 may include a sample 204 and samples 206 to 208 (i.e., samples 204 to 208). Each of the samples 204 to 208 may indicate a corresponding power output of the wind farm associated with (e.g., caused by) a corresponding wind speed during a corresponding time interval. For example, the sample 204 may indicate that during a first time interval, the wind speed 216 caused the wind farm to generate power 210. The sample 206 may indicate that during a second time interval, the wind speed 218 caused the wind farm to generate power 212. The sample 208 may indicate that during a third time interval, the wind speed 220 caused the wind farm to generate power 214. The corresponding power and wind speed values of each of the samples 204 to 208 may represent, for example, an average value, a minimum value, and / or a maximum value observed during the corresponding time interval. Alternatively, each of the samples 204 to 208 may represent a point in time rather than a time interval, and thus its corresponding power and wind speed values may represent instantaneous values.
[0047] When power (e.g., power values 210 to 214) is plotted as a function of wind speed (e.g., wind speed values 216 to 220), wind farm power production data for a given wind farm may resemble and / or generally follow an approximately S-shaped curve, such as Figure 3A300 is shown. Specifically, graph 300 shows a theoretical and / or idealized relationship between a steady wind speed as shown along the horizontal axis and a relative power as shown along the vertical axis. The relative power can be determined by dividing the measured power output of the wind farm by the rated (i.e., maximum) power output of the wind farm, where a value of 1 indicates that the wind farm is operating at or near peak capacity. The wind farm may begin to generate power when the steady wind speed meets and / or begins to exceed the cut-in speed, may generate increasing power as the steady wind speed increases from the cut-in speed to the rated speed, may generate peak relative power when the steady wind speed is between the rated speed and the cut-out speed, and may stop generating power when the steady wind speed exceeds the cut-out speed.
[0048] The relative power generated by a given farm at different wind speeds can be based on the wind turbines that make up the wind farm. Each turbine in the wind farm can be associated with various attributes that affect how much relative power the wind turbine generates at different wind speeds. For example, the attributes can include physical characteristics of the wind turbine, aspects of the installation of the wind turbine, and / or aging / wear and tear of the wind turbine, as well as other characteristics. Therefore, the relative power generated by the wind farm at different wind speeds can be jointly determined by the attributes of the individual wind turbines that make up the wind farm. Therefore, in practice, the actual shape of the power curve of the wind farm may be different and / or deviate from the idealized / theoretical version shown in Figure 300.
[0049] For example, Figure 3B Included is a graph 310 showing an empirically determined (ie, measured) relationship between steady wind speed and relative power for a first example wind farm. Figure 3C A graph 320 is included that shows an empirically determined relationship between steady wind speed and relative power for a second example wind farm that is different from the first example wind farm. Graphs 310 and 320 provide examples of power curve graph 223. Both graphs 310 and 320 include the same area and the same number of samples plotted thereon. The samples in graph 310 follow the idealized / theoretical S-shaped power curve (as shown in graph 300) more closely than the samples in graph 320. Specifically, the samples in graph 320 have a greater distribution and / or variation around the idealized / theoretical power curve than the samples in graph 310.
[0050] Such variations and / or deviations from the idealized / theoretical power curve may be caused by specific properties of the wind farm. Therefore, these variations and / or deviations may indirectly represent specific properties of the wind farm. That is, a specific shape and / or pattern of the power curve of a specific wind farm may indicate a corresponding property of the specific wind farm, and the corresponding property of the specific wind farm may be jointly defined by the properties of the individual wind turbines that make up the specific wind farm. Therefore, graph 310 may be used to determine the properties of a first wind farm, and graph 320 may be used to determine the properties of a second wind farm.
[0051] Back to Figure 2 , the ML encoder model 242 can be trained to determine the properties of the wind farm based on a power curve image representing the measured relationship between the relative power of the wind farm and the wind speed. Therefore, the map generator 222 can be configured to generate a power curve map 223 by selecting a plurality of samples from the samples 204 to 208. The image generator 224 can be configured to generate a power curve image 226 by generating a plurality of pixels representing the power curve map 223. The power curve map 223 and the power curve image 226 can be generated based on the model training characteristics 228, which can indicate the normalization and / or standardization process used to generate the map and image during training and inference involving the ML encoder model 242.
[0052] As part of the training of the ML encoder model 242, the model training characteristics 228 may indicate the manner in which the training power curve images are generated, and accurate performance at inference time may depend on generating the power curve image 226 in the same or similar manner. Specifically, since the power curve graph 223 is converted to the power curve image 226, which is then processed by the ML encoder model 242 to determine the latent representation 244 of the properties of the wind farm, the properties of the wind farm are represented as visual patterns by the power curve image 226. In order for a given visual pattern of the power curve image to reliably represent the same properties of the wind farm across training and inference, and therefore be useful in determining the expected power production of the wind farm, the power curve image may be generated in a consistent (i.e., the same or similar) manner during iterations of training and inference. Such consistency may prevent and / or reduce the likelihood that the graph generator 222 and / or the image generator 224 introduces (false positive) visual patterns into the power curve image 226 that are caused by deviations from the normalized and / or standardized image generation process rather than by the (true positive) structure of the wind farm power production data 202.
[0053] Model training characteristics 228 may include a minimum wind speed 230, a maximum wind speed 232, a number of samples 234, an image resolution 236, a depth dimension 238, and an image filter 240. Minimum wind speed 230 may define a lower limit of a horizontal axis of power graph 223 (which represents a stable wind speed), while maximum wind speed 232 may define an upper limit of a horizontal axis of power graph 223. Thus, minimum wind speed 230 and maximum wind speed 232 may together define a stable wind speed range based on which graph generator 222 will select samples from samples 204 to 208. Thus, graph generator 222 may be configured to select samples from samples 204 to 208 that are associated with a wind speed greater than or equal to minimum wind speed 230 and less than or equal to maximum wind speed 232.
[0054] In the case where the samples 204 to 208 represent the power 210 to 214 using absolute power values (e.g., expressed in watts) rather than relative power values (e.g., expressed as a fraction of peak power generation), the graph generator 222 can be configured to convert any absolute power value to a corresponding relative power value. Specifically, the graph generator 222 can be configured to convert a particular absolute power value of a wind farm to a corresponding relative power value by dividing the absolute power value by the peak capacity (i.e., maximum capacity or rated capacity) of the wind farm. Therefore, since the vertical axis (which represents relative power) can have a range of 0 to 1 (or 0% to 100% when expressed as a percentage), its range can be constant across different wind farms. Therefore, the minimum wind speed 230 and the maximum wind speed 232 (together with the fixed vertical axis) can jointly define the area of the power curve graph 223.
[0055] The number of samples 234 may indicate the number of samples to be selected from the samples 204 to 208 and plotted to generate the power curve graph 223. Thus, for given values of the minimum wind speed 230 and the maximum wind speed 232, the number of samples 234 may indicate an average sample density (i.e., samples per unit area) of the power curve graph 223. If the number of samples used to generate the power curve image varies by more than a threshold amount relative to the number of samples 234, different visual patterns may be introduced into the power curve image 226 by the resulting (false positive) variable sample density, thereby reducing the ability of the ML encoder model 242 to accurately extract attributes of the wind farm from the resulting power curve image.
[0056] The image resolution 236 may indicate the number and / or arrangement of pixels used to express the power curve graph 223 as an image. The depth dimension 238 may indicate the number of values per pixel used to express the power curve graph 223 as an image. The power curve image 226 may be represented as an H×W×D tensor, where H, W, and D represent the height, width, and depth of the power curve image 226, respectively. The image resolution 236 may define the values of H and W, and the depth dimension 238 may define the value of D. The values of H, W, and D may be constant across training and inference because the ML encoder model 242 may be configured to process images of constant size. For example, the image resolution 236 may indicate that H and W each have a value of 1024, and the depth dimension 238 may indicate that D has a value of 4 (i.e., four depth values per pixel).
[0057] In some implementations, the power curve image 226 may include one depth layer. Therefore, the power curve image 226 may be interpreted as a grayscale image (or other monochrome image). In other implementations, the power curve image 226 may include two or more depth layers and may therefore be interpreted as a color image. When two or more depth layers are used to generate the power curve image 226, each corresponding depth layer in the two or more depth layers may represent samples corresponding to different subsets of the samples 204 to 208. For example, each corresponding depth layer may represent samples from a corresponding time period and / or samples from a corresponding group of wind turbines, as well as other possible divisions of the samples 204 to 208. Therefore, the power curve image 226 may encode at least some information about the attributes of the wind farm using the way that the samples 204 to 208 are divided between the depth layers of the power curve image 226. In cases where different colors are used to represent the power curve image 223 and the colors represent only the visual appearance and do not encode properties of the wind farm (i.e., do not represent an intentional division of samples 204 to 208), the color version of the power curve image 226 may be converted to a grayscale version of the power curve image 226.
[0058] Image filter 240 may indicate characteristics of one or more image filters used to generate power curve image 226. For example, image filter 240 may define a dilation operator, an erosion operator, a difference of Gaussian operator, and / or other image filters used when generating a training power curve image. Image filter 240 may be configured to reduce the effects of noise and / or outlier samples on power curve image 226 and, therefore, on potential representation 244 and expected power generation 250.
[0059] Figure 3B and Figure 3CTwo different example values of the maximum wind speed 232 are shown. Specifically, region 304 indicates one possible region of graphs 310 and / or 320 that will be represented by pixels of the power curve image 226. Additional region 306 indicates additional regions of graphs 310 and / or 320 that may also be represented by pixels of the power curve image 226. Thus, the power curve image 226 may represent the visual content of region 304, or the visual content of the union of regions 304 and 306. Region 304 corresponds to a maximum wind speed 232 that is above the rated speed and below the cut-out speed, while the union of region 304 and additional region 306 corresponds to a maximum wind speed 232 that is above the cut-out wind speed.
[0060] In some cases, the additional visual information provided in the additional region 306 (or another additional region of a different size) may significantly improve the accuracy with which the latent representation 244 represents the properties of the wind farm, and thus both the region 304 and the additional region 306 may be included in the power curve image 226. In other cases, the additional visual information provided in the additional region 306 (or another additional region of a different size) may not significantly improve the accuracy with which the latent representation 244 represents the properties of the wind farm, and the region 304 may be included in the power curve image 226, while the additional region 306 may be excluded from the power curve image 226. In some implementations, the determination of whether to include the additional region 306 (i.e., the selection of the maximum wind speed 232) in or exclude it from the power curve image 226 may be based on the wind speed expected at the inference time.
[0061] Figure 3D An example power curve image 330 generated by the image generator 224 based on the power curve graph 310 is shown. Figure 3E An example power curve image 340 generated by the image generator 224 based on the power curve graph 320 is shown. The power curve images 330 and 340 each correspond to the region 304 of the power curve graphs 310 and 320. The power curve images 330 and 340 can each represent a downsampled version of a full-resolution image that can be initially generated based on the graphs 310 and 320, respectively. Downsampling of the full-resolution power curve image can be performed to obtain a power curve image having the image resolution 236. The pixelated appearance of the power curve images 330 and 340 can be an intentional result of the downsampling. That is, the power curve images 330 and 340 can represent the high-level (i.e., low-frequency) structure of the underlying sample, while omitting the representation of low-level (i.e., high-frequency) details that may not meaningfully encode the attributes of the wind farm.
[0062] Back to Figure 2, ML encoder model 242 may be configured to generate latent representation 244 based on power curve image 226. Latent representation 244 may indicate one or more attributes of a wind farm, and thus may indicate how power production of the wind farm is expected to vary under different weather conditions. Latent representation 244 may be a tensor having a size that is less than the size of power curve image 226, and thus may provide a compressed representation of power curve image 226. Latent representation 244 may alternatively be referred to as an embedding. Latent representation 244 may be and / or include, for example, a two-dimensional vector, a two-dimensional matrix, or a three-dimensional tensor, among other possibilities.
[0063] Determining the latent representation 244 based on the power curve image 226 rather than directly based on the samples used to generate the power curve image 226 can reduce the likelihood that the ML encoder model 242 will overfit to the training data and thus generate erroneous results at inference time. Additionally, determining the latent representation 244 based on the power curve image 226 can allow the ML encoder model 242 to more easily determine the properties of the wind farm because the process of converting the samples 204 to 208 to an image can reduce and / or minimize the amount of outliers and / or noise present in the power curve image 226 and provided as input to the ML encoder model 242. In addition, the number of pixels in the power curve image 226 can be less than the number of samples used to generate the power curve image 226. Therefore, the number of parameters of the ML encoder model 242 can be less than the number of parameters of the ML model that would be involved in directly processing the samples. Therefore, the execution and training of the ML encoder model 242 can utilize less power and / or computing resources (e.g., memory and processor cycles) while generating more accurate results.
[0064] The power prediction ML model 248 can be configured to generate an expected power generation 250 based on the potential representation 244 and the expected weather data 246. The expected weather data 246 can represent the expected weather at a future time, and thus the expected power generation 250 can correspond to the future time. The future time can be a few minutes, hours, or days in the future. Specifically, the power prediction ML model 248 can be configured to determine how the wind farm is expected to perform under the weather conditions represented by the expected weather data 246 given the attributes of the wind farm as represented by the potential representation 244. The expected weather data 246 can include expected measurements of wind speed, precipitation, visibility, solar radiation, pressure, humidity, and / or visibility, as well as other possibilities.
[0065] The expected power generation 250 can be stored in a memory, sent to one or more computing devices, displayed using one or more user interfaces, and / or used to make one or more determinations related to the allocation of power from the wind farm. In one example, the expected power generation 250 can be used to determine how much power is to be generated by alternative energy sources (e.g., solar energy, fossil fuel-based power, nuclear energy, etc.) at a future time to achieve a target power generation at a future time. In another example, the expected power generation 250 can be used to determine where to deliver the power generated by the wind farm at a future time based on, for example, the allocation of expected power usage and / or the expected power generation of other power sources. This determination can be made automatically by one or more models and / or algorithms and / or manually by one or more individuals involved in maintaining the power grid and / or allocating power along the power grid.
[0066] IV. Example Training System
[0067] Figure 4 An example training system 400 is shown that can be used to train the ML encoder model 242 and / or the power prediction ML model 248. The training system 400 can include the ML encoder model 242, the ML decoder model 416, the power prediction ML model 248, the image loss function 420, the power loss function 426, and the model parameter adjuster 430. The training system 400 can be configured to generate a trained version of the ML encoder model 242 and / or the power prediction ML model 248 based on the training wind farm power production data 402. The ML decoder model 416 can be used during training, but may not be used at inference time, and thus can be discarded after training.
[0068] The training wind farm power generation data 402 may include training samples 404 to 406 (i.e., training samples 404 to 406). The training wind farm power generation data 402 may be obtained from one or more training wind farms (e.g., from a plurality of different training wind farms). Each respective training sample in the training samples 404 to 406 may include a corresponding training power curve image, corresponding training weather data, and a corresponding training power generation observed under weather conditions represented by the corresponding training weather data. Thus, for example, the training sample 404 may include a training power curve image 408, training weather data 412, and actual power generation 410. The training weather data 412 and the actual power generation 410 may each include a plurality of data points spanning a plurality of time points and / or time intervals.
[0069] The training wind farm power production data 402 may be generated by one or more training wind farms, which may be different from the wind farm for which the system 200 generates the expected power production 250 at inference time. Thus, learning performed with respect to one or more training wind farms may be transferred to one or more different wind farms without additional wind farm specific training. By training the ML encoder model 416 to be available with respect to multiple different wind farms, rather than being specific to a particular wind farm, the ML model 416 may be used to determine the expected power production of relatively new wind farms that may not have sufficient wind farm specific training data available. Additionally, using a single ML encoder model for multiple different wind farms simplifies model maintenance and uses less computing resources, as one model may be easier to maintain than multiple different farm specific models.
[0070] The training power curve image 408 can be generated in a similar manner to the power curve image 226. Specifically, the training power curve image 408 can be generated based on the corresponding training power curve graph, and the corresponding training power curve graph can be generated by selecting multiple training samples representing the power output measured at a training wind farm at multiple different wind speeds. Unlike the power curve image 226, the training power curve image 408 can be generated at training time rather than at inference time. The training power curve image 408 can be normalized and / or standardized in the same manner as the power curve image 226 based on the model training characteristics 228. Specifically, the manner in which the training power curve image 408 is generated can define the model training characteristics 228. Therefore, the model training characteristics 228 can be redefined by (i) modifying the manner in which the training power curve image 408 is generated and (ii) retraining the ML encoder model 416 accordingly.
[0071] ML encoder model 242 can be configured to generate training latent representation 414 based on training power curve image 408. Training latent representation 414 can be similar to latent representation 244, but can be generated as part of training rather than as part of inference. Therefore, training latent representation 414 can represent properties of a training wind farm associated with training power curve image 408, and the accuracy with which training latent representation 414 represents the properties of this training wind farm can increase during training.
[0072] The ML decoder model 416 can be configured to generate a training power curve image reconstruction 418 based on the training latent representation 414. The training power curve image reconstruction 418 can be a reconstruction of the training power curve image 408, and the accuracy with which the training power curve image reconstruction 418 matches the training power curve image 408 can increase during the training process. Thus, the ML encoder model 242 and the ML decoder model 416 can be trained using a self-supervised auto-encoding arrangement whose task is to reconstruct the training power curve image 408 based on its latent representation.
[0073] The image loss function 420 may be configured to generate an image loss value 422 based on a comparison of the training power curve image reconstruction 418 to the training power curve image 408. For example, the image loss function 420 may include a mean squared error between pixels of the training power curve image 408 and pixels of the training power curve image reconstruction 418. Thus, the image loss value 422 may indicate how well the ML decoder model 416 is able to reconstruct the training power curve image 408 based on the training latent representation 414 generated by the ML encoder model 242.
[0074] Power prediction ML model 248 may be configured to generate training power production 424 based on training weather data 412 and training latent representation 414. Thus, training power production 424 may represent the expected power production of the training wind farm associated with training power curve image 408 under weather conditions specified by training weather data 412, given the properties of the training wind farm as represented by training latent representation 414, and the accuracy of training power production 424 may increase during the training process.
[0075] The power loss function 426 may be configured to generate a power loss value 428 based on a comparison of the training power production 424 to the actual power production 410. For example, the power loss function 426 may include an L1 norm and / or an L2 norm difference between the training power production 424 and the actual power production 410. Thus, the power loss value 428 may quantify the accuracy with which the power prediction ML model 248 predicts the power production of the training wind farm under various weather conditions.
[0076] The model parameter adjuster 430 may be configured to determine updated model parameters 432 based on the image loss value 422 and / or the power loss value 428. Specifically, the updated model parameters 432 may be determined such that during subsequent training iterations, the image loss value 422 and / or the power loss value 428 are expected to decrease, thereby increasing the accuracy of the training power curve image reconstruction 418 and / or the training power generation 424, respectively. The updated model parameters 432 may include one or more updated parameters of any trainable component of the ML encoder model 242, the ML decoder model 416, and / or the power prediction ML model 248.
[0077] The model parameter adjuster 430 may be configured to determine updated model parameters 432 by, for example, determining a gradient of the loss function 420 and / or the power loss function 426. Based on this gradient and the image loss value 422 and / or the power loss value 428, the model parameter adjuster 430 may be configured to select updated model parameters 432 that are expected to reduce the image loss value 422 and / or the power loss value 428 and thus improve the performance of the ML encoder model 242, the ML decoder model 416, and / or the power prediction ML model 248. After applying the updated model parameters 432 to the ML encoder model 242, the ML decoder model 416, and / or the power prediction ML model 248, the operations discussed above may be repeated to calculate another instance of the image loss value 422 and / or the power loss value 428, and based thereon, another instance of the updated model parameters 432 may be determined and applied to the ML encoder model 242, the ML decoder model 416, and / or the power prediction ML model 248 to further improve their performance. This training of the ML encoder model 242, the ML decoder model 416, and / or the power prediction ML model 248 may be repeated until, for example, the image loss value 422 and / or the power loss value 428 decreases below a target loss value.
[0078] In some implementations, the ML encoder model 242, the ML decoder model 416, and / or the power prediction ML model 248 may be jointly trained. That is, at each training iteration, the parameters of any of the ML encoder model 242, the ML decoder model 416, and the power prediction ML model 248 may be adjustable. Thus, the ML encoder model 242 may learn to generate a latent representation that is useful for both (i) training power curve image reconstruction and (ii) power prediction.
[0079] In other implementations, the ML encoder model 242 and the ML decoder model 416 can be trained independently of the power prediction ML model 248. For example, the ML encoder model 242 and the ML decoder model 416 can be pre-trained using the image loss function 420. Once the pre-training of the ML encoder model 242 and the ML decoder model 416 is completed, the power prediction ML model 248 can be trained using the power loss function 426, while the parameters of the ML encoder model 242 and the ML decoder model 416 remain fixed (i.e., locked or frozen). Thus, the power prediction ML model 248 can learn to interpret the latent representation generated by the ML encoder model 242 for power prediction.
[0080] V. Additional Sample Operations
[0081] Figure 5 A flow diagram illustrating operations associated with predicting power production of a wind farm based on a power curve image associated with the wind farm is shown. Figure 6 A flow diagram illustrating operations associated with training an ML model to predict power production of a wind farm. Figure 5 and / or Figure 6 The operations may be performed by computing system 100, system 200, and / or training system 400, among other possibilities. Figure 5 and / or Figure 6 The embodiments of the present invention can be simplified by removing any one or more of the features shown therein. In addition, these embodiments can be combined with features, aspects and / or implementations of any of the previous figures or described in other ways herein.
[0082] Go to Figure 5 , block 500 may involve determining a power curve image comprising a plurality of pixels, the power curve image representing power production of a plurality of wind turbines of a wind farm as a function of wind speed.
[0083] Block 502 may involve determining, by the ML encoder model, a latent representation of a property of a wind farm based on processing a power curve image by the ML encoder model.
[0084] Block 504 may involve obtaining expected weather data corresponding to a future time.
[0085] Block 506 may involve determining an expected power production of the wind farm at a future time based on the potential representation and the expected weather data.
[0086] Block 508 may involve generating an output including the desired power production.
[0087] In some embodiments, the ML encoder model may have been trained and may therefore be configured to determine properties of the wind farm based on the power curve image and independently of direct measurements of the properties of the wind farm.
[0088] In some embodiments, the plurality of pixels of the power curve image may represent a graph indicating along its first axis the amount of power generated by the plurality of wind turbines and along its second axis the wind speed.
[0089] In some embodiments, determining a power curve image may include obtaining a plurality of samples representing power generation of a plurality of wind turbines. Each corresponding sample in the plurality of samples may represent a corresponding power generated by the plurality of wind turbines at a corresponding wind speed. Determining the power curve image may also include determining a predetermined number of samples corresponding to a sample density based on which the ML encoder model has been trained. Determining the power curve image may also include selecting a predetermined number of samples from the plurality of samples, and generating the power curve image based on the predetermined number of selected samples.
[0090] In some embodiments, selecting a predetermined number of samples may include determining a minimum wind speed and a maximum wind speed based on which the ML encoder model has been trained, and selecting a predetermined number of samples from a plurality of samples such that a corresponding wind speed of each respective selected sample in the predetermined number of selected samples is (i) greater than or equal to the minimum wind speed and (ii) less than or equal to the maximum wind speed.
[0091] In some embodiments, generating the power curve image may include determining, for each respective selected sample of the predetermined number of selected samples, a corresponding normalized power generation based on (i) a corresponding power generated by the plurality of wind turbines and (ii) a maximum power that the plurality of wind turbines are capable of generating. The power curve image may be generated based on the corresponding normalized power generation of each respective selected sample.
[0092] In some embodiments, determining the power curve image may include generating a color version of the power curve image, and generating a grayscale version of the power curve image based on the color version of the power curve image. The ML encoder model may be configured to process the grayscale version of the power curve image.
[0093] In some embodiments, determining the power curve image may include generating a full-resolution version of the power curve image, and generating a downsampled version of the power curve image having a resolution based on which the ML encoder model has been trained based on the full-resolution version of the power curve image. The ML encoder model may be configured to process the downsampled version of the power curve image.
[0094] In some embodiments, generating a downsampled version of the power curve image may include filtering the downsampled version of the power curve image using at least one of an erosion operator or a dilation operator to reduce the number of outlier samples represented by the downsampled version of the power curve image. The downsampled version of the power curve image may be provided as an input to the ML encoder model after filtering.
[0095] In some embodiments, the expected weather data may include expected wind speeds corresponding to a future time.
[0096] In some embodiments, determining the expected power generation of a wind farm may include determining the expected power generation based on processing the potential representation and expected weather data by a power prediction ML model, wherein the power prediction ML model has been trained to predict the power generation of the corresponding wind farm based on the corresponding attributes of the corresponding wind farm as represented by the corresponding potential representation.
[0097] Go to Figure 6 , block 600 may involve determining a training power curve image comprising a plurality of pixels representing power production of a plurality of training wind turbines of a training wind farm as a function of wind speed.
[0098] Block 602 may involve determining, by the ML encoder model, training latent representations of properties of a training wind farm based on processing training power curve images by the ML encoder model.
[0099] Block 604 may involve determining, by the ML decoder model, a reconstruction of the training power curve image based on processing the training latent representation by the ML decoder model.
[0100] Block 606 may involve determining a loss value based on comparing (i) the reconstruction of the training power curve image to (ii) the training power curve image.
[0101] Block 608 may involve adjusting one or more parameters of the ML encoder model based on the loss value.
[0102] In some embodiments, the plurality of pixels of the training power curve image may represent a graph indicating along its first axis the amount of power produced by the plurality of training wind turbines and along its second axis the wind speed.
[0103] In some embodiments, determining a training power curve image may include obtaining a plurality of training samples representing the power generation of a plurality of training wind turbines. Each respective training sample among the plurality of training samples may represent the corresponding power generated by the plurality of training wind turbines at a corresponding wind speed. Determining the training power curve image may further include determining a predetermined number of training samples corresponding to a sample density selected for training the ML encoder model. Determining the training power curve image may further include selecting a predetermined number of training samples from the plurality of training samples and generating a training power curve image based on the predetermined number of selected training samples.
[0104] In some embodiments, selecting a predetermined number of training samples may include a minimum wind speed and a maximum wind speed for training the ML encoder model, and selecting a predetermined number of training samples from the plurality of training samples such that the corresponding wind speed of each respective selected training sample among the predetermined number of selected training samples (i) is greater than or equal to the minimum wind speed and (ii) is less than or equal to the maximum wind speed.
[0105] In some embodiments, generating a training power curve image may include determining a corresponding normalized power generation for each respective selected training sample among the predetermined number of selected training samples based on (i) the corresponding power generated by the plurality of training wind turbines and (ii) the maximum power that the plurality of training wind turbines are capable of generating. The training power curve image may be generated based on the corresponding normalized power generation of each respective selected training sample.
[0106] In some embodiments, determining a training power curve image may include generating a color version of the training power curve image and generating a grayscale version of the training power curve image based on the color version of the training power curve image. The ML encoder model may be configured to process the grayscale version of the training power curve image.
[0107] In some embodiments, determining a training power curve image may include generating a full-resolution version of the training power curve image and generating a downsampled version of the training power curve image based on the full-resolution version of the training power curve image. The ML encoder model may be configured to process the downsampled version of the training power curve image.
[0108] In some embodiments, generating a downsampled version of the training power curve image may include filtering the downsampled version of the training power curve image using at least one of an erosion operator or a dilation operator to reduce the number of outlier samples represented by the downsampled version of the training power curve image. The downsampled version of the training power curve image may be provided as an input to the ML encoder model after filtering.
[0109] In some embodiments, the power prediction ML model may be trained to determine expected power production of a training wind farm at a future time based on processing the training latent representation and expected weather data corresponding to the future time by the power prediction ML model.
[0110] VI. Conclusion
[0111] The present disclosure is not limited in terms of the specific embodiments described in this application, which are intended to be illustrative of various aspects. Many modifications and variations may be made without departing from the scope thereof, as will be apparent to those skilled in the art. In addition to those methods and devices described herein, functionally equivalent methods and devices within the scope of the present disclosure will be apparent to those skilled in the art from the foregoing description. Such modifications and variations are intended to fall within the scope of the appended claims.
[0112] The above detailed description describes various features and operations of the disclosed systems, devices, and methods with reference to the accompanying drawings. In the accompanying drawings, similar symbols typically identify similar components unless the context dictates otherwise. The example embodiments described herein and in the accompanying drawings are not intended to be limiting. Other embodiments may be utilized and other changes may be made without departing from the scope of the subject matter presented herein. It will be readily understood that the aspects of the present disclosure as generally described herein and shown in the accompanying drawings may be arranged, substituted, combined, separated, and designed in a variety of different configurations.
[0113] With respect to any or all of the message flow diagrams, scenes and flow charts in the accompanying drawings and as discussed herein, each step, frame and / or communication can represent the processing of information according to the example embodiments and / or the transmission of information. Alternative embodiments are included in the scope of these example embodiments. In these alternative embodiments, for example, the operation described as step, frame, transmission, communication, request, response and / or message may not be performed in the order shown or discussed, including substantially concurrent execution or execution in reverse order, depending on the functionality involved. In addition, more or less frames and / or operations can be used together with any one of the message flow diagrams, scenes and flow charts discussed herein, and these message flow diagrams, scenes and flow charts can be combined with each other in part or in whole.
[0114] The steps or boxes representing the processing of information may correspond to a circuit system that may be configured to perform a specific logical function of the method or technology described herein. Alternatively or additionally, the boxes representing the processing of information may correspond to a module, a segment, or a portion of program code (including associated data). The program code may include one or more instructions that may be executed by a processor to implement a specific logical operation or action in a method or technology. The program code and / or associated data may be stored on any type of computer-readable medium (such as a storage device, including a random access memory (RAM), a disk drive, a solid-state drive, or another storage medium).
[0115] Computer readable media can also include non-transitory computer readable media, such as computer readable media that stores data in a short period of time, such as register memory, processor cache and RAM. Computer readable media can also include non-transitory computer readable media that stores program code and / or data in a longer period of time. Therefore, computer readable media can include auxiliary or persistent long-term storage, for example, such as read-only memory (ROM), optical disk or disk, solid state drive, compact disk read-only memory (CD-ROM). Computer readable media can also be any other volatile or non-volatile storage system. Computer readable media can be regarded as, for example, computer readable storage media or tangible storage devices.
[0116] In addition, the steps or boxes representing one or more information transfers may correspond to information transfers between software and / or hardware modules in the same physical device. However, other information transfers may be between software modules and / or hardware modules in different physical devices.
[0117] The specific arrangements shown in the drawings should not be considered as limiting. It should be understood that other embodiments may include more or less of each element shown in a given drawing. In addition, some of the elements shown may be combined or omitted. In addition, example embodiments may include elements not shown in the drawings.
[0118] While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope being indicated by the following claims.
Claims
1. A computer-implemented method, include: determining a power curve image comprising a plurality of pixels, the power curve image representing power production of a plurality of wind turbines of a wind farm as a function of wind speed; determining, by a machine learning (ML) encoder model, a latent representation of a property of the wind farm based on processing the power curve image by the ML encoder model; Obtaining expected weather data corresponding to future times; determining an expected power production of the wind farm at the future time based on the potential representation and the expected weather data; and An output is generated that includes the desired power production.
2. The computer-implemented method of claim 1 , wherein the ML encoder model has been trained to determine the property of the wind farm based on the power curve image and independently of direct measurements of the property of the wind farm.
3. The computer-implemented method of any one of claims 1 to 2, wherein the plurality of pixels of the power curve image represent a graph indicating along a first axis thereof an amount of power generated by the plurality of wind turbines and along a second axis thereof an amount of wind speed.
4. The computer-implemented method of any one of claims 1 to 3, wherein determining the power curve image include: obtaining a plurality of samples representing the power production of the plurality of wind turbines, wherein each respective sample of the plurality of samples represents a corresponding power produced by the plurality of wind turbines at a corresponding wind speed; determining a predetermined number of samples corresponding to a sample density based on which the ML encoder model has been trained; selecting the predetermined number of samples from the plurality of samples; The power curve image is generated based on the predetermined number of selected samples.
5. The computer-implemented method of claim 4, wherein the predetermined number of samples is selected include: determining a minimum wind speed and a maximum wind speed based on which the ML encoder model has been trained; as well as The predetermined number of samples are selected from the plurality of samples such that the corresponding wind speed of each respective selected sample of the predetermined number of selected samples is (i) greater than or equal to the minimum wind speed and (ii) less than or equal to the maximum wind speed.
6. The computer-implemented method of any one of claims 4 to 5, wherein the power curve image is generated include: determining, for each respective selected sample of the predetermined number of selected samples, a corresponding normalized power production based on (i) the corresponding power produced by the plurality of wind turbines and (ii) a maximum power that the plurality of wind turbines are capable of producing; as well as The power curve image is generated based on the corresponding normalized power production of each respective selected sample.
7. The computer-implemented method of any one of claims 1 to 6, wherein determining the power curve image include: generating a color version of the power curve image; as well as A grayscale version of the power curve image is generated based on the color version of the power curve image, wherein the ML encoder model is configured to process the grayscale version of the power curve image.
8. The computer-implemented method of any one of claims 1 to 7, wherein determining the power curve image include: generating a full resolution version of the power curve image; as well as A downsampled version of the power curve image having a resolution based on which the ML encoder model has been trained is generated based on the full resolution version of the power curve image, wherein the ML encoder model is configured to process the downsampled version of the power curve image.
9. The computer-implemented method of claim 8, wherein the downsampled version of the power curve image is generated include: The downsampled version of the power curve image is filtered using at least one of an erosion operator or a dilation operator to reduce the number of outlier samples represented by the downsampled version of the power curve image, wherein the downsampled version of the power curve image is provided as an input to the ML encoder model after the filtering.
10. The computer-implemented method of any one of claims 1 to 9, wherein the expected weather data comprises an expected wind speed corresponding to the future time.
11. The computer-implemented method of any one of claims 1 to 10, wherein determining the expected power production of the wind farm include: The expected power production is determined based on processing the latent representation and the expected weather data by a power prediction ML model that has been trained to predict power production of the corresponding wind farm based on corresponding attributes of the corresponding wind farm as represented by the corresponding latent representation.
12. A computer-implemented method, include: determining a training power curve image comprising a plurality of pixels, the training power curve image representing power production of a plurality of training wind turbines of a training wind farm as a function of wind speed; determining, by a machine learning (ML) encoder model, training latent representations of properties of the training wind farm based on processing the training power curve images by the ML encoder model; determining, by an ML decoder model, a reconstruction of the training power curve image based on processing the training latent representation by the ML decoder model; determining a loss value based on comparing (i) the reconstruction of the training power curve image to (ii) the training power curve image; and One or more parameters of the ML encoder model are adjusted based on the loss value.
13. The computer-implemented method of claim 12, wherein the plurality of pixels of the training power curve image represent a graph indicating along a first axis thereof an amount of power generated by the plurality of training wind turbines and along a second axis thereof the wind speed.
14. The computer-implemented method of any one of claims 12 to 13, wherein determining the training power curve image include: obtaining a plurality of training samples representing the power production of the plurality of training wind turbines, wherein each respective training sample of the plurality of training samples represents a corresponding power produced by the plurality of training wind turbines at a corresponding wind speed; determining a predetermined number of training samples corresponding to a sample density selected for training the ML encoder model; Selecting the predetermined number of training samples from the plurality of training samples; The training power curve image is generated based on the predetermined number of selected training samples.
15. The computer-implemented method of claim 14, wherein the predetermined number of training samples is selected include: determining a minimum wind speed and a maximum wind speed for training the ML encoder model; as well as The predetermined number of training samples are selected from the plurality of training samples such that the corresponding wind speed of each respective selected training sample in the predetermined number of selected training samples is (i) greater than or equal to the minimum wind speed and (ii) less than or equal to the maximum wind speed.
16. The computer-implemented method of any one of claims 12 to 15, wherein the training power curve image is generated include: determining, for each respective selected training sample of the predetermined number of selected training samples, a corresponding normalized power production based on (i) the corresponding power produced by the plurality of training wind turbines and (ii) a maximum power that the plurality of training wind turbines are capable of producing; as well as The training power curve image is generated based on the corresponding normalized power production of each respective selected training sample.
17. The computer-implemented method of any one of claims 12 to 16, wherein determining the training power curve image include: generating a full-resolution version of the training power curve image; as well as A downsampled version of the training power curve image is generated based on the full resolution version of the training power curve image, wherein the ML encoder model is configured to process the downsampled version of the training power curve image.
18. The computer-implemented method of any one of claims 12 to 17, further comprising: include: A power prediction ML model is trained to determine an expected power production of the training wind farm at a future time based on processing the training latent representation and expected weather data corresponding to the future time by the power prediction ML model.
19. A system, include: processor; as well as A non-transitory computer-readable medium having instructions stored thereon that, when executed by the processor, cause the processor to perform operations according to any one of claims 1 to 18.
20. A non-transitory computer-readable medium having instructions stored thereon that, when executed by a computing device, cause the computing device to perform the operations of any one of claims 1 to 18.