WO2021131446A1 - 解析装置、解析方法、及び解析プログラム - Google Patents

解析装置、解析方法、及び解析プログラム Download PDF

Info

Publication number
WO2021131446A1
WO2021131446A1 PCT/JP2020/043315 JP2020043315W WO2021131446A1 WO 2021131446 A1 WO2021131446 A1 WO 2021131446A1 JP 2020043315 W JP2020043315 W JP 2020043315W WO 2021131446 A1 WO2021131446 A1 WO 2021131446A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
class
target
classifier
classifiers
Prior art date
Application number
PCT/JP2020/043315
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 EP20905422.0A priority Critical patent/EP4083873A4/en
Priority to CN202080080058.5A priority patent/CN114730392A/zh
Priority to US17/777,294 priority patent/US20220406036A1/en
Publication of WO2021131446A1 publication Critical patent/WO2021131446A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/285Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
    • G06V10/422Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation for representing the structure of the pattern or shape of an object therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/778Active pattern-learning, e.g. online learning of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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
    • G06N3/045Combinations of networks
    • 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 an analysis device, an analysis method, and an analysis program.
  • the classifiers that can be used to identify the type of motion can be generated by various methods such as machine learning.
  • learning data is obtained by acquiring sensing data from a sensor that observes the movement of the target person, and assigning a label indicating the type of the movement to the data portion in which the movement of the target type appears in the acquired sensing data.
  • the sensing data used for identification may include information other than information specific to the operation of the target type, such as information on actions of different types and information on events other than the actions.
  • information irrelevant to the operation such as background information included in the image data
  • information on this common gesture may be included in the data part of each type of action.
  • the corresponding data portion may include information on a plurality of types of operations.
  • the identification accuracy of the discriminator may be lowered because the information other than the information peculiar to each operation adversely affects the discrimination.
  • common features exist in the first type of operation and the second type of operation.
  • the classifier is configured to identify that a first-class operation is being performed based on the presence of this common feature, the presence of this common feature causes the first-class operation to be performed.
  • the accuracy of the discriminator that identifies it may be reduced. During the period in which the transition of the above operation occurs, it is difficult to accurately specify the time when the target operation is started and the time when the target operation is finished because the identification accuracy of the classifier with respect to the obtained sensing data is lowered.
  • a discriminator When a discriminator is generated by machine learning, as a method of improving the discriminating performance of the discriminator, it is conceivable to prepare learning data that captures each operation under various conditions, that is, to improve the quality of the learning data. However, it is costly and difficult to prepare learning data that captures each operation under all conditions. In addition, it is difficult to uniquely determine the timing of transition from one operation to another. For example, a label indicating the type of operation during a period of transition from one operation to another due to different operators working, changes in operator judgment criteria, different characteristics of operations appearing in sensing data, and the like. The switching time of can fluctuate.
  • the label in one part, is switched at a relatively early timing of the motion transition, while in another part, the label is switched at a relatively late timing of the motion transition. It can happen that it is switched.
  • the boundary deviation in machine learning, it may not be possible to improve the discrimination performance of the classifier. Therefore, there is a limit to improving the discrimination performance of the classifier by improving the quality of the training data.
  • the scene of identifying the class of some feature included in the data is the scene of identifying the type of process from the data obtained by observing the process of work on the production line, for example.
  • a scene for identification, a scene for identifying a class of the state of the subject from data obtained by observing the state of the subject for example, Patent Document 3
  • information other than the information peculiar to the characteristics of the target class may adversely affect the identification, which may reduce the identification accuracy of the classifier.
  • the present invention on the one hand, was made in view of such circumstances, and an object of the present invention is to provide a technique for improving the accuracy of identifying a class of features contained in data.
  • the present invention adopts the following configuration in order to solve the above-mentioned problems.
  • the analysis device is included in the target data by a data acquisition unit that acquires the target data and a plurality of classifiers configured to identify the existence of features of different classes.
  • a plurality of identification processing units that try to identify a class of features and a determination unit that determines a data portion including the features of each class in the target data based on the result of the trial.
  • the first data portion which is identified by one of the classifiers but not by the remaining classifiers, contains the characteristics of the class of interest identified by that one classifier. It is provided with a determination unit for determining that the data is not included in the second data portion for which identification by all the classifiers including the one classifier is established. ..
  • a classifier is prepared for each class to be identified. If the identification by one classifier is established but the identification by the remaining classifiers is not established, it can be inferred that there is a high possibility that an event peculiar to the characteristics of the corresponding target class has occurred. it can. Therefore, it is determined that such a data portion includes the characteristics of the target class identified by one classifier. On the other hand, if discrimination by all classifiers including one classifier is established, it is highly possible that an event common to all class features that is not unique to the corresponding target class feature is occurring. Can be inferred. Therefore, it is determined that such a data portion does not include the characteristics of the class to be identified by one classifier.
  • the data part that does not really include the characteristics of the target class is identified as containing the characteristics of the target class because only a common event occurs in the characteristics of each class. It is possible to prevent mistakes. Therefore, according to the present embodiment, it is possible to improve the accuracy of identifying the class of features included in the data.
  • the analysis device may further include an imparting unit that imparts information indicating that the characteristics of the target class are included to the first data portion.
  • an imparting unit that imparts information indicating that the characteristics of the target class are included to the first data portion.
  • each of the classifiers generates second data of the same type as the target data, including the features of the class to be identified, from the first data including the features of the class to be identified.
  • the identification processing unit may try to identify the class of features included in the target data based on the comparison between the generated data generated by each of the classifiers and the target data. .. According to this configuration, it is possible to improve the accuracy of identifying the class of the feature included in the data in the identification process using the classifier configured to generate the data including the feature of the corresponding class.
  • the first data may be the same type of data as the second data. Alternatively, the first data may be data different from the second data, which captures the same event as the second data. Further, when both the first data and the second data are time series data, each classifier may generate the second data of the target time from the first data in the future or the past from the target time.
  • the first data and the second data may be of the same type, and the identification processing unit generates the generated data by giving the target data to each of the classifiers. You may.
  • the identification process using the classifier configured to generate the data including the features of the corresponding class the process of identifying the class of the features included in the data can be simplified.
  • the target data may be time series data
  • the determination unit includes the features of each class in the time series data based on the result of the trial.
  • the time interval of the data portion may be determined. According to this configuration, it is possible to improve the accuracy of identifying the feature class of the time series data.
  • the target data may be multidimensional data
  • the determination unit includes the features of each class in the multidimensional data based on the result of the trial.
  • the range of the data portion may be determined. According to this configuration, it is possible to improve the accuracy of identifying the feature class for the multidimensional data.
  • each of the classifiers may be configured to identify the execution of different types of actions of the subject as the presence of the feature, and the determination unit may be based on the result of the trial.
  • the data portion in which the execution of the operation of each type appears may be determined. According to this configuration, it is possible to improve the accuracy of identifying the type of the movement in the scene of analyzing the movement of the target person.
  • each of the classifiers may be configured to identify the execution of different types of processes on the production line as the presence of the feature, and the determination unit may determine the result of the trial. Based on this, the data portion in which the execution of the process for each type appears may be determined in the target data. According to this configuration, it is possible to improve the accuracy of identifying the type of the work process in the scene of analyzing the work process in the production line.
  • one aspect of the present invention may be an information processing method or a program that realizes each of the above configurations, and such a program may be used. It may be a stored storage medium that can be read by a computer or other device, machine, or the like. Here, the storage medium that can be read by a computer or the like is a medium that stores information such as a program by electrical, magnetic, optical, mechanical, or chemical action.
  • the target data is subjected to a step of acquiring the target data and a plurality of classifiers configured to identify the existence of features of different classes.
  • the first data portion which is identified by one of the classifiers but not by the remaining classifiers, contains the characteristics of the class of interest identified by that one classifier.
  • Information that executes a step of determining that the data is present and determining that the second data portion for which identification by all the classifiers including the one classifier is established does not include the feature of the target class. It is a processing method.
  • the subject is described by a step of acquiring target data and a plurality of classifiers configured to identify the existence of features of different classes on a computer.
  • the first data portion which is identified by one of the classifiers but not by the remaining classifiers, contains the characteristics of the class of interest identified by that one classifier.
  • the step of determining that the data is satisfied and determining that the second data portion in which the identification by all the classifiers including the one classifier is established does not include the feature of the target class is executed. It is a program for.
  • FIG. 1 schematically illustrates an example of a situation in which the present invention is applied.
  • FIG. 2 schematically illustrates an example of the hardware configuration of the analysis device according to the embodiment.
  • FIG. 3 schematically illustrates an example of the hardware configuration of the model generator according to the embodiment.
  • FIG. 4 schematically illustrates an example of the software configuration of the analysis device according to the embodiment.
  • FIG. 5 schematically illustrates an example of the software configuration of the model generator according to the embodiment.
  • FIG. 6 illustrates an example of the processing procedure of the model generator according to the embodiment.
  • FIG. 7 illustrates an example of the processing procedure of the analyzer according to the embodiment.
  • FIG. 8 schematically illustrates an example of the determination criteria for class identification according to the embodiment.
  • FIG. 9A schematically illustrates an example of the result of performing feature class identification on time series data.
  • FIG. 9B schematically illustrates an example of the result of performing feature class identification on multidimensional data.
  • FIG. 10 schematically illustrates an example of another situation to which the present invention is applied.
  • FIG. 11 schematically illustrates an example of another situation to which the present invention is applied.
  • FIG. 12 schematically illustrates an example of another situation to which the present invention is applied.
  • FIG. 13 schematically illustrates an example of a training scene of a discriminator according to another form.
  • FIG. 14 schematically illustrates an example of a usage situation of the classifier according to another form.
  • the present embodiment an embodiment according to one aspect of the present invention (hereinafter, also referred to as “the present embodiment”) will be described with reference to the drawings.
  • the embodiments described below are merely examples of the present invention in all respects. It goes without saying that at least one of various improvements and modifications can be made without departing from the scope of the present invention. That is, in carrying out the present invention, a specific configuration according to the embodiment may be appropriately adopted.
  • the data appearing in the present embodiment are described in natural language, but more specifically, the data is specified in a pseudo language, commands, parameters, machine language, etc. that can be recognized by a computer.
  • FIG. 1 schematically illustrates an example of a situation in which the present invention is applied.
  • the analysis system 100 includes an analysis device 1 and a model generation device 2.
  • the analysis device 1 is a computer configured to identify a class of features included in the acquired target data 121.
  • the analysis device 1 acquires the target data 121.
  • the type of the target data 121 is not particularly limited and may be appropriately selected according to the embodiment.
  • the target data 121 may be, for example, image data, sound data, numerical data, text data, or other measurement data obtained by various sensors.
  • the measurement data obtained by the sensor is also referred to as "sensing data”.
  • the target data 121 may be, for example, sensing data obtained by observing some target with a sensor.
  • the sensor may be, for example, an image sensor (camera), an infrared sensor, a sound sensor (microphone), an ultrasonic sensor, a pressure sensor, an acceleration sensor, an environmental sensor, a vital sensor, a medical inspection device, an in-vehicle sensor, or the like.
  • the camera may be, for example, a general RGB camera, a depth camera, an infrared camera, or the like.
  • the environmental sensor may be, for example, a barometer, a thermometer, a hygrometer, a sound pressure sensor, a sound sensor, an ultraviolet sensor, a luminometer, a rain gauge, a gas sensor, or the like.
  • Vital sensors include, for example, sphygmomanometer, pulse rate monitor, heart rate monitor, electrocardiograph, electromyogram, thermometer, skin electroreactivity meter, microwave sensor, electroencephalograph, electroencephalograph, activity meter, blood glucose meter, eye. It may be a potential sensor, an eye movement measuring instrument, or the like.
  • the medical examination device may be, for example, a CT (Computed Tomography) device, an MRI (Magnetic Resonance Imaging) device, or the like.
  • the in-vehicle sensor may be, for example, an image sensor, a lidar (light detection and ringing) sensor, a millimeter-wave radar, an ultrasonic sensor, an acceleration sensor, or the like.
  • the analysis device 1 attempts to identify the class of features included in the target data 121 by each of the plurality of classifiers 5 configured to identify the existence of features of different classes. ..
  • the features may not be particularly limited as long as they relate to some event appearing in the data, and may be appropriately selected depending on the embodiment.
  • the features may be related to, for example, the operation performed by the target person, the process of work on the production line, the state of the target person, and the like.
  • the feature to be identified is not limited to the current event, but may be related to a future or past event.
  • the class may be appropriately set according to the characteristics.
  • the class may be read as, for example, "category".
  • the number of classes and the number of classifiers to be set are not particularly limited, and may be appropriately determined according to the embodiment. As will be described later, in this embodiment, a trained neural network is used for each classifier 5.
  • the analysis device 1 determines the data portion including the features of each class in the target data 121 based on the result of the trial.
  • the first data portion in which the identification by one of the plurality of classifiers 5 is established but the discrimination by the remaining classifiers is not established is the one. It is determined that the characteristics of the target class identified by the classifier are included.
  • the analysis device 1 according to the present embodiment determines that the second data portion in which the identification by all the classifiers 5 including one classifier is established does not include the feature of the target class. Thereby, the class of the feature included in each part of the target data 121 can be identified.
  • the model generation device 2 is a computer configured to generate each classifier 5 that can be used by the analysis device 1 by performing machine learning.
  • the model generation device 2 according to the present embodiment acquires the learning data 3.
  • the configuration of the training data 3 may be appropriately determined according to the type of the model adopted in each classifier 5.
  • the learning data 3 is composed of a plurality of learning data sets 30.
  • the plurality of training data sets 30 is an example of training data used for machine learning of the classifier.
  • Each learning data set 30 is composed of a combination of training data 31 and correct answer data 32.
  • the training data 31 is a sample of data of the same type as the target data 121.
  • the correct answer data 32 indicates the correct answer of the feature identification task for the training data 31.
  • the correct answer data 32 may be referred to as a "teacher signal", a "label”, or the like.
  • the training data 3 may be acquired separately for each classifier 5.
  • the model generation device 2 uses the acquired learning data 3 to perform machine learning for each classifier 5.
  • the model generator 2 determines, for each training data set 30, whether or not the training data 31 has the characteristics of the corresponding class by the target classifier 5, and the result is the correct answer data 32. Train the target classifier 5 to fit. This makes it possible to generate each trained classifier 5 that has acquired the ability to discriminate the presence of features of the corresponding class.
  • “trained” may be referred to as "machine-learned”, simply “learned”, or the like.
  • the model generation device 2 may be simply referred to as a "generation device", a "learning device”, or the like.
  • the classifier 5 is prepared for each class to be identified.
  • the first data portion where the identification by one of the plurality of classifiers 5 is established but the discrimination by the remaining classifiers is not established, one classifier is known, but the rest.
  • the classifier contains features of a class that it does not know. In other words, it can be inferred that there is a high possibility that an event peculiar to the characteristics of the target class for which one classifier is in charge of identification appears in this first data part. Therefore, the analysis device 1 according to the present embodiment determines that the first data portion includes the characteristics of the target class identified by the one classifier.
  • the second data portion contains boring features known to all classifiers 5.
  • the analysis device 1 determines that the second data portion does not include the characteristics of the class to be identified by one classifier.
  • the data part that does not really include the characteristics of the target class is identified as containing the characteristics of the target class because only a common event occurs in the characteristics of each class. It is possible to prevent mistakes. Therefore, according to the present embodiment, it is possible to improve the accuracy of identifying the class of features included in the data.
  • the analysis device 1 and the model generation device 2 are connected to each other via a network.
  • the type of network may be appropriately selected from, for example, the Internet, a wireless communication network, a mobile communication network, a telephone network, a dedicated network, and the like.
  • the method of exchanging data between the analysis device 1 and the model generation device 2 does not have to be limited to such an example, and may be appropriately selected depending on the embodiment.
  • data may be exchanged between the analysis device 1 and the model generation device 2 using a storage medium.
  • the analysis device 1 and the model generation device 2 are each configured by a separate computer.
  • the configuration of the analysis system 100 according to the present embodiment does not have to be limited to such an example, and may be appropriately determined according to the embodiment.
  • the analysis device 1 and the model generation device 2 may be an integrated computer.
  • at least one of the analysis device 1 and the model generation device 2 may be composed of a plurality of computers.
  • FIG. 2 schematically illustrates an example of the hardware configuration of the analysis device 1 according to the present embodiment.
  • the control unit 11, the storage unit 12, the communication interface 13, the external interface 14, the input device 15, the output device 16, and the drive 17 are electrically connected. It is a computer.
  • the communication interface and the external interface are described as "communication I / F" and "external I / F".
  • the control unit 11 includes a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read Only Memory), and the like, which are hardware processors, and is configured to execute information processing based on a program and various data.
  • the storage unit 12 is an example of a memory, and is composed of, for example, a hard disk drive, a solid state drive, or the like. In the present embodiment, the storage unit 12 stores various information such as the analysis program 81 and a plurality of learning result data 225.
  • the analysis program 81 is a program for causing the analysis device 1 to execute information processing (FIG. 7) described later for identifying a class of features included in the data.
  • the analysis program 81 includes a series of instructions for the information processing.
  • the training result data 225 of each case shows information about the corresponding trained classifier 5 generated by machine learning.
  • the communication interface 13 is, for example, a wired LAN (Local Area Network) module, a wireless LAN module, or the like, and is an interface for performing wired or wireless communication via a network.
  • the analysis device 1 may execute data communication via a network with another information processing device by using the communication interface 13.
  • the external interface 14 is, for example, a USB (Universal Serial Bus) port, a dedicated port, or the like, and is an interface for connecting to an external device.
  • the type and number of external interfaces 14 may be arbitrarily selected.
  • the analysis device 1 may be connected to the target sensor via at least one of the communication interface 13 and the external interface 14.
  • the input device 15 is, for example, a device for inputting a mouse, a keyboard, or the like.
  • the output device 16 is, for example, a device for outputting a display, a speaker, or the like. An operator such as a user can operate the analysis device 1 by using the input device 15 and the output device 16.
  • the drive 17 is, for example, a CD drive, a DVD drive, or the like, and is a drive device for reading various information such as a program stored in the storage medium 91.
  • the storage medium 91 electrically, magnetically, optically, mechanically or chemically acts on the information of the program or the like so that the computer or other device, the machine or the like can read various information of the stored program or the like. It is a medium that accumulates by. At least one of the analysis program 81 and the learning result data 225 may be stored in the storage medium 91.
  • the analysis device 1 may acquire at least one of the analysis program 81 and the learning result data 225 from the storage medium 91. Note that FIG.
  • the type of the storage medium 91 is not limited to the disc type, and may be other than the disc type. Examples of storage media other than the disk type include semiconductor memories such as flash memories.
  • the type of the drive 17 may be arbitrarily selected according to the type of the storage medium 91.
  • the components can be omitted, replaced, or added as appropriate according to the embodiment.
  • the control unit 11 may include a plurality of hardware processors.
  • the hardware processor may be composed of a microprocessor, an FPGA (field-programmable gate array), a DSP (digital signal processor), or the like.
  • the storage unit 12 may be composed of a RAM and a ROM included in the control unit 11. At least one of the communication interface 13, the external interface 14, the input device 15, the output device 16, and the drive 17 may be omitted.
  • the analysis device 1 may be composed of a plurality of computers. In this case, the hardware configurations of the computers may or may not match. Further, the analysis device 1 may be a general-purpose server device, a PC (Personal Computer), a PLC (programmable logic controller), or the like, in addition to an information processing device designed exclusively for the provided service.
  • FIG. 3 schematically illustrates an example of the hardware configuration of the model generator 2 according to the present embodiment.
  • the control unit 21, the storage unit 22, the communication interface 23, the external interface 24, the input device 25, the output device 26, and the drive 27 are electrically connected. It is a computer that has been used.
  • the control units 21 to drive 27 and the storage medium 92 of the model generation device 2 may be configured in the same manner as the control units 11 to drive 17 and the storage medium 91 of the analysis device 1, respectively.
  • the control unit 21 includes a CPU, RAM, ROM, etc., which are hardware processors, and is configured to execute various information processing based on programs and data.
  • the storage unit 22 is composed of, for example, a hard disk drive, a solid state drive, or the like.
  • the storage unit 22 stores various information such as the generation program 82, the learning data 3, and a plurality of learning result data 225.
  • the generation program 82 is a program for causing the model generation device 2 to execute the information processing (FIG. 6) described later that generates the trained classifier 5 by performing machine learning.
  • the generation program 82 includes a series of instructions for this information processing.
  • the generation program 82 may be referred to as a “model generation program”, a “learning program”, or the like.
  • the training data 3 is used for machine learning of the classifier 5.
  • the learning result data 225 of each case is generated as a result of executing the generation program 82 for the corresponding classifier 5.
  • At least one of the generation program 82 and the learning data 3 may be stored in the storage medium 92. Further, the model generation device 2 may acquire at least one of the generation program 82 and the learning data 3 from the storage medium 92.
  • the control unit 21 may include a plurality of hardware processors.
  • the hardware processor may be composed of a microprocessor, FPGA, DSP and the like.
  • the storage unit 22 may be composed of a RAM and a ROM included in the control unit 21. At least one of the communication interface 23, the external interface 24, the input device 25, the output device 26, and the drive 27 may be omitted.
  • the model generator 2 may be composed of a plurality of computers. In this case, the hardware configurations of the computers may or may not match.
  • the model generation device 2 may be a general-purpose server device, a general-purpose PC, or the like, in addition to an information processing device designed exclusively for the provided service.
  • FIG. 4 schematically illustrates an example of the software configuration of the analysis device 1 according to the present embodiment.
  • the control unit 11 of the analysis device 1 expands the analysis program 81 stored in the storage unit 12 into the RAM. Then, the control unit 11 controls each component by interpreting and executing the instruction included in the analysis program 81 expanded in the RAM by the CPU.
  • the analysis device 1 according to the present embodiment operates as a computer including a data acquisition unit 111, an identification processing unit 112, a determination unit 113, an imparting unit 114, and an output unit 115 as software modules. To do. That is, in the present embodiment, each software module of the analysis device 1 is realized by the control unit 11 (CPU).
  • the data acquisition unit 111 acquires the target data 121 to be executed by the identification task.
  • the identification processing unit 112 includes a plurality of classifiers 5 configured to identify the existence of features of different classes by holding a plurality of learning result data 225s.
  • the identification processing unit 112 attempts to identify the class of features included in the acquired target data 121 by each of the plurality of classifiers 5.
  • the determination unit 113 determines the data portion including the features of each class in the target data 121 based on the result of the trial.
  • the determination unit 113 is identified by the one classifier in the first data portion where the discrimination by one of the plurality of classifiers 5 is established but the discrimination by the remaining classifiers is not established. It is determined that the characteristics of the target class are included.
  • the determination unit 113 determines that the second data portion in which the identification by all the classifiers 5 including one classifier is established does not include the feature of the target class.
  • the granting unit 114 grants information indicating the determination result (hereinafter, also referred to as “label”) to the target data 121.
  • the process of assigning includes adding information (hereinafter, also referred to as “label”) indicating that the feature of the target class is included to the first data portion.
  • the output unit 115 outputs information regarding the result of identifying the feature class.
  • FIG. 5 schematically illustrates an example of the software configuration of the model generator 2 according to the present embodiment.
  • the control unit 21 of the model generation device 2 expands the generation program 82 stored in the storage unit 22 into the RAM. Then, the control unit 21 controls each component by interpreting and executing the instruction included in the generation program 82 expanded in the RAM by the CPU.
  • the model generation device 2 according to the present embodiment operates as a computer including the learning data acquisition unit 211, the learning processing unit 212, and the storage processing unit 213 as software modules. That is, in the present embodiment, each software module of the model generation device 2 is realized by the control unit 21 (CPU) in the same manner as the analysis device 1.
  • the learning data acquisition unit 211 acquires the learning data 3.
  • the learning processing unit 212 uses the learning data 3 to perform machine learning for each classifier 5.
  • the acquired learning data 3 is composed of a plurality of learning data sets 30.
  • Each learning data set 30 is composed of a combination of training data 31 and correct answer data 32.
  • the learning processing unit 212 targets each training data set 30 so that the result of determining whether or not the training data 31 has the characteristics of the corresponding class by the target classifier 5 matches the correct answer data 32. Train the classifier 5.
  • the storage processing unit 213 generates information on the trained classifier 5 constructed by machine learning as learning result data 225. Then, the storage processing unit 213 stores the generated learning result data 225 in a predetermined storage area.
  • the predetermined storage area may be appropriately selected according to the embodiment.
  • each classifier 5 is composed of a multi-layered fully connected neural network.
  • Each classifier 5 includes an input layer 51, an intermediate (hidden) layer 52, and an output layer 53.
  • each classifier 5 does not have to be limited to such an example, and may be appropriately determined according to the embodiment.
  • the number of the intermediate layers 52 is not limited to one, and may be two or more. Alternatively, the intermediate layer 52 may be omitted.
  • the number of layers constituting the neural network of each classifier 5 may be arbitrarily selected. For at least any combination of the plurality of classifiers 5, the structures may or may not be at least partially matched.
  • Each layer 51-53 has one or more neurons (nodes).
  • the number of neurons (nodes) included in each layer 51 to 53 does not have to be particularly limited, and may be appropriately selected depending on the embodiment.
  • the number of neurons contained in the input layer 51 may be appropriately determined according to the input data and its format.
  • the number of neurons included in the output layer 53 may be determined according to the output data such as the identification result and its format.
  • Neurons in adjacent layers are appropriately connected. In the example of FIG. 5, each neuron is connected to all neurons in adjacent layers. However, the connection relationship of each neuron does not have to be limited to such an example, and may be appropriately set according to the embodiment.
  • a weight (bonding load) is set for each coupling.
  • a threshold is set for each neuron, and basically, the output of each neuron is determined by whether or not the sum of the products of each input and each weight exceeds the threshold.
  • the threshold value may be expressed by an activation function. In this case, the output of each neuron is determined by inputting the sum of the products of each input and each weight into the activation function and executing the operation of the activation function.
  • the type of activation function may be arbitrarily selected.
  • the weight of the connection between each neuron and the threshold value of each neuron included in each layer 51 to 53 are examples of arithmetic parameters used in the arithmetic processing of each discriminator 5.
  • the values of the arithmetic parameters of each classifier 5 are adjusted by the above machine learning so as to obtain an output suitable for the identification of the target class.
  • the learning processing unit 212 inputs the training data 31 to the input layer 51 of the classifier 5 for each learning data set 30, and determines whether or not the characteristics of the corresponding class exist for the training data 31.
  • the corresponding output value is acquired from the output layer 53.
  • the learning processing unit 212 adjusts the value of the calculation parameter of the classifier 5 so that the error between the acquired output value and the correct answer indicated by the correct answer data 32 becomes small. This makes it possible to generate a trained classifier 5 that has acquired the ability to discriminate the existence of features of the corresponding class for the training data 3.
  • the input and output data formats of the classifier 5 do not have to be particularly limited, and may be appropriately determined according to the embodiment.
  • the input layer 51 of the classifier 5 may be configured to accept the input of the target data 122 as it is, or may be configured to accept the input of the target data 121 to which any preprocessing is applied. ..
  • the output layer 53 of the classifier 5 may be configured to regress the degree of belonging to the corresponding class, for example. In this case, the output of the output layer 53 may be configured to indicate the probability of belonging to the corresponding class by being normalized to be in the range 0 to 1.
  • the storage processing unit 213 generates learning result data 225 for reproducing the trained classifier 5 generated by machine learning.
  • the configuration of the training result data 225 may be arbitrary as long as the trained classifier 5 can be regenerated.
  • the storage processing unit 213 generates information indicating the value of the calculated calculation parameter of the generated trained classifier 5 as the learning result data 225.
  • the training result data 225 may further include information indicating the structure of the trained classifier 5.
  • the structure may be specified, for example, by the number of layers from the input layer to the output layer in the neural network, the type of each layer, the number of neurons included in each layer, the connection relationship between neurons in adjacent layers, and the like.
  • the storage processing unit 213 stores the generated learning result data 225 in a predetermined storage area.
  • each software module of the analysis device 1 and the model generation device 2 will be described in detail in an operation example described later.
  • an example in which each software module of the analysis device 1 and the model generation device 2 is realized by a general-purpose CPU is described.
  • some or all of the above software modules may be implemented by one or more dedicated processors.
  • software modules may be omitted, replaced, or added as appropriate according to the embodiment.
  • FIG. 6 is a flowchart showing an example of a processing procedure related to machine learning of the classifier 5 by the model generator 2 according to the present embodiment.
  • the processing procedure described below is merely an example, and each step may be modified as much as possible. Further, with respect to the processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.
  • Step S101 the control unit 21 operates as the learning data acquisition unit 211 to acquire the learning data 3.
  • the learning data 3 is composed of a plurality of learning data sets 30.
  • Each learning data set 30 may be generated as appropriate. For example, assuming a scene in which a task for identifying a feature class is executed in a real space or a virtual space, a sample of data of the same type as the target data 121 to be executed by the identification task is acquired as training data 31. The method for obtaining the sample may be appropriately selected depending on the embodiment.
  • the training data 31 can be acquired by observing the target with a sensor under various conditions. The observation target may be selected according to the characteristics that identify the class. Then, the information indicating the result (correct answer) of identifying the feature class included in the acquired training data 31 is associated with the training data 31 as the correct answer data 32.
  • the method of identifying the class of features contained in the training data 31 may be arbitrarily selected. For example, the operator may manually identify the class of features contained in the training data 31. Alternatively, any classifier may automatically identify the class of features contained in the training data 31. Further, the configuration of the correct answer data 32 is not particularly limited as long as it can be used for machine learning of at least one of the plurality of classifiers 5 and the correct answer of the identification task can be specified. May be decided.
  • the correct answer data 32 may be composed of information indicating whether or not the feature of the target class exists in each part of the training data 31. Alternatively, the correct answer data 32 may be composed of information indicating a class of features included in each part of the training data 31.
  • Each learning data set 30 may be automatically generated by the operation of a computer, or may be manually generated by at least partially including an operator's operation. Further, each learning data set 30 may be generated by the model generation device 2 or by a computer other than the model generation device 2.
  • the control unit 21 automatically or manually executes the above generation process by the operation of the operator via the input device 15, so that a plurality of learning data sets are generated. Get 30.
  • the control unit 21 acquires a plurality of learning data sets 30 generated by the other computer via, for example, a network, a storage medium 92, or the like.
  • Some training data sets 30 may be generated by the model generator 2 and other training data sets 30 may be generated by one or more other computers.
  • the number of learning data sets 30 to be acquired may be arbitrarily selected.
  • the training data 3 may be acquired separately for each classifier 5. At least a part of the acquired learning data 3 may be different for at least any combination of the plurality of classifiers 5.
  • the control unit 21 proceeds to the next step S102.
  • Step S102 the control unit 21 operates as the learning processing unit 212, and uses the acquired learning data 3 to perform machine learning for each classifier 5. Through this machine learning, the control unit 21 generates a plurality of classifiers 5 trained to identify the existence of features of different classes.
  • the control unit 21 prepares a neural network that constitutes the classifier 5 to be processed by machine learning.
  • the structure of the neural network for example, the number of layers, the number of neurons contained in each layer, the connection relationship between neurons in adjacent layers, etc.
  • the initial value of the connection weight between each neuron May be given by the template or by the input of the operator.
  • the control unit 21 may prepare the target classifier 5 based on the learning result data obtained by the past machine learning.
  • control unit 21 identifies whether or not the training data 31 has the features of the corresponding class by the target classifier 5, so that the result matches the correct answer data 32.
  • a stochastic gradient descent method, a mini-batch gradient descent method, or the like may be used.
  • the control unit 21 gives the training data 31 to the target classifier 5 and executes the arithmetic processing of the target classifier 5. That is, the control unit 21 inputs the training data 31 to the input layer 51 of the target classifier 5 and determines the firing of each neuron included in each layer 51 to 53 in order from the input side (that is, the forward propagation calculation is performed). Do). By this arithmetic processing, the control unit 21 acquires the output value corresponding to the result of identifying whether or not the feature of the corresponding class exists for the training data 31 from the output layer 53.
  • the control unit 21 calculates the error between the output value obtained from the output layer 53 and the correct answer indicated by the correct answer data 32.
  • a loss function may be used to calculate the error (loss).
  • the loss function is a function that evaluates the difference (that is, the degree of difference) between the output of the machine learning model and the correct answer, and is calculated by the loss function as the difference value between the output value obtained from the output layer 53 and the correct answer increases. The value of the error to be made becomes large.
  • the type of loss function used for calculating the error does not have to be particularly limited, and may be appropriately selected depending on the embodiment.
  • the control unit 21 uses the error gradient of the output value calculated by the back propagation method to perform each calculation parameter of the target classifier 5 (weight of connection between each neuron, threshold value of each neuron). Etc.) Calculate the error of the value.
  • the control unit 21 updates the value of each calculation parameter of the target classifier 5 based on each calculated error.
  • the degree to which the value of each calculation parameter is updated may be adjusted by the learning rate.
  • the learning rate may be given by the operator's designation, or may be given as a set value in the program.
  • the control unit 21 adjusts the value of each calculation parameter of the target classifier 5 so that the sum of the calculated errors is small for each learning data set 30 by the above series of update processes. For example, the control unit 21 adjusts the value of each calculation parameter of the target classifier 5 by the above series of processes until a predetermined condition such as execution is performed a specified number of times or the sum of the calculated errors becomes equal to or less than the threshold value. May be repeated. As a result of this adjustment process, the control unit 21 can generate a trained classifier 5 that has acquired the ability to discriminate the existence of features of the corresponding class for the training data 3.
  • the control unit 21 executes the above training process for each classifier 5 so as to acquire the ability to discriminate the existence of the characteristics of the class in charge of each. This allows the control unit 21 to generate a plurality of classifiers 5 trained to identify the presence of features of different classes. When the machine learning of each classifier 5 is completed, the control unit 21 proceeds to the next step S103.
  • Step S103 the control unit 21 operates as the storage processing unit 213 and generates information about each trained classifier 5 generated by machine learning as learning result data 225. Then, the control unit 21 stores the generated learning result data 225 for each case in a predetermined storage area.
  • the predetermined storage area may be, for example, a RAM in the control unit 21, a storage unit 22, an external storage device, a storage medium, or a combination thereof.
  • the storage medium may be, for example, a CD, a DVD, or the like, and the control unit 21 may store the learning result data 225 of each case in the storage medium via the drive 27.
  • the external storage device may be, for example, a data server such as NAS (Network Attached Storage). In this case, the control unit 21 may store the learning result data 225 of each case in the data server via the network by using the communication interface 23. Further, the external storage device may be, for example, an external storage device connected to the model generation device 2 via the external interface 24.
  • control unit 21 ends the processing procedure related to this operation example.
  • the generated learning result data 225 may be provided to the analysis device 1 at an arbitrary timing.
  • the control unit 21 may transfer the learning result data 225 to the analysis device 1 as the process of step S103 or separately from the process of step S103.
  • the analysis device 1 may acquire the learning result data 225 by receiving this transfer.
  • the analysis device 1 may acquire the learning result data 225 by accessing the model generation device 2 or the data server via the network using the communication interface 13.
  • the analysis device 1 may acquire the learning result data 225 via the storage medium 91.
  • the learning result data 225 may be incorporated in the analysis device 1 in advance.
  • control unit 21 may update or newly generate the learning result data 225 by repeating the processes of steps S101 to S103 periodically or irregularly. At the time of this repetition, at least a part of the learning data 3 may be changed, modified, added, deleted, or the like as appropriate. Then, the control unit 21 may update the learning result data 225 held by the analysis device 1 by providing the updated or newly generated learning result data 225 to the analysis device 1 by an arbitrary method.
  • FIG. 7 is a flowchart showing an example of the processing procedure of the analysis device 1 according to the present embodiment.
  • the processing procedure described below is an example of an analysis method. However, each processing procedure described below is only an example, and each step may be changed as much as possible. Further, for each processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.
  • Step S201 the control unit 11 operates as the data acquisition unit 111 to acquire the target data 121.
  • the target data 121 is a sample of a predetermined type of data to be executed by the identification task.
  • the method of acquiring the target data 121 may be appropriately selected according to the type of data.
  • the control unit 11 can acquire the target data 121 by observing the target on which an event related to the feature that identifies the class can occur with a sensor.
  • the control unit 11 proceeds to the next step S202.
  • Step S202 the control unit 11 operates as the identification processing unit 112, refers to the learning result data 225, and refers to the plurality of trained classifiers 5 configured to identify the existence of features of different classes. Make settings. Subsequently, the control unit 11 inputs the acquired target data 121 to the input layer 51 of each classifier 5, and executes a forward propagation arithmetic process of each classifier 5. As a result of this arithmetic processing, the control unit 11 acquires an output value corresponding to the result of identifying whether or not the feature of the corresponding class exists for the target data 121 from the output layer 53 of each classifier 5. Can be done. As a result, the control unit 11 attempts to identify the class of features included in the acquired target data 121 by each classifier 5.
  • Step S203 the control unit 11 operates as the determination unit 113, and determines the data portion including the features of each class in the target data 121 based on the result of the trial.
  • the control unit 11 is identified by the one classifier in the first data portion where the discrimination by one of the plurality of classifiers 5 is established but the discrimination by the remaining classifiers is not established. It is determined that the characteristics of the target class are included.
  • the control unit 11 determines that the second data portion in which the identification by all the classifiers 5 including one classifier is established does not include the feature of the target class.
  • FIG. 8 illustrates an example of a determination criterion for identifying a feature class by each classifier 5 according to the present embodiment.
  • three classifiers 5a to 5c are used as the plurality of classifiers 5.
  • the classes identified by the classifiers 5a to 5c are referred to as a first class, a second class, and a third class.
  • the range 61 represents a set of data identified by the first classifier 5a as having a first class feature.
  • range 62 represents a set of data that is identified by the second classifier 5b as having a second class feature.
  • Range 63 represents a set of data that is identified by the third classifier 5c as having a third class feature.
  • the control unit 11 has a first class for the data portion belonging to the range 610 in which the identification by the first classifier 5a is established but the identification by the remaining classifiers (5b, 5c) is not established. It is determined that the feature of is included.
  • the control unit 11 has a feature of the second class in the data portion belonging to the range 620, in which the identification by the second classifier 5b is established but the identification by the remaining classifiers (5a, 5c) is not established. Is included.
  • the data portion belonging to the range 630 in which the identification by the third classifier 5c is established but the identification by the remaining classifiers (5a, 5b) is not established, includes the features of the third class. It is determined that it is.
  • the data portion belonging to each range (610, 620, 630) is an example of the first data portion.
  • the control unit 11 determines that the data portion belonging to the range 600 in which the identification by all the classifiers 5a to 5c is established does not include the features of the first class to the third class.
  • the data portion belonging to the range 600 is an example of the second data portion.
  • the handling of the data portion belonging to this range 600 may be appropriately determined according to the embodiment.
  • the control unit 11 may determine that a common event appears in the features of the first class to the third class in the data portion belonging to the range 600.
  • the control unit 11 may determine that a transient event between the characteristics of the class for which identification is established appears in this data portion.
  • the control unit 11 may determine that the data portion belonging to the range 640 shows a transient event between the features of the first class and the features of the second class.
  • the data portion that is the unit of determination of identification may be a part or all of the target data 121.
  • the data portion may be appropriately determined according to the type of the target data 121.
  • the target data 121 may include a plurality of elements such as time series data and multidimensional data.
  • Time series data includes a plurality of elements arranged along the time series. The number of elements per hour may be arbitrary.
  • the time series data may be, for example, sensing data obtained in a time series such as moving image data.
  • the multidimensional data includes a plurality of elements per time.
  • the multidimensional data may be, for example, moving image data, still image data, or the like.
  • the multidimensional data may be obtained by observing the same object in synchronization with time by a plurality of different sensors.
  • the type of each sensor may be different.
  • the multidimensional data may be composed of text data in which the same content is expressed in different expressions (for example, different phrases, different dialects, different languages (languages are, for example, natural language, programming language, etc.)).
  • each expression may be treated as each dimension.
  • the multidimensional data may be read as, for example, "multidimensional data" or the like.
  • FIG. 9A schematically illustrates an example of the result of executing feature class identification on the target data 121 when the target data 121 is time series data.
  • the control unit 11 may determine the time interval of the data portion including the features of each class in the time-series data based on the result of the above identification trial. ..
  • the control unit 11 has the first data portion of the time interval 1211 in which the identification by the first classifier 5a is established but the identification by the remaining classifiers (5b, 5c) is not established. Determine that the class features are included.
  • the control unit 11 determines that the data portion of the time interval 1212 in which the identification by all the classifiers 5a to 5c including the first classifier 5a is established does not include the feature of the first class.
  • control unit 11 determines that the time when the determination result of each of the classifiers 5a to 5c for the target data 121 enters each range (610, 620, 630) from the outside is the start time of the appearance of the feature of each class. can do.
  • the time when the determination result of each of the classifiers 5a to 5c for the target data 121 goes out of each range (610, 620, 630) can be determined as the end time of the appearance of the feature of each class.
  • FIG. 9B schematically illustrates an example of the result of executing feature class identification on the target data 121 when the target data 121 is multidimensional data.
  • the control unit 11 may determine the range of the data portion including the features of each class in the multidimensional data based on the result of the above identification trial.
  • the control unit 11 has a first class in the data portion of the range 1215 in which the identification by the first classifier 5a is established but the identification by the remaining classifiers (5b, 5c) is not established. It is determined that the feature of is included.
  • the control unit 11 determines that the data portion of the range 1216 in which the identification by all the classifiers 5a to 5c including the first classifier 5a is established does not include the features of the first class.
  • control unit 11 can determine the data portion including the features of each class in the target data 121 based on the result of the identification trial. When the determination process is completed, the control unit 11 proceeds to the next step S204.
  • Step S204 the control unit 11 operates as the granting unit 114 and assigns a label indicating the determination result to the target data 121.
  • the control unit 11 assigns a label indicating that the feature of the target class is included to the first data portion.
  • the control unit 11 assigns a label indicating that the characteristics of each class are included in the data portion belonging to each range (610, 620, 630).
  • Labeling other data parts may be optional. For example, labeling of other data parts may be omitted.
  • the control unit 11 indicates that an event common to the characteristics of all the classes appears in the data portion (the data portion belonging to the range 600 in the example of FIG. 8 above) in which the identification by all the classifiers 5 is established. May be given a label indicating.
  • the control unit 11 is a data portion (example of FIG. 8 above) in which the identification by two or more classifiers among the plurality of classifiers 5 is established, but the discrimination by the remaining one or more classifiers is not established (example of FIG. 8 above). Then, each range (data portion belonging to 640, 650, 660) may be labeled to indicate the appearance of a transient event between the features of each class.
  • Step S205 the control unit 11 operates as the output unit 115 and outputs information regarding the result of identifying the feature class included in the target data 121.
  • the output destination and the content of the information to be output may be appropriately determined according to the embodiment.
  • the control unit 11 may output to the output device 16 as it is the result of identifying the feature class included in the target data 121 in steps S202 and S203.
  • the control unit 11 When each classifier 5 is configured to output the probability of belonging to the corresponding class, the control unit 11 outputs the value of the probability belonging to each class obtained from each classifier 5 as the discrimination result. It may be output to. Further, for example, the control unit 11 may execute some information processing based on the result of identifying the feature class. Then, the control unit 11 may output the result of executing the information processing as information regarding the result of the class identification.
  • the output of the result of executing this information processing may include outputting a specific message according to the identification result, controlling the operation of the controlled device according to the identification result, and the like.
  • the output destination may be, for example, an output device 16, an output device of another computer, a controlled device, or the like.
  • the control unit 11 may store the labeled target data 121 generated in step S204 in a predetermined storage area as the output process in step S205.
  • the predetermined storage area may be, for example, a RAM in the control unit 11, a storage unit 12, an external storage device, a storage medium, or a combination thereof.
  • control unit 11 ends the processing procedure related to this operation example.
  • the control unit 11 may continuously and repeatedly execute a series of information processing in steps S201 to S205.
  • the timing of repeating may be arbitrary.
  • the analysis device 1 may continuously execute the feature identification task for the target data 121.
  • the trained classifier 5 is generated for each class to be identified by the processes of steps S101 to S103.
  • step S203 the first data portion in which the identification by one of the plurality of classifiers 5 is established but the identification by the remaining classifiers is not established is identified by the one classifier. It is determined that the characteristics of the target class are included.
  • the second data portion in which the identification by all the classifiers 5 including the one classifier is established does not include the characteristics of the class to be identified by the one classifier.
  • this identification process only causes a common event in the characteristics of each class, and the characteristics of the target class are assigned to the data part that does not really include the characteristics of the target class. If it is included, it is possible to prevent misidentification. Therefore, according to the present embodiment, it is possible to improve the accuracy of identifying the class of features included in the data.
  • the target data 121 with a label appropriately indicating the class of the feature included in each part can be generated by the above step S204.
  • the labeled target data 121 may be used for machine learning to acquire the ability to identify a class of features contained in data of the same type as the target data 121. Since the given label appropriately indicates the class of features included in the target data 121, the labeled target data 121 can provide high-quality learning data.
  • the analysis system 100 according to the above embodiment may be applied to any situation that identifies a class of some feature contained in the data.
  • the analysis system 100 according to the above embodiment is applied to, for example, a scene for identifying the type of operation of the target person, a scene for identifying the type of work process on the production line, a scene for identifying the class of the state of the target person, and the like. It's okay.
  • a modified example in which the application scene is limited will be illustrated.
  • FIG. 10 schematically illustrates an example of an application scene of the motion analysis system 100A according to the first modification.
  • This modification is an example in which the above embodiment is applied to a scene in which the type of movement of the subject RA is identified by using the sensing data obtained by the sensor SA that observes the movement of the subject RA.
  • the type of operation is an example of a feature class.
  • the sensing data obtained by the sensor SA is treated as the target data and training data.
  • the operation and type of the identification target may be appropriately determined according to the embodiment.
  • the movement of the identification target may be a simple movement such as raising a hand or turning the face sideways.
  • the operation to be identified may be a cohesive operation such as an operation related to some work in a factory. In this case, the operation to be identified may relate to different types of processes on the production line.
  • the type of operation may be set according to, for example, the type of work, the attributes of the worker, the quality of the operation, and the like.
  • the type of work may include, for example, the type of basic operation such as visual recognition, gripping, transportation, and adjustment.
  • the worker's attributes may include, for example, the worker's identifier (or name), years of service, skill level, state (for example, health level, fatigue level, etc.) and the like.
  • the attribute of the worker may be set for each individual, or may be set for each group to which one or a plurality of people belong.
  • the sensor SA may be, for example, a camera, an acceleration sensor, a motion sensor, a pressure sensor, a microphone, or the like.
  • the camera may be, for example, a general RGB camera, a depth camera, an infrared camera, or the like. Except for these limitations, the motion analysis system 100A according to the present modification may be configured in the same manner as the analysis system 100 according to the above embodiment.
  • the control unit 21 of the model generation device 2 acquires the learning data composed of the plurality of learning data sets 30A in the step S101.
  • Each learning data set 30A is composed of a combination of training data 31A and correct answer data 32A.
  • the training data 31A can be obtained by observing the movement of the subject with the sensor SA or a sensor of the same type.
  • the correct answer data 32A indicates the correct answer of the operation identification task for the training data 31A.
  • the control unit 21 is configured to identify the execution of different types of actions of the subject as the existence of the feature by performing the machine learning in step S102 using the acquired learning data. Generate a trained classifier 5A.
  • the control unit 21 generates information about each trained classifier 5A generated by the process of step S103 as learning result data, and stores the generated learning result data in a predetermined storage area.
  • the generated learning result data may be provided to the analysis device 1 at an arbitrary timing.
  • the analysis device 1 may be connected to the sensor SA via the communication interface 13 or the external interface 14.
  • the sensor SA may be appropriately arranged at a place where the movement of the subject RA can be observed.
  • the control unit 11 acquires the target data 121A from the sensor SA.
  • the target data 121A may be at least one of time series data and multidimensional data.
  • the control unit 11 attempts to identify the type of operation appearing in the acquired target data 121A by each classifier 5A by the process of step S202.
  • step S203 the control unit 11 determines, based on the result of the trial, a data portion in the target data 121A in which execution of various different operations appears.
  • the control unit 11 is identified by the one classifier in the first data portion where the discrimination by one of the plurality of classifiers 5A is established but the discrimination by the remaining classifiers is not established. It is determined that the execution of the operation of the target type has appeared. On the other hand, the control unit 11 determines that the execution of the operation of the target type does not appear in the second data portion in which the identification by all the classifiers 5A including the one classifier is established.
  • the control unit 11 shows a gesture common to all operations in the second data portion where the identification by all the classifiers 5A is established, and at the time when the data portion is obtained, anytime It may be determined that the type of operation of is not executed either.
  • a gesture peculiar to the corresponding type of operation appears in the data portion where only the identification by any one of the classifiers 5A is established, and the time when the data portion is obtained corresponds to the data portion. It can be determined that the corresponding type of operation is being performed.
  • control unit 11 can determine that the execution of the operation common to the expert and the beginner appears in the second data portion where the identification by the two classifiers 5A is established. On the other hand, the control unit 11 can determine that the execution of the operation peculiar to the expert appears in the data portion where only the identification by the classifier 5A corresponding to the expert is established. Similarly, the control unit 11 can determine that the execution of the operation peculiar to the beginner appears in the data portion where only the identification by the classifier 5A corresponding to the beginner is established.
  • step S204 the control unit 11 assigns a label indicating the determination result to the target data 121A.
  • the control unit 11 assigns a label indicating that the execution of the operation of the target type appears to the first data portion.
  • step S205 the control unit 11 outputs information regarding the result of identifying the type of operation of the target person RA appearing in the target data 121A.
  • the control unit 11 may output the result of identifying the operation type of the target person RA to the output device 16 as it is.
  • the identification result may be expressed by the probability of executing various different actions.
  • the identification target does not have to be limited to the movement of a person.
  • the operation of the identification target may include the operation of a machine such as an industrial robot or a mobile robot (for example, a drone).
  • the action to be identified may include an action in which a machine and a human collaborate.
  • the type of operation may include, for example, whether or not the operation of the machine is appropriate, the state of the machine (for example, normal / failure type, degree of failure, etc.).
  • FIG. 11 schematically illustrates an example of an application scene of the state analysis system 100C according to the second modification.
  • This modification is an example in which the above embodiment is applied to a scene where the class of the state of the driver RC is identified by using the sensing data obtained by the sensor SC that observes the driver RC driving the vehicle.
  • the state of the driver RC is an example of the feature.
  • the driver RC is an example of the subject.
  • the sensing data obtained by the sensor SC is treated as the target data and training data.
  • the state and class to be identified may be appropriately determined according to the embodiment.
  • the state to be identified may include, for example, the driver's behavior, health state, drowsiness, fatigue, margin, and the like.
  • the state class may be set according to, for example, the type of behavior, the type of health state, the degree of drowsiness, the degree of fatigue, the degree of margin, and the like.
  • the sensor SC may be, for example, a camera, a vital sensor, or the like.
  • Vital sensors include, for example, sphygmomanometer, pulse rate monitor, heart rate monitor, electrocardiograph, electromyogram, thermometer, skin electroreactivity meter, microwave sensor, electroencephalograph, electroencephalograph, activity meter, blood glucose meter, eye. It may be a potential sensor, an eye movement measuring instrument, or the like. Except for these limitations, the state analysis system 100C according to the present modification may be configured in the same manner as the analysis system 100 according to the above embodiment.
  • the control unit 21 of the model generation device 2 acquires the learning data composed of the plurality of learning data sets 30C in the step S101.
  • Each learning data set 30C is composed of a combination of training data 31C and correct answer data 32C.
  • the training data 31C can be obtained by observing a subject driving a vehicle with a sensor SC or a sensor of the same type.
  • the correct answer data 32C indicates the correct answer of the state identification task for the training data 31C.
  • the control unit 21 is configured to identify the appearance of a state of a different class as the existence of a feature by performing machine learning in step S102 using the acquired learning data.
  • the classifier 5C is generated.
  • the control unit 21 generates information about each trained classifier 5C generated by the process of step S103 as learning result data, and stores the generated learning result data in a predetermined storage area.
  • the generated learning result data may be provided to the analysis device 1 at an arbitrary timing.
  • the analysis device 1 may be connected to the sensor SC via the communication interface 13 or the external interface 14.
  • the sensor SC may be appropriately arranged at a place where the state of the driver RC can be observed.
  • the control unit 11 acquires the target data 121C from the sensor SC.
  • the target data 121C may be at least one of time series data and multidimensional data.
  • the control unit 11 attempts to identify the class of the state appearing in the acquired target data 121C by each classifier 5C by the process of step S202.
  • step S203 the control unit 11 determines a data portion in which the state of each class appears in the target data 121C based on the result of the trial.
  • the control unit 11 is identified by the one classifier in the first data portion where the discrimination by one of the plurality of classifiers 5C is established but the discrimination by the remaining classifiers is not established. It is determined that the state of the target class has appeared. On the other hand, the control unit 11 determines that the state of the target class does not appear in the second data portion where the identification by all the classifiers 5C including one classifier is established.
  • step S204 the control unit 11 assigns a label indicating the determination result to the target data 121B.
  • the control unit 11 assigns a label indicating that the state of the target class has appeared to the first data portion.
  • step S205 the control unit 11 outputs information regarding the result of identifying the state class of the driver RC appearing in the target data 121C.
  • the control unit 11 may output the result of identifying the state class of the driver RC to the output device 16 as it is. Further, for example, the control unit 11 may output a specific message such as a warning to the output device 16 according to the state of the identified driver RC.
  • the control unit 11 is stationed according to the fact that the state of the driver RC is identified in at least one of the classes of drowsiness and fatigue.
  • the output device 16 may output a warning prompting the driver RC to stop the vehicle at a parking lot or the like and take a break.
  • the control unit 11 determines the class of the state of the driver RC, and based on the result, the control unit 11 automatically drives the vehicle.
  • a command for instructing the operation may be transmitted to the control device.
  • the control device is configured to be able to switch between an automatic driving mode for controlling the running of the vehicle and a manual driving mode for controlling the running of the vehicle by steering the driver RC. In this case, when the vehicle is running in the automatic driving mode and the driver RC or the system accepts the switch from the automatic driving mode to the manual driving mode, the control unit 11 puts the driver in a class with a high margin.
  • the control unit 11 may transmit a command permitting the switching from the automatic operation mode to the manual operation mode to the control device.
  • the control unit 11 sends a notification to the control device not permitting the switching from the automatic operation mode to the manual operation mode, and the automatic operation is performed. You may try to keep running in the mode.
  • the control unit 11 may determine whether or not the state of the driver RC is identified in at least one of the higher classes of drowsiness and fatigue. .. Then, when the state of the driver RC is identified in at least one class of high drowsiness and fatigue, the control unit 11 switches from the manual operation mode to the automatic operation mode to a safe place such as a parking lot. A command may be sent to the control device instructing the driver to stop. On the other hand, if this is not the case, the control unit 11 may maintain the running of the vehicle in the manual driving mode.
  • the control unit 11 may determine whether or not the state of the driver RC is identified in a class having a low margin. Then, when the state of the driver RC is identified in the class having a low margin, the control unit 11 may transmit a deceleration command to the control device. On the other hand, if this is not the case, the control unit 11 may maintain the running of the vehicle by the operation of the driver RC.
  • the vehicle control device and the analysis device 1 may be configured by an integrated computer.
  • FIG. 12 schematically illustrates an example of an application scene of the state analysis system 100D according to the third modification.
  • This modification is an example in which the above embodiment is applied to a scene where the class of the health condition of the subject RD is identified by using the sensing data obtained by the sensor SD for observing the health condition of the subject RD.
  • Health is an example of a feature.
  • the sensing data obtained by the sensor SD is treated as the target data and training data.
  • the health condition and class to be identified may be appropriately determined according to the embodiment.
  • the health condition to be identified may be, for example, related to a specific disease that can be estimated from the obtained sensing data.
  • the class of health is improved, for example, by whether or not they are healthy, whether or not they have signs of illness, the type of disease that is or is present, the administration of specific drugs or the implementation of specific treatment methods. It may be set according to whether or not it is a promising disease.
  • the sensor SD may be, for example, a camera, a vital sensor, a medical examination device, or the like.
  • the medical examination device may be, for example, a CT device, an MRI device, or the like.
  • the state analysis system 100D according to the present modification may be configured in the same manner as the analysis system 100 according to the above embodiment.
  • the control unit 21 of the model generation device 2 acquires the learning data composed of the plurality of learning data sets 30D in the step S101.
  • Each learning data set 30D is composed of a combination of training data 31D and correct answer data 32D.
  • the training data 31D can be obtained by observing the health condition of the subject with the sensor SD or a sensor of the same type.
  • the correct answer data 32D indicates the correct answer of the health condition identification task for the training data 31D.
  • the control unit 21 uses the acquired learning data to perform machine learning in step S102, thereby performing a plurality of trainings configured to identify the appearance of health states of different classes as the existence of features. Generate the finished classifier 5D.
  • the control unit 21 generates information about each trained classifier 5D generated by the process of step S103 as learning result data, and stores the generated learning result data in a predetermined storage area.
  • the generated learning result data may be provided to the analysis device 1 at an arbitrary timing.
  • the analysis device 1 may be connected to the sensor SD via the communication interface 13 or the external interface 14.
  • the sensor SD may be appropriately arranged at a place where the health condition of the subject RD can be observed.
  • the control unit 11 acquires the target data 121D from the sensor SD.
  • the target data 121D may be at least one of time series data and multidimensional data.
  • the control unit 11 attempts to identify the health state class appearing in the acquired target data 121D by each classifier 5D by the process of step S202.
  • step S203 the control unit 11 determines a data portion in which the health state of each class appears in the target data 121D based on the result of the trial.
  • the control unit 11 is identified by the one classifier in the first data portion where the discrimination by one of the plurality of classifiers 5D is established but the discrimination by the remaining classifiers is not established. It is determined that the health condition of the target class has appeared. On the other hand, the control unit 11 determines that the health state of the target class does not appear in the second data portion where the identification by all the classifiers 5D including one classifier is established.
  • step S204 the control unit 11 assigns a label indicating the determination result to the target data 121B.
  • the control unit 11 assigns a label indicating that the health condition of the target class has appeared to the first data portion.
  • step S205 the control unit 11 outputs information regarding the result of identifying the health state class of the target person RD that appears in the target data 121D.
  • the control unit 11 may output the result of identifying the health state class of the subject RD to the output device 16 as it is.
  • the control unit 11 may output a message prompting the examination at the hospital to the output device 16.
  • the control unit 11 may transmit the result of identifying the health condition class of the subject RD to the terminal of the registered hospital.
  • the information of the terminal as the transmission destination may be stored in a predetermined storage area such as a RAM, a ROM, a storage unit 12, a storage medium 91, or an external storage device.
  • a fully connected neural network is used for each classifier 5.
  • the type of neural network constituting each classifier 5 does not have to be limited to such an example.
  • a convolutional neural network, a recurrent neural network, or the like may be used.
  • the type of machine learning model constituting each classifier 5 does not have to be limited to the neural network.
  • a support vector machine, a regression model, a decision tree model, or the like may be used in addition to the neural network.
  • a rule-based model may be used for each classifier 5 in addition to the machine learning model.
  • Each classifier 5 may be composed of a combination of a machine learning model and a rule-based model.
  • the configuration of each classifier 5 is not particularly limited as long as the class of features can be identified, and may be appropriately determined according to the embodiment.
  • the structure of the training data may be appropriately determined according to the structure of each classifier 5.
  • each classifier 5 may be configured to further accept input of information other than the target data 121.
  • Each classifier 5 may be configured to further output information other than the result of identifying the feature class.
  • the expression format of the result of identifying the feature class does not have to be particularly limited, and may be appropriately determined according to the embodiment. To identify the existence of a feature of the target class, it is necessary to regress the probability that the feature of the target class exists and determine whether or not the feature of the target class exists based on the obtained probability. May be included.
  • each classifier 5 when at least a part of the structure of each classifier 5 (classifiers 5a to 5c in the example of FIG. 8) is common, at least a part of the calculation parameters are shared among the classifiers 5. May be shared.
  • some or all the arithmetic parameters of the classifiers 5 may be shared among the classifiers 5.
  • one classifier operates as each classifier 5.
  • the input layer of one discriminator further accepts the input of information indicating the class to be discriminated (that is, which discriminator 5 to operate) such as a one-hot vector. It may be configured.
  • each classifier 5 is configured to accept the input of the target data 121 and directly output the result of identifying the feature class.
  • the form in which the class of features included in the target data 121 is identified by each classifier 5 does not have to be limited to such an example.
  • each classifier may be configured to generate generated data containing features of the corresponding class. In this case, by comparing the generated data generated by each classifier and the target data 121, the class of the feature included in the target data 121 can be identified.
  • FIG. 13 schematically illustrates an example of a training scene of each classifier 7 according to this modified example.
  • Each classifier 7 according to this modification generates second data 36 of the same type as the target data 121, including the features of the same class to be identified, from the first data 35 including the features of the class to be identified. It is composed of.
  • each classifier 7 includes an encoder 71 and a decoder 72.
  • the encoder 71 is configured to convert the first data 35 into a feature amount (latent variable).
  • the decoder 72 is configured to generate the second data 36 from the features.
  • the form of the feature amount does not have to be particularly limited and may be arbitrarily determined.
  • the encoder 71 and the decoder 72 may each be configured by a machine learning model. The type of machine learning model that composes each may be arbitrarily selected. Similar to each of the classifiers 5, a neural network may be used for the encoder 71 and the decoder 72.
  • the control unit 21 of the model generation device 2 acquires the learning data composed of the combination of the first data 35 and the second data 36 in the step S101.
  • the first data 35 and the second data 36 are acquired so as to include the characteristics of the class to be identified by each classifier 7. If the same event is captured, different types of data can be generated from arbitrary data. Therefore, the first data 35 may be data different from the second data 36, which captures the same event as the second data 36.
  • the first data 35 may be obtained from either the camera or the motion sensor, and the second data 36 may be obtained from the other.
  • the first data 35 and the second data 36 may be of the same type. That is, the first data 35 and the second data 36 may be the same signal.
  • the training data is composed of a single piece of data.
  • step S102 the control unit 21 executes machine learning for each classifier 7 using the corresponding learning data.
  • the machine learning method may be appropriately selected according to the configuration of each classifier 7.
  • the control unit 21 inputs the first data 35 including the characteristics of the corresponding class to be identified into the encoder 71, and performs arithmetic processing of the encoder 71. Execute. As a result, the control unit 21 acquires an output value corresponding to the result of converting the first data 35 into the feature amount from the encoder 71.
  • control unit 21 inputs the feature amount obtained from the encoder 71 to the decoder 72, and executes the arithmetic processing of the decoder 72. As a result, the control unit 21 acquires the output value corresponding to the generated data 229 generated from the feature amount from the decoder 72.
  • the control unit 21 calculates the error between the obtained generated data 229 and the second data 36.
  • the control unit 21 calculates the error of the value of each calculation parameter of the encoder 71 and the decoder 72 by using the gradient of the error calculated by the error back propagation method.
  • the control unit 21 updates the values of the calculation parameters of the encoder 71 and the decoder 72 based on the calculated errors.
  • the control unit 21 adjusts the values of the calculation parameters of the encoder 71 and the decoder 72 so that the sum of the errors calculated by the series of update processes becomes small.
  • the control unit 21 has the ability to generate the second data 36 of the same type as the target data 121, including the features of the same class to be identified, from the first data 35 including the features of the class to be identified. It is possible to generate a trained classifier 7 that has acquired the above.
  • the control unit 21 has acquired a plurality of trained data having acquired the ability to generate the same type of data as the target data 121, including the characteristics of different classes, by acquiring the training data for each class and executing the machine learning.
  • the classifier 7 can be generated.
  • each classifier 7 is in the future from the target time or It may be trained to generate the second data 36 of the target time from the first data 35 in the past.
  • the control unit 21 calculates an error between the feature amount obtained from the encoder 71 and the value obtained from a predetermined probability distribution (for example, Gaussian distribution). The value of each calculation parameter of the encoder 71 may be further adjusted so that the sum of the errors becomes small. As a result, the control unit 21 may normalize the output value of the encoder 71.
  • FIG. 14 schematically illustrates an example of a usage scene of each classifier 7 according to this modified example.
  • the control unit 11 of the analysis device 1 inputs the input data 123 of the same type as the first data 35 into the encoder 71 of each classifier 7, and executes the arithmetic processing of each classifier 7. To do.
  • the control unit 11 acquires the output value corresponding to the generated data 125 of the same type as the target data 121 generated from the input data 123 from the decoder 72.
  • the control unit 11 acquires the input data 123 given to each classifier 7 separately from the target data 121.
  • the control unit 11 can acquire heterogeneous data that captures the same event as the target data 121 as input data 123.
  • the control unit 11 when the first data 35 and the second data 36 are of the same type, the control unit 11 generates the generated data 125 by giving the target data 121 as the input data 123 to each classifier 7.
  • the process of step S202 can be simplified by the amount that the trouble of acquiring data different from the target data 121 is omitted.
  • each classifier 7 is configured to generate highly reproducible data for the characteristics of the corresponding class and less reproducible data for the characteristics of the other classes. Therefore, when the feature of the target class is included in the target data 121, the difference between the generated data 125 generated by the corresponding classifier 7 and the target data 121 (hereinafter, also referred to as a reconstruction error). Is smaller (ie, the degree of agreement is higher).
  • the control unit 11 has a feature of the target class in the target data 121 when the difference between the generated data 125 and the target data 121 generated by the corresponding classifier 7 is smaller than the threshold value. It may be identified as included (ie, the identification of the corresponding classifier 7 holds). On the other hand, if this is not the case, the control unit 11 may identify that the target data 121 does not include the characteristics of the target class (that is, the identification of the corresponding classifier 7 is not established). The threshold may be determined as appropriate.
  • the control unit 11 can try to identify the class of features included in the target data 121 based on the comparison between the generated data 125 and the target data 121 generated by each classifier 7.
  • the control unit 11 can determine whether or not the identification of the corresponding class is established based on the reconstruction error of each data portion. ..
  • the unit of the data portion for calculating the reconstruction error such as a frame unit or a pixel unit, may be appropriately determined according to the embodiment.
  • the processing after step S203 may be the same as that of the above embodiment.
  • each classifier 7 does not have to be limited to such an example as long as the first data 35 to the second data 36 can be generated, and is appropriately used according to the embodiment. May be decided.
  • each classifier 7 may not be separated into an encoder 71 and a decoder 72.
  • each classifier 7 has acquired the ability to reconstruct given data by self-supervised learning.
  • the ability of each discriminator to acquire by self-supervised learning need not be limited to such an example.
  • the ability acquired by each discriminator by self-supervised learning may be, for example, an operation of returning data including the characteristics of the corresponding class and converted according to a predetermined rule before conversion.
  • converting according to a predetermined rule may be to rearrange the temporal order in the time series data.
  • the operation to return before conversion is to return the data in which the order of the time series has been rearranged to the original time series.
  • the conversion according to a predetermined rule may be to rearrange the arrangement of values in the multidimensional data (for example, the arrangement of pixels in the image data).
  • the operation to return before conversion is to return each value of the rearranged data to the original arrangement.
  • converting according to a predetermined rule may result in a loss of part of the data. In this case, the operation to return before conversion is to restore the partially missing data.
  • each rule may be given by the operator's designation, settings in the program, etc. All the rules of operation to be learned by each classifier may be the same, or the rules of operation to be learned by at least one of the classifiers may be different from the rules of operation to be learned by other classifiers. Good. Data including the characteristics of the corresponding class, which has been converted according to a predetermined rule, is used as the first data 35, and the data before conversion is used as the second data 36. Each discriminator can be trained in the ability to perform the operation of returning the data converted according to the rules before the conversion.
  • Each discriminator who has acquired such ability can be used in the same manner as each discriminator 7 described above. That is, the control unit 11 generates input data by converting the target data 121 according to a predetermined rule corresponding to the ability acquired by each classifier. Subsequently, the control unit 11 gives the generated input data to each classifier and executes arithmetic processing of each classifier. As a result, the control unit 11 acquires the output data corresponding to the result of executing the operation of restoring the input data from each classifier. The control unit 11 compares the output data obtained from each classifier with the target data 121.
  • the control unit 11 includes the characteristics of the target class in the target data 121 when the difference between the output data obtained by the corresponding classifier and the target data 121 is smaller than the threshold value. It may be identified as being. On the other hand, if this is not the case, the control unit 11 may identify that the target data 121 does not include the features of the target class.
  • step S204 may be omitted.
  • the granting unit 114 may be omitted from the software configuration of the analysis device 1.
  • each classifier 5 may be generated by a computer other than the model generation device 2.
  • the model generation device 2 may be omitted from the configuration of the analysis system 100.
  • Learning result data 82 ... Generation program, 92 ... Storage medium, 3 ... learning data, 30 ... learning data set, 31 ... Training data, 32 ... Correct answer data, 5 ... Identifyer, 51 ... Input layer, 52 ... Intermediate (hidden) layer, 53 ... Output layer

