WO2019176087A1 - 学習装置および学習方法 - Google Patents

学習装置および学習方法 Download PDF

Info

Publication number
WO2019176087A1
WO2019176087A1 PCT/JP2018/010446 JP2018010446W WO2019176087A1 WO 2019176087 A1 WO2019176087 A1 WO 2019176087A1 JP 2018010446 W JP2018010446 W JP 2018010446W WO 2019176087 A1 WO2019176087 A1 WO 2019176087A1
Authority
WO
WIPO (PCT)
Prior art keywords
learning
neural network
data
unit
reference label
Prior art date
Application number
PCT/JP2018/010446
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 CN201880091109.7A priority Critical patent/CN111837143A/zh
Priority to JP2020506078A priority patent/JP6701467B2/ja
Priority to US16/971,482 priority patent/US20200387792A1/en
Priority to KR1020207025875A priority patent/KR20200108912A/ko
Priority to PCT/JP2018/010446 priority patent/WO2019176087A1/ja
Priority to EP18909932.8A priority patent/EP3748549B1/en
Priority to TW107121878A priority patent/TW201939363A/zh
Publication of WO2019176087A1 publication Critical patent/WO2019176087A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Definitions

  • the present invention relates to a learning apparatus and a learning method for learning a discriminator using a neural network.
  • learning image data used for detecting an abnormality is generally determined in units of images as normal (hereinafter referred to as “OK”) or abnormal (hereinafter referred to as “NG”).
  • OK normal
  • NG abnormal
  • an image region having an NG element is often local, and most of the regions are not locally different from the learning image data determined to be OK.
  • Patent Document 1 describes a technique in which an input image is divided into a plurality of image areas, and a label for distinguishing the foreground and the background is assigned to each divided image area. In this technique, based on continuity from an image region to which a label with a fixed foreground or background is assigned, it is estimated whether a pixel with an indeterminate label is a foreground or a background.
  • This invention solves the said subject, and aims at obtaining the learning apparatus and learning method which can provide the discriminator which performs highly accurate discrimination.
  • the learning device includes a learning unit and a dynamic update unit.
  • the learning unit inputs learning data composed of a plurality of elements and group information defined to determine that at least one of the data belonging to the group is determined to be NG, and an OK label is provided for each element of the learning data Alternatively, by using a learning reference label to which an NG label is assigned and learning a neural network using a plurality of elements of learning data as input, at least one of the data belonging to the group is determined to be NG using the learning result neural network. Is output.
  • the dynamic update unit dynamically updates the learning reference label during learning of the neural network by the learning unit.
  • the learning unit generates an initial value of the learning reference label for each element of the learning data using the learning data and the group information, and the learning updated from the initial value of the learning reference label by the dynamic update unit
  • the neural network is iteratively learned using the reference labels sequentially, and an NG index value that can be NG as an element of the learning data is calculated using the output value of the neural network at each learning iteration.
  • the dynamic updating unit updates the learning reference label based on a result of statistically testing the change tendency of the NG index value obtained for each transition of the number of learning iterations.
  • the learning device can provide a discriminator that performs high-accuracy discrimination by determining at least one of the data belonging to the group as NG.
  • FIG. 2 is a block diagram illustrating a detailed configuration of a learning device according to Embodiment 1.
  • FIG. It is a figure which shows an example of the content of data DB for learning. It is a figure which shows an example of the content of NG determination group DB. It is a figure which shows an example of the content of the learning reference label buffer. It is a figure which shows an example of a structure of a neural network. It is a figure which shows an example of the content of the NG index value buffer. It is a figure which shows an example of the content of the log
  • FIG. 10A is a block diagram illustrating a hardware configuration that implements the function of the learning device according to the first embodiment.
  • FIG. 10B is a block diagram illustrating a hardware configuration for executing software that implements the functions of the learning device according to Embodiment 1.
  • 3 is a flowchart illustrating a learning method according to the first embodiment. It is a flowchart which shows a learning reference
  • FIG. 1 is a block diagram showing a configuration of a learning device 1 according to Embodiment 1 of the present invention.
  • the learning device 1 includes learning data input from a learning data database (hereinafter referred to as learning data DB) 2 and an NG determination group input from an NG determination group database (hereinafter referred to as NG determination group DB) 3.
  • learning data DB learning data database
  • NG determination group DB NG determination group database
  • the learning data stored in the learning data DB 2 is data composed of a plurality of elements. For example, when the learning data is image data, each image region obtained by dividing the image indicated by the image data into a plurality of elements is an element.
  • the NG determination group information stored in the NG determination group DB 3 is information that defines that at least one of the data belonging to the NG determination group is determined to be NG.
  • the learning device 1 includes a learning unit 10 and a dynamic update unit 11.
  • the learning unit 10 inputs learning data from the learning data DB 2, inputs NG determination group information from the NG determination group DB 3, and uses a learning reference label for each element of the learning data, to Learning a neural network using elements as inputs.
  • the learning reference label is information in which an OK label or an NG label is assigned to each element of the learning data.
  • the learning unit 10 outputs a neural network parameter that provides a discriminator that determines that at least one of the data belonging to the NG determination group is NG.
  • the learning unit 10 generates an initial value of the learning reference label for each element of the learning data using the learning data and the NG determination group information, and the dynamic update unit 11 operates the dynamic reference unit from the initial value of the learning reference label.
  • the learning network is repetitively learned by sequentially using the updated learning reference labels.
  • the learning unit 10 uses the output value of the neural network for each learning iteration, calculates an index value (hereinafter referred to as an NG index value) in which the element of the learning data can be NG.
  • the dynamic update unit 11 dynamically updates the learning reference label during the learning of the neural network by the learning unit 10. Specifically, the dynamic update unit 11 statistically tests the change tendency of the NG index value obtained for each transition of the number of learning iterations, and updates the learning reference label based on the statistical test result. . The dynamic updating unit 11 updates the NG label assigned to the element that is originally OK in the learning reference label to the OK label by using the statistical test result of the change tendency of the NG index value.
  • FIG. 2 is a block diagram showing a detailed configuration of the learning device 1 according to the first embodiment.
  • the learning unit 10 includes a learning reference label buffer 10a, a learning reference label generation unit 10b, a neural network management unit 10c, a neural network update unit 10d, and an NG index value buffer 10e.
  • the dynamic update unit 11 includes a history buffer 11a, an NG candidate buffer 11b, a history management unit 11c, a test unit 11d, and a learning reference label update unit 11e.
  • the neural network initial parameter is a parameter that defines the initial state of the neural network.
  • the neural network initial parameters include the number of hidden unit nodes in the neural network, weight parameters assigned between the nodes, bias parameters, and initial values of learning rate parameters. These parameters are those described in Reference Document 1 below.
  • the learning device 1 updates the neural network initial parameter to generate a neural network parameter that provides a discriminator that determines that at least one of the data belonging to the NG determination group is abnormal. (Reference 1) C.I. M.M. Bishop, Hiroshi Motoda (supervised), “Pattern Recognition and Machine Learning”, Maruzen Publishing, pp. 225-247.
  • the learning data DB 2 stores learning data composed of a plurality of elements.
  • FIG. 3 is a diagram illustrating an example of the contents of the learning data DB2.
  • the learning data is composed of a plurality of elements identified by “data ID”, and each of the plurality of elements is composed of “data value series”.
  • FIG. 3 shows an element with data ID D0001, an element with data ID D0002, an element with data ID D0003, an element with data ID D0004,. .
  • the NG determination group DB 3 stores NG determination group information including identification information of an NG determination group and identification information of elements of learning data belonging to the NG determination group.
  • FIG. 4 is a diagram illustrating an example of the contents of the NG determination group DB3.
  • Each of the plurality of elements constituting the learning data is identified by “data ID” as in FIG.
  • the NG determination group is identified by “NG determination group ID”.
  • the element with the data ID D0001, the element with the data ID D0002, and the element with the data ID D0004 belong to the NG determination group with the NG determination group ID G001, and at least one of these elements is determined to be NG.
  • the learning standard label buffer 10a stores a learning standard label for each element of the learning data.
  • FIG. 5 is a diagram illustrating an example of the contents of the learning reference label buffer 10a.
  • the learning reference label information includes a data ID of an element of learning data, an OK flag, and an NG flag.
  • Each of the plurality of elements constituting the learning data is identified by “data ID” as in FIG.
  • a value 1 is set in the OK flag corresponding to this element, and a value 0 is set in the NG flag corresponding to this element.
  • a value 0 is set in the OK flag corresponding to this element, and a value 1 is set in the NG flag corresponding to this element.
  • the learning reference label generation unit 10b generates an initial value of the learning reference label based on the determination result of whether or not the learning data belongs to the NG determination group. For example, the learning reference label generation unit 10b determines whether the same data ID as the element belonging to the NG determination group in the NG determination group DB3 exists among the data IDs of the elements registered in the learning data DB2. . When it is determined that the data ID is the same as the element belonging to the NG determination group, the learning reference label generation unit 10b sets the value 0 to the OK flag corresponding to this element and sets the value 1 to the NG flag. A label is generated and stored in the learning reference label buffer 10a.
  • the neural network management unit 10c converts the element corresponding to the data ID stored in the learning data DB2 into a flag having a value of 1 among the OK flag and the NG flag corresponding to the data ID in the learning reference label buffer 10a. It manages the learning of the neural network that distributes to the corresponding class (OK class or NG class).
  • FIG. 6 is a diagram illustrating an example of the configuration of a neural network. As shown in FIG. 6, the neural network includes an input layer, a hidden layer, and an output layer.
  • the sequence of data values x 1, x 2 which constitutes an element of learning data, ..., the x N is input to the input layer, the weight parameter and x 1 between the nodes of the node of the input layer and the hidden layer , x 2, ⁇ , z 1 , z 2 which is produced by the non-linear converting the multiplication sum of the x N, ⁇ , z M is calculated. Subsequently, y 1 and y 2 obtained by nonlinearly transforming the multiplication sum of the weight parameter between the hidden layer node and the output layer node and z 1 , z 2 ,..., Z M are output from the output layer.
  • the output values y 1 and y 2 are NG evaluation values for each class, the output value y 1 represents the degree to which the element belongs to the OK class, and the output value y 2 represents the degree to which the element belongs to the NG class. Yes.
  • An element (data value series) input to the neural network is determined to belong to the OK class when y 1 > y 2 , and is determined to belong to the NG class when y 1 ⁇ y 2 .
  • the NG index value may be a ratio of y 2 and y 1 corrected so that the denominator does not become 0.
  • y 2 ⁇ y 1 is set as the NG index value.
  • FIG. 6 shows a neural network having one hidden layer
  • the neural network managed by the neural network management unit 10c may be a neural network having a plurality of hidden layers.
  • the neural network update unit 10d updates the neural network parameter based on the NG index value obtained by the neural network management unit 10c, thereby outputting a neural network parameter that gives a discriminator of the learning result.
  • the neural network update unit 10d updates the neural network parameters using the parameter optimization method described in Reference Document 1.
  • the neural network updating unit 10d outputs the neural network parameters optimized and updated to the outside of the learning device 1 when the number of learning iterations reaches a threshold value or when the learning end condition is satisfied. To do.
  • the NG index value buffer 10e stores an NG index value for each element of learning data obtained in the process of learning iteration of the neural network.
  • FIG. 7 is a diagram illustrating an example of the contents of the NG index value buffer 10e.
  • the data ID of the element of the learning data and the NG index value at the time point calculated by the neural network management unit 10c among the NG index values of the element are set.
  • the history buffer 11a stores the number of learning iterations and the corresponding NG index value for each element of the learning data.
  • FIG. 8 is a diagram illustrating an example of the contents of the history buffer 11a.
  • NG index values when the number of learning iterations is 1, 100 and 200 are set.
  • the NG index value obtained when the number of learning iterations is 1 is 0.55
  • the NG index value obtained when the number of learning iterations is 100 is It is 0.35
  • the NG index value obtained when the number of learning iterations is 200 is 0.12.
  • FIG. 9 is a diagram illustrating an example of the contents of the NG candidate buffer 11b.
  • a data ID of an element of learning data, an NG candidate level, an OK determination flag, and an NG determination flag are set.
  • the NG candidate level changes according to the value of the NG index value taken in the past.
  • the NG candidate is an element to which the NG label is assigned as the learning reference label, and the NG candidate level is a level corresponding to the NG index value corresponding to the element of the NG candidate.
  • the OK confirmation flag is a flag indicating that the element is confirmed to be OK. For example, if the value 0 is set in the OK determination flag, this indicates that the element corresponding to the OK determination flag is not determined OK, and if the value 1 is set, the element corresponds to this OK determination flag. This indicates that the element to be confirmed is OK.
  • the NG determination flag is a flag indicating that the element is determined to be NG. For example, if the value 0 is set in the NG determination flag, it indicates that the element corresponding to the NG determination flag is not determined as NG. If the value 1 is set, the element corresponds to the NG determination flag. This indicates that the element to be determined is NG.
  • the history management unit 11c stores the NG index value for each element of the learning data obtained for each learning iteration in the history buffer 11a.
  • the history management unit 11c stores the NG index value stored in the NG index value buffer 10e in the history buffer 11a together with the number of learning iterations at that time.
  • the history buffer 11a stores the NG index value obtained at the preset learning repetition count (1, 100, 200 in the example of FIG. 8).
  • the test unit 11d statistically tests the change tendency of the NG index value stored in the history buffer 11a, and updates the contents of the NG candidate buffer 11b for each element of the learning data based on the statistical test result. . For example, the test unit 11d extracts, from the history buffer 11a, a time series of NG index values for each transition of the number of learning iterations corresponding to the processing target element. Next, the test unit 11d statistically tests the time series of NG index values extracted from the history buffer 11a, and confirms the change tendency of the NG index values.
  • the test unit 11d performs irregular samples on the time series of NG index values. When it is confirmed by the irregularity test that the change in the NG index value is not regular, the testing unit 11d leaves this element as an NG candidate. When it is confirmed that there is regularity, the testing unit 11d performs a trend test on a time series of NG index values. If it is confirmed by the tendency test that the NG index value is increasing, the test unit 11d keeps this element as an NG candidate.
  • the test unit 11d determines that this element is NG confirmed, and the NG confirmation flag corresponding to this element in the NG candidate buffer 11b. Set the value 1 to.
  • the test unit 11d determines that this element is OK and determines that this element in the NG candidate buffer 11b corresponds to this element. Set the value 1 to the confirmation flag.
  • the test method described in Reference 2 below may be used. (Reference 2) Yusuke Muto, “Statistical Analysis Handbook”, Asakura Shoten, pp. 398-399, 402-403.
  • the learning reference label update unit 11e updates the learning reference label of the element of the learning data that has been determined OK by the test unit 11d from the NG label to the OK label. For example, when the element of the learning data is confirmed OK by the test unit 11d, the learning reference label update unit 11e sets the value 1 to the OK flag in the learning reference label corresponding to this element, and sets the value NG to 0. Set.
  • the learning device 1 includes a processing circuit for executing processing from step ST1 to step ST5 in FIG.
  • This processing circuit may be dedicated hardware, or may be a CPU (Central Processing Unit) that executes a program stored in a memory.
  • CPU Central Processing Unit
  • FIG. 10A is a block diagram showing a hardware configuration for realizing the function of the learning device 1.
  • FIG. 10B is a block diagram illustrating a hardware configuration that executes software that implements the functions of the learning device 1.
  • an information input interface 100 is an interface that relays input of information from an external device (not shown) to the learning device 1 shown in FIGS.
  • the neural network management unit 10 c illustrated in FIG. 2 inputs the neural network initial parameters from the external device via the information input interface 100.
  • the external device may be a storage device provided independently of the learning device 1.
  • the learning device 1 may use a storage device that exists on the cloud.
  • the DB input / output interface 101 is an interface that relays data exchange between the learning device 1 and the database 102.
  • the database 102 is the learning data DB2 and the NG determination group DB3 shown in FIGS.
  • the learning reference label generation unit 10 b included in the learning unit 10 inputs data from the learning data DB 2 and the NG determination group DB 3 via the DB input / output interface 101.
  • the database 102 may be constructed in a storage device provided independently of the learning device 1.
  • the learning device 1 inputs data from the database 102 constructed in the storage device existing in the cloud via the DB input / output interface 101.
  • the learning reference label buffer 10a, the NG index value buffer 10e, the history buffer 11a, and the NG candidate buffer 11b shown in FIG. 2 are constructed in the memory built in the processing circuit 104 shown in FIG. 10A, or as shown in FIG. 10B. It is constructed in the memory 106 shown.
  • the information output interface 103 is an interface that relays the output of information from the learning device 1 to an external device (not shown).
  • the neural network update unit 10 d illustrated in FIG. 2 outputs the neural network parameters to the external device via the information output interface 103.
  • An example of the external device is an abnormality detection device that uses a discriminator given by a neural network parameter.
  • the processing circuit 104 may be, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, or an ASIC (Application Specific Integrated). Circuit), FPGA (Field-Programmable Gate Array), or a combination thereof.
  • the functions of the learning unit 10 and the dynamic update unit 11 in the learning device 1 may be realized by separate processing circuits, or these functions may be realized by a single processing circuit.
  • the processing circuit is the processor 105 shown in FIG. 10B
  • the functions of the learning unit 10 and the dynamic update unit 11 in the learning device 1 are realized by software, firmware, or a combination of software and firmware.
  • the software or firmware is described as a program and stored in the memory 106.
  • the processor 105 reads out and executes the program stored in the memory 106, thereby realizing the functions of the learning unit 10 and the dynamic update unit 11 in the learning device 1. That is, the learning device 1 includes a memory 106 for storing a program that, when executed by the processor 105, results in the processing from step ST1 to step ST5 shown in FIG. These programs cause the computer to execute the procedures or methods of the learning unit 10 and the dynamic update unit 11.
  • the memory 106 may be a computer-readable storage medium that stores a program for causing a computer to function as the learning unit 10 and the dynamic update unit 11.
  • the memory 106 includes, for example, a nonvolatile or volatile semiconductor such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically-EPROM), or the like. Magnetic disks, flexible disks, optical disks, compact disks, mini disks, DVDs, and the like are applicable.
  • RAM Random Access Memory
  • ROM Read Only Memory
  • flash memory flash memory
  • EPROM Erasable Programmable Read Only Memory
  • EEPROM Electrically-EPROM
  • Part of the functions of the learning unit 10 and the dynamic update unit 11 may be realized by dedicated hardware, and part of the functions may be realized by software or firmware.
  • the learning unit 10 realizes the function by a processing circuit that is dedicated hardware
  • the dynamic update unit 11 realizes the function by the processor 105 reading and executing a program stored in the memory 106.
  • the processing circuit can realize the above functions by hardware, software, firmware, or a combination thereof.
  • FIG. 11 is a flowchart illustrating the learning method according to the first embodiment.
  • the learning reference label generation unit 10b sets a value 0 to an OK flag corresponding to an element belonging to the NG determination group among a plurality of elements of the learning data, and sets a value 1 to the NG flag. Then, a learning reference label is generated for each element of the learning data.
  • the neural network management unit 10c constructs an initial state neural network using the neural network initial parameters.
  • step ST2 the neural network management unit 10c inputs learning data elements to the neural network, and calculates an NG index value for each element based on the output result of the neural network.
  • the neural network management unit 10c determines whether the target element belongs to the OK class or the NG class based on the NG index value.
  • the neural network management unit 10c evaluates the error of the initial value of the learning reference label corresponding to the target element and the learning reference label updated by the dynamic update unit 11 and the determined class using an error function. To do.
  • the function described in Reference 1 may be used as the error function.
  • the history management unit 11c stores the NG index value obtained each time learning is repeated in the history buffer 11a.
  • the test unit 11d evaluates whether or not the NG candidate element should be confirmed as OK or NG based on the result of statistically testing the change tendency of the NG index value stored in the history buffer 11a.
  • the learning reference label updating unit 11e updates the learning reference label based on the evaluation result by the testing unit 11d. For example, the learning reference label update unit 11e updates the learning reference label corresponding to the element determined to be OK by the test unit 11d from the NG label to the OK label.
  • step ST4 the neural network update unit 10d updates the neural network parameters based on the NG index value obtained by the neural network management unit 10c.
  • a series of learning processes from step ST2 to step ST4 are repeatedly performed for each of a plurality of elements constituting the learning data.
  • the neural network update unit 10d outputs the neural network parameters updated by the series of learning described above as a learning result (step ST5).
  • FIG. 12 is a flowchart showing learning reference label generation processing, and shows processing for generating an initial value of a learning reference label.
  • the learning reference label generation unit 10b sequentially reads out the data ID for each element of the learning data registered in the learning data DB 2 and executes the subsequent processing.
  • the learning reference label generation unit 10b determines whether there is the same data ID as the data ID of the element belonging to the NG determination group registered in the NG determination group DB3 among the data IDs of the elements read from the learning data DB2. Determine (step ST1a).
  • the learning reference label generation unit 10b sets the value 0 to the OK flag corresponding to the target element. And a value 1 is set in the NG flag (step ST2a).
  • the learning reference label generation unit 10b sets a value in the OK flag corresponding to the target element. 1 is set, and a value 0 is set in the NG flag (step ST3a).
  • Step ST4a When the learning reference label generation unit 10b sets values in the OK flag and the NG flag corresponding to the target element, the learning reference label generation unit 10b stores the data ID of the target element and the values of the OK flag and the NG flag in the learning reference label buffer 10a.
  • the learning reference label generation unit 10b repeatedly executes a series of processes from step ST1a to step ST4a for all elements of the learning data registered in the learning data DB2. By this process, an initial value of the learning reference label is generated.
  • FIG. 13 is a flowchart showing a neural network management process, and shows a process for calculating an NG index value for each element.
  • the neural network management unit 10c constructs a neural network in an initial state based on the neural network initial parameters (step ST1b).
  • the neural network management unit 10c inputs the learning data elements (data value series D i ) read from the learning data DB2 to the neural network, and outputs the output values y 1 — i calculated in the output layer and y2_i is obtained (step ST2b).
  • Output value y 1_I represents the degree to which elements belong to the OK class
  • the output value y 2_I represents the degree to which elements belong to NG class.
  • An element (data value series D i ) input to the neural network is determined to belong to the OK class when y 1 — i > y 2 — i , and is determined to belong to the NG class when y 1 — i ⁇ y 2 — i.
  • the neural network management unit 10c evaluates the error between the determined class and the learning reference label.
  • step ST3b the neural network management unit 10c calculates y 2 — i ⁇ y 1 — i as the NG index value NGE i , and stores the calculated NG index value NGE i in the NG index value buffer 10e together with the data ID of the corresponding element.
  • the y 2_i -y 1_i and NGE i may be the ratio of y 1_I and y 2_I as NGE i, the distance in consideration of distribution of y 1_I and y 2_I may NGE i.
  • the neural network management unit 10c repeatedly executes a series of processes from step ST2b to step ST3b for all elements of the learning data registered in the learning data DB2.
  • FIG. 14 is a flowchart showing the history management process of the NG index value.
  • the history management unit 11c determines whether or not the number of learning iterations is divisible by a certain number (for example, 100) (step ST1c).
  • the number of learning iterations is the number of times that a series of processing by the learning unit 10 from step ST2 to step ST4 shown in FIG. 11 is repeated.
  • step ST1c When it is determined that the number of learning iterations is divisible by a certain number (step ST1c; YES), the history management unit 11c extracts a data ID and a series of NG index values of elements corresponding thereto from the NG index value buffer 10e (step). ST2c). Next, the history management unit 11c adds the current number of learning iterations to the extracted data ID and NG index value series, and stores it in the history buffer 11a (step ST3c). Thereafter, the history management unit 11c ends the process of FIG. 14 and proceeds to the process of the verification unit 11d.
  • step ST1c when it is determined that the number of learning iterations is not divisible by a certain number (step ST1c; NO), the history management unit 11c ends the process of FIG. 14 and proceeds to the process of the neural network update unit 10d.
  • FIG. 15 is a flowchart showing the NG index value statistical test process.
  • the test unit 11d extracts, from the history buffer 11a, an NG index value series V j for each number of learning iterations corresponding to the data ID of the j-th element (target element), and the extracted NG index value series V j is converted into a series L j of NG candidate levels (step ST1d).
  • the sequence L j is determined depending on what number range obtained by equally dividing a range of values taken by the sequence V j in the past by a certain number to which the current NG index value belongs.
  • NG candidate level 0 corresponds to an intermediate range of NG index values taken in the past.
  • the NG candidate level + 1 corresponds to a range where the NG index value is larger than the intermediate range
  • the NG candidate level + 2 corresponds to a range where the NG index value is larger than the range corresponding to the NG candidate level + 1.
  • NG candidate level-1 corresponds to a range having an NG index value smaller than the intermediate range
  • NG candidate level-2 corresponds to a range having an NG index value smaller than the range corresponding to NG candidate level-1. Note that since there is only one NG index value for the first time, the range of values that the series V j has taken in the past is zero. The NG candidate level at this time is set to 0.
  • the verification unit 11d determines whether or not the value 1 is set in the OK confirmation flag corresponding to all the elements other than the target element among the elements belonging to the NG determination group to which the target element (NG candidate) belongs. Determination is made (step ST2d). At this time, when the value 0 is set in the OK confirmation flag corresponding to any element (step ST2d; NO), the test unit 11d refers to the NG candidate buffer 11b and determines NG corresponding to the target element. It is determined whether or not the value 0 is set in both the confirmation flag and the OK confirmation flag (step ST3d).
  • the test unit 11d uses the current number of learning iterations and the data corresponding to the target element in the NG candidate buffer 11b. Is updated with the current NG candidate level of the element, the current OK confirmation flag and the NG confirmation flag of the target element (step ST4d). Thereafter, the test unit 11d continuously extracts the sequence V j + 1 of NG index values corresponding to the data ID of the (j + 1) th element from the history buffer 11a, and repeats the processing from step ST1d.
  • step ST2d When the value 1 is set in the OK confirmation flag corresponding to all the elements other than the target element among the elements belonging to the NG determination group to which the target element belongs (step ST2d; YES), the test unit 11d The value to be set in the NG confirmation flag corresponding to the target element is determined to be “1” (step ST5d). Thereafter, the process proceeds to step ST4d, and the verification unit 11d updates the NG determination flag corresponding to the target element in the NG candidate buffer 11b by setting the value 1 to the value.
  • Step ST3d If the value 0 in any of the NG determination flag and OK confirmation flag corresponding to the elements of the target is set (Step ST3d; YES), the assay unit 11d, a certain confidence against sequence L j of NG candidate level An irregularity test based on a coefficient (for example, 0.95) is performed (step ST6d). Test unit 11d, based on the non-regularity of the test results for the sequence L j of NG candidate levels, determines whether there is regularity in the sequence L j of NG candidate level (step ST7d).
  • step ST7d When the regularity is not confirmed in the NG candidate level sequence L j and it is determined that the change tendency of the NG index value changes randomly each time learning is repeated (step ST7d; NO), the test unit 11d The target element is not confirmed OK and NG is not confirmed. Thereafter, the process proceeds to step ST4d.
  • test unit 11d An upward tendency test is performed on the level series L j (step ST8d). Assay portion 11d is based on the tendency of the test results for the sequence L j of NG candidate levels, it determines whether there is an upward trend in the series L j of NG candidate level (step ST9d).
  • step ST9d When the NG candidate level series L j tends to increase (step ST9d; YES), the test unit 11d determines that the NG index value increases every time learning is repeated, and proceeds to the processing of step ST5d. As a result, the value to be set in the NG determination flag corresponding to the target element is determined to be “1”, and NG is determined.
  • test unit 11d performs a downward trend test for the NG candidate level series L j .
  • Assay portion 11d is based on the tendency of the test results for the sequence L j of NG candidate levels, it determines whether there is a downward trend in the series L j of NG candidate level (step ST11d).
  • test unit 11d proceeds to the process of step ST4d and determines the value of the series L j as the current NG candidate level. And reflected in the NG candidate buffer 11b.
  • step ST11d determines that the NG index value decreases each time learning is repeated, and corresponds to the target element.
  • the value to be set in the OK confirmation flag is determined as “1” (step ST12d). Thereafter, the process proceeds to step ST4d, and the testing unit 11d updates the OK determination flag corresponding to the target element in the NG candidate buffer 11b by setting a value of 1.
  • FIG. 16 is a flowchart showing the learning reference label update process.
  • the learning reference label update unit 11e extracts, from the NG candidate buffer 11b, the data ID of the element whose value is set to 1 in the OK confirmation flag as a series U having no overlap (step ST1e).
  • the series U includes the data ID of the element whose value is set to 1 in the OK confirmation flag.
  • the learning reference label update unit 11e specifies a record having the same data ID as the data ID included in the series U in the learning reference label buffer 10a, and the OK flag in the specified record has the value 1 and the NG flag has the value.
  • the learning reference label is updated to be 0 (step ST2e). Since this processing is executed during learning of the neural network by the learning unit 10, the learning reference label is dynamically updated.
  • FIG. 17 is a flowchart showing neural network parameter update processing.
  • the neural network update unit 10d extracts, from the NG index value buffer 10e, the NG index value calculated from the output result of the neural network constructed with the current neural network parameters by the neural network management unit 10c.
  • the neural network update unit 10d Based on the NG index value extracted from the NG index value buffer 10e, the neural network update unit 10d optimizes the neural network parameters (step ST1f). For example, the neural network update unit 10d optimizes the current neural network parameters using the gradient descent optimization method described in Reference 1 based on the NG index value extracted from the NG index value buffer 10e. This optimization is performed sequentially each time learning is repeated.
  • the neural network updating unit 10d determines whether or not the number of learning iterations has reached a predetermined value (for example, 10000) or more (step ST2f). When the number of learning iterations is less than the predetermined value (step ST2f; NO), the neural network update unit 10d ends the process of FIG. 17 and proceeds to the process from step ST2 of FIG. 11 by the neural network management unit 10c.
  • a predetermined value for example, 10000
  • the neural network update unit 10d outputs the neural network parameters at that time as a learning result (step ST3f).
  • the neural network constructed using the neural network parameters of the learning result functions as a discriminator that determines at least one of the data belonging to the NG determination group as NG.
  • NG determination group (1) ⁇ E11 (OK), E12 (NG), E13 (OK) ⁇
  • NG determination group (2) ⁇ E21 (NG ), E22 (OK), E23 (OK) ⁇
  • OK OK determination group (3) ⁇ E31 (OK), E32 (OK), E33 (OK) ⁇ .
  • the NG determination group (1) only the second element is NG, and the remaining elements are OK.
  • the NG determination group (2) only the first element is NG, and the remaining elements are OK.
  • the entire group is determined to be NG.
  • the element unit OK or NG is shown in () of the element E, but OK and NG for each element are unknown at the stage where the three groups are treated as learning data.
  • OK and NG of the group (4) ⁇ E41 (OK), E42 (OK), E43 (OK) ⁇ and the group (5) ⁇ E51 (OK), E52 (OK), E53 (NG) ⁇
  • the conventional classifier an element that is originally OK is mistakenly learned as NG, and therefore, any element belonging to the group (4) may be determined as NG. If any of the elements belonging to the group (4) is determined as NG, the entire group (4) is also determined as NG.
  • the conventional discriminator has low identification accuracy in element units and low discrimination accuracy in group units.
  • the learning device 1 updates the learning reference label in which the OK label or the NG label is assigned for each element based on the result of statistically testing the change tendency of the NG index value. .
  • the learning unit 10 can learn a discriminator that performs high-accuracy discrimination with almost no erroneous learning of elements that are originally OK as NG.
  • the learning result classifier determines that at least one of the data belonging to the NG determination group is NG, if the group (5) is the NG determination group, the group (5) is appropriately determined as NG, Group (4) is determined to be OK.
  • the learning device 1 includes the learning unit 10 and the dynamic update unit 11.
  • the learning unit 10 learns the neural network using a plurality of elements of the learning data as an input using the learning reference label, and uses at least one of the data belonging to the group as NG using the neural network of the learning result.
  • the discriminator to be judged is output.
  • the dynamic update unit 11 dynamically updates the learning reference label during the learning of the neural network by the learning unit 10.
  • the learning unit 10 repeatedly learns the neural network using the learning reference label updated by the dynamic update unit 11 from the initial value of the learning reference label, and outputs the neural network for each learning iteration.
  • the NG index value corresponding to the element of the learning data is calculated using the value.
  • the dynamic update unit 11 updates the learning reference label based on the result of statistically testing the change tendency of the NG index value obtained for each transition of the number of learning iterations. Since the learning result discriminator determines that at least one of the data belonging to the group is NG, the learning device 1 can provide a discriminator that performs high-accuracy discrimination.
  • the learning device can provide a discriminator that performs high-precision discrimination, it can be used, for example, in an abnormality detection system.
  • 1 learning device 2 learning data DB, 3 NG judgment group DB, 10 learning unit, 10a learning reference label buffer, 10b learning reference label generation unit, 10c neural network management unit, 10d neural network update unit, 10e NG index value buffer 11 dynamic update unit, 11a history buffer, 11b NG candidate buffer, 11c history management unit, 11d verification unit, 11e learning reference label update unit, 100 information input interface, 101 DB input / output interface, 102 database, 103 information output interface , 104 processing circuit, 105 processor, 106 memory.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)

