<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Archiving and Interchange DTD v2.3 20070202//EN" "archivearticle.dtd">
<article article-type="methods-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Energy Res.</journal-id>
<journal-title>Frontiers in Energy Research</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Energy Res.</abbrev-journal-title>
<issn pub-type="epub">2296-598X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1077519</article-id>
<article-id pub-id-type="doi">10.3389/fenrg.2022.1077519</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Energy Research</subject>
<subj-group>
<subject>Methods</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Disturbance auto-encoder generation model: Few-shot learning method for IGBT open-circuit fault diagnosis in three-phase converters</article-title>
<alt-title alt-title-type="left-running-head">Wu et al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fenrg.2022.1077519">10.3389/fenrg.2022.1077519</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Wu</surname>
<given-names>Fan</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2071331/overview"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Qiu</surname>
<given-names>Gen</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1908404/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Zhang</surname>
<given-names>Lefei</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Chen</surname>
<given-names>Kai</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1163947/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Wang</surname>
<given-names>Li</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Yu</surname>
<given-names>Jinxu</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Gao</surname>
<given-names>Jinqi</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>School of Automation Engineering</institution>, <institution>University of Electronic Science and Technology of China</institution>, <addr-line>Chengdu</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>National Institute of Defense Technology Innovation</institution>, <institution>PLA Academy of Military Science</institution>, <addr-line>Beijing</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1704588/overview">M. M. Manjurul Islam</ext-link>, American International University-Bangladesh, Bangladesh</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1835911/overview">Muhammad Sohaib</ext-link>, Lahore Garrison University, Pakistan</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2089136/overview">Thi-Ngoc-Tu Luong</ext-link>, Le Quy Don Technical University, Vietnam</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Gen Qiu, <email>qgen615@uestc.edu.cn</email>
</corresp>
<fn fn-type="other">
<p>This article was submitted to Process and Energy Systems Engineering, a section of the journal Frontiers in Energy Research</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>09</day>
<month>01</month>
<year>2023</year>
</pub-date>
<pub-date pub-type="collection">
<year>2022</year>
</pub-date>
<volume>10</volume>
<elocation-id>1077519</elocation-id>
<history>
<date date-type="received">
<day>23</day>
<month>10</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>19</day>
<month>12</month>
<year>2022</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2023 Wu, Qiu, Zhang, Chen, Wang, Yu and Gao.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Wu, Qiu, Zhang, Chen, Wang, Yu and Gao</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>With the rapid development of converters in a variety of industrial fields, the fault diagnosis of power switching devices has become an important factor in ensuring the safe and reliable operation of related systems. In recent years, machine learning has performed well in many fault diagnosis tasks. The success of these advanced methods depends on sufficient marked samples for each fault type. However, in most industrial applications, it is expensive and difficult to collect fault samples, and the fault diagnosis model trained under the limited samples cannot meet the requirements of fault diagnosis accuracy. In order to solve this problem, this study proposes a few-shot learning method based on fault sample generation to realize the open-circuit fault diagnosis of IGBT in a three-phase PWM converter. This method is the deformation of the auto-encoder called the disturbance auto-encoder generation model. By designing the model structure and training algorithm constraints, the encoder learns the nonlinear transferable disturbance from the normal operating sample pairs. Then, the disturbance is applied to the decoder to synthesize new fault samples to realize the training of the fault diagnosis model with limited samples. The biggest advantage of this method is that it can achieve 95.90% fault diagnosis accuracy by only collecting the samples in the normal operating conditions of the target system. Finally, the feasibility and advantages of the proposed method are verified by comparative experiments.</p>
</abstract>
<kwd-group>
<kwd>IGBT open-circuit fault</kwd>
<kwd>data augmentation</kwd>
<kwd>generation model</kwd>
<kwd>auto-encoder</kwd>
<kwd>few-shot learning</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>The three-phase PWM converters are composed of power switches (such as insulated gate bipolar transistor IGBT) and related control systems, which have the advantages of high efficiency, high power density, and low harmonic content. These characteristics make the three-phase PWM converters widely used in motor drive, wind power generation, photovoltaic (PV) power generation, and other industrial scenarios. However, due to equipment aging, overload, or accidents, power switches are prone to failure during operation. According to recent reports, power switches are the most vulnerable components in converters, especially in these high-power applications (<xref ref-type="bibr" rid="B19">Liang et al., 2022</xref>). The faults of power switches occur in the form of short or open circuits. Short circuit faults will lead to over current or over temperature, usually using the hardware circuit for protection and then converting to open-circuit faults. Conversely, the implicit fault characteristics of open-circuit faults are often insufficient to trigger hardware protection and cannot be discovered in time, resulting in secondary faults. Therefore, the demands and interests in the development of IGBT open-circuit fault diagnosis are increasing, which provides the necessary information for maintenance and fault-tolerant control to make the system more reliable (<xref ref-type="bibr" rid="B21">Malik et al., 2022</xref>).</p>
<p>In general, fault diagnosis methods can be divided into model-based, signal-based, and knowledge-based methods (<xref ref-type="bibr" rid="B9">Gao et al., 2015a</xref>). As classic methods, the model-based methods are used to establish the model of industrial or system process, which comes from physical principles or system identification techniques (<xref ref-type="bibr" rid="B40">Zhuo et al., 2020</xref>; <xref ref-type="bibr" rid="B31">Wassinger et al., 2018</xref>; <xref ref-type="bibr" rid="B36">Yu et al., 2017</xref>; <xref ref-type="bibr" rid="B25">Poon et al., 2016</xref>; <xref ref-type="bibr" rid="B34">Xie and Ge, 2018</xref>; <xref ref-type="bibr" rid="B15">Hwang and Huh, 2015</xref>), such as observer methods (<xref ref-type="bibr" rid="B36">Yu et al., 2017</xref>; <xref ref-type="bibr" rid="B31">Wassinger et al., 2018</xref>; <xref ref-type="bibr" rid="B40">Zhuo et al., 2020</xref>), state estimation techniques (<xref ref-type="bibr" rid="B25">Poon et al., 2016</xref>; <xref ref-type="bibr" rid="B34">Xie and Ge, 2018</xref>), and parity equations (<xref ref-type="bibr" rid="B15">Hwang and Huh, 2015</xref>). By calculating and monitoring the residuals between model generation outputs and measured outputs, anomalies and faults are detected and located. However, model-based methods rely heavily on accurate mathematical models, which may result in model uncertainty and difficulty in identifying parameters. For difficult-to-model systems, signal-based methods (<xref ref-type="bibr" rid="B1">Abari et al., 2017</xref>; <xref ref-type="bibr" rid="B39">Zhou et al., 2018a</xref>; <xref ref-type="bibr" rid="B38">Zhou et al., 2018b</xref>; <xref ref-type="bibr" rid="B13">Huang et al., 2021</xref>) (<xref ref-type="bibr" rid="B1">Abari et al., 2017</xref>; <xref ref-type="bibr" rid="B39">Zhou et al., 2018a</xref>; <xref ref-type="bibr" rid="B38">Zhou et al., 2018b</xref>; <xref ref-type="bibr" rid="B13">Huang et al., 2021</xref>) are widely used to detect the characteristic distortion of sampled signals. Signal-based methods mainly use signal processing techniques and rely on prior knowledge, which may bring a heavy computational burden and excessive diagnosis time.</p>
<p>In recent years, with the significant progress of machine learning technology, knowledge-based methods have attracted considerable research attention (<xref ref-type="bibr" rid="B10">Gao et al., 2015b</xref>; <xref ref-type="bibr" rid="B29">Wang et al., 2015</xref>; <xref ref-type="bibr" rid="B4">Cai et al., 2016a</xref>; <xref ref-type="bibr" rid="B6">Cai et al., 2016b</xref>; <xref ref-type="bibr" rid="B5">Cai et al., 2016c</xref>; <xref ref-type="bibr" rid="B22">Moosavi et al., 2016</xref>; <xref ref-type="bibr" rid="B7">Cherif and Bendiabdellah, 2018</xref>; <xref ref-type="bibr" rid="B14">Huang et al., 2018</xref>; <xref ref-type="bibr" rid="B8">Ding et al., 2019</xref>; <xref ref-type="bibr" rid="B33">Xia et al., 2019</xref>; <xref ref-type="bibr" rid="B35">Ye et al., 2019</xref>; <xref ref-type="bibr" rid="B11">Gou et al., 2020</xref>) (<xref ref-type="bibr" rid="B10">Gao et al., 2015b</xref>; <xref ref-type="bibr" rid="B29">Wang et al., 2015</xref>; <xref ref-type="bibr" rid="B4">Cai et al., 2016a</xref>; <xref ref-type="bibr" rid="B6">Cai et al., 2016b</xref>; <xref ref-type="bibr" rid="B5">Cai et al., 2016c</xref>; <xref ref-type="bibr" rid="B22">Moosavi et al., 2016</xref>; <xref ref-type="bibr" rid="B7">Cherif and Bendiabdellah, 2018</xref>; <xref ref-type="bibr" rid="B14">Huang et al., 2018</xref>; <xref ref-type="bibr" rid="B8">Ding et al., 2019</xref>; <xref ref-type="bibr" rid="B33">Xia et al., 2019</xref>; <xref ref-type="bibr" rid="B35">Ye et al., 2019</xref>; <xref ref-type="bibr" rid="B11">Gou et al., 2020</xref>). The principle is to extract the mapping relationship between measurement data and fault labels. In offline training, the fault database is used to train the machine learning-based classification model. In online applications, the classification model generates fault diagnosis results based on input signals (i.e., sampling current and voltage). Unlike model-based and signal-based methods, knowledge-based methods are independent of the system model and signal processing, making them more robust and generalizable in changing systems (<xref ref-type="bibr" rid="B10">Gao et al., 2015b</xref>). The classical classification model is generally divided into two steps: feature extraction and fault classification. Feature extraction methods mainly include fast Fourier transform (FFT) (<xref ref-type="bibr" rid="B4">Cai et al., 2016a</xref>; <xref ref-type="bibr" rid="B6">Cai et al., 2016b</xref>; <xref ref-type="bibr" rid="B22">Moosavi et al., 2016</xref>; <xref ref-type="bibr" rid="B33">Xia et al., 2019</xref>; <xref ref-type="bibr" rid="B11">Gou et al., 2020</xref>) (<xref ref-type="bibr" rid="B4">Cai et al., 2016a</xref>; <xref ref-type="bibr" rid="B6">Cai et al., 2016b</xref>; <xref ref-type="bibr" rid="B22">Moosavi et al., 2016</xref>; <xref ref-type="bibr" rid="B33">Xia et al., 2019</xref>; <xref ref-type="bibr" rid="B11">Gou et al., 2020</xref>), discrete wavelet transform (DWT) (<xref ref-type="bibr" rid="B7">Cherif and Bendiabdellah, 2018</xref>; <xref ref-type="bibr" rid="B35">Ye et al., 2019</xref>), principal ingredient analysis (PCA) (<xref ref-type="bibr" rid="B29">Wang et al., 2015</xref>), and linear discriminant analysis (<xref ref-type="bibr" rid="B8">Ding et al., 2019</xref>). Fault classification methods include support vector machine (SVM) (<xref ref-type="bibr" rid="B14">Huang et al., 2018</xref>), Bayesian network (<xref ref-type="bibr" rid="B4">Cai et al., 2016a</xref>; <xref ref-type="bibr" rid="B6">Cai et al., 2016b</xref>) (<xref ref-type="bibr" rid="B4">Cai et al., 2016a</xref>), and neural network (<xref ref-type="bibr" rid="B29">Wang et al., 2015</xref>; <xref ref-type="bibr" rid="B22">Moosavi et al., 2016</xref>; <xref ref-type="bibr" rid="B7">Cherif and Bendiabdellah, 2018</xref>; <xref ref-type="bibr" rid="B33">Xia et al., 2019</xref>; <xref ref-type="bibr" rid="B35">Ye et al., 2019</xref>; <xref ref-type="bibr" rid="B11">Gou et al., 2020</xref>).</p>
<p>Although these machine learning-based classifiers can perform nonlinear learning, traditional feature extraction methods are inductive biased, leading to the loss of valuable information. Recently, deep learning models with fault feature extraction capabilities have greatly improved fault diagnosis capabilities. <xref ref-type="bibr" rid="B26">Si et al. (2022</xref>) used a deep LSTM network with attention cooperation to extract discriminative features from the original data. Compared with other methods, it has better diagnostic results under various conditions. <xref ref-type="bibr" rid="B37">Yuan et al. (2022</xref>) used 1-DCNN to extract features from the original data, and 100% accuracy of fault diagnosis was realized perfectly in the experiment of the IGBT open-circuit fault diagnosis for NPC inverters. However, in order to train a reliable classification model, a large amount of fault data are required that can fully reflect the real operating conditions of the target system, which is particularly important for deep learning models. However, in most cases, the fault experiment of the target system is expensive, and its safety risk is unacceptable, such as wind power generation and the traction system (<xref ref-type="bibr" rid="B6">Cai et al., 2016b</xref>). For most knowledge-based methods, the classification model is trained from the source database of a particular system in a simulation or ideal experiment. Various uncertain disturbances occur between the source and target systems, such as load characteristics, sensors, and grid disturbances, resulting in model and feature mismatches, which cause unacceptable fault misdiagnosis rates (<xref ref-type="bibr" rid="B32">Xia and Xu, 2021</xref>).</p>
<p>In recent years, few-shot learning has provided a promising research direction to solve the above problems (<xref ref-type="bibr" rid="B30">Wang et al., 2020</xref>). The purpose of few-shot learning is to train the models under the condition of limited marked data or different tasks similar to the target task (<xref ref-type="bibr" rid="B17">Lai et al., 2020</xref>). Generally, it can be divided into sample generation, model, and algorithm. Compared with the model and algorithm, the data generation methods only need a simple classification model, so it is favored by the high real-time fault diagnosis task (<xref ref-type="bibr" rid="B18">Li et al., 2020</xref>; <xref ref-type="bibr" rid="B20">Liu et al., 2021</xref>; <xref ref-type="bibr" rid="B24">Pei et al., 2021</xref>; <xref ref-type="bibr" rid="B18">Li et al., 2020</xref>; <xref ref-type="bibr" rid="B20">Liu et al., 2021</xref>; <xref ref-type="bibr" rid="B24">Pei et al., 2021</xref>; <xref ref-type="bibr" rid="B18">Li et al., 2020</xref>; <xref ref-type="bibr" rid="B20">Liu et al., 2021</xref>; <xref ref-type="bibr" rid="B24">Pei et al., 2021</xref>). <xref ref-type="bibr" rid="B18">Li et al. (2020</xref>) proposed five simple signal deformation techniques to generate samples that train deep learning models. Under the condition of limited samples, good fault diagnosis results of rotating machinery were obtained. In addition, <xref ref-type="bibr" rid="B20">Liu et al. (2021</xref>) proposed a sample generation model named variational auto-encoding generative adversarial networks (VAGAN) with deep regret analysis to improve the fault diagnosis ability of the rolling bearing fault. <xref ref-type="bibr" rid="B24">Pei et al. (2021</xref>) proposed an enhanced few-shot Wasserstein auto-encoder (EFWAN) to generate samples for reliable fault diagnosis of rolling bearing with limited data. In summary, few-shot learning methods have achieved great success in image recognition, natural language processing, and fault diagnosis, among others (<xref ref-type="bibr" rid="B23">Parnami and Lee, 2022</xref>; <xref ref-type="bibr" rid="B27">Snell et al., 2017</xref>). However, to the best knowledge of the authors, there are almost no reports on the few-shot learning for converter fault diagnosis. In the converter fault diagnosis, it is usually required to make a fault diagnosis every cycle (0.001&#x2013;0.025&#xa0;s). The high real-time requirements and the complexity of the algorithms bring great challenges to the limited computing resources. In addition, in order to ensure the reliable operation of the converter, a false diagnosis is unacceptable.</p>
<p>In order to solve the above problems, a few-shot learning method based on sample generation is proposed in this study. In the case of limited databases, we can synthesize enough samples for each category to train the classifier in a standard supervised way without increasing the computational burden on the classifier. Firstly, in order to improve the performance of sample generation, the key factors are revealed in the error decomposition of few-shot learning (<xref ref-type="sec" rid="s2-2">Section 2.2</xref>). Then, based on the key factors, a disturbance auto-encoder generation model is proposed through model design and training algorithm constraints. The proposed disturbance auto-encoder generation model trains an encoder and a decoder from the source database (simulation database). In the generation phase, the encoder extracts the disturbance from the same class sample pairs, whereas the decoder uses disturbance and source samples to reconstruct the fault samples for the target system. Therefore, the generated samples can better fit the sample distribution of the target system. The main contributions of this paper are as follows:<list list-type="simple">
<list-item>
<p>1) An disturbance auto-encoder generation model is proposed in this study, which can synthesize the fault sample data of the target system only by collecting the data of the target system under normal operating conditions. The proposed generation model effectively solves the problem of collecting IGBT open-circuit fault data of the converter.</p>
</list-item>
<list-item>
<p>2) The classifier trained by the synthesized samples has high fault diagnosis accuracy without increasing the computational burden on the online classification.</p>
</list-item>
<list-item>
<p>3) In the comparative experiments of two databases, the effectiveness and superiority of the disturbance auto-encoder generation model are verified.</p>
</list-item>
</list>
</p>
<p>The rest of this study is organized as follows: Section 2 briefly introduces the topology of the three-phase converter system and defines the IGBT open-circuit fault labels. The few-shot learning error analysis shows that the performance of the generation model depends on whether the generation samples are identically distributed with the target system. <xref ref-type="sec" rid="s3">Section 3</xref> describes in detail the proposed disturbance auto-encoder generation model. <xref ref-type="sec" rid="s4">Section 4</xref> gives the experimental results and discussion. Finally, a general conclusion is given.</p>
</sec>
<sec id="s2">
<title>2 System and critical problem descriptions</title>
<sec id="s2-1">
<title>2.1 System description</title>
<p>A widely used three-phase PWM converter topology is shown in <xref ref-type="fig" rid="F1">Figure 1</xref>, which consists of six IGBT modules (<italic>T</italic>
<sub>
<italic>1</italic>
</sub>&#x2014;<italic>T</italic>
<sub>
<italic>6</italic>
</sub>) and their auxiliary control units. <italic>i</italic>
<sub>
<italic>a</italic>
</sub>, <italic>i</italic>
<sub>
<italic>b</italic>
</sub>, and <italic>i</italic>
<sub>
<italic>c</italic>
</sub> are the three-phase output currents of the converter. This study discusses the most common single and double IGBT open-circuit faults in practical applications. A total of 22 fault labels, including normal conditions, are shown in <xref ref-type="table" rid="T1">Table 1</xref>, and each label represents a specific fault type. The proposed fault diagnosis method uses the machine learning method as the fault classifier. The inputs are <italic>i</italic>
<sub>
<italic>a</italic>
</sub>, <italic>i</italic>
<sub>
<italic>b</italic>
</sub>, and <italic>i</italic>
<sub>
<italic>c</italic>
</sub>, and the outputs are the fault labels. The fault location is realized in <xref ref-type="table" rid="T1">Table 1</xref>.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Three-phase PWM converter topology.</p>
</caption>
<graphic xlink:href="fenrg-10-1077519-g001.tif"/>
</fig>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Labels of IGBT open-circuit fault.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Fault IGBT/IGBTs</th>
<th align="center">Label</th>
<th align="center">Fault IGBT/IGBTs</th>
<th align="center">Label</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Normal</td>
<td align="center">1</td>
<td align="center">
<italic>T</italic>
<sub>
<italic>1</italic>
</sub> and <italic>T</italic>
<sub>
<italic>6</italic>
</sub>
</td>
<td align="center">12</td>
</tr>
<tr>
<td align="center">
<italic>T</italic>
<sub>
<italic>1</italic>
</sub>
</td>
<td align="center">2</td>
<td align="center">
<italic>T</italic>
<sub>
<italic>2</italic>
</sub> and <italic>T</italic>
<sub>
<italic>3</italic>
</sub>
</td>
<td align="center">13</td>
</tr>
<tr>
<td align="center">
<italic>T</italic>
<sub>
<italic>2</italic>
</sub>
</td>
<td align="center">3</td>
<td align="center">
<italic>T</italic>
<sub>
<italic>2</italic>
</sub> and <italic>T</italic>
<sub>
<italic>4</italic>
</sub>
</td>
<td align="center">14</td>
</tr>
<tr>
<td align="center">
<italic>T</italic>
<sub>
<italic>3</italic>
</sub>
</td>
<td align="center">4</td>
<td align="center">
<italic>T</italic>
<sub>
<italic>2</italic>
</sub> and <italic>T</italic>
<sub>
<italic>5</italic>
</sub>
</td>
<td align="center">15</td>
</tr>
<tr>
<td align="center">
<italic>T</italic>
<sub>
<italic>4</italic>
</sub>
</td>
<td align="center">5</td>
<td align="center">
<italic>T</italic>
<sub>
<italic>2</italic>
</sub> and <italic>T</italic>
<sub>
<italic>6</italic>
</sub>
</td>
<td align="center">16</td>
</tr>
<tr>
<td align="center">
<italic>T</italic>
<sub>
<italic>5</italic>
</sub>
</td>
<td align="center">6</td>
<td align="center">
<italic>T</italic>
<sub>
<italic>3</italic>
</sub> and <italic>T</italic>
<sub>
<italic>4</italic>
</sub>
</td>
<td align="center">17</td>
</tr>
<tr>
<td align="center">
<italic>T</italic>
<sub>
<italic>6</italic>
</sub>
</td>
<td align="center">7</td>
<td align="center">
<italic>T</italic>
<sub>
<italic>3</italic>
</sub> and <italic>T</italic>
<sub>
<italic>5</italic>
</sub>
</td>
<td align="center">18</td>
</tr>
<tr>
<td align="center">
<italic>T</italic>
<sub>
<italic>1</italic>
</sub> and <italic>T</italic>
<sub>
<italic>2</italic>
</sub>
</td>
<td align="center">8</td>
<td align="center">
<italic>T</italic>
<sub>
<italic>3</italic>
</sub> and <italic>T</italic>
<sub>
<italic>6</italic>
</sub>
</td>
<td align="center">19</td>
</tr>
<tr>
<td align="center">
<italic>T</italic>
<sub>
<italic>1</italic>
</sub> and <italic>T</italic>
<sub>
<italic>3</italic>
</sub>
</td>
<td align="center">9</td>
<td align="center">
<italic>T</italic>
<sub>
<italic>4</italic>
</sub> and <italic>T</italic>
<sub>
<italic>5</italic>
</sub>
</td>
<td align="center">20</td>
</tr>
<tr>
<td align="center">
<italic>T</italic>
<sub>
<italic>1</italic>
</sub> and <italic>T</italic>
<sub>
<italic>4</italic>
</sub>
</td>
<td align="center">10</td>
<td align="center">
<italic>T</italic>
<sub>
<italic>4</italic>
</sub> and <italic>T</italic>
<sub>
<italic>6</italic>
</sub>
</td>
<td align="center">21</td>
</tr>
<tr>
<td align="center">
<italic>T</italic>
<sub>
<italic>1</italic>
</sub> and <italic>T</italic>
<sub>
<italic>5</italic>
</sub>
</td>
<td align="center">11</td>
<td align="center">
<italic>T</italic>
<sub>
<italic>5</italic>
</sub> and <italic>T</italic>
<sub>
<italic>6</italic>
</sub>
</td>
<td align="center">22</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s2-2">
<title>2.2 Error decomposition of few-shot learning</title>
<p>In any classification tasks of machine learning, perfect classification cannot be obtained, and there are usually classification errors. This section illustrates the core issues of few-shot learning through error decomposition based on supervised machine learning (<xref ref-type="bibr" rid="B3">Bottou and Bousquet, 2008</xref>; <xref ref-type="bibr" rid="B2">Bottou et al., 20182018</xref>). The analysis shows that the performance of the sample generation model depends on whether the generated samples are identically distributed with the target system samples.</p>
<p>Generalization error: Given a classification task, <italic>p</italic>(<italic>x</italic>, <italic>y</italic>) represents the joint probability distribution of the feature vector <italic>x</italic> and the classification label <italic>y</italic>, and there is an optimal assumption <inline-formula id="inf1">
<mml:math id="m1">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>h</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> that minimizes the generalization error <italic>e</italic>, where <italic>a</italic> and <italic>b</italic> are arbitrary variables and <italic>I</italic>(<italic>a,b</italic>) is a function:<disp-formula id="equ1">
<mml:math id="m2">
<mml:mrow>
<mml:mi mathvariant="bold-italic">e</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x222b;</mml:mo>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">y</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">y</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="e1">
<mml:math id="m3">
<mml:mrow>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">b</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn mathvariant="bold">1</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold-italic">a</mml:mi>
<mml:mo>&#x2260;</mml:mo>
<mml:mi mathvariant="bold-italic">b</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn mathvariant="bold">0</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold-italic">a</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">b</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:math>
<label>(1)</label>
</disp-formula>
</p>
<p>Model error: For a given hypothesis space H, when the training sets of <italic>N</italic>
<sub>
<italic>l</italic>
</sub> samples are sufficient to estimate <italic>p</italic>(<italic>x</italic>,<italic>y</italic>), there exists a function <inline-formula id="inf2">
<mml:math id="m4">
<mml:mrow>
<mml:msup>
<mml:mi>h</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msup>
<mml:mo>&#x2208;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> H that minimizes the model error <italic>e</italic>
<sub>
<italic>m</italic>
</sub>:<disp-formula id="e2">
<mml:math id="m5">
<mml:mrow>
<mml:msub>
<mml:mi>e</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn mathvariant="bold">1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>l</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">1</mml:mn>
</mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>l</mml:mi>
</mml:msub>
</mml:msubsup>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi>h</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:math>
<label>(2)</label>
</disp-formula>
</p>
<p>Empirical error: When the datasets <italic>D</italic>
<sub>
<italic>train</italic>
</sub> of <italic>N</italic>
<sub>
<italic>s</italic>
</sub> samples are small, <italic>p</italic>(<italic>x</italic>, <italic>y</italic>) is unknown. Exist <inline-formula id="inf3">
<mml:math id="m6">
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> H minimizing the empirical error <italic>e</italic>
<sub>
<italic>s</italic>
</sub> as fellows:<disp-formula id="e3">
<mml:math id="m7">
<mml:mrow>
<mml:msub>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn mathvariant="bold">1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">1</mml:mn>
</mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:msubsup>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:math>
<label>(3)</label>
</disp-formula>
</p>
<p>Therefore, the error of few-shot learning can be decomposed into<disp-formula id="e4">
<mml:math id="m8">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x395;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">e</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">e</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:munder>
<mml:munder>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x395;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">e</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">e</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="true">
</mml:mo>
</mml:munder>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">e</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mi mathvariant="bold-italic">g</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">H</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:munder>
<mml:mo>&#x2b;</mml:mo>
<mml:munder>
<mml:munder>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x395;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">e</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">e</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="true">
</mml:mo>
</mml:munder>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">e</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">H</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:munder>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:math>
<label>(4)</label>
</disp-formula>
</p>
<p>
<italic>E</italic> represents expectation. As shown in Eq. <xref ref-type="disp-formula" rid="e4">4</xref>, the error of few-shot learning is affected by the sample <italic>N</italic>
<sub>
<italic>s</italic>
</sub> in the <italic>D</italic>
<sub>
<italic>train</italic>
</sub> and hypothesis space <italic>H</italic>. In other words, reducing the error of few-shot learning can be attempted from the perspective of enhancing data, providing a <italic>D</italic>
<sub>
<italic>train</italic>
</sub> sufficient to estimate <inline-formula id="inf4">
<mml:math id="m9">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. In addition, from Eqs <xref ref-type="disp-formula" rid="e2">2</xref>&#x2013;<xref ref-type="disp-formula" rid="e4">4</xref>, in order to reduce <inline-formula id="inf5">
<mml:math id="m10">
<mml:mrow>
<mml:msub>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, the key is to keep identical distribution <italic>p</italic>(<italic>x</italic>,<italic>y</italic>) between generated samples and target samples.</p>
</sec>
</sec>
<sec id="s3">
<title>3 Proposed disturbance auto-encoder generation model</title>
<sec id="s3-1">
<title>3.1 Main ideas</title>
<p>The premise of machine learning fault diagnosis methods is that there are enough fault samples. However, the collection of target system fault samples is usually expensive and difficult due to the risk of fault experiments (<xref ref-type="bibr" rid="B19">Liang et al., 2022</xref>). On the contrary, it is easier to construct a fault database through the source system (simulation, ideal experiment, and existing samples of similar systems) (<xref ref-type="bibr" rid="B6">Cai et al., 2016b</xref>). However, the models trained by the source system are often not well applied to the target system. The main reason is that the target system has a variety of uncertain disturbances, such as load disturbance, sensor noise, and grid disturbance (<xref ref-type="bibr" rid="B32">Xia and Xu, 2021</xref>). It is worth noting that the above disturbance will not change with the occurrence of the open-circuit fault of IGBT. Therefore, it has the transferable ability from normal to fault conditions. In addition, if sufficient normal operation samples are used to extract the above disturbance, the disturbance implicitly contains the information of the <inline-formula id="inf6">
<mml:math id="m11">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>In order to accurately extract the above disturbance, our method is inspired by <xref ref-type="bibr" rid="B12">Hariharan and Girshick (2017</xref>) and <xref ref-type="bibr" rid="B41">Eli Schwartz (2017</xref>), where a relative offset between a pair of the same class conveys valid deformation information, and the same offset is applied to other examples to synthesize new samples. In our technique, we do not limit disturbance to relative offset. In principle, a model can be constructed to learn the nonlinear transferable disturbance of the target system under different operating conditions.</p>
<p>The proposed model comprises encoder <italic>E</italic> and decoder <italic>D</italic>, which is the deformation of the auto-encoder. The schematic diagram of the proposed method is shown in <xref ref-type="fig" rid="F2">Figure 2</xref>. The encoder <italic>E</italic> extracts the nonlinear transferable disturbance <italic>Z</italic> from the normal operating current data of the source and target domain. The decoder <italic>D</italic> uses the fault samples of the source domain and <italic>Z</italic> to generate the fault samples of the target domain.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Schematic diagram of the proposed method.</p>
</caption>
<graphic xlink:href="fenrg-10-1077519-g002.tif"/>
</fig>
<p>Specifically, the standard auto-encoder (<xref ref-type="bibr" rid="B16">Kingma and Welling, 2013</xref>) reconstructs the signal <italic>X</italic>
<sub>
<italic>s</italic>
</sub> by minimizing <inline-formula id="inf7">
<mml:math id="m12">
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mover accent="true">
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf8">
<mml:math id="m13">
<mml:mrow>
<mml:mover accent="true">
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents the signal reconstructed by the encoder. Usually, the dimension of <inline-formula id="inf9">
<mml:math id="m14">
<mml:mrow>
<mml:msub>
<mml:mi>Z</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is much smaller than <italic>X</italic>
<sub>
<italic>s</italic>
</sub>, representing the minimum dimension of feature vector required to reconstruct <italic>X</italic>
<sub>
<italic>s</italic>
</sub>, indicating that the encoder can extract features. We use structural design and training method constraints to enable <italic>E</italic> to extract the disturbance <italic>Z</italic>
<sub>
<italic>s</italic>
</sub> from the same class sample pairs and let <italic>Z</italic>
<sub>
<italic>s</italic>
</sub> represent the necessary information required to synthesize <italic>X</italic>
<sub>
<italic>sn</italic>
</sub> from <italic>X</italic>
<sub>
<italic>sp</italic>
</sub> to ensure the fault characteristics of the generation samples. <italic>X</italic>
<sub>
<italic>sp</italic>
</sub> and <italic>X</italic>
<sub>
<italic>sn</italic>
</sub> represent the same class samples.</p>
</sec>
<sec id="s3-2">
<title>3.2 Model structure and training method</title>
<p>Model structure: The structure of the proposed disturbance auto-encoder generation model is shown in <xref ref-type="fig" rid="F3">Figure 3</xref>, which is divided into two stages: training and generation. In the training phase, the inputs are the same class of fault sample pairs (<italic>X</italic>
<sub>
<italic>sn</italic>
</sub>, <italic>X</italic>
<sub>
<italic>sp</italic>
</sub>) from the two source databases (<italic>s</italic> and <italic>p</italic>), and <italic>Z</italic>
<sub>
<italic>s</italic>
</sub> is obtained by the encoder <italic>E</italic>. Then, <italic>Z</italic>
<sub>
<italic>s</italic>
</sub> and <italic>X</italic>
<sub>
<italic>sn</italic>
</sub> are used as the inputs of the decoder <italic>D</italic> to obtain the synthetic sample of <italic>X</italic>
<sub>
<italic>sp</italic>
</sub>. Finally, the forward propagation of the training phase is expressed as<disp-formula id="e5">
<mml:math id="m15">
<mml:mrow>
<mml:mover accent="true">
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:math>
<label>(5)</label>
</disp-formula>
</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Structure of the proposed disturbance auto-encoder generation model.</p>
</caption>
<graphic xlink:href="fenrg-10-1077519-g003.tif"/>
</fig>
<p>
<inline-formula id="inf10">
<mml:math id="m16">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf11">
<mml:math id="m17">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are parameters that need to be solved for the auto-encoder. In order to ensure the complexity of <italic>Z</italic>
<sub>s</sub>, <italic>E</italic>, and <italic>D</italic> are fit by the similar <italic>n</italic>-layer 1-dimension convolution neural network (1-DCNN). The details of 1-DCNN can be found in <xref ref-type="bibr" rid="B37">Yuan et al. (2022</xref>).</p>
<p>In the generation phase, sufficient samples are collected from the normal operational target system to implicitly include <italic>p</italic>(<italic>x</italic>, <italic>y</italic>). The sample pairs (<italic>X</italic>
<sub>
<italic>sN</italic>
</sub>, <italic>X</italic>
<sub>
<italic>tN</italic>
</sub>), formed by the normal operational target and source system, are used as the inputs of the encoder <italic>E</italic> to obtain <italic>Z</italic>
<sub>
<italic>t</italic>
</sub>. Then, <italic>Z</italic>
<sub>
<italic>t</italic>
</sub> and <italic>X</italic>
<sub>
<italic>s</italic>
</sub> are used as inputs to decoder <italic>D</italic> to get the generation samples. <italic>X</italic>
<sub>
<italic>tN</italic>
</sub> represents the sample mean of the normal operational target and source system, and <italic>X</italic>
<sub>
<italic>s</italic>
</sub> represents the sample mean of a certain fault class in the source system. Finally, the forward propagation of the generation phase is expressed as<disp-formula id="e6">
<mml:math id="m18">
<mml:mrow>
<mml:mover accent="true">
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:math>
<label>(6)</label>
</disp-formula>
</p>
<p>Model training: In order to solve the parameters <inline-formula id="inf12">
<mml:math id="m19">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf13">
<mml:math id="m20">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and make <italic>Z</italic>
<sub>
<italic>s</italic>
</sub> represent the nonlinear transferable disturbance, we constrain <italic>Z</italic>
<sub>
<italic>s</italic>
</sub> by Gaussian distribution injection. This is based on the fact that the output disturbance is caused by a variety of random factors. Therefore, <italic>Z</italic>
<sub>
<italic>s</italic>
</sub> can be approximated to Gaussian noise by the central limit theorem. To this end, the training of the model is conducted in two stages. In the first stage, <italic>Z</italic>
<sub>
<italic>s</italic>
</sub> is replaced by Gaussian distribution noise <inline-formula id="inf14">
<mml:math id="m21">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x223c;</mml:mo>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>&#x3c3;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. Then, <italic>d</italic> and <italic>X</italic>
<sub>
<italic>sp</italic>
</sub> are used as input to train decoder <italic>D</italic> with the following training objective:<disp-formula id="e7">
<mml:math id="m22">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mover accent="true">
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x223c;</mml:mo>
<mml:mover accent="true">
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mo>&#x3d;</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
</mml:munder>
<mml:msup>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn mathvariant="bold">2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:math>
<label>(7)</label>
</disp-formula>
</p>
<p>It can be proved that the training results of the above models are as follows (see <xref ref-type="app" rid="app1">Appendix A</xref> for details):<disp-formula id="e8">
<mml:math id="m23">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mover accent="true">
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x395;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mover accent="true">
<mml:msub>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:math>
<label>(8)</label>
</disp-formula>
</p>
<p>Among them, <inline-formula id="inf15">
<mml:math id="m24">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the <italic>i</italic>-class fault samples in <italic>X</italic>
<sub>
<italic>sn</italic>
</sub> and <inline-formula id="inf16">
<mml:math id="m25">
<mml:mrow>
<mml:mover accent="true">
<mml:msub>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> represents the sample mean of the <italic>i</italic>-class fault in <italic>X</italic>
<sub>
<italic>sp</italic>
</sub>. The above training makes the decoder <italic>D</italic> encoded by <italic>d</italic>, and its generation samples retain the fault feature as the <italic>i</italic>-class fault sample mean <inline-formula id="inf17">
<mml:math id="m26">
<mml:mrow>
<mml:mi>&#x395;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mover accent="true">
<mml:msub>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>In the second stage, training the encoder <italic>E</italic> and fine-tuning the decoder <italic>D</italic>, <italic>X</italic>
<sub>
<italic>sn</italic>
</sub> and <italic>X</italic>
<sub>
<italic>sp</italic>
</sub> are used as inputs. The generation model has the following training objectives:<disp-formula id="e9">
<mml:math id="m27">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mover accent="true">
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mover accent="true">
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x223c;</mml:mo>
<mml:mover accent="true">
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mo>,</mml:mo>
<mml:mover accent="true">
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:munder>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>a</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msup>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn mathvariant="bold">2</mml:mn>
</mml:msup>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mover accent="true">
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn mathvariant="bold">2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>
</p>
<p>The first term is to minimize the synthesis error, and the second term is the decoder fine-tuning term. Under the premise of ensuring the synthesis sample error, the closer <inline-formula id="inf18">
<mml:math id="m28">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is to <inline-formula id="inf19">
<mml:math id="m29">
<mml:mrow>
<mml:mover accent="true">
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>, the closer <italic>Z</italic>
<sub>
<italic>s</italic>
</sub> is to <italic>d</italic>, so that <italic>Z</italic>
<sub>
<italic>s</italic>
</sub> can represent the nonlinearity transferable disturbance.</p>
<p>The training process is shown in <xref ref-type="statement" rid="Algorithm_1">Algorithm 1</xref>.</p>
<p>
<statement content-type="algorithm" id="Algorithm_1">
<label>Algorithm 1</label>
<p>Adm training of disturbance auto-encoder generation model, fine-tuned weights <inline-formula id="inf20">
<mml:math id="m30">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, batch size <italic>M</italic>, Gaussian noise variance <inline-formula id="inf21">
<mml:math id="m31">
<mml:mrow>
<mml:mi>&#x3c3;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>.<list list-type="simple">
<list-item>
<p>Input: source dataset <italic>X</italic>
<sub>
<italic>s</italic>
</sub> &#x3d; {(<italic>x</italic>
<sub>
<italic>sn</italic>
</sub>
<sup>(<italic>n</italic>)</sup>,<italic>x</italic>
<sub>
<italic>sp</italic>
</sub>
<sup>(<italic>n</italic>)</sup>)}<sup>
<italic>h</italic>
</sup>
<sub>
<italic>n</italic>&#x3d;1</sub>, Gaussian disturbance dataset</p>
</list-item>
<list-item>
<p>
<inline-formula id="inf22">
<mml:math id="m32">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mi mathvariant="bold-italic">d</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>{</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
<mml:mo>&#x223c;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x39d;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn mathvariant="bold">0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3c3;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msubsup>
<mml:mo>}</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, training dataset <italic>T</italic>
<sub>
<italic>train &#x3d;</italic>
</sub> (<italic>X</italic>
<sub>
<italic>s</italic>
</sub>, <italic>T</italic>
<sub>
<italic>d</italic>
</sub>)</p>
</list-item>
<list-item>
<p> Step 1: Training Model D</p>
</list-item>
<list-item>
<p>Repeat until convergence:</p>
</list-item>
<list-item>
<p>Randomly select <italic>M</italic> samples from <italic>T</italic>
<sub>
<italic>train</italic>
</sub> <italic>T</italic>
<sub>
<italic>train</italic>
</sub>
<sup>
<italic>M</italic>
</sup> &#x3d; {(<italic>x</italic>
<sub>
<italic>sn</italic>
</sub>
<sup>(<italic>n</italic>)</sup>, <italic>x</italic>
<sub>
<italic>sp</italic>
</sub>
<sup>(<italic>n</italic>)</sup>, <italic>d</italic>
<sup>(<italic>n</italic>)</sup>)}<sup>
<italic>M</italic>
</sup>
<sub>
<italic>n</italic> &#x3d;</sub> 1</p>
</list-item>
<list-item>
<p>Calculate <inline-formula id="inf23">
<mml:math id="m33">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> gradient in <italic>D</italic>:</p>
</list-item>
<list-item>
<p>
<inline-formula id="inf24">
<mml:math id="m34">
<mml:mrow>
<mml:msub>
<mml:mo>&#x2207;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x398;</mml:mi>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:msub>
</mml:msub>
<mml:mrow>
<mml:msubsup>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mrow>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="bold-italic">M</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close="" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x398;</mml:mi>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>)</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mo>)</mml:mo>
<mml:mn mathvariant="bold">2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>Update <inline-formula id="inf25">
<mml:math id="m35">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> by Adm</p>
</list-item>
<list-item>
<p> Step 2: Fine-tuning model <italic>D</italic>, training model <italic>E</italic>
</p>
</list-item>
<list-item>
<p>Repeat until convergence:</p>
</list-item>
<list-item>
<p>Randomly extract <italic>M</italic> sample pairs from <italic>X</italic>
<sub>
<italic>s</italic>
</sub>, <italic>X</italic>
<sub>
<italic>S</italic>
</sub>
<sup>
<italic>M</italic>
</sup> &#x3d; {(<italic>x</italic>
<sub>
<italic>sn</italic>
</sub>
<sup>(n)</sup>, <italic>x</italic>
<sub>
<italic>sp</italic>
</sub>
<sup>(n)</sup>)}<sup>
<italic>M</italic>
</sup>
<sub>
<italic>n</italic> &#x3d; 1</sub>
</p>
</list-item>
<list-item>
<p>Calculate the gradient of <inline-formula id="inf26">
<mml:math id="m36">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf27">
<mml:math id="m37">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>
<inline-formula id="inf28">
<mml:math id="m38">
<mml:mrow>
<mml:msub>
<mml:msub>
<mml:mo>&#x2207;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">&#x398;</mml:mi>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:msub>
</mml:msub>
<mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">&#x398;</mml:mi>
<mml:mi mathvariant="bold-italic">E</mml:mi>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">&#x398;</mml:mi>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">&#x398;</mml:mi>
<mml:mi mathvariant="bold-italic">E</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn mathvariant="bold">2</mml:mn>
</mml:msup>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bb;</mml:mi>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">&#x398;</mml:mi>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mover accent="true">
<mml:msub>
<mml:mi mathvariant="bold">&#x398;</mml:mi>
<mml:mi mathvariant="bold-italic">D</mml:mi>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn mathvariant="bold">2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>Update <inline-formula id="inf29">
<mml:math id="m39">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf30">
<mml:math id="m40">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> through Adm</p>
</list-item>
<list-item>
<p>END</p>
</list-item>
</list>
</p>
</statement>
</p>
</sec>
<sec id="s3-3">
<title>3.3 Implementation details</title>
<p>In all experiments, the sample feature vector <italic>X</italic> is handled from the outputs <italic>i</italic>
<sub>
<italic>a</italic>
</sub>, <italic>i</italic>
<sub>
<italic>b</italic>
</sub>, <italic>i</italic>
<sub>
<italic>c</italic>
</sub> of the converter by period normalization, frequency normalization, and amplitude normalization. Period normalization: Separate current by one period, and the first feature in the feature vector corresponds to the forward crossing zero of <italic>ia</italic>. Frequency normalization: The number of sample points of a periodic signal is fixed, and 224 sample points are used for the feature vector in this study. Amplitude normalization: Each sample point is divided by a maximum value in a period. <italic>E</italic> and <italic>D</italic> are based on the same structure as the 1-DCNN, with model parameters shown in <xref ref-type="table" rid="T2">Table 2</xref>.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Model parameters of 1-DCNN for decoder and encoder.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Input</th>
<th align="center">Arithmetic unit</th>
<th align="center">Output</th>
<th align="center">Step size</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">448 &#xd7; 1 &#xd7; 3</td>
<td align="center">Conv1d 1 &#xd7; 3&#x2013;16, BN</td>
<td align="center">16</td>
<td align="center">2</td>
</tr>
<tr>
<td align="center">224 &#xd7; 1 &#xd7; 16</td>
<td align="center">Conv1d 1 &#xd7; 3&#x2013;16, BN</td>
<td align="center">16</td>
<td align="center">2</td>
</tr>
<tr>
<td align="center">112 &#xd7; 1 &#xd7; 16</td>
<td align="center">Conv1d 1 &#xd7; 3&#x2013;24, BN</td>
<td align="center">24</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">112 &#xd7; 1 &#xd7; 24</td>
<td align="center">Conv1d 1 &#xd7; 3&#x2013;24, BN</td>
<td align="center">24</td>
<td align="center">2</td>
</tr>
<tr>
<td align="center">56 &#xd7; 1 &#xd7; 24</td>
<td align="center">Conv1d 1 &#xd7; 5&#x2013;40, BN</td>
<td align="center">40</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">56 &#xd7; 1 &#xd7; 40</td>
<td align="center">Conv1d 1 &#xd7; 5&#x2013;40, BN</td>
<td align="center">40</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">56 &#xd7; 1 &#xd7; 40</td>
<td align="center">Conv1d 1 &#xd7; 5&#x2013;40, BN</td>
<td align="center">40</td>
<td align="center">2</td>
</tr>
<tr>
<td align="center">28 &#xd7; 1 &#xd7; 40</td>
<td align="center">Conv1d 1 &#xd7; 3&#x2013;80, BN</td>
<td align="center">80</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">28 &#xd7; 1 &#xd7; 80</td>
<td align="center">Conv1d 1 &#xd7; 3&#x2013;80, BN</td>
<td align="center">80</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">28 &#xd7; 1 &#xd7; 80</td>
<td align="center">Conv1d 1 &#xd7; 3&#x2013;80, BN</td>
<td align="center">80</td>
<td align="center">2</td>
</tr>
<tr>
<td align="center">14 &#xd7; 1 &#xd7; 80</td>
<td align="center">Conv1d 1 &#xd7; 3&#x2013;160, BN</td>
<td align="center">160</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">14 &#xd7; 1 &#xd7; 160</td>
<td align="center">Conv1d 1 &#xd7; 3&#x2013;160, BN</td>
<td align="center">160</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">14 &#xd7; 1 &#xd7; 160</td>
<td align="center">Conv1d 1 &#xd7; 3&#x2013;160, BN</td>
<td align="center">160</td>
<td align="center">2</td>
</tr>
<tr>
<td align="center">7 &#xd7; 1 &#xd7; 160</td>
<td align="center">Conv1d 1 &#xd7; 5&#x2013;320, BN</td>
<td align="center">320</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">7 &#xd7; 1 &#xd7; 320</td>
<td align="center">Conv1d 1 &#xd7; 5&#x2013;320, BN</td>
<td align="center">320</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">7 &#xd7; 1 &#xd7; 320</td>
<td align="center">Conv1d 1 &#xd7; 5&#x2013;320, BN</td>
<td align="center">320</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">7 &#xd7; 1 &#xd7; 320</td>
<td align="center">Conv1d 1 &#xd7; 1&#x2013;640, BN</td>
<td align="center">640</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">7 &#xd7; 1 &#xd7; 640</td>
<td align="center">Maxpool 1 &#xd7; 7</td>
<td align="center">&#x2014;</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">1 &#xd7; 1 &#xd7; 640</td>
<td align="center">FC-320</td>
<td align="center">320</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">1 &#xd7; 1 &#xd7; 320</td>
<td align="center">FC-224</td>
<td align="center">224</td>
<td align="center">1</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>Annotation: BN, batch normalization; FC, full connection; Conv1d, 1D convolution.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>These models are trained with the Adam optimizer, and the learning rate was set to 10&#x2212;<sup>5</sup>. When the number of training sample pairs is 2,000 &#xd7; 22, the sample generation model training takes about 20 cycles to achieve convergence. Each epoch runs for approximately 184&#xa0;s on the Nvidia Tesla K40m GPU (88K training samples, batch size 128). It takes approximately 16.8&#xa0;s to generate data per 1,024 samples.</p>
</sec>
</sec>
<sec id="s4">
<title>4 Experimental verification and discussion</title>
<sec id="s4-1">
<title>4.1 Database and experimental settings</title>
<p>This study constructs two kinds of source-target databases to verify the performance of the proposed generation model. Database 1 is from the PV grid-connected converter, and database 2 is from the three-phase permanent magnet synchronous motor drive converter. The source databases are obtained by simulation (MATLAB-Simulink) with the consistent experiment parameters of the target system. The target databases are obtained by fault experiment, considering the DC voltage ripple, power, load, sensor bias, sensor noise, and other disturbance factors. All databases are handled from the outputs <italic>i</italic>
<sub>
<italic>a</italic>
</sub>, <italic>i</italic>
<sub>
<italic>b</italic>
</sub>, <italic>i</italic>
<sub>
<italic>c</italic>
</sub> of the converters by period normalization, frequency normalization, and amplitude normalization. The data acquisition process is set as shown in <xref ref-type="table" rid="T3">Tables 3</xref>, <xref ref-type="table" rid="T4">4</xref>. Because the fault experiment of the target system is difficult, the number of target fault databases is relatively small.</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Database 1 acquisition process.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Experiment parameters</th>
<th colspan="2" align="center">Values</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">DC-link voltage <italic>U</italic>
<sub>
<italic>dc</italic>
</sub>
</td>
<td colspan="2" align="center">700&#xa0;V</td>
</tr>
<tr>
<td align="center">Rated voltage on the grid side</td>
<td colspan="2" align="center">220&#xa0;V (50&#xa0;Hz)</td>
</tr>
<tr>
<td align="center">Rated power</td>
<td colspan="2" align="center">10&#xa0;kW</td>
</tr>
<tr>
<td align="center">Switching/sampling frequency</td>
<td colspan="2" align="center">10&#xa0;kHz</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<td align="center">Acquisition process</td>
<td align="center">Source system (all types)</td>
<td align="center">Target system (fault conditions)</td>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">DC voltage</td>
<td align="center">400:800/20&#xa0;V</td>
<td align="center">400:800/200&#xa0;V</td>
</tr>
<tr>
<td align="center">Output current (RMS)</td>
<td align="center">1:20/1 A</td>
<td align="center">1:20/10 A</td>
</tr>
<tr>
<td align="center">Open-circuit fault type</td>
<td align="center">22</td>
<td align="center">21</td>
</tr>
<tr>
<td align="center">Grid side voltage</td>
<td align="center">198:244/2&#xa0;V</td>
<td align="center">198:244/20&#xa0;V</td>
</tr>
<tr>
<td align="center">Grid side voltage frequency</td>
<td align="center">49:51/0.2&#xa0;Hz</td>
<td align="center">49:51/1&#xa0;Hz</td>
</tr>
<tr>
<td align="center">Unbalance of three-phase voltage</td>
<td align="center">0:20/1&#xa0;V</td>
<td align="center">0:20/5&#xa0;V</td>
</tr>
<tr>
<td align="center">Dc-link voltage ripple</td>
<td align="center">0:10/1&#xa0;V</td>
<td align="center">0:10/5&#xa0;V</td>
</tr>
<tr>
<td align="center">Bias error of the current sensor</td>
<td align="center">0:10/0.5 A</td>
<td align="center">0:10/2 A</td>
</tr>
<tr>
<td align="center">Signal-to-noise ratio of the current sensor</td>
<td align="center">40:80/2&#xa0;dB</td>
<td align="center">40:80/20&#xa0;dB</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<td align="center">Data acquisition results</td>
<td colspan="2" align="center">Number of samples</td>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Source database</td>
<td colspan="2" align="center">88,000</td>
</tr>
<tr>
<td align="center">Target database (fault conditions)</td>
<td colspan="2" align="center">2,100</td>
</tr>
<tr>
<td align="center">Target database (normal conditions)</td>
<td colspan="2" align="center">4,000</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>Database 2 acquisition process.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Experiment parameters</th>
<th colspan="2" align="center">Values</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">DC-link voltage <italic>U</italic>
<sub>
<italic>dc</italic>
</sub>
</td>
<td colspan="2" align="center">700&#xa0;V</td>
</tr>
<tr>
<td align="center">Stator resistance</td>
<td colspan="2" align="center">0.3276&#xa0;&#x3a9;</td>
</tr>
<tr>
<td align="center">Stator leakage inductance</td>
<td colspan="2" align="center">4&#xa0;mH</td>
</tr>
<tr>
<td align="center">Rotor resistance</td>
<td colspan="2" align="center">0.763&#xa0;&#x3a9;</td>
</tr>
<tr>
<td align="center">Rotor leakage inductance</td>
<td colspan="2" align="center">3&#xa0;mH</td>
</tr>
<tr>
<td align="center">Mutual inductance</td>
<td colspan="2" align="center">54&#xa0;mH</td>
</tr>
<tr>
<td align="center">Rated power</td>
<td colspan="2" align="center">10&#xa0;kW</td>
</tr>
<tr>
<td align="center">Switching/sampling frequency</td>
<td colspan="2" align="center">5/10&#xa0;kHz</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<td align="center">Database acquisition process</td>
<td align="center">Source system (all types)</td>
<td align="center">Target system</td>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">DC ripple voltage</td>
<td align="center">0:30/3&#xa0;V</td>
<td align="center">0:30/10&#xa0;V</td>
</tr>
<tr>
<td align="center">References speed</td>
<td align="center">1,800:2,300/20 r&#x2219;min<sup>&#x2212;1</sup>
</td>
<td align="center">1,800:2,300/100 r&#x2219;min<sup>&#x2212;1</sup>
</td>
</tr>
<tr>
<td align="center">Open-circuit fault type</td>
<td align="center">22</td>
<td align="center">21</td>
</tr>
<tr>
<td align="center">References torque</td>
<td align="center">1:20/2&#xa0;N.m</td>
<td align="center">1:20/10&#xa0;N.m</td>
</tr>
<tr>
<td align="center">Base bias of current sensor</td>
<td align="center">0:10/0.5 A</td>
<td align="center">0:10/0.5 A</td>
</tr>
<tr>
<td align="center">Signal-to-noise ratio of the current sensor</td>
<td align="center">40:80/2&#xa0;dB</td>
<td align="center">40:80/20&#xa0;dB</td>
</tr>
<tr>
<td align="center">Base deviation of speed sensor</td>
<td align="center">0:20/1 r&#x2219;min<sup>&#x2212;1</sup>
</td>
<td align="center">0:20/5 r&#x2219;min<sup>&#x2212;1</sup>
</td>
</tr>
<tr>
<td align="center">Signal-to-noise ratio of speed sensor</td>
<td align="center">40:80/2&#xa0;dB</td>
<td align="center">40:80/20&#xa0;dB</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<td align="center">Data acquisition results</td>
<td colspan="2" align="center">Number of samples</td>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Source database</td>
<td colspan="2" align="center">88,000</td>
</tr>
<tr>
<td align="center">Target database (fault conditions)</td>
<td colspan="2" align="center">2,100</td>
</tr>
<tr>
<td align="center">Target database (normal conditions)</td>
<td colspan="2" align="center">4,000</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>In order to train the proposed disturbance auto-encoder generation model, we group source database 1 and source database 2 according to the operating conditions (from large to small) to obtain 88,000 training sample pairs of (<italic>X</italic>
<sub>
<italic>sn</italic>
</sub>, <italic>X</italic>
<sub>
<italic>sp</italic>
</sub>). During sample generation, 4,000 sets of normal operating sample pairs (<italic>X</italic>
<sub>
<italic>sN</italic>
</sub>, <italic>X</italic>
<sub>
<italic>tN</italic>
</sub>) of the source and target systems are formed as inputs according to operating conditions (from large to small). Then, samples are generated based on few-shot test requirements.</p>
<p>In the comparative analysis, the proposed method is compared with two types of sample generation models (<xref ref-type="bibr" rid="B20">Liu et al., 2021</xref>; <xref ref-type="bibr" rid="B24">Pei et al., 2021</xref>) by constructing few-shot test episodes. In each test episode of <italic>N</italic>-way-<italic>k</italic>-shot fault diagnosis tasks, we randomly select <italic>N</italic> invisible fault categories and extract <italic>k</italic> random samples from each category of the target dataset. During sample generation, the trained disturbance auto-encoder generation model is used to synthesize 1,024 samples for each category. The inputs of the disturbance auto-encoder generation model are from the normal condition sample pairs (<italic>X</italic>
<sub>
<italic>sN</italic>
</sub>, <italic>X</italic>
<sub>
<italic>tN</italic>
</sub>) and the <italic>k</italic> fault condition sample pairs (<italic>X</italic>
<sub>
<italic>sF</italic>
</sub>, <italic>X</italic>
<sub>
<italic>tF</italic>
</sub>), respectively. In particular, when <italic>k</italic> &#x3d; 0 is a zero-shot-learning task, only (<italic>X</italic>
<sub>
<italic>sN</italic>
</sub>, <italic>X</italic>
<sub>
<italic>tN</italic>
</sub>) is used to generate samples.</p>
<p>After the sample generation is completed, train the popular classifiers, including the Bayesian network, support vector machine (SVM), and 1-DCNN. Finally, GAN-test calculates the classification accuracy of <italic>M</italic> test samples of <italic>N</italic> categories from the target database.</p>
</sec>
<sec id="s4-2">
<title>4.2 The quality analysis of generation samples</title>
<p>In order to evaluate the performance of the proposed disturbance auto-encoder generation model, the generation samples are verified in two datasets. Firstly, the time domain waveforms of the generation samples are qualitatively compared. Secondly, two commonly used evaluation indicators for the sample generation model, MMD and KL divergence, are used for quantitative evaluation (<xref ref-type="bibr" rid="B20">Liu et al., 2021</xref>).</p>
<p>In qualitative analysis, the time domain waveform of source, target, and generation samples are compared under the same operating conditions. Meanwhile, the difference degree of samples is evaluated by the average variance. The IGBT <italic>T</italic>
<sub>
<italic>1</italic>
</sub> open-circuit faults are shown in <xref ref-type="fig" rid="F4">Figure 4A</xref>; <xref ref-type="fig" rid="F5">Figure 5A</xref>, and the <italic>T</italic>
<sub>
<italic>3</italic>
</sub> and <italic>T</italic>
<sub>
<italic>5</italic>
</sub> faults are shown in <xref ref-type="fig" rid="F4">Figure 4B</xref>; <xref ref-type="fig" rid="F5">Figure 5B</xref>. The figures show high similarity between the generation and target sample under the same operating condition. In contrast, the similarity is low between the source and the target sample.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Comparison of generation samples in database 1: <bold>(A)</bold> IGBT <italic>T</italic>
<sub>
<italic>1</italic>
</sub> open-circuit fault, <bold>(B)</bold> IGBT <italic>T</italic>
<sub>
<italic>3</italic>
</sub> and <italic>T</italic>
<sub>
<italic>5</italic>
</sub> open-circuit fault.</p>
</caption>
<graphic xlink:href="fenrg-10-1077519-g004.tif"/>
</fig>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Comparison of generation samples in database 2: <bold>(A)</bold> IGBT <italic>T</italic>
<sub>
<italic>1</italic>
</sub> open-circuit fault, <bold>(B)</bold> IGBT <italic>T</italic>
<sub>
<italic>3</italic>
</sub> and <italic>T</italic>
<sub>
<italic>5</italic>
</sub> open-circuit fault.</p>
</caption>
<graphic xlink:href="fenrg-10-1077519-g005.tif"/>
</fig>
<p>In addition, the extracted disturbance exhibits Gaussian distribution characteristics. Comparing <xref ref-type="fig" rid="F4">Figures 4A, B</xref> and <xref ref-type="fig" rid="F5">Figures 5A, B</xref>, the disturbances extracted from different faults are similar, proving its fault transferable ability.</p>
<p>The average variance is calculated in <xref ref-type="table" rid="T5">Table 5</xref>, indicating that the difference between the generation-target data is much smaller than the difference between the source-target data. Therefore, the sample generation model proposed in this study has excellent performance. In addition, the small difference degree of disturbance further proves its fault transferable ability.</p>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>Difference degree of generation under the same operating conditions.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Type</th>
<th align="center">Database 1 difference degree</th>
<th align="center">Database 2 difference degree</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">
<italic>T</italic>
<sub>
<italic>1</italic>
</sub> fault source <italic>vs</italic>. target sample</td>
<td align="center">0.12372</td>
<td align="center">0.10372</td>
</tr>
<tr>
<td align="center">
<italic>T</italic>
<sub>
<italic>1</italic>
</sub> and <italic>T</italic>
<sub>
<italic>3</italic>
</sub> fault source <italic>vs</italic>. target sample</td>
<td align="center">0.13225</td>
<td align="center">0.09661</td>
</tr>
<tr>
<td align="center">
<italic>T</italic>
<sub>
<italic>1</italic>
</sub> fault generation <italic>vs</italic>. target sample</td>
<td align="center">
<bold>0.00813</bold>
</td>
<td align="center">
<bold>0.01119</bold>
</td>
</tr>
<tr>
<td align="center">
<italic>T</italic>
<sub>
<italic>1</italic>
</sub> and <italic>T</italic>
<sub>
<italic>3</italic>
</sub> fault generation <italic>vs</italic>. target sample</td>
<td align="center">
<bold>0.00978</bold>
</td>
<td align="center">
<bold>0.01062</bold>
</td>
</tr>
<tr>
<td align="center">Disturbance <italic>T</italic>
<sub>
<italic>1</italic>
</sub> <italic>vs</italic>. <italic>T</italic>
<sub>
<italic>3</italic>
</sub> and <italic>T</italic>
<sub>
<italic>5</italic>
</sub>
</td>
<td align="center">0.00621</td>
<td align="center">0.00817</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>The bold values represent the effect of the proposed method.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>In order to quantitatively evaluate the performance of generation samples, MMD and KL divergences are introduced. MMD maps each sample into Hilbert space and calculates its average value, which is used to measure the similarity between the distribution of the generation and the target database. The smaller the value, the closer the two distributions are. KL divergence is an asymmetric measure of the difference between the distributions of two datasets and is used to express the distance between any two distributions. The comparison evaluation results of different sample generation methods are shown in <xref ref-type="table" rid="T6">Table 6</xref>. All methods produce the same number of generation samples for each type of fault.</p>
<table-wrap id="T6" position="float">
<label>TABLE 6</label>
<caption>
<p>Evaluation results of quantitative indexes of generated samples.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Databases 1/2</th>
<th align="center">MMD</th>
<th align="center">KL</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Proposed method</td>
<td align="center">
<bold>0.0922/0.1071</bold>
</td>
<td align="center">
<bold>0.0069/0.0072</bold>
</td>
</tr>
<tr>
<td align="center">VAGAN (<xref ref-type="bibr" rid="B20">Liu et al., 2021</xref>)</td>
<td align="center">0.5725/0.5476</td>
<td align="center">0.0158/0.0169</td>
</tr>
<tr>
<td align="center">EFWAN (<xref ref-type="bibr" rid="B24">Pei et al., 2021</xref>)</td>
<td align="center">0.5927/0.6176</td>
<td align="center">0.0211/0.0228</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>The bold values represent the effect of the proposed method.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>
<xref ref-type="table" rid="T6">Table 6</xref> shows that the KL divergence and MMD values of the proposed method are the smallest among the three sample generation methods, indicating that the generation sample distribution by the proposed method is the closest to the target sample, so the sample quality is the best (<xref ref-type="bibr" rid="B28">Vinyals et al., 2016</xref>) because the proposed method considers the feature distribution of the target system.</p>
</sec>
<sec id="s4-3">
<title>4.3 Few-shot fault diagnosis comparison test</title>
<p>In order to further verify the few-shot diagnosis effect of the proposed generation model, a comparative experiment with sample generation methods (<xref ref-type="bibr" rid="B20">Liu et al., 2021</xref>; <xref ref-type="bibr" rid="B24">Pei et al., 2021</xref>) is performed in <italic>N</italic>-way-<italic>K</italic>-shot tasks. All methods have the same number of generation samples. After sample generation, the average performance of fault diagnosis accuracy on 10 such experiments is evaluated in several classification algorithms. The comparison results of fault diagnosis accuracy are shown in <xref ref-type="fig" rid="F6">Figure 6</xref>.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>
<bold>(A)</bold> Comparison results of fault diagnosis accuracy in database 1. <bold>(B)</bold> Comparison results of fault diagnosis accuracy in database 2.</p>
</caption>
<graphic xlink:href="fenrg-10-1077519-g006.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F6">Figure 6</xref> shows that the proposed method is superior to those of <xref ref-type="bibr" rid="B20">Liu et al. (2021</xref>) and <xref ref-type="bibr" rid="B24">Pei et al. (2021</xref>) in all few-shot tasks. Among them, the proposed method &#x2b; 1DCNN has the best performance, with a fault diagnosis accuracy of 95.90% in a zero-shot task and with fault diagnosis accuracy of 99.87% in a 50-shot task. In addition, compared with <xref ref-type="bibr" rid="B12">Hariharan and Girshick (2017</xref>) and <xref ref-type="bibr" rid="B41">Eli Schwartz (2017</xref>), with the increase of <italic>N</italic> (<italic>N</italic>-shot), the fault diagnosis accuracy of the proposed method does not improve significantly because this method can extract the feature distribution from normal operating conditions, whereas <xref ref-type="bibr" rid="B12">Hariharan and Girshick (2017</xref>) and <xref ref-type="bibr" rid="B41">Eli Schwartz (2017</xref>) need to extract the feature distribution of fault samples from <italic>N.</italic> Another phenomenon is that when the sample quality is higher, the fault accuracy of 1-DCNN is higher, which indicates that the deep learning model has superior feature extraction ability, but data dependence is the most serious. Although the SVM and Bayesian network are simple, the performance exceeds 1-DCNN when the sample quality is poor, which reflects that both sample quality and classifier performance are important factors in determining fault diagnosis accuracy of IGBT open-circuit fault. Finally, a comparison of <xref ref-type="fig" rid="F6">Figures 6A, B</xref> shows that the performance is consistent in different databases, which proves the universality of the above rules. Detailed data are shown in <xref ref-type="table" rid="T7">Table 7</xref>.</p>
<table-wrap id="T7" position="float">
<label>TABLE 7</label>
<caption>
<p>Diagnosis accuracy evaluation results.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Dataset 1/dataset 2</th>
<th align="center">Zero-shot</th>
<th align="center">5-shot</th>
<th align="center">10-shot</th>
<th align="center">50-shot</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Proposed method &#x2b; 1DCNN</td>
<td align="center">
<bold>95.82%/95.90</bold>
</td>
<td align="center">
<bold>95.88%/95.92</bold>
</td>
<td align="center">
<bold>97.16%/97.10</bold>
</td>
<td align="center">
<bold>99.76%/99.87</bold>
</td>
</tr>
<tr>
<td align="center">Proposed method &#x2b; SVM &#x2b; FFT</td>
<td align="center">93.67%/94.71%</td>
<td align="center">93.53%/94.26%</td>
<td align="center">95.72%/94.96%</td>
<td align="center">97.24%/98.26%</td>
</tr>
<tr>
<td align="center">Proposed method</td>
<td align="center">90.17%/93.55%</td>
<td align="center">90.24%/93.62%</td>
<td align="center">91.62%/93.98%</td>
<td align="center">95.83%/96.11%</td>
</tr>
<tr>
<td align="center">
<xref ref-type="bibr" rid="B20">Liu et al. (2021</xref>) &#x2b; 1DCNN</td>
<td align="center">60.11%/63.27%</td>
<td align="center">65.45%/71.36%</td>
<td align="center">75.11%/79.99%</td>
<td align="center">86.29%/87.86%</td>
</tr>
<tr>
<td align="center">
<xref ref-type="bibr" rid="B20">Liu et al. (2021</xref>) &#x2b; SVM &#x2b; FFT</td>
<td align="center">66.27%/69.13%</td>
<td align="center">70.17%/72.64%</td>
<td align="center">76.32%/80.16</td>
<td align="center">84.76%/85.63%</td>
</tr>
<tr>
<td align="center">
<xref ref-type="bibr" rid="B20">Liu et al. (2021</xref>) &#x2b; Bayesian network &#x2b; FFT</td>
<td align="center">63.17%/64.26%</td>
<td align="center">71.27%/74.55%</td>
<td align="center">75.98%/81.34</td>
<td align="center">85.11%/86.89%</td>
</tr>
<tr>
<td align="center">
<xref ref-type="bibr" rid="B24">Pei et al. (2021</xref>) &#x2b;1DCNN</td>
<td align="center">60.78%/63.27%</td>
<td align="center">69.24%/75.16%</td>
<td align="center">78.62%/83.21%</td>
<td align="center">90.19%/92.16%</td>
</tr>
<tr>
<td align="center">
<xref ref-type="bibr" rid="B24">Pei et al. (2021</xref>) &#x2b; SVM &#x2b; FFT</td>
<td align="center">67.35%/68.55%</td>
<td align="center">72.25%/73.92%</td>
<td align="center">78.16%/82.37%</td>
<td align="center">86.86%/87.11%</td>
</tr>
<tr>
<td align="center">&#x2206;-encoder (2017) &#x2b; Bayesian network &#x2b; FFT</td>
<td align="center">64.59%/65.66%</td>
<td align="center">72.27%/75.91%</td>
<td align="center">78.37%/84.62%</td>
<td align="center">88.01%/89.30%</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>The bold values represent the effect of the proposed method.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>In order to reduce the risk and cost of fault collection in the target system, the research objective of this study is to collect only the normal operation samples in the target system to form a reliable fault diagnosis model. Therefore, it is necessary to visually evaluate the performance of the proposed method &#x2b; 1-DCNN in the 0-way-10-shot task. The confusion matrix and S-TNE, which is a dimensionality reduction method, are adopted.</p>
<p>The confusion matrix in <xref ref-type="fig" rid="F7">Figure 7</xref> shows that in the 0-shot task, the proposed method does not diagnose the fault sample as a normal sample, nor does it diagnose the normal sample as a fault sample. Therefore, there is no risk of false diagnosis, and it has reliable engineering application value. The dimensionality reduction results of S-TNE of the last layer feature of 1-DCNN are shown in <xref ref-type="fig" rid="F8">Figure 8</xref>. Different types of samples are separated from each other, indicating that the proposed method has better fault diagnosis capabilities, and the generation samples are close to the target samples, further proving that the proposed generation model can better fit the fault sample distribution of the target system.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Confusion matrix of &#x2b; 1-DCNN in the 0-shot task.</p>
</caption>
<graphic xlink:href="fenrg-10-1077519-g007.tif"/>
</fig>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>S-TNE results of &#x2b; 1-DCNN in the 0-shot task.</p>
</caption>
<graphic xlink:href="fenrg-10-1077519-g008.tif"/>
</fig>
</sec>
<sec id="s4-4">
<title>4.4 Online fault diagnosis experiment</title>
<p>In order to verify the application effect of the proposed method in practical engineering, an online fault diagnosis experiment is performed on the three-phase PV grid-connected converter. The experiment system, as shown in <xref ref-type="fig" rid="F9">Figure 9</xref>, consists of a three-phase grid-connected converter and a fault diagnosis system. The three-phase grid-connected converter is composed of PV analog power supply (CHROMA 62024), grid analog power supply (CHROMA 61702), main power circuit (IGBT and filter), and a control system. The controller is DSP28377S, with a sampling frequency of 20&#xa0;kHz and a control frequency of 10&#xa0;kHz. The output current data in the controller are transmitted to the fault diagnosis system through DMA after downsampling processing. The fault diagnosis system comprises FPGA (Speedster7t) and its auxiliary unit, which is used to realize fast parallel computing of 1D-CNN. When the fault is detected, the fault diagnosis result is sent to the control unit to realize the rapid protection and control of the PV grid-connected system.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Experimental platform.</p>
</caption>
<graphic xlink:href="fenrg-10-1077519-g009.tif"/>
</fig>
<p>In this study, the <italic>T</italic>
<sub>
<italic>1</italic>
</sub> open-circuit fault and <italic>T</italic>
<sub>
<italic>1</italic>
</sub> and <italic>T</italic>
<sub>
<italic>3</italic>
</sub> open-circuit faults are taken as examples to illustrate the effectiveness of the proposed method. Once the open-circuit fault is detected, the controller will immediately shut down all IGBTs to protect the system and then start the fault-tolerant control units according to the fault diagnosis result. The experimental results are shown in <xref ref-type="fig" rid="F10">Figure 10</xref>.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>Fault diagnosis results, <bold>(A)</bold> <italic>T</italic>
<sub>
<italic>1</italic>
</sub> open-circuit faults, <bold>(B)</bold> <italic>T</italic>
<sub>
<italic>1</italic>
</sub> and <italic>T</italic>
<sub>
<italic>3</italic>
</sub> open-circuit faults.</p>
</caption>
<graphic xlink:href="fenrg-10-1077519-g010.tif"/>
</fig>
<p>In <xref ref-type="fig" rid="F10">Figure 10A</xref>, IGBT <italic>T</italic>
<sub>
<italic>1</italic>
</sub> has an open-circuit fault at 0.1&#xa0;s, whereas the fault diagnosis system locates the fault (label &#x3d; 1) at 0.1201&#xa0;s and issues protection instructions to the controller. The controller shuts down the system at 0.1204, so the current drops rapidly to avoid secondary failures. After that, the standby IGBT is started at 0.1215&#xa0;s to realize fault-tolerant control and resume operation. The same experimental effect for <italic>T</italic>
<sub>
<italic>1</italic>
</sub> and <italic>T</italic>
<sub>
<italic>3</italic>
</sub> open-circuit faults appears similarly in <xref ref-type="fig" rid="F10">Figure 10B</xref>. The proposed method only takes about 0.0215 from failure occurrence to recovery control. Therefore, it meets the real-time requirement of converter fault diagnosis. It is proved that the few-shot learning method proposed in this study will not increase the computational burden of the fault classifier.</p>
<p>In more detail, <xref ref-type="fig" rid="F10">Figures 10A, B</xref> show that using the proposed method, the IGBT open-circuit fault can be identified in around one current cycle (20.1&#x2013;20.2&#xa0;m). The online calculation time is minor, around 0.1&#x2013;.2&#xa0;m. Once IGBT open-circuit failure occurs, the proposed method can quickly turn off the system within about 0.4&#xa0;m to avoid more serious secondary accidents. Then, the fault tolerant control system is quickly started according to the fault diagnosis results (approximately 1.4&#x2013;1.5&#xa0;m). The above experiments demonstrate the engineering feasibility of the proposed method. When the IGBT open-circuit fault occurs, the proposed method can ensure the continuous operation of the system and greatly improve its reliability. In addition, the fault diagnosis results can guide the maintenance and greatly reduce its cost.</p>
</sec>
</sec>
<sec sec-type="conclusion" id="s5">
<title>5 Conclusion</title>
<p>In order to solve the problem of data collection in the IGBT open-circuit fault diagnosis of a three-phase PWN converter, achieving reliable data-driven fault diagnosis model training under limited samples, this study presents a few-shot learning method based on data generation. The method, which is called the disturbance auto-encoder generation model, consists of an encoder and a decoder. Through model design and training algorithm constraints, the decoder extracts nonlinear transferable disturbance from the normal operating conditions of the target system, and the decoder synthesizes the target system samples by combining the disturbance and source samples. As the extracted disturbance considers the feature distribution of the target system and has fault feature transferable capability, the generation samples can well fit the feature distribution of the target system. Using the generated samples to train the 1-DCNN fault model, it does not need to collect the target system fault samples and achieves 95.90% fault diagnosis accuracy in 0-shot and 99.87% fault diagnosis accuracy in the 50-shot task, which is a new breakthrough in the research field of few-shot learning-based fault diagnosis method. Finally, the online fault diagnosis performance of the method is verified in PV grid-connected converter experimental prototype, showing that the proposed method has excellent real-time and fault-tolerant control ability. In future work, a more complex engineering environment to verify the performance of the method is worth trying.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s6">
<title>Data availability statement</title>
<p>The raw data supporting the conclusion of this article will be made available by the authors, without undue reservation.</p>
</sec>
<sec id="s7">
<title>Author contributions</title>
<p>Conceptualization, FW; methodology, GQ; software, FW; formal analysis, LZ; resources, KC; writing&#x2014;original draft preparation, FW; writing&#x2014;review and editing, LW; validation JY and JG; supervision, GQ; project administration, FW; funding acquisition, KC. All authors read and agreed to the published version of the manuscript.</p>
</sec>
<sec id="s8">
<title>Funding</title>
<p>This research was partly funded by the Fundamental Research Funds for the Central Universities under Grant no. ZYGX2020ZB004, the Sichuan Science and Technology Project under Grant no. 2019ZDZX0045, and the second batch of industry-university cooperation collaborative education projects of the Ministry of Education in 2021 (202102371056).</p>
</sec>
<sec sec-type="COI-statement" id="s9">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s10">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations or those of the publisher, the editors, and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Abari</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Lahouar</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Hamouda</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Slama</surname>
<given-names>J. B. H.</given-names>
</name>
<name>
<surname>Al-Haddad</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Fault detection methods for three-level NPC inverter based on DC-bus electromagnetic signatures</article-title>. <source>IEEE Trans. Industrial Electron.</source> <volume>65</volume> (<issue>7</issue>), <fpage>5224</fpage>&#x2013;<lpage>5236</lpage>. <pub-id pub-id-type="doi">10.1109/tie.2017.2777378</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bottou</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Curtis</surname>
<given-names>F. E.</given-names>
</name>
<name>
<surname>Nocedal</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Optimization methods for large-scale machine learning</article-title>. <source>SIAM Rev.</source> <volume>60</volume>, <fpage>2223</fpage>&#x2013;<lpage>2311</lpage>. <pub-id pub-id-type="doi">10.1137/16m1080173</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Bottou</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Bousquet</surname>
<given-names>O.</given-names>
</name>
</person-group> (<year>2008</year>). &#x201c;<article-title>The tradeoffs of large scale learning</article-title>,&#x201d; in <source>Advances in neural information processing systems</source> (<publisher-loc>Massachusetts, MA, USA</publisher-loc>: <publisher-name>MIT Press</publisher-name>), <fpage>161</fpage>&#x2013;<lpage>168</lpage>.</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cai</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Xie</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>A real-time fault diagnosis methodology of complex systems using object-oriented Bayesian networks</article-title>. <source>Mech. Syst. Signal Process.</source> <volume>80</volume>, <fpage>31</fpage>&#x2013;<lpage>44</lpage>. <pub-id pub-id-type="doi">10.1016/j.ymssp.2016.04.019</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cai</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Xie</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>A dynamic-bayesian-network-based fault diagnosis methodology considering transient and intermittent faults</article-title>. <source>IEEE Trans. Automation Sci. Eng.</source> <volume>14</volume> (<issue>1</issue>), <fpage>276</fpage>&#x2013;<lpage>285</lpage>. <pub-id pub-id-type="doi">10.1109/tase.2016.2574875</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cai</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Xie</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>A data-driven fault diagnosis methodology in three-phase inverters for PMSM drive systems</article-title>. <source>IEEE Trans. Power Electron.</source> <volume>32</volume> (<issue>7</issue>), <fpage>5590</fpage>&#x2013;<lpage>5600</lpage>. <pub-id pub-id-type="doi">10.1109/tpel.2016.2608842</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cherif</surname>
<given-names>B. D. E.</given-names>
</name>
<name>
<surname>Bendiabdellah</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Detection of two-level inverter open-circuit fault using a combined DWT-NN approach</article-title>. <source>J. Control Sci. Eng.</source> <volume>2018</volume>, <fpage>1</fpage>&#x2013;<lpage>11</lpage>. <pub-id pub-id-type="doi">10.1155/2018/1976836</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ding</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Hang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Application of hybrid dimensionality reduction for fault diagnosis of three-phase inverter in PMSM drive system</article-title>. <source>Electr. Eng.</source> <volume>101</volume> (<issue>3</issue>), <fpage>813</fpage>&#x2013;<lpage>827</lpage>. <pub-id pub-id-type="doi">10.1007/s00202-019-00823-8</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gao</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Cecati</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>S. X.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>A survey of fault diagnosis and faultfault-tolerant techniques&#x2014;Part I: Fault diagnosis with model-based and signal-based approaches</article-title>. <source>IEEE Trans. Industrial Electron.</source> <volume>62</volume> (<issue>6</issue>), <fpage>3757</fpage>&#x2013;<lpage>3767</lpage>. <pub-id pub-id-type="doi">10.1109/tie.2015.2417501</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gao</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Cecati</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>S. X.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>A survey of fault diagnosis and faulttolerant techniques&#x2014;part II: Fault diagnosis with knowledge-based and hybrid/active approaches</article-title>. <source>IEEE Trans. Ind. Electron.</source> <volume>62</volume> (<issue>6</issue>), <fpage>1</fpage>&#x2013;<lpage>3774</lpage>. <pub-id pub-id-type="doi">10.1109/tie.2015.2419013</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gou</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Xia</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Deng</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Ge</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>An online data-driven method for simultaneous diagnosis of IGBT and current sensor fault of three-phase PWM inverter in induction motor drives</article-title>. <source>IEEE Trans. Power Electron.</source> <volume>35</volume> (<issue>12</issue>), <fpage>13281</fpage>&#x2013;<lpage>13294</lpage>. <pub-id pub-id-type="doi">10.1109/tpel.2020.2994351</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Hariharan</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Girshick</surname>
<given-names>R.</given-names>
</name>
</person-group> &#x201c;<article-title>Low-shot visual recognition by shrinking and hallucinating features</article-title>,&#x201d; in <conf-name>Proceedings of the IEEE international conference on computer vision</conf-name>, <conf-loc>Venice, Italy</conf-loc>, <conf-date>2017</conf-date>, <fpage>3018</fpage>&#x2013;<lpage>3027</lpage>.</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Huang</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Du</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Hua</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Bi</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>Y.</given-names>
</name>
<etal/>
</person-group> (<year>2021</year>). <article-title>Current-based open-circuit fault diagnosis for PMSM drives with model predictive control</article-title>. <source>IEEE Trans. Power Electron.</source> <volume>36</volume> (<issue>9</issue>), <fpage>10695</fpage>&#x2013;<lpage>10704</lpage>. <pub-id pub-id-type="doi">10.1109/tpel.2021.3061448</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Huang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>A diagnosis algorithm for multiple open-circuited faults of microgrid inverters based on main fault component analysis</article-title>. <source>IEEE Trans. Energy Convers.</source> <volume>33</volume> (<issue>3</issue>), <fpage>925</fpage>&#x2013;<lpage>937</lpage>. <pub-id pub-id-type="doi">10.1109/tec.2018.2822481</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hwang</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Huh</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Fault detection and estimation for electromechanical brake systems using parity space approach</article-title>. <source>J. Dyn. Syst. Meas. Control</source> <volume>137</volume> (<issue>1</issue>). <pub-id pub-id-type="doi">10.1115/1.4028184</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kingma</surname>
<given-names>D. P.</given-names>
</name>
<name>
<surname>Welling</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Auto-encoding variational bayes</article-title>. https://arxiv.org/abs/1312.6114.</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lai</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Kan</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Han</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Song</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Shan</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Learning to learn adaptive classifier&#x2013;predictor for few-shot learning</article-title>. <source>IEEE Trans. neural Netw. Learn. Syst.</source> <volume>32</volume> (<issue>8</issue>), <fpage>3458</fpage>&#x2013;<lpage>3470</lpage>. <pub-id pub-id-type="doi">10.1109/tnnls.2020.3011526</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>J. Q.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Intelligent rotating machinery fault diagnosis based on deep learning using data augmentation</article-title>. <source>J. Intelligent Manuf.</source> <volume>31</volume> (<issue>2</issue>), <fpage>433</fpage>&#x2013;<lpage>452</lpage>. <pub-id pub-id-type="doi">10.1007/s10845-018-1456-1</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Al-Durra</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Muyeen</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>A state-of-the-art review on wind power converter fault diagnosis</article-title>. <source>Energy Rep.</source> <volume>8</volume>, <fpage>5341</fpage>&#x2013;<lpage>5369</lpage>. <pub-id pub-id-type="doi">10.1016/j.egyr.2022.03.178</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Jiang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Rolling bearing fault diagnosis using variational autoencoding generative adversarial networks with deep regret analysis</article-title>. <source>Measurement</source> <volume>168</volume>, <fpage>108371</fpage>. <pub-id pub-id-type="doi">10.1016/j.measurement.2020.108371</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Malik</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Haque</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Kurukuru</surname>
<given-names>V. S. B.</given-names>
</name>
<name>
<surname>Khan</surname>
<given-names>M. A.</given-names>
</name>
<name>
<surname>Blaabjerg</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Overview of fault detection approaches for grid connected</article-title>. <source>Electron. Energy</source> <volume>2</volume>, <fpage>100035</fpage>.</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Moosavi</surname>
<given-names>S. S.</given-names>
</name>
<name>
<surname>Djerdir</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Ait&#x2010;Amirat</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Arab Khaburi</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>N&#x27;Diaye</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Artificial neural network&#x2010;based fault diagnosis in the AC&#x2013;DC converter of the power supply of series hybrid electric vehicle</article-title>. <source>IET Electr. Syst. Transp.</source> <volume>6</volume> (<issue>2</issue>), <fpage>96</fpage>&#x2013;<lpage>106</lpage>. <pub-id pub-id-type="doi">10.1049/iet-est.2014.0055</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Parnami</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Lee</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Learning from few examples: A summary of approaches to few-shot learning</article-title>. https://arxiv.org/abs/2203.04291.</citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pei</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Jiang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Data augmentation for rolling bearing fault diagnosis using an enhanced few-shot Wasserstein auto-encoder with meta-learning</article-title>. <source>Meas. Sci. Technol.</source> <volume>32</volume> (<issue>8</issue>), <fpage>084007</fpage>. <pub-id pub-id-type="doi">10.1088/1361-6501/abe5e3</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Poon</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Jain</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Konstantakopoulos</surname>
<given-names>I. C.</given-names>
</name>
<name>
<surname>Spanos</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Panda</surname>
<given-names>S. K.</given-names>
</name>
<name>
<surname>Sanders</surname>
<given-names>S. R.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Model-based fault detection and identification for switching power converters</article-title>. <source>IEEE Trans. Power Electron.</source> <volume>32</volume> (<issue>2</issue>), <fpage>1419</fpage>&#x2013;<lpage>1430</lpage>. <pub-id pub-id-type="doi">10.1109/tpel.2016.2541342</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Si</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Lin</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>fault diagnosis based on attention collaborative LSTM networks for NPC three-level inverters</article-title>. <source>IEEE Trans. Instrum. Meas.</source> <volume>71</volume>, <fpage>1</fpage>&#x2013;<lpage>16</lpage>. <pub-id pub-id-type="doi">10.1109/tim.2022.3169545</pub-id>
</citation>
</ref>
<ref id="B27">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Snell</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Swersky</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Zemel</surname>
<given-names>R. S.</given-names>
</name>
</person-group> &#x201c;<article-title>Prototypical networks for few-shot learning</article-title>,&#x201d; in <conf-name>Advances In Neural Information Processing Systems (NIPS)</conf-name>, <conf-loc>Long Beach, CA, USA</conf-loc>, <conf-date>2017</conf-date>.</citation>
</ref>
<ref id="B28">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Vinyals</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Blundell</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Lillicrap</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Kavukcuoglu</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Wierstra</surname>
<given-names>D.</given-names>
</name>
</person-group> &#x201c;<article-title>Matching networks for one shot learning</article-title>,&#x201d;, <conf-name>Advances In Neural Information Processing Systems (NIPS)</conf-name>, <conf-loc>Barcelona, Spain</conf-loc>, <conf-date>2016</conf-date>.</citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Han</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Elbouchikhi</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Benbouzid</surname>
<given-names>M. E. H.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Cascaded H-bridge multilevel inverter system fault diagnosis using a PCA and multiclass relevance vector machine approach</article-title>. <source>IEEE Trans. Power Electron.</source> <volume>30</volume> (<issue>12</issue>), <fpage>7006</fpage>&#x2013;<lpage>7018</lpage>. <pub-id pub-id-type="doi">10.1109/tpel.2015.2393373</pub-id>
</citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yao</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Kwok</surname>
<given-names>J. T.</given-names>
</name>
<name>
<surname>Ni</surname>
<given-names>L. M.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Generalizing from a few examples: A survey on few-shot learning</article-title>. <source>ACM Comput. Surv. (csur)</source> <volume>53</volume> (<issue>3</issue>), <fpage>1</fpage>&#x2013;<lpage>34</lpage>. <pub-id pub-id-type="doi">10.1145/3386252</pub-id>
</citation>
</ref>
<ref id="B31">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wassinger</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Penovi</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Retegui</surname>
<given-names>R. G.</given-names>
</name>
<name>
<surname>Maestri</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>open-circuit fault identification method for interleaved converters based on time-domain analysis of the state observer residual</article-title>. <source>IEEE Trans. Power Electron.</source> <volume>34</volume> (<issue>4</issue>), <fpage>3740</fpage>&#x2013;<lpage>3749</lpage>. <pub-id pub-id-type="doi">10.1109/tpel.2018.2853574</pub-id>
</citation>
</ref>
<ref id="B32">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xia</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>A transferrable data-driven method for IGBT open-circuit fault diagnosis in three-phase inverters</article-title>. <source>IEEE Trans. Power Electron.</source> <volume>36</volume> (<issue>12</issue>), <fpage>13478</fpage>&#x2013;<lpage>13488</lpage>. <pub-id pub-id-type="doi">10.1109/tpel.2021.3088889</pub-id>
</citation>
</ref>
<ref id="B33">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xia</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Gou</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>A data-driven method for IGBT open-circuit fault diagnosis based on hybrid ensemble learning and sliding-window classification</article-title>. <source>IEEE Trans. Industrial Inf.</source> <volume>16</volume> (<issue>8</issue>), <fpage>5223</fpage>&#x2013;<lpage>5233</lpage>. <pub-id pub-id-type="doi">10.1109/tii.2019.2949344</pub-id>
</citation>
</ref>
<ref id="B34">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xie</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Ge</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>A state estimator-based approach for open-circuit fault diagnosis in single-phase cascaded H-bridge rectifiers</article-title>. <source>IEEE Trans. Industry Appl.</source> <volume>55</volume> (<issue>2</issue>), <fpage>1608</fpage>&#x2013;<lpage>1618</lpage>. <pub-id pub-id-type="doi">10.1109/tia.2018.2873533</pub-id>
</citation>
</ref>
<ref id="B35">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ye</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Jiang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>fault diagnosis and tolerance control of five-level nested NPP converter using wavelet packet and LSTM</article-title>. <source>IEEE Trans. Power Electron.</source> <volume>35</volume> (<issue>2</issue>), <fpage>1907</fpage>&#x2013;<lpage>1921</lpage>. <pub-id pub-id-type="doi">10.1109/tpel.2019.2921677</pub-id>
</citation>
</ref>
<ref id="B36">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Current sensor fault diagnosis and tolerant control for VSI-based induction motor drives</article-title>. <source>IEEE Trans. Power Electron.</source> <volume>33</volume> (<issue>5</issue>), <fpage>4238</fpage>&#x2013;<lpage>4248</lpage>. <pub-id pub-id-type="doi">10.1109/tpel.2017.2713482</pub-id>
</citation>
</ref>
<ref id="B37">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yuan</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Cheng</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Ruan</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>open-circuit fault diagnosis of NPC inverter based on improved 1-D CNN network</article-title>. <source>IEEE Trans. Instrum. Meas.</source> <volume>71</volume>, <fpage>1</fpage>&#x2013;<lpage>11</lpage>. <pub-id pub-id-type="doi">10.1109/tim.2022.3166166</pub-id>
</citation>
</ref>
<ref id="B38">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhou</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Qiu</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Submodule voltage similarity-based open-circuit fault diagnosis for modular multilevel converters</article-title>. <source>IEEE Trans. Power Electron.</source> <volume>34</volume> (<issue>8</issue>), <fpage>8008</fpage>&#x2013;<lpage>8016</lpage>. <pub-id pub-id-type="doi">10.1109/tpel.2018.2883989</pub-id>
</citation>
</ref>
<ref id="B39">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhou</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>A voltage-based open-circuit fault detection and isolation approach for modular multilevel converters with model-predictive control</article-title>. <source>IEEE Trans. Power Electron.</source> <volume>33</volume> (<issue>11</issue>), <fpage>9866</fpage>&#x2013;<lpage>9874</lpage>. <pub-id pub-id-type="doi">10.1109/tpel.2018.2796584</pub-id>
</citation>
</ref>
<ref id="B40">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhuo</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Gaillard</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Paire</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>An observer-based switch open-circuit fault diagnosis of DC&#x2013;DC converter for fuel cell application</article-title>. <source>IEEE Trans. Industry Appl.</source> <volume>56</volume> (<issue>3</issue>), <fpage>3159</fpage>&#x2013;<lpage>3167</lpage>. <pub-id pub-id-type="doi">10.1109/tia.2020.2978752</pub-id>
</citation>
</ref>
<ref id="B41">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Eli</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Leonid</surname>
<given-names>K.</given-names>
</name>
</person-group>, <article-title>&#x2206;-encoder An effective sample synthesis method for few-shot object recognition</article-title>, in <conf-name>IEEE International Conference on Computer Vision (ICCV)</conf-name>, <conf-loc>Montreal, Canada</conf-loc>, <conf-date>2017</conf-date>.</citation>
</ref>
</ref-list>
<app-group>
<app id="app1">
<title>Appendix A: Theory 1</title>
<p>
<inline-formula id="inf31">
<mml:math id="m41">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x223c;</mml:mo>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents a random disturbance, <inline-formula id="inf32">
<mml:math id="m42">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x223c;</mml:mo>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents the <italic>i</italic> type fault sample in the source database <italic>p</italic>, and <inline-formula id="inf33">
<mml:math id="m43">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x223c;</mml:mo>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents the <italic>i</italic> type fault sample in the source database <italic>n</italic>. Combining <italic>d</italic> and the same type sample pairs (<italic>X</italic>
<sub>
<italic>sn</italic>
</sub>,<italic>X</italic>
<sub>
<italic>sp</italic>
</sub>) as inputs training decoder <italic>D</italic> has the following training objectives:<disp-formula id="eA1">
<mml:math id="m44">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mover accent="true">
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x223c;</mml:mo>
<mml:mover accent="true">
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mo>&#x3d;</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">g</mml:mi>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mi mathvariant="normal">n</mml:mi>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
</mml:munder>
<mml:msup>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:math>
<label>(A1)</label>
</disp-formula>
</p>
<p>The optimal results are<disp-formula id="eA2">
<mml:math id="m45">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mover accent="true">
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:math>
<label>(A2)</label>
</disp-formula>
<italic>E</italic> represents expectation.</p>
<p>
<bold>Proof:</bold> The objective function Eq. <xref ref-type="disp-formula" rid="eA1">A1</xref> is equivalent to<disp-formula id="eA3">
<mml:math id="m46">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:munder>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mi>i</mml:mi>
</mml:munder>
<mml:mrow>
<mml:mo>&#x222d;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
</mml:mrow>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:munder>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mi>i</mml:mi>
</mml:munder>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
</mml:mrow>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x222c;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:math>
<label>(A3)</label>
</disp-formula>
<italic>p</italic> (,) represents a joint probability distribution and <italic>y</italic>
<sub>
<italic>i</italic>
</sub> represents the fault category. When <italic>d</italic>
<sub>
<italic>i</italic>
</sub> and <italic>X</italic>
<sub>
<italic>sn,i</italic>
</sub> are fixed, from the nature of the Gaussian distribution, it can be obtained that<disp-formula id="eA4">
<mml:math id="m47">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>min</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mo>&#x222b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
</mml:mrow>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x222b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:math>
<label>(A4)</label>
</disp-formula>
</p>
<p>This is true if and only if <inline-formula id="inf34">
<mml:math id="m48">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. Therefore,<disp-formula id="eA5">
<mml:math id="m49">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>min</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>min</mml:mi>
<mml:mrow>
<mml:munder>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mi>i</mml:mi>
</mml:munder>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
</mml:mrow>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x222c;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:munder>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mi>i</mml:mi>
</mml:munder>
<mml:mrow>
<mml:msup>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x222c;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:munder>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mi>i</mml:mi>
</mml:munder>
<mml:msup>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:math>
<label>(A5)</label>
</disp-formula>
</p>
<p>This is true if and only if <inline-formula id="inf35">
<mml:math id="m50">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mover accent="true">
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msub>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, quod erat demonstrandum.</p>
</app>
</app-group>
</back>
</article>