Abstract

本発明の一側面に係る解析装置は、それぞれ異なるクラスの特徴の存在を識別するように構成された複数の識別器それぞれにより、対象データに含まれる特徴のクラスの識別を試行し、複数の識別器のうちの一の識別器による識別が成立するのに対して残りの識別器による識別が成立しない第一のデータ部分には当該一の識別器により識別される対象のクラスの特徴が含まれていると判定し、一の識別器を含む全ての識別器による識別が成立する第二のデータ部分には対象のクラスの特徴が含まれていないと判定する。

Description

解析装置、解析方法、及び解析プログラム
 本発明は、解析装置、解析方法、及び解析プログラムに関する。
 識別器を利用して、センシングデータから対象者の動作の種別を識別する技術が存在する(例えば、特許文献1)。動作の種別の識別に利用可能な識別器は、例えば、機械学習等の様々な方法で生成することができる。一例として、対象者の動作を観測するセンサからセンシングデータを取得し、取得されたセンシングデータにおいて、対象の種別の動作が現れるデータ部分に当該動作の種別を示すラベルを付与することで、学習データを作成することができる。そして、作成された学習データを機械学習に使用することで、動作の種別を識別する能力を獲得した識別器を生成することができる(例えば、特許文献2)。
特開2013-041323号公報 特開2012-248017号公報 特許第5081999号公報
 本件発明者は、従来の識別方法には、次のような問題点があることを見出した。すなわち、識別に利用するセンシングデータには、異なる種別の動作に関する情報、動作以外の事象に関する情報等、対象の種別の動作に特有の情報以外の情報が含まれ得る。例えば、画像データに含まれる背景情報等、動作に無関係な情報が各種別の動作のデータ部分に含まれることがある。また、異なる種別の動作に共通のしぐさが存在する場合には、この共通のしぐさに関する情報が各種別の動作のデータ部分に含まれることがある。特に、ある動作から別の動作に遷移する期間には、対応するデータ部分に複数の種別の動作に関する情報が含まれることがある。この各動作に特有の情報以外の情報が識別に悪影響を及ぼすことで、識別器の識別精度を低下させる可能性があるという問題点が存在する。一例として、第1種別の動作及び第2種別の動作に共通の特徴が存在すると仮定する。識別器が、この共通の特徴の存在に基づいて第1種別の動作が実行されていると識別するように構成された場合、この共通の特徴の存在に起因して、第1種別の動作を識別する識別器の精度が低下する可能性がある。上記動作の遷移が生じる期間では、得られるセンシングデータに対する識別器の識別精度が低下することに起因して、対象の動作を開始した時刻及び終了した時刻を正確に特定するのは困難である。
 機械学習により識別器を生成する場合、識別器の識別性能の向上を図る方法として、様々な条件で各動作を捉えた学習データを用意する、すなわち、学習データの質を高めることが考えられる。しかしながら、あらゆる条件で各動作を捉えた学習データを用意するにはコストがかかり困難である。また、ある動作から別の動作に遷移するタイミングを一意に決定するのは困難である。例えば、異なるオペレータが作業する、オペレータの判定基準が変化する、センシングデータに表れる動作の特徴が相違する等に起因して、ある動作から別の動作に遷移する期間において、動作の種別を示すラベルの切り替わる時刻が変動し得る。一例として、同一の学習データ内で、一部分では、動作の遷移の比較的早いタイミングでラベルが切り替えられているのに対して、別の部分では、動作の遷移の比較的に遅いタイミングでラベルが切り替えられることが生じ得る。この境界のずれが機械学習に反映されることで、識別器の識別性能の向上が見込めない可能性がある。したがって、学習データの質を高めることで、識別器の識別性能の向上を図るのには限界がある。
 なお、このような問題点は、センシングデータから対象者の動作の種別を識別する場面に特有のものではない。この問題点は、データに含まれる何らかの特徴のクラスを識別する様々な場面で生じ得る。データに含まれる何らかの特徴のクラスを識別する場面は、上記対象者の動作の種別を識別する場面の他、例えば、生産ラインにおける作業の工程を観測することで得られたデータから工程の種別を識別する場面、対象者の状態を観測することで得られたデータから対象者の状態のクラスを識別する場面(例えば、特許文献3)等である。これらの場面でも、従来の識別方法では、対象のクラスの特徴に特有の情報以外の情報が識別に悪影響を及ぼすことで、識別器の識別精度を低下させる可能性がある。
 本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、データに含まれる特徴のクラスを識別する精度の向上を図る技術を提供することである。
 本発明は、上述した課題を解決するために、以下の構成を採用する。
 すなわち、本発明の一側面に係る解析装置は、対象データを取得するデータ取得部と、それぞれ異なるクラスの特徴の存在を識別するように構成された複数の識別器それぞれにより、前記対象データに含まれる特徴のクラスの識別を試行する識別処理部と、前記試行の結果に基づいて、前記対象データ内において、各クラスの前記特徴の含まれるデータ部分を判定する判定部であって、前記複数の識別器のうちの一の識別器による識別が成立するのに対して残りの識別器による識別が成立しない第一のデータ部分には当該一の識別器により識別される対象のクラスの特徴が含まれていると判定し、前記一の識別器を含む全ての識別器による識別が成立する第二のデータ部分には前記対象のクラスの特徴が含まれていないと判定する判定部と、を備える。
 当該構成では、識別対象のクラス毎に識別器が用意される。一の識別器による識別が成立するのに対して残りの識別器による識別が成立しない場合には、対応する対象のクラスの特徴に特有の事象が起きている可能性が高いと推測することができる。そこで、このようなデータ部分には、一の識別器により識別される対象のクラスの特徴が含まれていると判定する。他方、一の識別器を含むすべての識別器による識別が成立する場合には、対応する対象のクラスの特徴に特有ではない、全てのクラスの特徴に共通の事象が起きている可能性が高いと推測することができる。そこで、このようなデータ部分には、一の識別器の識別対象のクラスの特徴が含まれていないと判定する。これにより、各クラスの特徴に共通の事象が起きているに過ぎず、対象のクラスの特徴が真には含まれていないデータ部分に対して、対象のクラスの特徴を含んでいると識別を誤るのを防止することができる。したがって、本実施形態によれば、データに含まれる特徴のクラスを識別する精度の向上を図ることができる。
 上記一側面に係る解析装置は、前記対象のクラスの特徴を含むことを示す情報を前記第一のデータ部分に付与する付与部を更に備えてもよい。当該構成によれば、データに含まれる特徴のクラスを精度よく識別することができるため、この識別結果を示す情報を対象データに付与することで、機械学習に使用可能で質の良い学習データを生成することができる。
 上記一側面に係る解析装置において、前記各識別器は、識別対象のクラスの特徴を含む第1データから、前記識別対象のクラスの特徴を含む、前記対象データと同種の第2データを生成するように構成されてよく、前記識別処理部は、前記各識別器により生成された生成データ及び前記対象データの比較に基づいて、前記対象データに含まれる特徴のクラスの識別を試行してもよい。当該構成によれば、対応するクラスの特徴を含むデータを生成するように構成された識別器を利用する識別処理において、データに含まれる特徴のクラスを識別する精度の向上を図ることができる。なお、第1データは、第2データと同種のデータであってよい。或いは、第1データは、第2データと同じ事象を捉えた、第2データとは異種のデータであってよい。また、第1データ及び第2データが共に時系列データである場合、各識別器は、対象の時刻から未来又は過去の第1データから対象の時刻の第2データを生成してもよい。
 上記一側面に係る解析装置において、前記第1データ及び前記第2データは同種であってよく、前記識別処理部は、前記対象データを前記各識別器に与えることにより、前記生成データを生成してもよい。当該構成によれば、対応するクラスの特徴を含むデータを生成するように構成された識別器を利用する識別処理において、データに含まれる特徴のクラスを識別する処理を簡易化することができる。
 上記一側面に係る解析装置において、前記対象データは、時系列データであってよく、前記判定部は、前記試行の結果に基づいて、前記時系列データ内において、各クラスの前記特徴の含まれる前記データ部分の時間区間を判定してもよい。当該構成によれば、時系列データについて、特徴のクラスを識別する精度の向上を図ることができる。
 上記一側面に係る解析装置において、前記対象データは、複数次元データであってよく、前記判定部は、前記試行の結果に基づいて、前記複数次元データ内において、各クラスの前記特徴の含まれる前記データ部分の範囲を判定してもよい。当該構成によれば、複数次元データについて、特徴のクラスを識別する精度の向上を図ることができる。
 上記一側面に係る解析装置において、前記各識別器は、被験者の異なる種別の動作の実行を前記特徴の存在として識別するように構成されてよく、前記判定部は、前記試行の結果に基づいて、前記対象データ内において、各種別の前記動作の実行が現れる前記データ部分を判定してもよい。当該構成によれば、対象者の動作を解析する場面で、当該動作の種別を識別する精度の向上を図ることができる。
 上記一側面に係る解析装置において、前記各識別器は、生産ラインにおける異なる種別の工程の実行を前記特徴の存在として識別するように構成されてもよく、前記判定部は、前記試行の結果に基づいて、前記対象データ内において、各種別の前記工程の実行が現れる前記データ部分を判定してもよい。当該構成によれば、生産ラインにおける作業の工程を解析する場面で、当該作業の工程の種別を識別する精度の向上を図ることができる。
 上記各形態に係る解析装置の別の態様として、本発明の一側面は、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。
 例えば、本発明の一側面に係る解析方法は、コンピュータが、対象データを取得するステップと、それぞれ異なるクラスの特徴の存在を識別するように構成された複数の識別器それぞれにより、前記対象データに含まれる特徴のクラスの識別を試行するステップと、前記試行の結果に基づいて、前記対象データ内において、各クラスの前記特徴の含まれるデータ部分を判定するステップであって、前記複数の識別器のうちの一の識別器による識別が成立するのに対して残りの識別器による識別が成立しない第一のデータ部分には当該一の識別器により識別される対象のクラスの特徴が含まれていると判定し、前記一の識別器を含む全ての識別器による識別が成立する第二のデータ部分には前記対象のクラスの特徴が含まれていないと判定するステップと、を実行する、情報処理方法である。
 また、例えば、本発明の一側面に係る解析プログラムは、コンピュータに、対象データを取得するステップと、それぞれ異なるクラスの特徴の存在を識別するように構成された複数の識別器それぞれにより、前記対象データに含まれる特徴のクラスの識別を試行するステップと、前記試行の結果に基づいて、前記対象データ内において、各クラスの前記特徴の含まれるデータ部分を判定するステップであって、前記複数の識別器のうちの一の識別器による識別が成立するのに対して残りの識別器による識別が成立しない第一のデータ部分には当該一の識別器により識別される対象のクラスの特徴が含まれていると判定し、前記一の識別器を含む全ての識別器による識別が成立する第二のデータ部分には前記対象のクラスの特徴が含まれていないと判定するステップと、を実行させるための、プログラムである。
 本発明によれば、データに含まれる特徴のクラスを識別する精度の向上を図ることができる。