Abstract

学習部(10)が、学習用データの要素ごとにOKラベルとNGラベルを割り当てた学習基準ラベルに基づいて、学習用データの要素を入力としてニューラルネットワークを学習し、NG判定グループに属するデータの少なくとも一つをNGと判定する識別器を出力する。動的更新部(11)は、学習部(10)によるニューラルネットワークの学習の途中で学習基準ラベルを動的に更新する。

Description

学習装置および学習方法
 この発明は、ニューラルネットワークを用いた識別器を学習する学習装置および学習方法に関する。
 異常検知を行うために使用される学習用画像データは、一般に画像単位で正常(以下、OKと記載する)か、異常(以下、NGと記載する)かが判定されていることが多い。
 一方、NGと判定された学習用画像データにおいて、NG要素のある画像領域は局所的であることが多く、大半の領域は、OKと判定された学習用画像データと局所的には変わらない。
 従来から、複数の要素から構成された学習用データについて要素ごとにOKまたはNGが判定された学習用データを使用する機械学習がある。
 例えば、特許文献1には、入力画像を複数の画像領域に分割し、分割した画像領域ごとに前景と背景とを区別するラベルを付与する技術が記載されている。この技術では、前景または背景が確定しているラベルが付与された画像領域からの連続性に基づいて、不確定のラベルが付与されたピクセルが前景であるか背景であるかが推定される。
