Information processing device, information processing method, and program
Patent Information
- Application Number
- JP2025064471
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-04-09
- Publication Date
- 2026-10-22
Smart Images

Figure 2026170723000001_ABST
Abstract
Description
Technical Field
[0001] The embodiments disclosed in the present specification and drawings relate to an information processing apparatus, an information processing method, and a program.
Background Art
[0002] Conventionally, in the field of neural networks, a neuron coverage index indicating the firing degree of neurons of an AI (Artificial Intelligence) model caused by inputting test data to the AI model has been used to evaluate the comprehensiveness of the test data.
[0003] However, when the reliability of the neuron coverage index is unknown, the reliability of the comprehensiveness of the test data indicated by the neuron coverage index is also unknown. For this reason, there has been a need to evaluate the reliability of the neuron coverage index.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Patent Document 2
Summary of Invention
Problems to be Solved by the Invention
[0005] One of the problems to be solved by the embodiments disclosed in the present specification and drawings is to evaluate the reliability of a neuron coverage index. However, the problems to be solved by the embodiments disclosed in the present specification and drawings are not limited to the above problem. The problems corresponding to the respective effects of the respective configurations described in the embodiments to be described later can also be positioned as other problems.
Means for Solving the Problems
[0006] The information processing device according to the embodiment comprises a first acquisition unit, a second acquisition unit, a coverage index acquisition unit, and a reliability index acquisition unit. The first acquisition unit acquires test data. It acquires multiple neural network models that have been trained with different numbers of epochs using the same training data. The coverage index acquisition unit acquires a first coverage index based on the firing rate of neurons in multiple models by inputting test data into the multiple models. The reliability index acquisition unit acquires a first reliability index indicating the reliability of the first coverage index based on the changes in the number of epochs of the multiple models. The output unit outputs the acquired first reliability index. [Brief explanation of the drawing]
[0007] [Figure 1] Figure 1 shows an example of the configuration of an information processing device according to an embodiment. [Figure 2] Figure 2 shows an example of a firing curve for test data according to the embodiment. [Figure 3] Figure 3 illustrates a method for generating test data used in an experiment to explain the relationship between the comprehensiveness of the test data and the shape of the firing curve according to the embodiment. [Figure 4] Figure 4 is a schematic diagram illustrating the comprehensiveness of the first test data shown in Figure 3. [Figure 5] Figure 5 is a schematic diagram illustrating the comprehensiveness of the intermediate data shown in Figure 3. [Figure 6] Figure 6 is a schematic diagram illustrating the comprehensiveness of the second test data shown in Figure 3. [Figure 7] Figure 7 shows an example of firing curves for the training data, the first test data, and the second test data shown in Figure 3. [Figure 8] Figure 8 shows an example of firing curves for the training data, the first test data, and the second test data shown in Figure 3, obtained using a different method than that used in Figure 7. [Figure 9]Figure 9 shows an example of a test report displayed on the display according to the embodiment. [Figure 10] Figure 10 is a flowchart showing an example of the test flow according to the embodiment. [Modes for carrying out the invention]
[0008] The following describes in detail embodiments of the information processing apparatus, information processing method, and program with reference to the drawings. In the drawings used in the embodiments, substantially identical or similar components are denoted by the same reference numerals. Duplication of explanation may be omitted or simplified.
[0009] (Embodiment) Figure 1 shows an example of the configuration of the information processing device 100 according to this embodiment. The information processing device 100 is, for example, a computer such as a server or a PC (Personal Computer). The information processing device 100 may be installed in, for example, a medical institution such as a hospital. Alternatively, the information processing device 100 may be built as, for example, a platform provided by a business operator to a user.
[0010] The information processing device 100 includes, for example, a network interface 110, a memory circuit 120, an input interface 130, a display 140, and a processing circuit 150.
[0011] The NW interface 110 is connected to the processing circuit 150 and controls the transmission and communication of various data between the information processing device 100 and external medical information systems, other information processing devices, etc. The NW interface 110 is implemented by a network card, network adapter, NIC (Network Interface Controller), etc.
[0012] The memory circuit 120 stores various types of information used by the processing circuit 150 in advance. The memory circuit 120 also stores various programs. The memory circuit 120 is, for example, a non-volatile storage device such as an HDD (Hard Disk Drive), SSD (Solid State Drive), or integrated circuit memory device that stores various types of information. In addition to HDDs and SSDs, the memory circuit 120 may also be a drive device that reads and writes various types of information to portable storage media such as CDs (Compact Discs), DVDs (Digital Versatile Discs), flash memory, or semiconductor memory elements such as RAM (Random Access Memory). The memory circuit 120 is an example of a storage unit.
[0013] The input interface 130 is implemented by a mouse, keyboard, pen tablet (combining a stylus and tablet that accept user input), trackball, switch buttons, touchpad (for input operations by touching the operating surface), touchscreen (integrating a display screen and touchpad), non-contact input circuit using an optical sensor, and audio input circuit, etc. The input interface 130 may include multiple devices that accept user operations. The input interface 130 is connected to the processing circuit 150 and converts the input operations received from the user into electrical signals and outputs them to the processing circuit 150. In this specification, the input interface is not limited to those equipped with physical operating components such as a mouse or keyboard. For example, an electrical signal processing circuit that receives electrical signals corresponding to input operations from an external input device provided separately from the device and outputs these electrical signals to the processing circuit 150 is also included as an example of an input interface.
[0014] The display 140 displays various types of information under the control of the processing circuit 150. For example, the display 140 outputs a screen including notifications to the user, a GUI (Graphical User Interface) for accepting various operations from the user, and the like. Specifically, the display 140 is a liquid crystal display, a CRT (Cathode Ray Tube) display, or the like. Note that the input interface 130 and the display 140 may be integrated. For example, the input interface 130 and the display 140 may be implemented by a touch panel. Note that the display 140 may be a display device provided outside the information processing apparatus 100. The display 140 is an example of a display unit.
[0015] The processing circuit 150 is a processor that reads a program from the storage circuit 120 and executes it to realize functions corresponding to each program. The processing circuit 150 of the present embodiment includes a reception function 151, a test data acquisition function 152, a model acquisition function 153, a test function 154, a coverage index acquisition function 155, a reliability index acquisition function 156, an analysis function 157, and a display control function 158. The reception function 151 is an example of a reception unit. The test data acquisition function 152 is an example of a test data acquisition unit, a data acquisition unit, an acquisition unit, and a first acquisition unit. The model acquisition function 153 is an example of a model acquisition unit, an acquisition unit, and a second acquisition unit. The test function 154 is an example of a test unit and a test execution unit. The coverage index acquisition function 155 is an example of a coverage index acquisition unit. The reliability index acquisition function 156 is an example of a reliability index acquisition unit. The analysis function 157 is an example of an analysis unit. The display control function 158 is an example of a display control unit and an output unit.
[0016] Here, for example, the processing functions of the processing circuit 150, such as the reception function 151, test data acquisition function 152, model acquisition function 153, test function 154, coverage index acquisition function 155, reliability index acquisition function 156, analysis function 157, and display control function 158, are stored in the memory circuit 120 in the form of programs that can be executed by a computer. The processing circuit 150 is a processor. For example, the processing circuit 150 reads programs from the memory circuit 120 and executes them to realize the functions corresponding to each program. In other words, the processing circuit 150 in the state where each program has been read will have the functions shown in the processing circuit 150 in Figure 1. In Figure 1, the processing functions performed by the reception function 151, test data acquisition function 152, model acquisition function 153, test function 154, coverage index acquisition function 155, reliability index acquisition function 156, analysis function 157, and display control function 158 are explained as being realized by a single processor. However, it is also acceptable to configure the processing circuit 150 by combining multiple independent processors, with each processor executing a program to realize the functions. Furthermore, in Figure 1, the processing circuit 150 is explained as storing programs corresponding to each processing function, but it is also acceptable to distribute multiple memory circuits and configure the processing circuit 150 to read the corresponding programs from individual memory circuits.
[0017] In the above description, an example is described in which a "processor" reads out a program corresponding to each function from a storage circuit and executes the program, but the embodiments are not limited thereto. The term "processor" means, for example, a circuit such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), an Application Specific Integrated Circuit (ASIC), or a programmable logic device (for example, a Simple Programmable Logic Device (SPLD), a Complex Programmable Logic Device (CPLD), and a Field Programmable Gate Array (FPGA)). When the processor is, for example, a CPU, the processor realizes the functions by reading and executing the program stored in the storage circuit. On the other hand, when the processor is an ASIC, instead of storing the program in the storage circuit 120, the relevant functions are directly incorporated as logic circuits within the circuit of the processor. Each processor of the present embodiment is not limited to being configured as a single circuit for each processor, and a plurality of independent circuits may be combined to configure one processor to realize the functions thereof. Furthermore, a plurality of constituent elements in FIG. 1 may be integrated into a single processor to realize the functions thereof.
[0018] The reception function 151 receives various user operations via the input interface 130. For example, the reception function 151 receives a user operation for starting processing of acquiring an index of test data coverage and evaluating the reliability of the index representing the coverage.
[0019] The test data acquisition function 152 acquires test data. The test data acquisition function 152 may acquire clinical data as test data from a medical information system connected to the information processing device 100 via a network, for example. The medical information system may be, for example, an electronic medical record system, a hospital information system (HIS), a laboratory information system (LIS), a radiology information system (RIS), or a medical image storage device. The source of the test data and the content of the test data are not limited to the examples above. The test data acquisition function 152 may store the acquired test data in, for example, a memory circuit 120.
[0020] In this embodiment, a dataset containing multiple samples is referred to as "test data" and "training data," but each sample may also be referred to as "test data" and "training data." In this case, the dataset containing multiple samples is referred to as the "test dataset" and "training dataset."
[0021] The model acquisition function 153 acquires multiple AI (Artificial Intelligence) models of neural networks that have been trained with different numbers of epochs using the same training data. Hereafter, AI models will simply be referred to as models. In this embodiment, although simply referred to as neural networks, various types of neural networks such as Deep Neural Networks (DNN), Convolutional Neural Networks (CNN), Recurrent Neural Networks (RNN), and U-Nets can be used.
[0022] The model in this embodiment is a neural network trained with training data. The neural network is an example of the first model.
[0023] More specifically, the multiple models acquired by the model acquisition function 153 are n models generated by training a neural network on the same training data for 1 to n epochs. In other words, the model acquisition function 153 acquires multiple models trained on the same training data, but with different epoch counts. There is no particular limit to the maximum number of epochs.
[0024] The model acquisition function 153 may store the acquired multiple models, for example, in the memory circuit 120.
[0025] Furthermore, the model acquisition function 153 acquires training data used to train multiple models. The training data is, for example, medical data containing correct labels (annotations), but is not limited to this.
[0026] Furthermore, the test data acquisition function 152 may acquire not only test data but also training data. In this case, the test data acquisition function 152 may be an example of a training data acquisition unit.
[0027] The test function 154 performs tests on multiple models with different epoch counts acquired by the model acquisition function 153. More specifically, the test function 154 inputs test data acquired by the test data acquisition function 152 into the multiple models acquired by the model acquisition function 153, and causes the multiple models to output inference results. Note that the test function 154 may be included in the coverage metric acquisition function 155.
[0028] The coverage index acquisition function 155 calculates and acquires neuron coverage (NC) based on the firing rate of neurons in multiple models by inputting test data into multiple models acquired by the model acquisition function 153. Neuron coverage is one example of an index for evaluating the comprehensiveness (coverage) of test data for neurons in the model under test. A coverage index based on the input of test data is also called a test coverage index. Furthermore, neuron coverage based on the input of test data is one example of the first coverage index. In addition, the calculation of neuron coverage is one example of a method for acquiring neuron coverage, and the coverage index acquisition function 155 may acquire neuron coverage by other methods.
[0029] There are various types of coverage indices that represent the degree of neuronal firing, such as neuron coverage (NC), KMNC (k-multisection neuron coverage), TKNC (top-k neuron coverage), CC (causal coverage), and NLC (Neural Coverage), and any of these may be adopted. In this embodiment, the case in which neuron coverage is adopted as the coverage indices will be explained as an example.
[0030] Furthermore, the coverage index acquisition function 155 calculates and acquires a coverage index based on the firing rate of neurons in multiple models by inputting training data into multiple models acquired by the model acquisition function 153. The coverage index based on the input of training data is also called the base coverage index or reference coverage index. Neuron coverage based on the input of training data is an example of a second coverage index.
[0031] The base coverage index, based on the input training data, is used for comparison with the test coverage index, based on the input test data, when it is displayed on the display 140 by the display control function 158 described later. The coverage index acquisition function 155 only needs to acquire the test coverage index; acquiring the base coverage index is not mandatory.
[0032] The reliability index acquisition function 156 calculates and acquires a reliability index that indicates the reliability of the test coverage index based on the changes in the number of epochs of the test coverage index for multiple models. The calculation of the reliability index is one example of a method for acquiring the reliability index, and the reliability index acquisition function 156 may acquire the reliability index using other methods.
[0033] More specifically, the reliability index acquisition function 156 identifies the trend based on the change in the number of epochs of the test coverage index for multiple models into which test data has been input, by quantifying the shape of the graph where the dependent variable is the value of the test coverage index and the independent variable is the number of epochs. In other words, the reliability index acquisition function 156 acquires a reliability index that indicates the reliability of the test coverage index by quantifying the shape of the graph where the dependent variable is the value of the test coverage index and the independent variable is the number of epochs.
[0034] A graph where the dependent variable is the test coverage metric and the independent variable is the number of epochs is called a learning curve, or firing curve.
[0035] Figure 2 shows an example of a test data firing curve 90 according to this embodiment. As shown in Figure 2, the reliability index acquisition function 156 generates a two-dimensional line graph as the firing curve 90, with the vertical axis representing the coverage index (e.g., Neuron Coverage) and the horizontal axis representing the number of epochs. The two-dimensional line graph is an example of a graph where the dependent variable is the value of the test coverage index and the independent variable is the number of epochs, and the type of graph is not limited to this.
[0036] Generally, test data with low coverage relative to training data is more susceptible to changes in model parameters due to training, making it difficult to uniformly fire neurons. Therefore, the lower the coverage of the test data, the greater the variability in the test coverage metric across multiple models with different epoch counts. Conversely, the higher the coverage of the test data, the smaller the variability in the test coverage metric across multiple models with different epoch counts.
[0037] Therefore, as shown in Figure 2, when test data is plotted with the test coverage index as the dependent variable and the number of epochs as the independent variable (fire curve 90), the shape of the graph becomes more irregular as the test data has lower coverage. Conversely, the shape of the graph becomes smoother as the test data has higher coverage.
[0038] Large variability in test coverage metrics means that even if the test coverage metric is good for one epoch, it may be poor for other epochs. Therefore, with test data that has low coverage, the reliability of the test coverage metric for one epoch (for example, the largest epoch) is low. Note that among multiple models with different epoch counts, the model with the largest epoch count is also called the final model.
[0039] In contrast, a small variation in the test coverage metric values means that if the test coverage metric is good for a given number of epochs, it is highly likely that the test coverage metric will also be good for other number of epochs. Therefore, with highly comprehensive test data, the reliability of the test coverage metric for one particular number of epochs (for example, the largest number of epochs) is high.
[0040] Therefore, the reliability index acquisition function 156 acquires reliability indices such that the higher the irregularity of the firing curve 90, the lower the reliability of the test coverage index. In other words, the reliability index acquisition function 156 acquires reliability indices such that the smoother the firing curve 90, the higher the reliability of the test coverage index.
[0041] In this embodiment, the index that quantifies the irregularity of the firing curve 90 acquired by the reliability index acquisition function 156 is also called the i(irregularity)-index. The i-index is derived, for example, from a Fourier descriptor. The reliability index acquisition function 156 calculates and acquires the i-index by, for example, obtaining the sum of the intensities (amplitudes) of each frequency obtained by Fourier transforming the firing curve 90.
[0042] The i-index indicates the reliability of the coverage metric for the model with the largest number of epochs among multiple models with different epoch counts. The i-index is represented as a positive number between 0 and 1. The closer the i-index is to 0, the more reliable the coverage metric is.
[0043] Furthermore, the method for obtaining the i-index is not limited to Fourier operations; for example, the reliability index acquisition function 156 may obtain the i-index by calculating the curvature of the firing curve 90.
[0044] The i-index is an example of a reliability index in this embodiment. Furthermore, the i-index, which indicates the reliability of the test coverage index, is an example of a first reliability index in this embodiment.
[0045] Furthermore, the reliability index acquisition function 156 also acquires the reliability index of the base coverage index when training data is input to multiple models, in the same way as when test data is input. That is, the reliability index acquisition function 156 acquires an i-index indicating the reliability of the base coverage index based on the change in the number of epochs of the base coverage index of multiple models. The i-index indicating the reliability of the base coverage index is an example of a second reliability index in this embodiment.
[0046] Here, we will explain the relationship between the comprehensiveness of the test data and the shape of the firing curve using Figures 3 to 8.
[0047] Figure 3 illustrates a method for generating test data used in an experiment to explain the relationship between the comprehensiveness of the test data and the shape of the firing curve according to this embodiment.
[0048] In this experiment, we use a first test dataset 30a with 500 samples and a second test dataset 30c with half the coverage of the first test dataset 30a. The second test dataset 30c is obtained by oversampling intermediate data 30b, which is the first test dataset 30a with half the sample size (250), to a total of 500 samples. Gaussian noise may also be added when doubling the sample size of the intermediate data 30b. The first test dataset 30a is also called the full data, and the second test dataset 30c is also called the half data.
[0049] This experiment uses multiple U-Net models with 1 to 12 epochs. These 12 models were trained on the same training data for different numbers of epochs. The IoU of the model with 12 epochs is 0.93. The neural network of the model with 12 epochs has 191 layers and 2946 neurons. These multiple models perform segmentation. The training data used to train the models consists of multiple CT (Computed Tomography) images of the liver, each with a ground truth label indicating the liver region. The first test data 30a also consists of multiple CT images of the liver. The sample size indicates the number of CT images. Note that these specific examples of models and data are examples from this experiment and do not limit the format of the models and data in this embodiment.
[0050] Figure 4 is a schematic diagram illustrating the comprehensiveness of the first test data 30a shown in Figure 3. Figure 5 is a schematic diagram illustrating the comprehensiveness of the intermediate data 30b shown in Figure 3. Figure 6 is a schematic diagram illustrating the comprehensiveness of the second test data 30c shown in Figure 3.
[0051] Figures 4-6 schematically show the distribution of samples contained in each data point within the problem domain 80 that the model targets for estimation. The problem domain 80 that the model targets for estimation is also the distribution range of the model's neurons.
[0052] For example, as shown in Figure 4, the first test data 30a has a large number of samples, and the samples are evenly distributed throughout the problem domain 80. Therefore, the first test data 30a has high coverage of the problem domain 80, and consequently, high coverage of the neurons in the model.
[0053] In contrast, as shown in Figure 5, the intermediate data 30b has half the number of samples as the first test data 30a, resulting in a lower density of sample distribution within the problem domain 80.
[0054] Furthermore, as shown in Figure 6, although the second test data 30c has the same number of samples as the first test data 30a, the sample variation is halved, resulting in a lower density of sample distribution within the problem domain 80. Consequently, the second test data 30c has low coverage of the problem domain 80, and consequently, low coverage of the neurons in the model.
[0055] Figure 7 shows an example of firing curves 91a, 92a, and 93a for the training data shown in Figure 3, the first test data 30a, and the second test data 30c. The line graph in Figure 7 is a two-dimensional line graph with the coverage index on the vertical axis and the number of epochs on the horizontal axis. The bar graph in Figure 7 has the i-index on the vertical axis and the type of dataset on the horizontal axis. The types of datasets are training data (Base), first test data 30a (Full), and second test data 30c (Half).
[0056] Generally, when training data is input, the firing of neurons in a model shows less variability per epoch. Therefore, the i-index value, which indicates the reliability of the base coverage index, becomes smaller.
[0057] As shown in Figure 7, in this experiment as well, the base coverage index of the training data (Base) shows little difference throughout epochs 1 to 12. Therefore, the firing curve 91a of the training data (Base) is smooth.
[0058] Furthermore, although the coverage metric value for the first test data 30a (Full) is smaller than that of the training data, the difference in the coverage metric per epoch is similar to that of the training data. Therefore, the firing curve 92a for the first test data 30a (Full) is as smooth as the firing curve 91a for the training data. Also, in the example shown in the bar graph of Figure 7, the i-index when the training data is input to the model and the i-index when the first test data 30a is input to the model are of similar value.
[0059] In contrast, the second test data 30c (Half) has a smaller coverage index value than the training data and the first test data 30a. Furthermore, the difference in the coverage index per epoch for the second test data 30c is larger than that for the training data and the first test data 30a. As a result, the firing curve 93a of the second test data 30c (Half) has a more irregular shape and lower smoothness than the firing curve 91a of the training data and the firing curve 92a of the first test data 30a. Consequently, in the example shown in the bar graph of Figure 7, the i-index when the second test data 30c is input to the model is larger than the i-index when the training data is input to the model and when the first test data 30a is input to the model. In other words, the reliability of the coverage metric when the second test data 30c is input to the model is lower than the reliability of the coverage metric when the training data is input to the model and when the first test data 30a is input to the model.
[0060] Note that there are various methods for calculating coverage metrics, and the values obtained will differ depending on the method. Therefore, even when using the same model and data, the values of the coverage metrics may differ from those shown in Figure 7.
[0061] For example, Figure 8 shows an example of firing curves 91b, 92b, and 93b for the training data shown in Figure 3, the first test data 30a, and the second test data 30c, obtained using a different method than that used in Figure 7. Figure 8 shows firing curves 91b, 92b, and 93b based on coverage metrics obtained using a different method than that used in Figure 7, as well as a bar graph showing the difference in i-index values for each dataset.
[0062] In Figure 8, the firing curve 93b for the second test data 30c (Half) is more irregular in shape and less smooth than the firing curve 91b for the training data and the firing curve 92a for the first test data 30a. Also, in the bar graph in Figure 8, the i-index when the second test data 30c is input to the model is larger than the i-index when the training data is input to the model and when the first test data 30a is input to the model.
[0063] This experiment confirms that, regardless of the method used to obtain the coverage metric, the less comprehensive the data, the larger the i-index value, and the more comprehensive the data, the smaller the i-index value.
[0064] Returning to Figure 1, the analysis function 157 performs various analyses based on the test data, training data, and i-index.
[0065] For example, the analysis function 157 of this embodiment analyzes at least one of the following: statistical indicators for multiple models, whether or not retraining is necessary for the model with the largest number of epochs among the multiple models, whether or not test data augmentation is necessary, and whether or not test data modification is necessary.
[0066] Statistical metrics for multiple models include, for example, precision metrics such as IoU (Intersection over Union) and AUC (Area Under the Curve) for the model with the largest number of epochs among the multiple models.
[0067] Furthermore, for example, the analysis function 157 may determine that retraining is required if the i-index, which indicates the reliability of the test coverage index obtained by the reliability index acquisition function 156, is above a threshold. Alternatively, the analysis function 157 may determine that retraining is not necessary if the i-index, which indicates the reliability of the test coverage index, is below a threshold.
[0068] Furthermore, for example, the analysis function 157 may determine that test data augmentation is necessary if the i-index, which indicates the reliability of the test coverage index obtained by the reliability index acquisition function 156, is above a threshold. Alternatively, the analysis function 157 may determine that test data augmentation is unnecessary if the i-index, which indicates the reliability of the test coverage index, is below a threshold.
[0069] The thresholds used to determine whether retraining is necessary and whether test data augmentation is necessary may be the same or different. Furthermore, the magnitude of these thresholds is not particularly limited, but may be set by the user depending on the level of reliability required for the test coverage metric, for example.
[0070] Furthermore, for example, the analysis function 157 may determine whether retraining is necessary and whether the training data needs to be augmented by comparing the i-index, which indicates the reliability of the test coverage metric, with the i-index, which indicates the reliability of the base coverage metric. For example, the analysis function 157 may determine that the model needs to be retrained and that the test data needs to be augmented or modified if the difference between the i-index, which indicates the reliability of the test coverage metric, and the i-index, which indicates the reliability of the base coverage metric, is greater than or equal to a threshold. The size of this threshold is not particularly limited, but for example, it may be set by the user according to the required level of reliability for the test coverage metric.
[0071] The display control function 158 outputs an i-index indicating the reliability of the test coverage index obtained by the reliability index acquisition function 156. For example, as a test report showing the test results, the display control function 158 displays on the display 140 at least one of the following: a graph of the firing curve of the test coverage index, statistical indicators for multiple models, whether retraining is necessary for the model with the largest number of epochs among the multiple models, whether test data augmentation is necessary, and whether test data modification is necessary.
[0072] The display control function 158 may, for example, display various analysis results from the analysis function 157 in the test report.
[0073] Figure 9 shows an example of a test report displayed on the display 140 according to this embodiment. In the example shown in Figure 9, the test report includes the name of the model under test, the name of the test data, the name of the training data, indicators showing the reliability of the model such as IoU, the i-index showing the neuron coverage and its reliability for each type of data, the reliability of the neuron coverage based on the input of the test data, the firing curve 91 of the test data, the firing curve 94 of the training data, various warnings, and various suggestions.
[0074] In Figure 9, the display control function 158 displays the test coverage index and the base coverage index on the display 140. The display control function 158 also displays the i-index, which indicates the reliability of the test coverage index, and the i-index, which indicates the reliability of the base coverage index, on the display 140. This allows the user to understand the magnitude of the i-index, which indicates the reliability of the test coverage index, by using the i-index, which indicates the reliability of the base coverage index, as a point of comparison.
[0075] Furthermore, in Figure 9, the display control function 158 displays the reliability of neuron coverage based on the input test data as "Status". The display control function 158 displays whether the reliability of neuron coverage based on the input test data is reliable (high reliability) or unreliable (low reliability), depending on whether the i-index, which indicates the reliability of the test coverage index, is above a threshold. The display control function 158 displays that the i-index, which indicates the reliability of the test coverage index, is unreliable (low reliability). The threshold value used to determine reliable and unreliable is not particularly limited, but may be set by the user.
[0076] Furthermore, in Figure 9, the display control function 158 displays a text message as a warning, indicating that the i-index value, which indicates the reliability of the test coverage metric, is high, and that the reliability of the test coverage metric is low.
[0077] Furthermore, in Figure 9, the display control function 158 displays text messages as suggestions, indicating the ability to enhance and modify test data. The text message portion of the suggestions may also have a function to link to an operation screen where the user can perform the action of enhancing or modifying test data. If the user interacts with each suggestion portion, for example, with the mouse pointer 70, the display control function 158 may display the operation screen on the display 140. Alternatively, the link may be a link to a screen that displays detailed explanations about enhancing and modifying test data.
[0078] In Figure 9, various texts are displayed in English, but the type of language is not particularly limited. Also, while the test report in Figure 9 contains diverse information, the information and output format are not limited to this. For example, the display control function 158 may simply display the test coverage index and the i-index indicating the reliability of the test coverage index on the display 140 in association with each other. Alternatively, as an output method, for example, a method may be adopted in which the test coverage index and the i-index indicating the reliability of the test coverage index are transmitted in association with each other to another information processing device outside the information processing device. In this case, the processing circuit 150 of the information processing device 100 may include a transmission function as an example of a transmission unit.
[0079] Next, we will describe the processing flow of the test performed by the information processing device 100 of this embodiment, which is configured as described above.
[0080] Figure 10 is a flowchart showing an example of the test flow according to the embodiment. The processing in this flowchart starts, for example, when the reception function 151 receives a test start operation from the user.
[0081] First, the test data acquisition function 152 acquires test data from, for example, a medical information system connected to the information processing device 100 via a network (S1).
[0082] Furthermore, the model acquisition function 153 acquires the set of models to be tested (S2). The set of models to be tested consists of multiple neural network models that have been trained with the same training data but with different numbers of epochs. The model acquisition function 153 also acquires the training data used to train the multiple models.
[0083] Then, the test function 154 inputs test data into multiple models under test and outputs inference results (S3).
[0084] The coverage metric acquisition function 155 then acquires the test coverage metric for each of the multiple models under test by inputting test data into each of the multiple models under test (S4). In addition, the coverage metric acquisition function 155 acquires the base coverage metric for each of the multiple models under test by inputting training data into each of the multiple models under test.
[0085] The reliability index acquisition function 156 then generates two line graphs: the firing curve for the test coverage index and the firing curve for the base coverage index (S5).
[0086] Then, the reliability index acquisition function 156 obtains an i-index indicating the reliability of the test coverage index and an i-index indicating the reliability of the base coverage index, respectively, by methods such as performing a Fourier transform on the two line graphs (S6). After this, the analysis function 157 may perform various analysis processes.
[0087] The display control function 158 then displays the reliability indicators of the test coverage metric and the base coverage metric on the display 140 as reliability evaluation results (S7). For example, the display control function 158 may display the test report shown in Figure 9. At this point, the processing of this flowchart ends.
[0088] As described above, the information processing device 100 of this embodiment obtains a test coverage index based on the firing rate of neurons in multiple neural network models, which have been trained with the same training data but with different numbers of epochs, by inputting test data into these multiple models. Based on the change in the test coverage index based on the change in the number of epochs, it obtains and outputs an i-index indicating the reliability of the test coverage index. Therefore, the information processing device 100 of this embodiment can evaluate the reliability of the coverage index. As mentioned above, if the comprehensiveness of the test data is low, the difference in the test coverage index for each number of epochs is large, so even if a good test coverage index is obtained for a model with a certain number of epochs, it may be that such a good value was obtained by chance. Therefore, it may not be possible to correctly grasp the firing status of neurons from the test coverage index of the final model (the model with the largest number of epochs) alone. In contrast, the information processing device 100 of this embodiment can evaluate the reliability of the test coverage index from the change in the test coverage index during the learning process by using multiple models with different numbers of epochs leading up to the final model. Therefore, users can understand the test coverage metrics of the final model, taking into account the reliability of those test coverage metrics.
[0089] Furthermore, the information processing device 100 of this embodiment obtains the i-index by quantifying the value of the test coverage index as the dependent variable and the shape of the graph of the number of epochs as the independent variable. Therefore, according to the information processing device 100 of this embodiment, the irregularity of the change in the test coverage index during the learning process can be quantitatively represented as the i-index.
[0090] Furthermore, the information processing device 100 of this embodiment acquires an i-index such that the higher the irregularity of the firing curve, which is a two-dimensional line graph with the test coverage index on the vertical axis and the number of epochs on the horizontal axis, the lower the reliability of the test coverage index. For this reason, the information processing device 100 of this embodiment can reflect the irregularity of the test coverage index throughout the entire learning process, rather than just the level of the test coverage index in a single epoch, in the i-index.
[0091] Furthermore, the information processing device 100 of this embodiment displays, as a test report showing the test results, the i-index indicating the reliability of the test coverage index, along with at least one of the following on the display 140: a graph of the firing curve of the test coverage index, statistical indicators for multiple models, whether retraining is necessary for the model with the largest number of epochs among the multiple models, whether test data augmentation is necessary, and whether test data modification is necessary. Therefore, with the information processing device 100 of this embodiment, the user can grasp various indicators related to the test or the actions to be taken in the future, along with the reliability of the test coverage index.
[0092] Furthermore, the information processing device 100 of this embodiment acquires not only a test coverage index, but also a base coverage index based on the firing rate of neurons in multiple models by inputting training data into multiple models. The information processing device 100 of this embodiment acquires and displays an i-index indicating the reliability of the base coverage index based on the changes in the number of epochs of the base coverage index of the multiple models. Therefore, according to the information processing device 100 of this embodiment, the user can compare the test coverage index and the base coverage index to understand the relative height of the test coverage index.
[0093] Furthermore, the i-index in this embodiment, which indicates the reliability of the test coverage index, represents the reliability of the test coverage index of the model with the largest number of epochs among multiple models (the final model). In other words, according to the information processing device 100 of this embodiment, when a user checks the test coverage index of the final model, they can refer to an i-index that takes into account the changes in the test coverage index at each epoch number leading up to the final model.
[0094] (Variation 1) In the embodiments described above, the test results for multiple models trained with the same training data for 1 to 12 epochs were illustrated, but the epoch counts of the multiple models used in the test do not necessarily have to be consecutive.
[0095] For example, only models with a subset of epoch numbers (out of 1 to 12) may be used for testing. For instance, the coverage metric acquisition function 155 may only acquire test coverage metrics for models with even-numbered epoch numbers (out of 1 to 12).
[0096] Furthermore, the i-index may be obtained based on the test coverage metrics of some models among the models corresponding to all epoch counts for which test coverage metrics were obtained during testing. For example, suppose the maximum number of epochs is 12, and the test coverage metrics of models with epoch counts from 1 to 12 have been obtained by the coverage metrics acquisition function 155. In this case, the reliability metrics acquisition function 156 may use only a portion of the test coverage metrics of models with epoch counts from 1 to 12 to obtain the i-index. For example, the reliability metrics acquisition function 156 may generate a firing curve from the test coverage metrics corresponding to epoch counts from 1 to 11 and obtain the i-index. Even in this case, the display control function 158 may display the i-index as the i-index corresponding to the model with the maximum number of epochs among multiple models (e.g., epoch count 12).
[0097] Note that the maximum number of epochs for multiple models is not limited to 12. For example, the model acquisition function 153 acquires n models as multiple models to be tested, which are generated when the first model is trained for 1 to n epochs using the same training data. The coverage metric acquisition function 155 acquires the test coverage metric for each of the acquired n models. Note that the coverage metric acquisition function 155 may acquire the test coverage metric for only some of the acquired n models.
[0098] The reliability index acquisition function 156 acquires the i-index based on the change in the number of epochs of the test coverage index for only a portion of the n models acquired.
[0099] For example, the reliability index acquisition function 156 may generate firing curves only for epochs where the change in loss is large (i.e., the model was significantly updated in that epoch).
[0100] Since generating a firing curve is necessary to obtain the i-index, the reliability index acquisition function 156 uses the test coverage indices of multiple models corresponding to at least some of the epoch numbers of the n acquired models to obtain the i-index. The at least some epoch numbers used to obtain the i-index are numbers that can form a firing curve, so for example, three or more epoch numbers. The at least some epoch numbers used to obtain the i-index may be consecutive or discontinuous.
[0101] The display control function 158 displays the i-index as the reliability of the test coverage metric corresponding to the model with the largest number of epochs (epoch count n) among the n models from which the i-index was obtained.
[0102] Thus, according to the modified information processing device 100, the i-index can be obtained based on only a portion of the n models. Therefore, when the maximum number of epochs is large, the computational load for obtaining the i-index can be reduced.
[0103] (Modification 2) In the above-described embodiment, the information processing device 100 was equipped with an analysis function 157 for performing various analyses, but the analysis function 157 is not essential. For example, the information processing device 100 does not need to be equipped with an analysis function 157. In this case, the display control function 158 may simply display the test coverage index and the i-index, which indicates the reliability of the test coverage index, on the display 140.
[0104] The various types of data discussed in this specification are typically digital data.
[0105] While several embodiments have been described, these embodiments are presented as examples only and are not intended to limit the scope of the invention. These embodiments can be implemented in a variety of other forms, and various omissions, substitutions, modifications, and combinations of embodiments are possible without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims and their equivalents. [Explanation of Symbols]
[0106] 30a First test data 30b Intermediate data 30c Second test data 70 pointers 80 problem areas 90, 91, 91a, 91b, 92a, 92b, 93a, 93b, 94 Ignition curves 100 Information Processing Devices 110 NW (network) interface 120 Memory circuit 130 Input Interfaces 140 displays 150 Processing Circuits 151 Reception function 152 Test data acquisition function 153 Model acquisition function 154 Test Functions 155 Coverage Metric Acquisition Function 156 Reliability Index Acquisition Function 157 Analysis function 158 Display Control Function
Claims
1. A first acquisition unit for acquiring test data, A second acquisition unit acquires multiple neural network models trained with different numbers of epochs using the same training data. A coverage index acquisition unit that acquires a first coverage index based on the firing rate of neurons in the plurality of models by inputting the test data into the plurality of models, A reliability indicator acquisition unit acquires a first reliability indicator that shows the reliability of the first coverage indicator based on the progression of the first coverage indicator of the plurality of models based on the number of epochs, An output unit that outputs the acquired first reliability index, An information processing device equipped with the following features.
2. The reliability index acquisition unit calculates the first reliability index by quantifying the value of the first coverage index as the dependent variable and the shape of the graph of the number of epochs as the independent variable. The information processing apparatus according to claim 1.
3. The graph above has the first coverage index on the vertical axis and the number of epochs on the horizontal axis. The reliability index acquisition unit calculates the first reliability index such that the higher the irregularity of the curve in the graph, the lower the reliability. The information processing apparatus according to claim 2.
4. The output unit displays, along with the first reliability index, at least one of the following on the display unit: the graph, statistical indicators for the multiple models, whether or not retraining is necessary for the model with the largest number of epochs among the multiple models, whether or not the test data needs to be augmented, and whether or not the test data needs to be changed. The information processing apparatus according to claim 2.
5. The coverage index acquisition unit calculates a second coverage index based on the firing rate of neurons in the plurality of models by inputting the training data into the plurality of models. The reliability index acquisition unit calculates a second reliability index indicating the reliability of the second coverage index based on the changes in the number of epochs of the second coverage index of the plurality of models. The output unit causes the first reliability index and the second reliability index to be displayed on the display unit. The information processing apparatus according to claim 1.
6. The first reliability index indicates the reliability of the model with the largest number of epochs among the multiple models with respect to the first coverage index. The information processing apparatus according to claim 1.
7. The second acquisition unit acquires the n models generated by training the neural network model using the same training data for 1 to n epochs, as the plurality of models. The coverage index acquisition unit calculates the first coverage index for each of the n models, The reliability index acquisition unit calculates the first reliability index based on the change in the number of epochs of the first coverage index of the plurality of models corresponding to the number of epochs of at least some of the n models, The output unit outputs the first reliability index as an index representing the reliability of the first coverage index of the model with n epochs among the n models. The information processing apparatus according to claim 1.
8. The first acquisition step is to obtain test data, A second acquisition step involves obtaining multiple neural network models trained with the same training data but at different epoch counts. A coverage index acquisition step involves inputting the test data into the plurality of models to calculate a first coverage index based on the firing rate of neurons in the plurality of models, A reliability calculation step that calculates a first reliability index indicating the reliability of the first coverage index based on the change in the number of epochs of the first coverage index of the plurality of models, An output step that outputs the acquired first reliability index, Information processing methods including
9. The first acquisition step is to obtain test data, A second acquisition step involves obtaining multiple neural network models trained with the same training data but at different epoch counts. A coverage index acquisition step involves inputting the test data into the plurality of models to calculate a first coverage index based on the firing rate of neurons in the plurality of models, A reliability calculation step that calculates a first reliability index indicating the reliability of the first coverage index based on the change in the number of epochs of the first coverage index of the plurality of models, An output step that outputs the acquired first reliability index, A program that causes a computer to execute something.
Citation Information
Patent Citations
Evaluation equipment, plant control support system, evaluation method, and program
JP2022014974A
Learning model construction device, learning model construction method, and program
JP2023085068A