図1は、本発明が適用される場面の一例を模式的に例示する。 図2は、実施の形態に係る解析装置のハードウェア構成の一例を模式的に例示する。 図3は、実施の形態に係るモデル生成装置のハードウェア構成の一例を模式的に例示する。 図4は、実施の形態に係る解析装置のソフトウェア構成の一例を模式的に例示する。 図5は、実施の形態に係るモデル生成装置のソフトウェア構成の一例を模式的に例示する。 図6は、実施の形態に係るモデル生成装置の処理手順の一例を例示する。 図7は、実施の形態に係る解析装置の処理手順の一例を例示する。 図8は、実施の形態に係るクラス識別の判定基準の一例を模式的に例示する。 図9Aは、時系列データに対して特徴のクラス識別を実行した結果の一例を模式的に例示する。 図9Bは、複数次元データに対して特徴のクラス識別を実行した結果の一例を模式的に例示する。 図10は、本発明が適用される他の場面の一例を模式的に例示する。 図11は、本発明が適用される他の場面の一例を模式的に例示する。 図12は、本発明が適用される他の場面の一例を模式的に例示する。 図13は、他の形態に係る識別器の訓練場面の一例を模式的に例示する。 図14は、他の形態に係る識別器の利用場面の一例を模式的に例示する。
 以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良及び変形の少なくともいずれかを行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
 §1 適用例
 図1は、本発明を適用した場面の一例を模式的に例示する。図1に示されるとおり、本実施形態に係る解析システム100は、解析装置1及びモデル生成装置2を備えている。
 本実施形態に係る解析装置1は、取得される対象データ121に含まれる特徴のクラスを識別するように構成されたコンピュータである。まず、本実施形態に係る解析装置1は、対象データ121を取得する。対象データ121の種類は、特に限定されなくよく、実施の形態に応じて適宜選択されてよい。対象データ121は、例えば、画像データ、音データ、数値データ、テキストデータ、その他各種センサにより得られる測定データ等であってよい。以下、センサにより得られる測定データを「センシングデータ」とも称する。対象データ121は、例えば、何らかの対象をセンサにより観測することで得られるセンシングデータであってもよい。センサは、例えば、画像センサ(カメラ)、赤外線センサ、音センサ(マイクロフォン)、超音波センサ、圧力センサ、加速度センサ、環境センサ、バイタルセンサ、医療検査装置、車載センサ等であってよい。カメラは、例えば、一般的なRGBカメラ、深度カメラ、赤外線カメラ等であってよい。環境センサは、例えば、気圧計、温度計、湿度計、音圧計、音センサ、紫外線センサ、照度計、雨量計、ガスセンサ等であってよい。バイタルセンサは、例えば、血圧計、脈拍計、心拍計、心電計、筋電計、体温計、皮膚電気反応計、マイクロ波センサ、脳波計、脳磁計、活動量計、血糖値測定器、眼電位センサ、眼球運動計測器等であってよい。医療検査装置は、例えば、CT(Computed Tomography)装置、MRI(Magnetic Resonance Imaging)装置等であってよい。車載センサは、例えば、画像センサ、Lidar(light detection and ranging)センサ、ミリ波レーダ、超音波センサ、加速度センサ等であってよい。
 次に、本実施形態に係る解析装置1は、それぞれ異なるクラスの特徴の存在を識別するように構成された複数の識別器5それぞれにより、対象データ121に含まれる特徴のクラスの識別を試行する。特徴は、データに現れる何らかの事象に関するものであれば、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。特徴は、例えば、対象者の実行する動作、生産ラインにおける作業の工程、対象者の状態等に関するものであってよい。識別対象の特徴は、現在の事象に限られず、未来又は過去の事象に関するものであってもよい。また、クラスは、特徴に応じて適宜設定されてよい。クラスは、例えば、「カテゴリ」等と読み替えられてよい。設定されるクラスの数及び識別器の数はそれぞれ、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。後述するとおり、本実施形態では、各識別器5には、訓練済みのニューラルネットワークが用いられる。
 そして、本実施形態に係る解析装置1は、試行の結果に基づいて、対象データ121内において、各クラスの特徴の含まれるデータ部分を判定する。本実施形態に係る解析装置1は、複数の識別器5のうちの一の識別器による識別が成立するのに対して残りの識別器による識別が成立しない第一のデータ部分には当該一の識別器により識別される対象のクラスの特徴が含まれていると判定する。他方、本実施形態に係る解析装置1は、一の識別器を含む全ての識別器5による識別が成立する第二のデータ部分には当該対象のクラスの特徴が含まれていないと判定する。これにより、対象データ121の各部分に含まれる特徴のクラスを識別することができる。
 一方、本実施形態に係るモデル生成装置2は、機械学習を実施することで、解析装置1で利用可能な各識別器5を生成するように構成されたコンピュータである。本実施形態に係るモデル生成装置2は、学習データ3を取得する。学習データ3の構成は、各識別器5に採用するモデルの種類に応じて適宜決定されてよい。本実施形態では、学習データ3は、複数の学習データセット30により構成される。複数の学習データセット30は、識別器の機械学習に使用される学習データの一例である。各学習データセット30は、訓練データ31及び正解データ32の組み合わせにより構成される。訓練データ31は、対象データ121と同種のデータのサンプルである。正解データ32は、訓練データ31に対する特徴の識別タスクの正解を示す。正解データ32は、「教師信号」、「ラベル」等と称されてもよい。学習データ3は、識別器5毎に別々に取得されてもよい。
 本実施形態に係るモデル生成装置2は、取得された学習データ3を使用して、識別器5毎に機械学習を実施する。本実施形態では、モデル生成装置2は、各学習データセット30について、訓練データ31に対して対象の識別器5により対応するクラスの特徴が存在するか否かを判定した結果が正解データ32に適合するように対象の識別器5を訓練する。これにより、対応するクラスの特徴の存在を識別する能力を獲得した訓練済みの各識別器5を生成することができる。なお、「訓練済み」は、「機械学習済み」、単に「学習済み」等と称されてもよい。また、モデル生成装置2は、単に「生成装置」、「学習装置」等と称されてもよい。
 以上のとおり、本実施形態では、識別対象のクラス毎に識別器5が用意される。複数の識別器5のうちの一の識別器による識別が成立するのに対して残りの識別器による識別が成立しない第一のデータ部分には、一の識別器は知っているが、残りの識別器は知らないクラスの特徴が含まれていると推測することができる。つまり、この第一のデータ部分には、一の識別器が識別を担当する対象のクラスの特徴に特有の事象が現れている可能性が高いと推測することができる。そこで、本実施形態に係る解析装置1は、第一のデータ部分には、当該一の識別器により識別される対象のクラスの特徴が含まれていると判定する。他方、一の識別器を含む全ての識別器5による識別が成立する第二のデータ部分には、全ての識別器5が知っている退屈な特徴が含まれていると推測することができる。つまり、この第二のデータ部分には、一の識別器の担当する対象のクラスの特徴に特有ではない、全てのクラスの特徴に共通の事象が起きている可能性が高いと推測することができる。そこで、本実施形態に係る解析装置1は、第二のデータ部分には、一の識別器の識別対象のクラスの特徴が含まれていないと判定する。これにより、各クラスの特徴に共通の事象が起きているに過ぎず、対象のクラスの特徴が真には含まれていないデータ部分に対して、対象のクラスの特徴を含んでいると識別を誤るのを防止することができる。したがって、本実施形態によれば、データに含まれる特徴のクラスを識別する精度の向上を図ることができる。
 なお、図1の例では、解析装置1及びモデル生成装置2は、ネットワークを介して互いに接続されている。ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。ただし、解析装置1及びモデル生成装置2の間でデータをやりとりする方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、解析装置1及びモデル生成装置2の間では、記憶媒体を利用して、データがやりとりされてよい。
 また、図1の例では、解析装置1及びモデル生成装置2は、それぞれ別個のコンピュータにより構成されている。しかしながら、本実施形態に係る解析システム100の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。たとえば、解析装置1及びモデル生成装置2は一体のコンピュータであってもよい。また、例えば、解析装置1及びモデル生成装置2のうちの少なくとも一方は、複数台のコンピュータにより構成されてもよい。
 §2 構成例
 [ハードウェア構成]
 <解析装置>
 図2は、本実施形態に係る解析装置1のハードウェア構成の一例を模式的に例示する。図2に示されるとおり、本実施形態に係る解析装置1は、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。なお、図2では、通信インタフェース及び外部インタフェースを「通信I/F」及び「外部I/F」と記載している。
 制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部12は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部12は、解析プログラム81、複数件の学習結果データ225等の各種情報を記憶する。
 解析プログラム81は、データに含まれる特徴のクラスを識別する後述の情報処理(図7)を解析装置1に実行させるためのプログラムである。解析プログラム81は、当該情報処理の一連の命令を含む。各件の学習結果データ225は、機械学習により生成された、対応する訓練済みの識別器5に関する情報を示す。
 通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。解析装置1は、通信インタフェース13を利用して、他の情報処理装置との間で、ネットワークを介したデータ通信を実行してもよい。外部インタフェース14は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース14の種類及び数は任意に選択されてよい。対象データ121をセンサにより取得する場合、解析装置1は、通信インタフェース13及び外部インタフェース14の少なくとも一方を介して、対象のセンサに接続されてよい。
 入力装置15は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置16は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。ユーザ等のオペレータは、入力装置15及び出力装置16を利用することで、解析装置1を操作することができる。
 ドライブ17は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラム等の各種情報を読み込むためのドライブ装置である。記憶媒体91は、コンピュータその他装置、機械等が、記憶されたプログラム等の各種情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。上記解析プログラム81及び学習結果データ225の少なくともいずれかは、記憶媒体91に記憶されていてもよい。解析装置1は、この記憶媒体91から、上記解析プログラム81及び学習結果データ225の少なくともいずれかを取得してもよい。なお、図2では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限られなくてもよく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。ドライブ17の種類は、記憶媒体91の種類に応じて任意に選択されてよい。
 なお、解析装置1の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)、DSP(digital signal processor)等で構成されてよい。記憶部12は、制御部11に含まれるRAM及びROMにより構成されてもよい。通信インタフェース13、外部インタフェース14、入力装置15、出力装置16及びドライブ17の少なくともいずれかは省略されてもよい。解析装置1は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、解析装置1は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、PC(Personal Computer)、PLC(programmable logic controller)等であってもよい。
 <モデル生成装置>
 図3は、本実施形態に係るモデル生成装置2のハードウェア構成の一例を模式的に例示する。図3に示されるとおり、本実施形態に係るモデル生成装置2は、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータである。
 モデル生成装置2の制御部21~ドライブ27及び記憶媒体92はそれぞれ、上記解析装置1の制御部11~ドライブ17及び記憶媒体91それぞれと同様に構成されてよい。制御部21は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部22は、生成プログラム82、学習データ3、複数件の学習結果データ225等の各種情報を記憶する。
 生成プログラム82は、機械学習を実施することで、訓練済みの識別器5を生成する後述の情報処理(図6)をモデル生成装置2に実行させるためのプログラムである。生成プログラム82は、この情報処理の一連の命令を含む。生成プログラム82は、「モデル生成プログラム」、「学習プログラム」等と称されてもよい。学習データ3は、識別器5の機械学習に使用される。各件の学習結果データ225は、対応する識別器5について生成プログラム82を実行した結果として生成される。生成プログラム82及び学習データ3のうちの少なくともいずれかは、記憶媒体92に記憶されていてもよい。また、モデル生成装置2は、記憶媒体92から、生成プログラム82及び学習データ3のうちの少なくともいずれかを取得してもよい。
 なお、モデル生成装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27の少なくともいずれかは省略されてもよい。モデル生成装置2は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、モデル生成装置2は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC等であってもよい。
 [ソフトウェア構成]
 <解析装置>
 図4は、本実施形態に係る解析装置1のソフトウェア構成の一例を模式的に例示する。解析装置1の制御部11は、記憶部12に記憶された解析プログラム81をRAMに展開する。そして、制御部11は、CPUにより、RAMに展開された解析プログラム81に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図4に示されるとおり、本実施形態に係る解析装置1は、データ取得部111、識別処理部112、判定部113、付与部114、及び出力部115をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、解析装置1の各ソフトウェアモジュールは、制御部11(CPU)により実現される。
 データ取得部111は、識別タスクの実行対象となる対象データ121を取得する。識別処理部112は、複数件の学習結果データ225を保持していることで、それぞれ異なるクラスの特徴の存在を識別するように構成された複数の識別器5を備えている。識別処理部112は、複数の識別器5それぞれにより、取得された対象データ121に含まれる特徴のクラスの識別を試行する。
 判定部113は、試行の結果に基づいて、対象データ121内において、各クラスの特徴の含まれるデータ部分を判定する。判定部113は、複数の識別器5のうちの一の識別器による識別が成立するのに対して残りの識別器による識別が成立しない第一のデータ部分には当該一の識別器により識別される対象のクラスの特徴が含まれていると判定する。他方、判定部113は、一の識別器を含む全ての識別器5による識別が成立する第二のデータ部分には当該対象のクラスの特徴が含まれていないと判定する。
 付与部114は、判定結果を示す情報(以下、「ラベル」とも称する)を対象データ121に付与する。当該付与する処理は、対象のクラスの特徴を含むことを示す情報(以下、「ラベル」とも称する)を第一のデータ部分に付与することを含む。出力部115は、特徴のクラスを識別した結果に関する情報を出力する。
 <モデル生成装置>
 図5は、本実施形態に係るモデル生成装置2のソフトウェア構成の一例を模式的に例示する。モデル生成装置2の制御部21は、記憶部22に記憶された生成プログラム82をRAMに展開する。そして、制御部21は、CPUにより、RAMに展開された生成プログラム82に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図5に示されるとおり、本実施形態に係るモデル生成装置2は、学習データ取得部211、学習処理部212、及び保存処理部213をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、モデル生成装置2の各ソフトウェアモジュールは、上記解析装置1と同様に、制御部21(CPU)により実現される。
 学習データ取得部211は、学習データ3を取得する。学習処理部212は、学習データ3を使用して、識別器5毎に機械学習を実施する。本実施形態では、取得される学習データ3は、複数の学習データセット30により構成される。各学習データセット30は、訓練データ31及び正解データ32の組み合わせにより構成される。学習処理部212は、各学習データセット30について、訓練データ31に対して対象の識別器5により対応するクラスの特徴が存在するか否かを判定した結果が正解データ32に適合するように対象の識別器5を訓練する。
 保存処理部213は、機械学習により構築された訓練済みの識別器5に関する情報を学習結果データ225として生成する。そして、保存処理部213は、生成された学習結果データ225を所定の記憶領域に保存する。所定の記憶領域は、実施の形態に応じて適宜選択されてよい。
 (識別器の構成)
 各識別器5には、機械学習を実施可能な任意のモデルが利用されてよい。図5に例示されるとおり、本実施形態では、各識別器5は、多層構造の全結合型ニューラルネットワークにより構成される。各識別器5は、入力層51、中間(隠れ)層52、及び出力層53を備えている。
 ただし、各識別器5の構造は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、中間層52の数は、1つに限定されなくてもよく、2つ以上であってもよい。或いは、中間層52は省略されてもよい。各識別器5のニューラルネットワークを構成する層の数は任意に選択されてよい。複数の識別器5の少なくともいずれかの組み合わせについて、少なくとも部分的に構造が一致してもよいし、或いは一致していなくてもよい。
 各層51~53は1又は複数のニューロン(ノード)を備えている。各層51~53に含まれるニューロン(ノード)の数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。入力層51に含まれるニューロンの数は、入力されるデータ及びその形式に応じて適宜決定されてよい。出力層53に含まれるニューロンの数は、識別結果等の出力されるデータ及びその形式に応じて決定されてよい。隣接する層のニューロン同士は適宜結合される。図5の例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、各ニューロンの結合関係は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。
 各結合には、重み(結合荷重)が設定されている。各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。閾値は、活性化関数により表現されてもよい。この場合、各入力と各重みとの積の和を活性化関数に入力し、活性化関数の演算を実行することで、各ニューロンの出力が決定される。活性化関数の種類は任意に選択されてよい。各層51~53に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、各識別器5の演算処理に利用される演算パラメータの一例である。各識別器5の演算パラメータの値は、上記機械学習により、対象のクラスの識別に適合した出力が得られるように調節される。
 学習処理部212は、各学習データセット30について、識別器5の入力層51に訓練データ31を入力し、訓練データ31に対して対応するクラスの特徴が存在するか否かを識別した結果に対応する出力値を出力層53から取得する。識別器5の機械学習において、学習処理部212は、取得される出力値と正解データ32の示す正解との間の誤差が小さくなるように、識別器5の演算パラメータの値を調節する。これにより、学習データ3について、対応するクラスの特徴の存在を識別する能力を獲得した訓練済みの識別器5を生成することができる。
 なお、識別器5の入力及び出力のデータ形式は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。識別器5の入力層51は、そのままの対象データ122の入力を受け付けるように構成されてもよいし、或いは任意の前処理が適用された対象データ121の入力を受け付けるように構成されてもよい。また、識別器5の出力層53は、例えば、対応するクラスに属する程度を回帰するように構成されてよい。この場合、出力層53の出力は、0から1までの範囲となるように正規化されることで、対応するクラスに属する確率を示すように構成されてよい。
 保存処理部213は、機械学習により生成された訓練済みの識別器5を再生するための学習結果データ225を生成する。訓練済みの識別器5を再生可能であれば、学習結果データ225の構成は任意であってよい。例えば、保存処理部213は、生成された訓練済みの識別器5の演算パラメータの値を示す情報を学習結果データ225として生成する。場合によって、学習結果データ225には、訓練済みの識別器5の構造を示す情報が更に含まれてもよい。構造は、例えば、ニューラルネットワークにおける入力層から出力層までの層の数、各層の種類、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等により特定されてよい。保存処理部213は、生成された学習結果データ225を所定の記憶領域に保存する。
 <その他>
 解析装置1及びモデル生成装置2の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、解析装置1及びモデル生成装置2の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、解析装置1及びモデル生成装置2それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
 §3 動作例
 [モデル生成装置]
 図6は、本実施形態に係るモデル生成装置2による識別器5の機械学習に関する処理手順の一例を示すフローチャートである。以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 (ステップS101)
 ステップS101では、制御部21は、学習データ取得部211として動作して、学習データ3を取得する。本実施形態では、学習データ3は、複数の学習データセット30により構成される。
 各学習データセット30は適宜生成されてよい。例えば、実空間又は仮想空間において、特徴のクラスを識別するタスクを実行する場面を想定して、識別タスクの実行対象となる対象データ121と同種のデータのサンプルを訓練データ31として取得する。サンプルを取得する方法は、実施の形態に応じて適宜選択されてよい。識別タスクの実行対象となるデータがセンシングデータである場合、様々な条件でセンサにより対象を観測することで、訓練データ31を取得することができる。観測の対象は、クラスを識別する特徴に応じて選択されてよい。そして、取得された訓練データ31に含まれる特徴のクラスを識別した結果(正解)を示す情報を正解データ32として訓練データ31に関連付ける。訓練データ31に含まれる特徴のクラスを識別する方法は任意に選択されてよい。例えば、オペレータにより、訓練データ31に含まれる特徴のクラスが手動的に識別されてよい。或いは、任意の識別器により、訓練データ31に含まれる特徴のクラスが自動的に識別されてよい。また、正解データ32の構成は、複数の識別器5の少なくともいずれかの機械学習に使用可能に識別タスクの正解を特定可能であれば、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。例えば、正解データ32は、訓練データ31の各部分に対象のクラスの特徴が存在するか否かを示す情報により構成されてよい。或いは、正解データ32は、訓練データ31の各部分に含まれる特徴のクラスを示す情報により構成されてよい。
 各学習データセット30は、コンピュータの動作により自動的に生成されてもよいし、少なくとも部分的にオペレータの操作を含むことで手動的に生成されてもよい。また、各学習データセット30の生成は、モデル生成装置2により行われてもよいし、モデル生成装置2以外の他のコンピュータにより行われてもよい。学習データセット30をモデル生成装置2が生成する場合、制御部21は、自動的に又は入力装置15を介したオペレータの操作により手動的に上記生成処理を実行することで、複数の学習データセット30を取得する。一方、各学習データセット30を他のコンピュータが生成する場合、制御部21は、例えば、ネットワーク、記憶媒体92等を介して、他のコンピュータにより生成された複数の学習データセット30を取得する。一部の学習データセット30がモデル生成装置2により生成され、その他の学習データセット30が1又は複数の他のコンピュータにより生成されてもよい。
 取得する学習データセット30の件数は任意に選択されてよい。学習データ3は、識別器5毎に別々に取得されてもよい。複数の識別器5の少なくともいずれかの組み合わせについて、取得される学習データ3の少なくとも一部が異なっていてもよい。学習データ3を取得すると、制御部21は、次のステップS102に処理を進める。
 (ステップS102)
 ステップS102では、制御部21は、学習処理部212として動作し、取得された学習データ3を使用して、識別器5毎に機械学習を実施する。この機械学習により、制御部21は、それぞれ異なるクラスの特徴の存在を識別するように訓練された複数の識別器5を生成する。
 具体的に、まず、制御部21は、機械学習の処理対象となる識別器5を構成するニューラルネットワークを用意する。ニューラルネットワークの構造(例えば、層の数、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等)、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部21は、過去の機械学習により得られた学習結果データに基づいて、対象の識別器5を用意してもよい。
 次に、制御部21は、各学習データセット30について、訓練データ31に対して対象の識別器5により対応するクラスの特徴が存在するか否かを識別した結果が正解データ32に適合するように対象の識別器5を訓練する。この訓練処理には、確率的勾配降下法、ミニバッチ勾配降下法等が用いられてよい。
 例えば、制御部21は、訓練データ31を対象の識別器5に与えて、対象の識別器5の演算処理を実行する。すなわち、制御部21は、対象の識別器5の入力層51に訓練データ31を入力し、入力側から順に各層51~53に含まれる各ニューロンの発火判定を行う(すなわち、順伝播の演算を行う)。この演算処理により、制御部21は、訓練データ31に対して対応するクラスの特徴が存在するか否かを識別した結果に対応する出力値を出力層53から取得する。
 次に、制御部21は、出力層53から得られる出力値と正解データ32により示される正解との誤差を算出する。誤差(損失)の算出には、損失関数が用いられてよい。損失関数は、機械学習モデルの出力と正解との差分(すなわち、相違の程度)を評価する関数であり、出力層53から得られる出力値と正解との差分値が大きいほど、損失関数により算出される誤差の値は大きくなる。誤差の計算に利用する損失関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
 制御部21は、誤差逆伝播(Back propagation)法により、算出された出力値の誤差の勾配を用いて、対象の識別器5の各演算パラメータ(各ニューロン間の結合の重み、各ニューロンの閾値等)の値の誤差を算出する。制御部21は、算出された各誤差に基づいて、対象の識別器5の各演算パラメータの値を更新する。各演算パラメータの値を更新する程度は、学習率により調節されてよい。学習率は、オペレータの指定により与えられてもよいし、プログラム内の設定値として与えられてもよい。
 制御部21は、上記一連の更新処理により、各学習データセット30について、算出される誤差の和が小さくなるように、対象の識別器5の各演算パラメータの値を調節する。例えば、規定回数実行する、算出される誤差の和が閾値以下になる等の所定の条件を満たすまで、制御部21は、上記一連の処理による対象の識別器5の各演算パラメータの値の調節を繰り返してもよい。この調節処理の結果、制御部21は、学習データ3について、対応するクラスの特徴の存在を識別する能力を獲得した訓練済みの識別器5を生成することができる。
 制御部21は、それぞれの担当するクラスの特徴の存在を識別する能力を獲得するように識別器5毎に上記訓練処理を実行する。これにより、制御部21は、それぞれ異なるクラスの特徴の存在を識別するように訓練された複数の識別器5を生成することができる。各識別器5の機械学習が完了すると、制御部21は、次のステップS103に処理を進める。
 (ステップS103)
 ステップS103では、制御部21は、保存処理部213として動作し、機械学習により生成された訓練済みの各識別器5に関する情報を学習結果データ225として生成する。そして、制御部21は、生成された各件の学習結果データ225を所定の記憶領域に保存する。
 所定の記憶領域は、例えば、制御部21内のRAM、記憶部22、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。記憶メディアは、例えば、CD、DVD等であってよく、制御部21は、ドライブ27を介して記憶メディアに各件の学習結果データ225を格納してもよい。外部記憶装置は、例えば、NAS(Network Attached Storage)等のデータサーバであってよい。この場合、制御部21は、通信インタフェース23を利用して、ネットワークを介してデータサーバに各件の学習結果データ225を格納してもよい。また、外部記憶装置は、例えば、外部インタフェース24を介してモデル生成装置2に接続された外付けの記憶装置であってもよい。
 各件の学習結果データ225の保存が完了すると、制御部21は、本動作例に係る処理手順を終了する。
 なお、生成された学習結果データ225は、任意のタイミングで解析装置1に提供されてよい。例えば、制御部21は、ステップS103の処理として又はステップS103の処理とは別に、学習結果データ225を解析装置1に転送してもよい。解析装置1は、この転送を受信することで、学習結果データ225を取得してもよい。また、例えば、解析装置1は、通信インタフェース13を利用して、モデル生成装置2又はデータサーバにネットワークを介してアクセスすることで、学習結果データ225を取得してもよい。また、例えば、解析装置1は、記憶媒体91を介して、学習結果データ225を取得してもよい。また、例えば、学習結果データ225は、解析装置1に予め組み込まれてもよい。
 更に、制御部21は、上記ステップS101~ステップS103の処理を定期又は不定期に繰り返すことで、学習結果データ225を更新又は新たに生成してもよい。この繰り返しの際には、学習データ3の少なくとも一部の変更、修正、追加、削除等が適宜実行されてよい。そして、制御部21は、更新した又は新たに生成した学習結果データ225を任意の方法で解析装置1に提供することで、解析装置1の保持する学習結果データ225を更新してもよい。
 [解析装置]
 図7は、本実施形態に係る解析装置1の処理手順の一例を示すフローチャートである。以下で説明する処理手順は、解析方法の一例である。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 (ステップS201)
 ステップS201では、制御部11は、データ取得部111として動作し、対象データ121を取得する。対象データ121は、識別タスクの実行対象となる所定種類のデータのサンプルである。対象データ121を取得する方法は、データの種類に応じて適宜選択されてよい。対象データ121がセンシングデータである場合には、制御部11は、クラスを識別する特徴に関する事象が生じ得る対象をセンサにより観測することで、対象データ121を取得することができる。対象データ121を取得すると、制御部11は、次のステップS202に処理を進める。
 (ステップS202)
 ステップS202では、制御部11は、識別処理部112として動作し、学習結果データ225を参照して、それぞれ異なるクラスの特徴の存在を識別するように構成された複数の訓練済みの識別器5の設定を行う。続いて、制御部11は、取得された対象データ121を各識別器5の入力層51に入力し、各識別器5の順伝播の演算処理を実行する。この演算処理の結果、制御部11は、対象データ121に対して対応するクラスの特徴が存在するか否かを識別した結果に対応する出力値を各識別器5の出力層53から取得することができる。これにより、制御部11は、各識別器5により、取得された対象データ121に含まれる特徴のクラスの識別を試行する。
 (ステップS203)
 ステップS203では、制御部11は、判定部113として動作し、試行の結果に基づいて、対象データ121内において、各クラスの特徴の含まれるデータ部分を判定する。制御部11は、複数の識別器5のうちの一の識別器による識別が成立するのに対して残りの識別器による識別が成立しない第一のデータ部分には当該一の識別器により識別される対象のクラスの特徴が含まれていると判定する。他方、制御部11は、一の識別器を含む全ての識別器5による識別が成立する第二のデータ部分には当該対象のクラスの特徴が含まれていないと判定する。
 図8は、本実施形態に係る各識別器5により特徴のクラスを識別するための判定基準の一例を例示する。図8の例では、複数の識別器5として3つの識別器5a~5cの使用を想定する。以下、説明の便宜のため、第1識別器5a、第2識別器5b、及び第3識別器5cとそれぞれを称する。各識別器5a~5cにより識別されるクラスそれぞれを第1クラス、第2クラス及び第3クラスと称する。範囲61は、第1識別器5aにより、第1クラスの特徴が存在すると識別されるデータの集合を示す。同様に、範囲62は、第2識別器5bにより、第2クラスの特徴が存在すると識別されるデータの集合を示す。範囲63は、第3識別器5cにより、第3クラスの特徴が存在すると識別されるデータの集合を示す。
 本実施形態では、制御部11は、第1識別器5aによる識別が成立するのに対して残りの識別器(5b、5c)による識別が成立しない、範囲610に属するデータ部分には第1クラスの特徴が含まれていると判定する。同様に、制御部11は、第2識別器5bによる識別が成立するのに対して残りの識別器(5a、5c)による識別が成立しない、範囲620に属するデータ部分には第2クラスの特徴が含まれていると判定する。制御部11は、第3識別器5cによる識別が成立するのに対して残りの識別器(5a、5b)による識別が成立しない、範囲630に属するデータ部分には第3クラスの特徴が含まれていると判定する。各範囲(610、620、630)に属するデータ部分が、第一のデータ部分の一例である。
 これに対して、制御部11は、全ての識別器5a~5cによる識別が成立する、範囲600に属するデータ部分には第1クラス~第3クラスの特徴が含まれていないと判定する。範囲600に属するデータ部分が、第二のデータ部分の一例である。この範囲600に属するデータ部分の取扱いは、実施の形態に応じて適宜決定されてよい。例えば、制御部11は、範囲600に属するデータ部分には、第1クラス~第3クラスの特徴に共通の事象が現れていると判定してもよい。
 また、識別器5の数が3つ以上である場合、複数の識別器5のうち2つ以上の識別器による識別が成立するのに対して残りの1つ以上の識別器による識別が成立しないデータ部分が生じ得る。図8の例では、各範囲(640、650、660)に属するデータ部分がこれに該当する。このデータ部分の取扱いについても、実施の形態に応じて適宜決定されてよい。例えば、制御部11は、このデータ部分には、識別の成立するクラスの特徴の間の過渡的な事象が現れていると判定してもよい。一例として、制御部11は、範囲640に属するデータ部分には、第1クラスの特徴及び第2クラスの特徴の間の過渡的な事象が現れていると判定してもよい。
 識別の判定の単位となるデータ部分は、対象データ121の一部又は全部であってよい。データ部分は、対象データ121の種類に応じて適宜決定されてよい。対象データ121は、例えば、時系列データ、複数次元データ等の複数の要素を含んでよい。時系列データは、時系列に沿って配列された複数の要素を含む。1時刻あたりの要素の数は任意でよい。時系列データは、例えば、動画像データ等の時系列に得られたセンシングデータであってよい。複数次元データは、1時刻あたりに複数の要素を含む。複数次元データは、例えば、動画像データ、静止画像データ等であってよい。複数次元データは、複数の異なるセンサにより時間を同期して同一の対象を観測することにより得られてもよい。この場合、各センサの種類は異なっていてもよい。また、複数次元データは、同一の内容を異なる表現(例えば、異なる言い回し、異なる方言、異なる言語(言語は、例えば、自然言語、プログラミング言語等)等)したテキストデータにより構成されてよい。この場合、各表現を各次元として取り扱ってよい。複数次元データは、例えば、「多次元データ」等と読み替えられてよい。
 図9Aは、対象データ121が時系列データである場合に、対象データ121に対して特徴のクラス識別を実行した結果の一例を模式的に例示する。対象データ121が時系列データである場合、制御部11は、上記識別の試行の結果に基づいて、時系列データ内において、各クラスの特徴の含まれるデータ部分の時間区間を判定してもよい。図9Aの例では、制御部11は、第1識別器5aによる識別が成立するのに対して残りの識別器(5b、5c)による識別が成立しない時間区間1211のデータ部分には、第1クラスの特徴が含まれていると判定する。一方、制御部11は、第1識別器5aを含む全ての識別器5a~5cによる識別が成立する時間区間1212のデータ部分には、第1クラスの特徴が含まれていないと判定する。
 この場合、制御部11は、対象データ121に対する各識別器5a~5cの判定結果が外側から各範囲(610、620、630)に入った時点を、各クラスの特徴の出現の開始時点と判定することができる。一方、対象データ121に対する各識別器5a~5cの判定結果が各範囲(610、620、630)から外側に出た時点を、各クラスの特徴の出現の終了時点と判定することができる。
 図9Bは、対象データ121が複数次元データである場合に、対象データ121に対して特徴のクラス識別を実行した結果の一例を模式的に例示する。対象データ121が複数次元データである場合、制御部11は、上記識別の試行の結果に基づいて、複数次元データ内において、各クラスの特徴の含まれるデータ部分の範囲を判定してもよい。図9Bの例では、制御部11は、第1識別器5aによる識別が成立するのに対して残りの識別器(5b、5c)による識別が成立しない範囲1215のデータ部分には、第1クラスの特徴が含まれていると判定する。一方、制御部11は、第1識別器5aを含む全ての識別器5a~5cによる識別が成立する範囲1216のデータ部分には、第1クラスの特徴が含まれていないと判定する。
 以上により、制御部11は、識別の試行の結果に基づいて、対象データ121内において、各クラスの特徴の含まれるデータ部分を判定することができる。当該判定処理が完了すると、制御部11は、次のステップS204に処理を進める。
 (ステップS204)
 ステップS204では、制御部11は、付与部114として動作し、判定結果を示すラベルを対象データ121に付与する。制御部11は、対象のクラスの特徴を含むことを示すラベルを第一のデータ部分に付与する。上記図8の例では、制御部11は、各範囲(610、620、630)に属するデータ部分に、各クラスの特徴を含むことを示すラベルを付与する。
 他のデータ部分に対するラベルの付与は任意でよい。例えば、他のデータ部分に対するラベルの付与は省略されてよい。或いは、制御部11は、全ての識別器5による識別が成立するデータ部分(上記図8の例では、範囲600に属するデータ部分)に、全てのクラスの特徴に共通の事象が現れていることを示すラベルを付与してもよい。また、制御部11は、複数の識別器5のうち2つ以上の識別器による識別が成立するのに対して残りの1つ以上の識別器による識別が成立しないデータ部分(上記図8の例では、各範囲(640、650、660)に属するデータ部分)に、各クラスの特徴の間の過渡的な事象が現れていることを示すラベルを付与してもよい。
 これにより、ラベル付きの対象データ121を生成すると、制御部11は、次のステップS205に処理を進める。
 (ステップS205)
 ステップS205では、制御部11は、出力部115として動作し、対象データ121に含まれる特徴のクラスを識別した結果に関する情報を出力する。
 出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部11は、ステップS202及びステップS203により対象データ121に含まれる特徴のクラスを識別した結果をそのまま出力装置16に出力してもよい。各識別器5が対応するクラスに属する確率を出力するように構成されている場合、制御部11は、各識別器5から得られた各クラスに属する確率の値をこの識別結果として出力装置16に出力してもよい。また、例えば、制御部11は、特徴のクラスを識別した結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部11は、その情報処理を実行した結果を、クラス識別の結果に関する情報として出力してもよい。この情報処理を実行した結果の出力には、識別結果に応じて特定のメッセージを出力すること、識別結果に応じて制御対象装置の動作を制御すること等が含まれてよい。出力先は、例えば、出力装置16、他のコンピュータの出力装置、制御対象装置等であってよい。また、例えば、制御部11は、ステップS205の出力処理として、ステップS204により生成されたラベル付きの対象データ121を所定の記憶領域に保存してもよい。所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。
 クラス識別の結果に関する情報の出力が完了すると、制御部11は、本動作例に係る処理手順を終了する。なお、所定期間の間、制御部11は、ステップS201~ステップS205の一連の情報処理を継続的に繰り返し実行してもよい。繰り返すタイミングは、任意であってよい。これにより、解析装置1は、対象データ121に対する特徴の識別タスクを継続的に実行してもよい。
 [特徴]
 以上のとおり、本実施形態では、上記ステップS101~ステップS103の処理により、識別対象のクラス毎に訓練済みの識別器5が生成される。上記ステップS203において、複数の識別器5のうちの一の識別器による識別が成立するのに対して残りの識別器による識別が成立しない第一のデータ部分は、当該一の識別器により識別される対象のクラスの特徴が含まれていると判定される。一方、一の識別器を含む全ての識別器5による識別が成立する第二のデータ部分は、一の識別器の識別対象のクラスの特徴が含まれていないと判定される。この識別処理により、上記のとおり、各クラスの特徴に共通の事象が起きているに過ぎず、対象のクラスの特徴が真には含まれていないデータ部分に対して、対象のクラスの特徴を含んでいると識別を誤るのを防止することができる。したがって、本実施形態によれば、データに含まれる特徴のクラスを識別する精度の向上を図ることができる。
 また、本実施形態では、上記ステップS204により、各部分に含まれる特徴のクラスを適切に示すラベル付きの対象データ121を生成することができる。ラベル付きの対象データ121は、対象データ121と同種のデータに含まれる特徴のクラスを識別する能力を獲得するための機械学習に使用されてよい。付与されたラベルは対象データ121に含まれる特徴のクラスを適切に示すため、ラベル付きの対象データ121によれば、質の良い学習データを提供することができる。
 §4 変形例
 以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良又は変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
 <4.1>
 上記実施形態に係る解析システム100は、データに含まれる何らかの特徴のクラスを識別するあらゆる場面に適用されてよい。上記実施形態に係る解析システム100は、例えば、対象者の動作の種別を識別する場面、生産ラインにおける作業の工程の種別を識別する場面、対象者の状態のクラスを識別する場面等に適用されてよい。以下、適用場面を限定した変形例を例示する。
 (A)対象者の動作の種別を識別する場面
 図10は、第1変形例に係る動作解析システム100Aの適用場面の一例を模式的に例示する。本変形例は、対象者RAの動作を観測するセンサSAにより得られるセンシングデータを利用して、対象者RAの動作の種別を識別する場面に上記実施形態を適用した例である。動作の種別は、特徴のクラスの一例である。
 本変形例では、センサSAにより得られるセンシングデータが対象データ及び訓練データとして取り扱われる。識別対象の動作及び種別はそれぞれ、実施の形態に応じて適宜決定されてよい。識別対象の動作は、例えば、手を挙げる、顔を横に向ける等の単純な動作であってもよい。或いは、識別対象の動作は、例えば、工場における何らかの作業に関する動作等のまとまりのある動作であってもよい。この場合、識別対象の動作は、生産ラインにおける異なる種別の工程に関するものであってよい。また、動作の種別は、例えば、作業の種別、作業者の属性、動作の良し悪し等に応じて設定されてよい。作業の種別には、例えば、視認、把持、運搬、調整等の基本的な動作の種別が含まれてよい。作業者の属性には、例えば、作業者の識別子(或いは、名称)、勤続年数、熟練度、状態(例えば、健常度、疲労度等)等が含まれてよい。作業者の属性は、個人毎に設定されてもよいし、1又は複数人の属するグループ毎に設定されてもよい。センサSAは、例えば、カメラ、加速度センサ、モーションセンサ、圧力センサ、マイクロフォン等であってよい。カメラは、例えば、一般的なRGBカメラ、深度カメラ、赤外線カメラ等であってよい。これらの限定を除き、本変形例に係る動作解析システム100Aは、上記実施形態に係る解析システム100と同様に構成されてよい。
 (モデル生成装置)
 本変形例では、モデル生成装置2の制御部21は、上記ステップS101において、複数の学習データセット30Aにより構成される学習データを取得する。各学習データセット30Aは、訓練データ31A及び正解データ32Aの組み合わせにより構成される。訓練データ31Aは、センサSA又はこれと同種のセンサにより被験者の動作を観測することで得ることができる。正解データ32Aは、訓練データ31Aに対する動作の識別タスクの正解を示す。
 制御部21は、取得された学習データを使用して、上記ステップS102の機械学習を実施することにより、被験者の異なる種別の動作の実行を特徴の存在として識別するようにそれぞれ構成された複数の訓練済みの識別器5Aを生成する。制御部21は、上記ステップS103の処理により、生成された訓練済みの各識別器5Aに関する情報を学習結果データとして生成し、生成された学習結果データを所定の記憶領域に保存する。生成された学習結果データは、任意にタイミングで解析装置1に提供されてよい。
 (解析装置)
 本変形例では、解析装置1は、通信インタフェース13又は外部インタフェース14を介してセンサSAに接続されてよい。センサSAは、対象者RAの動作を観測可能な場所に適宜配置されてよい。制御部11は、上記ステップS201において、センサSAから対象データ121Aを取得する。対象データ121Aは、時系列データ及び複数次元データの少なくとも一方であってよい。制御部11は、上記ステップS202の処理により、各識別器5Aにより、取得された対象データ121Aに現れる動作の種別の識別を試行する。
 上記ステップS203では、制御部11は、試行の結果に基づいて、対象データ121A内において、各種別の動作の実行が現れるデータ部分を判定する。制御部11は、複数の識別器5Aのうちの一の識別器による識別が成立するのに対して残りの識別器による識別が成立しない第一のデータ部分には当該一の識別器により識別される対象の種別の動作の実行が現れていると判定する。他方、制御部11は、一の識別器を含む全ての識別器5Aによる識別が成立する第二のデータ部分には当該対象の種別の動作の実行が現れていないと判定する。
 例えば、対象者RAが工場の作業者であり、当該作業者の視認、把持、運搬、及び調整の4つの動作を4つの識別器5Aにより識別する場面を想定する。この場合に、制御部11は、全ての識別器5Aによる識別が成立する第二のデータ部分には、全ての動作に共通のしぐさが現れており、そのデータ部分の得られた時刻にはいずれの種類の動作も実行されていないと判定してもよい。一方、制御部11は、いずれか一つの識別器5Aによる識別のみが成立するデータ部分には、対応する種類の動作に特有のしぐさが現れており、そのデータ部分の得られた時刻には当該対応する種類の動作が実行されていると判定することができる。
 また、例えば、熟練者及び初心者それぞれの動作を識別する2つの識別器5Aを用意した場面を想定する。この場合、制御部11は、2つの識別器5Aによる識別が成立する第二のデータ部分には、熟練者及び初心者に共通の動作の実行が現れていると判定することができる。一方、制御部11は、熟練者に対応する識別器5Aによる識別のみが成立するデータ部分には熟練者に特有の動作の実行が現れていると判定することができる。同様に、制御部11は、初心者に対応する識別器5Aによる識別のみが成立するデータ部分には初心者に特有の動作の実行が現れていると判定することができる。
 上記ステップS204では、制御部11は、判定結果を示すラベルを対象データ121Aに付与する。制御部11は、対象の種別の動作の実行が現れていることを示すラベルを第一のデータ部分に付与する。
 上記ステップS205では、制御部11は、対象データ121Aに現れる対象者RAの動作の種別を識別した結果に関する情報を出力する。例えば、制御部11は、対象者RAの動作の種別を識別した結果をそのまま出力装置16に出力してもよい。識別結果は、各種別の動作を実行した確率により表現されてもよい。
 (特徴)
 本変形例では、各種別の動作に共通の事象が起きているに過ぎず、対象の種別の動作が真には実行されていないデータ部分に対して、対象の種別の動作が実行されていると識別を誤るのを防止することができる。よって、本変形例によれば、データに現れる対象者RAの動作の種別を識別する精度の向上を図ることができる。なお、本変形例において、識別対象は、人物の動作に限られなくてもよい。識別対象の動作は、産業用ロボット、モバイルロボット(例えば、ドローン等)等の機械の動作を含んでよい。この場合、識別対象の動作は、機械及び人間が協働する動作を含んでよい。また、動作の種別は、例えば、機械の動作が適正か否か、機械の状態(例えば、正常/故障の別、故障の程度等)等を含んでよい。
 (B)運転者の状態を識別する場面
 図11は、第2変形例に係る状態解析システム100Cの適用場面の一例を模式的に例示する。本変形例は、車両を運転する運転者RCを観測するセンサSCにより得られるセンシングデータを利用して、運転者RCの状態のクラスを識別する場面に上記実施形態を適用した例である。運転者RCの状態は、特徴の一例である。運転者RCは、対象者の一例である。
 本変形例では、センサSCにより得られるセンシングデータが対象データ及び訓練データとして取り扱われる。識別対象の状態及びクラスはそれぞれ、実施の形態に応じて適宜決定されてよい。識別対象の状態は、例えば、運転者の行動、健康状態、眠気度、疲労度、余裕度等を含んでよい。また、状態のクラスは、例えば、行動の種別、健康状態の種別、眠気度の程度、疲労度の程度、余裕度の程度等に応じて設定されてよい。センサSCは、例えば、カメラ、バイタルセンサ等であってよい。バイタルセンサは、例えば、血圧計、脈拍計、心拍計、心電計、筋電計、体温計、皮膚電気反応計、マイクロ波センサ、脳波計、脳磁計、活動量計、血糖値測定器、眼電位センサ、眼球運動計測器等であってよい。これらの限定を除き、本変形例に係る状態解析システム100Cは、上記実施形態に係る解析システム100と同様に構成されてよい。
 (モデル生成装置)
 本変形例では、モデル生成装置2の制御部21は、上記ステップS101において、複数の学習データセット30Cにより構成される学習データを取得する。各学習データセット30Cは、訓練データ31C及び正解データ32Cの組み合わせにより構成される。訓練データ31Cは、センサSC又はこれと同種のセンサにより車両を運転する被験者を観測することで得ることができる。正解データ32Cは、訓練データ31Cに対する状態の識別タスクの正解を示す。
 制御部21は、取得された学習データを使用して、上記ステップS102の機械学習を実施することにより、それぞれ異なるクラスの状態の出現を特徴の存在として識別するように構成された複数の訓練済みの識別器5Cを生成する。制御部21は、上記ステップS103の処理により、生成された訓練済みの各識別器5Cに関する情報を学習結果データとして生成し、生成された学習結果データを所定の記憶領域に保存する。生成された学習結果データは、任意にタイミングで解析装置1に提供されてよい。
 (解析装置)
 本変形例では、解析装置1は、通信インタフェース13又は外部インタフェース14を介してセンサSCに接続されてよい。センサSCは、運転者RCの状態を観測可能な場所に適宜配置されてよい。制御部11は、上記ステップS201において、センサSCから対象データ121Cを取得する。対象データ121Cは、時系列データ及び複数次元データの少なくとも一方であってよい。制御部11は、上記ステップS202の処理により、各識別器5Cにより、取得された対象データ121Cに現れる状態のクラスの識別を試行する。
 上記ステップS203では、制御部11は、試行の結果に基づいて、対象データ121C内において、各クラスの状態が出現するデータ部分を判定する。制御部11は、複数の識別器5Cのうちの一の識別器による識別が成立するのに対して残りの識別器による識別が成立しない第一のデータ部分には当該一の識別器により識別される対象のクラスの状態が出現していると判定する。他方、制御部11は、一の識別器を含む全ての識別器5Cによる識別が成立する第二のデータ部分には当該対象のクラスの状態が出現していないと判定する。
 上記ステップS204では、制御部11は、判定結果を示すラベルを対象データ121Bに付与する。制御部11は、対象のクラスの状態が出現していることを示すラベルを第一のデータ部分に付与する。
 上記ステップS205では、制御部11は、対象データ121Cに現れる運転者RCの状態のクラスを識別した結果に関する情報を出力する。例えば、制御部11は、運転者RCの状態のクラスを識別した結果をそのまま出力装置16に出力してもよい。また、例えば、制御部11は、識別される運転者RCの状態に応じて、警告等の特定のメッセージを出力装置16に出力してもよい。一例として、眠気度及び疲労度の少なくとも一方のクラスを識別した場合、制御部11は、眠気度及び疲労度の少なくとも一方の高いクラスに運転者RCの状態が識別されたことに応じて、駐車場等に車両を停車し、休憩を取るように運転者RCに促す警告を出力装置16から出力してもよい。
 また、例えば、自動運転の動作を制御する制御装置(不図示)を車両が備えている場合、制御部11は、運転者RCの状態のクラスを識別した結果に基づいて、車両の自動運転の動作を指示するための指令を制御装置に送信してもよい。具体例として、制御装置が、車両の走行を制御する自動運転モード及び運転者RCの操舵により車両の走行を制御する手動運転モードの切り替え可能に構成されていると想定する。このケースにおいて、自動運転モードで車両が走行しており、自動運転モードから手動運転モードへの切り替えを運転者RC又はシステムから受け付けた際に、制御部11は、余裕度が高いクラスに運転者RCの状態が識別されているか否かを判定してもよい。そして、余裕度が高いクラスに運転者RCの状態が識別されている場合に、制御部11は、自動運転モードから手動運転モードへの切り替えを許可する指令を制御装置に送信してもよい。一方、余裕度が低いクラスに運転者RCの状態が識別されている場合には、制御部11は、自動運転モードから手動運転モードへの切り替えを許可しない通知を制御装置に送信し、自動運転モードでの走行を維持するようにしてもよい。
 また、手動運転モードで車両が走行している際に、制御部11は、眠気度及び疲労度の少なくとも一方の高いクラスに運転者RCの状態が識別されているか否かを判定してもよい。そして、眠気度及び疲労度の少なくとも一方の高いクラスに運転者RCの状態が識別されている場合に、制御部11は、手動運転モードから自動運転モードに切り替えて、駐車場等の安全な場所に停車するように指示する指令を制御装置に送信してもよい。一方で、そうではない場合には、制御部11は、手動運転モードによる車両の走行を維持するようにしてもよい。
 また、手動運転モードで車両が走行している際に、制御部11は、余裕度の低いクラスに運転者RCの状態が識別されているか否かを判定してもよい。そして、余裕度の低いクラスに運転者RCの状態が識別されている場合に、制御部11は、減速する指令を制御装置に送信してもよい。一方で、そうではない場合には、制御部11は、運転者RCの操作による車両の走行を維持してもよい。なお、本変形例において、車両の制御装置と解析装置1とは一体のコンピュータにより構成されてよい。
 (特徴)
 本変形例では、各クラスの状態に共通の事象が起きているに過ぎず、対象のクラスの状態が真には出現していないデータ部分に対して、対象のクラスの状態が出現していると識別を誤るのを防止することができる。よって、本変形例によれば、データに現れる運転者RCの状態のクラスを識別する精度の向上を図ることができる。
 (C)健康状態のクラスを識別する場面
 図12は、第3変形例に係る状態解析システム100Dの適用場面の一例を模式的に例示する。本変形例は、対象者RDの健康状態を観測するセンサSDにより得られるセンシングデータを利用して、対象者RDの健康状態のクラスを識別する場面に上記実施形態を適用した例である。健康状態は、特徴の一例である。
 本変形例では、センサSDにより得られるセンシングデータが対象データ及び訓練データとして取り扱われる。識別対象の健康状態及びクラスはそれぞれ、実施の形態に応じて適宜決定されてよい。識別対象の健康状態は、例えば、得られるセンシングデータから推定可能な特定の疾患に関するものであってよい。健康状態のクラスは、例えば、健康であるか否か、病気になる予兆があるか否か、予兆のある又は現れている疾患の種別、特定の薬の投与又は特定の治療方法の実施により改善の見込みのある疾患であるか否か等に応じて設定されてよい。センサSDは、例えば、カメラ、バイタルセンサ、医療検査装置等であってよい。医療検査装置は、例えば、CT装置、MRI装置等であってよい。これらの限定を除き、本変形例に係る状態解析システム100Dは、上記実施形態に係る解析システム100と同様に構成されてよい。
 (モデル生成装置)
 本変形例では、モデル生成装置2の制御部21は、上記ステップS101において、複数の学習データセット30Dにより構成される学習データを取得する。各学習データセット30Dは、訓練データ31D及び正解データ32Dの組み合わせにより構成される。訓練データ31Dは、センサSD又はこれと同種のセンサにより被験者の健康状態を観測することで得ることができる。正解データ32Dは、訓練データ31Dに対する健康状態の識別タスクの正解を示す。
 制御部21は、取得された学習データを使用して、上記ステップS102の機械学習を実施することにより、それぞれ異なるクラスの健康状態の出現を特徴の存在として識別するように構成された複数の訓練済みの識別器5Dを生成する。制御部21は、上記ステップS103の処理により、生成された訓練済みの各識別器5Dに関する情報を学習結果データとして生成し、生成された学習結果データを所定の記憶領域に保存する。生成された学習結果データは、任意にタイミングで解析装置1に提供されてよい。
 (解析装置)
 本変形例では、解析装置1は、通信インタフェース13又は外部インタフェース14を介してセンサSDに接続されてよい。センサSDは、対象者RDの健康状態を観測可能な場所に適宜配置されてよい。制御部11は、上記ステップS201において、センサSDから対象データ121Dを取得する。対象データ121Dは、時系列データ及び複数次元データの少なくとも一方であってよい。制御部11は、上記ステップS202の処理により、各識別器5Dにより、取得された対象データ121Dに現れる健康状態のクラスの識別を試行する。
 上記ステップS203では、制御部11は、試行の結果に基づいて、対象データ121D内において、各クラスの健康状態が出現するデータ部分を判定する。制御部11は、複数の識別器5Dのうちの一の識別器による識別が成立するのに対して残りの識別器による識別が成立しない第一のデータ部分には当該一の識別器により識別される対象のクラスの健康状態が出現していると判定する。他方、制御部11は、一の識別器を含む全ての識別器5Dによる識別が成立する第二のデータ部分には当該対象のクラスの健康状態が出現していないと判定する。
 上記ステップS204では、制御部11は、判定結果を示すラベルを対象データ121Bに付与する。制御部11は、対象のクラスの健康状態が出現していることを示すラベルを第一のデータ部分に付与する。
 上記ステップS205では、制御部11は、対象データ121Dに現れる対象者RDの健康状態のクラスを識別した結果に関する情報を出力する。例えば、制御部11は、対象者RDの健康状態のクラスを識別した結果をそのまま出力装置16に出力してもよい。また、例えば、識別される健康状態のクラスが所定の疾患の予兆があることに対応する場合、制御部11は、病院での審査を促すメッセージを出力装置16に出力してもよい。また、例えば、制御部11は、登録された病院の端末に対して、対象者RDの健康状態のクラスを識別した結果を送信してもよい。なお、送信先となる端末の情報は、RAM、ROM、記憶部12、記憶媒体91、外部記憶装置等の所定の記憶領域に記憶されていてよい。
 (特徴)
 本変形例では、各クラスの健康状態に共通の事象が起きているに過ぎず、対象のクラスの健康状態が真には出現していないデータ部分に対して、対象のクラスの健康状態が出現していると識別を誤るのを防止することができる。よって、本変形例によれば、データに現れる対象者RDの健康状態のクラスを識別する精度の向上を図ることができる。
 <4.2>
 上記実施形態では、各識別器5には、全結合型のニューラルネットワークが用いられている。しかしながら、各識別器5を構成するニューラルネットワークの種類は、このような例に限定されなくてもよい。各識別器5には、例えば、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク等が用いられてよい。また、各識別器5を構成する機械学習モデルの種類は、ニューラルネットワークに限られなくてもよい。各識別器5には、ニューラルネットワーク以外に、例えば、サポートベクタマシン、回帰モデル、決定木モデル等が用いられてよい。各識別器5には、機械学習モデル以外に、ルールベースのモデルが用いられてよい。各識別器5は、機械学習モデル及びルールベースのモデルの組み合わせにより構成されてもよい。各識別器5の構成は、特徴のクラスを識別可能であれば、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。学習データの構成は、各識別器5の構成に応じて適宜決定されてよい。
 また、上記実施形態において、各識別器5の入力及び出力の形式は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、各識別器5は、対象データ121以外の情報の入力を更に受け付けるように構成されてもよい。各識別器5は、特徴のクラスを識別した結果以外の情報を更に出力するように構成されてもよい。特徴のクラスを識別した結果の表現形式は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。対象のクラスの特徴の存在を識別することには、対象のクラスの特徴が存在する確率を回帰し、得られた確率に基づいて対象のクラスの特徴が存在するか否かを判定することが含まれてよい。
 また、上記実施形態において、各識別器5(図8の例では、識別器5a~5c)の構造の少なくとも一部が共通である場合、各識別器5の間で、演算パラメータの少なくとも一部が共有されてよい。各識別器5の構造が一致している場合には、各識別器5の一部又は全ての演算パラメータが各識別器5間で共有されてよい。各識別器5の全ての演算パラメータが共有される場合、1つの識別器が、各識別器5として動作する。この場合、1つの識別器の入力層は、ワンホットベクトル(one-hot bector)等の識別対象のクラス(すなわち、いずれの識別器5として動作させるか)を示す情報の入力を更に受け付けるように構成されてよい。
 また、上記実施形態では、各識別器5は、対象データ121の入力を受け付けて、特徴のクラスを識別した結果を直接的に出力するように構成されている。しかしながら、対象データ121に含まれる特徴のクラスを各識別器5により識別する形態は、このような例に限定されなくてもよい。その他の例として、各識別器は、対応するクラスの特徴を含む生成データを生成するように構成されてよい。この場合、各識別器により生成される生成データ及び対象データ121を比較することで、対象データ121に含まれる特徴のクラスを識別することができる。
 図13は、本変形例に係る各識別器7の訓練場面の一例を模式的に例示する。本変形例に係る各識別器7は、識別対象のクラスの特徴を含む第1データ35から、同一の識別対象のクラスの特徴を含む、対象データ121と同種の第2データ36を生成するように構成される。構成の一例として、各識別器7は、エンコーダ71及びデコーダ72を備えている。エンコーダ71は、第1データ35を特徴量(潜在変数)に変換するように構成される。デコーダ72は、特徴量から第2データ36を生成するように構成される。特徴量の形式は、特に限定されなくてよく、任意に決定されてよい。エンコーダ71及びデコーダ72はそれぞれ、機械学習可能なモデルにより構成されてよい。それぞれを構成する機械学習モデルの種類は任意に選択されてよい。上記各識別器5と同様に、エンコーダ71及びデコーダ72には、ニューラルネットワークが用いられてよい。
 本変形例では、モデル生成装置2の制御部21は、上記ステップS101において、第1データ35及び第2データ36の組み合わせにより構成される学習データを取得する。第1データ35及び第2データ36は、各識別器7の識別対象のクラスの特徴を含むように取得される。同じ事象を捉えていれば、任意のデータから異種のデータを生成可能である。そのため、第1データ35は、第2データ36と同じ事象を捉えた、第2データ36とは異種のデータであってよい。一例として、被験者の動作をカメラ及びモーションセンサにより観測する場面を想定する。この場合、第1データ35は、カメラ及びモーションセンサのいずれか一方により得られてよく、第2データ36は、他方により得られてよい。或いは、第1データ35及び第2データ36は同種であってもよい。すなわち、第1データ35及び第2データ36は同一の信号であってもよい。この場合、学習データは、単一のデータにより構成される。
 上記ステップS102では、制御部21は、対応する学習データを使用して、識別器7毎に機械学習を実行する。機械学習の方法は、各識別器7の構成に応じて適宜選択されてよい。一例として、エンコーダ71及びデコーダ72がそれぞれニューラルネットワークにより構成される場合、制御部21は、対応する識別対象のクラスの特徴を含む第1データ35をエンコーダ71に入力し、エンコーダ71の演算処理を実行する。これにより、制御部21は、第1データ35を特徴量に変換した結果に対応する出力値をエンコーダ71から取得する。次に、制御部21は、エンコーダ71から得られた特徴量をデコーダ72に入力し、デコーダ72の演算処理を実行する。これにより、制御部21は、特徴量から生成された生成データ229に対応する出力値をデコーダ72から取得する。
 制御部21は、得られた生成データ229と第2データ36との誤差を算出する。制御部21は、誤差逆伝播法により、算出された誤差の勾配を用いて、エンコーダ71及びデコーダ72の各演算パラメータの値の誤差を算出する。制御部21は、算出された各誤差に基づいて、エンコーダ71及びデコーダ72の各演算パラメータの値を更新する。制御部21は、当該一連の更新処理により、算出される誤差の和が小さくなるように、エンコーダ71及びデコーダ72の各演算パラメータの値を調節する。
 以上の機械学習により、制御部21は、識別対象のクラスの特徴を含む第1データ35から、同一の識別対象のクラスの特徴を含む、対象データ121と同種の第2データ36を生成する能力を獲得した訓練済みの識別器7を生成することができる。制御部21は、クラス毎に学習データを取得し、上記機械学習を実行することで、それぞれ異なるクラスの特徴を含む、対象データ121と同種のデータを生成する能力を獲得した複数の訓練済みの識別器7を生成することができる。
 なお、第1データ35及び第2データ36が異種及び同種のいずれのケースでも、第1データ35及び第2データ36が時系列データである場合、各識別器7は、対象の時刻から未来又は過去の第1データ35から対象の時刻の第2データ36を生成するように訓練されてよい。また、上記機械学習において、上記更新処理の他に、制御部21は、エンコーダ71から得られる特徴量と所定の確率分布(例えば、ガウス分布等)から得られる値との誤差を算出し、当該誤差の和が小さくなるようにエンコーダ71の各演算パラメータの値を更に調節してもよい。これにより、制御部21は、エンコーダ71の出力値を正規化してもよい。
 図14は、本変形例に係る各識別器7の利用場面の一例を模式的に例示する。本変形例では、解析装置1の制御部11は、上記ステップ202において、第1データ35と同種の入力データ123を各識別器7のエンコーダ71に入力し、各識別器7の演算処理を実行する。これにより、制御部11は、入力データ123から生成された、対象データ121と同種の生成データ125に対応する出力値をデコーダ72から取得する。第1データ35が、第2データ36とは異種のデータである場合、制御部11は、各識別器7に与える入力データ123を対象データ121とは別に取得する。制御部11は、対象データ121と同じ事象を捉えた異種のデータを入力データ123として取得することができる。一方、第1データ35及び第2データ36が同種である場合、制御部11は、対象データ121を入力データ123として各識別器7に与えることにより、生成データ125を生成する。この場合、対象データ121とは別のデータを取得する手間が省略される分だけ、ステップS202の処理を簡易化することができる。
 次に、制御部11は、各識別器7により生成された生成データ125及び対象データ121の比較に基づいて、対象データ121に含まれる特徴のクラスの識別を試行する。上記機械学習により、各識別器7は、対応するクラスの特徴に関しては再現性が高く、その他のクラスの特徴に関しては再現性の低いデータを生成するように構成される。そのため、対象のクラスの特徴が対象データ121に含まれている場合には、対応する識別器7により生成される生成データ125と対象データ121との間の差異(以下、再構成誤差とも称する)は小さくなる(すなわち、一致度が大きくなる)。これに対して、対象のクラスの特徴が対象データ121に含まれていない場合には、対応する識別器7により生成される生成データ125と対象データ121との間の差異は大きくなる。そこで、識別処理の一例として、制御部11は、対応する識別器7により生成された生成データ125及び対象データ121の間の差異が閾値より小さい場合に、対象データ121に対象のクラスの特徴が含まれている(すなわち、対応する識別器7の識別が成立する)と識別してよい。一方、そうではない場合に、制御部11は、対象データ121に対象のクラスの特徴が含まれていない(すなわち、対応する識別器7の識別が成立しない)と識別してよい。閾値は適宜決定されてよい。これにより、制御部11は、各識別器7により生成された生成データ125及び対象データ121の比較に基づいて、対象データ121に含まれる特徴のクラスの識別を試行することができる。対象データ121が時系列データ又は複数次元データである場合には、制御部11は、各データ部分の再構成誤差に基づいて、対応するクラスの識別が成立するか否かを判定することができる。例えば、対象データ121が動画像データである場合には、フレーム単位又はピクセル単位等、再構成誤差を算出するデータ部分の単位は、実施の形態に応じて適宜決定されてよい。ステップS203以降の処理は、上記実施形態と同様でよい。
 本変形例によれば、対応するクラスの特徴を含むデータを生成するように構成された識別器7を利用する識別処理において、データに含まれる特徴のクラスを識別する精度の向上を図ることができる。なお、本変形例において、各識別器7の構成は、第1データ35から第2データ36を生成可能であれば、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、各識別器7は、エンコーダ71及びデコーダ72に分離されていなくてもよい。
 上記変形例では、各識別器7は、自己教師あり学習により、与えられたデータを再構成する能力を習得している。自己教師あり学習により各識別器に習得させる能力は、このような例に限定されなくてもよい。自己教師あり学習により各識別器に習得される能力は、例えば、対応するクラスの特徴を含むデータであって、所定の規則に従って変換されたデータを変換前に戻す操作であってもよい。
 一例として、所定の規則に従って変換することは、時系列データにおける時間的な順序を並び替えることであってよい。この場合、変換前に戻す操作は、時系列の順序を並び替えられたデータを元の時系列に戻すことである。その他の例として、所定の規則に従って変換することは、複数次元データにおける値の配置(例えば、画像データの画素の配置)を並び替えることであってよい。この場合、変換前に戻す操作は、配置を並び替えられたデータの各値を元の配置に戻すことである。その他の例として、所定の規則に従って変換することは、データの一部に欠損を与えることであってよい。この場合、変換前に戻す操作は、一部に欠損を与えられたデータを復元することである。
 なお、各規則は、オペレータの指定、プログラム内の設定等により与えられてよい。各識別器に習得させる操作の規則は全て一致していてもよいし、或いは、少なくともいずれかの識別器に習得させる操作の規則が、他の識別器に習得させる操作の規則と異なっていてもよい。対応するクラスの特徴を含むデータであって、所定の規則に従って変換された後のデータを上記第1データ35として使用し、変換前のデータを上記第2データ36として使用することで、所定の規則に従って変換されたデータを変換前に戻す操作を行う能力を各識別器に習得させることができる。
 このような能力を習得した各識別器は、上記各識別器7と同様の方法で利用することができる。すなわち、制御部11は、各識別器に習得させた能力に対応する所定の規則に従って対象データ121を変換することで、入力データを生成する。続いて、制御部11は、生成された入力データを各識別器に与えて、各識別器の演算処理を実行する。これにより、制御部11は、入力データに対して元に戻す操作を実行した結果に対応する出力データを各識別器から取得する。制御部11は、各識別器から得られた出力データと対象データ121とを比較する。
 対応する識別器の機械学習に使用したデータに対象データ121が類似するほど、対応する識別器は、入力データを適切に対象データ121に戻すことができるため、出力データと対象データ121との間の差異が小さくなる。一方、そうではない場合、出力データと対象データ121との間の差異が大きくなる。そのため、識別処理の一例として、制御部11は、対応する識別器により得られた出力データと対象データ121との差異が閾値より小さい場合に、対象データ121に対象のクラスの特徴が含まれていると識別してもよい。他方、そうではない場合に、制御部11は、対象データ121に対象のクラスの特徴が含まれていないと識別してよい。
 <4.3>
 上記実施形態において、ステップS204の処理は省略されてよい。この場合、付与部114は、解析装置1のソフトウェア構成から省略されてよい。また、上記実施形態において、各識別器5は、モデル生成装置2以外のコンピュータにより生成されてよい。この場合、モデル生成装置2は、解析システム100の構成から省略されてよい。
 1…解析装置、
 11…制御部、12…記憶部、
 13…通信インタフェース、14…外部インタフェース、
 15…入力装置、16…出力装置、17…ドライブ、
 111…データ取得部、112…識別処理部、
 113…判定部、114…付与部、115…出力部、
 121…対象データ、
 81…解析プログラム、91…記憶媒体、
 2…モデル生成装置、
 21…制御部、22…記憶部、
 23…通信インタフェース、24…外部インタフェース、
 25…入力装置、26…出力装置、27…ドライブ、
 211…学習データ取得部、212…学習処理部、
 213…保存処理部、
 225…学習結果データ、
 82…生成プログラム、92…記憶媒体、
 3…学習データ、30…学習データセット、
 31…訓練データ、32…正解データ、
 5…識別器、
 51…入力層、52…中間(隠れ)層、
 53…出力層

