A wind turbine fault diagnosis method and system

CN122728861BActive Publication Date: 2026-10-27TAIYUAN UNIVERSITY OF SCIENCE AND TECHNOLOGY
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202611224255.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2026-08-13
Publication Date
2026-10-27
Estimated Expiration
2046-08-13

Smart Images

  • Figure CN122728861B_ABST
    Figure CN122728861B_ABST
Patent Text Reader

Abstract

The application discloses a wind turbine fault diagnosis method and system, belonging to the technical field of wind turbine fault diagnosis, comprising: obtaining SCADA data and state logs to determine fault categories and time, and constructing fault time window samples and normal time window samples; dividing training wind turbines and to-be-detected wind turbines according to wind turbine physical identities; establishing an independent binary classification model for each fault; using a multi-scale residual network and a multi-head attention network with a gate to extract time sequence features and encode them into shared features; in the training stage, a physical prediction branch is used to apply a physical operation law constraint, and a gradient reverse layer and a domain discriminator are used for cross-wind-turbine confrontation type domain alignment; in the reasoning stage, a threshold value is determined for each fault model, and the output probability is compared with the threshold value, and a diagnosis conclusion is determined according to the comparison result. The application improves the cross-wind-turbine generalization ability, the independent adjustment ability of each fault sensitivity and the time sequence feature representation ability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of wind turbine generator set fault diagnosis technology, and in particular relates to a fault diagnosis method and system for cross-wind turbine generator sets. Background Technology

[0002] During operation, wind turbines continuously generate Supervisory Control and Data Acquisition (SCADA) data. Common measurement points include wind speed, power, rotational speed, temperatures of various components (bearings, gear oil, generator, nacelle, etc.), tower vibration (acceleration), electrical quantities (current, voltage, frequency), and pitch and yaw angles. Simultaneously, the turbine's status log records the time and cause of each shutdown event. Extensive research has been conducted on fault diagnosis based on this data. SCADA data-driven methods have gained widespread application in industry due to their advantages of not requiring additional sensors and directly utilizing existing turbine data resources. Early research often employed traditional machine learning methods, such as Support Vector Machines, K-Nearest Neighbors, and Extreme Gradient Boosting Trees (XGBoost), using key indicators like wind speed, power, and temperature from SCADA data to build fault diagnosis models. In recent years, with the rapid development of deep learning technology, methods such as Convolutional Neural Networks (CNN), Recurrent Neural Networks (RNN), Long Short-Term Memory Networks (LSTM), and attention mechanisms have been extensively introduced into the field of wind turbine fault diagnosis. These methods can automatically extract relevant features from raw sensor data and complete fault detection with high accuracy, which has significant engineering value in reducing operation and maintenance costs, optimizing maintenance plans, and extending the service life of units.

[0003] However, existing methods still have shortcomings in the following aspects.

[0004] First, the cross-wind turbine applicability of the model is not sufficiently validated. Most schemes randomly divide the training and test sets proportionally on the same wind turbine, and the validation results cannot truly reflect the model's diagnostic ability for unfamiliar wind turbines that were not included in the training. Although some studies have begun to focus on cross-wind turbine migration fault diagnosis, they often rely on a small amount of labeled data on the target wind turbine for fine-tuning, and still face the dilemma of scarce target wind turbine labels in practical applications.

[0005] Secondly, feature extraction at a single time scale struggles to capture failure modes of varying durations. Existing solutions often employ convolutional structures with fixed receptive fields in temporal feature extraction, making it difficult to simultaneously capture both short-term abrupt changes and slow, gradual variations over longer periods.

[0006] Third, the decision-making method of using a single classifier for multiple faults is difficult to handle the class imbalance problem. Existing solutions mostly use a single classifier to distinguish multiple fault types at once. When the number of fault samples and normal samples is significantly different, and the number of samples of different fault categories is significantly different, faults with fewer samples are easily overwhelmed by categories with more samples or normal samples, and it is impossible to adjust the sensitivity for different faults separately.

[0007] Fourth, purely data-driven models may deviate from basic physical laws of operation. Most existing methods rely solely on statistical correlation for judgment, lacking constraints on fundamental physical relationships of wind turbines such as wind speed-power and speed-temperature. Sometimes, the model output will give results that contradict basic physical laws.

[0008] Fifth, there are differences in data distribution among different wind turbines. Due to differences in installation environment, sensor status, operating years, and control strategies, the SCADA data distribution of each wind turbine varies. When existing methods obtain models from training wind turbines and directly apply them to unfamiliar wind turbines, the performance often deteriorates significantly, and the generalization ability across wind turbines is insufficient. Summary of the Invention

[0009] To address the aforementioned technical problems, this invention proposes a fault diagnosis method and system for cross-wind turbine generator sets, thereby resolving the issues present in the prior art.

[0010] To achieve the above objectives, in a first aspect, the present invention provides a method for fault diagnosis of wind turbine generator sets, comprising:

[0011] S1. Obtain SCADA operation data and status logs of multiple wind turbines, and determine the category and occurrence time of each fault event based on the status logs;

[0012] S2. Based on the occurrence time of the fault event, extract a fixed-length fault time window sample from the SCADA operation data, and collect a normal time window sample from the healthy operation segment far away from each fault event.

[0013] S3. Divide each wind turbine into a training wind turbine group and a test wind turbine group according to the physical entity identity of the wind turbine, so that the data of the same wind turbine is not used for model training and model testing at the same time.

[0014] S4. Establish an independent binary classification model for each fault category. Each binary classification model uses the fault time window samples and the normal time window samples of the corresponding fault category as training data and outputs the probability of the occurrence of the corresponding fault category.

[0015] S5. Each of the binary classification models uses a multi-scale residual network to extract the multi-scale temporal features of the time window samples, and uses a multi-head attention network to perform temporal correlation encoding on the multi-scale temporal features to obtain shared features.

[0016] S6. The shared features are mapped to multiple physical law prediction values ​​using the physical prediction branch, and the difference between each physical law prediction value and the corresponding physical law target value is minimized, so as to apply physical operation law constraints during the training phase.

