Inference model
The proposed inference model addresses the challenge of maintaining inference performance and facilitating training by updating label-related coefficients during conversion, enhancing consistency and accuracy across different domains.
Patent Information
- Application Number
- JP2025225924
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-03-18
- Filing Date
- 2025-12-03
- Publication Date
- 2026-02-25
AI Technical Summary
Existing technologies face challenges in maintaining inference performance consistency and facilitating training progression when converting an inference model from floating-point to fixed-point representation, and optimizing batch normalization layers across different domains.
An inference model with a first coefficient reflecting domain features and a second coefficient reflecting label features, where the second coefficient is updated during training when the first coefficient reaches convergence, to improve agreement between pre- and post-conversion inference results.
Enhances the consistency and accuracy of inference results by promoting convergence of the second coefficient, thereby improving the agreement between the original and converted inference models.
Smart Images

Figure 2026032248000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to inference models. [Background technology]
[0002] There is a technique for converting an inference model in floating-point representation into an inference model in fixed-point representation based on the computational resources and performance specifications of a system (see Patent Document 1).
[0003] In addition, when data acquired in different environments (domains) is input into an inference model, there is a technology that reduces differences in inference performance by using statistical values calculated in advance for each domain as statistical values used to normalize the batch normalization layer included in the inference model (see non-patent document 1). [Prior art documents] [Patent documents]
[0004] [Patent Document 1] US Patent Application Publication No. 2016 / 0328644 [Non-patent literature]
[0005] [Non-Patent Document 1] Yanghao Li et al., Revisiting Batch Normalization For Practical Domain Adaptation, ArXiv: 1603.04779, 2016 Summary of the Invention [Problem to be solved by the invention]
[0006] However, when converting an inference model, the technology disclosed in Patent Document 1 above has the problem that, even if inference performance is maintained, differences may arise between the inference results based on the converted inference model and the inference results based on the inference model before conversion.
[0007] Furthermore, the technology disclosed in the above-mentioned non-patent document 1 has the problem that, depending on the change in the domain, optimizing the statistical values used to normalize the BN layer can make it difficult to simultaneously optimize other coefficients included in the inference model, which can prevent training by machine learning processing from progressing.
[0008] Therefore, the present invention provides an inference model that improves the degree of agreement between inference results based on an inference model before conversion and inference results based on an inference model after conversion. [Means for solving the problem]
[0009] An inference model according to one embodiment of the present invention is a second inference model used in an information processing system, the second inference model including a first coefficient and a second coefficient, the first coefficient being a coefficient of a BN (Batch Normalization) layer, the coefficient of the BN layer reflecting features related to the domain of the input data, the second coefficient reflecting features related to the label of the input data, and when the coefficient of the BN layer reaches a state related to convergence, the second coefficient reflecting the features related to the label is used as a target for update and training.
[0010] These comprehensive or specific aspects may be realized as a system, device, integrated circuit, computer program, or computer-readable recording medium such as a CD-ROM, or may be realized as any combination of a system, device, integrated circuit, computer program, and recording medium. [Effects of the Invention]
[0011] The inference model of the present invention can improve the degree of agreement between the inference results based on the inference model before conversion and the inference results based on the inference model after conversion. [Brief explanation of the drawings]
[0012] [Figure 1]FIG. 1 is a block diagram showing a configuration of an information processing system according to the first embodiment. [Figure 2] FIG. 2 is an explanatory diagram showing in detail the inference model possessed by the information processing system according to the first embodiment. [Figure 3] FIG. 3 is an explanatory diagram showing the training phases in the information processing system according to the first embodiment. [Figure 4] FIG. 4 is a flowchart showing the processing of the information processing system according to the first embodiment. [Figure 5] FIG. 5 is a block diagram showing the configuration of the inference system according to the first embodiment. [Figure 6] FIG. 6 is a flowchart showing the processing of the inference system according to the first embodiment. [Figure 7] FIG. 7 is an explanatory diagram showing the matching performance of the inference results of the information processing system according to the first embodiment. [Figure 8] FIG. 8 is a block diagram showing a configuration of an information processing system according to a modification of the first embodiment. [Figure 9] FIG. 9 is a block diagram showing a configuration of an information processing system according to the second embodiment. [Figure 10] FIG. 10 is a flowchart showing the processing of the information processing system according to the second embodiment. [Figure 11] FIG. 11 is a block diagram showing a configuration of an information processing system according to the third embodiment. [Figure 12] FIG. 12 is a flowchart showing the processing of the information processing system according to the third embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0013] (Findings that form the basis of the present invention) The present inventors have found that the inference model conversion technology described in the "Background Art" section has the following problems.
[0014] There is a technology that converts an inference model in floating-point representation into an inference model in fixed-point representation for an embedded environment based on the computational resources and performance specifications of a system (see Patent Document 1).
[0015] An inference model using floating-point representation is generated by, for example, machine learning training using a computer with high-performance computing resources. It is assumed that inference processing using a network using floating-point representation will be executed on a computer with limited computing resources (such as a home appliance or an in-vehicle device).
[0016] It may be difficult to perform arithmetic processing of numbers using floating-point representation on a computer with limited computational resources. Therefore, it is envisioned that an inference model using floating-point representation is converted into an inference model using fixed-point representation, and inference processing using the converted inference model using fixed-point representation is performed on a computer with limited computational resources.
[0017] However, when converting an inference model, even if the inference performance is maintained, there is a problem that a difference may occur between the behavior of the inference model before conversion and the behavior of the converted inference model. In other words, there is a problem that a difference may occur between the inference result based on the converted inference model and the inference result based on the inference model before conversion. Here, inference performance refers to the precision or accuracy of the inference result for the correct answer data, for example, the accuracy rate of the inference result for all the input data. Note that when one input data has multiple inference targets, the inference performance may also be the accuracy rate of the inference result for all the multiple inference targets for one input data.
[0018] In contrast, in the technology disclosed in Non-Patent Document 1, when data (e.g., images) from different environments (also called domains) are input to an inference model during training and inference, statistical values calculated in advance for each domain are used as statistical values to be used for normalizing the batch normalization layer (also called BN layer) included in the inference model. This makes it possible to reduce the difference in inference performance to some extent even if the domains of the input data are different during training and inference.
[0019] However, depending on the domain, optimizing the statistical values used to normalize the BN layer can make it difficult to simultaneously optimize other coefficients included in the inference model, which can prevent training through machine learning from progressing. For example, when converting an inference model in floating-point representation to an inference model in fixed-point representation, changing the statistical values used to normalize the BN layer changes the conversion process, which in turn changes the optimal values of the coefficients included in the inference model, making it difficult to progress with training.
[0020] Therefore, the present invention provides an inference model etc. that improves the degree of agreement between the inference results based on the inference model before conversion and the inference results based on the inference model after conversion.
[0021] In order to solve such problems, an inference model according to one embodiment of the present invention is a second inference model used in an information processing system, the second inference model including a first coefficient and a second coefficient, the first coefficient being a coefficient of a BN (Batch Normalization) layer, the coefficient of the BN layer reflecting features related to the domain of the input data, the second coefficient reflecting features related to the label of the input data, and when the coefficient of the BN layer reaches a state related to convergence, the second coefficient reflecting the features related to the label is used as the target for update and training.
[0022] Furthermore, one aspect of the present invention provides an information processing method in which data is input into a first inference model to obtain a first inference result, the data is input into a second inference model to obtain a second inference result, and the second inference model is trained by machine learning to reduce an error calculated from the first inference result and the second inference result, the second inference model including (a) a first coefficient used for inference by the second inference model, the first coefficient relating to the domain of input data input into the second inference model, and (b) a second coefficient other than the first coefficient used for inference by the second inference model, the training determining whether a predetermined condition related to the convergence of the first coefficient is satisfied, and if it is determined that the predetermined condition is not satisfied, training the second inference model with the first coefficient and the second coefficient as targets for update, and if it is determined that the predetermined condition is satisfied, training the second inference model with only the second coefficient of the first coefficient and the second coefficient as targets for update.
[0023] According to the above aspect, when a first coefficient related to the domain of input data reaches a state related to convergence, the information processing system trains the second inference model by updating the second coefficient instead of the first coefficient. This allows the information processing system to appropriately promote convergence of the second coefficient when the first coefficient reaches a state related to convergence. In this way, the information processing system can improve the degree of agreement between the inference results based on the first inference model and the inference results based on the second inference model.
[0024] For example, in the training, if it is determined that the specified condition is satisfied, the first coefficient may be fixed and the second inference model may be trained.
[0025] According to the above aspect, when a first coefficient related to the domain of input data reaches a state related to convergence, the information processing system trains a second inference model by updating the second coefficient while fixing the first coefficient. This allows the information processing system to appropriately promote convergence of the second coefficient when the first coefficient reaches a state related to convergence. In this way, the information processing system can improve the degree of agreement between the inference results based on the first inference model and the inference results based on the second inference model.
[0026] For example, the first inference model and the second inference model may each be a neural network model.
[0027] According to the above aspect, the information processing system uses neural networks as the first inference model and the second inference model, thereby improving the degree of agreement between the inference results based on the first inference model, which is a neural network, and the inference results based on the second inference model, which is also a neural network.
[0028] For example, the first coefficient may be a coefficient included in a Batch Normalization layer of the second inference model.
[0029] According to the above aspect, the information processing system uses coefficients of the BN layer as the first coefficients. The coefficients of the BN layer may reflect domain-related features of the input data domain and label-related features of the input data. In this case, the second coefficients reflect label-related features of the input data. When the coefficients of the BN layer reach a state related to convergence, the second coefficients reflecting label-related features are updated for training, thereby appropriately promoting convergence of the second coefficients. In this way, the information processing system can further improve the degree of agreement between the inference results based on the first inference model and the inference results based on the second inference model.
[0030] For example, the second inference model may have a quantization unit in front of the Batch Normalization layer that quantizes values input to the Batch Normalization layer.
[0031] According to the above aspect, the information processing system inputs values quantized by the quantization unit to the BN layer, thereby more appropriately applying normalization processing by the BN layer, thereby more appropriately improving the degree of agreement between the inference results based on the first inference model and the inference results based on the second inference model.
[0032] For example, the specified condition may include (a) a condition that the number of consecutive executions of the training of the second inference model, in which the first coefficient and the second coefficient are updated, is greater than a threshold, or (b) a condition that the difference between the current value and the moving average value of the coefficient of the Batch Normalization layer at a point during the training is less than a threshold.
[0033] According to the above aspect, the information processing system can more easily determine when the first coefficient has reached a convergence-related state and train the second inference model, thereby more appropriately improving the degree of agreement between the inference results based on the first inference model and the inference results based on the second inference model.
[0034] For example, the error may include the difference between the first inference result and the second inference result, or the difference between the output result of one of one or more intermediate layers in the first inference model and the output result of one of one or more intermediate layers in the second inference model that corresponds to the one intermediate layer.
[0035] According to the above aspect, when the information processing system generates a second inference model converted from a first inference model using a distillation method, it can more appropriately improve the degree of agreement between the inference results based on the first inference model and the inference results based on the second inference model.
[0036] For example, when the first inference result is input into a discriminant model that outputs discriminant information that determines whether the information input into the discriminant model is the inference result of the first inference model or the inference result of the second inference model, the error may include the difference between the discriminant information about the input first inference result and correct answer information indicating that the information is the inference result of the first inference model; and when the second inference result is input into the discriminant model, the error may include the difference between the discriminant information about the input second inference result and correct answer information indicating that the information is the inference result of the second inference model.
[0037] According to the above aspect, when the information processing system generates a second inference model converted from a first inference model using an adversarial learning method, it can more appropriately improve the degree of agreement between the inference results based on the first inference model and the inference results based on the second inference model.
[0038] For example, the error may include a first error between the first inference result and the second inference result, and the information processing method may further include inputting second data prepared as having an inference result different from the inference result for the first data into the second inference model to obtain a third inference result, and training the second inference model by machine learning in the training so as to reduce the first error and increase the second error calculated from the second inference result and the third inference result.
[0039] According to the above aspect, when the information processing system generates a second inference model converted from a first inference model using a distance learning method, it can more appropriately improve the degree of agreement between the inference results based on the first inference model and the inference results based on the second inference model.
[0040] Moreover, an information processing system according to one aspect of the present invention is an information processing system comprising: a first inference unit that inputs data into a first inference model and obtains a first inference result; a second inference unit that inputs the data into a second inference model and obtains a second inference result; and a training unit that trains the second inference model by machine learning so as to reduce an error calculated from the first inference result and the second inference result, wherein the second inference model includes (a) a first coefficient used for inference by the second inference model, the first coefficient being related to the domain of the input data input to the second inference model; and (b) a second coefficient other than the first coefficient that is used for inference by the second inference model, and the information processing system is also provided with a control unit that controls the training unit to (a) determine whether a predetermined condition related to the convergence of the first coefficient is satisfied during the training, and (b) if it determines that the predetermined condition is not satisfied, train the second inference model by updating the first coefficient and the second coefficient, and (c) if it determines that the predetermined condition is satisfied, train the second inference model by updating only the second coefficient of the first coefficient and the second coefficient.
[0041] According to the above aspect, the same effects as those of the above information processing method are achieved.
[0042] A program according to one aspect of the present invention is a program that causes a computer to execute the information processing method described above.
[0043] According to the above aspect, the same effects as those of the above information processing method are achieved.
[0044] These comprehensive or specific aspects may be realized as a system, device, integrated circuit, computer program, or computer-readable recording medium such as a CD-ROM, or may be realized as any combination of a system, device, integrated circuit, computer program, or recording medium.
[0045] Hereinafter, the embodiments will be specifically described with reference to the drawings.
[0046] The embodiments described below are all comprehensive or specific examples. The numerical values, shapes, materials, components, component placement and connection configurations, steps, and step order shown in the following embodiments are merely examples and are not intended to limit the present invention. Furthermore, among the components in the following embodiments, components that are not described in the independent claims that represent the highest concepts are described as optional components.
[0047] (Embodiment 1) In this embodiment, an information processing method and an information processing system that improve the degree of agreement between the inference results based on the inference model before conversion and the inference results based on the inference model after conversion will be described.
[0048] Fig. 1 is a block diagram showing the configuration of an information processing system 10 according to this embodiment. Fig. 2 is an explanatory diagram showing in detail an inference model possessed by the information processing system 10 according to this embodiment. Note that Fig. 2 omits the illustration of a portion of the information processing system 10.
[0049] The information processing system 10 is a system that generates a second inference model converted from a first inference model. Here, the first inference model corresponds to the inference model before conversion, and the second inference model corresponds to the inference model after conversion. The information processing system 10 improves the degree of agreement between the inference results based on the inference model before conversion and the inference results based on the inference model after conversion.
[0050] There are various known methods for generating a second inference model converted from a first inference model, such as distillation, adversarial learning, metric learning, etc. In this embodiment, an example will be described in which a second inference model converted from a first inference model is generated using the distillation method.
[0051] 1, an information processing system 10 includes an acquisition unit 11, a first inference unit 12, a second inference unit 13, an error calculation unit 14, a training unit 15, and a control unit 16. Each of the first inference unit 12, the second inference unit 13, the error calculation unit 14, the training unit 15, and the control unit 16 can be realized by a processor (e.g., a CPU (Central Processing Unit)) executing a predetermined program using a memory. The acquisition unit 11, the first inference unit 12, the second inference unit 13, the error calculation unit 14, the training unit 15, and the control unit 16 may be included in a single device, or may be distributed across multiple devices that are connected to each other so as to be able to communicate with each other.
[0052] The acquisition unit 11 acquires images from the training image set 5 and provides the acquired first data to the first inference unit 12 and the second inference unit 13. The training images 5 are a group of data used to train the second inference model by the information processing system 10, and may be stored in a storage device provided in the information processing system 10, or in a storage device provided in a device external to the information processing system 10.
[0053] The first inference unit 12 has a first inference model, inputs the image acquired by the acquisition unit 11 to the first inference model, performs inference processing on the input image based on the first inference model, and acquires an inference result (also referred to as a first inference result). The first inference unit 12 acquires the acquired inference result (for example, Logits f R (x)) is provided to the error calculation unit 14. Inference is, for example, recognizing an object appearing in an image. The first inference model is, for example, an inference model that has been trained in advance by machine learning. The first inference model is, for example, a neural network model (see FIG. 2), and more specifically, an inference model in 32-bit floating-point representation, but is not limited to this.
[0054] It should be noted that, instead of an input image, data in any format (for example, data representing sound or text) can also be used. The same applies hereinafter.
[0055] The second inference unit 13 has a second inference model, inputs the image acquired by the acquisition unit 11 to the second inference model, performs inference processing based on the second inference model on the input image, and acquires an inference result (also referred to as a second inference result). The second inference unit 13 acquires the acquired inference result (for example, Logits f Q (x)) is provided to the error calculation unit 14. The second inference model is initially in an initial state (for example, a state in which initial values are set as coefficients) and is an inference model trained by machine learning in the information processing system 10.
[0056] The second inference model includes coefficients used for inference by the second inference model, including coefficients related to the domain of the image input to the second inference model (corresponding to first coefficients) and coefficients other than the first coefficients (corresponding to second coefficients).The second coefficients can also be said to be coefficients related to the labels as inference results by the second inference model.
[0057] The second inference model is assumed to be an inference model that is lighter than the first inference model. More specifically, an inference model that is lighter than the first inference model means an inference model that has fewer intermediate layers than the first inference model, an inference model that has fewer coefficients than the first inference model, or an inference model that uses fewer bits to represent coefficients than the first inference model.
[0058] The second inference model is, for example, a neural network model (see Figure 2). More specifically, if the first inference model is an inference model with 32-bit floating-point representation, the second inference model is an inference model with 8-bit fixed-point representation. In this case, the first coefficient is a coefficient included in the BN layer of the second inference model. Note that the second inference model may have a quantization unit before the BN layer that quantizes values input to the BN layer.
[0059] The second inference model, which is a neural network model, has a ConV (Convolution) layer, a ReLU (Rectified Linear Unit) layer, an Avgpool (Average Pool) layer, and a FC (Fully Connected) layer in addition to the BN layer (see Figure 2).
[0060] The error calculation unit 14 acquires the first inference result acquired by the first inference unit 12 and the second inference result acquired by the second inference unit 13, and calculates an error from the first inference result and the second inference result. Specifically, the error calculation unit 14 calculates an error from a predetermined error function L(f R (x),f Q (x)) is used to calculate the error between the first inference result and the second inference result (see FIG. 2). The error calculated by the error calculation unit 14 may be the difference between the first inference result and the second inference result. Furthermore, the error calculated by the error calculation unit 14 may be the difference between the output result of one of the one or more intermediate layers in the first inference model and the output result of one of the one or more intermediate layers in the second inference model that corresponds to the one intermediate layer.
[0061] The training unit 15 trains the second inference model through machine learning using the error calculated by the error calculation unit 14. Specifically, the training unit 15 trains the second inference model through machine learning, in principle, to reduce the error calculated by the error calculation unit 14. Training the second inference model includes adjusting and updating the coefficients of the second inference model so as to make the inference results by the second inference model appropriate. Furthermore, the training unit 15 performs the training under the control of the control unit 16. For example, when the training unit 15 receives from the control unit 16 a specification of coefficients to be updated in the training, the training unit 15 updates the specified coefficients without updating the unspecified coefficients (in other words, prohibits updating). That is, in the above case, the training unit 15 fixes the unspecified coefficients and updates the specified coefficients.
[0062] The control unit 16 controls the training by the training unit 15. The control unit 16 determines whether a predetermined condition indicating convergence of the coefficients included in the second inference model is satisfied. If the control unit 16 determines that the predetermined condition is not satisfied, it causes the training unit 15 to train the second inference model, with all coefficients included in the second inference model being updated. On the other hand, if the control unit 16 determines that the predetermined condition is satisfied, it causes the training unit 15 to train the second inference model, with only the second coefficient among the coefficients included in the second inference model being updated. More specifically, if the control unit 16 determines that the predetermined condition is satisfied, it fixes the first coefficient and causes the training unit 15 to train the second inference model.
[0063] The predetermined condition may include, for example, a condition that the number of consecutive executions of training of the second inference model, in which all coefficients included in the second inference model are subject to update, is greater than a threshold value. Also, the predetermined condition may include a condition that the difference between the current value and the moving average value of the coefficients of the Batch Normalization layer at the time of training is less than a threshold value.
[0064] FIG. 3 is an explanatory diagram showing the function of the BN layer in the information processing system 10 according to the present embodiment.
[0065] In the inference model (i.e., forward propagation), the BN layer applies normalization processing (generally known as batch normalization processing) to the values input to the BN layer and outputs them to the next layer. The BN layer prevents large changes in the distribution of internal variables, thereby reducing the time required for machine learning training and suppressing overfitting.
[0066] The normalization process by the BN layer in the information processing system 10 differs between the two training phases, Phase 1 and Phase 2. The coefficients of the BN layer are updated in different ways between Phase 1 and Phase 2. The normalization process and coefficient update of the BN layer in each phase will be described below.
[0067] Figure 3(a) shows the processing for the BN layer in Phase 1 training.
[0068] During forward propagation, the second inference unit 13 applies normalization processing to the input values of the BN layer using the current values of the statistics of the input values to the BN layer (so-called batch statistics), and outputs the normalized values to the next layer. The above processing is similar to the training of the BN layer in well-known techniques.
[0069] Furthermore, during forward propagation, the second inference unit 13 calculates a moving average value of the statistical values of the input values to the BN layer. The statistical values of the input values to the BN layer include the mean μ and variance σ of the input values. 2 This includes:
[0070] Moving average of the input values μ t is the average μ calculated from the input value when a new input value is input to the BN layer. B,t (corresponding to the current value) and the average μ before the new input value is entered t-1 is calculated using (Equation 1). α is the average μ t The average μ B,t is a constant that indicates the magnitude of the contribution of the average μ t is updated by (Equation 1) every time an input value is input to the BN layer.
[0071]
number
[0072] Also, the variance of the input values σ 2 t The moving average of is calculated from the input value when a new input value is input to the BN layer. 2 B,t (corresponding to the current value) and the variance σ before the new input value is entered 2 t-1 It is calculated using (Equation 2) using α, which is the same as α in (Equation 1) above. Variance σ 2 t is updated by (Equation 2) every time an input value is input to the BN layer.
[0073]
number
[0074] Also, during Phase 1 training, the coefficients of the BN layer are subject to update along with the coefficients of other layers included in the inference model.
[0075] Figure 3(b) shows the processing for the BN layer during training in Phase 2.
[0076] During forward propagation, the second inference unit 13 applies normalization processing to the input values of the BN layer using the moving average value of the statistical values of the input values to the BN layer at the start of training in Phase 2, and outputs them to the next layer.
[0077] In addition, the second inference unit 13 does not update the moving average value of the statistical values of the input values to the BN layer during forward propagation (in other words, the moving average value is fixed or the update of the moving average value is prohibited). In other words, the average μ t is, and variance σ t is fixed and does not change even when an input value is input to the BN layer (see (Equation 3) and (Equation 4)).
[0078]
number
[0079]
number
[0080] Also, in Phase 2 training, the coefficients of the BN layer are fixed, and the coefficients of other layers included in the inference model are subject to update.
[0081] The processing of the information processing system 10 configured as above will be described.
[0082] FIG. 4 is a flow diagram showing the processing of the information processing system 10 in this embodiment.
[0083] In step S101, the first inference unit 12 inputs the image acquired by the acquisition unit 11 into the first inference model, performs inference on the input image using the first inference model, and acquires a first inference result.
[0084] In step S102, the second inference unit 13 inputs the image acquired by the acquisition unit 11 into the second inference model, performs inference on the input image using the second inference model, and acquires a second inference result.
[0085] In step S103, the error calculation unit 14 calculates an error from the first inference result acquired in step S101 and the second inference result acquired in step S102.
[0086] In step S104, the control unit 16 determines whether the number of consecutive training runs in Phase 1 (see step S106) is equal to or less than a predetermined threshold. If it is determined that the number of consecutive runs is equal to or less than the predetermined threshold (Yes in step S104), the process proceeds to step S105. If not (No in step S104), the process proceeds to step S111. The predetermined threshold is a value corresponding to the number of consecutive training runs required for the batch statistics to converge sufficiently. The predetermined threshold is determined as a value corresponding to the number of consecutive training runs required for the batch statistics to converge sufficiently, depending on the processing performance of the computer on which the information processing system 10 is running, the number of pixels or number of input images, and the size of the first inference model or the second inference model (specifically, the number of layers, the number of coefficients, the number of bits representing the coefficients, etc.). The batch statistics are converged sufficiently when, for example, the change in the coefficients when the coefficients are updated is within 1% of their values.
[0087] In step S105, the control unit 16 determines whether the difference between the current value of the coefficient of the BN layer of the second inference model and the moving average value is greater than or equal to a predetermined threshold. If it is determined that the difference between the current value of the coefficient of the BN layer and the moving average value is greater than or equal to the predetermined threshold (Yes in step S105), the process proceeds to step S106; otherwise (No in step S105), the process proceeds to step S111. The predetermined threshold is a value corresponding to a state in which the convergence of the batch statistics has progressed sufficiently, and can be, for example, 1% of the coefficient value.
[0088] In step S106, the training unit 15 uses the error calculated in step S103 to train the second inference model, updating all coefficients of the second inference model.
[0089] In step S107, the training unit 15 determines whether the performance of the second inference model satisfies the required conditions. If it is determined that the required conditions are met (Yes in step S107), the series of processes shown in FIG. 4 is terminated; if not (No in step S107), step S101 is executed again. Whether the performance of the second inference model satisfies the required conditions can be determined, for example, by inputting a test image into the second inference model, for which the label (also called the correct label) that will be output when input to the inference model is known, and determining whether the resulting label output is equal to the correct label.
[0090] In step S111, the control unit 16 shifts the training phase to Phase 2, and proceeds to step S121. The training phase can be changed, for example, by changing an internal variable indicating the training phase. The same applies to the following.
[0091] In steps S121 to S123, the information processing system 10 obtains the first inference result and the second inference result, and calculates the error between the first inference result and the second inference result, similarly to steps S101 to S103.
[0092] In step S124, the control unit 16 determines whether the difference between the current value of the BN layer coefficient and the moving average value is equal to or greater than a predetermined threshold. If it is determined that the difference between the current value of the BN layer coefficient and the moving average value is equal to or greater than the predetermined threshold (Yes in step S124), the process proceeds to step S131; otherwise (No in step S124), the process proceeds to step S125. The predetermined threshold is a value that corresponds to a state in which the convergence of the batch statistics has progressed sufficiently, and can be, for example, 1% of the coefficient value.
[0093] In step S125, the training unit 15 fixes the coefficients of the BN layer of the second inference model and trains the second inference model by updating the other coefficients. Here, "other coefficients" means the coefficients of the second inference model other than the coefficients of the BN layer. The same applies hereinafter.
[0094] In step S126, the training unit 15 determines whether the performance of the second inference model satisfies the required conditions. If it is determined that the required conditions are met (Yes in step S126), the series of processes shown in Figure 4 is terminated; if not (No in step S126), step S121 is executed again.
[0095] In step S131, the control unit 16 shifts the training phase to Phase 1, and proceeds to step S101.
[0096] Note that one of the processes in steps S104 and S105 does not necessarily have to be executed.
[0097] By performing the series of processes shown in FIG. 4, the information processing system 10 can improve the degree of agreement between the inference results based on the inference model before conversion and the inference results based on the inference model after conversion.
[0098] Next, an inference system 100 that performs inference processing using the second inference model trained by the information processing system 10 will be described.
[0099] FIG. 5 is a block diagram showing the configuration of an inference system 100 according to this embodiment.
[0100] The inference system 100 is an information processing system that performs inference on images using a second inference model trained by the information processing system 10.
[0101] As shown in FIG. 5, the inference system 100 includes an acquisition unit 101, an inference unit 102, and an output unit 103.
[0102] The acquisition unit 101 acquires images. The acquisition unit 101 may acquire images via communication from a device external to the inference system 100, or may be equipped with an imaging device and acquire images generated by imaging using the imaging device.
[0103] The inference unit 102 has an inference model, performs inference using the inference model on the image acquired by the acquisition unit 101, and acquires the inference result. The inference model possessed by the inference unit 102 is a second inference model trained by the information processing system 10.
[0104] The output unit 103 outputs the inference result acquired by the inference unit 102. The output unit 103 may output the inference result in any form, for example, by displaying information (such as text or an image) indicating the inference result on a display screen, outputting the information indicating the inference result by voice, or transmitting the information indicating the inference result to a device external to the inference system 100 via communication, but is not limited to these.
[0105] FIG. 6 is a flow diagram showing the processing of the inference system 100 in this embodiment.
[0106] In step S141, the inference unit 102 performs inference using an inference model on the image acquired by the acquisition unit 101, and acquires an inference result.
[0107] In step S142, the output unit 103 outputs the inference result acquired by the inference unit 102 in step S141.
[0108] Through the series of processes shown in FIG. 6, the inference system 100 can perform inference processing using the converted inference model generated by the information processing system 10.
[0109] FIG. 7 is an explanatory diagram showing the matching performance of the inference results of the information processing system 10 according to this embodiment.
[0110] In the graph shown in Figure 7, the horizontal axis indicates the number of epochs, and the vertical axis indicates the degree to which the labels that are the inference results from the second inference model match the labels that are the inference results from the first inference model.
[0111] Figure 7 shows the degree of label consistency for a second inference model generated by training using the information processing system 10 and the degree of label consistency for a second inference model generated by training using related technology. Here, the related technology is a technology for training a second inference model by repeatedly training the second inference model, with all coefficients of the second inference model being updated.
[0112] As shown in Figure 7, the degree of agreement of the labels of the second inference model generated by training using the information processing system 10 and related technology tends to increase with each epoch.
[0113] It can be seen that the degree of consistency of the labels of the second inference model generated by training using the information processing system 10 is higher than the degree of consistency of the labels of the second inference model generated by training using related technology even when the number of epochs is small, and tends to improve further as the number of epochs increases.
[0114] (Modification of the first embodiment) In this modified example, instead of the training unit training the second inference model, a form is described in which the second inference model is obtained by applying a predetermined transformation to the inference model trained by the training unit.
[0115] FIG. 8 is a block diagram showing the configuration of an information processing system 10A in this modified example.
[0116] 8, information processing system 10A includes an acquisition unit 11, a first inference unit 12, a second inference unit 13, an error calculation unit 14, a training unit 15A, a control unit 16, and a conversion unit 17. The acquisition unit 11, the first inference unit 12, the second inference unit 13, the error calculation unit 14, and the control unit 16 are the same as those in the first embodiment.
[0117] Compared to information processing system 10 in the first embodiment, information processing system 10A differs from information processing system 10 in that it includes training unit 15A instead of training unit 15, and in that it includes conversion unit 17. These points will be described in detail.
[0118] The training unit 15A trains the third inference model by machine learning using the error calculated by the error calculation unit 14. Here, the third inference model is an inference model that becomes the second inference model after a predetermined conversion is performed by the conversion unit 17. The third inference model is, for example, a neural network model. More specifically, if the first inference model is an inference model with a 32-bit floating-point representation, the third inference model is an inference model with a 32-bit floating-point representation similar to the first inference model.
[0119] In principle, the training unit 15A trains the third inference model by machine learning so as to reduce the error calculated by the error calculation unit 14. Note that the training unit 15A performs the above training under the control of the control unit 16, just like the training unit 15.
[0120] The conversion unit 17 generates a second inference model by converting the third inference model trained by the training unit 15A. The conversion unit 17 generates a second inference model by performing a predetermined conversion on the third inference model. The predetermined conversion is, for example, converting the representation of coefficients included in the third inference model. More specifically, if the first inference model is an inference model in 32-bit floating-point representation, the predetermined conversion is converting the inference model in 32-bit floating-point representation into an inference model in 8-bit fixed-point representation.
[0121] (Embodiment 2) In this embodiment, an information processing method and an information processing system are described that improve the degree of agreement between inference results based on an inference model before conversion and inference results based on an inference model after conversion. In this embodiment, an example is described in which a second inference model converted from a first inference model is generated using an adversarial learning method.
[0122] FIG. 9 is a block diagram showing the configuration of an information processing system 10B according to this embodiment.
[0123] 9, the information processing system 10B includes an acquisition unit 21, a first inference unit 22, a second inference unit 23, a discrimination unit 24, a discrimination error calculation unit 25, a training unit 26, a control unit 27, and an error calculation unit 28. Note that the error calculation unit 28 is not an essential function.
[0124] The acquisition unit 21 acquires images from the training image 5 and provides the acquired images to the first inference unit 22 and the second inference unit 23.
[0125] The first inference unit 22 has a first inference model, inputs the image acquired by the acquisition unit 21 into the first inference model, performs inference processing based on the first inference model on the input image, and acquires an inference result (also called the first inference result).
[0126] The second inference unit 23 has a second inference model, inputs the image acquired by the acquisition unit 21 into the second inference model, performs inference processing based on the second inference model on the input image, and acquires an inference result (also called a second inference result).
[0127] The discrimination unit 24 has a discrimination model and acquires information (also referred to as discrimination information) indicating whether an inference result input to the discrimination model (first inference result or second inference result) is based on the first inference model or the second inference model. The discrimination model is, for example, a neural network model.
[0128] The discrimination error calculation unit 25 calculates the error between the discrimination information acquired by the discrimination unit 24 and the correct answer information. The discrimination error calculation unit 25 calculates the error between the inference result acquired by the first inference unit 22 or the second inference unit 23 and the discrimination information acquired by the discrimination unit 24 for the inference result. When the discrimination error calculation unit 25 acquires the inference result acquired by the first inference unit 22, the error calculated by the discrimination error calculation unit 25 includes the error between the inference result acquired by the first inference unit 22 and the correct answer information indicating that the input inference result is an inference result based on the first inference model. When the discrimination error calculation unit 25 acquires the inference result acquired by the second inference unit 23, the error calculated by the discrimination error calculation unit 25 includes the error between the inference result acquired by the second inference unit 23 and the correct answer information indicating that the input inference result is an inference result based on the second inference model.
[0129] The training unit 26 trains the second inference model through machine learning using the error calculated by the discrimination error calculation unit 25. Specifically, the training unit 26 trains the second inference model through machine learning, in principle, so as to reduce the error calculated by the discrimination error calculation unit 25. Furthermore, the training unit 26 performs the training under the control of the error calculation unit 28. For example, when the training unit 26 receives a specification from the error calculation unit 28 of coefficients to be updated in the training, the training unit 26 updates the specified coefficients without updating the unspecified coefficients (in other words, prohibits updating). That is, in the above case, the training unit 26 fixes the unspecified coefficients and updates the specified coefficients.
[0130] The control unit 27 controls the training by the training unit 26. The control unit 27 determines whether a predetermined condition indicating convergence of the coefficients included in the second inference model is satisfied. If the control unit 27 determines that the predetermined condition is not satisfied, it causes the training unit 26 to train the second inference model, with all coefficients included in the second inference model being updated. On the other hand, if the control unit 27 determines that the predetermined condition is satisfied, it causes the training unit 26 to train the second inference model, with only the second coefficient among the coefficients included in the second inference model being updated. More specifically, if the training unit 26 determines that the predetermined condition is satisfied, it fixes the first coefficient and causes the training unit 26 to train the second inference model. The above predetermined condition is the same as the predetermined condition used by the control unit 16 in embodiment 1.
[0131] The error calculation unit 28 is a functional unit that acquires the first inference result and the second inference result and calculates an error from the first inference result and the second inference result, and is similar to the error calculation unit 14 in embodiment 1. The error calculation unit 28 provides the calculated error to the training unit 26. In this case, the training unit 26 further uses the error provided by the error calculation unit 28 to train the second inference model by machine learning. Specifically, the training unit 26 trains the second inference model by machine learning so as to reduce the error calculated by the error calculation unit 28 in addition to the error calculated by the discrimination error calculation unit 25.
[0132] FIG. 10 is a flow diagram showing the processing of the information processing system 10B in this embodiment.
[0133] In step S201, the first inference unit 22 inputs the image acquired by the acquisition unit 21 into the first inference model, performs inference on the input image using the first inference model, and acquires a first inference result.
[0134] In step S202, the second inference unit 23 inputs the image acquired by the acquisition unit 21 into the second inference model, performs inference on the input image using the second inference model, and acquires a second inference result.
[0135] In step S203, the discrimination unit 24 inputs the first inference result acquired in step S201 into the discrimination model and acquires discrimination information indicating whether the input inference result is based on the first inference model or the second inference model. The discrimination unit 24 also inputs the second inference result acquired in step S202 into the discrimination model and acquires discrimination information indicating whether the input inference result is based on the first inference model or the second inference model.
[0136] In step S204, the discrimination error calculation unit 25 calculates the error between the discrimination information acquired in step S203 for the first inference result and the correct answer information indicating that the inference result input to the discriminant model is an inference result based on the first inference model. Also, the discrimination error calculation unit 25 calculates the error between the discrimination information acquired in step S203 for the second inference result and the correct answer information indicating that the inference result input to the discriminant model is an inference result based on the second inference model.
[0137] In step S205, the training unit 26 updates the coefficients of the discriminant model using the errors calculated in step S204.
[0138] In step S206, the second inference unit 23 inputs an image into the second inference model, performs inference on the input image using the second inference model, and obtains a second inference result.
[0139] In step S207, the discrimination error calculation unit 25 calculates the error between the second inference result obtained in step S206 and the correct answer information indicating that the inference result input into the discrimination model is an inference result based on the first inference model.
[0140] In step S208, the control unit 27 determines whether the number of consecutive executions of the training in phase 1 (see step S210) is equal to or less than a predetermined threshold. If it is determined that the number of consecutive executions is equal to or less than the threshold (Yes in step S208), the process proceeds to step S209; otherwise (No in step S208), the process proceeds to step S221. The predetermined threshold is the same as in step S104 in the first embodiment.
[0141] In step S209, the control unit 27 determines whether the difference between the current value of the coefficient of the BN layer of the second inference model and the moving average value is greater than or equal to a predetermined threshold. If it is determined that the difference between the current value of the coefficient of the BN layer and the moving average value is greater than or equal to the predetermined threshold (Yes in step S209), the process proceeds to step S210; otherwise (No in step S209), the process proceeds to step S221. The predetermined threshold is the same as in step S105 of the first embodiment.
[0142] In step S210, the training unit 26 uses the error calculated in step S207 to train the second inference model, updating all coefficients of the second inference model.
[0143] In step S211, the training unit 26 determines whether the performance of the second inference model satisfies the required conditions. If it is determined that the required conditions are met (Yes in step S211), the series of processes shown in Figure 10 is terminated; if not (No in step S211), step S201 is executed again.
[0144] In step S221, the control unit 27 shifts the training phase to phase 2, and proceeds to step S231.
[0145] In steps S231 to S237, the information processing system 10B, similar to steps S201 to S207, obtains the first inference result and the second inference result, updates the coefficients of the discriminant model using the error between the discriminant information and the correct answer information for the first inference result and the second inference result, and calculates the error between the second inference result and the correct answer information.
[0146] In step S238, the control unit 27 determines whether the difference between the current value of the coefficient of the BN layer of the second inference model and the moving average value is greater than or equal to the threshold. If it is determined that the difference between the current value of the coefficient of the BN layer and the moving average value is greater than or equal to the threshold (Yes in step S238), proceed to step S251; otherwise (No in step S238), proceed to step S239. The threshold is the same as the threshold in step S124 in embodiment 1.
[0147] In step S239, the training unit 26 trains the second inference model by fixing the coefficients of the BN layer of the second inference model and updating the other coefficients.
[0148] In step S240, the training unit 26 determines whether the performance of the second inference model satisfies the required conditions. If it is determined that the required conditions are met (Yes in step S240), the series of processes shown in Figure 10 is terminated; if not (No in step S240), step S231 is executed again.
[0149] In step S251, the control unit 27 shifts the training phase to Phase 1, and proceeds to step S201.
[0150] Note that one of the processes in steps S208 and S209 does not necessarily have to be executed.
[0151] By performing the series of processes shown in FIG. 10, the information processing system 10B can improve the degree of agreement between the inference results based on the inference model before conversion and the inference results based on the inference model after conversion.
[0152] In addition, instead of the training unit 26 training the second inference model as in the modified example of embodiment 1, it is also possible to obtain the second inference model by having the conversion unit 17 perform a predetermined conversion on the inference model trained by the training unit 26.
[0153] (Embodiment 3) In this embodiment, we will explain an information processing method and information processing system that improve the degree of agreement between inference results based on an inference model before conversion and inference results based on an inference model after conversion.In this embodiment, we will explain an example of generating a second inference model converted from a first inference model using a distance learning method.
[0154] FIG. 11 is a block diagram showing the configuration of an information processing system 10C according to this embodiment.
[0155] As shown in FIG. 11, the information processing system 10C includes an acquisition unit 31, a first inference unit 32, a second inference unit 33, a first error calculation unit 34, a second error calculation unit 35, a training unit 36, and a control unit 37.
[0156] The acquisition unit 31 acquires a first image belonging to a first type and a second image belonging to a second type from the training images 5. The acquisition unit 31 provides the acquired first images to the first inference unit 32 and the second inference unit 33, and also provides the acquired second images to the second inference unit 33.
[0157] Here, the type of image refers to the attribute of an image for which the same inference result is output by the inference model. In other words, the first type of image and the second type of image are images prepared so that the inference results of the first type of image and the second type of image are different. For example, the first type of image and the second type of image are images prepared so that the labels that are the inference results of the first type of image and the labels that are the inference results of the second type of image are different.
[0158] The first inference unit 32 has a first inference model, performs inference processing based on the first inference model on the input image, and acquires an inference result. Specifically, the first inference unit 32 performs inference processing based on the first inference model on the first image provided from the acquisition unit 31, and acquires an inference result (also referred to as a first inference result). The first inference unit 32 provides the acquired first inference result to the first error calculation unit 34.
[0159] The second inference unit 33 has a second inference model, and performs inference processing based on the second inference model on the input image to obtain an inference result. Specifically, the second inference unit 33 performs inference processing based on the first inference model on the first image provided from the acquisition unit 31 to obtain an inference result (also referred to as a second inference result). The second inference unit 33 provides the obtained second inference result to the first error calculation unit 34 and the second error calculation unit 35.
[0160] The second inference unit 33 performs inference processing based on the second inference model on the second image provided by the acquisition unit 31, and acquires an inference result (also referred to as a third inference result). The second inference unit 33 provides the acquired third inference result to the second error calculation unit 35.
[0161] The first error calculation unit 34 calculates a first error from the first inference result provided by the first inference unit 32 and the second inference result provided by the second inference unit 33. The method of calculating the first error is the same as the method of calculating the error by the error calculation unit 14 in the first embodiment.
[0162] The second error calculation unit 35 calculates a second error from the second inference result provided by the first inference unit 32 and the third inference result. The method for calculating the second error is the same as the method for calculating the error by the error calculation unit 14 in the first embodiment.
[0163] The training unit 36 trains the second inference model through machine learning using the first error calculated by the first error calculation unit 34 and the second error calculated by the second error calculation unit 35. Specifically, the training unit 36 trains the second inference model through machine learning, in principle, so as to reduce the first error calculated by the first error calculation unit 34 and increase the second error calculated by the second error calculation unit 35. The training unit 36 also performs the training under the control of the control unit 37. For example, when the training unit 36 receives a designation from the control unit 37 of coefficients to be updated in the training, the training unit 36 updates the designated coefficients without updating the undesignated coefficients (in other words, prohibits updating). That is, in the above case, the training unit 36 fixes the undesignated coefficients and updates the designated coefficients.
[0164] The control unit 37 controls the training by the training unit 36. The control unit 37 determines whether a predetermined condition indicating convergence of the coefficients included in the second inference model is satisfied. If the control unit 37 determines that the predetermined condition is not satisfied, it causes the training unit 36 to train the second inference model, with all coefficients included in the second inference model being updated. On the other hand, if the control unit 37 determines that the predetermined condition is satisfied, it causes the training unit 36 to train the second inference model, with only the second coefficient among the coefficients included in the second inference model being updated. More specifically, if the control unit 37 determines that the predetermined condition is satisfied, it fixes the first coefficient and causes the control unit 37 to train the second inference model. The above predetermined condition is the same as the predetermined condition used by the control unit 16 in embodiment 1.
[0165] FIG. 12 is a flowchart showing the processing of the information processing system 10C in this embodiment.
[0166] In step S301, the first inference unit 32 inputs the first image acquired by the acquisition unit 31 into the first inference model, performs inference on the input first image using the first inference model, and acquires a first inference result.
[0167] In step S302, the second inference unit 33 inputs the first image acquired by the acquisition unit 31 into the second inference model, performs inference on the input first image using the second inference model, and acquires a second inference result.
[0168] In step S303, the second inference unit 33 inputs the second image acquired by the acquisition unit 31 into the second inference model, performs inference on the input second image using the second inference model, and acquires a third inference result.
[0169] In step S304, the first error calculation unit 34 calculates a first error from the first inference result acquired in step S301 and the second inference result acquired in step S302.
[0170] In step S305, the first error calculation unit 34 calculates a second error from the second inference result acquired in step S302 and the third inference result acquired in step S303.
[0171] In step S306, the control unit 37 determines whether the number of consecutive executions of the training in phase 1 (see step S308) is equal to or less than a predetermined threshold. If it is determined that the number of consecutive executions is equal to or less than the threshold (Yes in step S306), the control unit 37 proceeds to step S307; otherwise (No in step S306), the control unit 37 proceeds to step S321. The predetermined threshold is the same as in step S104 in the first embodiment.
[0172] In step S307, the control unit 37 determines whether the difference between the current value of the coefficient of the BN layer of the second inference model and the moving average value is greater than or equal to a predetermined threshold. If it is determined that the difference between the current value of the coefficient of the BN layer and the moving average value is greater than or equal to the predetermined threshold (Yes in step S307), the process proceeds to step S308; otherwise (No in step S307), the process proceeds to step S321. The predetermined threshold is the same as in step S105 of embodiment 1.
[0173] In step S308, the training unit 36 uses the first error calculated in step S304 and the second error calculated in step S305 to train the second inference model, updating all coefficients of the second inference model.
[0174] In step S309, the training unit 36 determines whether the performance of the second inference model satisfies the required conditions. If it is determined that the required conditions are met (Yes in step S309), the series of processes shown in Figure 12 is terminated; if not (No in step S309), step S301 is executed again.
[0175] In step S321, the control unit 37 shifts the training phase to phase 2, and proceeds to step S331.
[0176] In steps S331 to S335, the information processing system 10C obtains the first inference result, the second inference result, and the third inference result, and calculates the first error and the second error, similarly to steps S301 to S305.
[0177] In step S336, the control unit 37 determines whether the difference between the current value of the coefficient of the BN layer of the second inference model and the moving average value is greater than or equal to a predetermined threshold. If it is determined that the difference between the current value of the coefficient of the BN layer and the moving average value is greater than or equal to the predetermined threshold (Yes in step S336), the process proceeds to step S351; otherwise (No in step S336), the process proceeds to step S337. The predetermined threshold is the same as in step S105 of the first embodiment.
[0178] In step S337, the training unit 36 trains the second inference model by fixing the coefficients of the BN layer of the second inference model and updating the other coefficients.
[0179] In step S338, the training unit 36 determines whether the performance of the second inference model satisfies the required conditions. If it is determined that the required conditions are met (Yes in step S338), the series of processes shown in Figure 12 is terminated; if not (No in step S338), step S331 is executed again.
[0180] In step S351, the control unit 37 shifts the training phase to Phase 1, and proceeds to step S301.
[0181] Note that one of the processes in steps S306 and S307 does not necessarily have to be executed.
[0182] By performing the series of processes shown in FIG. 12, the information processing system 10C can improve the degree of agreement between the inference results based on the inference model before conversion and the inference results based on the inference model after conversion.
[0183] In addition, as in the modified example of embodiment 1, instead of the training unit 36 training the second inference model, it is also possible to obtain the second inference model by having the conversion unit 17 perform a predetermined conversion on the inference model trained by the training unit 36.
[0184] As described above, according to the information processing system of each of the above embodiments, when the first coefficient related to the domain of the input data reaches a state related to convergence, the second inference model is trained by updating the second coefficient, not the first coefficient. This allows the information processing system to appropriately promote convergence of the second coefficient when the first coefficient reaches a state related to convergence. In this way, the information processing system can improve the degree of agreement between the inference results based on the first inference model and the inference results based on the second inference model.
[0185] Furthermore, when a first coefficient related to the domain of the input data reaches a state related to convergence, the information processing system trains the second inference model by updating the second coefficient while fixing the first coefficient. This allows the information processing system to appropriately promote convergence of the second coefficient when the first coefficient reaches a state related to convergence. In this way, the information processing system can improve the degree of agreement between the inference results based on the first inference model and the inference results based on the second inference model.
[0186] In addition, since the information processing system uses neural networks as the first inference model and the second inference model, the degree of agreement between the inference results based on the first inference model, which is a neural network, and the inference results based on the second inference model, which is also a neural network, can be improved.
[0187] Furthermore, the information processing system uses coefficients of the BN layer as the first coefficients. The coefficients of the BN layer may reflect domain-related features of the input data domain and label-related features of the input data. In this case, the second coefficients reflect label-related features of the input data. When the coefficients of the BN layer reach a state related to convergence, the second coefficients reflecting label-related features are used as update targets for training, thereby appropriately promoting convergence of the second coefficients. In this way, the information processing system can further improve the degree of agreement between the inference results based on the first inference model and the inference results based on the second inference model.
[0188] Furthermore, in the information processing system, values quantized by the quantization unit are input to the BN layer, so that normalization processing by the BN layer is more appropriately applied, thereby enabling the information processing system to more appropriately improve the degree of agreement between the inference results based on the first inference model and the inference results based on the second inference model.
[0189] Furthermore, the information processing system can more easily determine when the first coefficient has reached a convergence-related state and train the second inference model, thereby more appropriately improving the degree of agreement between the inference results based on the first inference model and the inference results based on the second inference model.
[0190] In addition, when the information processing system generates a second inference model converted from a first inference model using a distillation method, it can more appropriately improve the degree of agreement between the inference results based on the first inference model and the inference results based on the second inference model.
[0191] In addition, when the information processing system generates a second inference model converted from a first inference model using an adversarial learning method, it can more appropriately improve the degree of agreement between the inference results based on the first inference model and the inference results based on the second inference model.
[0192] In addition, when the information processing system generates a second inference model converted from a first inference model using a distance learning method, it can more appropriately improve the degree of agreement between the inference results based on the first inference model and the inference results based on the second inference model.
[0193] In each of the above embodiments, each component may be configured with dedicated hardware, or may be realized by executing a software program suitable for each component. Each component may be realized by a program execution unit such as a CPU or processor reading and executing a software program recorded on a recording medium such as a hard disk or semiconductor memory. Here, the software that realizes the systems of each of the above embodiments is the following program.
[0194] In other words, this program causes a computer to execute an information processing method that inputs data into a first inference model to obtain a first inference result, inputs the data into a second inference model to obtain a second inference result, and trains the second inference model using machine learning to reduce the error calculated from the first inference result and the second inference result, the second inference model including (a) a first coefficient used for inference by the second inference model, the first coefficient relating to the domain of the input data input to the second inference model, and (b) a second coefficient other than the first coefficient used for inference by the second inference model, the training determining whether a specified condition related to the convergence of the first coefficient is satisfied, and if it is determined that the specified condition is not satisfied, training the second inference model using the first coefficient and the second coefficient as the target for update, and if it is determined that the specified condition is satisfied, training the second inference model using only the second coefficient of the first coefficient and the second coefficient as the target for update.
[0195] Although the information processing method according to one or more aspects has been described based on the embodiments, the present invention is not limited to these embodiments. As long as it does not deviate from the spirit of the present invention, various modifications conceivable by those skilled in the art to the present embodiments, or forms constructed by combining components of different embodiments, may also be included within the scope of one or more aspects. [Industrial Applicability]
[0196] The present invention can be used in an information processing system that converts an inference model. [Explanation of symbols]
[0197] 5 Training images 10, 10A, 10B, 10C Information Processing Systems 11, 21, 31, 101 Acquisition section 12, 22, 32 First reasoning part 13, 23, 33 Second reasoning part 14, 28 Error calculation section 15, 15A, 26, 36 Training Department 16, 27, 37 Control section 17 Conversion section 24 Discrimination part 25 Discrimination error calculation unit 34 First error calculation section 35 Second error calculation section 100 Inference Systems 102 Reasoning part 103 Output section
Claims
1. A second inference model for use in an information processing system, comprising: the second inference model includes first coefficients and second coefficients; The first coefficients are coefficients of a BN (Batch Normalization) layer, and the coefficients of the BN layer reflect characteristics related to the domain of the input data; the second coefficient reflects a feature related to a label of the input data, When the coefficients of the BN layer reach a state related to convergence, the second coefficients reflecting the features related to the label are trained as a target for update. Second inference model.
2. When the training is performed using the second coefficient as a target for updating, The first coefficient is fixed. The second inference model of claim 1.
3. the second inference model is a neural network model; The second inference model of claim 1.
4. The second inference model is The BN layer is A quantization unit is provided in front of the BN layer to quantize the value input to the BN layer. The second inference model of claim 1.
5. The state is (a) A state in which the condition that the number of consecutive executions of the training of the second inference model, in which the first coefficient and the second coefficient are updated, is greater than a threshold value is satisfied, or (b) a state in which a condition is satisfied that a difference between a current value of the coefficient of the BN layer at a time during the training and a moving average value is less than a threshold value; The second inference model of claim 1.
Citation Information
Patent Citations
Adaptive selection of artificial neural networks
US20160328644A1