Claims (10)

  1.  対象データを取得するデータ取得部と、
     それぞれ異なるクラスの特徴の存在を識別するように構成された複数の識別器それぞれにより、前記対象データに含まれる特徴のクラスの識別を試行する識別処理部と、
     前記試行の結果に基づいて、前記対象データ内において、各クラスの前記特徴の含まれるデータ部分を判定する判定部であって、前記複数の識別器のうちの一の識別器による識別が成立するのに対して残りの識別器による識別が成立しない第一のデータ部分には当該一の識別器により識別される対象のクラスの特徴が含まれていると判定し、前記一の識別器を含む全ての識別器による識別が成立する第二のデータ部分には前記対象のクラスの特徴が含まれていないと判定する判定部と、
    を備える、
    解析装置。
  2.  前記対象のクラスの特徴を含むことを示す情報を前記第一のデータ部分に付与する付与部を更に備える、
    請求項1に記載の解析装置。
  3.  前記各識別器は、識別対象のクラスの特徴を含む第1データから、前記識別対象のクラスの特徴を含む、前記対象データと同種の第2データを生成するように構成され、
     前記識別処理部は、前記各識別器により生成された生成データ及び前記対象データの比較に基づいて、前記対象データに含まれる特徴のクラスの識別を試行する、
    請求項1又は2に記載の解析装置。
  4.  前記第1データ及び前記第2データは同種であり、
     前記識別処理部は、前記対象データを前記各識別器に与えることにより、前記生成データを生成する、
    請求項3に記載の解析装置。
  5.  前記対象データは、時系列データであり、
     前記判定部は、前記試行の結果に基づいて、前記時系列データ内において、各クラスの前記特徴の含まれる前記データ部分の時間区間を判定する、
    請求項1から4のいずれか1項に記載の解析装置。
  6.  前記対象データは、複数次元データであり、
     前記判定部は、前記試行の結果に基づいて、前記複数次元データ内において、各クラスの前記特徴の含まれる前記データ部分の範囲を判定する、
    請求項1から5のいずれか1項に記載の解析装置。
  7.  前記各識別器は、被験者の異なる種別の動作の実行を前記特徴の存在として識別するように構成され、
     前記判定部は、前記試行の結果に基づいて、前記対象データ内において、各種別の前記動作の実行が現れる前記データ部分を判定する、
    請求項1から6のいずれか1項に記載の解析装置。
  8.  前記各識別器は、生産ラインにおける異なる種別の工程の実行を前記特徴の存在として識別するように構成され、
     前記判定部は、前記試行の結果に基づいて、前記対象データ内において、各種別の前記工程の実行が現れる前記データ部分を判定する、
    請求項1から6のいずれか1項に記載の解析装置。
  9.  コンピュータが、
     対象データを取得するステップと、
     それぞれ異なるクラスの特徴の存在を識別するように構成された複数の識別器それぞれにより、前記対象データに含まれる特徴のクラスの識別を試行するステップと、
     前記試行の結果に基づいて、前記対象データ内において、各クラスの前記特徴の含まれるデータ部分を判定するステップであって、前記複数の識別器のうちの一の識別器による識別が成立するのに対して残りの識別器による識別が成立しない第一のデータ部分には当該一の識別器により識別される対象のクラスの特徴が含まれていると判定し、前記一の識別器を含む全ての識別器による識別が成立する第二のデータ部分には前記対象のクラスの特徴が含まれていないと判定するステップと、
    を実行する、
    解析方法。
  10.  コンピュータに、
     対象データを取得するステップと、
     それぞれ異なるクラスの特徴の存在を識別するように構成された複数の識別器それぞれにより、前記対象データに含まれる特徴のクラスの識別を試行するステップと、
     前記試行の結果に基づいて、前記対象データ内において、各クラスの前記特徴の含まれるデータ部分を判定するステップであって、前記複数の識別器のうちの一の識別器による識別が成立するのに対して残りの識別器による識別が成立しない第一のデータ部分には当該一の識別器により識別される対象のクラスの特徴が含まれていると判定し、前記一の識別器を含む全ての識別器による識別が成立する第二のデータ部分には前記対象のクラスの特徴が含まれていないと判定するステップと、
    を実行させるための、
    解析プログラム。
