WO2019187433A1 - 製品検出装置、方法およびプログラム - Google Patents

製品検出装置、方法およびプログラム Download PDF

Info

Publication number
WO2019187433A1
WO2019187433A1 PCT/JP2018/047771 JP2018047771W WO2019187433A1 WO 2019187433 A1 WO2019187433 A1 WO 2019187433A1 JP 2018047771 W JP2018047771 W JP 2018047771W WO 2019187433 A1 WO2019187433 A1 WO 2019187433A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
product
window
normal
difference
Prior art date
Application number
PCT/JP2018/047771
Other languages
English (en)
French (fr)
Inventor
勇矢 松本
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to US16/981,857 priority Critical patent/US20210125088A1/en
Priority to JP2020509659A priority patent/JP7092184B2/ja
Publication of WO2019187433A1 publication Critical patent/WO2019187433A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to a product detection device, a product detection method, and a product detection program for detecting a product deviating from a normal pattern among products determined to be normal.
  • Patent Literature 1 describes a system that performs abnormality determination on a monitoring target using sensor data accumulated in the past. Further, Patent Document 1 describes that segment data is cut out by dividing time-series data.
  • a recursive neural network as a technology for automatically detecting anomalies from time series data using machine learning.
  • learning using both abnormal data and normal data is necessary.
  • Patent Document 2 infers a latent variable from input data, generates restoration data from the latent variable based on a previously learned model, and based on the difference between the input data and the restoration data, the input data An abnormality detection method for determining whether or not is normal is described.
  • the present invention provides a product detection apparatus, a product detection method, and a product detection program that can detect a normal product that is deviated from a normal pattern from normal products that are determined to be normal. With the goal.
  • the product detection apparatus divides the data extracted using the first window into the first half data and the second half data from the time series data of normal products.
  • Window data storage means for storing a plurality of window data, each of which is a combination of the size of each of the second window and the third window for sliding and the slide size when the first window is slid, and the window data sequentially A set of first-half data and second-half data obtained using the first window, the second window, and the third window from the time-series data of each of the selected normal products as teacher data, Learning means to learn the model for restoring the second half data from the first half data and the selected window Based on the selected window data and restored data generation means for generating restored data of the latter half data by applying the first half data to the model for each pair of the first half data and the latter half data obtained based on the data
  • the difference calculation means for calculating the difference between the latter half data and the restored data obtained for each normal product, and the window data determination for determining the window data satisfying a predetermined condition based on the difference calculated
  • the product detection method includes a first window size for extracting data from time-series data of normal products, and data extracted using the first window as first half data and second half data.
  • a computer having window data storage means for storing a plurality of window data that is a combination of the size of each of the second window and the third window to be divided and the slide size when the first window is slid Window data is sequentially selected, and a set of first half data and second half data obtained from the time series data of each of a plurality of normal products using the first window, the second window, and the third window.
  • the product detection program includes a first window size for extracting data from time-series data of normal products, and data extracted using the first window as first half data and second half data.
  • a computer having window data storage means for storing a plurality of window data that is a combination of the size of each of the second window and the third window to be divided and the slide size when the first window is slid
  • a product detection program installed in the computer wherein window data is sequentially selected by a computer, and a first window, a second window, and a third window are used from time-series data of each of a plurality of normal products.
  • the set of the obtained first half data and second half data is used as teacher data.
  • a detection process for detecting a predetermined normal product from the products is executed.
  • a normal product that deviates from a normal pattern can be detected from normal products that are determined to be normal.
  • a product that is determined to be normal is referred to as a normal product. It is assumed that the determination as to whether the product is a normal product has been made in advance. Moreover, the determination method of whether it is a normal product is not specifically limited.
  • the present invention detects a normal product that deviates from a normal pattern from a plurality of normal products.
  • FIG. FIG. 1 is a block diagram showing an example of a product detection apparatus according to the first embodiment of the present invention.
  • the product detection apparatus 100 according to the first embodiment of the present invention includes a time series data storage unit 1, a data cutout unit 2, a divided data storage unit 3, a learning unit 4, a model storage unit 5, and restored data.
  • the time series data storage unit 1 is a storage device that stores time series data of a plurality of normal products.
  • the time-series data is data representing a change in numerical value with the passage of time.
  • the time-series data is data in which numerical values are associated with times arranged in the order of passage of time. What this numerical value represents is not particularly limited.
  • Time-series data including numerical values corresponding to the types of normal products may be stored in the time-series data storage unit 1 in advance.
  • the time series data may be data obtained directly from a normal product, or may be data obtained from a sensor that monitors a normal product.
  • identification information is assigned to each normal product in advance, and the identification information of the normal product is associated with the time series data.
  • the window data storage unit 10 is a storage device that stores a plurality of window data.
  • One window data is a combination of the size of the first window, the size of the second window, the size of the third window, and the slide size (sliding amount) when sliding the first window. .
  • the first window is a window for extracting data from time series data.
  • Each of the second window and the third window is a window for dividing the data cut out using the first window into the first half data and the second half data.
  • the second window corresponds to the first half data
  • the third window corresponds to the second half data.
  • the size of the first window is the size of the size of the second window and the size of the third window.
  • the data cutout unit 2 sequentially selects a plurality of window data stored in the window data storage unit 10 one by one.
  • the data cutout unit 2 cuts out data from the time series data of each of the plurality of normal products using the first window corresponding to the selected window data. Further, the data cutout unit 2 divides the cut out data into the first half data and the second half data using the second window and the third window corresponding to the window data.
  • the data cutout unit 2 overlaps the right end of the second window and the left end of the third window, and cuts out data from the data cut out using the first window using the second window and the third window.
  • the data cut out using the first window is divided into the first half data and the second half data.
  • data cut out using the first window may be referred to as cut-out data.
  • identification information is assigned to individual window data in advance, and each window data is stored in the window data storage unit 10 together with the identification information of the window data.
  • the data cutout unit 2 cuts out data from the time series data of one normal product using the first window and divides the cutout data into the first half data and the second half data according to the slide size of the first window. Repeat while sliding. If the data cutout unit 2 cannot slide the first window, the data cutout unit 2 ends the cutout of data from the time series data.
  • FIG. 2 is a schematic diagram showing a process in which the data cutout unit 2 cuts out data from time-series data using the first window.
  • the time-series data 40 is data in which numerical values (sensor values) obtained by the sensor monitoring normal products are associated with times arranged in the order of passage of time. This also applies to FIGS. 3 and 4 described later.
  • the data cutout unit 2 cuts out data from the time series data 40 with the size of the first window 31. As a result, cut-out data 41 is obtained.
  • FIG. 3 is a schematic diagram showing a process in which the data cutout unit 2 divides the cutout data 41 into the first half data and the second half data.
  • the data cutout unit 2 overlaps the right end of the second window 32 and the left end of the third window 33, and cuts out data from the cutout data 41 with the size of the second window 32 and the size of the third window 33.
  • the cut-out data 41 is divided into first half data 42 and second half data 43.
  • the second window 32 is indicated by a one-dot chain line
  • the third window 33 is indicated by a broken line.
  • FIG. 4 is a schematic diagram showing a slide of the first window.
  • the data cutout unit 2 slides the first window 31 in the time axis direction according to the slide size corresponding to the selected window data, cuts out the cutout data 41 from the time series data 40, and cuts out the cutout data 41 into the first half data 42.
  • the data is divided into the latter half data 43.
  • the data cutout unit 2 repeats this process until the first window cannot be slid in the time-series data 40.
  • the data cutout unit 2 executes this process for each of the time series data of a plurality of normal products.
  • the data extraction unit 2 obtains a set of the first half data 42 and the second half data 43
  • the set is used as the normal product corresponding to the identification information of the selected window data and the time series data to be processed. Are stored in the divided data storage unit 3 in association with the identification information.
  • the divided data storage unit 3 is a storage device that stores a set of sets of the first half data 42 and the second half data 43.
  • the learning unit 4 associates the set of the first half data 42 and the second half data 43 obtained based on the window data most recently selected by the data cutout unit 2 (that is, associated with the identification information of the most recently selected window data).
  • a model for restoring the second half data from the first half data is learned (generated) by machine learning.
  • the learning unit 4 stores the generated model in the model storage unit 5 in association with the most recently selected window data identification information.
  • the model storage unit 5 is a storage device that stores the model generated by the learning unit 4.
  • the restoration data generation unit 6 reads the model associated with the identification information of the most recently selected window data from the model storage unit 5, and the first half data and the second half associated with the identification information of the window data. All pairs with data are read from the divided data storage unit 3. Then, the restored data generation unit 6 restores the latter half data by applying the first half data to the model for each pair of the first half data and the second half data. The restored second half data is referred to as restored data. That is, the restoration data generation unit 6 generates restoration data of the latter half data by applying the first half data to the model for each pair of the first half data and the second half data. The restored data generation unit 6 executes this process for each normal product (in other words, for each identification information of the normal product). The restoration data generation unit 6 stores the generated restoration data in the restoration data storage unit 7 in association with the identification information of the most recently selected window data and the identification information of the normal product.
  • the restoration data storage unit 7 is a storage device that stores the restoration data generated by the restoration data generation unit 6.
  • the difference calculation unit 8 reads each latter half data associated with the identification information of the most recently selected window data from the divided data storage unit 3, and restores each restoration data corresponding to each latter half data to the restoration data storage unit Read from 7.
  • the restored data corresponding to the latter half data is restored data generated based on the first half data paired with the latter half data.
  • the difference calculation unit 8 calculates the difference between the latter half data and the restored data for each normal product (in other words, for each normal product identification information).
  • the data cutout unit 2 generates a pair of the first half data and the second half data while sliding the first window. Therefore, a plurality of latter half data exists for one normal product, and restored data exists for each of the plurality of latter half data. That is, there are a plurality of pairs of the latter half data and the restored data for one normal product. Therefore, the difference calculation unit 8 first calculates a plurality of differences between the latter half data and the restored data for one normal product. At this time, the difference calculation unit 8 calculates the difference as a numerical value.
  • the difference calculation unit 8 may calculate an average value of the square of the difference between the numerical values at the same time as the difference between the latter half data and the restored data.
  • the method of calculating the difference as a numerical value is not limited to this method, and the difference may be calculated by another method.
  • the difference calculation unit 8 calculates a plurality of differences between the latter half data and the restored data for one normal product, and then derives one difference corresponding to the normal product based on the plurality of differences. .
  • the difference calculation unit 8 may calculate an average value of the plurality of differences and determine the average value as one difference corresponding to the normal product.
  • the difference calculation unit 8 may specify the maximum value of the plurality of differences and determine the maximum value as one difference corresponding to the normal product.
  • a product difference one difference corresponding to one normal product derived based on a plurality of differences.
  • the difference calculation unit 8 calculates a plurality of differences between the latter half data and the restored data for each normal product as described above, and derives a product difference based on the plurality of differences.
  • the difference calculation unit 8 stores the product difference in the product difference storage unit 9 in association with the identification information of the most recently selected window data and the identification information of the normal product.
  • the product difference storage unit 9 is a storage device that stores the product difference derived by the difference calculation unit 8.
  • the window data determination unit 11 determines one window data satisfying a predetermined condition from a plurality of window data stored in the window data storage unit 10 based on the product difference derived for each normal product. . Details of the process in which the window data determination unit 11 determines the window data will be described later.
  • the window data determination unit 11 causes the determined window data storage unit 12 to store the determined window data.
  • the determined window data storage unit 12 is a storage device that stores the window data determined by the window data determination unit 11.
  • the product detection unit 13 reads the window data determined by the window data determination unit 11 from the determined window data storage unit 12. Then, the product detection unit 13 detects a predetermined normal product from a plurality of normal products based on the product difference for each normal product obtained based on the window data. More specifically, the product detection unit 13 corresponds to the number of a predetermined ratio (for example, 5%) with respect to the number of normal products among the product differences for each normal product obtained based on the window data. Product differences are selected in descending order of product differences, and normal products corresponding to the selected product differences are detected.
  • the product detection unit 13 detects a normal product having a large product difference. Accordingly, it can be said that the normal product detected by the product detection unit 13 is a normal product deviated from the normal pattern.
  • the data cutout unit 2, the learning unit 4, the restoration data generation unit 6, the difference calculation unit 8, the window data determination unit 11, and the product detection unit 13 are, for example, a CPU (Central Processing Unit) of a computer that operates according to a product detection program. It is realized by. In this case, the CPU reads the product detection program from a program recording medium such as a computer program storage device, and in accordance with the program, the data cutout unit 2, the learning unit 4, the restored data generation unit 6, the difference calculation unit 8, and the window data determination The unit 11 and the product detection unit 13 may be operated.
  • a CPU Central Processing Unit
  • FIG. 5 is a flowchart showing an example of processing progress of the product detection apparatus 100 of the present invention. In the following description, description of items already described will be omitted as appropriate.
  • the data cutout unit 2 selects one window data that has not been selected from the plurality of window data stored in the window data storage unit 10, and reads the window data (step S101).
  • the data cutout unit 2 obtains a pair of first half data and second half data from each time series data (step S102).
  • FIG. 6 is a flowchart showing an example of processing progress of step S102.
  • the data cutout unit 2 reads time-series data of a plurality of normal products from the time-series data storage unit 1 (step S201).
  • the data cutout unit 2 cuts out data from each time series data using the first window, and divides the cutout data into the first half data and the second half data (step S202). Specifically, in step S202, the data cutout unit 2 performs the following processing for each time series data. The data cutout unit 2 cuts out data from the time-series data with the size of the first window corresponding to the selected window data. Then, the data cut-out unit 2 cuts out data from the data (cut-out data) with the size of the second window and the size of the third window by overlapping the right end of the second window and the left end of the third window. Thus, the cut-out data is divided into the first half data and the second half data. Furthermore, the data cutout unit 2 slides the first window according to the slide size corresponding to the selected window data, and repeats the same processing. If the first window cannot be slid in the time-series data, the process ends.
  • the data cutout unit 2 stores the set of the first half data and the second half data obtained in step S202 in the divided data storage unit 3 (step S203). At this time, the data cutout unit 2 associates the pair of the first half data and the second half data with the identification information of the selected window data and the identification information of the normal product corresponding to the time series data to be processed. And stored in the divided data storage unit 3.
  • step S203 step S102 ends.
  • step S102 the learning unit 4 learns a model for restoring the latter half data from the first half data (step S103).
  • FIG. 7 is a flowchart showing an example of processing progress of step S103.
  • the learning unit 4 converts the set of the first half data and the second half data associated with the identification information of the window data selected in the latest step S101 (see FIG. 5) into a divided data storage unit. 3 is read (step S301).
  • the learning unit 4 learns a model for restoring the second half data from the first half data by machine learning using the set of the first half data and the second half data as teacher data (step S302).
  • FIG. 8 is a schematic diagram illustrating learning of a model for restoring the latter half data.
  • the learning unit 4 may use a method capable of reproducing the input, such as an auto encoder, as a machine learning method.
  • a method capable of reproducing the input such as an auto encoder
  • One example of this technique is deep learning.
  • the learning unit 4 may generate a model for restoring the second half data from the first half data by deep learning.
  • the learning unit 4 stores the model generated in step S302 in the model storage unit 5 in association with the identification information of the window data selected in the latest step S101 (see FIG. 5) (step S303).
  • step S303 step S103 ends.
  • step S104 the restoration data generation unit 6 generates restoration data (step S104).
  • FIG. 9 is a flowchart showing an example of processing progress of step S104.
  • the restored data generation unit 6 stores all the pairs of the first half data and the second half data associated with the identification information of the window data selected in the latest step S101 (see FIG. 5). Read from unit 3 (step S401).
  • the restoration data generation unit 6 reads a model associated with the identification information of the window data from the model storage unit 5 (step S402). This model is the model learned in the most recent step S302.
  • the restored data generation unit 6 generates restored data of the latter half data by applying the first half data to the model for each pair of the first half data and the latter half data read in step S401 (step S403).
  • FIG. 10 is a schematic diagram illustrating generation of restoration data.
  • the restoration data generation unit 6 generates restoration data for each normal product (in other words, for each identification information of the normal product).
  • the restored data generation unit 6 associates the created restored data with the identification information of the window data selected in the most recent step S101 (see FIG. 5) and the identification information of the normal product, and stores the restored data. Store in the unit 7 (step S404).
  • step S404 step S104 ends.
  • step S104 the difference calculation unit 8 derives a product difference for each normal product (step S105).
  • FIG. 11 is a flowchart showing an example of processing progress of step S105.
  • the difference calculation unit 8 reads each latter half data associated with the identification information of the window data selected in the most recent step S101 (see FIG. 5) from the divided data storage unit 3, and each latter half.
  • Each restoration data corresponding to the data is read from the restoration data storage unit 7 (step S501).
  • the difference calculation unit 8 calculates a plurality of differences between the latter half data and the restored data for each normal product (in other words, for each identification information of the normal product).
  • the difference calculating unit 8 calculates, for example, an average value of the squares of the numerical differences between the same times as the difference between the latter half data and the restored data.
  • FIG. 12 is a schematic diagram illustrating a case where the difference between the latter half data and the restored data is small and large.
  • FIG. 12A shows a case where the difference between the latter half data and the restored data is small. If the latter half of the data can be expected by the model, the difference will be small.
  • FIG. 12B shows a case where the difference between the latter half data and the restored data is large. If the latter half of the data is unpredictable by the model, the difference will be large.
  • the difference calculation unit 8 further derives a product difference based on a plurality of differences for each normal product (step S502).
  • the difference calculation unit 8 calculates an average value of the plurality of differences, and uses the average value as a product of the normal product. It may be determined as a difference.
  • the difference calculation unit 8 may specify the maximum value of the plurality of differences and determine the maximum value as the product difference of the normal product.
  • the difference calculation unit 8 stores the product difference derived for each normal product in the product difference storage unit 9 (step S503). At this time, the difference calculation unit 8 associates each product difference with the identification information of the window data selected in the most recent step S101 (see FIG. 5) and the identification information of the normal product, and the product difference storage unit 9 Remember me.
  • step S105 ends.
  • step S105 it is determined whether there is any window data not selected in step S101 among the plurality of window data stored in the window data storage unit 10 (step S106).
  • step S106 If there is unselected window data (Yes in step S106), the product detection apparatus 100 repeats the processing from step S101.
  • the window data determination unit 11 determines one window data satisfying a predetermined condition based on the product difference derived for each normal product (step S107). ). In step S107, the window data determination unit 11 selects one window data suitable for distinguishing between a normal product shifted from the normal pattern and a normal product not shifted from the normal pattern.
  • the product difference of each normal product is derived for each window data by the repeated processing of steps S101 to S106, and stored in the product difference storage unit 9.
  • FIG. 13 is a flowchart showing an example of the processing progress of step S107.
  • the window data determination unit 11 first reads the product difference of each normal product from the product difference storage unit 9 for each window data (in other words, for each piece of window data identification information) (step S601).
  • the window data determination unit 11 divides each product difference into two groups: a group with a larger product difference and a group with a smaller product difference (step S602).
  • a group having a larger product difference is referred to as a first group, and a group having a smaller product difference is referred to as a second group.
  • step S602 the window data determination unit 11 calculates a product difference corresponding to the number of a predetermined ratio (for example, 5%) with respect to the number of normal products from the product differences derived for each normal product.
  • the product differences are selected in descending order, and the selected product differences are determined to belong to the first group. Further, the window data determination unit 11 determines that product differences other than the selected product difference belong to the second group.
  • the predetermined ratio is 5% will be described as an example, the predetermined ratio is not limited to 5%. In this example, 5% of the total number of product differences belongs to the first group and 95% belongs to the second group.
  • FIG. 14 shows an example of the frequency distribution of product differences when each product difference is divided into the first group and the second group.
  • FIG. 14 illustrates a frequency distribution of product differences when the product differences follow a normal distribution.
  • FIG. 15 is a schematic diagram illustrating a difference in the frequency distribution of product differences corresponding to two window data. All normal products are determined to be normal in advance. Therefore, the product difference of most normal products is expected to be close to zero. In the example shown in FIG. 15, in the product difference frequency distribution corresponding to the window data b, there are many product difference frequencies that are different from zero. Therefore, the window data b illustrated in FIG. 15 is not appropriate for detecting a normal product that deviates from the normal pattern.
  • window data in which all product differences are close to 0 is not appropriate for detecting products that deviate from the normal pattern. This is because if all product differences are values close to 0, it is not possible to distinguish between a product difference of a normal product that deviates from the normal pattern and a product difference of a normal product that does not deviate from the normal pattern.
  • the number distribution of product differences with values close to 0 is large, and the frequency distribution in which there are also product differences with values away from 0 is to detect normal products that deviate from the normal pattern. Is preferable. For example, it is preferable to obtain a frequency distribution (a frequency distribution of product differences) corresponding to the window data a illustrated in FIG.
  • the window data determination unit 11 determines the window data from which such a preferable frequency distribution is obtained by the process described below.
  • the window data determination unit 11 distributes the product difference belonging to the first group and the products belonging to the second group for each window data (in other words, for each piece of window data identification information).
  • the variance of the difference is calculated (step S603).
  • the window data determination unit 11 determines one window data based on the distribution of product differences belonging to the first group and the distribution of product differences belonging to the second group in each window data (step S604). ).
  • step S604 the window data determination unit 11 sets the maximum value (Y) of the product difference distributions belonging to the first group for each window data to the ideal value of the product difference distributions belonging to the first group. And Further, the window data determination unit 11 sets 0 as an ideal value of the variance of product differences belonging to the second group. Then, the window data determination unit 11 determines the difference between the variance of the product difference belonging to the first group and the ideal value Y of the variance, and the variance of the product difference belonging to the second group and the ideal value of the variance (0 The window data is determined on the basis of the difference from (). Here, the window data determination unit 11 specifies one window data in which the variance of product differences belonging to the first group and the variance of product differences belonging to the second group are close to ideal values.
  • the above operation will be described more specifically.
  • Y be the maximum value of the variances of product differences belonging to the first group for each window data.
  • the distribution of product differences belonging to the first group corresponding to one window data is set to y
  • the distribution of product differences belonging to the second group corresponding to the window data is set to x.
  • the window data determination unit 11 calculates the distance (for example, Euclidean distance) between the coordinates (0, Y) and the coordinates (x, y) for each window data, and satisfies the condition that the distance is the minimum. To decide.
  • window data A, B, and C For example, assume that there are three window data A, B, and C. It is assumed that the variance of product differences belonging to the first group corresponding to the window data A is “10” and the variance of product differences belonging to the second group is “3”. Further, it is assumed that the variance of product differences belonging to the first group corresponding to the window data B is “11” and the variance of product differences belonging to the second group is “2”. Further, it is assumed that the variance of product differences belonging to the first group corresponding to the window data C is “12” and the variance of product differences belonging to the second group is “4”.
  • the maximum value Y of the variances of product differences belonging to the first group is “12”. Therefore, the ideal value of the variance of product differences belonging to the first group is “12”. The ideal value of the variance of product differences belonging to the second group is “0”. Therefore, the coordinate (0, Y) is (0, 12).
  • the coordinates (x, y) corresponding to the window data A are (3, 10).
  • the coordinates (x, y) corresponding to the window data B are (2, 11).
  • the coordinates (x, y) of the coordinates corresponding to the window data C are (4, 12).
  • FIG. 16 is a schematic diagram illustrating an example of coordinates (0, Y) and coordinates (x, y) corresponding to each window data.
  • the window data determination unit 11 calculates the distance between the coordinates (0, 12) and the coordinates (x, y) for each window data, and determines the window data that satisfies the condition that the distance is the minimum. Since the coordinate at which the distance from the coordinate (0, 12) is minimum is (2, 11), in this example, the window data determination unit 11 sets the condition that the distance from (0, 12) is minimum. “Window data B” is determined as the window data to be satisfied.
  • step S604 the window data determination unit 11 stores the window data determined in step S604 together with the identification information in the determination window data storage unit 12 (step S605).
  • step S107 ends.
  • the product detection unit 13 detects a normal product that deviates from the normal pattern from a plurality of normal products based on the product differences obtained based on the window data determined in step S107. (Step S108).
  • FIG. 17 is a flowchart showing an example of the processing progress of step S108.
  • the product detection unit 13 reads the window data determined in step S107 from the determined window data storage unit 12 (step S701).
  • the product detection unit 13 reads each product difference corresponding to the window data from the product difference storage unit 9 (step S702).
  • the product detection unit 13 identifies a normal product that deviates from the pattern based on each product difference read in step S702 (step S703).
  • the product detection unit 13 selects product differences corresponding to the number of a predetermined ratio (for example, 5%) with respect to the number of normal products from the product differences read in step S702 in descending order of product differences. Select a normal product corresponding to the selected product difference.
  • the normal product identified in step S703 is a normal product that deviates from the normal pattern.
  • a plurality of window data are determined, and the product detection apparatus 100 derives a product difference of each normal product for each window data. Then, the product detection apparatus 100 determines window data suitable for detecting a normal product that deviates from the normal pattern.
  • the product detection apparatus 100 has a frequency distribution in which there are a large number of product differences with values close to 0 as the frequency distribution of product differences, and there are also product differences with values far from 0. Is determined from among a plurality of window data.
  • the product detection part 13 specifies the product difference which becomes the value away from 0 in that way. Therefore, according to the present embodiment, a normal product that deviates from the normal pattern can be detected from normal products that are determined to be normal by some inspection.
  • FIG. FIG. 18 is a block diagram illustrating an example of a product detection apparatus according to the second embodiment of this invention. Elements similar to those shown in FIG. 1 are given the same reference numerals as those in FIG.
  • the product detection apparatus 100 according to the second embodiment of the present invention further includes a display control unit 14 in addition to the elements included in the product detection apparatus 100 (see FIG. 1) according to the first embodiment.
  • the display control unit 14 displays the frequency distribution of product differences for each window data on a display device (not shown in FIG. 18). For example, the display control unit 14 displays the frequency distribution of product differences illustrated in FIG. 14 on the display device with respect to one window data. The display control unit 14 displays the frequency distribution of product differences on the display device in the same manner for other window data.
  • the display control unit 14 displays the frequency distribution of the product difference for each window data on the display device, so that the user can visually confirm the distribution of the product difference for each window data.
  • the display control unit 14 may display the window data stored in the determined window data storage unit 12 on the display device. In this case, the user can visually confirm the window data determined by the window data determination unit 11.
  • the display control unit 14 may cause the display device to display the identification information of the normal product detected by the product detection unit 13 (the normal product specified by the product detection unit 13 in step S703). In this case, the user can visually confirm a normal product determined to have deviated from the normal pattern.
  • the display control unit 14 is realized by, for example, a CPU of a computer that operates according to a product detection program.
  • the CPU reads the product detection program from a program recording medium such as a computer program storage device, and in accordance with the program, the data cutout unit 2, the learning unit 4, the restored data generation unit 6, the difference calculation unit 8, and the window data determination
  • the unit 11, the product detection unit 13, and the display control unit 14 may be operated.
  • FIG. 19 is a schematic block diagram showing a configuration example of a computer according to each embodiment of the present invention.
  • the computer 1000 includes a CPU 1001, a main storage device 1002, an auxiliary storage device 1003, an interface 1004, and a display device 1005.
  • the product detection apparatus 100 is mounted on a computer 1000.
  • the operation of the product detection apparatus 100 is stored in the auxiliary storage device 1003 in the form of a product detection program.
  • the CPU 1001 reads the product detection program from the auxiliary storage device 1003 and develops it in the main storage device 1002, and executes the processes described in the above embodiments according to the product detection program.
  • the auxiliary storage device 1003 is an example of a tangible medium that is not temporary.
  • Other examples of non-temporary tangible media include magnetic disks, magneto-optical disks, CD-ROMs (Compact Disk Read Only Memory), DVD-ROMs (Digital Versatile Disk Read Only Memory) connected via the interface 1004, Semiconductor memory etc. are mentioned.
  • the program is distributed to the computer 1000 through a communication line, the computer 1000 that has received the distribution may develop the program in the main storage device 1002 and execute the above processing.
  • FIG. 20 is a block diagram showing an outline of the product detection apparatus of the present invention.
  • the product detection apparatus of the present invention includes window data storage means 71, learning means 73, restoration data generation means 74, difference calculation means 75, window data determination means 76, and product detection means 77.
  • the window data storage means 71 obtains the size of the first window for extracting data from the time series data of normal products and the data extracted using the first window.
  • a plurality of window data which are combinations of the sizes of the second window and the third window for dividing the first half data and the second half data, and the slide size when the first window is slid, are stored.
  • the learning means 73 (for example, the learning unit 4) sequentially obtains window data and obtains the time series data of each of a plurality of normal products using the first window, the second window, and the third window. Further, a model for restoring the latter half data from the first half data is learned using a set of the first half data and the second half data as teacher data.
  • the restored data generation unit 74 (for example, the restored data generation unit 6) applies the first half data to the model for each pair of the first half data and the second half data obtained based on the selected window data, thereby obtaining the second half data. Generate restored data.
  • the difference calculation means 75 calculates the difference between the latter half data obtained based on the selected window data and the restored data for each normal product.
  • the window data determining means 76 determines window data that satisfies a predetermined condition based on the difference calculated for each normal product.
  • the detection unit 77 Based on the difference for each normal product obtained based on the window data determined by the window data determination unit 76, the detection unit 77 (for example, the product detection unit 13) selects a predetermined normal product from a plurality of normal products. Detect products.
  • the difference calculation means 75 calculates a plurality of differences between the latter half data and the restored data for each normal product, and sets the normal product based on the plurality of differences.
  • a product difference which is one corresponding difference, is derived, and the window data determination unit 76 determines a predetermined ratio to the number of normal products out of the product differences derived for each normal product for each window data.
  • Product differences corresponding to the number are selected in descending order of product difference, a first group to which the selected product difference belongs and a second group to which product differences other than the selected product difference belong are defined, and the first group
  • the distribution of product differences belonging to and the distribution of product differences belonging to the second group are calculated, the distribution of product differences belonging to the first group, and the distribution of product differences belonging to the second group Based on, it may be configured to determine the window data.
  • the window data determining means 76 sets the maximum value of the variances of product differences belonging to the first group for each window data as the ideal value of the variance of product differences belonging to the first group, and 0 to the second group An ideal value of the variance of the product difference belonging to the difference between the variance of the product difference belonging to the first group and the ideal value of the variance, and the variance of the product difference belonging to the second group and the ideal value of the variance
  • the window data may be determined based on the difference.
  • the window data determination means 76 sets Y as the maximum value of the variances of product differences belonging to the first group for each window data, and y as the variance of product differences belonging to the first group corresponding to one window data.
  • the variance of product differences belonging to the second group corresponding to the window data is x
  • the distance between coordinates (0, Y) and coordinates (x, y) is calculated for each window data, and the distance
  • the window data may be determined so as to satisfy the condition that is minimum.
  • the product difference corresponding to the number of a predetermined ratio with respect to the number of normal products is obtained from the product differences for each normal product obtained by the detection unit 77 based on the window data determined by the window data determination unit 76.
  • the configuration may be such that normal products corresponding to the selected product differences are detected by selecting in descending order of difference.
  • It may be configured to include display control means (for example, display control unit 14) for displaying the frequency distribution of product differences for each window data.
  • display control means for example, display control unit 14
  • the present invention is preferably applied to a product detection apparatus that detects a product that deviates from a normal pattern among products that are determined to be normal.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

正常と判定されている製品である正常製品の中から、正常パターンからずれている正常製品を検出することができる製品検出装置を提供する。学習手段73は、ウィンドウデータが順次、選択され、複数の正常製品それぞれの時系列データから得られた前半データと後半データとの組の集合を教師データとして、前半データから後半データを復元するためのモデルを学習する。差分計算手段75は、後半データと復元データとの差分を、正常製品毎に計算する。ウィンドウデータ決定手段76は、正常製品毎に計算された差分に基づいて、所定の条件を満たすウィンドウデータを決定する。製品検出手段77は、決定されたウィンドウデータに基づいて得られた正常製品毎の差分に基づいて、複数の正常製品の中から、所定の正常製品を検出する。

Description

製品検出装置、方法およびプログラム
 本発明は、正常と判定されている製品の中から、正常パターンからずれている製品を検出する製品検出装置、製品検出方法および製品検出プログラムに関する。
 センサから取得した時系列データから、機器の異常を自動検出する技術がある。例えば、特許文献1には、過去に蓄積したセンサのデータを用いて、監視対象に対する異常判定を行うシステムが記載されている。また、特許文献1には、時系列データを分割してセグメントデータを切り出すことが記載されている。
 また、機械学習を用いて、時系列データから異常を自動検知する技術として、再帰型ニューラルネットワークがある。再帰型ニューラルネットワークによって異常を検知する場合、異常データおよび正常データの両方のデータを使った学習が必要である。
 また、特許文献2には、入力データから潜在変数を推論し、予め学習されたモデルに基づいて、その潜在変数から復元データを生成し、入力データと復元データのずれに基づいて、その入力データが正常であるか否かを判定する異常検出方法が記載されている。
国際公開第WO2011/036809号 国際公開第WO2017/094267号
 何らかの検査によって正常であると判定された製品であっても、品質にはばらつきが生じる。そのため、正常と判定された製品の中から、正常パターンからずれた製品を見分けたいというニーズがある。正常と判定された製品であっても、正常パターンからずれた製品は、将来、故障する可能性があり、そのような故障の可能性のある製品を予測することが望まれているためである。
 しかし、再帰型ニューラルネットワークによって正常と判定された製品の中から、正常パターンからずれた製品を判定することは困難であった。これは、正常パターンからずれた製品を検出しようとする製品の集合は、全て、正常と判定された製品であり、何に着目すれば品質のばらつきを把握できるのかが不明であることが多かったためである。また、そのため、品質のばらつきを示す値を明確に定義することができなかった。その結果、正常と判定された製品の中から、正常パターンからずれた製品を判定することは困難であった。
 そこで、本発明は、正常と判定されている製品である正常製品の中から、正常パターンからずれている正常製品を検出することができる製品検出装置、製品検出方法および製品検出プログラムを提供することを目的とする。
 本発明による製品検出装置は、正常製品の時系列データから、データを抽出するための第1のウィンドウのサイズと、第1のウィンドウを用いて抽出されたデータを前半データと後半データと分割するための第2のウィンドウおよび第3のウィンドウそれぞれのサイズと、第1のウィンドウをスライドさせるときのスライドサイズとの組合せであるウィンドウデータを複数個、記憶するウィンドウデータ記憶手段と、ウィンドウデータが順次、選択され、複数の正常製品それぞれの時系列データから、第1のウィンドウ、第2のウィンドウおよび第3のウィンドウを用いて得られた前半データと後半データとの組の集合を教師データとして、前半データから後半データを復元するためのモデルを学習する学習手段と、選択されたウィンドウデータに基づいて得られた前半データと後半データとの組毎に、モデルに前半データを適用することによって、後半データの復元データを生成する復元データ生成手段と、選択されたウィンドウデータに基づいて得られた後半データと復元データとの差分を、正常製品毎に計算する差分計算手段と、正常製品毎に計算された差分に基づいて、所定の条件を満たすウィンドウデータを決定するウィンドウデータ決定手段と、ウィンドウデータ決定手段によって決定されたウィンドウデータに基づいて得られた正常製品毎の差分に基づいて、複数の正常製品の中から、所定の正常製品を検出する検出手段とを備えることを特徴とする。
 また、本発明による製品検出方法は、正常製品の時系列データから、データを抽出するための第1のウィンドウのサイズと、第1のウィンドウを用いて抽出されたデータを前半データと後半データと分割するための第2のウィンドウおよび第3のウィンドウそれぞれのサイズと、第1のウィンドウをスライドさせるときのスライドサイズとの組合せであるウィンドウデータを複数個、記憶するウィンドウデータ記憶手段を備えたコンピュータが、ウィンドウデータが順次、選択され、複数の正常製品それぞれの時系列データから、第1のウィンドウ、第2のウィンドウおよび第3のウィンドウを用いて得られた前半データと後半データとの組の集合を教師データとして、前半データから後半データを復元するためのモデルを学習し、選択したウィンドウデータに基づいて得た前半データと後半データとの組毎に、モデルに前半データを適用することによって、後半データの復元データを生成し、選択したウィンドウデータに基づいて得た後半データと復元データとの差分を、正常製品毎に計算し、正常製品毎に計算した差分に基づいて、所定の条件を満たすウィンドウデータを決定し、決定したウィンドウデータに基づいて得た正常製品毎の差分に基づいて、複数の正常製品の中から、所定の正常製品を検出することを特徴とする。
 また、本発明による製品検出プログラムは、正常製品の時系列データから、データを抽出するための第1のウィンドウのサイズと、第1のウィンドウを用いて抽出されたデータを前半データと後半データと分割するための第2のウィンドウおよび第3のウィンドウそれぞれのサイズと、第1のウィンドウをスライドさせるときのスライドサイズとの組合せであるウィンドウデータを複数個、記憶するウィンドウデータ記憶手段を備えたコンピュータに搭載される製品検出プログラムであって、コンピュータに、ウィンドウデータが順次、選択され、複数の正常製品それぞれの時系列データから、第1のウィンドウ、第2のウィンドウおよび第3のウィンドウを用いて得られた前半データと後半データとの組の集合を教師データとして、前半データから後半データを復元するためのモデルを学習する学習処理、選択されたウィンドウデータに基づいて得られた前半データと後半データとの組毎に、モデルに前半データを適用することによって、後半データの復元データを生成する復元データ生成処理、選択されたウィンドウデータに基づいて得られた後半データと復元データとの差分を、正常製品毎に計算する差分計算処理、正常製品毎に計算された差分に基づいて、所定の条件を満たすウィンドウデータを決定するウィンドウデータ決定処理、および、ウィンドウデータ決定処理で決定されたウィンドウデータに基づいて得られた正常製品毎の差分に基づいて、複数の正常製品の中から、所定の正常製品を検出する検出処理を実行させることを特徴とする。
 本発明によれば、正常と判定されている製品である正常製品の中から、正常パターンからずれている正常製品を検出することができる。
本発明の第1の実施形態の製品検出装置の例を示すブロック図である。 データ切り出し部が第1のウィンドウを用いて時系列データからデータを切り出す処理を示す模式図である。 データ切り出し部が切り出しデータを前半データと後半データとに分割する処理を示す模式図である。 第1のウィンドウのスライドを示す模式図である。 本発明の製品検出装置の処理経過の例を示すフローチャートである。 ステップS102の処理経過の例を示すフローチャートである。 ステップS103の処理経過の例を示すフローチャートである。 後半データを復元するためのモデルの学習を示す模式図である。 ステップS104の処理経過の例を示すフローチャートである。 復元データの生成を示す模式図である。 ステップS105の処理経過の例を示すフローチャートである。 後半データと復元データとの差分が小さい場合および大きい場合を示す模式図である。 ステップS107の処理経過の例を示すフローチャートである。 製品差分の度数分布の一例を示す模式図である。 2つのウィンドウデータに対応する製品差分の度数分布の違いを示す模式図である。 座標(0,Y)および各ウィンドウデータに対応する座標(x,y)の例を示す模式図である。 ステップS108の処理経過の例を示すフローチャートである。 本発明の第2の実施形態の製品検出装置の例を示すブロック図である。 本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。 本発明の製品検出装置の概要を示すブロック図である。
 以下、本発明の実施形態を図面を参照して説明する。以下の説明では、正常と判定されている製品を正常製品と記す。正常製品であるか否かの判定は、予め行われているものとする。また、正常製品であるか否かの判定方法は、特に限定されない。本発明は、複数の正常製品の中から、正常パターンからずれている正常製品を検出する。
実施形態1.
 図1は、本発明の第1の実施形態の製品検出装置の例を示すブロック図である。本発明の第1の実施形態の製品検出装置100は、時系列データ記憶部1と、データ切り出し部2と、分割済みデータ記憶部3と、学習部4と、モデル記憶部5と、復元データ生成部6と、復元データ記憶部7と、差分計算部8と、製品差分記憶部9と、ウィンドウデータ記憶部10と、ウィンドウデータ決定部11と、決定ウィンドウデータ記憶部12と、製品検出部13とを備える。
 時系列データ記憶部1は、複数の正常製品の時系列データを記憶する記憶装置である。時系列データは、時間経過に伴う数値の変化を表すデータであり、例えば、時間経過順に並べられた時刻に数値を対応付けたデータである。この数値が何を表す数値であるのかは、特に限定されない。正常製品の種類に応じた数値を含む時系列データを、時系列データ記憶部1に予め記憶させておけばよい。また、時系列データは、正常製品から直接得られたデータであってもよく、あるいは、正常製品をモニタするセンサから得られたデータであってもよい。
 なお、予め、個々の正常製品には識別情報が割り当てられ、時系列データには正常製品の識別情報が対応付けられているものとする。
 ウィンドウデータ記憶部10は、ウィンドウデータを複数個記憶する記憶装置である。1つのウィンドウデータは、第1のウィンドウのサイズと、第2のウィンドウのサイズと、第3のウィンドウのサイズと、第1のウィンドウをスライドさせるときのスライドサイズ(スライド量)との組合せである。
 第1のウィンドウは、時系列データからデータを切り出すためのウィンドウである。第2のウィンドウおよび第3のウィンドウはそれぞれ、第1のウィンドウを用いて切り出されたデータを、前半データと後半データとに分割するためのウィンドウである。第2のウィンドウは前半データに対応し、第3のウィンドウは後半データに対応する。第1のウィンドウのサイズは、第2のウィンドウのサイズと、第3のウィンドウのサイズを合わせたサイズになっている。
 なお、「データを切り出す。」という表現は、「データを抽出する。」という表現で表すこともできる。
 データ切り出し部2は、ウィンドウデータ記憶部10に記憶されている複数のウィンドウデータを、順次、1つずつ選択する。そして、データ切り出し部2は、複数の正常製品それぞれの時系列データから、選択したウィンドウデータに応じた第1のウィンドウを用いてデータを切り出す。さらに、データ切り出し部2は、切り出したデータを、ウィンドウデータに応じた第2のウィンドウおよび第3のウィンドウを用いて、前半データと後半データとに分割する。データ切り出し部2は、第2のウィンドウの右端と第3のウィンドウの左端を重ねて、第1のウィンドウを用いて切り出したデータから、第2のウィンドウおよび第3のウィンドウを用いてデータを切り出すことで、第1のウィンドウを用いて切り出したデータを、前半データと後半データとに分割する。以下、第1のウィンドウを用いて切り出したデータを、切り出しデータと称する場合がある。
 なお、予め、個々のウィンドウデータには識別情報が割り当てられ、各ウィンドウデータは、ウィンドウデータの識別情報とともに、ウィンドウデータ記憶部10に記憶されているものとする。
 データ切り出し部2は、1つの正常製品の時系列データから、第1のウィンドウを用いてデータを切り出し、切り出しデータを前半データと後半データとに分割する動作を、第1のウィンドウをスライドサイズに従ってスライドさせながら繰り返す。そして、データ切り出し部2は、第1のウィンドウをスライドできなくなったならば、その時系列データからのデータの切り出しを終了する。
 図2は、データ切り出し部2が第1のウィンドウを用いて時系列データからデータを切り出す処理を示す模式図である。なお、図2に示す例において、時系列データ40は、時間経過順に並べられた時刻に、センサが正常製品をモニタすることによって得た数値(センサ値)を対応付けたデータである。この点は、後述の図3および図4においても同様である。データ切り出し部2は、第1のウィンドウ31のサイズで時系列データ40からデータを切り出す。この結果、切り出しデータ41が得られる。
 図3は、データ切り出し部2が切り出しデータ41を前半データと後半データとに分割する処理を示す模式図である。データ切り出し部2は、第2のウィンドウ32の右端と第3のウィンドウ33の左端を重ねて、第2のウィンドウ32のサイズおよび第3のウィンドウ33のサイズで切り出しデータ41からデータを切り出すことによって、切り出しデータ41を、前半データ42と、後半データ43とに分割する。なお、図面において、第2のウィンドウ32を一点鎖線で示し、第3のウィンドウ33を破線で示す。
 図4は、第1のウィンドウのスライドを示す模式図である。データ切り出し部2は、第1のウィンドウ31を、選択したウィンドウデータに応じたスライドサイズに従って時刻軸方向にスライドさせ、時系列データ40から切り出しデータ41を切り出し、切り出しデータ41を、前半データ42と後半データ43とに分割する。データ切り出し部2は、この処理を、時系列データ40において第1のウィンドウをスライドできなくなるまで繰り返す。
 データ切り出し部2は、この処理を、複数の正常製品の時系列データに対して、それぞれ実行する。
 また、データ切り出し部2は、前半データ42と後半データ43との組を得ると、その組を、選択しているウィンドウデータの識別情報、および、処理対象とした時系列データに対応する正常製品の識別情報と対応づけて、分割済みデータ記憶部3に記憶させる。
 分割済みデータ記憶部3は、前半データ42と後半データ43との組の集合を記憶する記憶装置である。
 学習部4は、データ切り出し部2が直近に選択したウィンドウデータに基づいて得られた前半データ42と後半データ43との組の集合(すなわち、直近に選択されたウィンドウデータの識別情報に対応付けられている前半データ42と後半データ43との組の集合)を教師データとし、前半データから後半データを復元するためのモデルを、機械学習によって学習(生成)する。学習部4は、生成したモデルを、直近に選択されたウィンドウデータの識別情報と対応付けてモデル記憶部5に記憶させる。
モデル記憶部5は、学習部4が生成したモデルを記憶する記憶装置である。
 復元データ生成部6は、直近に選択されたウィンドウデータの識別情報に対応付けられているモデルをモデル記憶部5から読み込み、また、そのウィンドウデータの識別情報に対応付けられている前半データと後半データとの組を全て、分割済みデータ記憶部3から読み込む。そして、復元データ生成部6は、前半データと後半データとの組毎に、モデルに前半データを適用することによって、後半データを復元する。復元された後半データを、復元データと記す。すなわち、復元データ生成部6は、前半データと後半データとの組毎に、モデルに前半データを適用することによって、後半データの復元データを生成する。復元データ生成部6は、この処理を、正常製品毎(換言すれば、正常製品の識別情報毎)に実行する。復元データ生成部6は、生成した復元データを、直近に選択されたウィンドウデータの識別情報、および、正常製品の識別情報と対応付けて、復元データ記憶部7に記憶させる。
 復元データ記憶部7は、復元データ生成部6が生成した復元データを記憶する記憶装置である。
 差分計算部8は、直近に選択されたウィンドウデータの識別情報に対応付けられている各後半データを分割済みデータ記憶部3から読み込み、その各後半データに対応する各復元データを復元データ記憶部7から読み込む。後半データに対応する復元データとは、その後半データと組をなす前半データに基づいて生成された復元データである。
 そして、差分計算部8は、正常製品毎(換言すれば、正常製品の識別情報毎)に、後半データと復元データとの差分を計算する。既に説明したように、データ切り出し部2は、第1のウィンドウをスライドさせながら、前半データと後半データとの組を生成していく。従って、1つの正常製品について、後半データは複数存在し、その複数の後半データそれぞれに対して復元データが存在する。すなわち、1つの正常製品について、後半データと復元データとの組は複数存在する。従って、差分計算部8は、1つの正常製品について、まず、後半データと復元データとの差分を、複数個、計算する。このとき、差分計算部8は、差分を数値として計算する。例えば、差分計算部8は、一組の後半データと復元データから差分を求める場合、同一時刻同士の数値の差の二乗の平均値を、その後半データと復元データとの差分として計算してもよい。ただし、差分を数値として計算する方法は、この方法に限定されず、他の方法で差分を計算してもよい。
 差分計算部8は、1つの正常製品について、後半データと復元データとの差分を、複数個、計算した後、その複数個の差分に基づいて、その正常製品に対応する1つの差分を導出する。例えば、差分計算部8は、その複数個の差分の平均値を計算し、その平均値を、その正常製品に対応する1つの差分として定めてもよい。また、例えば、差分計算部8は、その複数個の差分の最大値を特定し、その最大値を、その正常製品に対応する1つの差分として定めてもよい。以下、複数個の差分に基づいて導出した、1つ正常製品に対応する1つの差分を製品差分と記す。
 差分計算部8は、上記のように、正常製品毎に、後半データと復元データとの差分を複数個、計算し、その複数個の差分に基づいて製品差分を導出する。差分計算部8は、製品差分を、直近に選択されたウィンドウデータの識別情報、および、正常製品の識別情報と対応付けて、製品差分記憶部9に記憶させる。
 製品差分記憶部9は、差分計算部8が導出した製品差分を記憶する記憶装置である。
 ウィンドウデータ決定部11は、正常製品毎に導出された製品差分に基づいて、ウィンドウデータ記憶部10に記憶されている複数のウィンドウデータの中から、所定の条件を満たすウィンドウデータを1つ決定する。ウィンドウデータ決定部11がウィンドウデータを決定する処理の詳細については、後述する。ウィンドウデータ決定部11は、決定したウィンドウデータを、決定ウィンドウデータ記憶部12に記憶させる
 決定ウィンドウデータ記憶部12は、ウィンドウデータ決定部11によって決定されたウィンドウデータを記憶する記憶装置である。
 製品検出部13は、ウィンドウデータ決定部11によって決定されたウィンドウデータを、決定ウィンドウデータ記憶部12から読み込む。そして、製品検出部13は、そのウィンドウデータに基づいて得られた正常製品毎の製品差分に基づいて、複数の正常製品の中から、所定の正常製品を検出する。より具体的には、製品検出部13は、そのウィンドウデータに基づいて得られた正常製品毎の製品差分の中から、正常製品の数に対する所定の割合(例えば、5%)の個数に該当する製品差分を、製品差分の大きい順に選択し、選択した製品差分に対応する正常製品を検出する。
 製品検出部13は、製品差分の大きい正常製品を検出していると言える。従って、製品検出部13によって検出された正常製品は、正常パターンからずれた正常製品であると言える。
 データ切り出し部2、学習部4、復元データ生成部6、差分計算部8、ウィンドウデータ決定部11、および、製品検出部13は、例えば、製品検出プログラムに従って動作するコンピュータのCPU(Central Processing Unit )によって実現される。この場合、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体から製品検出プログラムを読み込み、そのプログラムに従って、データ切り出し部2、学習部4、復元データ生成部6、差分計算部8、ウィンドウデータ決定部11、および、製品検出部13として動作すればよい。
 次に、本発明の処理経過について説明する。図5は、本発明の製品検出装置100の処理経過の例を示すフローチャートである。以下の説明では、既に説明した事項については、適宜、説明を省略する。
 まず、データ切り出し部2は、ウィンドウデータ記憶部10に記憶されている複数のウィンドウデータの中から、未だ選択されていないウィンドウデータを1つ選択し、そのウィンドウデータを読み込む(ステップS101)。
 次に、データ切り出し部2は、各時系列データから、前半データと後半データとの組を得る(ステップS102)。
 図6は、ステップS102の処理経過の例を示すフローチャートである。ステップS102において、データ切り出し部2は、複数の正常製品の時系列データをそれぞれ、時系列データ記憶部1から読み込む(ステップS201)。
 そして、データ切り出し部2は、各時系列データから、第1のウィンドウを用いてデータを切り出し、切り出しデータを前半データと後半データとに分割する(ステップS202)。具体的には、ステップS202では、データ切り出し部2は、時系列データ毎に、以下の処理を行う。データ切り出し部2は、選択したウィンドウデータに応じた第1のウィンドウのサイズで時系列データからデータを切り出す。そして、データ切り出し部2は、第2のウィンドウの右端と第3のウィンドウの左端を重ねて、第2のウィンドウのサイズおよび第3のウィンドウのサイズでそのデータ(切り出しデータ)からデータを切り出すことによって、切り出しデータを前半データと後半データとに分割する。さらに、データ切り出し部2は、第1のウィンドウを、選択したウィンドウデータに応じたスライドサイズに従ってスライドさせ、同様の処理を繰り返す。時系列データにおいて、第1のウィンドウをスライドできなくなったら、処理を終了する。
 データ切り出し部2は、ステップS202で得られた前半データと後半データとの組をそれぞれ、分割済みデータ記憶部3に記憶させる(ステップS203)。このとき、データ切り出し部2は、前半データと後半データとの組を、選択しているウィンドウデータの識別情報、および、処理対象とした時系列データに対応する正常製品の識別情報と対応づけて、分割済みデータ記憶部3に記憶させる。
 ステップS203で、ステップS102が終了する。
 ステップS102に続いて、学習部4は、前半データから後半データを復元するためのモデルを学習する(ステップS103)。
 図7は、ステップS103の処理経過の例を示すフローチャートである。ステップS103において、学習部4は、直近のステップS101(図5参照)で選択されたウィンドウデータの識別情報に対応付けられている前半データと後半データとの組の集合を、分割済みデータ記憶部3から読み込む(ステップS301)。
 次に、学習部4は、前半データと後半データとの組の集合を教師データとして、前半データから後半データを復元するためのモデルを、機械学習によって学習する(ステップS302)。図8は、後半データを復元するためのモデルの学習を示す模式図である。
 ステップS302において、学習部4は、機械学習の手法として、オートエンコーダのように入力を再現することができる手法を用いてもよい。この手法の一例として、ディープラーニングがある。学習部4は、前半データから後半データを復元するためのモデルを、ディープラーニングによって生成してもよい。
 次に、学習部4は、ステップS302で生成したモデルを、直近のステップS101(図5参照)で選択されたウィンドウデータの識別情報と対応付けてモデル記憶部5に記憶させる(ステップS303)。
 ステップS303で、ステップS103が終了する。
 ステップS103に続いて、復元データ生成部6は、復元データを生成する(ステップS104)。
 図9は、ステップS104の処理経過の例を示すフローチャートである。ステップS104において、復元データ生成部6は、直近のステップS101(図5参照)で選択されたウィンドウデータの識別情報と対応付けられている前半データと後半データとの組を全て、分割済みデータ記憶部3から読み込む(ステップS401)。
 次に、復元データ生成部6は、そのウィンドウデータの識別情報と対応付けられているモデルを、モデル記憶部5から読み込む(ステップS402)。このモデルは、直近のステップS302で学習されたモデルである。
 次に、復元データ生成部6は、ステップS401で読み込んだ前半データと後半データとの組毎に、モデルに前半データを適用することによって、後半データの復元データを生成する(ステップS403)。図10は、復元データの生成を示す模式図である。復元データ生成部6は、正常製品毎(換言すれば、正常製品の識別情報毎)に、復元データの生成を実行する。
 次に、復元データ生成部6は、生成した復元データを、直近のステップS101(図5参照)で選択されたウィンドウデータの識別情報、および、正常製品の識別情報と対応付けて、復元データ記憶部7に記憶させる(ステップS404)。
 ステップS404で、ステップS104が終了する。
 ステップS104に続いて、差分計算部8は、正常製品毎に製品差分を導出する(ステップS105)。
 図11は、ステップS105の処理経過の例を示すフローチャートである。ステップS105において、差分計算部8は、直近のステップS101(図5参照)で選択されたウィンドウデータの識別情報に対応付けられている各後半データを分割済みデータ記憶部3から読み込み、その各後半データに対応する各復元データを復元データ記憶部7から読み込む(ステップS501)。
 次に、差分計算部8は、正常製品毎(換言すれば、正常製品の識別情報毎)に、後半データと復元データとの差分を、複数個、計算する。一組の後半データと復元データから差分を求める場合、差分計算部8は、例えば、同一時刻同士の数値の差の二乗の平均値を、その後半データと復元データとの差分として計算する。図12は、後半データと復元データとの差分が小さい場合および大きい場合を示す模式図である。図12(a)は、後半データと復元データとの差分が小さい場合を示している。後半データがモデルによって予期し得る場合、差分は小さくなる。図12(b)は、後半データと復元データとの差分が大きい場合を示している。後半データがモデルによって予期し得ない場合、差分は大きくなる。
 差分計算部8は、さらに、正常製品毎に、複数個の差分に基づいて製品差分を導出する(ステップS502)。1つの正常製品について、複数個の差分に基づいて製品差分を導出する場合、差分計算部8は、例えば、その複数個の差分の平均値を計算し、その平均値を、その正常製品の製品差分として定めてもよい。また、例えば、差分計算部8は、その複数個の差分の最大値を特定し、その最大値を、その正常製品の製品差分として定めてもよい。
 差分計算部8は、正常製品毎に導出した製品差分を製品差分記憶部9に記憶させる(ステップS503)。このとき、差分計算部8は、各製品差分を、直近のステップS101(図5参照)で選択されたウィンドウデータの識別情報、および、正常製品の識別情報と対応付けて、製品差分記憶部9に記憶させる。
 ステップS503で,ステップS105が終了する。
 ステップS105に続いて、ウィンドウデータ記憶部10に記憶されている複数のウィンドウデータの中に、まだ、ステップS101で選択されていないウィンドウデータがあるか否かを判定する(ステップS106)。
 未選択のウィンドウデータがある場合(ステップS106のYes)、製品検出装置100は、ステップS101以降の処理を繰り返す。
 未選択のウィンドウデータがない場合(ステップS106のNo)、ウィンドウデータ決定部11は、正常製品毎に導出された製品差分に基づいて、所定の条件を満たすウィンドウデータを1つ決定する(ステップS107)。ステップS107では、ウィンドウデータ決定部11は、正常パターンからずれた正常製品と正常パターンからずれていない正常製品とを区別するのに適したウィンドウデータを1つ選択する。
 ステップS101~S106の繰り返し処理によって、各正常製品の製品差分は、ウィンドウデータ毎に導出され、製品差分記憶部9に記憶されている。
 図13は、ステップS107の処理経過の例を示すフローチャートである。ステップS107において、ウィンドウデータ決定部11は、まず、ウィンドウデータ毎に(換言すれば、ウィンドウデータの識別情報毎に)、各正常製品の製品差分を製品差分記憶部9から読み込む(ステップS601)。
 次に、ウィンドウデータ決定部11は、ウィンドウデータ毎に、各製品差分を、製品差分が大きい方のグループと製品差分が小さい方のグループの2つのグループに分ける(ステップS602)。製品差分が大きい方のグループを第1のグループと記し、製品差分が小さい方のグループを第2のグループと記す。
 ステップS602において、ウィンドウデータ決定部11は、正常製品毎に1つずつ導出された製品差分の中から、正常製品の数に対する所定の割合(例えば、5%)の個数に該当する製品差分を、製品差分の大きい順に選択し、選択した製品差分が第1のグループに属すると定める。また、ウィンドウデータ決定部11は、選択した製品差分以外の製品差分が第2のグループに属すると定める。以下、上記の所定の割合が5%である場合を例にして説明するが、上記の所定の割合は5%に限定されない。本例では、製品差分の総数のうち、5%が第1のグループに属し、95%が第2のグループに属する。
 このように、各製品差分を第1のグループおよび第2のグループに分けた場合における製品差分の度数分布の一例を図14に示す。図14では、製品差分が正規分布に従う場合における製品差分の度数分布を例示している。
 ステップS101で選択されるウィンドウデータが異なれば、導出される製品差分も異なる。従って、ウィンドウデータが異なれば、製品差分の度数分布も異なる。図15は、2つのウィンドウデータに対応する製品差分の度数分布の違いを示す模式図である。正常製品は全て、予め正常であると判定されている。従って、大部分の正常製品の製品差分は0に近い値であると予想される。図15に示す例では、ウィンドウデータbに対応する製品差分の度数分布では、0から離れた値となっている製品差分の度数が多い。従って、図15に例示するウィンドウデータbは、正常パターンからずれた正常製品を検出する上で適切ではない。
 また、全ての製品差分が0に近い値になるようなウィンドウデータも、正常パターンからずれた製品を検出する上で、適切ではない。全ての製品差分が0に近い値であると、正常パターンからずれた正常製品の製品差分と、正常パターンからずれていない正常製品の製品差分とを区別できないためである。
 以上のことから、0に近い値の製品差分の数が多く、また、0から離れた値となっている製品差分も存在するような度数分布が、正常パターンからずれた正常製品を検出する上で好ましい。例えば、図15に例示するウィンドウデータaに対応する度数分布(製品差分の度数分布)が得られることが好ましい。
 ウィンドウデータ決定部11は、そのような好ましい度数分布が得られるウィンドウデータを、以下に説明する処理で決定する。
 ステップS602の次に、ウィンドウデータ決定部11は、ウィンドウデータ毎に(換言すれば、ウィンドウデータの識別情報毎に)、第1のグループに属する製品差分の分散と、第2のグループに属する製品差分の分散とを計算する(ステップS603)。
 さらに、ウィンドウデータ決定部11は、各ウィンドウデータにおける第1のグループに属する製品差分の分散と、第2のグループに属する製品差分の分散とに基づいて、1つのウィンドウデータを決定する(ステップS604)。
 ステップS604において、ウィンドウデータ決定部11は、ウィンドウデータ毎の第1のグループに属する製品差分の分散のうちの最大値(Yとする)を、第1のグループに属する製品差分の分散の理想値とする。また、ウィンドウデータ決定部11は、0を、第2のグループに属する製品差分の分散の理想値とする。そして、ウィンドウデータ決定部11は、第1のグループに属する製品差分の分散とその分散の理想値Yとの差、および、第2のグループに属する製品差分の分散とその分散の理想値(0)との差に基づいて、ウィンドウデータを決定する。ここで、ウィンドウデータ決定部11は、第1のグループに属する製品差分の分散、および、第2のグループに属する製品差分の分散がそれぞれ理想値に近くなるようなウィンドウデータを1つ特定する。
 上記の動作をより具体的に説明する。ウィンドウデータ毎の第1のグループに属する製品差分の分散のうちの最大値をYとする。また、1つのウィンドウデータに対応する第1のグループに属する製品差分の分散をyとし、そのウィンドウデータに対応する第2のグループに属する製品差分の分散をxとする。ウィンドウデータ決定部11は、ウィンドウデータ毎に、座標(0,Y)と座標(x,y)との距離(例えば、ユークリッド距離)を計算し、その距離が最小であるという条件を満たすウィンドウデータを決定する。
 例えば、3つのウィンドウデータA,B,Cがあるとする。ウィンドウデータAに対応する第1のグループに属する製品差分の分散が“10”であり、第2のグループに属する製品差分の分散が“3”であるとする。また、ウィンドウデータBに対応する第1のグループに属する製品差分の分散が“11”であり、第2のグループに属する製品差分の分散が“2”であるとする。また、ウィンドウデータCに対応する第1のグループに属する製品差分の分散が“12”であり、第2のグループに属する製品差分の分散が“4”であるとする。
 本例では、第1のグループに属する製品差分の分散のうちの最大値Yは、“12”である。従って、第1のグループに属する製品差分の分散の理想値は“12”である。また、第2のグループに属する製品差分の分散の理想値は“0”である。従って、上記の座標(0,Y)は、(0,12)である。また、ウィンドウデータAに対応する上記の座標(x,y)は、(3,10)である。ウィンドウデータBに対応する上記の座標(x,y)は、(2,11)である。ウィンドウデータCに対応する上記の座標の座標(x,y)は、(4,12)である。図16は、座標(0,Y)および各ウィンドウデータに対応する座標(x,y)の例を示す模式図である。
 ウィンドウデータ決定部11は、ウィンドウデータ毎に、座標(0,12)と座標(x,y)との距離を計算し、その距離が最小であるという条件をみたすウィンドウデータを決定する。座標(0,12)との距離が最小となる座標は(2,11)であるので、本例では、ウィンドウデータ決定部11は、(0,12)との距離が最小となるという条件を満たすウィンドウデータとして、“ウィンドウデータB”を決定する。
 ステップS604の次に、ウィンドウデータ決定部11は、ステップS604で決定したウィンドウデータを、その識別情報とともに、決定ウィンドウデータ記憶部12に記憶させる(ステップS605)。
 ステップS605で、ステップS107が終了する。
 ステップS107に続いて、製品検出部13は、ステップS107で決定されたウィンドウデータに基づいて得られた各製品差分に基づいて、複数の正常製品の中から、正常パターンからずれた正常製品を検出する(ステップS108)。
 図17は、ステップS108の処理経過の例を示すフローチャートである。ステップS108において、製品検出部13は、ステップS107で決定されたウィンドウデータを決定ウィンドウデータ記憶部12から読み込む(ステップS701)。
 次に、製品検出部13は、そのウィンドウデータに対応する各製品差分を、製品差分記憶部9から読み込む(ステップS702)。
 製品検出部13は、ステップS702で読み込んだ各製品差分に基づいて、パターンからずれた正常製品を特定する(ステップS703)。ステップS703において、製品検出部13は、ステップS702で読み込んだ各製品差分の中から、正常製品の数に対する所定の割合(例えば、5%)の個数に該当する製品差分を、製品差分の大きい順に選択し、選択した製品差分に対応する正常製品を特定する。
 ステップS703で特定した正常製品が、正常パターンからずれた正常製品であると言える。
 本実施形態によれば、ウィンドウデータが複数定められていて、製品検出装置100は、ウィンドウデータ毎に、各正常製品の製品差分を導出する。そして、製品検出装置100は、正常パターンからずれた正常製品を検出するのに適したウィンドウデータを決定する。具体的には、製品検出装置100は、製品差分の度数分布として、0に近い値の製品差分の数が多く、また、0から離れた値となっている製品差分も存在するような度数分布が得られるウィンドウデータを、複数のウィンドウデータの中から決定する。決定されたウィンドウデータに対応する各製品差分では、0に近い値の製品差分の数が多く、また、0から離れた値となっている製品差分も存在している。0から離れた値となっている製品差分は、正常パターンからずれていると言える。そして、製品検出部13は、そのように0から離れた値となっている製品差分を特定する。従って、本実施形態によれば、何らかの検査により正常と判定されている正常製品の中から、正常パターンからずれている正常製品を検出することができる。
実施形態2.
 図18は、本発明の第2の実施形態の製品検出装置の例を示すブロック図である。図1に示す要素と同様の要素については、図1と同一の符号を付し、説明を省略する。本発明の第2の実施形態の製品検出装置100は、第1の実施形態の製品検出装置100(図1参照)が備える各要素に加えて、さらに、表示制御部14を備える。
 表示制御部14は、ウィンドウデータ毎に製品差分の度数分布を、ディスプレイ装置(図18において図示略)に表示させる。例えば、表示制御部14は、1つのウィンドウデータに関して、図14に例示する製品差分の度数分布をディスプレイ装置上に表示する。表示制御部14は、他のウィンドウデータに関しても、それぞれ同様に、製品差分の度数分布をディスプレイ装置上に表示する。
 表示制御部14がウィンドウデータ毎に製品差分の度数分布をディスプレイ装置上に表示することによって、ユーザは、ウィンドウデータ毎の製品差分の分布を視覚的に確認することができる。
 また、表示制御部14は、決定ウィンドウデータ記憶部12に記憶されたウィンドウデータをディスプレイ装置に表示させてもよい。この場合、ユーザは、ウィンドウデータ決定部11によって決定されたウィンドウデータを視覚的に確認することができる。
 また、表示制御部14は、製品検出部13が検出した正常製品(製品検出部13がステップS703で特定した正常製品)の識別情報をディスプレイ装置に表示させてもよい。この場合、ユーザは、正常パターンからずれたと判断された正常製品を視覚的に確認することができる。
 表示制御部14は、例えば、製品検出プログラムに従って動作するコンピュータのCPUによって実現される。この場合、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体から製品検出プログラムを読み込み、そのプログラムに従って、データ切り出し部2、学習部4、復元データ生成部6、差分計算部8、ウィンドウデータ決定部11、製品検出部13、および、表示制御部14として動作すればよい。
 図19は、本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、ディスプレイ装置1005とを備える。
 本発明の各実施形態の製品検出装置100は、コンピュータ1000に実装される。製品検出装置100の動作は、製品検出プログラムの形式で補助記憶装置1003に記憶されている。CPU1001は、その製品検出プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、その製品検出プログラムに従って、上記の各実施形態で説明した処理を実行する。
 補助記憶装置1003は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory )、DVD-ROM(Digital Versatile Disk Read Only Memory )、半導体メモリ等が挙げられる。また、プログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、上記の処理を実行してもよい。
 次に、本発明の概要について説明する。図20は、本発明の製品検出装置の概要を示すブロック図である。本発明の製品検出装置は、ウィンドウデータ記憶手段71と、学習手段73と、復元データ生成手段74と、差分計算手段75と、ウィンドウデータ決定手段76と、製品検出手段77とを備える。
 ウィンドウデータ記憶手段71(例えば、ウィンドウデータ記憶部10)は、正常製品の時系列データから、データを抽出するための第1のウィンドウのサイズと、第1のウィンドウを用いて抽出されたデータを前半データと後半データと分割するための第2のウィンドウおよび第3のウィンドウそれぞれのサイズと、第1のウィンドウをスライドさせるときのスライドサイズとの組合せであるウィンドウデータを複数個、記憶する。
 学習手段73(例えば、学習部4)は、ウィンドウデータが順次、選択され、複数の正常製品それぞれの時系列データから、第1のウィンドウ、第2のウィンドウおよび第3のウィンドウを用いて得られた前半データと後半データとの組の集合を教師データとして、前半データから後半データを復元するためのモデルを学習する。
 復元データ生成手段74(例えば、復元データ生成部6)は、選択されたウィンドウデータに基づいて得られた前半データと後半データとの組毎に、モデルに前半データを適用することによって、後半データの復元データを生成する。
 差分計算手段75(例えば、差分計算部8)は、選択されたウィンドウデータに基づいて得られた後半データと復元データとの差分を、正常製品毎に計算する。
 ウィンドウデータ決定手段76(例えば、ウィンドウデータ決定部11)は、正常製品毎に計算された差分に基づいて、所定の条件を満たすウィンドウデータを決定する。
 検出手段77(例えば、製品検出部13)は、ウィンドウデータ決定手段76によって決定されたウィンドウデータに基づいて得られた正常製品毎の差分に基づいて、複数の正常製品の中から、所定の正常製品を検出する。
 そのような構成によって、正常と判定されている製品である正常製品の中から、正常パターンからずれている正常製品を検出することができる。
 また、差分計算手段75が、1つのウィンドウデータが選択されているときに、正常製品毎に、後半データと復元データとの差分を複数個、計算し、複数個の差分に基づいて正常製品に対応する1つの差分である製品差分を導出し、ウィンドウデータ決定手段76が、ウィンドウデータ毎に、正常製品毎に1つずつ導出された製品差分の中から、正常製品の数に対する所定の割合の個数に該当する製品差分を、製品差分の大きい順に選択し、選択した製品差分が属する第1のグループと、選択した製品差分以外の製品差分が属する第2のグループとを定め、第1のグループに属する製品差分の分散と、第2のグループに属する製品差分の分散とを算出し、第1のグループに属する製品差分の分散と、第2のグループに属する製品差分の分散とに基づいて、ウィンドウデータを決定する構成であってもよい。
 ウィンドウデータ決定手段76が、ウィンドウデータ毎の第1のグループに属する製品差分の分散のうちの最大値を、第1のグループに属する製品差分の分散の理想値とし、0を第2のグループに属する製品差分の分散の理想値とし、第1のグループに属する製品差分の分散と当該分散の理想値との差、および、第2のグループに属する製品差分の分散と当該分散の理想値との差に基づいて、ウィンドウデータを決定する構成であってもよい。
 ウィンドウデータ決定手段76が、ウィンドウデータ毎の第1のグループに属する製品差分の分散のうちの最大値をYとし、1つのウィンドウデータに対応する第1のグループに属する製品差分の分散をyとし、そのウィンドウデータに対応する第2のグループに属する製品差分の分散をxとしたときに、ウィンドウデータ毎に座標(0,Y)と座標(x,y)との距離を計算し、その距離が最小であるという条件を満たすウィンドウデータを決定する構成であってもよい。
 検出手段77が、ウィンドウデータ決定手段76によって決定されたウィンドウデータに基づいて得られた正常製品毎の製品差分の中から、正常製品の数に対する所定の割合の個数に該当する製品差分を、製品差分の大きい順に選択し、選択した製品差分に対応する正常製品を検出する構成であってもよい。
 ウィンドウデータ毎に、製品差分の度数分布を表示する表示制御手段(例えば、表示制御部14)を備える構成であってもよい。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2018年3月27日に出願された日本特許出願2018-059485を基礎とする優先権を主張し、その開示の全てをここに取り込む。