[0017] S7. Use a gradient inversion layer and a neighborhood discriminator to perform cross-wind turbine adversarial neighborhood alignment on the shared features in order to reduce the data distribution differences between wind turbines during the training phase.

[0018] S8. Select a decision threshold for each fault category for each of the binary classification models, compare the fault probability output by each binary classification model with the corresponding decision threshold, and determine the final fault diagnosis result based on the comparison result.

[0019] Preferably, the multi-scale residual network includes an initial convolutional layer and multiple multi-scale residual blocks connected in series; the initial convolutional layer is used to downsample the samples in the time window; each of the multi-scale residual blocks contains multiple parallel convolutional branches with different kernel lengths, and the outputs of each parallel convolutional branch are fused and superimposed with the outputs of the direct residual branches.

[0020] Preferably, the multi-head attention network includes multiple cascaded gated multi-head attention blocks. Each gated multi-head attention block includes a multi-head attention unit and a gate unit. The gate unit is used to generate a gate vector based on the current input, and the gate vector is used to perform element-wise weighted modulation on the output of the multi-head attention unit.

[0021] Preferably, the physical operating law constraints include physical correlation constraints between wind speed and power, physical correlation constraints between rotational speed and temperature, and physical correlation constraints between wind speed and tower vibration response.

[0022] Preferably, when applying the physical operation law constraint, the time dimension mean of each relevant physical quantity in the time window sample is used as the physical state representation of the time window sample, and normalization is performed using the maximum value of the physical state representation of each effective sample in the current training batch.

[0023] Preferably, when any of the physical operation law constraints requires SCADA measurement point data that is missing or the number of samples that meet the preset valid conditions is insufficient, the physical operation law constraint is skipped in the current training iteration.

[0024] Preferably, the gradient backward layer transmits the shared features unchanged during forward propagation, and multiplies the backpropagated gradient by a negative alignment coefficient before passing it to the previous layer network during backward propagation; the domain discriminator uses the wind turbine identification number as the classification label to determine the domain origin of the shared features.

[0025] Preferably, the total loss function for training each of the binary classification models is composed of a weighted average of fault classification loss, domain discrimination loss, and physical constraint loss; the fault classification loss switches between the Focal loss function and the weighted binary cross-entropy loss function according to the proportion of positive samples in the training samples.

[0026] Preferably, determining the final fault diagnosis result based on the comparison results includes: when only one of the binary classification models outputs a fault probability exceeding the corresponding decision threshold, outputting the fault category corresponding to that binary classification model; when multiple binary classification models output fault probabilities exceeding their respective corresponding decision thresholds, outputting the fault category with the highest fault probability; and when all binary classification models output fault probabilities not exceeding their respective corresponding decision thresholds, outputting a normal state.

[0027] Secondly, the present invention provides a fault diagnosis system for cross-wind turbine generator sets, comprising:

[0028] The data preprocessing and window building module is used to perform steps S1 and S2 in the first aspect;

[0029] The cross-wind turbine partitioning module is used to execute step S3 in the first aspect;

[0030] The fault binary classification model group contains multiple binary classification models corresponding to various faults, and is used to execute steps S4 and S5 in the first aspect;

[0031] A multi-physics law-assisted constraint module is used to execute step S6 in the first aspect during the training phase;

[0032] A cross-wind turbine feature alignment module is used to perform step S7 in the first aspect during the training phase;

[0033] The threshold post-processing module is used to perform step S8 in the first aspect.

[0034] Compared with the prior art, the present invention has the following advantages and technical effects:

[0035] In step S2 of this invention, a fixed-length fault time window sample is extracted from the SCADA operation data based on the occurrence time of the fault event. During the extraction process, a lead time is reserved to construct the time window, ensuring that the fault time window sample depicts the evolution of the operating state before the fault occurs. Normal time window samples are also collected from healthy segments far from each fault event. Through this time window construction method, the model learns the symptom patterns in the early stages of a fault, enabling it to output early warning signals before the actual fault occurs during the inference phase, thus providing valuable time margin for wind farm operation and maintenance personnel to troubleshoot and handle emergencies.

[0036] This invention, through step S3, divides wind turbines into non-overlapping training turbine groups and test turbine groups based on their physical entity identities. This ensures that data from the same turbine does not appear simultaneously in both the training and testing phases, aligning model validation conditions with real-world application scenarios and avoiding the overly optimistic validation results caused by randomly dividing the training and testing sets on the same turbine. Simultaneously, step S7 utilizes a gradient inversion layer and a domain discriminator to perform adversarial domain alignment on shared features, reducing the data distribution differences between different turbines at the feature space level. This ensures that the features learned by the model are independent of the individual characteristics of specific turbines. Through the synergistic effect of this "physical isolation partitioning" and "feature-level adversarial alignment," the model can effectively adapt to unfamiliar turbines not involved in training, maintaining good diagnostic performance across different wind farms and turbine units.

[0037] In step S4 of this invention, an independent binary classification model is established for each fault category. In step S8, a decision threshold corresponding to the fault category is selected for each binary classification model, and the probability of each fault is compared with its respective threshold. The final diagnostic conclusion is determined based on the comparison results. Different fault models each have independent network parameters and independent decision boundaries, so that fault categories with fewer samples do not need to compete with fault categories with more samples in the same decision space, thereby reducing the suppression effect of normal samples and large-category fault samples on fewer fault samples. At the same time, the decision thresholds of each fault do not affect each other and can be set independently according to the identification requirements of each fault, realizing differentiated adjustment of the detection sensitivity of different faults.

[0038] In step S4 of this invention, each binary classification model is trained using only fault samples and normal samples of that type, decomposing the multi-classification problem into multiple independent binary classification problems, thus avoiding optimization conflicts caused by multiple fault categories sharing the loss function and gradient update direction in a single classifier.

