A semi-quantitative fault diagnosis system based on bond graph and expert system combination
By combining bond graphs and expert systems, the problem of quantitative diagnosis of nuclear power plants has been solved, achieving semi-quantitative fault diagnosis. It has high adaptability and a wide diagnostic range, and the results are highly interpretable, making it particularly suitable for complex systems.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HARBIN ENG UNIV
- Filing Date
- 2022-07-27
- Publication Date
- 2026-05-29
AI Technical Summary
The inability to establish accurate mathematical models for complex nuclear power systems makes it impossible for existing fault diagnosis technologies to perform quantitative analysis, and the difficulty in establishing analytical models leads to ambiguous diagnoses.
By combining bond graphs and expert systems, fault data is imported through the data module to draw diagrams of nuclear power plant equipment and systems, set parameter thresholds, and use a qualitative bond graph model to design an inference engine module for fault diagnosis, de-emphasizing mathematical equations and highlighting physical processes.
It enables semi-quantitative fault diagnosis of nuclear power plants, with high adaptability, wide diagnostic range, and strong interpretability of results. It is applicable to complex systems, especially reactor-type nuclear power plants.
Smart Images

Figure CN115329550B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of fault diagnosis of nuclear power plants, and specifically relates to a semi-quantitative fault diagnosis system based on a combination of bond graphs and expert systems. Background Technology
[0002] Nuclear power plant systems are complex with numerous parameters. Ensuring the normal and safe operation of a nuclear power plant requires operators to possess exceptional professional skills and psychological resilience. Against this backdrop, fault diagnosis technology has become increasingly important. Fault diagnosis technologies across the entire spectrum can be categorized into three types: analytical model-based fault diagnosis technology, data-driven fault diagnosis technology, and expert system-based fault diagnosis technology. The advantages, disadvantages, and representative algorithms of these three technologies are shown in Table 1.
[0003] Table 1. Advantages, disadvantages, and representative algorithms of fault diagnosis technologies.
[0004]
[0005] Internationally, Morten Lind of the Department of Electrical Engineering at the Technical University of Denmark researched knowledge acquisition and strategies for multilayer flow modeling. Junyung Kim et al. of Rensselaer Polytechnic Institute in the United States used multilayer flow models to quantitatively assess system risk. Farber, JA et al. of the University of Pittsburgh in the United States studied methods for diagnosing and detecting coolant loss accidents in the absence of accident data. Lee, Seung Jun et al. of the Ulsan National Institute of Science and Technology in South Korea used convolutional neural network models to study anomaly diagnosis in nuclear power plants. Hongmin An et al. of South Korea used nuclear power plant simulation data to identify and diagnose faults in pressure boundary components. Nguyen, TN et al. of the University of Michigan in the United States used probabilistic models to build a diagnostic framework for nuclear engineering systems. Mandal, S et al. of Saskatchewan University in India used singular value decomposition (SVD) to detect faults in nuclear power plant sensors.
[0006] Domestically, researchers at Tsinghua University, including Zhang Qin and Deng Hongchen, applied a recursive algorithm for the Dynamic Uncertainty Causality Graph (DUCG) to fault diagnosis in nuclear power plants. Researchers at North China Electric Power University, including Wu Tao, used the primary loop of a megawatt-class nuclear power unit as the engineering object of analysis, employing FMEA, fault trees, and innovatively incorporating HMM theoretical models. They used a genetic algorithm to estimate monitoring parameters to achieve system state assessment and judgment. Researchers at Naval University of Engineering, including Yang Guang and Zhong Xiaojun, used SDG-QTA for fault diagnosis of the primary coolant system. Researchers at Shanghai Jiao Tong University, including Chen Yusheng, used deep learning neural networks for fault diagnosis in nuclear power plants. Researchers at Harbin Engineering University, including Wang Hang, used convolutional gated recursive networks and enhanced particle swarm optimization for nuclear power plant fault diagnosis. Researchers at Xiamen University, including Li Ning and Jin Dian, applied online monitoring algorithms to fault diagnosis in nuclear power plant systems. Researchers at Harbin Engineering University, including Guo Liangzhuang, used simulation models for fault diagnosis in nuclear power plants.
[0007] Each method has its own distinct advantages and disadvantages. In today's era of burgeoning computer technology, the combination of fault diagnosis technology and computer technology can often play a greater role. With the development of science and technology, people's requirements for fault diagnosis are gradually increasing, and more accurate quantitative diagnosis is undoubtedly the future trend of fault diagnosis technology. Therefore, methods based on analytical models have been favored by countless researchers. However, the inherent shortcomings of analytical models have deterred many researchers. The complexity of establishing mathematical models and the difficulty of reasoning limit the application of this method. For many complex systems in industry, accurate mathematical models cannot be obtained, making this method unsuitable for fault diagnosis, while other methods cannot perform quantitative analysis, resulting in ambiguous diagnoses. Summary of the Invention
[0008] The purpose of this invention is to provide a semi-quantitative fault diagnosis system based on a combination of bond graphs and expert systems.
[0009] The objective of this invention is achieved through the following technical solution:
[0010] A semi-quantitative fault diagnosis system based on a combination of bond graphs and expert systems includes the following steps:
[0011] Step 1: The data module imports fault data into the system;
[0012] Step 1.1: Import faults from the PCTRAN simulator and extract the fault data file in xls format;
[0013] Step 1.2: Convert the file to UTF-8 encoding and change the file extension to .csv;
[0014] Step 1.3: Configure external data points using the expert system format to create a data point configuration file, and then convert it to a CSV file;
[0015] Step 1.4: Import the CSV file via the OPC interface. The system will read the data point configuration file from Step 1.3 and the data file from Step 1.2, and import the parameter values into the system.
[0016] Step 2: Use the domain diagram module to draw diagrams of the nuclear power plant's equipment and systems;
[0017] After the drawing is completed, internal data points are set. The parameter information contained in the device corresponds one-to-one with the data points of the data module in step 1. This is the process of mapping external data points to internal data points.
[0018] Step 3: Design the inference logic architecture for the inference engine module, make adaptive modifications to the quantitative bond graph model, and design the inference engine module using the qualitative bond graph method;
[0019] Step 4: Set the alarm threshold in the threshold setting module;
[0020] The threshold setting mechanism in the expert system or the internal programming language is used to set the parameter thresholds. The experimental or simulator data is analyzed to obtain the operating range of each parameter under normal and abnormal conditions. This range is set in the expert system. If the input parameter deviates from this range, the corresponding inference event will be triggered in the inference engine module. The inference engine module will then deduce the changing trend and diagnostic results of other parameters.
[0021] Furthermore, the specific steps of step 3 are as follows:
[0022] Step 3.1: Divide each nuclear power plant into at least one control unit and perform modular modeling; represent the energy and mass transfer relationships within each control unit, and draw the bond graph model inside each control unit. The steps for establishing the bond graph are as follows:
[0023] Step 3.1.1: Select the potential variable e and the flow variable f, which can be pressure and mass flow rate, or temperature and energy flow rate, or both types of bond graphs can be selected and established simultaneously; fault data needs to be reflected through pressure, mass flow rate or temperature and energy flow rate;
[0024] Step 3.1.2: During the flow of coolant in the primary loop, the thermal resistance, dissipation, and flow resistance are represented by R, and the changes in the volume of the pressurizer and steam generator control volume caused by the coolant flow are represented by C; a node 0 indicates that the pressure or temperature is the same at this node, and the mass flow rate or energy flow rate is an algebraic sum at this node; a node 1 indicates that the mass flow rate or energy flow rate is the same at this node, and the pressure or temperature is an algebraic sum at this node;
[0025] Node 0: e1 = e2 = e3
[0026] f1 = f2 + f3
[0027] Node 1: e1 = e2 + e3
[0028] f1 = f2 = f3
[0029] Step 3.1.3: Determine the inputs and outputs within the control unit and determine the causal relationship of the keys;
[0030] Step 3.2: Using the qualitative bond graph model from Step 3.1, identify the inputs and outputs of the potential variables within the control volume, and draw a time-cause-effect graph. The drawing steps are as follows:
[0031] Step 3.2.1: List the analytical equations for all equipment and systems, with the dependent variable placed on the right side of the equation and the result variable placed on the left side.
[0032] e1 = Rf1 means that e1 is obtained by solving for f1, and the arrow points from f1 to e. 1;
[0033] This means that f1 is obtained by solving for e1, and the arrow points from e1 to f1.
[0034] Step 3.2.2: Connect the variables according to the equation obtained in Step 3.2.1; arrange the control volume potential variables, pressure or temperature, in order in the first row, and the flow variables, mass flow rate or energy flow rate, in order in the second row; the arrows point from the input variables on the right side of the equation to the output variables on the left side of the equation, and indicate the relationship between the variables on the arrows according to the equation; +1 represents positive correlation, -1 represents negative correlation, and = represents that the two variables are equal;
[0035] Step 3.3: Based on the time cause-and-effect diagram drawn in Step 3.2, identify the influence relationships between the input and output variables to obtain the variable relationship diagram. The drawing steps are as follows:
[0036] Step 3.3.1: Set a variable as the starting point in the time cause-effect graph, and propagate forward and backward according to the propagation path of the variable in the time cause-effect graph. Each path terminates when a known variable appears.
[0037] Step 3.3.2: Start another path only after one path ends with a known variable, until all unknown variables are in paths ending with known variables; f9 to f 13 It is positively correlated, f 10 f 11 f 12 For f 13 It is a negative correlation;
[0038] Step 3.4: Perform a fault impact analysis on the equipment failure; analyze the changes in typical parameters for which the fault needs to be diagnosed, and derive the change characteristics of other parameters in the variable relationship diagram by combining the changes in typical parameters with the variable relationship diagram.
[0039] Step 3.5: Based on the other parameter change characteristics analyzed in Step 3.4, draw the fault characteristic matrix and list the change trends of all parameters under different faults;
[0040] Step 3.6: Design the expert system inference engine using the fault feature matrix. The events of the inference engine module are represented by the increase, decrease, or no change (+1, -1, or 0) of the coefficients in the fault feature matrix; the corresponding faults are inferred from the abnormal coefficients.
[0041] Furthermore, in step 3.3.1, the propagation involves representing one variable with another variable. Since the variable in the bond graph is both an input and an output variable, there are forward and backward propagations.
[0042] The beneficial effects of this invention are as follows:
[0043] This invention overcomes the problem that nuclear power plant equipment or systems cannot establish accurate bond graph models for quantitative fault diagnosis, and provides a semi-quantitative fault diagnosis method combined with an expert system. It can overcome the inherent shortcomings of analytical models and expert systems, integrate the two, and use bond graph models to design expert system inference engines, so as to achieve the purpose of semi-quantitative description and diagnosis of complex equipment or systems in nuclear power plants.
[0044] Compared to existing technologies, this invention innovatively integrates a bond graph model into expert system diagnosis. It can diagnose nuclear power plants or systems by leveraging in-depth knowledge such as equipment or system coefficients, starting from the underlying mechanisms. This invention can also diagnose unknown faults through coefficient anomalies and determine fault magnitude by analyzing the range of parameter anomalies, achieving semi-quantitative analysis. This method is more adaptable and has a wider diagnostic range for fault diagnosis of complex nuclear power plant systems than other methods.
[0045] The diagnostic scope is broader compared to other technologies. This advantage is mainly reflected in the fact that establishing the bond graph model of the inference engine module requires mechanistic analysis of the equipment or system to derive the mass-energy transfer relationship. This relationship is then extended to changes in coefficients to achieve fault diagnosis. Knowledge at the mechanistic level can replace superficial expert knowledge, resulting in a more detailed and accurate diagnosis.
[0046] The diagnostic results are highly interpretable. This advantage is reflected in bond graph modeling, which diagnoses faults by starting from the internal mechanisms of the object. The model lists not only various parameters but also changes in internal physical process quantities. Therefore, the modeling is more comprehensive, involving more and broader characteristic parameters, and can also diagnose faults that cause changes in physical process quantities without affecting parameter changes. Some early, subtle fault manifestations may only be changes in internal physical process quantities, not yet reaching the level of causing a fault. Therefore, these symptoms can be used for preliminary judgment and to alert operators. Compared to data-driven fault diagnosis systems, this approach is more convincing to operators and does not require a large amount of fault data to train the model, making it suitable for nuclear power plant systems with limited fault data.
[0047] The high adaptability stems from the establishment of a qualitative bond graph model within the inference engine module. Conventional quantitative bond graph models require knowledge of the analytical equations within the system or device, while this invention downplays the mathematical meaning of the bond graph, emphasizing instead the physical processes involved. Only the energy and matter transfer relationships within the graph are retained, without specifying concrete modeling formulas. This is highly advantageous for complex systems, especially those where only the internal mass and energy flow processes are known, but the specific relationships are unclear. It is particularly suitable for fault diagnosis in various types of nuclear power plants.
[0048] Original innovative technology: Quantitative improvements have been made to the bond graph model. For example, the bond graph is combined with an expert system for the first time in the inference engine module. Considering the difficulty in establishing analytical models for nuclear power plant systems, it is impossible to quantitatively apply bond graphs. Therefore, this invention downplays the mathematical equations of the bond graph and emphasizes the physical processes. This invention only uses bond graphs to depict the energy and mass transfer process without determining specific coefficients, which is universal for any complex system. Moreover, modeling the expert system inference engine using a bond graph pattern is also proposed for the first time, offering advantages such as richer diagnostic content. Attached Figure Description
[0049] Figure 1 This is a schematic diagram of the semi-quantitative fault diagnosis system based on the combination of bond graphs and expert systems of the present invention.
[0050] Figure 2 The following is a detailed flowchart of the semi-quantitative fault diagnosis system based on the combination of bond graphs and expert systems of the present invention.
[0051] Figure 3 This is a diagram showing the variable relationships in this invention. Detailed Implementation
[0052] The present invention will now be further described with reference to the accompanying drawings.
[0053] The overall architecture of the present invention is as follows: Figure 1As shown, the overall implementation steps are as follows: Figure 2 As shown. The overall system is divided into: a data module, a domain graph module, an inference engine module, and a threshold setting module. The output includes the inference process, alarms, root events, and operation instructions.
[0054] The data module is designed to import fault data into the system.
[0055] Step 1: The fault diagnosis system performs diagnoses by inputting data into the system. Given the complexity of nuclear power plants, fault data cannot be obtained from experiments; therefore, faults need to be imported from the PCTRAN simulator, and the fault data extracted in xls file format.
[0056] Step 2: Convert the xls file to UTF-8 encoding and change the file extension to csv for later use.
[0057] Step 3: Configure external data points using the expert system format to create a data point configuration file. Convert it to a CSV file for later use.
[0058] Step 4: Import the data using the data management module in the expert system. Import the CSV file using the OPC interface. The system will read the data point configuration file from Step 3 and the data file from Step 2, and import the parameter values into the system.
[0059] The domain diagram module is used to draw diagrams of nuclear power plant equipment and systems, reflecting the actual nuclear power system equipment. After drawing, internal data points need to be set in this section: these are the parameter information (temperature, pressure, etc.) contained in the equipment. These correspond one-to-one with the data points in the data module. This is the process of mapping external data points to internal data points.
[0060] The inference engine module is designed to design the inference logic architecture. Inference engine design methods generally fall into three categories: analytical model-based methods, flowchart-based methods, and empirical knowledge-based methods. All three methods can design inference engines and perform fault diagnosis. However, flowchart-based and empirical knowledge-based methods mostly rely on superficial knowledge derived from experience, thus failing to acquire knowledge at the system mechanism level for fault identification. Conventional analytical model-based diagnostic methods require high system resolvability, obtaining residuals through Analytical Redundancy Relations (ARRS). The residuals are then analyzed to perform fault diagnosis. This approach is not very practical for the complex nuclear power plant system, the subject of this invention. Therefore, this invention adaptively modifies the quantitative bond graph model, adopting a qualitative bond graph method to design the inference engine module. The specific design steps are as follows:
[0061] Step 1: Divide each nuclear power plant into several control volumes and perform modular modeling. Clearly represent the energy and mass transfer relationships within each control volume, and draw the bond graph model within each control volume. Potential variables and flux variables can be one or more sets. The steps for establishing the bond graph are as follows:
[0062] 1. Select the potential and flow variables. These can be pressure and mass flow rate, or temperature and energy flow rate, or both can be selected and two types of bond graphs can be established simultaneously. The fault measurement data needs to be reflected through pressure, mass flow rate, or temperature and energy flow rate.
[0063] 2. Resistive processes are represented by R, capacitive processes by C, and inertial processes by I. In step 2, the accumulation and output of mass and energy within the control volume can be represented by nodes 0 or 1. A node 0 represents that the internal potential variable is the same throughout the control volume, while a node 1 represents that the internal flow variable is the same throughout the control volume.
[0064] 3. Determine the bond orientation. Within each control cell, the potential variable is labeled above the bond graph, and the flow variable is labeled below. At node 0, the bond orientation represents the flow variable orientation, and at node 1, the bond orientation represents the potential variable orientation.
[0065] 4. Determine the inputs and outputs within the control body and judge the causal relationship of the keys.
[0066] It should be noted that during the entire bond graph modeling process, the variables and formulas involved do not need to have specific coefficients; only the mass change relationship and energy change relationship need to be clarified.
[0067] Step 2: Using the qualitative bond graph model from Step 1, identify the inputs and outputs of the potential variables within the control volume, and draw the time-cause-effect diagram. The drawing steps are as follows:
[0068] 1. List the analytical equations for all equipment and systems, with the dependent variable placed on the right side of the equation and the result variable placed on the left side.
[0069] 2. Connect the variables according to the equation obtained in step 1. The arrow points from the input variable on the right side of the equation to the output variable on the left side. Indicate the relationship between the variables on the arrow according to the equation. Simply specify the variable names.
[0070] Step 3: Based on the time-cause-effect diagram drawn in Step 2, identify the relationships between the input and output variables to obtain a variable relationship diagram. The drawing steps are as follows:
[0071] 1. In the time-cause-effect graph, choose any variable as the starting point and propagate the variable forward and backward according to the propagation path in the graph. Each path terminates when a known variable is encountered. Propagation refers to representing one variable with another variable. Since most variables in the bond graph are both input and output variables, there are forward and backward propagation.
[0072] 2. Start another path only after one path ends with a known variable, until all unknown variables are in paths that end with known variables.
[0073] Step 4: Perform a fault impact analysis on the equipment failure. Analyze the changes in typical parameters that indicate the fault to be diagnosed. By combining the changes in typical parameters with the variable relationship diagram, the characteristics of changes in other parameters in the variable relationship diagram can be obtained.
[0074] Step 5: Based on the other parameter variation characteristics analyzed in Step 4, draw the fault characteristic matrix. List the variation trends of all parameters under different faults.
[0075] Step 6: Design the expert system inference engine using the fault feature matrix. Events in the inference engine are represented by the increase, decrease, or no change (+1, -1, or 0) of coefficients in the fault feature matrix. The corresponding faults are inferred from the anomalies in the coefficients.
[0076] The threshold setting module is used to set alarm thresholds for parameters. The thresholds are set using the threshold setting mechanism in the expert system or an internal programming language. By analyzing data from specific experiments or simulators, the operating ranges of each parameter under normal and abnormal conditions are determined, and these ranges are set in the expert system. If the input parameters deviate from this range, a corresponding inference event is triggered in the inference engine, which then infers the changing trends and diagnostic results of other parameters.
[0077] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A semi-quantitative fault diagnosis system based on a combination of bond graphs and expert systems, characterized in that: Includes the following steps: Step 1: The data module imports fault data into the system; Step 1.1: Import faults from the PCTRAN simulator and extract the fault data file in xls format; Step 1.2: Convert the file to UTF-8 encoding and change the file extension to .csv; Step 1.3: Configure external data points using the expert system format to create a data point configuration file, and then convert it to a CSV file; Step 1.4: Import the CSV file via the OPC interface. The system will read the data point configuration file from Step 1.3 and the data file from Step 1.2, and import the parameter values into the system. Step 2: Use the domain diagram module to draw diagrams of the nuclear power plant's equipment and systems; After the drawing is completed, internal data points are set. The parameter information contained in the device corresponds one-to-one with the data points of the data module in step 1. This is the process of mapping external data points to internal data points. Step 3: Design the inference logic architecture for the inference engine module, make adaptive modifications to the quantitative bond graph model, and design the inference engine module using the qualitative bond graph method; Step 3.1: Divide each nuclear power plant into at least one control body and perform modular modeling; represent the energy and mass transfer relationships within each control body and draw the bond graph model inside each control body; Step 3.2: Using the qualitative bond graph model from Step 3.1, identify the inputs and outputs of the potential variables within the control volume and draw a time-cause-effect diagram; Step 3.3: Based on the time cause-and-effect diagram drawn in Step 3.2, identify the influence relationship between the input and output variables to obtain the variable relationship diagram; Step 3.4: Perform a fault impact analysis on the equipment failure; analyze the changes in typical parameters for which the fault needs to be diagnosed, and derive the change characteristics of other parameters in the variable relationship diagram by combining the changes in typical parameters with the variable relationship diagram. Step 3.5: Based on the other parameter change characteristics analyzed in Step 3.4, draw the fault characteristic matrix and list the change trends of all parameters under different faults; Step 3.6: Design the expert system inference engine using the fault feature matrix. The events of the inference engine module are represented by the increase, decrease, or no change (+1, -1, or 0) of the coefficients in the fault feature matrix; the corresponding faults are inferred from the anomalies of the coefficients. Step 4: Set the alarm threshold in the threshold setting module; The threshold setting mechanism or internal programming language in the expert system is used to set the parameter thresholds, analyze the experimental or simulator data, obtain the operating range of each parameter under normal and abnormal conditions, and set the range in the expert system. If the input parameters deviate from this range, a corresponding inference event will be triggered in the inference engine module, and the inference engine module will deduce the changing trends and diagnostic results of other parameters.
2. The semi-quantitative fault diagnosis system based on a combination of bond graphs and expert systems according to claim 1, characterized in that: The steps for establishing the bond graph in step 3.1 are as follows: Step 3.1.1: Select the potential variable e and the flow variable f, which can be pressure and mass flow rate, or temperature and energy flow rate, or both types of bond graphs can be selected and established simultaneously; fault data needs to be reflected through pressure, mass flow rate or temperature and energy flow rate; Step 3.1.2: During the flow of coolant in the primary loop, the thermal resistance, dissipation, and flow resistance are represented by R, and the changes in the volume of the pressurizer and steam generator control volume caused by the coolant flow are represented by C; a node 0 indicates that the pressure or temperature is the same at this node, and the mass flow rate or energy flow rate is an algebraic sum at this node; a node 1 indicates that the mass flow rate or energy flow rate is the same at this node, and the pressure or temperature is an algebraic sum at this node; Node 0: e1=e2=e3 f1 = f2 + f3 Node 1: e1 = e2 + e3 f1=f2=f3 Step 3.1.3: Determine the inputs and outputs within the control unit and judge the causal relationship of the keys; The drawing steps in step 3.2 are as follows: Step 3.2.1: List the analytical equations for all equipment and systems, with the dependent variable placed on the right side of the equation and the result variable placed on the left side. e1=Rf1 means that e1 is obtained by solving for f1, and the arrow points from f1 to e. 1; This means that f1 is obtained by solving for e1, and the arrow points from e1 to f1. Step 3.2.2: Connect the variables according to the equation obtained in Step 3.2.1; Arrange the control volume potential variables, pressure or temperature, in order in the first row, and the flow variables, mass flow rate or energy flow rate, in order in the second row; the arrows point from the input variables on the right side of the equation to the output variables on the left side of the equation, and indicate the relationship between the variables on the arrows according to the equation; +1 represents positive correlation, -1 represents negative correlation, and = represents that the two variables are equal; The drawing steps in step 3.3 are as follows: Step 3.3.1: Set a variable as the starting point in the time cause-effect graph, and propagate forward and backward according to the propagation path of the variable in the time cause-effect graph. Each path terminates when a known variable appears. Step 3.3.2: Start another path only after one path ends with a known variable, until all unknown variables are in paths ending with known variables; f9 to f 13 It is positively correlated, f 10 f 11 f 12 For f 13 It is a negative correlation.
3. The semi-quantitative fault diagnosis system based on a combination of bond graphs and expert systems as described in claim 1, as claimed in claim 2, is characterized in that: In step 3.3.1, the propagation involves representing one variable with another variable. Since the variable in the bond graph is both an input and an output variable, there are forward and backward propagation.