産業上の利用の可能性
 本発明は、正常と判定されている製品の中から、正常パターンからずれている製品を検出する製品検出装置に好適に適用される。
 1 時系列データ記憶部
 2 データ切り出し部
 3 分割済みデータ記憶部
 4 学習部
 5 モデル記憶部
 6 復元データ生成部
 7 復元データ記憶部
 8 差分計算部
 9 製品差分記憶部
 10 ウィンドウデータ記憶部
 11 ウィンドウデータ決定部
 12 決定ウィンドウデータ記憶部
 13 製品検出部
 14 表示制御部
 100 製品検出装置

Claims (10)

  1.  正常製品の時系列データから、データを抽出するための第1のウィンドウのサイズと、前記第1のウィンドウを用いて抽出されたデータを前半データと後半データと分割するための第2のウィンドウおよび第3のウィンドウそれぞれのサイズと、第1のウィンドウをスライドさせるときのスライドサイズとの組合せであるウィンドウデータを複数個、記憶するウィンドウデータ記憶手段と、
     ウィンドウデータが順次、選択され、複数の正常製品それぞれの時系列データから、前記第1のウィンドウ、前記第2のウィンドウおよび前記第3のウィンドウを用いて得られた前半データと後半データとの組の集合を教師データとして、前半データから後半データを復元するためのモデルを学習する学習手段と、
     選択されたウィンドウデータに基づいて得られた前半データと後半データとの組毎に、前記モデルに前半データを適用することによって、後半データの復元データを生成する復元データ生成手段と、
     選択されたウィンドウデータに基づいて得られた後半データと復元データとの差分を、正常製品毎に計算する差分計算手段と、
     正常製品毎に計算された差分に基づいて、所定の条件を満たすウィンドウデータを決定するウィンドウデータ決定手段と、
     ウィンドウデータ決定手段によって決定されたウィンドウデータに基づいて得られた正常製品毎の差分に基づいて、複数の正常製品の中から、所定の正常製品を検出する検出手段とを備える
     ことを特徴とする製品検出装置。
  2.  差分計算手段は、
     1つのウィンドウデータが選択されているときに、正常製品毎に、後半データと復元データとの差分を複数個、計算し、複数個の差分に基づいて正常製品に対応する1つの差分である製品差分を導出し、
     ウィンドウデータ決定手段は、
     ウィンドウデータ毎に、
     正常製品毎に1つずつ導出された製品差分の中から、正常製品の数に対する所定の割合の個数に該当する製品差分を、製品差分の大きい順に選択し、選択した製品差分が属する第1のグループと、選択した製品差分以外の製品差分が属する第2のグループとを定め、
     第1のグループに属する製品差分の分散と、第2のグループに属する製品差分の分散とを算出し、
     第1のグループに属する製品差分の分散と、第2のグループに属する製品差分の分散とに基づいて、ウィンドウデータを決定する
     請求項1に記載の製品検出装置。
  3.  ウィンドウデータ決定手段は、
     ウィンドウデータ毎の第1のグループに属する製品差分の分散のうちの最大値を、第1のグループに属する製品差分の分散の理想値とし、
     0を第2のグループに属する製品差分の分散の理想値とし、
     第1のグループに属する製品差分の分散と当該分散の理想値との差、および、第2のグループに属する製品差分の分散と当該分散の理想値との差に基づいて、ウィンドウデータを決定する
     請求項2に記載の製品検出装置。
  4.  ウィンドウデータ決定手段は、
     ウィンドウデータ毎の第1のグループに属する製品差分の分散のうちの最大値をYとし、1つのウィンドウデータに対応する第1のグループに属する製品差分の分散をyとし、前記ウィンドウデータに対応する第2のグループに属する製品差分の分散をxとしたときに、ウィンドウデータ毎に座標(0,Y)と座標(x,y)との距離を計算し、前記距離が最小であるという条件を満たすウィンドウデータを決定する
     請求項2または請求項3に記載の製品検出装置。
  5.  検出手段は、
     ウィンドウデータ決定手段によって決定されたウィンドウデータに基づいて得られた正常製品毎の製品差分の中から、正常製品の数に対する所定の割合の個数に該当する製品差分を、製品差分の大きい順に選択し、選択した製品差分に対応する正常製品を検出する
     請求項2から請求項4のうちのいずれか1項に記載の製品検出装置。
  6.  ウィンドウデータ毎に、製品差分の度数分布を表示する表示制御手段を備える
     請求項2から請求項5のうちのいずれか1項に記載の製品検出装置。
  7.  正常製品の時系列データから、データを抽出するための第1のウィンドウのサイズと、前記第1のウィンドウを用いて抽出されたデータを前半データと後半データと分割するための第2のウィンドウおよび第3のウィンドウそれぞれのサイズと、第1のウィンドウをスライドさせるときのスライドサイズとの組合せであるウィンドウデータを複数個、記憶するウィンドウデータ記憶手段を備えたコンピュータが、
     ウィンドウデータが順次、選択され、複数の正常製品それぞれの時系列データから、前記第1のウィンドウ、前記第2のウィンドウおよび前記第3のウィンドウを用いて得られた前半データと後半データとの組の集合を教師データとして、前半データから後半データを復元するためのモデルを学習し、
     選択したウィンドウデータに基づいて得た前半データと後半データとの組毎に、前記モデルに前半データを適用することによって、後半データの復元データを生成し、
     選択したウィンドウデータに基づいて得た後半データと復元データとの差分を、正常製品毎に計算し、
     正常製品毎に計算した差分に基づいて、所定の条件を満たすウィンドウデータを決定し、
     決定したウィンドウデータに基づいて得た正常製品毎の差分に基づいて、複数の正常製品の中から、所定の正常製品を検出する
     ことを特徴とする製品検出方法。
  8.  コンピュータが、
     1つのウィンドウデータが選択されているときに、正常製品毎に、後半データと復元データとの差分を複数個、計算し、複数個の差分に基づいて正常製品に対応する1つの差分である製品差分を導出し、
     ウィンドウデータ毎に、
     正常製品毎に1つずつ導出した製品差分の中から、正常製品の数に対する所定の割合の個数に該当する製品差分を、製品差分の大きい順に選択し、選択した製品差分が属する第1のグループと、選択した製品差分以外の製品差分が属する第2のグループとを定め、
     第1のグループに属する製品差分の分散と、第2のグループに属する製品差分の分散とを算出し、
     第1のグループに属する製品差分の分散と、第2のグループに属する製品差分の分散とに基づいて、ウィンドウデータを決定する
     請求項7に記載の製品検出方法。
  9.  正常製品の時系列データから、データを抽出するための第1のウィンドウのサイズと、前記第1のウィンドウを用いて抽出されたデータを前半データと後半データと分割するための第2のウィンドウおよび第3のウィンドウそれぞれのサイズと、第1のウィンドウをスライドさせるときのスライドサイズとの組合せであるウィンドウデータを複数個、記憶するウィンドウデータ記憶手段を備えたコンピュータに搭載される製品検出プログラムであって、
     前記コンピュータに、
     ウィンドウデータが順次、選択され、複数の正常製品それぞれの時系列データから、前記第1のウィンドウ、前記第2のウィンドウおよび前記第3のウィンドウを用いて得られた前半データと後半データとの組の集合を教師データとして、前半データから後半データを復元するためのモデルを学習する学習処理、
     選択されたウィンドウデータに基づいて得られた前半データと後半データとの組毎に、前記モデルに前半データを適用することによって、後半データの復元データを生成する復元データ生成処理、
     選択されたウィンドウデータに基づいて得られた後半データと復元データとの差分を、正常製品毎に計算する差分計算処理、
     正常製品毎に計算された差分に基づいて、所定の条件を満たすウィンドウデータを決定するウィンドウデータ決定処理、および、
     ウィンドウデータ決定処理で決定されたウィンドウデータに基づいて得られた正常製品毎の差分に基づいて、複数の正常製品の中から、所定の正常製品を検出する検出処理
     を実行させるための製品検出プログラム。
  10.  コンピュータに、
     差分計算処理で、
     1つのウィンドウデータが選択されているときに、正常製品毎に、後半データと復元データとの差分を複数個、計算させ、複数個の差分に基づいて正常製品に対応する1つの差分である製品差分を導出させ、
     ウィンドウデータ決定処理で、
     ウィンドウデータ毎に、
     正常製品毎に1つずつ導出された製品差分の中から、正常製品の数に対する所定の割合の個数に該当する製品差分を、製品差分の大きい順に選択させ、選択した製品差分が属する第1のグループと、選択した製品差分以外の製品差分が属する第2のグループとを定めさせ、
     第1のグループに属する製品差分の分散と、第2のグループに属する製品差分の分散とを算出させ、
     第1のグループに属する製品差分の分散と、第2のグループに属する製品差分の分散とに基づいて、ウィンドウデータを決定させる
     請求項9に記載の製品検出プログラム。