[0039] In step S5 of this invention, each binary classification model uses a multi-scale residual network to extract multi-scale temporal features, and a multi-head attention network to perform temporal correlation encoding on the multi-scale temporal features. The multi-scale residual network extracts features in parallel through multiple convolutional branches with different receptive fields, simultaneously capturing short-term transient shocks and long-term slow trend changes in one forward propagation; the multi-head attention network interacts and weights the features at different time steps within the global time range, enabling the model to adaptively focus on the time segment most relevant to the failure mode. The cascaded combination of the two results in the final shared features possessing both local sensitivity and global awareness in the time dimension, with feature representation capabilities significantly superior to single-scale feature extraction methods.

[0040] In step S6 of this invention, the shared features are mapped to multiple predicted values ​​of physical laws using a physical prediction branch, and the difference between each predicted value of physical law and the corresponding target value of physical law is minimized, so as to impose physical operation law constraints during the training phase. This step incorporates basic physical relationships of wind turbines, such as wind speed-power, rotational speed-temperature, and wind speed-tower response, as auxiliary regularization terms into the training process. This allows the model to fit the data distribution while taking into account physical consistency, avoiding the output of results that contradict basic physical laws due to excessive reliance on statistical correlation by a purely data-driven model. This enhances the robustness of the model under extreme operating conditions or changes in data distribution, and improves the engineering interpretability of the diagnostic results. Attached Figure Description

[0041] The accompanying drawings, which form part of this application, are used to provide a further understanding of this application. The illustrative embodiments and descriptions of this application are used to explain this application and do not constitute an undue limitation of this application. In the drawings:

[0042] Figure 1 This is a flowchart of a cross-wind turbine generator fault diagnosis method according to an embodiment of the present invention;

[0043] Figure 2 This is a schematic diagram of a cross-wind turbine generator fault diagnosis system according to an embodiment of the present invention;

[0044] Figure 3 This is a network structure diagram of a single fault binary classification model according to an embodiment of the present invention;

[0045] Figure 4 This is a diagram showing the internal structure of the multi-scale residual block according to an embodiment of the present invention.

[0046] Figure 5 This is a schematic diagram of the cross-wind turbine field adaptive structure according to an embodiment of the present invention;

[0047] Figure 6 This is a schematic diagram of the structure of the multi-physical law auxiliary constraint according to an embodiment of the present invention;

[0048] Figure 7 This is a schematic diagram of the post-processing structure for the fault probability threshold in an embodiment of the present invention. Detailed Implementation

[0049] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. This application will now be described in detail with reference to the accompanying drawings and embodiments.

[0050] It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases the steps shown or described may be executed in a different order than that shown here.

[0051] Example 1

[0052] like Figure 1 As shown, this embodiment provides a method for fault diagnosis of cross-wind turbine generator sets, including:

[0053] S1. Obtain SCADA operation data and status logs of multiple wind turbines, and determine the category and occurrence time of each fault event based on the status logs;

[0054] Specifically, SCADA data is a multi-point time series, with common measurement points including wind speed, power, rotational speed, temperature at various locations, tower acceleration, electrical quantities, pitch angle, and yaw angle. This example uses publicly available data from the Kelmarsh wind farm, covering six wind turbines (numbered 1 to 6, each corresponding to a dataset number), with a data time span from 2016 to 2024.

[0055] The status log records the time and cause of each downtime event. In this embodiment, downtime events are first filtered from the log, and then categorized into five types of faults based on keywords in the cause text. Battery tests, manual shutdowns, and hydraulic-related events unrelated to diagnosis are excluded. This yields a fault sample with labels indicating the time of occurrence and the type of fault.

[0056] S2. Based on the occurrence time of the fault event, extract a fixed-length fault time window sample from the SCADA operation data, and collect a normal time window sample from the healthy operation segment far away from each fault event.

[0057] Specifically, step S2 includes:

[0058] Fault window construction: For each fault event, a lead time (1 hour) is reserved before its occurrence, and then a fixed duration (6 hours) of SCADA data is extracted and uniformly aligned into 36 time steps. The resulting window depicts the operating status for a period of time before the fault occurs, providing a basis for "early identification".

[0059] Sampling of normal service windows: For each wind turbine, windows are randomly selected from the healthy segment far from any fault. The method for determining "health" is as follows: a 72-hour buffer period is established before and after each fault occurrence; any time point falling within either buffer is considered unhealthy and excluded. Approximately 500 normal service windows are collected for each training wind turbine and approximately 400 for each test wind turbine. Samples with a high missing percentage (over 30%) within a window are discarded to ensure sample quality.

[0060] Time-coded features: In addition to SCADA measurement points, each window is further equipped with 6 time-coded features, which are obtained by sine / cosine transformation of the hour (h), day of the week (w), and month (m) at the sampling time, enabling the model to utilize the periodic patterns in unit operation. ;

[0061] For ease of description, the input feature dimension of each time step is denoted as C, and the number of time steps in each window is denoted as T. C is equal to the sum of the number of SCADA signal channels and the number of time-coded features, and its specific value depends on the number of measurement points in the dataset used. It is important to emphasize that both C and T are configurable quantities and will change accordingly when the dataset or sampling settings are changed. In this embodiment, the SCADA signal has 52 channels and the time coding is 6-dimensional, therefore C is 58 and T is 36.

[0062] Missing value handling and standardization: Invalid values ​​within the window are uniformly replaced with 0; then, standardization is performed based on the mean μ and standard deviation σ obtained from the training set statistics to ensure that each feature is within a comparable numerical range. The standard deviation is truncated with a lower limit to avoid division by zero. After this processing, each sample becomes a two-dimensional array of shape "T time steps × C-dimensional features" (36 × 58 in this embodiment).

[0063] S3. Divide each wind turbine into a training wind turbine group and a test wind turbine group according to the physical entity identity of the wind turbine, so that the data of the same wind turbine is not used for model training and model testing at the same time.

[0064] In this embodiment, the data is divided into a training wind turbine group and a test wind turbine group according to the physical number of the wind turbines, thereby ensuring that the same wind turbine will not appear in both the training set and the test set at the same time. This division is a key premise that distinguishes this invention from "random division within the same machine". Since the data of the test wind turbines is not involved in the training at all, the verification results can accurately reflect the model's performance when facing unfamiliar wind turbines. In this embodiment, wind turbines 1 to 4 are used as training wind turbines, and wind turbines 5 to 6 are used as test wind turbines. At the same time, the numbers of the training wind turbines are used as domain labels for cross-wind turbine feature alignment in step S8.