特開2012-208913号公報
 画像、動画または多次元データについて機械学習によってOKとNGを識別する場合、学習用データには、人手によってOKまたはNGが判定されたデータが提供されることが多い。ただし、学習用データを構成する全ての要素がNGであることは少なく、不特定の要素のみからNGと判定されている場合が多い。このような学習用データを用いると、本来はOKである要素をNGと誤って学習することになり、学習結果の識別器の識別精度が低下するという課題があった。
 この発明は上記課題を解決するものであり、高精度の識別を行う識別器を提供することができる学習装置および学習方法を得ることを目的とする。
 この発明に係る学習装置は、学習部および動的更新部を備える。学習部は、複数の要素から構成された学習用データと、グループに属するデータの少なくとも一つがNGと判定されることが定義されたグループ情報とを入力し、学習用データの要素ごとにOKラベルまたはNGラベルが割り当てられた学習基準ラベルを用いて、学習用データの複数の要素を入力としてニューラルネットワークを学習することにより、学習結果のニューラルネットワークを用いてグループに属するデータの少なくとも一つをNGと判定する識別器を出力する。動的更新部は、学習部によるニューラルネットワークの学習の途中で学習基準ラベルを動的に更新する。この構成において、学習部は、学習用データおよびグループ情報を用いて学習用データの要素ごとの学習基準ラベルの初期値を生成し、学習基準ラベルの初期値から動的更新部によって更新された学習基準ラベルを逐次用いてニューラルネットワークを反復して学習し、学習の反復ごとのニューラルネットワークの出力値を用いて、学習用データの要素がNGとなり得るNG指標値を算出する。動的更新部は、学習の反復回数の推移ごとに得られたNG指標値の変化傾向を統計的に検定した結果に基づいて学習基準ラベルを更新する。
 この発明によれば、学習装置は、グループに属するデータの少なくとも一つをNGと判定することにより高精度の識別を行う識別器を提供することができる。
