Classification result verification method using verification neural network, classification result learning method, and computing device for executing the methods
By using a validation neural network to validate the intermediate output values of a classification neural network, and utilizing a structure and reliability model with at least five hidden layers, the problem of the difficulty in determining the reliability of neural network classification results is solved, thereby improving the reliability and accuracy of the classification results.
Patent Information
- Application Number
- CN202080011228.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-05-13
- Filing Date
- 2020-05-13
- Publication Date
- 2025-12-30
- Estimated Expiration
- 2040-05-13
AI Technical Summary
Existing neural networks are difficult to verify in terms of the reliability of classification results, which may lead to inaccurate classification results in practical applications.
A validation neural network is used to receive and validate the intermediate output values of the classification neural network. The reliability of the classification results is determined by the similarity and reliability model of the training data. A neural network structure with at least five hidden layers is used for training and validation.
This improves the reliability verification of classification results, ensuring that only reliable classification results are used in practical applications, and reducing uncertainty and misclassification.
Smart Images

Figure CN113366500B_ABST
Abstract
Description
Technical Field
[0001] The following description relates to a method for using a validation neural network to validate and learn classification results, and a computing device for performing the method. Background Technology
[0002] Neural networks are used to classify predetermined objects or patterns represented by input data. For example, when a predetermined image is input into a neural network, the network can analyze the objects or patterns represented by the image and output the data in the form of probability values.
[0003] However, the input data to be actually classified may differ from the training data used in the processing that trains the neural network. For example, when a neural network classifies an image as input data into a class called pattern A, additional processing may be needed to determine whether the classification result of the neural network is suitable for the intended application.
[0004] Disclosure of the invention
[0005] Technical solution
[0006] According to one aspect, a classification result verification method includes: receiving input data to be classified by a classification neural network; outputting intermediate output values for the input data by the classification neural network; outputting a classification result of the input data by the classification neural network; receiving the intermediate output values from the classification neural network by a verification neural network; and outputting the reliability of the classification result of the input data of the classification neural network based on the intermediate output values by the verification neural network.
[0007] When input data is fed into a classification neural network, the intermediate output values for the input data can include: the output value of one hidden layer or the output values of at least two hidden layers included in the classification neural network.
[0008] The intermediate output values of a classification neural network can include the output values of the hidden layers that are the same as the intermediate output values of the hidden layers that were input to the validation neural network when the classification neural network was trained.
[0009] The classification result verification method may further include: determining whether to use the classification result of the input data determined by the classification neural network based on the reliability of the classification result of the input data.
[0010] A validation neural network can include at least five hidden layers.
[0011] A classification neural network can include at least five hidden layers.
[0012] According to another aspect, a classification result learning method includes: receiving training data to be learned by a classification neural network; having the classification neural network output intermediate output values for the training data; having a validation neural network receive the intermediate output values from the classification neural network; and training the validation neural network based on a reliability model and the intermediate output values for the training data.
[0013] A reliability model can be used to train and validate neural networks based on the attribute information of the training data and the distance between the training data and the sample data generated from the training data.
[0014] The validation neural network can receive the score of the center point corresponding to the intermediate output value received from the classification neural network, determine the score of the sample point corresponding to the sample data randomly generated around the center point, and can be trained based on the score of the center point and the score of the sample point.
[0015] In the reliability model, reliability can decrease as the distance between the centroid corresponding to the training data and the sample point corresponding to the sample data increases.
[0016] The following can be used to train the validation neural network: (i) a first reliability model, which determines the reliability of sample points corresponding to sample data with similar attributes to the training data based on the distance between the sample points and the center points corresponding to the training data; or (ii) a second reliability model, which determines the reliability of sample points corresponding to sample data with similar attributes to the training data based on the distance between the sample points and the center points corresponding to the training data and based on the gradient direction of the center points that serve as attribute information of the training data.
[0017] A validation neural network can include at least five hidden layers.
[0018] A classification neural network can include at least five hidden layers.
[0019] According to another aspect, a computing device for performing a classification result verification method includes: a processor, wherein the processor is configured to: receive input data to be classified by a classification neural network; output intermediate output values for the input data using the classification neural network; output a classification result of the input data using the classification neural network; receive intermediate output values from the classification neural network using a verification neural network; and output the reliability of the classification result of the input data of the classification neural network based on the intermediate output values using the verification neural network.
[0020] When input data is fed into a classification neural network, the intermediate output values for the input data can include: the output value of one hidden layer or the output values of at least two hidden layers included in the classification neural network.
[0021] The intermediate output values of a classification neural network can include the output values of the hidden layers that are the same as the intermediate output values of the hidden layers that were input to the validation neural network when the classification neural network was trained.
[0022] The processor is configured to determine whether to use the classification results of the input data determined by the classification neural network, based on the reliability of the classification results of the input data.
[0023] A validation neural network can include at least five hidden layers.
[0024] A classification neural network can include at least five hidden layers.
[0025] According to another aspect, a computing device may include: a classification neural network configured to: receive input data, output a classification result of the input data, and output intermediate output values in the process of obtaining the classification result; and a verification neural network configured to: receive intermediate output values from the classification neural network and output the reliability of the classification result.
[0026] Classification neural networks can be convolutional neural networks (CNNs).
[0027] A classification neural network can include at least five hidden layers.
[0028] The verification neural network can be a CNN.
[0029] A validation neural network can include at least five hidden layers.
[0030] Input data can be image data or audio data.
[0031] The computing device can be configured to determine whether to use the classification results based on the reliability of the output of the verification neural network.
[0032] A classification neural network can include an input layer, an output layer, and multiple hidden layers, and the intermediate output value can be the output value of a hidden layer that is closer to the output layer than the input layer. Attached Figure Description
[0033] Figure 1 Examples of classification neural networks and validation neural networks are shown.
[0034] Figure 2 An example of a classification result determined by a classification neural network is shown.
[0035] Figure 3 An example of the processing of training and validating a neural network is shown.
[0036] Figure 4 An example of the process for verifying the reliability of the classification results determined by the neural network is shown.
[0037] Figure 5 An example is shown of the process of determining the scores of sample points to train and validate the neural network.
[0038] Figure 6 An example of a reliability model that can be used to train a validation neural network to determine the reliability of classification results is shown.
[0039] Figure 7 This is a flowchart illustrating an example of the process of training and validating a neural network.
[0040] Figure 8 This is a flowchart illustrating an example of a process for verifying the reliability of a neural network's classification results for input data.
[0041] The best mode of implementing an invention
[0042] Examples will be described in detail below with reference to the accompanying drawings. However, the scope of the rights should not be construed as limited to the examples set forth herein.
[0043] Although the terms "first," "second," etc., are used to describe various components, the components are not limited by these terms. These terms are only used to distinguish one component from another. For example, within the scope of this disclosure, a first component may be referred to as a second component, or similarly, a second component may be referred to as a first component.
[0044] The terminology used herein is for the purpose of describing particular examples only and is not intended to be limiting. As used herein, the singular form is intended to include the plural form as well, unless the context clearly indicates otherwise. It will be further understood that when the term "comprising" is used in this specification, it indicates the presence of the said feature, integral, step, operation, element, component, or combination thereof, but does not preclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or groups thereof.
[0045] Unless otherwise defined herein, all terms used herein (including technical or scientific terms) shall have the same meaning as commonly understood by one of ordinary skill in the art. Unless otherwise defined herein, terms defined in a general dictionary shall be interpreted as having a meaning matching the contextual meaning in the relevant field and shall not be interpreted as having an idealized or overly formal meaning.
[0046] Regarding the reference numerals assigned to elements in the accompanying drawings, it should be noted that even if the same element is shown in different drawings, the same element will be represented by the same reference numerals as much as possible. Furthermore, in the description of the examples, detailed descriptions of well-known related structures or functions will be omitted where such detailed descriptions would lead to an obscure interpretation of this disclosure.
[0047] Figure 1Examples of classification neural networks and verification neural networks are shown.
[0048] Figure 1 A classification neural network 101 and a verification neural network 102 are shown. Each of the classification neural network 101 and the verification neural network 102 can be defined as a neural network comprising multiple layers. The neural network can be, for example, a convolutional neural network (CNN) and can include an input layer, multiple hidden layers, and an output layer. For example, the neural network can be a network comprising at least five hidden layers, at least ten hidden layers, at least "20" hidden layers, or at least "30" hidden layers.
[0049] The classification neural network 101 can perform classification processing to determine which pattern or object the input data represents. The classification neural network 101 can allow input data to pass through multiple hidden layers with multiple levels and can determine the class (such as an object or pattern) represented by the input data. For example, when the input data is an image, the classification neural network 101 can classify the image into one of several classes (e.g., dog, cat, airplane, boat, person, traffic light, vehicle, or bicycle). The classification neural network 101 can determine the class with the highest score among the classes as the classification result for the input data.
[0050] When the classification neural network 101 classifies input data similar to the training data processed for classification, it can output classification results with high reliability that are usable in applications. However, when the classification neural network 101 classifies input data dissimilar to the training data processed for classification, it may output classification results with relatively low reliability. Therefore, it may be necessary to calculate the reliability of the classification results of the input data output from the classification neural network 101.
[0051] The reliability of the classification result obtained from the classification neural network 101 can be used to use or reject the classification result. For example, when the classification neural network 101 is used to classify data in various applications (e.g., facial recognition, autonomous driving, or speech recognition), the reliability of the classification result can be used to estimate the uncertainty of the classification result of the classification neural network 101. In one example, when the reliability of the classification result is greater than a predetermined reference value, the reliability of the classification result can be used in the application. In another example, when the reliability of the classification result is less than a predetermined reference value, the classification result of the classification neural network 101 can be discarded or another predetermined operation can be performed.
[0052] Reference Figure 1To determine whether the classification result of the input data output from the classification neural network 101 is reliable, a verification neural network 102, defined separately from the classification neural network 101, can be used. The verification neural network 102 can determine the reliability of the classification result obtained from the classification neural network 101. For example, when the input data is an image, the classification neural network 101 can perform classification processing to determine which object or pattern the image represents, and the verification neural network 102 can determine the reliability of the classification result of the classification neural network 101.
[0053] In one example, the validation neural network 102 can use intermediate output values collected from the classification process of the input data processed by the classification neural network 101 to determine the reliability of the classification result. In this example, the intermediate output values can be the output values of a hidden layer selected from the multiple hidden layers included in the classification neural network 101. The intermediate output values of the classification neural network 101 can also be used to train the validation neural network 102.
[0054] In one example, when the similarity between the training data used to train the classification neural network 101 and the training data used to train the validation neural network 102 increases, the validation neural network 102 can be trained to calculate an increase in the reliability of the classification result. In another example, when the similarity between the training data used to train the classification neural network 101 and the training data used to train the validation neural network 102 decreases, the validation neural network 102 can be trained to calculate a decrease in the reliability of the classification result.
[0055] When both the classification neural network 101 and the verification neural network 102 are trained, and when input data to be classified is input, the classification neural network 101 can obtain the classification result of the input data, and the verification neural network 102 can calculate the reliability of the classification result of the input data.
[0056] As described above, when the reliability of the classification result output from the classification neural network 101, calculated by the verification neural network 102, meets a predetermined reference value, the reliability of the classification result can be approved, and the classification result can be used in applications applied to the classification neural network 101. When the reliability of the classification result does not meet the predetermined reference value, the classification result output from the classification neural network 101 can be disregarded, or other predetermined actions can be performed.
[0057] Reference Figure 1 The classification neural network 101 can be trained on the classification process based on the training data. The validation neural network 102 can be trained on the process of calculating the reliability of the classification result determined by the classification neural network 101 using the intermediate output values determined in the classification process of the classification neural network 101.
[0058] When the above training process is completed, and when the input data is fed into the classification neural network 101, the classification neural network 101 can output the classification result of the input data. The trained validation neural network 102 can calculate the reliability of the classification result of the input data determined by the classification neural network 101. The above-described training process based on training data and the processing using input data can be performed by a computing device including hardware (e.g., a processor or memory).
[0059] Figure 2 An example of a classification result determined by a classification neural network is shown.
[0060] Figure 2 An example of the classification results of the input data obtained by the classification neural network 101 is shown. Figure 2 The diagram shows the results obtained by classifying input data comprising eight images using a classification neural network 101. (See reference...) Figure 2 The classification neural network 101 can determine which object or pattern an image represents by classifying it. When input data passes through multiple hidden layers included in the classification neural network 101, the score of each of multiple classes (e.g., pattern 1, 2, ..., N) can be determined, and the class with the highest score can be determined as the classification result of the input data.
[0061] In the example, to consider whether the classification result of the input data derived from the classification neural network 101 can be used in other applications, a verification neural network 102, set up separately from the classification neural network 101, can calculate the reliability of the classification result of the input data. For example, it can be assumed that the classification neural network 101 classifies the seventh input data as follows: Figure 2 The "baseball" pattern is shown. In this example, the verification neural network 102 can calculate the reliability of the classification result of the seventh input data corresponding to the "baseball" pattern as a score between "0" and "1".
[0062] The verification neural network 102 can use intermediate output values to determine the reliability of the classification result of the input data derived from the classification neural network 101. These intermediate output values are the output values of one or at least two hidden layers included in the classification neural network 101. The intermediate output values can be, for example, the output value derived from one of the multiple hidden layers of the classification neural network 101, or the output value of each of at least two hidden layers. The output values of the hidden layers can be determined as feature maps based on the input values of the hidden layers and the convolution of filters.
[0063] Figure 3 An example of the processing of training and validating a neural network is shown.
[0064] The classification processing of the classification neural network 101 and the determination of the reliability of the verification neural network 102 can be performed by a computing device including a processor and memory. (Refer to...) Figure 3 In order to learn the classification processing of the classification neural network 101, training data can be input into the classification neural network 101.
[0065] In one example, when training data x is input into a classification neural network 101 and applied to multiple hidden layers, the classification neural network 101 can be trained by updating the parameters of each hidden layer corresponding to each node during backpropagation of the error between the label of the classification result of the training data x and the output of the classification result derived from the classification neural network 101. The classification neural network 101 can be optimized by updating the weights of the filters applied to each of the multiple hidden layers, which determine which object or pattern the training data x represents through the training process.
[0066] The verification neural network 102 can be trained to compute the reliability of classification results. For the training process of the verification neural network 102, intermediate output values (e.g., hidden representations) determined by the classification neural network 101 can be used. In one example, when the classification neural network 101 includes "N" hidden layers, the output values of the hidden layers corresponding to predetermined operations can be set as intermediate output values of the classification neural network 101. To learn the process for determining reliability, the verification neural network 102 can use the output values of the hidden layers, which are intermediate output values of the classification neural network 101.
[0067] exist Figure 3 In this process, the intermediate output values of the classification neural network 101, which serve as the output values (e.g., hidden representations) of the (N-2)th hidden layer, can be used to train the validation neural network 102. In other words, both the classification neural network 101 and the validation neural network 102 can be trained simultaneously. When the backpropagation process is repeated after applying training data to the classification neural network 101, the classification neural network 101 can be trained by updating the parameters of each hidden layer. The output values of the hidden layers obtained during the training of the classification neural network 101 can also be used to train the validation neural network 102.
[0068] Despite Figure 3 The example uses the output value of a single hidden layer to train the validation neural network 102, but the output values of at least two hidden layers can be used to train the validation neural network 102.
[0069] Despite Figure 3Not shown, but in one example, multiple validation neural networks 102 can be configured. In this example, the output values (e.g., intermediate output values) of different hidden layers in the hidden layers included in the classification neural network 101 can be set and implemented as input values of different validation neural networks 102, and the final reliability of the classification result of the classification neural network 101 can be obtained by combining (e.g., averaging) the reliability calculated in multiple validation neural networks 102.
[0070] In another example, the output values of different hidden layers can be input into a validation neural network 102. In this example, a validation neural network 102 can calculate the reliability of a classification result by combining the output values of at least two selected hidden layers. In other words, the output value of each of at least two of the “N” hidden layers of the classification neural network 101 can be input into the validation neural network 102. Furthermore, the output values of at least two hidden layers can be combined (e.g., summed or averaged) and can be input into the validation neural network 102, and the validation neural network 102 can deduce the reliability of the classification result of the classification neural network 101 based on the result obtained by combining the output values of at least two hidden layers. When the output values of hidden layers are combined, relatively high weights can be assigned to the hidden layers closer to the output layer.
[0071] The following will refer to Figure 5 and Figure 6 The process for verifying the learning reliability of the neural network 102 is further described.
[0072] Figure 4 An example of the process for verifying the reliability of the classification results determined by the neural network is shown.
[0073] The input data y, which will be classified into a predetermined class, can be entered into the reference above. Figure 3 The described training classifying neural network 101. Input data y can be processed through multiple hidden layers included in the classifying neural network 101. The classifying neural network 101 can classify the input data y into one of multiple classes through input data classification processing and can output the classification result.
[0074] The validation neural network 102 can determine the reliability of the classification results of the input data processed by the classification neural network 101. In one example, the validation neural network 102 can use the intermediate output values of the classification neural network 101 to determine the reliability of the classification results of the input data output from the classification neural network 101.
[0075] In one example, the verification neural network 102 can compare the reliability of the classification result of the input data with a reference value. In one example, when the reliability is greater than or equal to the reference value, the verification neural network 102 can determine that the classification result of the input data output from the classification neural network 101 is reliable. In another example, when the reliability is less than the reference value, the verification neural network 102 can determine that the classification result of the input data output from the classification neural network 101 is unreliable. In this example, the verification neural network 102 can reject the classification result of the input data and can perform a predetermined operation.
[0076] The following will refer to Figures 5 to 7 The training and determination processes in the verification neural network 102 used to determine the reliability of the classification results are further described.
[0077] Figure 5 An example is shown of the process of determining the scores of sample points to train and validate the neural network.
[0078] To train the verification neural network 102 that determines the reliability of the classification results, the intermediate output values of the classification neural network 101 can be used. The intermediate output values are the output values of one of the hidden layers included in the classification neural network 101. Figure 5 This shows the fields for intermediate output values.
[0079] In one example, when training data is input into a classification neural network 101, the output values (e.g., hidden representations) of one or at least two hidden layers selected from a plurality of hidden layers of the classification neural network 101 can be set as intermediate output values of the classification neural network 101 and can be used to train a validation neural network 102.
[0080] exist Figure 5 In this example, when three different training data points are input into the classification neural network 101, the center points X1 to X3 can be points corresponding to intermediate output values, which are the output values of one of the hidden layers in the classification neural network 101. In other words, the center points can actually be associated with the training data used to train the classification neural network 101.
[0081] Furthermore, sample points can be randomly generated around the center point. In other words, sample points can be virtually generated from the actual training data used for training and can be used to train the validation neural network 102. Here, sample points can be associated with virtual sample data that have properties similar to those of the actual training data. Figure 5 The sample points can be newly generated at the center point through Gaussian sampling.
[0082] In other words, the validation neural network 102 can generate sample data for scoring that is similar to the training data, thus covering the input data including various information that will be actually classified. The aforementioned sample points and centroids associated with the training data used to train the classification neural network 101 can be used to train the validation neural network 102.
[0083] The classification neural network 101 can determine a score for each of the centroids and sample points. Here, the score can be the score of the class of the data to be classified at a predetermined point. For example, when the classification neural network 101 classifies the training data for centroid X1 into one of class 1 (dog), class 2 (cat), class 3 (pig), and class 4 (chicken), the score for centroid X1 can be the score used to determine the predetermined class (e.g., class 2, cat). The score can be determined differently depending on the class selected.
[0084] The verification neural network 102 can receive hidden representations as intermediate output values of the classification neural network 101, along with scores for the center points corresponding to these hidden representations. Furthermore, the verification neural network 102 can determine the scores of randomly generated sample points around the center points. In this example, the scores of the sample points generated around the center points can be higher or lower than the scores of the center points for a predetermined class. In other words, the score of the center point does not necessarily have to be higher than the scores of the sample points.
[0085] The training and validation of the neural network 102 can be performed based on the scores of each of the center point and sample points. The following will refer to... Figure 6 The training of the verification neural network 102 is further described.
[0086] Figure 6 An example of a reliability model that can be used to train a validation neural network to determine the reliability of classification results is shown.
[0087] Figure 6 Three types of reliability models are shown. A reliability model can be represented by contour lines and can determine the reliability of the sample data used to train and validate the neural network 102. Here, as a comparison with... Figure 5 The sample data corresponding to the sample points can be data randomly generated from the training data.
[0088] For example, the reliability of sample points corresponding to predetermined sample data can be determined from a selected reliability model. The reliability model can indicate a decrease in reliability as the distance between the center point corresponding to the training data and the sample points corresponding to the sample data increases. In one example, the center point can have a reliability of "1", sample points closer to the center point can have a reliability of "0.9", and sample points farther from the center point can have a reliability of "0.8".
[0089] Reliability models can be categorized as: (i) a first model, which determines the reliability of a sample point based on the distance between the sample point and the centroid corresponding to the training data; or (ii) a second model, which determines the reliability of a sample point based on both the distance between the sample point and the centroid corresponding to the training data and the gradient direction of the centroid, which serves as the attribute information of the training data. Figure 6 In this model, the isotropic model corresponds to the first model, and the symmetric and asymmetric models correspond to the second model.
[0090] The reliability model of the validation neural network 102 can be used to determine the reliability of the data used to train the validation neural network 102, and can be classified into the isotropic model, symmetric model, and asymmetric model described above. The above three reliability models can be determined based on the type of training data (e.g., audio data or image data), the size of the classification neural network 101 (e.g., the number of hidden layers), or the type of the classification neural network 101.
[0091] Specifically, refer to Figure 6 A scheme is described to determine the reliability of data used to train and validate neural network 102 based on the gradient corresponding to the training data and / or the distance to the center point X. Figure 6 The gradient G can be information indicating the degree of abrupt change (increase or decrease) in the score from the center point to the sample point.
[0092] The gradient can be set to the direction in which the score of a sample point significantly increases or decreases among several directions around the center point X. A positive (+) gradient represents the direction in which the score of a sample point increases most significantly around the center point, and a negative (-) gradient represents the direction in which the score of a sample point decreases most significantly around the center point. The gradient can be set based on the training data and can refer to the attribute information of the training data.
[0093] The reliability model described above is described in more detail below.
[0094] (1) Isotropic model
[0095] exist Figure 6 In the isotropic model, the reliability distribution is represented by contour lines forming concentric circles around the center point X. In the isotropic model, the gradient G1 at the center point X can be set; however, reliability can only be determined with respect to distances from the center point X. Here, in the isotropic model, sample points located at the same distance from the center point X can be determined to have the same reliability.
[0096] In an isotropic model, it can be assumed that sample points y1 and y2 are equidistant from the center point X. However, since sample point y2 is closer to the gradient G1 of the center point X than sample point y1, the score of sample point y2 can actually be higher than that of sample point y1. Sample points y1 and y2 can refer to the output values (e.g., hidden representations) of the hidden layers when the first and second input data are respectively input into the classification neural network 101.
[0097] In an isotropic model, sample points located at the same distance from the center point X can be assigned the same reliability, regardless of the gradient of the center point X. In other words, the reliability (a) of sample point y1 and the reliability (b) of sample point y2 can be determined to be the same as a reliability of approximately "0.85".
[0098] (2) Symmetric Model
[0099] exist Figure 6 In the symmetric model, the reliability distribution is represented by contour lines forming an ellipse around the center point X. In the symmetric model, the gradient G2 at the center point X can be set. Here, gradient G2 can refer to the direction in which the fraction changes most drastically around the center point X (in the case of G2(+), the fraction increases, and in the case of G2(-), the fraction decreases). In the symmetric model, the reliability can be set to change relatively faster in the direction of the drastic change in the fraction.
[0100] In other words, based on the symmetric model, a sharp change in scores can indicate a difficulty in setting high reliability for classification results. That is, in the symmetric model, the reliability of sample points located at the same distance from the center point X can be determined differently based on whether the sample points are close to the gradient direction. The symmetric model can consider reliability based on the degree of change in the sample point's score.
[0101] In the symmetric model, it can be assumed that sample points y1 and y2 are equidistant from the center point X. Here, since the fractional difference between sample point y1 (located closer to the center point X) and the center point X is greater than the fractional difference between sample point y2 and the center point X, it can be determined that the reliability (a) of sample point y1 is less than the reliability (b) of sample point y2. In the symmetric model, the maximum change in reliability may occur due to the maximum change in the fraction of the gradient direction of the center point X, and the narrowest gap between contour lines can be determined.
[0102] (3) Asymmetric Model
[0103] exist Figure 6In the asymmetric model, the reliability distribution is represented by atypical contour lines around the center point X. In the asymmetric model, a gradient G3 can be set at the center point X. Here, gradient G3 can refer to the direction in which the fraction changes most drastically around the center point X (in the case of G3(+), the fraction increases, and in the case of G3(-), the fraction decreases). Unlike the symmetric model, in the asymmetric model, high reliability can be set for the direction of the drastically increasing fraction (the direction of the positive (+) gradient). Low reliability can be set for the direction of the negative (-) gradient, which is opposite to the direction of the positive (+) gradient.
[0104] With an asymmetric model, a sharp increase in score can indicate high reliability due to the high probability of being classified into a class. Therefore, the reliability of a sample point can be determined to increase as it approaches gradient G3(+). Conversely, the reliability of a sample point can be determined to decrease as its score decreases most significantly as it approaches gradient G3(-).
[0105] In other words, in asymmetric models, reliability can be determined differently depending on whether sample points located at the same distance from the center point X are close to the gradient direction. Asymmetric models can consider reliability based on the score of the target point.
[0106] In the asymmetric model, it can be assumed that sample points y1 and y2 are equidistant from the center point X. Here, the fraction difference between sample point y1 and the center point X, which lies closer to the center point X along gradient G3, is greater than the fraction difference between sample point y2 and the center point X. Therefore, it can be determined that the reliability (a) of sample point y1 is greater than the reliability (b) of sample point y2. Furthermore, in the asymmetric model, the minimum change in reliability can be determined due to the maximum change in the fraction along the gradient G3(+) direction of the center point X.
[0107] When a sample point is close to gradient G3(+), even if the sample point is at the same distance from the center point X, the reduction in reliability from the center point X can be reduced. Therefore, the widest gap between contour lines can be determined in the direction of gradient G3(+) in the asymmetric model. However, when a sample point is close to gradient G3(-), even if the sample point is at the same distance from the center point X, the reduction in reliability from the center point X can be increased. Therefore, in the asymmetric model, the narrowest gap between contour lines can be determined in the direction of gradient G3(-).
[0108] Figure 7 This is a flowchart illustrating an example of the process of training and validating a neural network.
[0109] In operation 701, the computing device can train the classification neural network 101 based on the training data.
[0110] In operation 702, the computing device can control the intermediate output value of the classification neural network 101 to be input into the verification neural network 102. The intermediate output value of the classification neural network 101 can be the output value of a hidden layer or the output value of at least two hidden layers predetermined when training data passes through the hidden layers included in the classification neural network 101.
[0111] In operation 703, it is verified that neural network 102 can receive intermediate output values from classification neural network 101.
[0112] In operation 704, the computing device can train and validate neural network 102 based on the reliability model and intermediate output values of the training data.
[0113] The computing device can use the intermediate output values of the classification neural network 101 to determine the reliability model, specify the reliability of the sample data to be used to train the validation neural network 102, and can train the validation neural network 102 based on the determined reliability model and the sample data.
[0114] Here, the reliability model can randomly generate multiple sample points around the center point corresponding to the intermediate output value of the classification neural network 101, and the scores of the sample points can be used to generate them.
[0115] The above has been referenced Figure 6 A reliability model is described.
[0116] Figure 8 This is a flowchart illustrating an example of a process for verifying the reliability of a neural network's classification results for input data. This can be performed using a fully trained classification neural network 101 and a verification neural network 102. Figure 8 The processing.
[0117] In operation 801, the computing device can input the input data to be classified into the classification neural network 101.
[0118] During operation 802, the computing device can output intermediate output values of the classification neural network 101 for the input data.
[0119] In operation 803, the computing device can use the classification neural network 101 to output a classification result of the input data. The classification result can be the final class determined when the input data passes through the final layer of the classification neural network 101. For example, when the input data is an image, the classification result can be one of several classes (e.g., dog, cat, airplane, ship, person, traffic light, vehicle, or bicycle).
[0120] In operation 804, the computing device can input the intermediate output value of the classification neural network 101 for the input data into the verification neural network 102. The intermediate output value of the classification neural network 101 can be the output value of one of the hidden layers included in the classification neural network 101.
[0121] In operation 805, the computing device can use the verification neural network 102 to determine the reliability of the classification results of the input data.
[0122] In operation 806, the computing device can compare the reliability of the classification result of the input data with a predetermined reference value and determine whether to use the classification result of the input data. In one example, when the reliability of the classification result of the input data exceeds the predetermined reference value, the computing device can output the classification result of the input data. In another example, when the reliability of the classification result of the input data is less than the predetermined reference value, the computing device can reject the classification result of the input data or perform another predetermined action.
[0123] The methods described in the above examples can be written into computer executable programs and can be implemented on various recording media (such as magnetic storage media, optical reading media, and digital storage media).
[0124] The various technologies described herein can be implemented in digital electronic circuits, computer hardware, firmware, software, or combinations thereof. These technologies can be implemented as computer program products (i.e., tangibly embodied in an information carrier (e.g., in a machine-readable storage device (e.g., a computer-readable medium) or in a propagating signal) for processing by or controlling the operation of a data processing device (e.g., a programmable processor, a computer, or multiple computers). Computer programs (such as those described above) can be written in any form of programming language (including compiled or interpreted languages) and can be deployed in any form (including as standalone programs or as modules, components, subroutines, or other units suitable for a computing environment). Computer programs can be deployed to be processed on one or more computers at a single site or distributed across multiple sites and interconnected via a communication network.
[0125] As an example, processors suitable for processing computer programs include both general-purpose microprocessors and special-purpose microprocessors, as well as any one or more processors of any kind of digital computer. Typically, the processor receives instructions and data from read-only memory or random access memory, or both. The components of a computer may include at least one processor for executing instructions and one or more memory devices for storing instructions and data. Typically, a computer may also include one or more mass storage devices (e.g., magnetic disks, magneto-optical disks, or optical disks) for storing data, or the computer may be operatively coupled to receive data from or send data to a mass storage device, or both receive data from and send data to a mass storage device. Examples of information carriers suitable for implementing computer program instructions and data include semiconductor memory devices (e.g., magnetic media such as hard disks, floppy disks, and magnetic tapes), optical media such as optical disc read-only memory (CD-ROM) or digital video discs (DVDs)), magneto-optical media such as optical floppy disks, read-only memory (ROM), random access memory (RAM), flash memory, erasable programmable ROM (EPROM), or electrically erasable programmable ROM (EEPROM)). The processor and memory may be supplemented by or incorporated into dedicated logic circuitry.
[0126] In addition, a non-transitory computer-readable medium can be any available medium that can be accessed by a computer, and can include both computer storage media and transmission media.
[0127] Although this specification includes details of several specific examples, these details should not be construed as limiting any invention or scope that can be claimed, but rather as descriptions of features characteristic of specific examples of a particular invention. Specific features described in the context of individual examples in this specification can be combined and implemented in a single example. Conversely, various features described in the context of a single example can be implemented individually or in any suitable sub-combination in multiple examples. Furthermore, although features may operate in a particular combination and may initially be depicted as claimed, in some cases one or more features of the claimed combination can be excluded from the combination, and the claimed combination can be changed into a sub-combination or a modification of the sub-combination.
[0128] Similarly, although the operations are depicted in a specific order in the accompanying drawings, it should not be construed as meaning that the operations must be performed in the depicted specific order or sequential order, or that all the operations shown must be performed to obtain the preferred result. In certain cases, multitasking and parallel processing may be advantageous. Furthermore, it should not be construed as requiring the separation of the various device components of the above examples for all cases, and it should be understood that the above program components and devices can be integrated into a single software product or packaged into multiple software products.
[0129] Furthermore, the examples disclosed in this specification and accompanying drawings are intended only to present specific examples to aid in understanding this disclosure and are not intended to limit the scope of this disclosure. It will be apparent to those skilled in the art that various modifications can be made based on the technical spirit of this disclosure and the disclosed examples.
Claims
1. A computer-implemented classification result verification method, comprising: receiving input data to be classified by a classification neural network, wherein the input data is image data or audio data; outputting, by the classification neural network, an intermediate output value for the input data; outputting, by the classification neural network, a classification result of the input data; receiving, by a verification neural network, the intermediate output value from the classification neural network; and outputting, by the verification neural network, a reliability of the classification result of the input data by the classification neural network based on the intermediate output value, wherein the verification neural network is trained based on the following steps: receiving, from the classification neural network, the intermediate output value for training data and a score of a center point corresponding to the intermediate output value, wherein the intermediate output value for the training data comprises an output value of one of a plurality of hidden layers included in the classification neural network or output values of at least two of the hidden layers; randomly generating, around the center point, a sample point corresponding to sample data; determining a score of the sample point; and training the verification neural network based on the score of the center point and the score of the sample point.
2. The classification result verification method according to claim 1, wherein The intermediate output value for the input data comprises an output value of one of the plurality of hidden layers included in the classification neural network or output values of at least two of the hidden layers.
3. The classification result verification method according to claim 1, wherein The intermediate output value of the classification neural network comprises an output value of a same hidden layer as a hidden layer whose output value is input to the verification neural network when the classification neural network is trained. 4.The classification result verification method of claim 1, further comprising: determining whether to use the classification result of the input data determined by the classification neural network based on the reliability of the classification result of the input data.
5. The classification result verification method according to claim 1, wherein The verification neural network comprises at least five hidden layers.
6. The classification result verification method of claim 1, wherein, The classification neural network comprises at least five hidden layers. 7.A computer-implemented classification result learning method, comprising: receiving training data to be learned by a classification neural network, wherein the training data is image data or audio data; outputting, by the classification neural network, an intermediate output value for the training data and a score of a center point corresponding to the intermediate output value, wherein the intermediate output value comprises an output value of one of a plurality of hidden layers included in the classification neural network or output values of at least two of the hidden layers; receiving, by a verification neural network, the intermediate output value and the score of the center point from the classification neural network; and training the verification neural network based on a reliability model and the intermediate output value for the training data, wherein the verification neural network is trained based on that the verification neural network randomly generates, around the center point, a sample point corresponding to sample data, determines a score of the sample point, and based on the score of the center point and the score of the sample point.
8. The classification result learning method according to Claim 7, wherein The verification neural network is trained using the reliability model based on attribute information of the training data and a distance between the training data and sample data generated from the training data.
9. The classification result learning method according to Claim 7, wherein In the reliability model, the reliability decreases as the distance between the center point corresponding to the training data and the sample point corresponding to the sample data increases.
10. The classification result learning method according to Claim 7, wherein The verification neural network is trained using any one of the following: (i) a first reliability model that determines a reliability of the sample point based on a distance between the sample point corresponding to sample data having similar attributes to the training data and the center point corresponding to the training data; or (ii) a second reliability model that determines the reliability of the sample point based on a distance between the sample point corresponding to sample data having similar attributes to the center point corresponding to the training data and the training data. (ii) a second reliability model that determines reliability of a sample point based on a distance between the sample point corresponding to sample data having attributes similar to the training data and a center point corresponding to the training data and based on a gradient direction of the center point as attribute information of the training data.
11. The classification result learning method according to Claim 7, wherein The verification neural network includes at least five hidden layers.
12. The classification result learning method according to Claim 7, wherein The classification neural network includes at least five hidden layers. 13.A computing device for performing a classification result verification method, the computing device comprising: a processor, wherein the processor is configured to: receive input data to be classified by a classification neural network, wherein the input data is image data or audio data; output, using the classification neural network, an intermediate output value for the input data; output, using the classification neural network, a classification result of the input data; receive, using a verification neural network, the intermediate output value from the classification neural network; and output, using the verification neural network, reliability of the classification result of the input data of the classification neural network based on the intermediate output value, wherein the processor is further configured to: receive, from the classification neural network, an intermediate output value for training data and a score of a center point corresponding to the intermediate output value, wherein the intermediate output value for the training data includes an output value of one hidden layer or output values of at least two hidden layers included in the classification neural network; randomly generate, around the center point, a sample point corresponding to sample data; determine a score of the sample point; and train the verification neural network based on the score of the center point and the score of the sample point.
14. The computing device of claim 13, wherein, The intermediate output value for the input data includes an output value of one hidden layer or output values of at least two hidden layers included in the classification neural network when the input data is input to the classification neural network.
15. The computing device of claim 13, wherein, The intermediate output value of the classification neural network includes an output value of the same hidden layer as the hidden layer of the intermediate output value input to the verification neural network when the classification neural network is trained.
16. The computing device of claim 13, wherein, The processor is configured to determine whether to use the classification result of the input data determined by the classification neural network based on the reliability of the classification result of the input data.
17. The computing device of claim 13, wherein, The verification neural network includes at least five hidden layers.
18. The computing device of claim 13, wherein, The classification neural network includes at least five hidden layers. 19.A computing device comprising: a classification neural network configured to receive input data, output a classification result of the input data, and output an intermediate output value in a process of deriving the classification result; and a verification neural network configured to receive the intermediate output value from the classification neural network and output reliability of the classification result, wherein the input data is image data or audio data, wherein the verification neural network is trained based on the following steps: receiving, from the classification neural network, an intermediate output value for training data and a score of a center point corresponding to the intermediate output value, wherein the intermediate output value for the training data includes an output value of one hidden layer or output values of at least two hidden layers included in the classification neural network; randomly generating, around the center point, a sample point corresponding to sample data; determining a score of the sample point; and training the verification neural network based on the score of the center point and the score of the sample point. 20. The computing device of claim 19, wherein, The classification neural network is a convolutional neural network (CNN).
21. The computing device of claim 20, wherein, The classification neural network includes at least five hidden layers.
22. The computing device of claim 19, wherein, The validation neural network is a convolutional neural network.
23. The computing device of claim 22, wherein, The validation neural network includes at least five hidden layers.
24. The computing device of claim 19, wherein, The computing device is configured to determine whether to use the classification result based on the reliability output by the validation neural network.
25. The computing device of claim 19, wherein, The classification neural network includes an input layer, an output layer, and a plurality of hidden layers, and the intermediate output value is an output value of a hidden layer closer to the output layer than the input layer.