[0065] S4. Establish an independent binary classification model for each fault category. Each binary classification model uses the fault time window samples and the normal time window samples of the corresponding fault category as training data and outputs the probability of the occurrence of the corresponding fault category.

[0066] This embodiment establishes a separate binary classification model for each type of fault. When training a fault model, only two classes of data are used: "fault samples" and "normal samples," and the labels are converted to "fault-specific" (1) and "normal" (0). In this way, the five faults correspond to five independent binary classification models, each with independent network weights and independent decision thresholds. This split modeling arrangement has two advantages: first, it alleviates the problem of different faults being confused with each other in the same classifier; second, it prevents faults with fewer samples from competing with faults with more samples on the same decision surface, making them easier to learn. The main body of each binary classification model uses the same network structure, and two additional auxiliary branches are added during the training phase: a physical constraint branch and a domain discrimination branch.

[0067] S5. Each of the binary classification models uses a multi-scale residual network to extract the multi-scale temporal features of the time window samples, and uses a multi-head attention network to perform temporal correlation encoding on the multi-scale temporal features to obtain shared features.

[0068] Furthermore, the multi-scale residual network includes an initial convolutional layer and multiple multi-scale residual blocks connected in series; the initial convolutional layer is used to downsample the samples in the time window; each of the multi-scale residual blocks contains multiple parallel convolutional branches with different kernel lengths, and the outputs of each parallel convolutional branch are fused and superimposed with the outputs of the direct residual branches.

[0069] Furthermore, the multi-head attention network includes multiple cascaded gated multi-head attention blocks. Each gated multi-head attention block includes a multi-head attention unit and a gate unit. The gate unit is used to generate a gate vector based on the current input, and the gate vector is used to perform element-wise weighted modulation on the output of the multi-head attention unit.

[0070] Specifically, the main feature extraction subject of each binary classification model, such as Figure 3 As shown in the diagram, in this embodiment, the input window undergoes a dimensionality transformation before entering the convolution layer, adjusting the arrangement of "time step × feature" to "feature channel × time" to conform to the input convention of one-dimensional convolution. Subsequently, the data flows sequentially through an initial convolutional layer and two multi-scale residual blocks.

[0071] The initial convolutional layer is a one-dimensional convolution with input channels equal to the input feature dimension C and output channels denoted as C0. The kernel length and stride are configurable hyperparameters. It is followed by batch normalization, ReLU activation, and a single max pooling operation. Its function is to first downsample the long sequence at a larger scale, outputting the intermediate features of the C0 channels, thus compressing the sequence length and initially integrating information from adjacent time points. In this embodiment, C0 is set to 36, the kernel length to 16, and the stride to 2.

[0072] Multi-scale residual blocks: This invention uses several multi-scale residual blocks in series (two in this embodiment). The number of output channels of each residual block is denoted as C1, C2 (72 and 108 in this embodiment), which increase sequentially. Each residual block is followed by a max pooling operation. The internal structure of a single residual block is as follows: Figure 4 As shown: First, the output channels are evenly distributed among multiple parallel convolutional branches, each branch using a different kernel length to cover different temporal receptive fields (each branch is padded with zeros to maintain consistent temporal length). Each residual block has three branches with kernel lengths of 3, 5, and 7 respectively, and pooling kernels and strides of 2. Each branch is followed by batch normalization and ReLU. Next, the outputs of the three branches are concatenated along the channel dimension, fused back to the target number of channels using a 1×1 convolution, and batch normalized. Simultaneously, the input data is transformed to the same number of channels via a 1×1 convolution bypass (i.e., direct residual connection). Finally, the fused result and the bypass result are added and output via ReLU. Let the input of a single residual block be X, then its output Y can be written as: In the formula b 3, b 5, b7 represents the outputs of three different convolutional kernel branches. This represents a 1×1 fused convolution. This represents a 1×1 residual bypass. Different kernel lengths correspond to different temporal receptive fields, allowing the module to simultaneously handle short-term abrupt changes (smaller kernels) and longer-term variations (larger kernels); while direct residual connections alleviate the training difficulties caused by increasing network depth. After the above residual blocks and multiple pooling operations, the temporal dimension is significantly compressed, and the channel dimension increases to C2, ultimately yielding multi-scale temporal features.

[0073] Multi-head attention temporal coding module: Multi-scale features are first transformed back to a "time × channel" arrangement, then a fully connected layer projects the C2-dimensional channels output from the last residual block onto a unified coding dimension d (in this embodiment, the C2 dimension of the last residual block, i.e., 108 dimensions, is projected onto 32 dimensions). Subsequently, positional coding is superimposed to inject the sequential information of each time step. The positional coding adopts a classic sine / cosine form:

[0074] (1)

[0075] In the formula, pos is the time step position, i is the dimension number, and d is the encoding dimension.

[0076] After projection and position encoding are completed, the features are then processed by N a Multi-head attention blocks with layered gating (Na is 3 in this embodiment, with 4 attention heads per layer). The calculation of each layer can be understood in three steps: first, perform multi-head self-attention on the input to obtain the attention output. Next, a fully connected sigmoid function is used to generate a gated vector. The attention output is then multiplied element-wise to adaptively adjust its strength; finally, the residual is added to the original input and layer normalization is applied. The entire layer operation can be written as:

[0077] (2)

[0078] In the formula For the Sigmoid function, W represents element-wise multiplication. g The weights for gating fully connected systems.

[0079] Multi-head attention is responsible for establishing correlations between different time steps, while the gating structure further suppresses irrelevant periods and highlights periods more relevant to fault detection. (N) a The output after layer stacking is what this invention refers to as the shared feature.

[0080] S6. The shared features are mapped to multiple physical law prediction values ​​using the physical prediction branch, and the difference between each physical law prediction value and the corresponding physical law target value is minimized, so as to apply physical operation law constraints during the training phase.