この発明の実施の形態1に係る学習装置の構成を示すブロック図である。 実施の形態1に係る学習装置の詳細な構成を示すブロック図である。 学習用データDBの内容の一例を示す図である。 NG判定グループDBの内容の一例を示す図である。 学習基準ラベルバッファの内容の一例を示す図である。 ニューラルネットワークの構成の一例を示す図である。 NG指標値バッファの内容の一例を示す図である。 履歴バッファの内容の一例を示す図である。 NG候補バッファの内容の一例を示す図である。 図10Aは、実施の形態1に係る学習装置の機能を実現するハードウェア構成を示すブロック図である。図10Bは、実施の形態1に係る学習装置の機能を実現するソフトウェアを実行するハードウェア構成を示すブロック図である。 実施の形態1に係る学習方法を示すフローチャートである。 学習基準ラベル生成処理を示すフローチャートである。 ニューラルネットワーク管理処理を示すフローチャートである。 NG指標値の履歴管理処理を示すフローチャートである。 NG指標値の統計的検定処理を示すフローチャートである。 学習基準ラベル更新処理を示すフローチャートである。 ニューラルネットワークパラメータ更新処理を示すフローチャートである。
 以下、この発明をより詳細に説明するため、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態1.
 図1は、この発明の実施の形態1に係る学習装置1の構成を示すブロック図である。
 学習装置1は、学習用データデータベース(以下、学習用データDBと記載する)2から入力した学習用データとNG判定グループデータベース(以下、NG判定グループDBと記載する)3から入力したNG判定グループ情報とを用いて、ニューラルネットワーク初期パラメータを更新していくことにより、学習結果の識別器を与えるニューラルネットワークパラメータを生成する。
 学習用データDB2に格納された学習用データは、複数の要素から構成されたデータである。例えば、学習用データが画像データである場合、この画像データが示す画像を複数に分割した個々の画像領域が要素である。NG判定グループDB3に格納されたNG判定グループ情報は、NG判定グループに属するデータの少なくとも一つがNGと判定されることが定義された情報である。
 学習装置1は、学習部10および動的更新部11を備える。学習部10は、学習用データDB2から学習用データを入力し、NG判定グループDB3からNG判定グループ情報を入力し、学習用データの要素ごとの学習基準ラベルを用いて、学習用データの複数の要素を入力として、ニューラルネットワークを学習する。学習基準ラベルは、学習用データの要素ごとにOKラベルまたはNGラベルが割り当てられた情報である。学習部10は、NG判定グループに属するデータの少なくとも一つをNGと判定する識別器を与えるニューラルネットワークパラメータを出力する。
 また、学習部10は、学習用データおよびNG判定グループ情報を用いて学習用データの要素ごとの学習基準ラベルの初期値を生成し、学習基準ラベルの初期値から、動的更新部11によって動的に更新された学習基準ラベルを逐次用いてニューラルネットワークを反復して学習する。学習の反復ごとのニューラルネットワークの出力値を用いて、学習部10は、学習用データの要素がNGとなり得る指標値(以下、NG指標値と記載する)を算出する。
 動的更新部11は、学習部10によるニューラルネットワークの学習の途中で学習基準ラベルを動的に更新する。具体的には、動的更新部11は、学習の反復回数の推移ごとに得られたNG指標値の変化傾向を統計的に検定して、統計的検定結果に基づいて学習基準ラベルを更新する。動的更新部11は、NG指標値の変化傾向の統計的検定結果を用いることにより、学習基準ラベルにおいて本来はOKである要素に割り当てられたNGラベルをOKラベルに更新する。
 図2は、実施の形態1に係る学習装置1の詳細な構成を示すブロック図である。図2に示すように、学習部10は、学習基準ラベルバッファ10a、学習基準ラベル生成部10b、ニューラルネットワーク管理部10c、ニューラルネットワーク更新部10dおよびNG指標値バッファ10eを備える。動的更新部11は、履歴バッファ11a、NG候補バッファ11b、履歴管理部11c、検定部11dおよび学習基準ラベル更新部11eを備える。
 ニューラルネットワーク初期パラメータは、ニューラルネットワークの初期状態を定義するパラメータである。例えば、ニューラルネットワーク初期パラメータには、ニューラルネットワークにおける隠れユニットのノード数、ノード間に付与された重みパラメータ、バイアスパラメータおよび学習率パラメータの初期値が含まれる。これらのパラメータは、下記の参考文献1に記載されたパラメータである。学習装置1は、ニューラルネットワーク初期パラメータを更新することで、NG判定グループに属するデータの少なくとも一つを異常と判定する識別器を与えるニューラルネットワークパラメータが生成される。