PCT/JP2020/043315 2019-12-24 2020-11-20 解析装置、解析方法、及び解析プログラム WO2021131446A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP20905422.0A EP4083873A4 (en) 2019-12-24 2020-11-20 ANALYSIS DEVICE, METHOD AND PROGRAM
CN202080080058.5A CN114730392A (zh) 2019-12-24 2020-11-20 解析装置、解析方法以及解析程序
US17/777,294 US20220406036A1 (en) 2019-12-24 2020-11-20 Analysis apparatus, analysis method, and computer-readable storage medium storing an analysis program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019233146A JP7400449B2 (ja) 2019-12-24 2019-12-24 解析装置、解析方法、及び解析プログラム
JP2019-233146 2019-12-24

Publications (1)

Publication Number Publication Date
WO2021131446A1 true WO2021131446A1 (ja) 2021-07-01

Family

ID=76575233

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/043315 WO2021131446A1 (ja) 2019-12-24 2020-11-20 解析装置、解析方法、及び解析プログラム

Country Status (5)

Country Link
US (1) US20220406036A1 (ja)
EP (1) EP4083873A4 (ja)
JP (1) JP7400449B2 (ja)
CN (1) CN114730392A (ja)
WO (1) WO2021131446A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023233559A1 (ja) * 2022-05-31 2023-12-07 日本電気株式会社 学習装置、判定装置、学習方法および記録媒体
WO2024038505A1 (ja) * 2022-08-16 2024-02-22 日本電気株式会社 映像処理装置、映像処理システム及び映像処理方法
CN116211316B (zh) * 2023-04-14 2023-07-28 中国医学科学院阜外医院 多导联心电信号的类型识别方法、系统及辅助系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5081999B1 (ja) 2011-06-22 2012-11-28 株式会社日立エンジニアリング・アンド・サービス 異常予兆診断結果の表示方法
JP2012248017A (ja) 2011-05-27 2012-12-13 Nippon Telegr & Teleph Corp <Ntt> 行動モデル学習装置、方法、及びプログラム
JP2013041323A (ja) 2011-08-11 2013-02-28 Nec Corp 行動識別装置、行動識別方法、及びプログラム
JP2019159885A (ja) * 2018-03-14 2019-09-19 オムロン株式会社 動作分析装置、動作分析方法、動作分析プログラム及び動作分析システム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017102671A (ja) * 2015-12-01 2017-06-08 キヤノン株式会社 識別装置、調整装置、情報処理方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012248017A (ja) 2011-05-27 2012-12-13 Nippon Telegr & Teleph Corp <Ntt> 行動モデル学習装置、方法、及びプログラム
JP5081999B1 (ja) 2011-06-22 2012-11-28 株式会社日立エンジニアリング・アンド・サービス 異常予兆診断結果の表示方法
JP2013041323A (ja) 2011-08-11 2013-02-28 Nec Corp 行動識別装置、行動識別方法、及びプログラム
JP2019159885A (ja) * 2018-03-14 2019-09-19 オムロン株式会社 動作分析装置、動作分析方法、動作分析プログラム及び動作分析システム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HIROKI WATANABE, KENICHI SOGANO, SANAE MATSUBARA, HIDEKI TANAHASHI: "PI-16-46: Consideration of Feature Detectors and Classifiers for Working Image Classification", INSTITUTE OF ELECTRICAL ENGINEERS OF JAPAN MATERIALS PERCEPTUAL INFORMATION NEXT GENERATION INDUSTRIAL SYSTEMS JOINT STUDY GROUP, vol. 2016, no. 40-46.48, 5 September 2016 (2016-09-05), JP, pages 35 - 40, XP009536542 *
ISHII YOSHINAO, TAKANASHI MASAKI, SANDA KATSUSHI: "AE-based Classifier Estimating and Eliminating Variables that Deteriorate the Classification", TRANSACTIONS OF THE INFORMATION PROCESSING SOCIETY OF JAPAN, vol. 60, no. 1, 15 January 2019 (2019-01-15), pages 260 - 269, XP055838453 *
KASUYA RUI: "A Feasibility Study of Scene Text Recognition Based on Filtered Channel Features", IEICE TECHNICAL REPORT, vol. 115, no. 505 (SIS2015-65), 3 March 2016 (2016-03-03), pages 99 - 104, XP009541596, ISSN: 0913-5685 *
See also references of EP4083873A4