[0081] Furthermore, the physical operating law constraints include physical correlation constraints between wind speed and power, physical correlation constraints between rotational speed and temperature, and physical correlation constraints between wind speed and tower vibration response.

[0082] Furthermore, when applying the physical operation law constraint, the time dimension mean of each relevant physical quantity in the time window sample is used as the physical state representation of the time window sample, and normalization is performed using the maximum value of the physical state representation of each effective sample in the current training batch.

[0083] Furthermore, when any of the physical operation law constraints requires SCADA measurement point data that is missing or the number of samples that meet the preset valid conditions is insufficient, the physical operation law constraint is skipped in the current training iteration.

[0084] Specifically, the shared features are fed into two output heads simultaneously. The first is the classification head: it first performs adaptive average pooling in the time dimension to obtain a fixed-length vector, then passes it through a fully connected layer (to 64 dimensions) → ReLU → Dropout → fully connected layer (to 1 dimension) to obtain the fault's logit value, and finally converts it to a fault probability using a sigmoid function. The second is the physics prediction head: similarly, it first performs adaptive average pooling in the time dimension, then passes it through a fully connected layer (to 32 dimensions) → ReLU → fully connected layer (to 3 dimensions) to output three physics prediction components, each corresponding to one of the three physics relationships.

[0085] Multi-physics law auxiliary constraint module Figure 6 Imposing constraints. During normal operation of a wind turbine, several physical quantities exhibit roughly known relationships: stronger winds result in higher output power; higher rotational speeds lead to increased heat generation in components such as bearings; stronger winds cause greater aerodynamic excitation and more pronounced swaying in the tower. Purely data-driven models sometimes only learn statistical correlations, potentially yielding results contradicting these common-sense principles. Therefore, this invention adds a physical prediction head to the network outside of the fault detection branch. During the training phase, this head outputs three numbers, requiring each number to closely approximate the "target value" calculated based on the aforementioned three relationships—essentially adding three "physical common-sense reminders" to the model. The specific process includes:

[0086] Step 1: Calculate several average values ​​from the window. For a time window sample i, average the relevant measurement points within the window over time to obtain: the average wind speed V. i Average power P i Average rotational speed ω i Average bearing temperature T i Mean acceleration a of the tower i And based on the maximum effective sample value v within the batch max ω max Normalization (maximum value is set to a lower limit of 1).

[0087] Step 2: Describe the output of the physical prediction head as three components. The physical prediction head outputs three numbers for sample i. Then each is processed by the Sigmoid function. Compressing the value to between 0 and 1 corresponds to the following three physical relationships. The function of Sigmoid is to transform the network output into a number between 0 and 1, making it easier to compare with the target value, which also falls between 0 and 1.

[0088] Step 3: Each of the three relations is assigned a "target value" and is only activated when the data is valid. To avoid interference from invalid or missing data, each relation specifies the "set of valid samples" and the "minimum number of valid samples".

[0089] In this embodiment, the three physical relationships specifically include:

[0090] Constraint 1 (Wind Speed-Power Relationship). Based on the common knowledge that "wind power is approximately proportional to the cube of wind speed," the normalized cube of wind speed is used as the objective. The effective sample set consists of samples where both wind speed and power are positive, denoted as Ω1; when... Enabled at that time. Target value The loss L1 is:

[0091] (3)

[0092] In the formula V max Take the maximum value of the average wind speed in the valid samples of this batch (and set the lower limit to 1 to avoid the error being amplified by an excessively small denominator). It is network prediction, The physical objective is to measure the difference between the two using the difference of squares, and then average the samples. Intuitively, this requires that the first physical component of the network increases with increasing wind speed, and that the growth trend is close to cubic.

[0093] Constraint 2 (Speed ​​Rotation - Temperature Relationship). Based on the common sense that "the higher the speed, the more significant the component heating," the normalized speed is used as the objective to constrain the second physical component. The effective sample set consists of samples where both speed and temperature are positive, denoted as Ω2; when... Enabled at:

[0094] (4)

[0095] In the formula Take the maximum value of the mean rotation speed among the valid samples in this batch (with a lower limit of 1). This rule uses rotation speed as a reference quantity for thermal state (rotation speed is positively correlated with temperature), requiring the second physical component of the network to change synchronously with the rotation speed.

[0096] Constraint 3 (Wind Speed-Tower Response Relationship). Based on the common knowledge that "aerodynamic force is approximately proportional to the square of wind speed," the normalized square of wind speed is used as the objective to constrain the third physical component. The effective sample set consists of samples where both wind speed and tower acceleration are positive, denoted as Ω3; when... Enabled at:

[0097] (5)

[0098] This requirement stipulates that the third physical component of the network increases with increasing wind speed, and the growth trend is close to square, thus injecting the law that "the stronger the wind, the stronger the tower response" into the model.

[0099] Step 4: Merge the activated constraints into a single loss. Let A be the set of constraint indices actually activated this time, and let the number of its elements be... (n) c The maximum is 3; if a relation field is missing or the number of valid samples does not exceed 3, that relation is not enabled and is not included in the count. The physical auxiliary constraint loss is the average of the losses of all enabled relations.

[0100] (6)

[0101] Received Multiply by a smaller weight Together with the fault classification loss and the domain discrimination loss, it constitutes the total loss. Multiplying by a smaller weight means that physical constraints are merely a reminder and will not overshadow the main task of fault discrimination.

[0102] In this embodiment, the first and third relationships are all related to network prediction. The "gentle pull" towards a target value of 0 to 1 is an auxiliary regularization term and does not strictly solve the physical equations of the wind turbine. Therefore, it should not be described as a complete simulation of the physical process of the wind turbine. Secondly, the "maximum value" used for normalization is taken from the effective samples of the current batch and a lower limit of 1 is set to prevent the error from being amplified by an excessively small denominator. Thirdly, for models trained for faults such as tower oscillation, the third constraint (wind speed-tower response) will be forced to participate in order to make fuller use of the key clue of tower oscillation.

[0103] S7. Use a gradient inversion layer and a neighborhood discriminator to perform cross-wind turbine adversarial neighborhood alignment on the shared features in order to reduce the data distribution differences between wind turbines during the training phase.