PCT/JP2018/047771 2018-03-27 2018-12-26 製品検出装置、方法およびプログラム WO2019187433A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/981,857 US20210125088A1 (en) 2018-03-27 2018-12-26 Product detection device, method, and program
JP2020509659A JP7092184B2 (ja) 2018-03-27 2018-12-26 製品検出装置、方法およびプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018059485 2018-03-27
JP2018-059485 2018-03-27

Publications (1)

Publication Number Publication Date
WO2019187433A1 true WO2019187433A1 (ja) 2019-10-03

Family

ID=68059729

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/047771 WO2019187433A1 (ja) 2018-03-27 2018-12-26 製品検出装置、方法およびプログラム

Country Status (3)

Country Link
US (1) US20210125088A1 (ja)
JP (1) JP7092184B2 (ja)
WO (1) WO2019187433A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11734121B2 (en) * 2020-03-10 2023-08-22 EMC IP Holding Company LLC Systems and methods to achieve effective streaming of data blocks in data backups

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009237832A (ja) * 2008-03-26 2009-10-15 Tokyo Gas Co Ltd 可変的予測モデル構築方法、及び、可変的予測モデル構築システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009237832A (ja) * 2008-03-26 2009-10-15 Tokyo Gas Co Ltd 可変的予測モデル構築方法、及び、可変的予測モデル構築システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHIBATA, MASAHIKO ET AL.: "Anomaly Detection Method for Digital Control Input-Output Signals", PROCEEDINGS OF THE 80TH NATIONAL CONVENTION OF IPSJ (INFORMATION PROCESSING SOCIETY OF JAPAN), 13 March 2018 (2018-03-13), pages 1-157 - 1-158 *