(参考文献1)C.M.ビショップ, 元田浩(監訳), “パターン認識と機械学習 上”, 丸善出版, pp. 225-247.
 学習用データDB2には、複数の要素から構成された学習用データが格納されている。図3は、学習用データDB2の内容の一例を示す図である。図3において、学習用データは、“データID”で識別される複数の要素から構成されており、複数の要素のそれぞれは、“データ値系列”から構成されている。例えば、図3には、ある学習用データを構成するデータIDがD0001の要素、データIDがD0002の要素、データIDがD0003の要素、データIDがD0004の要素、・・・が記載されている。
 NG判定グループDB3には、NG判定グループの識別情報と、NG判定グループに属する学習用データの要素の識別情報とから構成されたNG判定グループ情報が格納されている。図4は、NG判定グループDB3の内容の一例を示す図である。学習用データを構成する複数の要素のそれぞれは、図3と同様に、“データID”で識別される。NG判定グループは、“NG判定グループID”で識別される。例えば、データIDがD0001の要素、データIDがD0002の要素、データIDがD0004の要素は、NG判定グループIDがG001のNG判定グループに属しており、これらの要素の少なくとも一つがNGと判定される。
 学習基準ラベルバッファ10aには、学習用データの要素ごとの学習基準ラベルが格納されている。図5は、学習基準ラベルバッファ10aの内容の一例を示す図である。学習基準ラベル情報は、図5に示すように、学習用データの要素のデータID、OKフラグおよびNGフラグを有している。学習用データを構成する複数の要素のそれぞれは、図3と同様に、“データID”で識別される。OKラベルが割り当てられた要素では、この要素に対応するOKフラグに値1が設定され、この要素に対応するNGフラグに値0が設定される。反対に、NGラベルが割り当てられた要素では、この要素に対応するOKフラグに値0が設定され、この要素に対応するNGフラグに値1が設定される。
 学習基準ラベル生成部10bは、学習用データが、NG判定グループに属するか否かの判定結果に基づいて、学習基準ラベルの初期値を生成する。例えば、学習基準ラベル生成部10bは、学習用データDB2に登録されている要素のデータIDのうち、NG判定グループDB3におけるNG判定グループに属する要素と同じデータIDが存在するか否かを判定する。NG判定グループに属する要素と同じデータIDであると判定した場合に、学習基準ラベル生成部10bは、この要素に対応するOKフラグに値0を設定し、NGフラグに値1を設定した学習基準ラベルを生成して、学習基準ラベルバッファ10aに格納する。
 ニューラルネットワーク管理部10cは、学習用データDB2に格納されたデータIDに対応する要素を、学習基準ラベルバッファ10aにおける、上記データIDに対応するOKフラグおよびNGフラグのうち、値が1のフラグに対応するクラス(OKクラスまたはNGクラス)に振り分けるニューラルネットワークの学習を管理する。
 図6は、ニューラルネットワークの構成の一例を示す図である。図6に示すように、ニューラルネットワークは、入力層、隠れ層および出力層から構成される。学習用データの要素を構成するデータ値系列x,x,・・・,xが入力層に入力されると、入力層のノードと隠れ層のノードとの間の重みパラメータとx,x,・・・,xとの乗算和を非線形変換したz,z,・・・,zが算出される。続いて、隠れ層のノードと出力層のノードとの間の重みパラメータとz,z,・・・,zとの乗算和を非線形変換したy,yが出力層から出力される。
 出力値y,yは、クラスごとのNG評価値であり、出力値yは、要素がOKクラスに属する度合いを表し、出力値yは、要素がNGクラスに属する度合いを表している。ニューラルネットワークに入力された要素(データ値系列)は、y>yであるとき、OKクラスに属すると判定され、y≦yであるときに、NGクラスに属すると判定される。NG指標値は、分母が0にならないように補正したyとyとの比率であってもよいが、以下では、y-yをNG指標値とする。
 なお、図6において、隠れ層が1層のニューラルネットワークを示したが、ニューラルネットワーク管理部10cによって管理されるニューラルネットワークは、隠れ層が複数層のニューラルネットワークであってもよい。
 ニューラルネットワーク更新部10dは、ニューラルネットワーク管理部10cにより得られたNG指標値に基づいて、ニューラルネットワークパラメータを更新することで、学習結果の識別器を与えるニューラルネットワークパラメータを出力する。例えば、ニューラルネットワーク更新部10dは、参考文献1に記載されたパラメータ最適化方法を用いて、ニューラルネットワークパラメータを更新する。ニューラルネットワーク更新部10dは、学習の反復回数が閾値に到達したか、あるいは学習の終了条件が満たされた場合に、その段階で最適化して更新されたニューラルネットワークパラメータを学習装置1の外部に出力する。
 NG指標値バッファ10eには、ニューラルネットワークの学習反復の過程で得られた学習用データの要素ごとのNG指標値が格納されている。図7は、NG指標値バッファ10eの内容の一例を示す図である。NG指標値バッファ10eには、学習用データの要素のデータIDと、この要素のNG指標値のうち、ニューラルネットワーク管理部10cによって算出された時点のNG指標値が設定される。
 履歴バッファ11aには、学習の反復回数およびこれに対応するNG指標値が、学習用データの要素ごとに格納されている。図8は、履歴バッファ11aの内容の一例を示す図である。履歴バッファ11aには、学習反復回数が1回、100回および200回であるときのNG指標値が設定されている。例えば、データIDがD0001の要素では、学習反復回数が1回であるときに得られたNG指標値が0.55であり、学習反復回数が100回であるときに得られたNG指標値が0.35であり、学習反復回数が200回であるときに得られたNG指標値が0.12である。
 NG候補バッファ11bには、学習反復回数、NG候補レベル、OK確定フラグおよびNG確定フラグが学習用データの要素ごとに格納されている。図9は、NG候補バッファ11bの内容の一例を示す図である。NG候補バッファ11bには、図9に示すように、学習用データの要素のデータID、NG候補レベル、OK確定フラグおよびNG確定フラグが設定される。NG候補レベルは、NG指標値が過去にとった値に応じて変化する。
 NG候補は、学習基準ラベルでNGラベルが割り当てられた要素であり、NG候補レベルは、NG候補の要素に対応するNG指標値に応じたレベルとなる。
 OK確定フラグは、要素がOKに確定されたことを示すフラグである。例えば、OK確定フラグに値0が設定されていれば、このOK確定フラグに対応する要素がOKに確定されていないことを示しており、値1が設定された場合、このOK確定フラグに対応する要素がOKに確定されたことを示している。一方、NG確定フラグは、要素がNGに確定されたことを示すフラグである。例えば、NG確定フラグに値0が設定されていれば、このNG確定フラグに対応する要素がNGに確定されていないことを示しており、値1が設定された場合、このNG確定フラグに対応する要素がNGに確定されたことを示している。
 履歴管理部11cは、学習の反復ごとに得られた学習用データの要素ごとのNG指標値を履歴バッファ11aに格納する。例えば、履歴管理部11cは、NG指標値バッファ10eに格納されたNG指標値を、その時点での学習反復回数とともに履歴バッファ11aに格納する。これにより、履歴バッファ11aには、事前に設定された学習反復回数(図8の例では1回、100回、200回)で得られたNG指標値が格納される。
 検定部11dは、履歴バッファ11aに格納されたNG指標値の変化傾向を統計的に検定し、この統計的検定結果に基づいて、NG候補バッファ11bの内容を学習用データの要素ごとに更新する。例えば、検定部11dは、履歴バッファ11aから、処理対象の要素に対応する、学習反復回数の推移ごとのNG指標値の時系列を抽出する。次に、検定部11dは、履歴バッファ11aから抽出したNG指標値の時系列を統計的に検定して、NG指標値の変化傾向を確認する。
 検定部11dは、NG指標値の時系列について無規則性の検体を行う。無規則性の検定によってNG指標値の変化に規則性がないと確認された場合、検定部11dは、この要素をNG候補のままとする。規則性があると確認された場合、検定部11dは、NG指標値の時系列について傾向性の検定を行う。傾向性の検定によってNG指標値が上昇傾向であると確認されると、検定部11dは、この要素をNG候補のままとする。
 検定部11dは、NG指標値の時系列に規則性があり、かつ上昇傾向が確認されると、この要素をNG確定と判断して、NG候補バッファ11bにおける、この要素に対応するNG確定フラグに値1を設定する。一方、検定部11dは、NG指標値の時系列に規則性があり、かつ下降傾向が確認されると、この要素をOK確定と判断して、NG候補バッファ11bにおける、この要素に対応するOK確定フラグに値1を設定する。
 無規則性の検定および傾向性の検定の方法として、下記の参考文献2に記載された検定方法を使用してもよい。