[0104] Furthermore, the gradient backward layer transmits the shared features unchanged during forward propagation, and multiplies the backpropagated gradient by a negative alignment coefficient before passing it to the previous layer network during backward propagation; the neighborhood discriminator uses the wind turbine identification number as the classification label to determine the neighborhood origin of the shared features.

[0105] Specifically, cross-wind turbine domain adaptation: To reduce the data distribution differences between different wind turbines, this invention connects a domain discriminator after the shared features and inserts a gradient inversion layer between it and the shared features. Specifically, the shared features are first averaged over the time dimension to obtain a feature vector, which is then fed into the domain discriminator (whose structure is "fully connected 64-dimensional → ReLU → Dropout → fully connected to the number of wind turbines") via the gradient inversion layer. The discriminator then predicts which training wind turbine the sample comes from.

[0106] In this embodiment, the shared features are aligned by the cross-wind turbine feature alignment module according to... Figure 5 Processing: First, perform time-dimensional averaging, then feed it into the neighborhood discriminator (fully connected 64-dimensional, ReLU, Dropout, fully connected to the number of wind turbines trained) via a gradient inversion layer to predict the wind turbine number.

[0107] The unique feature of the gradient backward propagation layer lies in its different behavior during forward and backward propagation: during forward propagation, it transmits features as is, while during backward propagation, it multiplies the backpropagated gradient by a negative coefficient. This "positive invariance, negative inversion" mechanism causes the domain discriminator to strive to distinguish the origin of wind turbines, while the backbone network, due to the inverted gradient, updates in a direction that prevents the discriminator from identifying the origin of the wind turbines. This adversarial process ultimately ensures that shared features do not carry information about which wind turbine they originate from, achieving cross-wind turbine feature alignment. To avoid excessive alignment interfering with convergence in the early stages of training, the adversarial strength is... It is not fixed, but gradually increases as training progresses:

[0108] (7)

[0109] In the formula, ep is the current training round, and E is the total number of rounds. To align the weights to an upper limit, in other words, during the first quarter of training, α increases linearly from 0 to the upper limit, and then remains constant. In this embodiment, the upper limit of α is set to 0.3.

[0110] S8. Select a decision threshold for each fault category for each of the binary classification models, compare the fault probability output by each binary classification model with the corresponding decision threshold, and determine the final fault diagnosis result based on the comparison result.

[0111] Furthermore, the total loss function for training each of the binary classification models is composed of a weighted average of the fault classification loss, the domain discrimination loss, and the physical constraint loss; the fault classification loss switches between the Focal loss function and the weighted binary cross-entropy loss function according to the proportion of positive samples in the training samples.

[0112] Specifically, the total loss of each binary classification model is a weighted composite of three parts: the classification loss, the domain discrimination loss, and the physical auxiliary constraint loss.

[0113] (8)

[0114] In the formula, This is a binary classification loss for faults. Domain-specific loss is used (using cross-entropy). The loss is the physical constraint loss, and α is the alignment weight that changes with the training process. These are the physical constraint weights.

[0115] In this embodiment, the physical constraint weight λ p Let it be 0.05. Where the classification loss L... cls Adaptive selection based on the proportion of positive samples: Focal Loss (focusing coefficient of 2.0) is used when the proportion of positive samples is low (less than 0.15); otherwise, binary cross-entropy with positive sample weights is used. Noisy oversampling is performed on faults with a low proportion of positive samples (less than 0.2) (positive samples are copied and noise with a standard deviation of about 0.03 is added, with a maximum multiplier of 3).

[0116] To address the issue of a significant disparity between the number of faulty and normal samples, this invention addresses the classification loss... An adaptive selection strategy based on the proportion of positive samples is adopted. When the proportion of positive samples is low (less than 0.15), Focal Loss is used to increase the weight of difficult-to-classify samples.

[0117] (9)

[0118] In the formula, This represents the probability that the model gives for the true class. For focusing coefficient, The positive sample weights are used. When the proportion of positive samples is not low, a binary cross-entropy with positive sample weights is used, where the positive sample weights are the ratio of the number of negative samples to the number of positive samples, to amplify the contribution of positive samples. In addition to loss-level processing, at the data level, this invention also performs noisy oversampling on faults with a low proportion of positive samples (less than 0.2): it copies the positive samples and adds small-amplitude random noise, with an upper limit on the copying factor, thereby increasing the number of positive samples and improving the learnability of a few faults.

[0119] The model was trained using the AdamW optimizer (learning rate 3e-4, weight decay 1e-2), with the learning rate adjusted using a cosine annealing restart strategy. Before each batch (batch size 64) was fed into the network, a small probability (approximately 0.3) of Gaussian noise (standard deviation approximately 0.01) was added for data augmentation; subsequently, the total loss was calculated, where the weights were aligned. Update according to the formula; apply norm clipping (up to 0.5) to the gradient during backpropagation to stabilize training. After each epoch, evaluate the validation loss on the test set and retain the set of weights with the optimal validation loss; stop training early if there is no improvement after several consecutive epochs (approximately 100 epochs early, and more than 80 epochs of training have been completed). The total number of training epochs is capped at 400.

[0120] After training, this invention does not simply use 0.5 as the decision threshold. Instead, for each fault model, it selects the optimal threshold for the model from a set of candidate thresholds (from 0.05 to 0.90, with a step size of 0.05) based on the F1 score on the test set and saves it.

[0121] Furthermore, determining the final fault diagnosis result based on the comparison results includes: when only one of the binary classification models outputs a fault probability exceeding the corresponding decision threshold, outputting the fault category corresponding to that binary classification model; when multiple binary classification models output fault probabilities exceeding their respective corresponding decision thresholds, outputting the fault category with the highest fault probability; and when none of the binary classification models output fault probabilities exceeding their respective corresponding decision thresholds, outputting a normal state.