Also Published As

Publication number Publication date
EP4083873A4 (en) 2023-07-26
JP2021101318A (ja) 2021-07-08
EP4083873A1 (en) 2022-11-02
JP7400449B2 (ja) 2023-12-19
CN114730392A (zh) 2022-07-08
US20220406036A1 (en) 2022-12-22

Similar Documents

Publication Publication Date Title
WO2021131446A1 (ja) 解析装置、解析方法、及び解析プログラム
Gateau et al. Real-time state estimation in a flight simulator using fNIRS
US20230352164A1 (en) Method for generating prediction result for predicting occurrence of fatal symptoms of subject in advance and device using same
US20210269046A1 (en) Estimator generation apparatus, monitoring apparatus, estimator generation method, and computer-readable storage medium storing estimator generation program
EP4116893A1 (en) Model generation device, estimation device, model generation method, and model generation program
Fan et al. The role of the prefrontal cortex and functional connectivity during maritime operations: an fNIRS study
Yau et al. Augmented intelligence: surveys of literature and expert opinion to understand relations between human intelligence and artificial intelligence
CN111862020A (zh) 一种眼前节生理年龄预测方法、装置、服务器及存储介质
Jahanara et al. Detecting autism from facial image
Zhang et al. A human-in-the-loop deep learning paradigm for synergic visual evaluation in children
Alban et al. Heart rate as a predictor of challenging behaviours among children with autism from wearable sensors in social robot interactions
Chou et al. Convolutional neural network-based fast seizure detection from video electroencephalograms
Frank et al. A performance model for early word learning.
CN116864140A (zh) 一种心内科术后护理监测数据处理方法及其系统
El Arbaoui et al. A Survey on the Application of the Internet of Things in the Diagnosis of Autism Spectrum Disorder
Chen et al. A situation awareness assessment method based on fuzzy cognitive maps
Nam et al. Selective prediction with long short-term memory using unit-wise batch standardization for time series health data sets: algorithm development and validation
Waleed et al. An intelligent cloud computing context-aware model for remote monitoring COVID-19 patients using IoT technology
Chen et al. Culturally diverse facial expression signals diminish the precision of emotion communication across cultures
Bhattacharya et al. Machine Learning for Biomedical and Health Informatics
İLKBAHAR et al. Analysis of artificial intelligence technologies used in the covid-19 outbreak process
KR20210085978A (ko) 심층 신경망 알고리즘 기반의 문제 행동 분류 시스템 및 방법
Obayya et al. A novel automated Parkinson’s disease identification approach using deep learning and EEG
US20230110652A1 (en) Brain data visualization
CN113223698B (zh) 急诊分级处理方法、装置、电子设备以及存储介质

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: 20905422

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020905422

Country of ref document: EP

Effective date: 20220725