Also Published As

Publication number Publication date
US20210125088A1 (en) 2021-04-29
JP7092184B2 (ja) 2022-06-28
JPWO2019187433A1 (ja) 2021-02-25

Similar Documents

Publication Publication Date Title
EP2905665B1 (en) Information processing apparatus, diagnosis method, and program
JP7175216B2 (ja) 異常検知装置、異常検知システム、異常検知方法
US11494252B2 (en) System and method for detecting anomalies in cyber-physical system with determined characteristics
JP6613175B2 (ja) 異常検出装置、系統安定度監視装置、及びそのシステム
CN101950376A (zh) 隐马尔可夫模型学习设备和方法、程序、以及记录介质
JP6521096B2 (ja) 表示方法、表示装置、および、プログラム
WO2019087803A1 (ja) 画像処理装置、画像処理方法及び記録媒体
JP7036697B2 (ja) 監視システム及び監視方法
JP2010122912A (ja) 異常判定装置、方法、及びプログラム
JP2017130094A (ja) セル制御装置、及び製造セルにおける複数の製造機械の稼働状況を管理する生産システム
WO2020234961A1 (ja) 状態推定装置および状態推定方法
JP2020052714A5 (ja)
KR20210158332A (ko) 정보 처리 장치 및 감시 방법
WO2019187433A1 (ja) 製品検出装置、方法およびプログラム
EP3674946A1 (en) System and method for detecting anomalies in cyber-physical system with determined characteristics
JP6135192B2 (ja) 時系列データの異常監視装置、異常監視方法及びプログラム
WO2019146538A1 (ja) 画像処理装置、画像処理方法及び記録媒体
JP2018013914A (ja) 設備監視装置及び設備監視方法
JP5139162B2 (ja) 機械システムの異常検出方法
JP6586788B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US20220083039A1 (en) Abnormality detection apparatus, abnormality detection system, and learning apparatus, and methods for the same and nontemporary computer-readable medium storing the same
Van Herreweghe et al. A machine learning-based approach for predicting tool wear in industrial milling processes
US20220188570A1 (en) Learning apparatus, learning method, computer program and recording medium
JP6347771B2 (ja) 異常診断装置、異常診断方法及び異常診断プログラム
JP7161379B2 (ja) 推論装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18911879

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020509659

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18911879

Country of ref document: EP

Kind code of ref document: A1