(参考文献2)武藤眞介著,“統計解析ハンドブック”, 朝倉書店, pp. 398-399, 402-403.
 学習基準ラベル更新部11eは、検定部11dによってOKに確定された学習用データの要素の学習基準ラベルを、NGラベルからOKラベルに更新する。例えば、学習基準ラベル更新部11eは、学習用データの要素が検定部11dによってOK確定された場合、この要素に対応する学習基準ラベルにおけるOKフラグに値1を設定し、NGフラグに値0を設定する。
 学習装置1における学習部10および動的更新部11の機能は、処理回路によって実現される。すなわち、学習装置1は、後述する図11におけるステップST1からステップST5までの処理を実行するための処理回路を備えている。この処理回路は、専用のハードウェアであってもよいが、メモリに記憶されたプログラムを実行するCPU(Central Processing Unit)であってもよい。
 図10Aは、学習装置1の機能を実現するハードウェア構成を示すブロック図である。図10Bは、学習装置1の機能を実現するソフトウェアを実行するハードウェア構成を示すブロック図である。図10Aおよび図10Bにおいて、情報入力インタフェース100は、図示しない外部装置から、図1および図2に示した学習装置1への情報の入力を中継するインタフェースである。例えば、図2に示したニューラルネットワーク管理部10cは、情報入力インタフェース100を介して、ニューラルネットワーク初期パラメータを外部装置から入力する。外部装置は、学習装置1とは独立して設けられた記憶装置であってもよい。例えば、学習装置1は、クラウド上に存在する記憶装置を利用してもよい。
 DB入出力インタフェース101は、学習装置1とデータベース102との間のデータのやり取りを中継するインタフェースである。データベース102は、図1および図2に示した学習用データDB2およびNG判定グループDB3である。例えば、学習部10が備える学習基準ラベル生成部10bは、DB入出力インタフェース101を介して、学習用データDB2およびNG判定グループDB3からデータを入力する。なお、データベース102は、学習装置1とは独立して設けられた記憶装置に構築されてもよい。例えば、学習装置1は、DB入出力インタフェース101を介して、クラウドに存在する記憶装置に構築されたデータベース102からデータを入力する。
 図2に示した学習基準ラベルバッファ10a、NG指標値バッファ10e、履歴バッファ11aおよびNG候補バッファ11bは、図10Aに示す処理回路104に内蔵されたメモリに構築されるか、あるいは、図10Bに示すメモリ106に構築される。情報出力インタフェース103は、学習装置1から図示しない外部装置への情報の出力を中継するインタフェースである。例えば、図2に示したニューラルネットワーク更新部10dは、情報出力インタフェース103を介して、ニューラルネットワークパラメータを外部装置へ出力する。外部装置は、例えば、ニューラルネットワークパラメータが与える識別器を利用する異常検知装置が挙げられる。
 上記処理回路が図10Aに示す専用のハードウェアの処理回路104である場合、処理回路104は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、または、これらを組み合わせたものが該当する。学習装置1における学習部10および動的更新部11の機能を別々の処理回路で実現してもよく、これらの機能をまとめて1つの処理回路で実現してもよい。
 上記処理回路が図10Bに示すプロセッサ105である場合、学習装置1における学習部10および動的更新部11の機能は、ソフトウェア、ファームウェアまたはソフトウェアとファームウェアとの組み合わせによって実現される。なお、ソフトウェアまたはファームウェアは、プログラムとして記述されてメモリ106に記憶される。
 プロセッサ105は、メモリ106に記憶されたプログラムを読み出して実行することにより、学習装置1における学習部10および動的更新部11の機能を実現する。
 すなわち、学習装置1は、プロセッサ105によって実行されるときに、図11に示すステップST1からステップST5までの処理が結果的に実行されるプログラムを記憶するためのメモリ106を備える。これらのプログラムは、学習部10および動的更新部11の手順または方法をコンピュータに実行させる。メモリ106は、コンピュータを、学習部10および動的更新部11として機能させるためのプログラムが記憶されたコンピュータ可読記憶媒体であってもよい。
 メモリ106には、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically-EPROM)などの不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVDなどが該当する。
 学習部10および動的更新部11の機能について一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現してもよい。例えば、学習部10は、専用のハードウェアである処理回路で機能を実現し、動的更新部11は、プロセッサ105がメモリ106に記憶されたプログラムを読み出して実行することによって機能を実現する。このように、処理回路は、ハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせにより上記機能を実現することができる。
 次に動作について説明する。
 図11は、実施の形態1に係る学習方法を示すフローチャートである。
 ステップST1において、学習基準ラベル生成部10bが、学習用データの複数の要素のうち、NG判定グループに属する要素に対応するOKフラグに値0を設定し、NGフラグに値1を設定することにより、学習用データの要素ごとの学習基準ラベルを生成する。また、ニューラルネットワーク管理部10cは、ニューラルネットワーク初期パラメータを用いて、初期状態のニューラルネットワークを構築する。
 ステップST2において、ニューラルネットワーク管理部10cは、ニューラルネットワークに学習用データの要素を入力し、ニューラルネットワークの出力結果に基づいて、要素ごとのNG指標値を算出する。次に、ニューラルネットワーク管理部10cは、NG指標値に基づいて、対象の要素がOKクラスおよびNGクラスのいずれに属するかを判定する。続いて、ニューラルネットワーク管理部10cは、対象の要素に対応する学習基準ラベルの初期値および動的更新部11によって更新された学習基準ラベルと、判定したクラスとを、誤差関数を用いて誤差評価する。誤差関数には、参考文献1に記載された関数を用いてもよい。また、履歴管理部11cは、学習が反復するたびに得られたNG指標値を履歴バッファ11aに格納する。
 ステップST3において、検定部11dは、履歴バッファ11aに格納されたNG指標値の変化傾向を統計的に検定した結果に基づいて、NG候補の要素について、OKまたはNGに確定すべきか評価する。学習基準ラベル更新部11eは、検定部11dによる評価結果に基づいて、学習基準ラベルを更新する。例えば、学習基準ラベル更新部11eは、検定部11dによってOKに確定された要素に対応する学習基準ラベルをNGラベルからOKラベルに更新する。
 ステップST4において、ニューラルネットワーク更新部10dは、ニューラルネットワーク管理部10cにより得られたNG指標値に基づいて、ニューラルネットワークパラメータを更新する。ステップST2からステップST4までの一連の学習処理は、学習用データを構成する複数の要素のそれぞれについて反復して行われる。
 学習の反復が終了すると、ニューラルネットワーク更新部10dは、前述した一連の学習で更新したニューラルネットワークパラメータを、学習結果として出力する(ステップST5)。
 次に、学習基準ラベル生成処理について詳細に説明する。
 図12は、学習基準ラベル生成処理を示すフローチャートであって、学習基準ラベルの初期値を生成する処理を示している。
 学習基準ラベル生成部10bは、学習用データDB2に登録されている学習用データの要素ごとのデータIDを順次読み出して以降の処理を実行する。
 学習基準ラベル生成部10bは、学習用データDB2から読み出した要素のデータIDのうち、NG判定グループDB3に登録されているNG判定グループに属する要素のデータIDと同じデータIDがあるか否かを判定する(ステップST1a)。
 対象の要素のデータIDがNG判定グループに属する要素のデータIDと同じであると判定した場合(ステップST1a;YES)、学習基準ラベル生成部10bは、対象の要素に対応するOKフラグに値0を設定し、NGフラグには値1を設定する(ステップST2a)。一方、対象の要素のデータIDがNG判定グループに属する要素のデータIDとは異なると判定した場合(ステップST1a;NO)、学習基準ラベル生成部10bは、対象の要素に対応するOKフラグに値1を設定し、NGフラグには値0を設定する(ステップST3a)。
 学習基準ラベル生成部10bは、対象の要素に対応するOKフラグおよびNGフラグに値を設定すると、対象の要素のデータIDとOKフラグおよびNGフラグの値とを、学習基準ラベルバッファ10aに格納する(ステップST4a)。
 学習基準ラベル生成部10bは、ステップST1aからステップST4aまでの一連の処理を、学習用データDB2に登録されている学習用データの全ての要素について繰り返し実行する。この処理により学習基準ラベルの初期値が生成される。
 次に、ニューラルネットワーク管理処理について詳細に説明する。
 図13は、ニューラルネットワーク管理処理を示すフローチャートであり、要素ごとのNG指標値を算出する処理を示している。
 初回処理において、ニューラルネットワーク管理部10cは、ニューラルネットワーク初期パラメータに基づいて、初期状態のニューラルネットワークを構築する(ステップST1b)。
 次に、ニューラルネットワーク管理部10cは、学習用データDB2から読み出された学習用データの要素(データ値系列D)をニューラルネットワークに入力して、出力層で算出される出力値y1_iおよびy2_iを得る(ステップST2b)。出力値y1_iは、前述したように、要素がOKクラスに属する度合いを表し、出力値y2_iは、要素がNGクラスに属する度合いを表している。ニューラルネットワークに入力された要素(データ値系列D)は、y1_i>y2_iであるとき、OKクラスに属すると判定され、y1_i≦y2_iであるときに、NGクラスに属すると判定される。ニューラルネットワーク管理部10cは、判定したクラスと学習基準ラベルとを誤差評価する。
 ステップST3bにおいて、ニューラルネットワーク管理部10cは、NG指標値NGEとしてy2_i-y1_iを算出し、算出したNG指標値NGEを、これに対応する要素のデータIDとともにNG指標値バッファ10eに格納する。
 なお、y2_i-y1_iをNGEとしたが、y1_iおよびy2_iの比率をNGEとしてもよく、y1_iおよびy2_iの分布を考慮した距離をNGEとしてもよい。
 ニューラルネットワーク管理部10cは、ステップST2bからステップST3bまでの一連の処理を、学習用データDB2に登録されている学習用データの全ての要素について繰り返し実行する。
 次に、NG指標値の履歴管理処理について詳細に説明する。
 図14は、NG指標値の履歴管理処理を示すフローチャートである。
 まず、履歴管理部11cは、学習反復回数が一定数(例えば、100)で割り切れるか否かを判定する(ステップST1c)。学習反復回数は、図11に示したステップST2からステップST4までの学習部10による一連の処理が繰り返し行われる回数である。
 学習反復回数が一定数で割り切れると判定した場合(ステップST1c;YES)、履歴管理部11cは、NG指標値バッファ10eからデータIDおよびこれに対応する要素のNG指標値の系列を抽出する(ステップST2c)。
 次に、履歴管理部11cは、抽出したデータIDおよびNG指標値の系列に対して現在の学習反復回数を追加して履歴バッファ11aに格納する(ステップST3c)。
 この後、履歴管理部11cは図14の処理を終了し、検定部11dの処理に移行する。
 一方、学習反復回数が一定数で割り切れないと判定した場合(ステップST1c;NO)、履歴管理部11cは図14の処理を終了し、ニューラルネットワーク更新部10dの処理に移行する。
 次に、NG指標値の統計的検定処理について詳細に説明する。
 図15は、NG指標値の統計的検定処理を示すフローチャートである。
 検定部11dは、履歴バッファ11aから、第j番目の要素(対象の要素)のデータIDに対応する、学習反復回数ごとのNG指標値の系列Vを抽出し、抽出したNG指標値の系列Vを、NG候補レベルの系列Lに換算する(ステップST1d)。系列Lは、系列Vが過去にとった値の範囲を一定数で等分割した何番目の範囲に、現在のNG指標値が属しているかによって決定される。
 例えば、NG指標値の系列Vが過去にとった値の範囲を5分割した場合、図9に示すように、NG候補レベルの割り当てを、-2,-1,0,+1,+2とする。
 NG候補レベル0は、NG指標値が過去にとった中間の範囲に対応する。NG候補レベル+1は、中間の範囲よりもNG指標値が大きい範囲に対応し、NG候補レベル+2は、NG候補レベル+1に対応する範囲よりもNG指標値が大きい範囲に対応する。NG候補レベル-1は、中間の範囲よりもNG指標値が小さい範囲に対応し、NG候補レベル-2は、NG候補レベル-1に対応する範囲よりもNG指標値が小さい範囲に対応する。
 なお、初回はNG指標値が1つしかないため、系列Vが過去にとった値の範囲は0である。このときのNG候補レベルを0とする。
 検定部11dは、対象の要素(NG候補)が属するNG判定グループに属している要素のうち、対象の要素以外の全ての要素に対応するOK確定フラグに値1が設定されているか否かを判定する(ステップST2d)。このとき、いずれかの要素に対応するOK確定フラグに値0が設定されていた場合(ステップST2d;NO)、検定部11dは、NG候補バッファ11bを参照して、対象の要素に対応するNG確定フラグとOK確定フラグのいずれにも値0が設定されているか否かを判定する(ステップST3d)。
 NG確定フラグまたはOK確定フラグに値1が設定されていた場合(ステップST3d;NO)、検定部11dは、NG候補バッファ11bにおける、対象の要素に対応するデータを、現在の学習反復回数、対象の要素の現在のNG候補レベル、対象の要素の現在のOK確定フラグおよびNG確定フラグの値で更新する(ステップST4d)。
 この後、検定部11dは、履歴バッファ11aから、引き続き、第j+1番目の要素のデータIDに対応するNG指標値の系列Vj+1を抽出してステップST1dからの処理を繰り返す。
 対象の要素が属するNG判定グループに属している要素のうち、対象の要素以外の全ての要素に対応するOK確定フラグに値1が設定されていた場合(ステップST2d;YES)、検定部11dは、対象の要素に対応するNG確定フラグに設定すべき値を“1”に決定する(ステップST5d)。この後、ステップST4dの処理に移行して、検定部11dは、NG候補バッファ11bにおける、対象の要素に対応するNG確定フラグに値1を設定して更新する。
 対象の要素に対応するNG確定フラグとOK確定フラグのいずれにも値0が設定されていた場合(ステップST3d;YES)、検定部11dは、NG候補レベルの系列Lに対して一定の信頼係数(例えば、0.95)に基づいた無規則性の検定を行う(ステップST6d)。検定部11dは、NG候補レベルの系列Lに対する無規則性の検定結果に基づいて、NG候補レベルの系列Lに規則性があるか否かを判定する(ステップST7d)。
 NG候補レベルの系列Lに規則性が確認されず、学習が反復されるたびにNG指標値の変化傾向がランダムに変化していると判定した場合(ステップST7d;NO)、検定部11dは、対象の要素をOK確定せず、NG確定もしない。この後、ステップST4dの処理に移行する。
 NG候補レベルの系列Lに規則性が確認されて学習が反復されるたびにNG指標値の変化傾向が規則的であると判定した場合(ステップST7d;YES)、検定部11dは、NG候補レベルの系列Lに対して上昇方向の傾向性の検定を行う(ステップST8d)。検定部11dは、NG候補レベルの系列Lに対する傾向性の検定結果に基づいて、NG候補レベルの系列Lに上昇傾向があるか否かを判定する(ステップST9d)。
 NG候補レベルの系列Lに上昇傾向がある場合(ステップST9d;YES)、検定部11dは、学習が反復されるたびにNG指標値が大きくなると判断して、ステップST5dの処理に移行する。これにより、対象の要素に対応するNG確定フラグに設定すべき値が“1”に決定され、NGが確定される。
 一方、NG候補レベルの系列Lに上昇傾向が確認されなかった場合(ステップST9d;NO)、検定部11dは、NG候補レベルの系列Lに対して、下降方向の傾向性の検定を行う(ステップST10d)。検定部11dは、NG候補レベルの系列Lに対する上記傾向性の検定結果に基づいて、NG候補レベルの系列Lに下降傾向があるか否かを判定する(ステップST11d)。
 NG候補レベルの系列Lに下降傾向も確認されなかった場合(ステップST11d;NO)、検定部11dは、ステップST4dの処理に移行し、系列Lの値を現在のNG候補レベルに決定して、NG候補バッファ11bに反映させる。
 NG候補レベルの系列Lに下降傾向が確認された場合(ステップST11d;YES)、検定部11dは、学習が反復されるたびにNG指標値が小さくなると判断して、対象の要素に対応するOK確定フラグに設定すべき値を“1”に決定する(ステップST12d)。この後、ステップST4dの処理に移行して、検定部11dは、NG候補バッファ11bにおける、対象の要素に対応するOK確定フラグに値1を設定して更新する。
 次に、学習基準ラベルの更新処理について詳細に説明する。
 図16は、学習基準ラベル更新処理を示すフローチャートである。
 学習基準ラベル更新部11eは、NG候補バッファ11bから、OK確定フラグに値1が設定されている要素のデータIDを、重複のない系列Uとして抽出する(ステップST1e)。系列Uには、OK確定フラグに値1が設定されている要素のデータIDが含まれている。
 次に、学習基準ラベル更新部11eは、学習基準ラベルバッファ10aのうち、系列Uに含まれるデータIDと同じデータIDのレコードを特定し、特定したレコードにおけるOKフラグが値1、NGフラグが値0となるように学習基準ラベルを更新する(ステップST2e)。この処理は、学習部10によるニューラルネットワークの学習の途中で実行されるので、学習基準ラベルは動的に更新される。
 次に、ニューラルネットワークパラメータの更新処理について詳細に説明する。
 図17は、ニューラルネットワークパラメータ更新処理を示すフローチャートである。
 ニューラルネットワーク更新部10dは、NG指標値バッファ10eから、ニューラルネットワーク管理部10cによって、現時点のニューラルネットワークパラメータで構築されたニューラルネットワークの出力結果から算出されたNG指標値を抽出する。
 NG指標値バッファ10eから抽出したNG指標値に基づいて、ニューラルネットワーク更新部10dは、ニューラルネットワークパラメータを最適化する(ステップST1f)。例えば、ニューラルネットワーク更新部10dは、NG指標値バッファ10eから抽出したNG指標値に基づいて、参考文献1に記載された勾配降下最適法を用いて、現時点のニューラルネットワークパラメータを最適化する。この最適化は、学習を反復するたびに逐次的に行われる。
 続いて、ニューラルネットワーク更新部10dは、学習反復回数が既定値(例えば、10000)以上になったか否かを判定する(ステップST2f)。
 学習反復回数が既定値未満である場合(ステップST2f;NO)、ニューラルネットワーク更新部10dは、図17の処理を終了し、ニューラルネットワーク管理部10cによる図11のステップST2からの処理に移行する。
 一方、学習反復回数が既定値以上であった場合(ステップST2f;YES)、ニューラルネットワーク更新部10dは、その時点でのニューラルネットワークパラメータを、学習結果として出力する(ステップST3f)。学習結果のニューラルネットワークパラメータを用いて構築されたニューラルネットワークは、NG判定グループに属するデータの少なくとも一つをNGと判定する識別器として機能する。
 次に、実施の形態1に係る学習装置1によって得られる識別器について説明する。
 ここで、グループ(事例群)全体に対してNGと判定された履歴はあるが、グループ内のどの要素がNGであるかがわからない状況、例えば、3つのグループがあり、そのうちの2つのグループの全体に対してNGと判定され、残りの1つのグループの全体に対してOKと判定された状況を考える。NGと判定されたグループの1つを、NG判定グループ(1){E11(OK),E12(NG),E13(OK)}とし、もう1つを、NG判定グループ(2){E21(NG),E22(OK),E23(OK)}とする。OKと判定されたグループを、OK判定グループ(3){E31(OK),E32(OK),E33(OK)}とする。
 NG判定グループ(1)は2番目の要素のみがNGであり、残りの要素はOKである。また、NG判定グループ(2)は1番目の要素のみがNGであり、残りの要素はOKである。ただし、これらのグループはNGの要素を含むため、グループ全体としてNGと判定されている。要素Eの()内に要素単位のOKまたはNGを示したが、3つのグループが学習用データとして扱われる段階では、要素ごとのOKおよびNGは不明である。
 識別器の学習段階では、グループ全体に対するOKまたはNGの判定結果のみが既知であるため、要素ごとにOKとNGとを識別する場合、E11(OK)、E12(NG)、E13(OK)、E21(NG)、E22(OK)、E23(OK)の6つの要素の全てがNGとみなされて学習される。すなわち、これらのうちの4つの要素は、本来はOKであるが、NGとして誤って学習される。これにより、学習結果の識別器の識別精度は低下する。
 例えば、グループ(4){E41(OK),E42(OK),E43(OK)}と、グループ(5){E51(OK),E52(OK),E53(NG)}とのOKおよびNGを判定する場合、従来の識別器では、本来はOKである要素がNGと誤って学習されるため、グループ(4)に属する要素のいずれかをNGと判定する可能性がある。グループ(4)に属する要素のいずれかがNGと判定されると、グループ(4)全体もNGと判定されてしまう。このように、従来の識別器は、要素単位の識別精度が低く、グループ単位の識別精度も低い。
 これに対して、実施の形態1に係る学習装置1では、NG指標値の変化傾向を統計的に検定した結果に基づいて、要素ごとにOKラベルまたはNGラベルを割り当てた学習基準ラベルを更新する。これにより、学習部10は、本来はOKである要素をNGと誤って学習することがほとんどなく、高精度の識別を行う識別器を学習することができる。
 また、学習結果の識別器は、NG判定グループに属するデータの少なくとも一つをNGと判定するので、グループ(5)がNG判定グループであれば、グループ(5)は適切にNGと判定され、グループ(4)はOKと判定される。
 以上のように、実施の形態1に係る学習装置1は、学習部10および動的更新部11を備える。学習部10は、学習基準ラベルを用いて、学習用データの複数の要素を入力としてニューラルネットワークを学習することにより、学習結果のニューラルネットワークを用いて、グループに属するデータの少なくとも一つをNGと判定する識別器を出力する。動的更新部11は、学習部10によるニューラルネットワークの学習の途中で学習基準ラベルを動的に更新する。この構成において、学習部10は、学習基準ラベルの初期値から動的更新部11によって更新された学習基準ラベルを逐次用いてニューラルネットワークを反復して学習し、学習の反復ごとのニューラルネットワークの出力値を用いて、学習用データの要素に対応するNG指標値を算出する。動的更新部11は、学習の反復回数の推移ごとに得られたNG指標値の変化傾向を統計的に検定した結果に基づいて、学習基準ラベルを更新する。学習結果の識別器が、グループに属するデータの少なくとも一つをNGと判定するので、学習装置1は、高精度の識別を行う識別器を提供することができる。
 なお、本発明は上記実施の形態に限定されるものではなく、本発明の範囲内において、実施の形態の任意の構成要素の変形もしくは実施の形態の任意の構成要素の省略が可能である。
 この発明に係る学習装置は、高精度の識別を行う識別器を提供することができるので、例えば、異常検知システムに利用可能である。
 1 学習装置、2 学習用データDB、3 NG判定グループDB、10 学習部、10a 学習基準ラベルバッファ、10b 学習基準ラベル生成部、10c ニューラルネットワーク管理部、10d ニューラルネットワーク更新部、10e NG指標値バッファ、11 動的更新部、11a 履歴バッファ、11b NG候補バッファ、11c 履歴管理部、11d 検定部、11e 学習基準ラベル更新部、100 情報入力インタフェース、101 DB入出力インタフェース、102 データベース、103 情報出力インタフェース、104 処理回路、105 プロセッサ、106 メモリ。