[0122] Specifically, during the inference phase, for a given window to be detected, the method calls five fault binary classification models to obtain five fault probabilities. If any probability exceeds its corresponding threshold, it is classified as a fault; if multiple probabilities exceed the threshold simultaneously, the one with the highest probability is selected. When none of the five probabilities exceed their respective thresholds, the output is "normal." Through this post-processing, the five independent binary classification outputs are integrated into a clear diagnostic conclusion, while retaining the flexibility to set different sensitivities for different faults.

[0123] The inference phase is handled by the threshold post-processing module according to... Figure 7 Execution: The five fault probabilities are compared with their respective thresholds. If any probability exceeds its threshold, the one with the highest probability is output as the corresponding fault; otherwise, a normal fault is output. The thresholds selected in this embodiment are: anemometer 0.05, cable untying 0.45, power grid failure 0.35, others 0.90, and tower oscillation 0.45.

[0124] The experimental results of this embodiment are shown in Table 1. Under the main validation (training wind turbines 1-4, testing wind turbines 5-6; test turbine data was not used in training, input consisted of 36 time steps and 58-dimensional features):

[0125] Table 1

[0126] Fault type accuracy Accuracy Recall rate F1 AUC Decision threshold Anemometer 1.0000 1.0000 1.0000 1.0000 1.0000 0.05 Cable unwinding 0.9844 0.9628 0.9794 0.9710 0.9989 0.45 Power grid outage 1.0000 1.0000 1.0000 1.0000 1.0000 0.35 other 0.9950 0.9923 0.9923 0.9923 0.9988 0.90 Tower oscillation 0.9891 1.0000 0.9145 0.9554 0.9428 0.45 average 0.9937 0.9910 0.9773 0.9837 0.9881 —

[0127] To further verify the applicability to wind turbines not observed, tests were conducted on three other distinct wind turbine divisions, and the average F1 values ​​are shown in Table 2:

[0128] Table 2

[0129] Division Training fan Fan under test Average F1 Division 1 Numbers 3, 4, 5, and 6 No. 1, No. 2 0.9856 Division II Numbers 1, 3, 5, and 6 No. 2, No. 4 0.9858 Divided into three Numbers 1, 2, 5, and 6 No. 3 and No. 4 0.9901

[0130] The test data from the four groups mentioned above were not used in training, and the resulting indicators remained stable within this range, indicating that this embodiment has good applicability under cross-wind turbine conditions. It should be noted that the above results were obtained under the data processing method, feature configuration, and training settings of this embodiment. Re-verification is required when changing the dataset, sampling interval, fault labels, SCADA fields, early warning time, or model size.

[0131] This invention addresses the question of whether a model can be used for wind turbines that were not trained. It employs a method of isolating data based on the physical entities of the wind turbines and aligning shared features using a gradient inversion layer and a neighborhood discriminator, validating the model under the condition that the training wind turbines and the wind turbines to be tested do not overlap at all. In the main validation (training wind turbines 1-4 and testing wind turbines 5-6), the average accuracy of the five fault binary classification models was 99.37%, the average precision was 99.10%, the average recall was 97.73%, the average F1 score was 98.37%, and the average AUC was 98.81%. In three other distinct cross-wind turbine partitions (test_T1_T2, test_T2_T4, test_T3_T4), the average F1 scores were 98.56%, 98.58%, and 99.01%, respectively. The test data for all four partitions were not used in the training, and the results remained stable within this range. Compared with existing technologies, existing solutions either randomly divide the training set and test set on the same wind turbine (the verification results are too optimistic and it is difficult to explain the applicability to unfamiliar wind turbines), or adopt hierarchical fine-tuning transfer learning (which requires fine-tuning on the target wind turbine). This invention directly isolates and divides the wind turbine as a unit and performs adversarial feature alignment, and the verification conditions are closer to the actual use scenario of "changing to a wind turbine that has never been seen before".

[0132] In terms of feature extraction and decision-making methods, this invention combines multi-scale residual structures with convolutional kernel lengths of 3, 5, and 7 with gated multi-head attention temporal coding. A separate binary classification model is established for each type of fault, with each model having its own decision threshold. Furthermore, three operational rules—wind speed-power, rotational speed-temperature, and wind speed-tower response—are incorporated as auxiliary constraints during training. In the aforementioned primary validation, the F1 scores for each fault were: Anemometer 1.0000, Grid_Loss 1.0000, Other 0.9923, Cable_Unwind 0.9710, and Tower_Oscillation 0.9554, demonstrating effective discrimination even for faults with relatively few samples. Compared to existing technologies, many existing solutions use a single classifier to distinguish multiple faults at once, sharing a decision-making method across categories. Faults with fewer samples are easily masked, and sensitivity cannot be adjusted independently. Some solutions use vibration signal time-frequency maps as the main input, requiring additional vibration measurements and failing to incorporate basic operational rules into the constraints. This invention directly utilizes the SCADA multi-point timing data commonly found in generator sets. Through fault-by-fault modeling and physical auxiliary constraints, thresholds can be set for each fault, and the model output more closely reflects basic operating patterns. It should be noted that the above metrics were obtained under the current dataset, feature configuration, and training settings. The maximum scores for Anemometer and Grid_Loss are related to the sample size and partitioning method for that category; they should be re-verified when changing the dataset or settings.

[0133] Example 2

[0134] like Figure 2 As shown, this embodiment provides a cross-wind turbine generator fault diagnosis system, including:

[0135] The data preprocessing and window building module is used to execute steps S1 and S2 in Example 1;

[0136] The cross-wind turbine partitioning module is used to execute step S3 in Embodiment 1;

[0137] The fault binary classification model group contains multiple binary classification models corresponding to various faults, and is used to execute steps S4 and S5 in Example 1;

[0138] The multi-physics law-assisted constraint module is used to execute step S6 in Example 1 during the training phase;

[0139] A cross-wind turbine feature alignment module is used to perform step S7 in Example 1 during the training phase;

[0140] The threshold post-processing module is used to execute step S8 in Embodiment 1.

