Anomaly detection method, calculation device, program, correction method, and anomaly degree generation device
The simulation device uses unsupervised learning and chunking to verify AI effectiveness in anomaly detection, addressing data confidentiality and communication issues, ensuring effective AI suitability for user-specific challenges.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- ROHM CO LTD
- Filing Date
- 2025-01-17
- Publication Date
- 2026-07-30
AI Technical Summary
Users in the industrial machinery sector face challenges in verifying the effectiveness of AI algorithms for condition-based maintenance without sharing confidential data, as traditional methods often require external data sharing, leading to potential data leaks and communication errors, and the lack of on-the-spot analysis.
A simulation device using unsupervised learning and chunking techniques allows users to verify AI effectiveness locally by simulating anomaly detection on their own data, eliminating data sharing risks and enabling on-the-spot analysis.
Enables effective verification of AI algorithms for anomaly detection without exposing confidential data, facilitating on-the-spot analysis and reducing the need for external data sharing, thus improving the suitability of AI solutions for specific user challenges.
Smart Images

Figure 2026123463000001_ABST
Abstract
Description
[Technical Field]
[0001] This disclosure relates to an anomaly detection method. [Background technology]
[0002] Traditionally, the application of AI (artificial intelligence) to condition-based maintenance of mechanical systems has been progressing in the industrial machinery sector (for example, Patent Document 1). [Prior art documents] [Patent Documents]
[0003] [Patent Document 1] International Publication No. 2019 / 035279
[0004] [overview] When introducing AI for the above-mentioned condition management and maintenance, it would be useful to be able to verify the effectiveness of the AI without using actual equipment. As a form of machine learning, unsupervised learning, which does not use training data, is well known. The ability to accurately identify anomalies using machine learning is desired. Such anomaly detection can be broadly applied not only to the industrial machinery sector but also to the consumer electronics and medical fields.
[0005] One aspect of this disclosure is an anomaly detection method using a computing device, When supplying data sequentially to a machine learning model, a single chunk of data is referred to as a chunk. The first step involves obtaining a first learning result by training the machine learning model with a first chunk width based on the first data, A second step involves obtaining a first inference result by performing inference using the machine learning model with the first chunk width based on the second data and the first learning result, A third step of calculating a first anomaly score for each first chunk width based on the second data and the first inference result, A fourth step of obtaining a second learning result by performing learning by the machine learning model with a second chunk width shorter than the first chunk width based on the first data; A fifth step of obtaining a second inference result by performing inference by the machine learning model with the second chunk width based on the second data and the second learning result; A sixth step of calculating a second abnormality degree for each second chunk width based on the second data and the second inference result; It is an anomaly detection method having the above.
[0006] Further, in one aspect of the present disclosure, when a block of data for one time when sequentially supplying data to a machine learning model is referred to as a chunk, A first learning processing unit that obtains a first learning result by performing unsupervised learning by the machine learning model with a predetermined first chunk width based on the first data; A first inference processing unit that obtains a first inference result by performing inference by the machine learning model with the first chunk width based on the second data and the first learning result; A first abnormality degree calculation unit that calculates a first abnormality degree with the first chunk width based on the second data and the first inference result; A second learning processing unit that obtains a second learning result by performing unsupervised learning by the machine learning model with a second chunk width shorter than the first chunk width based on the first data; A second inference processing unit that obtains a second inference result by performing inference by the machine learning model with the second chunk width based on the second data and the second learning result; [[ID=二十一]] A second abnormality degree calculation unit that calculates a second abnormality degree with the second chunk width based on the second data and the second inference result; It is an abnormality degree generation device including the above.
Brief Description of Drawings
[0007] [Figure 1] FIG. 1 is a diagram showing the configuration of a computer according to an exemplary embodiment of the present disclosure [Figure 2]FIG. 2 is a diagram showing the configuration of a simulation apparatus according to an exemplary embodiment of the present disclosure. [Figure 3] FIG. 3 is a diagram showing a configuration example of a machine learning model. [Figure 4] FIG. 4 is a diagram showing a three-layer neural network. [Figure 5] FIG. 5 is a diagram showing a first setting screen. [Figure 6] FIG. 6 is a diagram showing a dialog box. [Figure 7] FIG. 7 is a diagram showing an example of time-course data of absorbance. [Figure 8] FIG. 8 is a diagram showing a state in which the time-course data shown in FIG. 7 is arranged. [Figure 9] FIG. 9 is a diagram showing a first setting screen. [Figure 10] FIG. 10 is a diagram showing a second setting screen. [Figure 11] FIG. 11 is a diagram showing a second setting screen. [Figure 12] FIG. 12 is a diagram showing a third setting screen. [Figure 13] FIG. 13 is a diagram showing an example related to learning / inference settings. [Figure 14] FIG. 14 is a diagram showing a fourth setting screen. [Figure 15] FIG. 15 is a diagram showing a first graph screen. [Figure 16A] FIG. 16A is a diagram showing an example of chunk setting for data with delimiters. [Figure 16B] FIG. 16B is a diagram conceptually showing chunk setting for continuous data. [Figure 17] FIG. 17 is a diagram showing a second setting screen. [Figure 18] FIG. 18 is a diagram showing a third setting screen. [Figure 19] FIG. 19 is a diagram showing a fourth setting screen. [Figure 20] FIG. 20 is a diagram showing a first graph screen. [Figure 21]Figure 21 shows a magnified view of a portion of the graph on the first graph screen. [Figure 22] Figure 22 shows a magnified view of a portion of the graph on the first graph screen. [Figure 23] Figure 23 is a schematic diagram showing the internal configuration of a biochemical analyzer. [Figure 24] Figure 24 is a block diagram of a biochemical analyzer. [Figure 25] Figure 25 is a flowchart showing the anomaly detection process in a biochemical analyzer. [Figure 26] Figure 26 shows a specific example of the correction process.
[0008] [Detailed explanation] Hereinafter, exemplary embodiments of the present disclosure will be described with reference to the drawings.
[0009] <Computer Configuration> Figure 1 shows the configuration of a computer 100 according to an exemplary embodiment of the present disclosure. The computer 100 functions as a simulation device according to the present disclosure, which will be described later. The computer 100 is, for example, a PC (personal computer). When the computer 100 is a PC, it does not matter whether it is a desktop or notebook type.
[0010] The computer 100 includes a CPU (Central Processing Unit) 100A, memory 100B, auxiliary storage device 100C, operation input unit 100D, and display unit 100E.
[0011] The CPU 100A includes a control unit and an arithmetic unit (neither of which are shown). The control unit interprets program instructions and controls various parts of the computer 100. The arithmetic unit is a device that performs arithmetic processing.
[0012] Memory 100B is a semiconductor memory device that temporarily stores programs or data. The information stored in memory 100B is erased when the power to computer 100 is turned off.
[0013] The auxiliary storage device 100C is composed of an HDD (Hard Disk Drive) or SSD (Solid State Drive), and stores programs or data. Programs stored in the auxiliary storage device 100C are loaded into memory 100B. The CPU 100A executes the programs loaded into memory 100B.
[0014] The operation input unit 100D is a device consisting of a keyboard or mouse, which provides operation input to the computer 100. The information input from the operation input unit 100D is sent to the memory 100B.
[0015] The display unit 100E is composed of, for example, a liquid crystal display, and converts information acquired from the memory 100B into an image and outputs it.
[0016] <Configuration of the simulation system> Figure 2 shows the configuration of a simulation device 1 according to an exemplary embodiment of the present disclosure. The simulation device 1 is a device capable of simulating learning and inference using machine learning (AI).
[0017] The simulation device 1 comprises a file storage unit 2, a file reading unit 3, a model storage unit 4, a model calculation unit 5, a model setting unit 6, a display control unit 7, an operation input unit 8, and a display unit 9. The program P (Figure 1) stored in the auxiliary storage device 100C of the computer 100 is a program that causes the computer 100 to function as the simulation device 1.
[0018] The file storage unit 2 stores the data file 21 and is configured with the auxiliary storage device 100C of the computer 100. The data file 21 is configured as an Excel® file, for example. The file may also be stored in the auxiliary storage device 100C from outside the computer 100 via, for example, the USB interface or network interface of the computer 100 (neither of which are shown in Figure 1).
[0019] Data file 21 contains data 210. Data 210 is data used to perform so-called unsupervised learning and inference by inputting it into the machine learning model 40 (described later). As will be described later, it is possible to specify which data from data 210 will be used for training and which data will be used for inference.
[0020] The file reading unit 3 reads the data file 21 from the file storage unit 2.
[0021] The model storage unit 4 stores the machine learning model 40 and is composed of the auxiliary storage device 100C of the computer 100. The machine learning model 40 is configured as a program P using, for example, MATLAB / Simulink (registered trademark). A specific example of the machine learning model 40 will be described later.
[0022] The functions of the file reading unit 3, the model calculation unit 5, the model setting unit 6, and the display control unit 7 are realized by the CPU 100A executing program P. The operation input unit 8 and the display unit 9 correspond to the operation input unit 100D and the display unit 100E in the computer 100, respectively.
[0023] The model calculation unit 5 performs the simulation by processing the machine learning model 40 stored in the model storage unit 4. The model setting unit 6 configures the machine learning model 40 stored in the model storage unit 4 (settings for data to be used for learning and inference, setting of parameters, setting of function types, etc.) in response to input from the operation input unit 8. The simulation by the model calculation unit 5 is performed according to the settings made by the model setting unit 6. The display control unit 7 controls the display of various screens, such as the setting screen described later, on the display unit 9 in response to input from the operation input unit 8.
[0024] For example, in the industrial machinery sector, machine learning is increasingly being applied to the condition management and maintenance of mechanical systems in factory equipment maintenance. However, even when a user wants to test an AI algorithm they have identified as promising, they need to provide data to the AI vendor or other AI developer. In many cases, this data contains confidential information related to products and manufacturing processes, making disclosure difficult. Therefore, traditionally, users had no choice but to refer to various case studies from AI vendors or have the AI solve open problems that serve as benchmarks for general AI performance (e.g., predicting housing prices in Boston, estimating the physical properties of diesel fuel, etc.) to determine if it was suitable for solving the user's problems and challenges. Naturally, such open problems do not match the user's problems and challenges, so it often becomes clear afterward that the selected AI algorithm was inappropriate or not very suitable when applied to the user's data. This necessitates a re-selection of the AI algorithm, which is detrimental to both the user and the AI vendor.
[0025] As described above, even if a user wants to experiment with what can be done with AI using data they have acquired, they need to share the data with external parties (such as AI vendors or IC manufacturers with AI solutions). In other words, there is a risk of releasing confidential data to external parties. Furthermore, even if data is provided, it is difficult to guarantee that it will be properly analyzed externally, and adjusting the AI parameters appropriately is difficult without advanced knowledge of the domain in which the user acquired the data. Communicating domain knowledge from the user to AI vendors is also very time-consuming, and communication errors are likely to occur due to differences in background knowledge. In addition, it is not possible to analyze the data acquired by the user on the same day and on the spot.
[0026] In light of the above circumstances, using the simulation device 1 related to this disclosure makes it possible to effectively verify the effects of AI through unsupervised learning using data owned by the user. More specifically, it is possible to verify the effectiveness of anomaly detection, which is an unsupervised learning task. This has the effect of eliminating the risk of releasing confidential data to external parties, and enabling on-the-spot analysis of acquired data. In particular, as described later, this disclosure introduces the concept of chunking to the data input to the machine learning model, making it easy to input multiple types of input data in multiple quantities. This makes it possible to examine what kind of anomaly detection can be performed when various signals are combined.
[0027] Furthermore, by using the simulation device 1 described herein, it is possible to perform anomaly detection of measurement data not only in the industrial machinery field, but also in the home appliance field, medical field, and other fields. Later, as an example of such measurement data, anomaly detection using measurement data measured by a biochemical analyzer will be explained.
[0028] <Machine learning model configuration> Here, we will describe the machine learning model 40. Figure 3 shows an example of the configuration of the machine learning model 40. The machine learning model 40 has a preprocessing unit 401 and a machine learning unit 402.
[0029] The preprocessing unit 401 performs preprocessing before inputting data into the machine learning unit 402. This preprocessing includes normalization. Normalization is the process of fitting the data into a range of approximately 0 to 1 (or -1 to +1). As will be described later, by setting the parameters of the normalization process, it is also possible to set it to perform shifting or no processing at all.
[0030] Preprocessing includes envelope processing. Envelope processing is performed on data that has been processed by normalization. Note that whether or not envelope processing is performed can be configured as described later.
[0031] Preprocessing includes window function processing and FFT (fast Fourier transform) processing. As described later, window function processing and FFT processing are performed on data that has undergone normalization and envelope processing. Furthermore, window function processing and FFT processing are performed chunk by chunk, as described later. Whether or not window function processing and FFT processing are performed can be configured as described later. In terms of patterns, it is possible to select to perform only window function processing, only FFT processing, or both window function processing and FFT processing. Note that frequency analysis processing other than FFT processing, such as wavelet transform, may also be used.
[0032] The machine learning unit 402 performs learning and inference on the input data. As the AI model used in the machine learning unit 402, for example, a three-layer neural network 30 as shown in Figure 4 is used.
[0033] As shown in Figure 4, the 3-layer neural network 10 is an AI model having an input layer 10A, a hidden layer 10B, and an output layer 10C. Generally, in the 3-layer neural network 10, n-dimensional input data x∈R with batch size k k×n For this, the inference result y∈R in n' dimension k×n’ This is obtained by setting y = G(x·α+b)β, where α∈R n×m is the weight that connects the input layer 10A and the hidden layer 10B, where β∈Rm×n’ is the weight that connects the hidden layer 10B and the output layer 10C. Also, b ∈ R m is the bias of the hidden layer 10B, and G is the activation function of the hidden layer 10B.
[0034] In this embodiment, an algorithm is used that can sequentially train the three-layer neural network 10 with an arbitrary batch size. The batch size k i for the i-th training data {x i ∈ R ki×n , t i ∈ R ki×n’} is obtained, it is necessary to find β that minimizes the error shown in the following equation (1). i [Equation] Note that the i-th hidden layer matrix H i = G(x i ·α + b). Also, t is the teacher data corresponding to the inference result y.
[0035] The optimized weight β i is calculated by the following equation (2). P i = P i-1 - P i-1 H i T (I + H i P i-1 H i T ) -1 H i P i-1 β i = β i-1 + P i H i T (t i - H i β i-1 ) (2)
[0036] Here, P0 and β0 are obtained by the following equation (3). P0 = (H0 T H0) -1 β0=P0H0 T t0(3)
[0037] The learning algorithm is as follows: (1) Initialize the values of weight α and bias b using random numbers. (2) Calculate H0 for x0, and then calculate P0 and β0. (3) Batch size k i Each time the i-th training data is obtained, P i and β i The following is calculated sequentially. Alternatively, instead of using the formula for calculating β0 in equation (3), a value initialized with a random number may be used as β0.
[0038] Furthermore, in this embodiment, learning is performed using an autoencoder. The autoencoder reuses the input data directly as training data and learns to reconstruct the input data as the inference result. In other words, it learns with t=x as described above. Since the autoencoder does not require the creation of separate training data, it is a type of unsupervised learning algorithm.
[0039] According to the AI model in the machine learning unit 402, learning can be performed on edge devices using a processing unit of the size of a microcontroller. In other words, when introducing such on-device learning to applications such as motor anomaly detection, the effectiveness of anomaly detection can be confirmed through simulation. The input data x is time-series data if no FFT processing is performed in the preprocessing unit 401, and frequency-domain data if FFT processing is performed.
[0040] In the machine learning unit 402, the anomaly score is calculated using a loss function L(y,t) that represents the error between the inference result y and the training data t. For example, MAE (Mean Absolute Error) or MSE (Mean Squared Error) can be used as the loss function. When the loss function is MAE, the loss function L is expressed as shown in equation (4) below.
number
number
[0041] Since training is performed using an autoencoder, the anomaly score is calculated using the loss function L(y,t)=L(y,x).
[0042] <gui> Next, the GUI (Graphical User Interface) that enables the settings related to the simulation in the simulation device 1 according to this embodiment will be described. Examples of the various screens described below are displayed on the display unit 9 by the display control unit 7 (Figure 2). Selection and settings on the various setting screens, or screen switching, are performed based on input from the operation input unit 8. The contents set on the various setting screens are set by the model setting unit 6.
[0043] <<First Settings Screen>> When program P is launched, the first settings screen shown in Figure 5 is displayed. On the first settings screen, you can load data files and configure preprocessing settings as needed. Tabs are displayed side by side at the top of the first settings screen. You can switch between settings screens by pressing the tabs. Figure 5 (first settings screen) shows the "1. Data loading" tab TB1 pressed.
[0044] The first settings screen displays a selection button BT1 for selecting a data file. Pressing the selection button BT1 displays the dialog box shown in Figure 6. In the dialog box, the file names are displayed in a list in the selection section SA1. The file name selected in the selection section SA1 is displayed in the file name display section DA1 below. When the OK button BT2 is pressed in the dialog box, the data file with the file name displayed in the file name display section DA1 is read by the file reading section 3. Here, an Excel file with the extension .xlsx can be selected.
[0045] Here, as an example of the data included in the data file, we will explain the data measured by a biochemical analyzer. The biochemical analyzer can measure the absorbance of the test solution based on the sample, and time course data, which is the change in absorbance over time, is obtained. Figure 7 shows an example of such absorbance time course data. Figure 7 shows 14 time course data, from data 1 to data 14. Figure 8 shows data 1 to data 14 arranged in order. In Figure 7, as an example, one time course data is taken from measurements taken every second for 60 seconds. That is, one time course data contains 60 absorbance data. Therefore, in Figure 8, 60 × 14 = 840 data are arranged.
[0046] In the example shown in Figure 8, data 1 through 12 are considered normal data, while data 13 and 14 are considered abnormal data. Data 13 and 14 include an anomaly where a step-like distortion occurs (indicated by the box in Figure 7). Such step-like distortion can occur due to the mechanical conditions of the biochemical analyzer. The following explanation assumes that a data file containing such time course data is being read. In the data file, the data number is in the first column, and the time course data is in the second column.
[0047] When a data file is loaded, the data contained in the loaded data file is displayed in a tabular format in the table display unit DA2 on the first settings screen, as shown in Figure 9. Note that the first row of the data file is ignored when the data is loaded. This allows the user to verify that the data has been loaded correctly. The number of rows of the loaded data is displayed in the row count display unit DA3, and the number of columns of the loaded data is displayed in the column count display unit DA4. All loaded data is displayed in the table display unit DA2.
[0048] On the other hand, once the data file is loaded, the loaded data is displayed as a graph column by column in the graph display section DA5 of the first settings screen, as shown in Figure 9. The horizontal axis represents the data number and the vertical axis represents the data value. In the column selection section SD1, columns 1 through 5 can be selected using radio buttons. By default, the data in column 1 is displayed as a graph, but the columns displayed can be switched by pressing the radio buttons mentioned above. Note that columns 6 and beyond cannot be displayed as graphs, but this does not mean that data has not been loaded. In the example in Figure 9, the graph display of the data in column 2 (i.e., time course data) is selected.
[0049] The pre-processing settings unit ST1 is displayed in the center of the first settings screen (Figure 9). In the pre-processing settings unit ST1, settings related to normalization and envelope processing can be configured. Normalization and envelope processing can be configured individually for each of the five columns of the loaded data.
[0050] The normalization process is performed by equation (6) below.
number
[0051] In the parameter setting unit PS1 of the preprocessing setting unit ST1, each parameter (di, si) from the first to the fifth column can be set. Depending on the parameter settings, it is also possible to set the system to perform a shift process or to perform no process at all.
[0052] Furthermore, checkbox BX1 in the preprocessing setting unit ST1 is provided for each of the columns from the 1st to the 5th. Envelope processing is performed on columns where checkbox BX1 is checked. Envelope processing is not performed on columns where checkbox BX1 is not checked.
[0053] When the preprocessing button BT2 is pressed on the first settings screen, preprocessing is performed on the data in columns 1 through 5 according to the settings in the preprocessing settings section ST1. The table display section DA6 on the first settings screen displays the preprocessed data in a table format. Here, the data in columns 1 through 5 is displayed. The graph display section DA7 displays the preprocessed data for the column selected by the radio button in the selection section SD2. The display format is the same as that of the graph display section DA5. The row display section DA8 and the column display section DA9 display the number of rows and columns of the data displayed in the table display section DA6, respectively. The column display section DA9 displays "Number of columns = 5".
[0054] If preprocessing is not required, do not press the preprocessing button BT2, but instead press the tab TB2 (Figure 10, described later) to switch screens. Here, we will assume that the preprocessing button BT2 is not pressed.
[0055] <<Second Settings Screen>> When Tab 2 ("2. Input chunk range") is pressed, the second settings screen shown in Figure 10 is displayed. On the second settings screen, data setting buttons BT31 and BT32 are displayed, and either button is pressed.
[0056] When the data setting button BT31 is pressed, the data loaded on the first setting screen (original data) is used as input data for the machine learning model 40. When the data setting button BT32 is pressed, the data obtained by performing the preprocessing set on the first setting screen on the data loaded on the first setting screen is used as input data for the machine learning model 40.
[0057] The data selected using either the data setting button BT31 or BT32 is displayed in the table display unit DA10 and the graph display unit DA13. The table display unit DA10 displays the data in notation. The graph display unit DA13 allows switching between columns 1 through 5 by selecting columns using radio buttons in the column selection unit SD3.
[0058] Figure 11 shows the state when the data setting button BT31 is pressed on the second settings screen (i.e., using original data). Here, the data of the second column selected in the column selection unit SD3 is displayed on the graph display unit DA13.
[0059] In the second settings screen, the chunk setting section ST2 is displayed. A chunk is a single block of data that is sequentially input into the machine learning model 40 (machine learning unit 402). The chunk setting section ST2 includes the column number setting section ST21, the row number setting section ST22, and the column number setting section ST23. In the column number setting section ST21, you can input the column number in the data being used (data selected by the data setting buttons BT31 and BT32) that indicates the first column of the input data to be input to the machine learning model. In the row number setting section ST22, you can input the number of rows in one chunk in the data being used. In the column number setting section ST23, you can input the number of columns in one chunk in the data being used.
[0060] In the example in Figure 11, "2" is entered in the column number setting unit ST21, "60" in the row number setting unit ST22, and "1" in the column number setting unit ST23. As a result, the second column of the data used is set as the first column of the input data, and a block of data with 60 rows and 1 column is set as one chunk. In other words, the data in the second column (time course data) is selected as the input data. In this case, each data from data 1 to data 14 in the example in Figure 8 corresponds to one chunk.
[0061] Furthermore, by setting a value of 2 or more in the column number setting unit ST23, it is possible to input data from multiple columns, i.e., multiple types of signal data. For example, it is possible to input data such as motor current and x-direction displacement data as shown in Figure 7.
[0062] The chunk count display unit DA15 shows the chunk count calculated from the number of rows in the data used and the number of rows in one chunk (in the example in Figure 11, chunk count = 14). Also, when the check button BT4 is pressed on the second setting screen, the first chunk is displayed in a table format on the table display unit DA14. This allows you to check whether the chunks are set correctly. At this time, the data count display unit DA16 shows the number of data items contained in one chunk. This data count is the same as the product of the number of rows and columns in one chunk (in the example in Figure 11, data count = 60).
[0063] <<Third Settings Screen>> Pressing tab TB3 ("3. Preprocessing by MCU") displays the third settings screen, as shown in Figure 12. On the third settings screen, you can consider applying preprocessing such as FFT that can be executed by the MCU (microcontroller).
[0064] The third settings screen displays the preprocessing settings section ST3. In the preprocessing settings section ST3, you can set whether or not to apply window function processing and FFT processing. For window function processing, you can use Hann window, Hamming window, Gauss window, triangular window, Kaiser window, Chebyshev window, Blackman window, etc. Specifically, the presence or absence of window function processing is set by checkbox BX2, and the presence or absence of FFT processing is set by checkbox BX3. Furthermore, in the output unit selection section SD4, you can select the unit of the FFT processing result (Amplitude or dB) using radio buttons.
[0065] Note that window function processing and FFT processing are performed for each chunk. The FFT processing and other algorithms are optimized for computation on an MCU. Since only one-sided amplitude is used in the data after FFT processing, the number of data points will be (FFT length / 2) + 1 for each chunk (FFT length). However, depending on the algorithm implemented on the MCU, the highest frequency component of the one-sided amplitude spectrum may be discarded, resulting in (FFT length / 2) data points. Furthermore, the FFT processing may be configured to allow selection of using only amplitude, only phase, or both amplitude and phase.
[0066] Furthermore, in the pre-processing setting unit ST3, the FFT length is displayed in the FFT length display unit DA17.
[0067] When the preprocessing button BT5 is pressed, the preprocessing set in the preprocessing setting unit ST3 is executed, and the processing results are displayed in the result display unit DA18. The processing results are displayed chunk by chunk. The data numbers included in the displayed chunks can be set in the data number setting unit ST31 in the preprocessing setting unit ST3. Here, the data number is a sequential number across all chunks, assigned sequentially from 1 to the data in different columns of the same row, starting from the smallest row, if the chunk has multiple columns. For example, if the chunk has 3 columns, the numbers are assigned in the order of 1st row, 1st column, 2nd column, 3rd column → 2nd row, 1st column, 2nd column, 3rd column → ... In the example in Figure 11 mentioned above, since the set chunk has 60 rows and 1 column, data numbers 1 to 60 represent the first of the same chunks.
[0068] In the results display unit DA18, the raw data display unit DA181, the display unit after window function processing DA182, and the display unit after FFT processing DA183 are displayed from left to right. The raw data display unit DA181 displays the raw data (data before processing) of one chunk. The display unit after window function processing DA182 displays the data obtained by processing the data of one chunk with a window function. The display unit after FFT processing DA183 displays the data obtained by processing the data after window function processing with FFT. Note that the raw data display unit DA181, the display unit after window function processing DA182, and the display unit after FFT processing DA183 are all displayed as graphs with the data number on the horizontal axis (however, sequential numbering when the first data in the target chunk is number 1) and the data value on the vertical axis.
[0069] However, if, for example, only FFT processing is performed without applying window function processing, the raw data will be displayed in the post-window function processing display unit DA182. If neither window function processing nor FFT processing is applied, the raw data will be displayed in the raw data display unit DA181, the post-window function processing display unit DA182, and the post-FFT processing display unit DA183. In any case, the data displayed in the post-FFT processing display unit DA183 will be the data input to the machine learning unit 402 (3-layer neural network 10).
[0070] Figure 12 shows an example of the display of the processing results when neither window function processing nor FFT processing is applied. The result display unit DA18 displays the data number setting unit ST32. The data number setting unit ST32 allows setting the data number corresponding to the chunk to be redisplayed in the result display unit DA18. When the redisplay button BT6 is pressed, the processing results are redisplayed in the result display unit DA18.
[0071] Next, we will describe the learning / inference setting unit ST4 (Figure 12) in the third setting screen. In the learning / inference setting unit ST4, the raw data display unit DA19 is displayed. In the raw data display unit DA19, the data of all chunks set in the second setting screen (data before processing) is displayed as a graph. The horizontal axis is displayed as the data number and the vertical axis as the data value.
[0072] Below the raw data display unit ST4, the first data number display unit DA20 and the first chunk number display unit DA21 are displayed at the far left. The first data number display unit DA20 displays the first number of the data number (1 in Figure 12), and the first chunk number display unit DA21 displays the number of the first chunk (1 in Figure 12).
[0073] Below the raw data display unit ST4, the final data number display unit DA22 and the final chunk number display unit DA23 are displayed at the far right. The final data number display unit DA22 displays the final data number, and the final chunk number display unit DA23 displays the final chunk number. In the example in Figure 12, the chunks are set to 60 rows and 1 column in the example in Figure 11, and as shown in Figure 8, the number of data in one column is 840, so the number of chunks = 14 (final chunk number), and the final data number is 14 × 60 = 840.
[0074] In the machine learning unit 402, training and prediction are performed in chunk units. First, one of the data numbers included in the chunk from which you want to start training is input to the data number setting unit ST41. Figure 13 is a diagram showing the settings for training and prediction for a raw data sequence similar to that in Figure 12. Here, since data number = 1 is set in the data number setting unit ST41, the first chunk CH1 becomes the chunk from which training begins. If you do not want to train the initial state, it is effective to start training from the second chunk or later. By setting a data number included in the second chunk or later, training will start from the second chunk or later, and the first chunk CH1 will not be used for training.
[0075] Next, one of the data numbers included in the chunk from which you want to start inference is input to the data number setting unit ST42 (Figure 12) and set. In the time course data in the example in Figure 8, the transition to an abnormal state starts from data 13. Until then, it is in a normal state, so here, as an example, data number = 600 is set so that only the normal state is used for learning. Note that data number 600 corresponds to chunk CH10 of chunk number = 10, as shown in Figure 13. In this way, in the example in Figure 13, chunks CH1 to CH9 (data 1 to data 9) are used for learning, and chunks CH10 to the last chunk CH14 (data 10 to data 14) are used for inference.
[0076] <<Fourth Settings Screen>> When the tab TB4 ("4. AI Settings and Sim") is pressed, the fourth settings screen, as shown in Figure 14, is displayed. The fourth settings screen is used for setting parameters for the machine learning unit 402, running simulations, and checking simulation results.
[0077] In the fourth settings screen shown in Figure 14, the AI parameter setting unit ST5 is displayed. The AI parameter setting unit ST5 includes the input node count setting unit ST51, the hidden layer node count setting unit ST52, and the output node count setting unit ST53. The input node count setting unit ST51 displays the number of nodes in the input layer 10A (i.e., the value of n above). The number of nodes in the input layer is calculated by multiplying the number of rows and columns in one chunk of input data. That is, the data in one chunk corresponds to data with a batch size of 1. Note that when using data after FFT processing, the number of data in one chunk = for example, (FFT length / 2) + 1.
[0078] The hidden layer node count setting unit ST52 can accept the number of nodes in the hidden layer 10B (i.e., the value of m above). The output node count setting unit ST53 displays the number of nodes in the output layer 10C (i.e., the value of n' above). Because it is an autoencoder, the number of output nodes matches the number of input nodes.
[0079] The AI parameter setting unit ST5 also includes the activation function setting unit ST54, the loss function setting unit ST55, and the forgetting rate setting unit ST56. The activation function setting unit ST54 allows selection of the type of activation function for the hidden layer 10B. For example, the activation function can be set to Sigmoid or ReLU.
[0080] The loss function setting unit ST55 allows selection of the type of loss function used to calculate the anomaly score in the machine learning unit 402. For example, the loss function can be set to MAE or MSE.
[0081] The forgetting rate setting unit ST56 allows you to input a value for the forgetting rate. The forgetting rate is a parameter that represents the degree to which the learned results are forgotten. Methods that do not reflect the learned results include, for example, using past learned results or initializing the learned results. A forgetting rate of 1 means that previous learned results are not forgotten at all, and a forgetting rate of 0 means that everything is forgotten.
[0082] Additionally, the AI parameter setting unit ST57 also displays the number of learning iterations setting unit ST57. The number of learning iterations setting unit ST57 allows you to set the number of times to repeat the learning process.
[0083] Additionally, the AI parameter setting unit ST5 displays the shift amount setting unit ST58. The shift amount setting unit ST58 is used to set the chunk shift amount for the data targeted for inference (after training is complete).
[0084] Once all settings have been configured via the settings screen described above, and the simulation start button BT7 is pressed, the model calculation unit 5 executes the simulation according to the settings configured by the model setting unit 6. Here, data is sequentially input to the machine learning unit 402 in chunk units, and β is sequentially updated by the aforementioned algorithm to perform unsupervised learning. When data is input, it is input to each node of the input layer 10A in the order of the data number in the chunk. Inference is also performed by the machine learning unit 402 during learning. Furthermore, inference is also performed by the machine learning unit 402 after learning is complete. Inference results are calculated for each chunk. In addition, the anomaly score is calculated for each chunk based on the inference results, input data, and loss function.
[0085] The simulation results are displayed in the results display unit RA1 on the fourth settings screen, as shown in Figure 14, for example. The results display unit RA1 displays the anomaly score table display unit RA11 and the anomaly score graph display unit RA12 in the upper section. The anomaly score table display unit RA11 displays the anomaly score for each chunk during training in a table format. The anomaly score graph display unit RA12 displays the anomaly score for each chunk during training in a graph format. In both the anomaly score table display unit RA11 and the anomaly score display unit RA12, the chunk number and anomaly score are displayed in correspondence.
[0086] The results display unit RA1 shows the anomaly score table display unit RA13 and the anomaly score graph display unit RA14 in the lower section. The anomaly score table display unit RA13 shows the anomaly score for each chunk during inference after training is complete in a table format. The anomaly score graph display unit RA14 shows the anomaly score for each chunk during inference after training is complete in a graph format. In both the anomaly score table display unit RA13 and the anomaly score display unit RA14, the chunk number and anomaly score are displayed in correspondence.
[0087] When the simulation start button BT7 is pressed with the learning iteration count setting unit ST57 entered, the learning process using all the learning chunks (chunks CH1 to CH9 in the example in Figure 13) is reused the number of times set in the learning iteration count setting unit ST37. In other words, once the last chunk has been used, the learning process returns to the first chunk and resumes. This makes it easy to perform sufficient learning even when it is not easy to prepare long-term data for learning.
[0088] <<Graph screen>> When the tab TB51 ("5-1.Graph") is pressed, the first graph screen, as shown in Figure 15, is displayed. On the first graph screen, the graph display unit GD1 is displayed at the top, the graph display unit GD2 is displayed in the middle, and the graph display unit GD3 is displayed at the bottom. The graph display unit GD1 displays the input data values for all the data (data consisting of all chunks) input to the machine learning unit 402. The horizontal axis represents the data number.
[0089] The graph display unit GD2 shows the anomaly score for each chunk of data input to the machine learning unit 402. The horizontal axis represents the data number.
[0090] In the threshold setting section TS1 in the upper right of the graph screen, enter the abnormality threshold in the threshold input section TS11 and press the setting button BT8, and the set threshold TH will be displayed in the graph display section GD2.
[0091] <Examples of anomaly detection> An example of anomaly detection will be explained using the various screens described above. A data file containing time course data, as shown in Figure 8, was loaded on the first settings screen (Figure 9). Then, on the second settings screen (Figure 11), the option to use the original data was selected, and the chunk settings were configured. Here, the chunk width (size of one chunk) was first set to 60 × 1 = 60. This means that each of the data from data 1 to data 14 in Figure 8 corresponds to one chunk. Then, on the third settings screen (Figure 12), it was set not to perform any preprocessing. Finally, on the fourth settings screen (Figure 14), various machine learning parameters were set, and the simulation was executed. When the first graph screen (Figure 15) is displayed, the anomaly score for each chunk (chunk width = 60) is displayed in the graph display unit GD2. The anomaly score is displayed corresponding to each of the data from data 1 to data 14 in the graph display unit GD1. As shown in Figure 15, the anomaly scores are high for the last two data points, 13 and 14.
[0092] Furthermore, in the fourth setting screen (Figure 14), the shift amount is set using the shift amount setting unit ST58A. Figure 16A shows an example to explain the shift amount. In Figure 16A, the first and second rows show the measurement data for each set of data points. Here, as an example, the set of data points is 60, as shown in Figure 8 for time course data. When the shift amount is 0, as shown in the third row of Figure 16A, chunks are set with the chunk width set from the beginning of the measurement data to be learned, and chunks are set with the chunk width set from the beginning of the data to be inferred (data after the data to be learned). In the third row of Figure 16A, the chunk width is set to 60.
[0093] If the shift amount (set by the number of data points) is set to 1 or greater, chunks are set starting from data points shifted backward from the beginning of the training data by the shift amount sht, as shown in the 5th row of Figure 16A. Here, in the 4th setting screen (Figure 14), the number of data delimiters can be set in the data delimiter setting unit ST58B. In the case of Figure 16A, the number of data delimiter points is set to 60 and the shift amount is set to 2. As a result, as shown in the 5th row of Figure 16A, chunks are set starting from data points shifted backward from the beginning by the shift amount sht (=2) for each data point of the training data delimiter, the maximum number of chunks that can fit within the data points of the delimiter (=11) is set, and data after the set chunk (=3 points) in the data points of the delimiter are discarded. Note that the same chunk setting applies to the data to be inferred. Setting the shift amount may help avoid missing anomalies. Note that in the example of Figure 14, the shift amount is set to 0.
[0094] On the other hand, as shown in Figure 17, a simulation was also performed with the chunk width set to 5 × 1 = 5 in the second settings screen. That is, the chunk width was set to be shorter than the previous chunk width of 60. In this case, since the number of data points for each of data points from data 1 to data 14 is 60, 60 / 5 = 12 chunks are set for each of the data points from data 1 to data 14. In the second settings screen in Figure 17, the chunk count display unit DA15 shows 840 / 5 = 168.
[0095] In this case, the settings on the third settings screen were as shown in Figure 18, and as before, no preprocessing was performed. Then, the settings on the fourth settings screen were as shown in Figure 19. That is, the shift amount = 0, and the chunks were set as shown in the fourth row of Figure 16A. After running the simulation, the first graph screen shown in Figure 20 was obtained. As shown in Figure 20, 12 chunks correspond to each of the time course data from data 1 to data 14 displayed in the graph display unit GD1, and the degree of anomaly for each chunk is displayed in the graph display unit GD2. From this, it can be seen that the degree of anomaly is high near the beginning of each of the data 13 and 14.
[0096] Figure 21 shows an enlarged view of data 13 in the graph display section GD1 and GD2 shown in Figure 20 (tab TB52). For example, you can enlarge the view by drawing a box around the data range in the graph display section with the mouse cursor. As you can see, a step-like distortion occurs in the time course data at the location corresponding to the second chunk from the beginning, resulting in a large discrepancy with the inference result (AI prediction) and a high degree of anomaly.
[0097] Figure 22 shows a magnified view of data 14 in the graph display sections GD1 and GD2 shown in Figure 20 (tab TB52). As can be seen, a step-like distortion occurs in the time course data at the location corresponding to the fourth chunk from the beginning, resulting in a large discrepancy with the inference result (AI prediction) and a high degree of anomaly.
[0098] In this way, the anomaly score in chunks with a long chunk width (first anomaly score) can be used to check for overall anomalies, and the anomaly score in chunks with a short chunk width (second anomaly score) can be used to identify which parts of the data are particularly abnormal, thus pinpointing localized anomalies. Once the anomaly in the data is identified, it becomes possible to determine that there is a high probability that a predetermined anomaly mode is occurring. For example, in the absorbance time course data from the biochemical analyzer described above, if the first anomaly score is slightly higher than normal, and the second anomaly score is very high only in specific chunks, and there are no similar trends in other anomaly modes, then it can be identified as a step-like distortion originating from a mechanical part.
[0099] For example, training and inference can be performed with a chunk width of 5 (shift amount = 0) as shown in the fourth row of Figure 16A, while training and inference can also be performed with a chunk width of 7 (shift amount = 0) as shown in the sixth row of Figure 16A. In other words, training and inference can be performed with two different chunk widths. Note that with a chunk width of 7, the last 4 data points in the data with the number of data delimiters (= 60) are discarded. However, for example, in the case of Figure 16A, the delimiter corresponding to data No. 35 and 36 is common to both chunk widths of 5 and 7 for the data to be inferred, so if an anomaly occurs at this delimiter, there is a possibility that the anomaly will not be detected. To avoid this, the other chunk width should be set to 12 or more so that the least common multiple of the two chunk widths is 60 or more (= number of data delimiters).
[0100] As shown in Figure 16B, a shift amount sht may be set for continuous measurement data DATA without the data delimiters described above, and then chunk CHK may be set. In this case, the continuous measurement data DATA may include both training data and inference data, or it may consist only of inference data.
[0101] <Biochemical analyzer> Next, a biochemical analyzer according to an embodiment of this disclosure will be described. Figure 23 is a schematic diagram showing the internal structure of the biochemical analyzer 50. Figure 24 is a block diagram of the biochemical analyzer 50.
[0102] As shown in Figure 23, the biochemical analyzer 50 includes a rotary table 501 and a chip holder 502. Also, as shown in Figure 24, the biochemical analyzer 50 includes a light source unit 51, a light receiving unit 52, a drive unit 53, and a measurement control unit 54.
[0103] The biochemical analyzer 50 is a device for analyzing and testing biochemical samples, such as blood, using a microchip 503. The rotary table 501 is driven to rotate by a drive unit 53. A chip holder 502 is rotatably fixed to the rotary table 501. The chip holder 502 is driven to rotate independently of the rotary table 501 by the drive unit 53. The microchip 503 is held by the chip holder 502.
[0104] Blood collected from the subject is injected into the microchip 503, for example, by aspirating it using a capillary. The microchip 503 is then attached to the chip holder 502. The analytical test in the biochemical analyzer 50 includes a pretreatment operation to prepare a test solution according to the test item, and a measurement operation to measure the absorbance of the test solution obtained by this pretreatment operation.
[0105] The pre-processing operation is performed using centrifugal force acting on the microchip 503 as the rotary table 501 is driven to rotate, and includes a separation process to separate the target liquid from the sample, a weighing process to dispense a certain amount of the target liquid, a mixing and reaction process to prepare a test solution by mixing and reacting the target liquid with a reagent, and a feeding process to send the prepared test solution to the measurement cell in the microchip 503. Each process in the pre-processing operation is performed sequentially while the orientation of the microchip 503 is switched by the chip holding unit 502.
[0106] After the pre-processing operation, the measurement operation is performed on the measurement cell. Here, light is irradiated from the light source unit 51 onto the measurement cell of the microchip 503, and the light that has passed through the inspection liquid in the measurement cell is received by the light receiving unit 52. The measurement control unit 54 measures the absorbance based on the amount of light received by the light receiving unit 52. The measurement control unit 54 acquires the time change of absorbance (time course data).
[0107] This yields absorbance time-course data, as exemplified in Figure 7 mentioned earlier. As previously stated, Figure 7 shows 14 time-course data points from Data 1 to Data 14, and Figure 8 shows Data 1 to Data 14 arranged in order.
[0108] In the example shown in Figure 8, data 1 through 12 are considered normal data, while data 13 and 14 are considered abnormal data. Data 13 and 14 include an abnormality in which a step-like distortion occurs. The measurement operation is performed with the rotary table 501 and the chip holder 502 stopped, but such step-like distortion may occur depending on the mechanical conditions.
[0109] To detect such anomalies, the biochemical analyzer 50 of this embodiment uses machine learning and anomaly score calculation. The anomaly detection process in the biochemical analyzer 50 will be explained in accordance with the flowchart shown in Figure 25.
[0110] Here, the learning processing unit 541 in the measurement control unit 54 performs training (unsupervised learning) on a machine learning model using normal absorbance time course data. The machine learning model is input with chunks of long chunk width (first chunk width) and chunks of short chunk width (second chunk width), respectively, to obtain the first learning result and the second learning result. The first chunk width is the number of data points in one time course data. In the example in Figure 8, since data 1 to data 9 are used for training, the number of data points in each time course data from data 1 to data 9 becomes the first chunk width, so the first chunk width = 60. On the other hand, if the second chunk width = 5, then 60 / 5 = 12 chunks are set for each data from data 1 to data 9.
[0111] Subsequently, each time new time-course data is acquired, the process shown in Figure 25 is initiated. First, in step S1, the inference processing unit 542 in the measurement control unit 54 performs inference on the acquired time-course data using a machine learning model. Here, inference is performed with a first chunk width. In the example in Figure 8, for example, if data 10 is acquired, 60 inference data points are obtained when data 10 is input to the machine learning model with a first chunk width (=60). Note that the inference is performed with the shift amount = 0 as shown in Figure 16 mentioned earlier.
[0112] Furthermore, in step S1, the first anomaly calculation unit 543 in the measurement control unit 54 calculates the anomaly score (first anomaly score) for the first chunk width. The anomaly score is calculated based on the input data, inference data, and loss function. In the case of data 10, one first anomaly score is calculated.
[0113] The process proceeds to step S2, where the determination unit 544 in the measurement control unit 54 determines whether the first anomaly score obtained in step S1 is equal to or greater than the threshold TH1. If the first anomaly score is not equal to or greater than the threshold TH1, the process proceeds to step S3, where the acquired time course data is output as a measured value from the output unit 545 in the measurement control unit 54.
[0114] On the other hand, if the first abnormality level is equal to or greater than the threshold TH1, the process proceeds to step S4, where the determination unit 544 determines whether the first abnormality level is equal to or greater than the threshold TH2 (>TH1). If the first abnormality level is equal to or greater than the threshold TH2, the output unit 545 outputs an error.
[0115] If the first anomaly score is not equal to or greater than the threshold TH2, the process proceeds to step S5. In step S5, the inference processing unit 542 performs inference on the acquired time course data using a machine learning model. Here, inference is performed with a second chunk width. For example, if data 10 is acquired, five inference data points are obtained when data 10 is input to the machine learning model with a second chunk width (=5). Note that inference is performed with a shift amount of 0, and 12 chunks are set for data 10.
[0116] Furthermore, in step S5, the second anomaly calculation unit 546 in the measurement control unit 54 calculates the anomaly degree (second anomaly degree) for the second chunk width. For example, 12 second anomaly degrees are calculated for data 10.
[0117] The process proceeds to step S6, where the determination unit 544 determines the number of second anomalies with a high value among the calculated second anomaly scores (number of anomalies). Here, if the second anomaly score is above a predetermined threshold, it is determined that the second anomaly score is high.
[0118] If the number of anomalies is 2 or more, the process proceeds to step S7, and an error is output by the output unit 545. On the other hand, if the number of anomalies is 0, the process proceeds to step S8. In step S8, the inference processing unit 542 performs inference after shifting the chunks of the acquired time course data. Here, inference is performed using the second chunk width. In this case, the shift amount sht shown in Figure 16 is set to 1 or more. Furthermore, in step S8, the second anomaly degree calculation unit 546 calculates the second anomaly degree. Here, the inference result obtained when the chunks were shifted as described above is used.
[0119] Furthermore, in step S5, the second anomaly calculation unit 546 in the measurement control unit 54 calculates the anomaly degree (second anomaly degree) for the second chunk width. For example, 12 second anomaly degrees are calculated for data 10.
[0120] The process proceeds to step S9, where the determination unit 544 determines the number of second anomalies with the higher value among the second anomaly scores calculated in step S8 (number of anomalies). If the number of anomalies is not 1, the process proceeds to step S10, and the output unit 545 outputs an error. On the other hand, if the number of anomalies is 1, the process proceeds to step S10. Note that if the number of anomalies is 1 in step S6, the process also proceeds to step S10.
[0121] In step S10, the correction unit 548 in the measurement control unit 54 performs a correction process. The correction process corrects the absorbance data in one high second anomaly chunk identified in step 6 or step S9. The correction process will be explained using Figure 26. Figure 26 shows an example of time course data, showing from left to right: measurement time, absorbance data before correction, difference (=difference between before and after the absorbance data before correction), average of the differences in one chunk, and absorbance data after correction.
[0122] In the correction process, the average of the differences (1.65 and 1.59) between each chunk CK1 and CK2 before and after the identified abnormal chunk CK0 is calculated (the average is 2.26). Then, the calculated average is added to the last uncorrected absorbance data in chunk CK1, which precedes the abnormal chunk CK0, for each measurement time to generate the corrected absorbance data. For chunks CK2 and beyond, which follow the abnormal chunk CK0, the difference from the uncorrected data is added to the last corrected absorbance data in the abnormal chunk CK0 for each measurement time to generate the corrected absorbance data.
[0123] The process proceeds to step S11, where the output unit 545 outputs the corrected absorbance data. After steps S3, S7, or S11, the process is completed (end).
[0124] With this type of anomaly detection process, in the example shown in Figure 8, when data 13 and data 14 are acquired, the second degree of anomaly can be calculated to detect and correct step-like distortions. This eliminates the need for repeated measurement operations.
[0125] <Other> Furthermore, the various technical features disclosed herein can be modified in various ways, in addition to the embodiments described above, without departing from the spirit of the technical creation. In other words, the embodiments described above should be considered in all respects to be illustrative and not restrictive, and the technical scope of the present invention should be understood to include all modifications that fall within the meaning and scope equivalent to the claims, rather than being limited to the embodiments described above.
[0126] For example, in the above embodiment, chunks were defined two-dimensionally by the number of rows and columns, but chunks may also be defined in three or more dimensions.
[0127] Furthermore, for example, the anomaly detection method of this disclosure is not limited to the above-described embodiment, but can be applied to various industrial machinery, home appliances, analytical instruments, medical devices, and the like.
[0128] <Note> As described above, one aspect of this disclosure is an anomaly detection method using a computing device (100A), When supplying data sequentially to a machine learning model, a single chunk of data is referred to as a chunk. The first step involves obtaining a first learning result by training the machine learning model with a first chunk width based on the first data, A second step involves obtaining a first inference result by performing inference using the machine learning model with the first chunk width based on the second data and the first learning result, A third step of calculating a first anomaly score for each first chunk width based on the second data and the first inference result, A fourth step is to obtain a second learning result by training the machine learning model with a second chunk width shorter than the first chunk width based on the first data, A fifth step is to obtain a second inference result by performing inference with the machine learning model using the second chunk width based on the second data and the second learning result, A sixth step of calculating the second anomaly score for each second chunk width based on the second data and the second inference result, It has (first configuration).
[0129] With this configuration, it becomes possible to accurately detect anomalies by generating a second anomaly score.
[0130] Furthermore, in the first configuration described above, the fifth and sixth steps may also include changing the amount of chunk shift of the second chunk width relative to the second data (second configuration).
[0131] Furthermore, in the first or second configuration described above, the fourth, fifth, and sixth steps may be performed while changing the second chunk width between two different widths (third configuration).
[0132] Furthermore, in the third configuration described above, the first data and the second data may include measurement data separated by a predetermined number of data points, and the width of the other of the two types may be set such that the least common multiple of the width of the other of the two types is equal to or greater than the predetermined number of data points (fourth configuration).
[0133] Furthermore, one aspect of this disclosure is a computing device used in an anomaly detection method of any of the first to fourth configurations described above (fifth configuration).
[0134] Furthermore, one aspect of this disclosure is a program (P) used in an anomaly detection method of any of the first to fourth configurations described above (sixth configuration).
[0135] Furthermore, one aspect of this disclosure is a correction method for correcting abnormal data detected by any of the first to fourth configurations described above (the seventh configuration).
[0136] Furthermore, in one aspect of this disclosure, the anomaly score generation device (50) refers to a single block of data when sequentially supplying data to a machine learning model as a chunk, A first learning processing unit (541) obtains a first learning result by performing unsupervised learning using the machine learning model with a predetermined first chunk width based on the first data, A first inference processing unit (542) obtains a first inference result by performing inference using the machine learning model with the first chunk width based on the second data and the first learning result, A first anomaly calculation unit (543) calculates a first anomaly score at the first chunk width based on the second data and the first inference result, A second learning processing unit (541) obtains a second learning result by performing unsupervised learning using the machine learning model with a second chunk width shorter than the first chunk width based on the first data, A second inference processing unit (542) obtains a second inference result by performing inference using the machine learning model with the second chunk width based on the second data and the second learning result, A second anomaly calculation unit (546) calculates a second anomaly score at the second chunk width based on the second data and the second inference result, It includes (the eighth configuration).
[0137] Furthermore, in the eighth configuration described above, the first data and the second data are time-varying data of the object being measured, and the system may also include a correction unit configured to correct the data detected as abnormal by the second abnormality level (ninth configuration).
[0138] Furthermore, the abnormality generation device of the ninth configuration described above is a biochemical analyzer, and the time-change data of the measurement target may be configured to be absorbance data of the test solution (the tenth configuration). [Industrial applicability]
[0139] This disclosure can be used, for example, in simulation devices or analytical devices for various applications. [Explanation of Symbols]
[0140] 1. Simulation device 2 File storage section 3. File reading section 4 Model Memory Unit 5. Model Calculation Unit 6. Model Setting Section 7 Display Control Unit 8. Operation Input Section 9 Display section 10. 3-Layer Neural Network 10A Input Layer 10B Hidden Layer 10C output layer 21 Data files 40 Machine Learning Models 100 Computers 100A CPU 100B memory 100C auxiliary storage 100D Operation Input Section 100E Display section 210 data 401 Pre-processing section 402 Machine Learning Department 50 Biochemical analyzer 51 Light source section 52 Light receiving section 53 Drive unit 54 Measurement Control Unit 501 Rotating Table 502 Chip holding section 503 Microchip 541 Learning Processing Unit 542 Inference Processing Unit 543 First abnormality calculation unit 544 Judgment section 545 Output section 546 Second abnormality calculation unit 548 Correction section P Program< / gui>
Claims
1. An anomaly detection method using a computing device, When supplying data sequentially to a machine learning model, a single chunk of data is referred to as a chunk. The first step involves obtaining a first learning result by training the machine learning model with a first chunk width based on the first data, A second step involves obtaining a first inference result by performing inference using the machine learning model with the first chunk width based on the second data and the first learning result, A third step of calculating a first anomaly score for each first chunk width based on the second data and the first inference result, A fourth step is to obtain a second learning result by training the machine learning model with a second chunk width shorter than the first chunk width based on the first data, A fifth step is to obtain a second inference result by performing inference with the machine learning model using the second chunk width based on the second data and the second learning result, A sixth step of calculating the second anomaly score for each second chunk width based on the second data and the second inference result, An anomaly detection method having the following characteristics.
2. The anomaly detection method according to claim 1, wherein the fifth and sixth steps also include changing the amount of chunk shift of the second chunk width relative to the second data.
3. The anomaly detection method according to claim 1, wherein the fourth step, the fifth step, and the sixth step are performed while changing the second chunk width by two different widths.
4. The first data and the second data include measurement data separated by a predetermined number of data points. The anomaly detection method according to claim 3, wherein the other width of the two types is set such that the least common multiple of the width of one of the two types is equal to or greater than the predetermined number of data points.
5. A computing device used in the anomaly detection method according to any one of claims 1 to 4.
6. A program used in the anomaly detection method according to any one of claims 1 to 4.
7. A correction method for correcting abnormal data detected by the abnormality detection method described in any one of claims 1 to 4.
8. When supplying data sequentially to a machine learning model, a single chunk of data is referred to as a chunk. A first learning processing unit obtains a first learning result by performing unsupervised learning using the machine learning model with a predetermined first chunk width based on the first data, A first inference processing unit obtains a first inference result by performing inference using the machine learning model with the first chunk width based on the second data and the first learning result, A first anomaly calculation unit calculates a first anomaly score at the first chunk width based on the second data and the first inference result, A second learning processing unit obtains a second learning result by performing unsupervised learning using the machine learning model with a second chunk width shorter than the first chunk width based on the first data, A second inference processing unit obtains a second inference result by performing inference using the machine learning model with the second chunk width based on the second data and the second learning result, A second anomaly calculation unit calculates a second anomaly score at the second chunk width based on the second data and the second inference result, An abnormality level generating device equipped with the following features.
9. The first data and the second data are time-varying data of the object being measured. The abnormality degree generation device according to claim 8, further comprising a correction unit configured to correct data detected as abnormal by the second abnormality degree.
10. The abnormality level generating device according to claim 9 is a biochemical analyzer, The aforementioned time-varying data of the measured object is absorbance data of the test solution, in an abnormality level generating device.