Claims (4)

  1.  複数の要素から構成された学習用データと、グループに属するデータの少なくとも一つがNGと判定されることが定義されたグループ情報とを入力し、前記学習用データの要素ごとにOKラベルまたはNGラベルが割り当てられた学習基準ラベルを用いて、前記学習用データの複数の要素を入力としてニューラルネットワークを学習することにより、学習結果のニューラルネットワークを用いて前記グループに属するデータの少なくとも一つをNGと判定する識別器を出力する学習部と、
     前記学習部によるニューラルネットワークの学習の途中で前記学習基準ラベルを動的に更新する動的更新部とを備え、
     前記学習部は、
     前記学習用データおよび前記グループ情報を用いて前記学習用データの要素ごとの前記学習基準ラベルの初期値を生成し、
     前記学習基準ラベルの初期値から前記動的更新部によって更新された前記学習基準ラベルを逐次用いてニューラルネットワークを反復して学習し、
     学習の反復ごとのニューラルネットワークの出力値を用いて、前記学習用データの要素がNGとなり得るNG指標値を算出し、
     前記動的更新部は、
     学習の反復回数の推移ごとに得られたNG指標値の変化傾向を統計的に検定した結果に基づいて、前記学習基準ラベルを更新すること
     を特徴とする学習装置。
  2.  前記学習部は、
     前記学習用データの要素ごとの前記学習基準ラベルが格納された学習基準ラベルバッファと、
     前記学習用データの要素が前記グループに属さない場合にOKラベルを割り当て、前記グループに属する場合にNGラベルを割り当てた前記学習基準ラベルの初期値を生成する学習基準ラベル生成部と、
     ニューラルネットワークの出力値を用いて前記学習用データの要素のNG指標値を算出し、OKクラスおよびNGクラスのうち、NG指標値に基づいて前記学習用データの要素が属するクラスを判定し、前記学習基準ラベルの初期値および前記動的更新部によって更新された前記学習基準ラベルと判定したクラスとを誤差評価するニューラルネットワーク管理部と、
     前記ニューラルネットワーク管理部によって算出されたNG指標値に基づいて、ニューラルネットワークパラメータを更新するニューラルネットワーク更新部とを備えたこと
     を特徴とする請求項1記載の学習装置。
  3.  前記動的更新部は、
     学習の反復回数ごとに得られたNG指標値が格納された履歴バッファと、
     学習の反復回数、NG指標値に応じたNG候補レベル、前記学習用データの要素がOKに確定されたことを示すOK確定フラグ、および前記学習用データの要素がNGに確定されたことを示すNG確定フラグが、前記学習用データの要素ごとに格納されたNG候補バッファと、
     学習の反復ごとに得られたNG指標値を前記履歴バッファに格納する履歴管理部と、
     前記履歴バッファに格納されたNG指標値の変化傾向を、前記NG候補レベルの推移を用いて統計的に検定し、検定結果に基づいてNG候補の要素のOKまたはNGを確定して前記NG候補バッファにおける前記OK確定フラグまたは前記NG確定フラグを更新する検定部と、
     NG候補の要素のうち、前記検定部によってOKに確定された要素に対応する前記学習基準ラベルをNGラベルからOKラベルに更新する学習基準ラベル更新部とを備えたこと
     を特徴とする請求項1または請求項2記載の学習装置。
  4.  学習部が、複数の要素から構成された学習用データと、グループに属するデータの少なくとも一つがNGと判定されることが定義されたグループ情報とを入力し、前記学習用データの要素ごとにOKラベルまたはNGラベルが割り当てられた学習基準ラベルを用いて、前記学習用データの複数の要素を入力としてニューラルネットワークを学習することにより、学習結果のニューラルネットワークを用いて前記グループに属するデータの少なくとも一つをNGと判定する識別器を出力するステップと、
     動的更新部が、前記学習部によるニューラルネットワークの学習の途中で前記学習基準ラベルを動的に更新するステップとを備え、
     前記学習部は、
     前記学習用データおよび前記グループ情報を用いて前記学習用データの要素ごとの前記学習基準ラベルの初期値を生成し、
     前記学習基準ラベルの初期値から前記動的更新部によって更新された前記学習基準ラベルを逐次用いてニューラルネットワークを反復して学習し、
     学習の反復ごとのニューラルネットワークの出力値を用いて、前記学習用データの要素がNGとなり得るNG指標値を算出し、
     前記動的更新部は、
     学習の反復回数の推移ごとに得られたNG指標値の変化傾向を統計的に検定した結果に基づいて、前記学習基準ラベルを更新すること
     を特徴とする学習方法。