[0141] The above are merely preferred embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A fault diagnosis method for cross-wind turbine generator sets, characterized in that, Includes the following steps: S1. Obtain SCADA operation data and status logs of multiple wind turbines, and determine the category and occurrence time of each fault event based on the status logs; S2. Based on the occurrence time of the fault event, extract a fixed-length fault time window sample from the SCADA operation data, and collect a normal time window sample from the healthy operation segment far away from each fault event. S3. Divide each wind turbine into a training wind turbine group and a test wind turbine group according to the physical entity identity of the wind turbine, so that the data of the same wind turbine is not used for model training and model testing at the same time. S4. Establish an independent binary classification model for each fault category. Each binary classification model uses the fault time window samples and the normal time window samples of the corresponding fault category as training data and outputs the probability of the occurrence of the corresponding fault category. S5. Each of the binary classification models uses a multi-scale residual network to extract the multi-scale temporal features of the time window samples, and uses a multi-head attention network to perform temporal correlation encoding on the multi-scale temporal features to obtain shared features. S6. The shared features are mapped to multiple physical law prediction values ​​using the physical prediction branch, and the difference between each physical law prediction value and the corresponding physical law target value is minimized, so as to apply physical operation law constraints during the training phase. S7. Use a gradient inversion layer and a neighborhood discriminator to perform cross-wind turbine adversarial neighborhood alignment on the shared features in order to reduce the data distribution differences between wind turbines during the training phase. S8. Select a decision threshold for each fault category for each of the binary classification models, compare the fault probability output by each of the binary classification models with the corresponding decision threshold, and determine the final fault diagnosis result based on the comparison result. The total loss function of each binary classification model is composed of a weighted average of fault classification loss, domain discrimination loss, and physical constraint loss; the fault classification loss switches between the Focal loss function and the weighted binary cross-entropy loss function according to the proportion of positive samples in the training samples.

2. The method according to claim 1, characterized in that, The multi-scale residual network includes an initial convolutional layer and multiple multi-scale residual blocks connected in series; the initial convolutional layer is used to downsample the samples in the time window; each of the multi-scale residual blocks contains multiple parallel convolutional branches with different kernel lengths, and the outputs of each parallel convolutional branch are fused and superimposed with the outputs of the direct residual branches.

3. The method according to claim 1, characterized in that, The multi-head attention network includes multiple cascaded gated multi-head attention blocks. Each gated multi-head attention block includes a multi-head attention unit and a gate unit. The gate unit is used to generate a gate vector based on the current input, and the gate vector is used to perform element-wise weighted modulation on the output of the multi-head attention unit.

4. The method according to claim 1, characterized in that, The physical operating law constraints include the physical correlation constraints between wind speed and power, the physical correlation constraints between rotational speed and temperature, and the physical correlation constraints between wind speed and tower vibration response.

5. The method according to claim 4, characterized in that, When the physical operation law constraint is applied, the time dimension mean of each relevant physical quantity in the time window sample is used as the physical state representation of the time window sample, and normalization is performed using the maximum value of the physical state representation of each effective sample in the current training batch.

6. The method according to claim 4, characterized in that, When any of the physical operation law constraints is missing SCADA measurement point data or the number of samples that meet the preset valid conditions is insufficient, the physical operation law constraint is skipped in the current training iteration.

7. The method according to claim 1, characterized in that, The gradient backward layer transmits the shared features unchanged during forward propagation, and multiplies the backpropagated gradient by a negative alignment coefficient before passing it to the previous layer network during backward propagation; the neighborhood discriminator uses the wind turbine identification number as the classification label to determine the neighborhood origin of the shared features.

8. The method according to claim 1, characterized in that, The step of determining the final fault diagnosis result based on the comparison results includes: when only one of the binary classification models outputs a fault probability that exceeds the corresponding decision threshold, outputting the fault category corresponding to that binary classification model; when multiple binary classification models output fault probabilities that exceed their respective corresponding decision thresholds, outputting the fault category with the highest fault probability; and when none of the binary classification models output fault probabilities that exceed their respective corresponding decision thresholds, outputting a normal state.

9. A fault diagnosis system for cross-wind turbine generator sets, characterized in that, include: The data preprocessing and window construction module is used to acquire SCADA operation data and status logs of multiple wind turbines, determine the category and occurrence time of each fault event based on the status logs, extract a fixed-length fault time window sample from the SCADA operation data based on the occurrence time of the fault event, and collect normal time window samples from healthy operation segments far away from each fault event. The cross-wind turbine partitioning module is used to divide each wind turbine into a training wind turbine group and a wind turbine group to be tested according to the physical entity identity of the wind turbine, so that the data of the same wind turbine is not used for model training and model testing at the same time. The fault binary classification model group includes multiple binary classification models corresponding to various faults. Each model is used to establish an independent binary classification model for each fault category. Each binary classification model uses fault time window samples and normal time window samples of the corresponding fault category as training data and outputs the probability of occurrence of the corresponding fault category. Each binary classification model uses a multi-scale residual network to extract multi-scale temporal features of the time window samples and uses a multi-head attention network to perform temporal correlation encoding on the multi-scale temporal features to obtain shared features. The multi-physical law auxiliary constraint module is used to map the shared features into multiple physical law prediction values ​​using physical prediction branches during the training phase, and to minimize the difference between each physical law prediction value and the corresponding physical law target value, so as to apply physical operation law constraints during the training phase. A cross-wind turbine feature alignment module is used to perform cross-wind turbine adversarial domain alignment of the shared features during the training phase using a gradient inversion layer and a domain discriminator, so as to reduce the data distribution differences between wind turbines during the training phase. The threshold post-processing module is used to select a decision threshold for each fault category for each of the binary classification models, compare the fault probability output by each of the binary classification models with the corresponding decision threshold, and determine the final fault diagnosis result based on the comparison result. The total loss function of each binary classification model is composed of a weighted average of fault classification loss, domain discrimination loss, and physical constraint loss; the fault classification loss switches between the Focal loss function and the weighted binary cross-entropy loss function according to the proportion of positive samples in the training samples.

Citation Information

Patent Citations

  • Underwater robot propeller type thruster cross-domain intelligent fault diagnosis method

    CN120705742A

  • Multi-task learning fault diagnosis method for aircraft hydraulic system

    CN121327702A