PCT/JP2018/010446 2018-03-16 2018-03-16 学習装置および学習方法 WO2019176087A1 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201880091109.7A CN111837143A (zh) 2018-03-16 2018-03-16 学习装置及学习方法
JP2020506078A JP6701467B2 (ja) 2018-03-16 2018-03-16 学習装置および学習方法
US16/971,482 US20200387792A1 (en) 2018-03-16 2018-03-16 Learning device and learning method
KR1020207025875A KR20200108912A (ko) 2018-03-16 2018-03-16 학습 장치 및 학습 방법
PCT/JP2018/010446 WO2019176087A1 (ja) 2018-03-16 2018-03-16 学習装置および学習方法
EP18909932.8A EP3748549B1 (en) 2018-03-16 2018-03-16 Learning device and learning method
TW107121878A TW201939363A (zh) 2018-03-16 2018-06-26 學習裝置以及學習方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/010446 WO2019176087A1 (ja) 2018-03-16 2018-03-16 学習装置および学習方法

Publications (1)

Publication Number Publication Date
WO2019176087A1 true WO2019176087A1 (ja) 2019-09-19

Family

ID=67908184

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/010446 WO2019176087A1 (ja) 2018-03-16 2018-03-16 学習装置および学習方法

Country Status (7)

Country Link
US (1) US20200387792A1 (ja)
EP (1) EP3748549B1 (ja)
JP (1) JP6701467B2 (ja)
KR (1) KR20200108912A (ja)
CN (1) CN111837143A (ja)
TW (1) TW201939363A (ja)
WO (1) WO2019176087A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200387826A1 (en) * 2019-06-04 2020-12-10 Fuji Xerox Co., Ltd. Information processing apparatus and non-transitory computer readable medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07168799A (ja) * 1993-09-22 1995-07-04 Fuji Electric Co Ltd ニューラルネットワークの学習装置
JP2006226708A (ja) * 2005-02-15 2006-08-31 Nagoya Electric Works Co Ltd 良否判定装置、良否判定方法および良否判定プログラム
JP2012208913A (ja) 2011-03-28 2012-10-25 Nec (China) Co Ltd ハイブリッドラベルに基づいてオブジェクトを分割する方法とシステム
JP2017102906A (ja) * 2015-11-25 2017-06-08 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015087903A (ja) * 2013-10-30 2015-05-07 ソニー株式会社 情報処理装置及び情報処理方法
JP6291844B2 (ja) * 2014-01-06 2018-03-14 日本電気株式会社 データ処理装置
WO2017090098A1 (ja) * 2015-11-25 2017-06-01 株式会社日立製作所 設備管理装置および方法
WO2017130699A1 (ja) * 2016-01-26 2017-08-03 富士フイルム株式会社 ひび割れ情報検出装置、ひび割れ情報検出方法およびひび割れ情報検出プログラム
JP6182242B1 (ja) * 2016-06-13 2017-08-16 三菱電機インフォメーションシステムズ株式会社 データのラベリングモデルに係る機械学習方法、コンピュータおよびプログラム
US10339471B2 (en) * 2017-01-17 2019-07-02 International Business Machines Corporation Ensemble based labeling
JP2018142097A (ja) * 2017-02-27 2018-09-13 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US11436428B2 (en) * 2017-06-06 2022-09-06 Sightline Innovation Inc. System and method for increasing data quality in a machine learning process
US11382601B2 (en) * 2018-03-01 2022-07-12 Fujifilm Sonosite, Inc. Method and apparatus for annotating ultrasound examinations

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07168799A (ja) * 1993-09-22 1995-07-04 Fuji Electric Co Ltd ニューラルネットワークの学習装置
JP2006226708A (ja) * 2005-02-15 2006-08-31 Nagoya Electric Works Co Ltd 良否判定装置、良否判定方法および良否判定プログラム
JP2012208913A (ja) 2011-03-28 2012-10-25 Nec (China) Co Ltd ハイブリッドラベルに基づいてオブジェクトを分割する方法とシステム
JP2017102906A (ja) * 2015-11-25 2017-06-08 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
C. M. BISHOPHIROSHI MOTODA: "Pattern Ninshiki To Kikai Gakusyu, Jyou", ASAKURA PUBLISHING CO. LTD., pages: 398 - 399,402-403

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200387826A1 (en) * 2019-06-04 2020-12-10 Fuji Xerox Co., Ltd. Information processing apparatus and non-transitory computer readable medium

Also Published As

Publication number Publication date
KR20200108912A (ko) 2020-09-21
JPWO2019176087A1 (ja) 2020-05-28
JP6701467B2 (ja) 2020-05-27
EP3748549A4 (en) 2021-05-05
EP3748549A1 (en) 2020-12-09
EP3748549B1 (en) 2023-06-07
US20200387792A1 (en) 2020-12-10
CN111837143A (zh) 2020-10-27
TW201939363A (zh) 2019-10-01

Similar Documents

Publication Publication Date Title
US20220196760A1 (en) Transformer fault diagnosis method and system using induced ordered weighted evidence reasoning
JP7117934B2 (ja) 画像分類装置及びプログラム
CN113487223B (zh) 一种基于信息融合的风险评估方法和评估系统
CN113610747B (zh) 检验半导体样本的系统和方法
WO2019176087A1 (ja) 学習装置および学習方法
WO2019176988A1 (ja) 検査システム、識別システム、及び識別器評価装置
CN111723010A (zh) 一种基于稀疏代价矩阵的软件bug分类方法
CN110717037A (zh) 对用户分类的方法和装置
EP3940626A1 (en) Information processing method and information processing system
JP6950647B2 (ja) データ判定装置、方法、及びプログラム
CN115398442A (zh) 用于评估传感器测量值的设备和自动化方法和该设备的应用
CN115691669B (zh) 一种基于量子卷积神经网络的蛋白质结构分类系统
CN116610806B (zh) 基于ai的rpa数字化业务处理方法及计算机设备
CN113822532B (zh) 信息系统资产风险评估方法及其装置和存储介质
US20230267321A1 (en) Viability determination with self-attention for process optimization
CN113449746B (zh) 尾气遥测数据修正方法和装置
CN112529038B (zh) 一种主板物料的识别方法、装置及存储介质
US20230315769A1 (en) A method for address matching and related electronic device
CN117952717A (zh) 一种基于大数据的机票订单处理方法及系统
CN116340740A (zh) 一种数据质检方法、装置、设备及存储介质
CN117541912A (zh) 目标检测算法的失效原因分析方法、装置及设备
JP2022070744A (ja) 学習処理装置、方法及びプログラム
Rahajoe et al. Optimization of Binary Classification Based on Receiver Operating Characteristic Area Under the Curve for Supervised Machine Learning
CN115759265A (zh) 一种基于模糊偏好关系的故障诊断方法及系统
JP2024009787A (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: 18909932

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020506078

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 20207025875

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2018909932

Country of ref document: EP

Effective date: 20200904

NENP Non-entry into the national phase

Ref country code: DE