WO2020116129A1 - 前処理装置、前処理方法及び前処理プログラム - Google Patents

前処理装置、前処理方法及び前処理プログラム Download PDF

Info

Publication number
WO2020116129A1
WO2020116129A1 PCT/JP2019/044884 JP2019044884W WO2020116129A1 WO 2020116129 A1 WO2020116129 A1 WO 2020116129A1 JP 2019044884 W JP2019044884 W JP 2019044884W WO 2020116129 A1 WO2020116129 A1 WO 2020116129A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
learning
input data
continuous input
environment
Prior art date
Application number
PCT/JP2019/044884
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 US17/296,692 priority Critical patent/US20220027726A1/en
Publication of WO2020116129A1 publication Critical patent/WO2020116129A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B3/00Apparatus for testing the eyes; Instruments for examining the eyes
    • A61B3/10Objective types, i.e. instruments for examining the eyes independent of the patients' perceptions or reactions
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B3/00Apparatus for testing the eyes; Instruments for examining the eyes
    • A61B3/10Objective types, i.e. instruments for examining the eyes independent of the patients' perceptions or reactions
    • A61B3/113Objective types, i.e. instruments for examining the eyes independent of the patients' perceptions or reactions for determining or recording eye movement
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis

Definitions

  • the present invention relates to a pretreatment device, a pretreatment method, and a pretreatment program.
  • NN Neural Network
  • CNN Convolutional Neural Network
  • the correspondence relationship between the “input series in the section” and the “output value” that can be measured in the past is set to CNN. Need to learn. Only after the learning is finished, the unknown “output value” can be estimated by giving the learned model a new “input sequence in the section”. Here, the size of the section becomes a problem. Data having different interval lengths may be given to the CNN as an input.
  • the difference in the size of the input series by preparing an input unit for the maximum input series and performing preprocessing such as filling the periphery with 0 when inputting smaller input data. it can.
  • preprocessing such as filling the periphery with 0 when inputting smaller input data. it can.
  • other methods such as putting the values around the input series in the input unit, dividing by positive or negative, specifying the target range by the attention mechanism etc. are adopted.
  • the number of units itself may be made variable, and a special pooling layer may be used to absorb the difference in the number of units.
  • Hideki Nakayama "Image feature extraction and transfer learning by deep convolutional neural networks" The Institute of Electronics, Information and Communication Engineers, Speech Study Group, July Study Group, 2015
  • FIG. 15 is a diagram for explaining the size of the section of the input sequence during learning and estimation.
  • the length of the input sequence at the time of learning is 6, when an input sequence having lengths 4 and 6 different from the length at the time of learning is input to CNN at the time of estimation, the length different from that at the time of learning is obtained.
  • the output diverges (see (1) and (2) in FIG. 15).
  • FIG. 16 is a diagram for explaining the size of the section of the input sequence at the time of learning and at the time of estimation. If the length of the input sequence at the time of learning includes 4 and 6, it is possible to appropriately estimate the input sequence of lengths 4 and 6 at the time of estimation (see (1) and (2) in FIG. 16). ).
  • the input series is temporal continuous data or spatial continuous data. These continuous data may be obtained by dividing larger continuous data at regular intervals.
  • a higher performance measuring device or method is required to obtain values by finely dividing the granularity in time and space.
  • such a high-performance measuring device and method are generally expensive.
  • FIG. 17 is a diagram illustrating input data and output data for CNN.
  • FIG. 17 shows an example in which the input data is one-dimensional array data such as time series data.
  • the CNN learn the output for each short input sequence (see (1) in FIG. 17)
  • the conventional method had a problem that it was not possible to learn an input sequence with a fine granularity and the output corresponding to it.
  • the conventional method has a problem that if an input sequence having a size different from that at the time of learning is given at the time of estimation, the estimation cannot be properly performed.
  • Transfer learning is a method to solve. However, even if an attempt is made to solve the above-mentioned problem by using transfer learning, conventional transfer learning cannot be applied when there is no size data of interest in the real environment.
  • transfer learning can compensate for the data that is lacking in the real environment, it targets input sequences of the same size.
  • the number of input units of the network must be the same in both pre-learning and weak re-learning in the real environment, and the size (interval) of the images input therein must be the same. Because there is.
  • An object of the present invention is to provide a preprocessing device, a preprocessing method, and a preprocessing program capable of acquiring learning data capable of executing pre-learning.
  • the preprocessing device provides continuous input data measured under an environment simulating an estimated environment and output data corresponding to the continuous input data.
  • the model even if the size of the input data at the time of estimation in a real environment and the size of the input data of the pre-learning data are different from each other, the model provides training data that can perform appropriate pre-learning. It becomes possible to acquire.
  • FIG. 1 is a diagram illustrating an example of the configuration of the estimation system according to the first embodiment.
  • FIG. 2 is a diagram illustrating input/output data of the CNN model.
  • FIG. 3 is a diagram illustrating a conventional learning method.
  • FIG. 4 is a diagram illustrating processing in the learning device.
  • FIG. 5 is a figure explaining the process in an estimation apparatus.
  • FIG. 6 is a flowchart showing the processing procedure of the pre-learning processing executed by the learning device.
  • FIG. 7 is a flowchart showing a processing procedure of re-learning processing executed by the estimation device.
  • FIG. 8 is a diagram illustrating a conventional eye movement estimation method by EOG (Electrooculography).
  • EOG Electrooculography
  • FIG. 9 is a diagram illustrating pre-learning in the eye movement estimation method using EOG according to the first embodiment.
  • FIG. 10 is a diagram illustrating re-learning in the eye movement estimation method using EOG according to the first embodiment.
  • FIG. 11 is a diagram illustrating an image acquired from the camera.
  • FIG. 12 is a figure explaining the gaze position estimation method by the image imaged with the conventional camera.
  • FIG. 13 is a diagram illustrating pre-learning in the gaze position estimation based on the image captured by the camera according to the second embodiment.
  • FIG. 14 is a diagram illustrating an example of a computer that implements a learning device and an estimation device by executing a program.
  • FIG. 15 is a diagram for explaining the size of the section of the input sequence during learning and estimation.
  • FIG. 16 is a diagram for explaining the size of the section of the input sequence at the time of learning and at the time of estimation.
  • FIG. 17 is a diagram illustrating input data and output data for CNN.
  • FIG. 1 is a diagram illustrating an example of the configuration of the estimation system according to the first embodiment.
  • the estimation system 1 according to the embodiment includes a learning device 10 and an estimation device 20.
  • the learning device 10 pre-learns the model used by the estimation device 20.
  • the learning device 10 uses the continuous serial input data measured in an environment simulating the estimated environment and the output data corresponding to the continuous serial input data as pre-learning data to preliminarily calculate the model. Learn.
  • the input data in the pre-learning data is data having a finer granularity than the input data input to the estimation device 20 in a real environment, that is, data having a smaller size than the input data input to the estimation device 20.
  • the learning device 10 outputs the model parameter of the model learned in advance to the estimation device 20.
  • the estimation device 20 is a device provided in a real environment, and estimates one output value corresponding to continuous sequential input data that is an estimation target by using a model that has been pre-learned by the learning device 10. To do. Further, the estimation device 20 performs transfer learning (re-learning) for performing weakened learning using the re-learning data collected under the actual environment before the estimation.
  • the re-learning data is continuous and serial input data collected in an actual environment and output data corresponding to this input data, and is obtained from the input data collected by the learning device 10 as pre-learning data. Is also data of coarse grain size, that is, data of large size.
  • the learning device 10 includes a communication processing unit 11, a storage unit 12, and a control unit 13.
  • the communication processing unit 11 is a communication interface that transmits/receives various information to/from another device (for example, the estimation device 20) connected via a network or the like.
  • the communication processing unit 11 is realized by a NIC (Network Interface Card) or the like, and performs communication between another device and a control unit 13 (described later) via a telecommunication line such as a LAN (Local Area Network) or the Internet. ..
  • the storage unit 12 is realized by, for example, a semiconductor memory device such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as a hard disk or an optical disc, and a processing program or a process for operating the learning device 10. Data and the like used during the execution of the program are stored.
  • the storage unit 12 has pre-learning data 121 and a CNN model 122.
  • the pre-learning data 121 is continuous sequential input data measured in an environment simulating the estimated environment and output data corresponding to the continuous sequential input data.
  • the input data of the pre-learning data 121 is data measured under an environment simulating the estimated environment, and has a finer granularity than the input data input to the estimation device 20 in the actual environment.
  • the pre-learning data 121 includes, as the size of continuous input data, at least one or more of the size of the re-learning input data under the estimation environment.
  • the pre-learning data 121 allows the pre-learning algorithm to perform an operation such that the re-learning input data has the same or greater influence in the pre-learning process as data of other sizes.
  • the data set includes an index capable of discriminating the data of the size of the input data for re-learning under the estimation environment.
  • the CNN model 122 is a model to which CNN is applied.
  • FIG. 2 is a diagram illustrating input/output data of the CNN model 122.
  • the CNN model 122 solves the problem of estimating one output value and outputs the output value D2 ((1 in FIG. 2 when the series input data D1 in a certain section is input. ), (2)).
  • the CNN model 122 estimates the output corresponding to unknown input data by learning the input-output relationship of data.
  • the CNN model 122 includes various parameters of a model obtained by learning continuous and sequential input data and output data.
  • the model used in this embodiment is not limited to the CNN model.
  • the model used in the present embodiment may be any model as long as the output data can be estimated by learning from continuous serial input data.
  • the control unit 13 controls the entire learning device 10.
  • the control unit 13 has an internal memory for storing a program defining various processing procedures and the like and required data, and executes various processing by these.
  • the control unit 13 is an electronic circuit such as a CPU (Central Processing Unit) or MPU (Micro Processing Unit). Further, the control unit 13 functions as various processing units by operating various programs.
  • the control unit 13 includes a pre-processing unit 130 and a pre-learning unit 133.
  • the pre-processing unit 130 performs pre-processing described below on the pre-learning data 121 of the CNN model 122 to determine the size of the input data at the time of estimation in the actual environment and the input data of the pre-learning data. Even if the size is different, the CNN model provides training data that can perform appropriate pre-training.
  • the pre-processing unit 130 includes a pre-learning data collection unit 131 (collection unit) and a conversion unit 132.
  • the pre-learning data collection unit 131 collects, as pre-learning data, continuous input data measured in an environment simulating the estimated environment and output data corresponding to the continuous input data.
  • the pre-learning data collection unit 131 includes, as the size of continuous input data, at least one or more re-learning input data sizes under the estimation environment, and the pre-learning algorithm uses the re-learning input data under the estimation environment.
  • the pre-learning data including the index that can discriminate the data of size is collected in the data set.
  • the conversion unit 132 converts the continuous input data collected by the pre-learning data collection unit 131 into continuous input data of a plurality of sizes including a size larger than the input data.
  • the conversion unit 132 converts the output data corresponding to the continuous input data collected by the pre-learning data collection unit 131 into the output data corresponding to the continuous input data of a plurality of sizes.
  • the conversion unit 132 outputs the converted input data and output data as pre-learning data to the pre-learning unit 133.
  • the conversion unit 132 regards at least the re-learning input data collected by the pre-learning data collection unit 131 as the number of input data of another size different from the size of the re-learning input data.
  • the continuous input data is converted according to a distribution including the same number or a number larger than the number of input data of other sizes.
  • the distribution follows a probability distribution in which the number of pieces of input data for re-learning is larger than the number of pieces of input data of other sizes.
  • This probability distribution is a convex probability distribution with the size of the input data used in the estimation environment as the center of the distribution, for the purpose of maximizing the estimation accuracy with the data size under the estimation environment.
  • the pre-learning unit 133 causes the CNN model 122 to learn continuous input data of a plurality of sizes converted by the pre-processing unit 130 and output data respectively corresponding to the continuous input data of a plurality of sizes.
  • the pre-learning unit 133 outputs various parameters of the CNN model 122, which has learned a large amount of pre-learning data converted by the pre-processing unit 130, to the estimation device 20 in a real environment.
  • the estimation device 20 is a device provided in an actual environment, and includes a communication processing unit 21, a storage unit 22, and a control unit 23.
  • the communication processing unit 21 has a function similar to that of the communication processing unit 11, and is a communication interface that transmits and receives various types of information to and from another device (for example, the learning device 10) connected via a network or the like. ..
  • the storage unit 22 has the same function as the storage unit 12, and is realized by a semiconductor memory device or a storage device such as a hard disk or an optical disk, and is used for operating the estimation device 20 and during execution of the processing program. Data to be stored is stored.
  • the storage unit 22 has re-learning data 221 and a CNN model 222.
  • the re-learning data 221 is continuous input data collected for re-learning in an actual environment and output data corresponding to this input data.
  • the input data for maximum learning is data having a coarser granularity than the input data as the data for pre-learning in the learning device 10, that is, data having a size larger than the input data input to the learning device 10.
  • weak learning is added in re-learning in the estimation device 20 after various parameters output from the learning device 10 are set as model parameters.
  • the control unit 23 controls the entire estimation device 20.
  • the control unit 23 has the same function as the control unit 13, and is an electronic circuit such as a CPU or MPU.
  • the control unit 23 includes a re-learning data collection unit 231, a re-learning unit 232, and an estimation unit 233.
  • the re-learning data collection unit 231 collects, as re-learning data, continuous series input data collected in an actual environment and output data corresponding to the input data. These re-learning data are data having a larger size than the input data collected as the pre-learning data in the learning device 10.
  • the re-learning unit 232 adds weak learning to the CNN model 222 with the re-learning data and updates the model parameter of the CNN model 222. For example, the re-learning unit 232 performs weakened learning by reducing the learning coefficient of the portion of the CNN model 222 far from the output layer.
  • a CNN model is pre-learned with a large amount of data acquired under an environment simulating a real environment, and then a weak learning is added to the CNN model with a small number of data obtained under the real environment.
  • the estimation system 1 can generate the CNN model 222 that can be estimated with high accuracy while avoiding overlearning even when only a small number of data can be obtained in an actual environment.
  • the estimation unit 233 performs estimation using the CNN model 222 after re-learning.
  • the estimation unit 233 uses the CNN model 222 to estimate one output value corresponding to the continuous and serial input data that is the estimation target.
  • FIG. 3 is a diagram illustrating a conventional learning method.
  • the CNN model when input data having a size different from that at the time of pre-learning at the time of estimation is given to the CNN model, there is a problem that proper estimation cannot be performed at the time of estimation. Specifically, when the output corresponding to the length to be estimated (for example, 4) is not obtained during the pre-learning, the data of the length 4 cannot be included in the learning (see (1) in FIG. 3). ..
  • the estimation can be performed only with the input data with a large granularity (for example, length 6) for which the output can be measured (Fig. 3 (2)).
  • a fine granularity for example, length 4
  • the estimation can be performed only with the input data with a large granularity (for example, length 6) for which the output can be measured (Fig. 3 (2)).
  • FIG. 4 is a diagram illustrating a process in the learning device 10.
  • FIG. 5 is a diagram illustrating a process in the estimation device 20.
  • the learning device 10 acquires the data of the granularity to be estimated in the real environment in the simulated environment (see (A) of FIG. 4). At this time, the learning device 10 collects the input data of the length 2 and the output data “4” corresponding to the input data as the data D11-1 for the pre-learning by performing the measurement with the fine granularity, for example. To do.
  • the granularity of the input data to be re-learned and estimated in the real environment is 6 in length. Therefore, the length of the input data collected is different from the length of the input data estimated in the actual environment.
  • the pre-processing unit 130 combines data of fine granularity, generates large granularity data that can be measured in an actual environment at various scales, and includes the data in pre-learning ((B in FIG. 4). )reference). For example, the pre-processing unit 130 converts the input data having the length 6 to be estimated in the actual environment and the output data corresponding to the length 6 from the pre-learning data 121, and converts the converted data D11-2 in advance. Include in learning.
  • the pre-learning unit 133 causes the CNN model 222 to learn the data D11-1 converted by the pre-processing unit 130 together with the data D11-1 for pre-learning, and as shown in (2) of FIG. Below, it is confirmed that each particle size can be estimated (see (C) of FIG. 4 ).
  • pre-learning including the input data of length 2 measured in a simulated environment including the converted data of input data of length 4 or 6 is performed to obtain the state of length 6 in the real environment. Let's re-learn with. At this time, the number of input data of length 2 is equal to the number of input data of length 4 and the input data of length 6 in the pre-learning unless an operation that changes the influence in learning for each data size is performed. If the number of data of length 2 is less than the number of, the algorithm determines that the estimation is successful if the input data of lengths 4 and 6 can be properly estimated without considering much in learning. (Network that reduces the error function). Therefore, in the pre-learning, it is necessary that the input data of length 2 exists in the same number as the number of input data of lengths 4 and 6 or more.
  • the number of data sizes follows a uniform distribution (the same number of data of lengths 2, 4, 6), or emphasizes the purpose corresponding to the data length in the real environment, A number that draws a convex-shaped probability distribution with the data size as the center (the input data of length 2 is the largest, and the numbers are sequentially increasing as the distance from them (lengths 4 and 6 in this example). The distribution must decrease).
  • the conversion unit 132 includes in the data set information (index) capable of determining that “the input data having the same length as the length in the actual environment is this”, and performs the pre-learning. Convert data for use.
  • index the data set information
  • the estimation device 20 receives the model parameter of the CNN model after the pre-learning, and re-learns in the real environment (see (3) in FIG. 5).
  • the input data can be acquired with the fine granularity to be estimated (for example, length 2)
  • the output data corresponding to the input data with the fine granularity cannot be acquired in the real environment ((D in FIG. 5). )reference).
  • the estimation device 20 uses this data to re-learn the CNN (see (E) in FIG. 5 ).
  • the estimation device 20 performs weakened learning (re-learning) using, for example, input data of length 6 and output data “8” corresponding to this input data.
  • the estimation device 20 can properly estimate the output data of the input data of length 2 as a result of the pre-learning by the learning device 10. Along with this, the estimation device 20 can appropriately estimate output data according to the actual environment even for input data of length 6 as a result of the pre-learning by the learning device 10 and the weak learning based on the re-learning data. It will be possible.
  • FIG. 6 is a flowchart showing a processing procedure of the pre-learning processing executed by the learning device 10.
  • the pre-learning data collecting unit 131 of the pre-processing unit 130 measures the measurement with a fine granularity in the simulated environment, in a continuous sequential input data, and in a continuous sequential series.
  • the output data corresponding to various input data and pre-learning data are collected (step S1).
  • the pre-learning data collection unit 131 collects data having a finer granularity than the input data input to the estimation device 20 in the actual environment.
  • the conversion unit 132 converts the continuous input data collected in step S1 into continuous input data of a plurality of sizes including a size larger than the input data, and the continuous input data is continuously generated.
  • a conversion process is performed to convert output data corresponding to input data into output data corresponding to continuous input data of a plurality of sizes (step S2).
  • the conversion unit 132 outputs the converted input data and output data as pre-learning data to the pre-learning unit 133.
  • the conversion unit 132 determines that the continuous input data collected by the pre-learning data collection unit 131 is at least the re-learning input data under the estimated environment, and is different from the size of the re-learning input data.
  • the conversion is performed according to a distribution including the same number as the number of input data of other sizes or a number larger than the number of input data of other sizes. If this is not the case, an index that can be discriminated from it is included so that input data of the same length as in the actual environment can have a great influence in pre-learning.
  • the pre-learning unit 133 corresponds to the data collected by the pre-learning data collection unit 131, the continuous input data of a plurality of sizes converted by the pre-processing unit 130, and the continuous input data of a plurality of sizes, respectively.
  • the CNN model 122 is pre-learned with the output data thus obtained (step S3).
  • the pre-learning unit 133 outputs various parameters of the CNN model 122 that has learned a large amount of pre-learning data including the data converted by the pre-processing unit 130 to the estimation device 20 in the actual environment (step S4). ..
  • FIG. 7 is a flowchart showing the processing procedure of the re-learning processing executed by the estimation device 20.
  • the re-learning data collection unit 231 re-learns continuous sequential input data collected in a real environment and output data corresponding to this input data.
  • Data for use in the collection (step S11).
  • the re-learning data is data having a size larger than the input data collected as the pre-learning data in the learning device 10.
  • the re-learning unit 232 performs re-learning by adding weak learning to the CNN model 222 using the re-learning data (step S12). Then, the re-learning unit 232 updates the model parameter of the CNN model 222 (step S13).
  • the estimation unit 233 uses the re-learned CNN model 222 to perform estimation on the input data.
  • the learning device 10 that performs the pre-learning on the CNN model 122 is provided with the pre-processing unit 130, and the pre-learning is performed after the pre-processing is performed on the data collected for the pre-learning. I am letting you.
  • the preprocessing unit 130 collects, as pre-learning data, continuous input data measured in an environment simulating the estimated environment and output data corresponding to the continuous input data. Then, the preprocessing unit 130 converts the continuous input data into continuous input data of a plurality of sizes including a size larger than the input data, and outputs a plurality of output data corresponding to the continuous input data. Pre-processing for converting input data of continuous size into output data corresponding to the input data is output as learning data. The pre-processing unit 130 converts the continuous input data collected by the pre-learning data collection unit 131 into at least the size of the re-learning input data of the estimation device 20 under the estimation environment.
  • the learning device 10 synthesizes the input data of the pre-learning data, and changes the size of the input data of the pre-learning data into a plurality of sizes of data including the size of the input data at the time of estimation in a real environment.
  • preprocessing is performed to convert the collected output data into output data corresponding to continuous input data of a plurality of sizes.
  • the pre-processing is performed at the time of pre-learning.
  • a plurality of sizes of input data including the size of the input data at the time of estimation in the actual environment and output data corresponding to the input data are generated, and pre-learning is executed.
  • the input data and the output data having a small granularity of the pre-learning data are also converted into the CNN model 122 by using a large amount of data. Pre-learning can be performed.
  • weak re-learning is added to the CNN model 222 after the pre-learning with the small number of data obtained in the real environment, so only a small amount of data is obtained in the real environment. Even if it is not, it is possible to generate the CNN model 222 that can be estimated with high accuracy while avoiding overlearning.
  • the CNN model is suitable for the pre-learning. It is possible to acquire learning data that can execute.
  • EOG is a method of estimating the direction in which the line of sight is directed by utilizing the fact that the eyeball is charged in the positive direction in the front and in the negative direction in the rear. For example, the potential is measured by attaching electrodes just above and just below the eyeball, the potential immediately above the eyeball rises, and if it is measured that the potential just below falls, the front of the eyeball changes upward, That is, it can be estimated that the line of sight has moved upward.
  • FIG. 8 is a diagram illustrating a conventional eye movement estimation method using EOG.
  • the graph G1 of FIG. 8 shows the time dependence of the electro-oculogram measured using the AC EOG method.
  • the graph G1 is obtained by amplifying and recording the amount of change in electro-oculography.
  • the section T2 it can be estimated that the front of the eyeball has changed downward and is stopped as it is. Since the first potential change in the section T2 is in the negative direction, the negative potential behind the eyeball approaches the electrode, that is, it approaches the eyeball, and the positive potential in front of the eye moves away from the electrode, that is, below the eyeball. This is because it can be determined that the user has approached.
  • the size of the eye direction change can be estimated from the size of the potential change amount.
  • the potential in a time zone in which the direction of the eyeball does not change, such as in the section T1 is considered as an offset value, and if the peak of the potential change that first occurs in the estimated section is high, the height is high. The greater the change in direction, the better.
  • the size of the direction change is calculated by summing (integrating) how far the potential in the region is from the offset value and calculating the size. At this time, if a waveform between certain regions and an eyeball angle that has changed between the regions are obtained, the CNN model is made to learn the correspondence between the waveforms between certain new regions and the corresponding regions. It becomes possible to estimate the direction of the eyeball that has changed to.
  • the output estimation target is a change in the direction of the eyeball (gaze position).
  • an eye tracking system that can acquire the absolute position of the line of sight is required. If there is an eye tracking system that captures the line-of-sight position in real time, it is possible to divide the potential in small time units and acquire the line-of-sight position that has changed in that section. For example, in the case of division at intervals of 0.1 seconds, pre-learning can be performed by using the line-of-sight position every 0.1 seconds as an output (see data Da-1).
  • an expensive eye tracking system is required to measure the change in the direction of the eyeball at such fine intervals (see (1) in FIG. 8), but in an actual environment, an expensive eye tracking system is used. It's always hard to prepare. Therefore, in many cases, the direction change of the eyeball is easily measured by a method such as moving the line of sight for a specified distance without using an eye tracking system, and associated with the waveform of the potential generated within the specified time. Learning is performed using data (for example, data Db-1).
  • the eye direction change amount can be acquired only at large intervals (see (2) in Fig. 8).
  • the eyeball direction change amount cannot be acquired in real time without eye tracking, and the eyeball change amount corresponding to a large time section such as 5 seconds is used as an output.
  • FIG. 9 is a diagram illustrating pre-learning in the eye movement estimation method using EOG according to the first embodiment.
  • the pre-learning data collection unit 131 of the learning device 10 collects the pre-learning data using the eye tracking system in the simulated environment.
  • the pre-learning data collection unit 131 collects, as the continuous input data, time-series data of the measured values of the electrooculogram of the user measured in the environment simulating the estimated environment of the eye movement, and corresponds to the continuous input data.
  • the eye direction change amount is collected as output data.
  • the pre-learning data collection unit 131 measures the amount of change in the direction of the eyeball at the finest time interval by using the eye tracking system only once in advance in an environment that simulates the environment in which the eye gaze position is to be estimated (see FIG. 9). (See (1)), and collect the data.
  • the collected data is, for example, data Da12 that uses the electro-oculogram waveform measured every 0.1 second as input data and outputs the amount of change in the direction of the eyeball corresponding to each input data. If the target of the line-of-sight position is a monitor, the same monitor may be used, and if the target is a tablet, it may be a tablet. It is not necessary to adjust the distance between the screen and the eyeball to be constant or to measure physiological data of the same person.
  • the conversion unit 132 synthesizes these input data so as to form a series of various sizes, generates output data corresponding to the input data of each size, and the pre-learning unit 133 causes the CNN model 122 to generate the output data. Learning (see (2) and (3) in FIG. 9).
  • the conversion unit 132 synthesizes the electro-oculogram waveform measured every 0.1 seconds, which is input data, at intervals of 0.2 seconds, 0.4 seconds, and 0.8 seconds. Then, the amount of change in the direction of the eyeball corresponding to each combined electro-oculogram waveform is obtained and used as pre-learning data (for example, D12-1 to D12-3). For example, when measuring with the eye tracking system at intervals of 0.1 seconds, the conversion unit 132 synthesizes two continuous waveforms of the electro-oculogram waveform captured at intervals of 0.1 seconds for 0.2 seconds. The electro-oculogram waveform at intervals is used as input data, and the direction change amount of the eyeball corresponding to the synthesized electro-oculogram waveform at intervals of 0.2 seconds is obtained and used as output data.
  • pre-learning data for example, D12-1 to D12-3
  • the convolutional layer near the input layer performs the process of extracting the feature amount of the input data
  • the layer near the output layer performs the process of estimating the output from the extracted main features. It is said.
  • the process of extracting the feature amount from the input if the measurement target is common, the same model can be used even when the measurement environment is different.
  • a convolutional layer that can perform feature extraction appropriately even if an input sequence with fine granularity is given in the estimation scene is generated. can do.
  • FIG. 10 is a diagram illustrating re-learning in the eye movement estimation method using EOG according to the first embodiment.
  • an eye tracking system is not used, but a method such as instructing the subject about the amount of eye movement is used to output the eye direction change obtained at large time intervals, input the waveform of the potential, and re-create the CNN. learn.
  • a method such as instructing the subject about the amount of eye movement is used to output the eye direction change obtained at large time intervals, input the waveform of the potential, and re-create the CNN. learn.
  • the connections of several layers in the CNN that are close to the fully connected output layer are targeted for learning and changed (see (1) in Fig. 10). ).
  • the convolutional layer that can extract feature quantities of waveforms divided into various time intervals, including fine time intervals.
  • only the Fully connected layer that calculates the output from the main features extracted by them is adjusted using the data in the real environment acquired at large time intervals.
  • the learning using only the data acquired at a certain time interval causes the model to be specialized for that time interval and reduces the ability to deal with the data acquired at other time intervals.
  • the first embodiment by limiting the learning to the Fully connected layer, it is possible to prevent the entire model from changing into a form that can cope only with a large time interval, and to realize the simulated environment and the reality in the pre-learning. It is possible to adjust a rough difference in the input/output relationship due to the difference in the environment.
  • FIG. 11 is a diagram illustrating an image acquired from the camera.
  • FIG. 12 is a figure explaining the gaze position estimation method by the image imaged with the conventional camera.
  • the face of the user is photographed and the position of the pupil is acquired by image processing on the captured images G21 and G22 (see FIG. 11).
  • the line-of-sight position estimation using the camera is realized.
  • the direction change amount of the line-of-sight position is simply measured by a method such as moving the line of sight for a specified distance, and the amount of movement of the pupil in the image generated within the specified time is associated with it. Learn by doing. Therefore, conventionally, the direction change amount of the line-of-sight position could be acquired only at a large interval without the eye tracking system (see (2) in FIG. 12).
  • FIG. 13 is a diagram illustrating pre-learning in the gaze position estimation based on the image captured by the camera according to the second embodiment.
  • the pre-learning data collecting unit 131 of the learning device 10 collects, as the continuous input data, the pupil positions of the user continuously imaged in the environment simulating the estimated environment of the eye gaze position, The direction change amount of the line-of-sight position on the screen is collected as output data corresponding to continuous input data.
  • the pre-learning data collection unit 131 images the user's face at fine time intervals once using the eye tracking system in advance in a simulated environment that simulates the environment in which the eye gaze position is to be estimated. An image is acquired as input data, and the direction change amount of the line-of-sight position corresponding to these is measured (see (1) in FIG. 13). If the target of the line-of-sight position is a monitor, the same monitor may be used, and if the target is a tablet, it may be a tablet. It is not necessary to adjust the distance between the screen and the eyeball to be constant or to measure physiological data of the same person.
  • the conversion unit 132 synthesizes these input data so as to form a series of various sizes, generates output data corresponding to the input data of each size, and the pre-learning unit 133 causes the CNN model 122 to generate the output data. Learning is performed (see (2) and (3) in FIG. 13).
  • the conversion unit 132 converts the input data, which is an image measured every 0.1 seconds, into images at intervals of 0.2 seconds, and the direction of the line-of-sight position corresponding to each converted image.
  • the change amounts are respectively obtained and used as pre-learning data (for example, D13-1 to D13-3).
  • pre-learning data for example, D13-1 to D13-3.
  • images are extracted at intervals of 0.2 seconds from the images captured at intervals of 0.1 lines and used as input data.
  • the amount of change in the line-of-sight direction at is obtained and used as output data.
  • the CNN is not limited to the one-dimensional input data (data in which one sensor value changes in time series) described in the EOG described in the first embodiment, and can also handle two-dimensional or more data as an input. it can. Therefore, the pre-learning unit 133 performs the pre-learning with the two-dimensional data in which the image, which is the two-dimensional data in the vertical and horizontal directions, changing in time series as it is as the input of the CNN model 122.
  • the eye tracking system is not used, and a method such as instructing the subject about the amount of eye movement is used to output the direction change amount of the eye gaze position acquired at large time intervals, and the change sequence of the image captured by the camera Is input and CNN is relearned.
  • a method such as instructing the subject about the amount of eye movement is used to output the direction change amount of the eye gaze position acquired at large time intervals, and the change sequence of the image captured by the camera Is input and CNN is relearned.
  • learning only the connections of several layers in the CNN that are close to the fully connected output layer are targeted for learning (see FIG. 10).
  • Example 3 Next, as a third embodiment, a case will be described in which the present invention is applied to estimation of an amount of movement of an object based on a measurement value of an acceleration sensor.
  • this object movement amount estimation complement method time series data from an acceleration sensor, which is acquired until the object moves from one position to another position, is input, and the actual amount of movement of the object is output as pre-learning in a CNN model.
  • another sensor information is used to acquire the real-time object position, and the value thus obtained is used as output data, It is necessary to perform pre-learning by using the time series data of the measured values by the acceleration sensor as input data.
  • another sensor information is position acquisition using a contact sensor.
  • a sensor other than the acceleration sensor cannot be used, and an output value may not be obtained at fine time intervals.
  • the pre-learning data collection unit 131 of the learning device 10 collects, as continuous input data, time-series data of acceleration of an object measured in an environment simulating an estimated environment of object movement. Then, the actual amount of movement of the object is collected as output data corresponding to continuous input data. Specifically, the pre-learning data collection unit 131, in a simulated environment, at a fine time interval, a measurement value by an acceleration sensor and a measurement value of an object movement amount using another sensor different from the acceleration sensor, Is acquired as pre-learning data.
  • the conversion unit 132 synthesizes these input data so as to form a series of various sizes, generates output data corresponding to the input data of each size, and the pre-learning unit 133 causes the CNN model 122 to generate the output data. Let them learn. For example, when the acceleration sensor and the amount of movement of the object are measured at intervals of 0.1 seconds, the conversion unit 132 calculates two consecutive measurement values among the measurement values of the acceleration sensor measured at intervals of 0.1 seconds. The input data is converted so that it becomes a value measured at intervals of 0.2 seconds.
  • the conversion unit 132 obtains the amount of movement of the object corresponding to the converted measurement value of the acceleration sensor at intervals of 0.2 seconds based on the amount of movement of the object measured at intervals of 0.1 seconds, and outputs it as output data. To do.
  • the estimation device 20 can re-learn using only the object position information acquired at coarse time intervals, thereby estimating the object movement amount at fine time intervals. It should be noted that in a real environment, for example, a method of recording the timing when an object exceeds a specific position by a camera may be adopted.
  • the finer the granularity of estimating the output from the input by CNN the better in many cases.
  • the input data and the output data used in the pre-learning can only be measured with a fine granularity without any measures.
  • the granularity of some kind of measurement is made finer, economic and technical difficulty increases. In such a situation, if it is possible to reduce the number of occasions where fine-grained measurement is required, it is possible to reduce the possibility of encountering economic and technical difficulties in measurement.
  • the present embodiment is applied to the estimation of the visual line movement amount based on the electro-oculography, the estimation of the visual line movement amount based on the camera image, and the estimation in other regions. As a result, it is possible to significantly reduce the number of scenes that require real-time measurement, which often requires high technical hurdles, only during pre-learning.
  • the small number of data was compensated by re-adjusting only the part close to the output layer of the model with the small amount of data acquired in the actual environment.
  • the number of data is insufficient depending on the size of the data, specifically, only data of a specific size does not exist at the time of re-learning.
  • the learning device 10 synthesizes input data measured with fine granularity at the time of pre-learning so as to form a series of various sizes, and inputs each of these sizes. Generates output data corresponding to the data.
  • the learning device 10 generates the input data and the output data of the size to be learned at the time of re-learning as the data for pre-learning so that the specific size at the time of re-learning. Enables proper pre-learning and re-learning even when only the data of
  • each device is functionally conceptual, and do not necessarily have to be physically configured as illustrated. That is, the specific form of distribution/integration of each device is not limited to that shown in the figure, and all or part of the device may be functionally or physically distributed in arbitrary units according to various load diagrams and usage conditions. -Can be integrated and configured.
  • each processing function performed by each device may be implemented in whole or in part by a CPU and a program that is analyzed and executed by the CPU, or may be realized as hardware by a wired logic.
  • the learning device 10 and the estimation device 20 according to the present embodiment can be realized by a computer and a program, and the program can be recorded in a recording medium or provided through a network.
  • FIG. 14 is a diagram illustrating an example of a computer that implements the learning device 10 and the estimation device 20 by executing the program.
  • the computer 1000 has, for example, a memory 1010 and a CPU 1020.
  • the computer 1000 also has a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These units are connected by a bus 1080.
  • the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012.
  • the ROM 1011 stores, for example, a boot program such as BIOS (Basic Input Output System).
  • BIOS Basic Input Output System
  • the hard disk drive interface 1030 is connected to the hard disk drive 1090.
  • the disk drive interface 1040 is connected to the disk drive 1100.
  • a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100.
  • the serial port interface 1050 is connected to, for example, a mouse 1110 and a keyboard 1120.
  • the video adapter 1060 is connected to the display 1130, for example.
  • the hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, the programs defining the processes of the learning device 10 and the estimation device 20 are implemented as the program module 1093 in which the code executable by the computer 1000 is described.
  • the program module 1093 is stored in the hard disk drive 1090, for example.
  • the hard disk drive 1090 stores a program module 1093 for executing the same processing as the functional configurations of the learning device 10 and the estimation device 20.
  • the hard disk drive 1090 may be replaced by an SSD (Solid State Drive).
  • the setting data used in the processing of the above-described embodiment is stored as program data 1094 in, for example, the memory 1010 or the hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 or the hard disk drive 1090 into the RAM 1012 as necessary and executes them.
  • the program module 1093 and the program data 1094 are not limited to being stored in the hard disk drive 1090, and may be stored in, for example, a removable storage medium and read by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected via a network (LAN, WAN (Wide Area Network), etc.). Then, the program module 1093 and the program data 1094 may be read by the CPU 1020 from another computer via the network interface 1070.
  • LAN Local Area Network
  • WAN Wide Area Network

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Surgery (AREA)
  • Ophthalmology & Optometry (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Medical Informatics (AREA)
  • Animal Behavior & Ethology (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)
  • Eye Examination Apparatus (AREA)

Abstract

学習装置(10)において、前処理部(130)は、推定環境を模擬した環境下において計測した連続した入力データと、連続した入力データに対応する出力データとを、事前学習用データとして収集する事前学習用データ収集部(131)と、連続した入力データを、該入力データよりも大きなサイズを含む、複数のサイズの連続した入力データに変換するとともに、連続した入力データに対応する出力データを、複数のサイズの連続した入力データにそれぞれ対応する出力データに変換し、学習データとして出力する変換部(132)と、を有する。

Description

前処理装置、前処理方法及び前処理プログラム
 本発明は、前処理装置、前処理方法及び前処理プログラムに関する。
 入力値が非線形性の強いデータ、或いは、ノイズの大きいデータであったとしても、頑健に出力値を精度よく推定可能である機械学習技術が提案されている。例えば、ニューラルネットワーク(NN:Neural Network)や、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)は、一定区間の系列的な入力に対応する1つの出力値を推定する問題を解くために使用される。
 ある一定の区間における連続値から、1つの出力値を推定する問題をCNNによって解くときには、まず、過去に計測できた「区間内の入力系列」と、「出力値」の対応関係を、CNNに学習させる必要がある。そして、学習を終えて初めて、学習済みのモデルに、新規な「区間内の入力系列」を与えることで、未知の「出力値」を推定できるようになる。ここで、区間のサイズが問題となる。CNNには、入力として様々に区間の長さが異なるデータを与えてよい。
 例えば、最大の入力系列分の入力ユニットを用意して、それより小さい入力データを入れる場合には周囲を0で埋めるなどの前処理を行うことによって、入力系列のサイズの違いを吸収することができる。なお、ユニット数を固定する場合には、0で埋める以外にも、入力系列の周囲の値も含めて入力ユニットに入れ、正負で分ける、attention機構などによって対象範囲を指定するなどの方法を採用してもよく、ユニット数自体を可変にし、特殊なpooling層でユニット数の違いを吸収するなどの方法をとってもよい。
中山英樹, "深層畳み込みニューラルネットワークによる画像特徴抽出と転移学習", 電子情報通信学会音声研究会7月研究会, 2015
 学習時の入力系列の区間のサイズ(例えば1次元配列である場合には長さ)がAであった場合、「サイズAの入力系列」に対して精度よく出力を推定できるようにCNNは学習を行う。このため、推定時に学習時と異なるサイズBの入力系列をCNNに与えると、適切な推定ができないという問題がある。図15は、学習時と推定時とにおける入力系列の区間のサイズについて説明する図である。図15に示すように、学習時の入力系列の長さが6であった場合、推定時に学習時の長さと異なる長さ4,6の入力系列をCNNに入力すると、学習時と違う長さの系列である長さ4については、適切に推定画行えず、出力が発散してしまう(図15の(1),(2)参照)。
 この問題を避けるためには、推定時に用いる系列と同じサイズの系列を学習データに用いる必要がある。図16は、学習時と推定時とにおける入力系列の区間のサイズについて説明する図である。学習時の入力系列の長さに4,6を含むならば、推定時に、長さ4,6の入力系列に対して適切に推定が可能になる(図16の(1),(2)参照)。
 しかしながら、推定時に用いる系列と同じサイズの系列を学習データとして集められない場合も多い。入力系列は、時間的な連続データ、或いは空間的な連続データである。これらの連続データは、より大きな連続データを一定間隔で区分したものである場合がある。一般に、何かを計測する際、時間・空間的に粒度を細かく区分して値を取得するためには、より高性能な計測装置や方法が必要となる。また、このような高性能な計測装置や方法は、一般的に高価である。
 このため、出力データとして本来望ましい細かく区分されたレベルの出力値を取得できない場合がある。図17は、CNNに対する入力データ及び出力データを説明する図である。図17では、入力データが時系列データなどの1次元配列データである例を示す。本来は、入力となる連続データを、データDaのように細かい粒度で区分し、それぞれの短い入力系列に対する出力をCNNに学習させたくとも(図17の(1)参照)、出力として本来望ましい細かく区分されたレベルの出力値を取得できない場合がある。そして、計測に求められる技術的或いは経済的な問題から、データDbのように、大きく区分した入力系列に対する出力しか取得できず、結果的に大きな入力系列とそれに対する出力しか学習できない場合がある(図17の(2)参照)。
 このように、従来の方法には、細かい粒度の入力系列と、それに対応する出力との学習ができないという問題があった。そして、従来の方法には、推定時に、学習時と異なるサイズの入力系列を与えると、適切に推定ができないという問題があった。
 本番の実環境で十分なデータを集められないことが理由で生じる問題(有名なものとしては過学習も含む)を、実環境を模擬した環境で取得したデータで事前に学習したモデルを用いることで解決する手法として、転移学習がある。しかしながら、転移学習を用いて前述の問題を解決しようとした場合であっても、実環境で対象となるサイズ長のデータが全くない状態では、従来の転移学習を適用することはできない。
 この理由は、転移学習は、実環境において不足したデータを補うことはできるものの、同じサイズの入力系列を対象としているためである。言い換えると、転移学習は、事前学習と、実環境での弱い再学習とのいずれにおいても、ネットワークの入力ユニット数が同一であり、そこに入力される画像のサイズ(区間)も同一である必要があるためである。
 例えば、実環境において、長さ2の入力データと、それに対する出力データが少ない数しか集められない場合を例に説明する。この場合には、この問題を解決するため、模擬環境において、長さ2の入力データと、それに対する出力データを大量に集めて事前学習させておく。そして、実環境で取得した少ない数の長さ2の入力データと、それに対する出力データを用いて弱い再学習を行うことによって、推定精度を上げている。したがって、既存の転移学習手法では、実環境における再学習時に、長さ2の入力データに対する出力データが全く得られない場合には、適切に推定を行えない。
 本発明は、上記に鑑みてなされたものであって、実環境下での推定時における入力データのサイズと事前学習用データの入力データのサイズとが異なる場合であっても、モデルが適切な事前学習を実行できる学習用データを取得することが可能になる前処理装置、前処理方法及び前処理プログラムを提供することを目的とする。
 上述した課題を解決し、目的を達成するために、本発明に係る前処理装置は、推定環境を模擬した環境下において計測した連続した入力データと、連続した入力データに対応する出力データとを、事前学習用データとして収集する収集部と、連続した入力データを、該入力データよりも大きなサイズを含む、複数のサイズの連続した入力データに変換するとともに、連続した入力データに対応する出力データを、複数のサイズの連続した入力データにそれぞれ対応する出力データに変換し、学習データとして出力する変換部と、を有することを特徴とする。
 本発明によれば、実環境下での推定時における入力データのサイズと事前学習用データの入力データのサイズとが異なる場合であっても、モデルが適切な事前学習を実行できる学習用データを取得することが可能になる。
図1は、実施の形態1における推定システムの構成の一例を示す図である。 図2は、CNNモデルの入出力データを説明する図である。 図3は、従来の学習方法を説明する図である。 図4は、学習装置における処理を説明する図である。 図5は、推定装置における処理を説明する図である。 図6は、学習装置が実行する事前学習処理の処理手順を示すフローチャートである。 図7は、推定装置が実行する再学習処理の処理手順を示すフローチャートである。 図8は、従来のEOG(Electrooculography)による眼球運動推定方法を説明する図である。 図9は、実施例1におけるEOGによる眼球運動推定方法における事前学習を説明する図である。 図10は、実施例1におけるEOGによる眼球運動推定方法における再学習を説明する図である。 図11は、カメラから取得された画像を説明する図である。 図12は、従来のカメラで撮像した画像による視線位置推定方法を説明する図である。 図13は、実施例2におけるカメラで撮像した画像による視線位置推定における事前学習を説明する図である。 図14は、プログラムが実行されることにより、学習装置及び推定装置が実現されるコンピュータの一例を示す図である。 図15は、学習時と推定時とにおける入力系列の区間のサイズについて説明する図である。 図16は、学習時と推定時とにおける入力系列の区間のサイズについて説明する図である。 図17は、CNNに対する入力データ及び出力データを説明する図である。
 以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[実施の形態1]
 まず、本発明の実施の形態1について説明する。図1は、実施の形態1における推定システムの構成の一例を示す図である。図1に示すように、実施の形態に係る推定システム1は、学習装置10と、推定装置20とを有する。
 学習装置10は、推定装置20が用いるモデルの事前学習を行う。学習装置10は、推定環境を模擬した環境下において計測した連続した系列的な入力データと、連続した系列的な入力データに対応する出力データとを、事前学習用データとして用いて、モデルの事前学習を行う。事前学習用データにおける入力データは、実環境下において推定装置20に入力される入力データよりも細かい粒度のデータ、すなわち、推定装置20に入力される入力データよりもサイズが小さいデータである。学習装置10は、事前に学習されたモデルのモデルパラメータを推定装置20に出力する。
 推定装置20は、実環境下に設けられた装置であり、学習装置10において事前学習済みのモデルを用いて、推定対象である連続した系列的な入力データに対応する、1つの出力値を推定する。また、推定装置20は、推定前に、実環境下に置いて収集された再学習用データを用いて、弱められた学習を行う転移学習(再学習)を行う。再学習用データは、実環境下において収集された、連続した系列的な入力データと、この入力データに対応する出力データとであり、学習装置10に事前学習用データとして収集された入力データよりも粗い粒度のデータ、すなわち、サイズが大きいデータである。
[学習装置の構成]
 次に、学習装置10の構成について説明する。学習装置10は、通信処理部11、記憶部12及び制御部13を有する。
 通信処理部11は、ネットワーク等を介して接続された他の装置(例えば、推定装置20)との間で、各種情報を送受信する通信インタフェースである。通信処理部11は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置と制御部13(後述)との間の通信を行う。
 記憶部12は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、学習装置10を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。記憶部12は、事前学習用データ121及びCNNモデル122を有する。
 事前学習用データ121は、推定環境を模擬した環境下において計測した連続した系列的な入力データと、連続した系列的な入力データに対応する出力データとである。事前学習用データ121の入力データは、推定環境を模擬した環境下において計測されたデータであり、実環境下での推定装置20に入力される入力データよりも細かい粒度のデータである。事前学習用データ121は、連続した入力データのサイズとして、少なくとも1つ以上推定環境下における再学習用の入力データのサイズを含む。事前学習用データ121は、再学習用の入力データが、それ以外のサイズのデータと同じか、それ以上の影響力を事前学習過程において持つような操作を行うことのできるように、事前学習アルゴリズムが、推定環境下における再学習用の入力データのサイズのデータを判別可能である指標をデータセットに含む。
 CNNモデル122は、CNNを適用したモデルである。図2は、CNNモデル122の入出力データを説明する図である。図2に示すように、CNNモデル122は、一定区間の系列的な入力データD1が入力されると、1つの出力値を推定する問題を解き、出力値D2を出力する(図2の(1),(2)参照)。CNNモデル122は、データの入出力関係を学習することによって、未知の入力データに対応する出力を推定する。CNNモデル122は、連続した系列的な入力データ及び出力データを学習したモデルの各種パラメータを含む。
 なお、本実施の形態において使用されるモデルは、CNNモデルに限らない。本実施の形態において使用されるモデルは、連続した系列的な入力データから学習によって出力データを推定できるモデルであれば足りる。
 制御部13は、学習装置10全体を制御する。制御部13は、各種の処理手順などを規定したプログラム及び所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部13は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。また、制御部13は、各種のプログラムが動作することにより各種の処理部として機能する。制御部13は、前処理部130及び事前学習部133を有する。
 前処理部130は、CNNモデル122の事前学習用データ121に対して以下に説明する前処理を行うことによって、実環境下での推定時における入力データのサイズと事前学習用データの入力データのサイズとが異なる場合であっても、CNNモデルが適切な事前学習を実行できる学習用データを提供する。前処理部130は、事前学習用データ収集部131(収集部)及び変換部132を有する。
 事前学習用データ収集部131は、推定環境を模擬した環境下において計測した連続した入力データと、連続した入力データに対応する出力データとを、事前学習用データとして収集する。事前学習用データ収集部131は、連続した入力データのサイズとして、少なくとも1つ以上推定環境下における再学習用の入力データのサイズを含み、事前学習アルゴリズムが推定環境下における再学習用の入力データのサイズのデータを判別可能である指標をデータセットに含む事前学習用データを収集する。
 変換部132は、事前学習用データ収集部131が収集した連続した入力データを、該入力データよりも大きなサイズを含む、複数のサイズの連続した入力データに変換する。変換部132は、事前学習用データ収集部131が収集した、連続した入力データに対応する出力データを、複数のサイズの連続した入力データにそれぞれ対応する出力データに変換する。変換部132は、変換した入力データ及び出力データを事前学習用データとして、事前学習部133に出力する。
 変換部132は、事前学習用データ収集部131が収集した、少なくとも推定環境下における再学習用の入力データを、該再学習用の入力データのサイズとは異なる他のサイズの入力データの数と同じ数、或いは、他のサイズの入力データの数より多い数含む分布にしたがって、連続した入力データを変換する。分布は、再学習用の入力データが、他のサイズの入力データの数より多い数含む確率分布に従っている。この確率分布は、推定環境下のデータサイズで推定精度を最も高めることを目的として、推定環境で用いる入力データのサイズを分布の中心とした凸型の確率分布である。
 事前学習部133は、前処理部130によって変換された複数のサイズの連続した入力データと、この複数のサイズの連続する入力データにそれぞれ対応した出力データとを、CNNモデル122に学習させる。事前学習部133は、前処理部130により変換された大量の事前学習用データを学習したCNNモデル122の各種パラメータを、実環境下における推定装置20に出力する。
[推定装置の構成]
 次に、推定装置20の構成について説明する。推定装置20は、実環境下に設けられた装置であり、通信処理部21、記憶部22及び制御部23を有する。
 通信処理部21は、通信処理部11と同様の機能を有し、ネットワーク等を介して接続された他の装置(例えば、学習装置10)との間で、各種情報を送受信する通信インタフェースである。
 記憶部22は、記憶部12と同様の機能を有し、半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、推定装置20を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。記憶部22は、再学習用データ221及びCNNモデル222を有する。
 再学習用データ221は、実環境下において再学習のために収集された、連続した入力データと、この入力データに対応する出力データとである。最学習用の入力データは、学習装置10に事前学習用データとして入力データよりも粗い粒度のデータ、すなわち、学習装置10に入力される入力データよりもサイズが大きいデータである。
 CNNモデル222は、モデルパラメータとして、学習装置10から出力された各種パラメータが設定された後に、推定装置20における再学習において、弱い学習を加えられる。
 制御部23は、推定装置20全体を制御する。制御部23は、制御部13と同様の機能を有し、CPUやMPUどの電子回路である。制御部23は、再学習用データ収集部231、再学習部232及び推定部233を有する。
 再学習用データ収集部231は、実環境下において収集された、連続した系列的な入力データと、この入力データに対応する出力データとを再学習用データとして収集する。これらの再学習用データは、学習装置10において事前学習用データとして収集された入力データよりもサイズが大きいデータである。
 再学習部232は、再学習データで、CNNモデル222に弱い学習を加えて、CNNモデル222のモデルパラメータを更新する。例えば、再学習部232は、CNNモデル222の出力層に遠い部分の学習係数を小さくすることによって、弱められた学習を行う。推定システム1では、実環境を模擬した環境下において取得した多量のデータでCNNモデルの事前学習を行っておき、その後、実環境下で得られた少数のデータでCNNモデルに弱い学習を加える。これによって、推定システム1では、実環境下で少数データしか得られない場合であっても、過学習を避けて高い精度で推定が可能なCNNモデル222を生成することができる。
 推定部233は、再学習後のCNNモデル222を用いて推定を行う。推定部233は、CNNモデル222を用いて、推定対象である連続した系列的な入力データに対応する、1つの出力値を推定する。
[処理の流れ]
 ここで、従来の学習方法について説明する。図3は、従来の学習方法を説明する図である。従来、推定時に事前学習時と異なるサイズの入力データをCNNモデルに与えると、推定時に、適切な推定ができないという問題がある。具体的に、事前学習時に、推定したい長さ(例えば、4)に対応した出力が得られない場合には、長さ4のデータを学習に含めることができない(図3の(1)参照)。この場合には、入力データを細かい粒度(例えば、長さ4)で計測できていても、出力の計測ができた大きい粒度(例えば、長さ6)の入力データでしか推定が行なえない(図3の(2)参照)。この結果、推定時に、長さ4の入力データをCNNモデルに与えても、出力が発散してしまい、適切な推定ができない。このように、従来、推定時に、学習時と異なるサイズの入力系列を与えると、適切に推定ができなかった。
 これに対し、本実施の形態の学習装置10では、前処理部130が、実環境下での推定時における入力データのサイズと事前学習用データの入力データのサイズとが異なる場合であっても、モデルが適切な事前学習を実行できるように、事前学習用データを変換している。図4は、学習装置10における処理を説明する図である。図5は、推定装置20における処理を説明する図である。
 図4の(1)に示すように、学習装置10は、実環境で推定したい粒度のデータを模擬環境下で取得する(図4の(A)参照)。このとき、学習装置10は、例えば、細かな粒度での計測を行うことによって、長さ2の入力データと、これに対応する出力データ「4」とを事前学習用のデータD11-1として収集する。ここで、実環境で再学習及び推定したい入力データの粒度は、長さ6であるとする。したがって、収集した入力データの長さと、実環境で推定した入力データの長さが異なる。
 この場合、学習装置10では、前処理部130が、細かい粒度のデータを結合し、実環境で計測可能な大きめの粒度データを様々なスケールで生成し、事前学習に含める(図4の(B)参照)。例えば、前処理部130は、実環境で推定したい長さ6の入力データと、この長さ6に対応する出力データとを、事前学習用データ121から変換し、変換したデータD11-2を事前学習に含める。
 そして、事前学習部133は、事前学習用のデータD11-1とともに、前処理部130が変換したデータD11-2をCNNモデル222に学習させ、図4の(2)に示すように、模擬環境下で、それぞれの粒度で推定できていることを確認する(図4の(C)参照)。
 このように、例えば、模擬環境下で計測された長さ2の入力データを、長さ4や長さ6の入力データに変換したものを含めて事前学習し、実環境で長さ6の状態で再学習するとする。この時、データサイズごとに学習における影響力を変えるような操作を行わない限り、事前学習において2の長さの入力データの数が、長さ4の入力データの数、長さ6の入力データの数よりも少ないと、長さ2のデータの数については、学習において、たいして考慮せずとも、長さ4,6の入力データについて適切に推定できれば、推定がうまくいっているとアルゴリズムが判定を下してしまう(誤差関数を減少させるネットワーク)。このことから、事前学習において、長さ2の入力データは、長さ4,6の入力データの数と同じか、より多くの数で存在している必要がある。
 長さ2の入力データの数を多くしておくと、実環境で用いる長さ2の入力データを重視してモデルを作ることができる。しかしながら、長さ2の入力データが多ければいいというものではない。例えば、長さ2の入力データが100個で、長さ4,6の入力データが1個だった場合、学習や推定はうまくいかないと考えられる。これは、モデルが、長さ2,4,6の入力データがある程度平等に入力されてくる状況を前提としなくなることから、今度は、長さ6の入力データを用いて実環境下で弱い学習を行っても、弱い学習が、長さ2の入力データをモデルに入力した際の推測の経路に全く影響を及ぼさなくなってしまうためである。言い換えると、長4,6の入力データについてモデルが意味のある学習或いは推論を行わなくなってしまう。
 このことから、データサイズの数は、一様分布(長さ2,4,6のデータが同数)に従うか、実環境下のデータ長に対応する目的を強調するにしても、実環境下のデータサイズを中心として、凸型の確率分布を描くような数(長さ2の入力データが一番多く、長さが、そこから離れる(この例では長さ4,6)につれて順々に数が減る分布)である必要がある。
 また、このようにデータ数を揃えなくとも、事前学習の際に、実環境下での入力データの長さと一致した入力データの長さについては、それ以外の入力データの長さよりも誤差に対するペナルティを重くするなどの操作を通じて、擬似的に、実環境下の長さの入力データが、それ以外の長さの入力データと同じ以上に重要視されるよう、事前学習において操作を行うことができる。このような方法をとるために、変換部132は、「実環境下での長さと同じ長さの入力データはこれである」と判別可能な情報(指標)をデータセットに含めて、事前学習用データを変換する。なお、周囲を0で埋める前処理法を用いた場合には、0以外の部分が入力データの長さであるため、入力データそのものが、その判別指標となる。
 続いて、推定装置20は、事前学習後のCNNモデルのモデルパラメータを受け取り、実環境下における再学習を行う(図5の(3)参照。)。実環境下では、推定したい細かな粒度(例えば、長さ2)で入力データを取得できても、細かな粒度の入力データに対応する出力データは、実環境では取得できない(図5の(D)参照)。ただし、実環境下では、大きな粒度のデータであれば入力及び出力ともに取得できるため、推定装置20は、このデータを用いて、CNNを再学習する(図5の(E)参照)。推定装置20は、例えば、長さ6の入力データと、この入力データに対応する出力データ「8」を用いて、弱められた学習(再学習)を行う。
 この結果、図5の(4)に示すように、推定装置20は、学習装置10による事前学習の結果、長さ2の入力データについても出力データを適切に推定することが可能になる。これととともに、推定装置20は、学習装置10による事前学習と再学習データに基づく弱い学習との結果、長さ6の入力データについても、実環境に応じた出力データを適切に推定することが可能になる。
 したがって、本実施の形態によれば、実環境下で再学習では細かい粒度のデータを用いることができない場合であっても、事前学習で得た細かい粒度の入出力データが持つ情報と、実環境下で得た大きな粒度のデータが持つ情報とが協調的に学習されたことで、いずれのサイズの入力データに対しても推定が可能になる(図5の(F)参照)。
[事前学習処理の処理手順]
 次に、事前学習処理の処理手順について説明する。図6は、学習装置10が実行する事前学習処理の処理手順を示すフローチャートである。
 図6に示すように、学習装置10では、前処理部130の事前学習用データ収集部131が、細かな粒度での計測を模擬環境下において連続した系列的な入力データと、連続した系列的な入力データに対応する出力データと事前学習用データとして収集する(ステップS1)。事前学習用データ収集部131は、実環境下での推定装置20に入力される入力データよりも細かい粒度のデータを収集する。
 続いて、前処理部130では、変換部132が、ステップS1において収集した連続した入力データを、該入力データよりも大きなサイズを含む、複数のサイズの連続した入力データに変換するとともに、連続した入力データに対応する出力データを、複数のサイズの連続した入力データにそれぞれ対応する出力データに変換する変換処理を行う(ステップS2)。変換部132は、変換した入力データ及び出力データを事前学習用データとして、事前学習部133に出力する。この際、変換部132は、事前学習用データ収集部131が収集した、連続した入力データを、少なくとも推定環境下における再学習用の入力データを、該再学習用の入力データのサイズとは異なる他のサイズの入力データの数と同じ数、或いは、他のサイズの入力データの数より多い数含む分布にしたがって変換する。そうでない場合には、実環境下での長さと同じ長さの入力データに事前学習において大きな影響力を持たせられるように、それと判別可能な指標を含めておく。
 事前学習部133は、事前学習用データ収集部131が収集したデータ、及び、前処理部130によって変換された複数のサイズの連続した入力データと、この複数のサイズの連続する入力データにそれぞれ対応した出力データとを、CNNモデル122に学習させる事前学習を行う(ステップS3)。そして、事前学習部133は、前処理部130により変換されたデータを含む大量の事前学習用データを学習したCNNモデル122の各種パラメータを、実環境下における推定装置20に出力する(ステップS4)。
[再学習処理の処理手順]
 次に、再学習処理の処理手順について説明する。図7は、推定装置20が実行する再学習処理の処理手順を示すフローチャートである。
 図7に示すように、推定装置20では、再学習用データ収集部231は、実環境下において収集された、連続した系列的な入力データと、この入力データに対応する出力データとを再学習用データとして収集する(ステップS11)。なお、再学習用データは、学習装置10において事前学習用データとして収集された入力データよりもサイズが大きいデータである。
 再学習部232は、再学習データで、CNNモデル222に弱い学習を加える再学習を行う(ステップS12)。そして、再学習部232は、CNNモデル222のモデルパラメータを更新する(ステップS13)。推定部233は、再学習後のCNNモデル222を用いて、入力データに対する推定を実行する。
[実施の形態の効果]
 このように、実施の形態では、CNNモデル122に事前学習を実行する学習装置10に、前処理部130を設けて、事前学習用として収集したデータに前処理を行ってから、事前学習を実行させている。
 具体的には、前処理部130は、推定環境を模擬した環境下において計測した連続した入力データと、連続した入力データに対応する出力データとを、事前学習用データとして収集する。そして、前処理部130は、この連続した入力データを、該入力データよりも大きなサイズを含む、複数のサイズの連続した入力データに変換するとともに、連続した入力データに対応する出力データを、複数のサイズの連続した入力データにそれぞれ対応する出力データに変換する前処理を行い、学習データとして出力する。前処理部130は、事前学習用データ収集部131が収集した、連続した入力データを、少なくとも推定環境下における推定装置20の再学習用の入力データのサイズに変換する。
 言い換えると、学習装置10は、事前学習用データの入力データを合成し、事前学習用データの入力データのサイズを、実環境下での推定時における入力データのサイズを含む複数のサイズのデータに変換するとともに、収集された出力データを、複数のサイズの連続した入力データにそれぞれ対応する出力データに変換する前処理を行っている。
 すなわち、実施の形態では、実環境下での再学習時及び推定時において、事前学習用データの入力データのサイズに対応する出力データが得られない場合であっても、事前学習時には、前処理部130による処理によって、実環境下での推定時における入力データのサイズを含む複数のサイズの入力データ及び該入力データに対応する出力データを生成し、事前学習を実行している。
 したがって、実施の形態では、事前学習用データの粒度の小さい入力データ及び出力データに加え、実環境下において得られる粒度の大きい入力データ及び出力データについても、多量のデータを用いてCNNモデル122に事前学習を実行させることができる。
 そして、実施の形態では、その後、推定装置20において、実環境下で得られた少数のデータで、事前学習後のCNNモデル222に弱い再学習を加えるため、実環境下で少数データしか得られない場合であっても、過学習を避けて高い精度で推定が可能なCNNモデル222を生成することができる。
 上記のように、実施の形態によれば、実環境下での推定時における入力データのサイズと事前学習用データの入力データのサイズとが異なる場合であっても、CNNモデルが適切な事前学習を実行できる学習用データを取得することが可能になる。
[実施例1]
 次に、実施例1として、EOGによる眼球運動推定に適用した場合について説明する。EOGでは、眼球が、前に+方向、後ろに-方向に帯電していることを利用し、視線の向いている方向を推定する方法である。例えば、眼球のすぐ上及びすぐ下に電極を付けて電位を計測し、眼球のすぐ上の電位が上がり、すぐ下の電位が下がったことが計測されれば、眼球前方が上方向に変化、すなわち、視線が上方向に移動したことを推定できる。
 まず、従来のEOGによる眼球運動推定方法を説明する。図8は、従来のEOGによる眼球運動推定方法を説明する図である。図8のグラフG1は、交流EOG法を用いて計測した眼電位の時間依存を示す。グラフG1は、眼電位の変化量を増幅して記録したものである。ここで、区間T2においては、眼球前方が下方向に変化し、そのまま停止していると推定できる。区間T2の最初の電位変化がマイナス方向であることから、眼球後方のマイナス電位が電極に近づき、すなわち、眼球の上に寄り、眼球前方のプラス電位が電極から遠ざかった、すなわち、眼球の下に寄ったと判断できるためである。加えて、その直後に反対側に山なりの波形が現れていることから、その方向変化の直後に停止していることも推定できる。区間T1では眼球の回転はないことや、区間T3では眼球前方が上方向に変化したことも推定できる。
 また、眼球の方向変化のサイズについては、電位変化量のサイズから推定が可能である。具体的には、区間T1のように眼球の方向変化のない時間帯での電位をオフセット値として考え、そこから推定区間中で一番初めに発生した電位変化の山の高さが高ければ高いほど、方向変化も大きいと考える。実際には、十分な精度を出すために、領域中の電位がどの程度オフセット値から離れていたかを合算(積分)して、サイズを算出することによって、方向変化のサイズを算出する。この際、一定領域間の波形と、その領域間に変化した眼球の角度が得られていれば、それらの対応をCNNモデルに学習させることによって、ある新規な領域間の波形から、その領域間に変化した眼球の方向を推定することができるようになる。
 ここで、この推定問題において、出力である推定対象は、眼球の方向(視線位置)変化である。眼球の方向変化を捉えるためには、視線の絶対位置を取得できるアイトラッキングシステムが必要である。リアルタイムに視線の位置を捉えるアイトラッキングシステムがあれば、細かい時間単位で電位を区切り、その区間の中で変化した視線位置を取得できる。例えば、0.1秒間隔で区切った場合、0.1秒ごとの視線位置を出力(データDa-1参照)として事前学習を行うことができる。
 言い換えると、このように細かい間隔で眼球の方向変化を計測するには、高価なアイトラッキングシステムが必要であるものの(図8の(1)参照)、実環境下では、高価なアイトラッキングシステムを常に備えることは難しい。そこで、多くの場合、アイトラッキングシステムを用いずに、指定した距離を視線移動させるなどの方法によって、眼球の方向変化を簡便に計測し、指定した時間内に生じた電位の波形に対応づけたデータ(例えば、データDb-1)で学習を行う。
 しかしながら、アイトラッキングシステムなしには、大きな間隔でしか眼球方向変化量を取得できない(図8の(2)参照)。すなわち、「5秒の間に指定した距離の視線移動を起こしてください」というキャリブレーションをユーザに行わせることはできても、0.1秒ごとにこの行為をユーザに行わせることは不可能であるためである。言い換えると、アイトラキングなしには、リアルタイムに眼球の方向変化量を取得することはできず、5秒などの大きな時間的区間に対応した眼球変化量を出力として用いることになる。
 0.1秒ごとなど細かい時間間隔で推定を行うには、その細かい時間間隔で計測された出力値を実環境下において再学習する必要がある。しかしながら、模擬環境下でアイトラッキングシステムを用いて事前学習用データを収集したとしても、実環境下では、アイトラッキングシステムを設けることが難しいため、事前学習時のデータの粒度に対応する再学習用データを収集することが難しい。このため、従来では、リアルタイムに眼球の方向変化量を推定することを目的とした学習には不適切なデータしか取得できなかった。
 次に、本実施例1におけるEOGによる眼球運動推定方法を説明する。図9は、実施例1におけるEOGによる眼球運動推定方法における事前学習を説明する図である。
 実施例1では、まず、学習装置10の事前学習用データ収集部131が、模擬環境下において、アイトラッキングシステムを用いて事前学習用データを収集する。事前学習用データ収集部131は、連続した入力データとして、眼球運動の推定環境を模擬した環境において計測されたユーザの眼電位の計測値の時系列データを収集し、連続した入力データに対応する出力データとして眼球の方向変化量を収集する。
 例えば、事前学習用データ収集部131は、視線位置を推定したい環境を模擬した環境において、事前に一度だけアイトラッキングシステムを用いて、最も細かい時間間隔で眼球の方向変化量を計測し(図9の(1)参照)、データを収集する。収集されるデータは、例えば、0.1秒ごとに計測された眼電位波形を入力データとし、各入力データに対応する眼球の方向変化量を出力するデータDa12である。なお、視線位置の対象がモニタであれば、同じくモニタであればよく、対象がタブレットであれば、タブレットであればよい。画面と眼球との距離を一定に合わせたり、同一人物の生理データを計測したりする必要はない。
 そして、変換部132は、これらの入力データを様々なサイズの系列ができるように合成し、これらの各サイズの入力データに対応する出力データを生成し、事前学習部133が、CNNモデル122に学習させる(図9の(2),(3)参照)。
 具体的には、変換部132は、入力データである0.1秒ごとに計測された眼電位波形を、0.2秒、0.4秒、0.8秒の各間隔となるように合成し、各合成後の眼電位波形に対応する眼球の方向変化量をそれぞれ求めて、事前学習用データ(例えば、D12-1~D12-3)とする。例えば、0.1秒間隔ごとに、アイトラッキングシステムで計測した場合、変換部132は、0.1秒間隔で撮像された眼電位波形のうち、連続する2つの波形を合成した0.2秒間隔の眼電位波形を入力データとし、合成した0.2秒間隔の眼電位波形に対応する眼球の方向変化量を求めて出力データとする。
 ここで、CNNでは、入力層に近い畳み込み層では、入力データの特徴量を抽出する処理を行い、出力層に近い層では、抽出された主な特徴から出力を推定する処理を行っていると言われている。このうち、入力から特徴量を抽出する過程(畳み込み層)は、計測対象が共通していれば、計測する環境が異なった場合にも、同一のモデルを用いることができる。この過程を学習によって作るときに、細かい粒度から大きい粒度までの入力系列を大量に用いておくことで、推定場面で細かい粒度の入力系列を与えても、適切に特徴抽出を行える畳み込み層を生成することができる。
 次に、適用先となる実環境での再学習について説明する。図10は、実施例1におけるEOGによる眼球運動推定方法における再学習を説明する図である。実環境においては、アイトラッキングシステムを用いず、被験者に眼球移動量を指示するなどの方法を用いて、大きな時間間隔で取得した眼球方向変化量を出力、電位の波形を入力とし、CNNを再学習する。この時、大きなサイズのデータしか取得できない実環境での再学習にあたっては、CNNのうちFully connectedな出力層に近い数層の結線のみを学習の対象とし、変更する(図10の(1)参照)。
 事前学習によって、細かな時間間隔を含んだ、様々な時間間隔で区分した波形の特徴量を抽出できる畳み込み層を実現しておいた。ここでは、それらによって抽出された主な特徴から出力を算出するFully connected層だけを、大きな時間間隔で取得した現実環境でのデータを用いて調節する。前述の通り、ある時間間隔で取得したデータのみを用いた学習は、モデルをその時間間隔に特化させ、それ以外の時間間隔で取得したデータへの対応力を低下させる。これに対し、本実施例1では、学習をFully connected層に限定しておくことによって、モデル全体が大きな時間間隔にしか対応できない形に変化するのを防ぎつつ、事前学習での模擬環境と現実環境の違いによる大まかな入出力関係の違いを調整することを可能にする。
[実施例2]
 次に、実施例2として、カメラで撮像した画像による視線位置推定に適用した場合について説明する。図11は、カメラから取得された画像を説明する図である。図12は、従来のカメラで撮像した画像による視線位置推定方法を説明する図である。
 カメラによる視線位置の推定では、多くの場合、ユーザの顔を撮影し、撮像した画像G21,G22(図11参照)に対する画像処理によって瞳孔の位置を取得する。取得された瞳孔の位置と、画面上での視線位置を対応付けることで、カメラを用いた視線位置推定は実現される。
 カメラ画像から、眼球の方向(視線位置)変化を捉えたい場合を考える。視線位置の方向変化を捉えるには、視線の絶対位置を取得できるアイトラッキングシステムが必要である。リアルタイムに視線の位置を捉えるアイトラッキングシステムがあれば、細かい時間単位で画像を撮像し、その時間間隔ごとに変化した視線位置を取得できる。例えば、0.1秒間隔で撮像を行った場合、0.1秒ごとの視線位置を出力として事前学習を行うことができる(図12上図参照)。
 しかしながら、細かい時間間隔で画面上での視線位置を取得するには、高価なアイトラッキングシステムが必要であり(図12の(1)参照)、いつでもアイトラッキングシステムを使えるわけではない。そこで、多くの場合、指定した距離を視線移動させるなどの方法によって、視線位置の方向変化量を簡便に計測し、指定した時間内に生じた画像内での瞳孔の移動量とそれを対応づけて学習を行う。したがって、従来、アイトラッキングシステムなしには、大きな間隔でしか視線位置の方向変化量を取得できなかった(図12の(2)参照)。
 このため、この手法では、リアルタイムに眼球の方向変化量を取得することはできず、5秒などの大きな時間的区間に対応した眼球変化量を出力として用いることになる。すなわち、「5秒の間に指定した距離の視線移動を起こしてください」というキャリブレーションをユーザに行わせることはできても、0.1秒ごとにこの行為をユーザに行わせることはできないためである。0.1秒ごとなど、細かい時間間隔で推定を行うには、その細かい時間間隔で計測された出力値を学習する必要があるため、従来では、リアルタイムに眼球の方向変化量を推定することを目的とした学習には不適切なデータしか取得できないという問題があった。
 次に、本実施例2におけるカメラで撮像した画像による視線位置推定方法を説明する。図13は、実施例2におけるカメラで撮像した画像による視線位置推定における事前学習を説明する図である。
 実施例2では、まず、学習装置10の事前学習用データ収集部131が、連続した入力データとして、視線位置の推定環境を模擬した環境において連続して撮像されたユーザの瞳孔位置を収集し、連続した入力データに対応する出力データとして画面上の視線位置の方向変化量を収集する。
 具体的には、事前学習用データ収集部131が、視線位置を推定したい環境を模擬した模擬環境下で、事前に、一度、アイトラッキングシステムを用いて、細かい時間間隔でユーザの顔を撮像した画像を入力データとして取得するとともに、これらに対応する視線位置の方向変化量を計測しておく(図13の(1)参照)。なお、視線位置の対象がモニタであれば、同じくモニタであればよく、対象がタブレットであれば、タブレットであればよい。画面と眼球との距離を一定に合わせたり、同一人物の生理データを計測したりする必要はない。
 そして、変換部132は、これらの入力データを様々なサイズの系列が出来るように合成し、これらの各サイズの入力データに対応する出力データを生成し、事前学習部133が、CNNモデル122に学習させる(図13の(2),(3)参照)。
 具体的には、変換部132は、入力データである0.1秒ごとに計測された画像を、0.2秒間隔での画像に変換し、各変換後の画像に対応する視線位置の方向変化量をそれぞれ求めて、事前学習用データ(例えば、D13-1~D13-3)とする。例えば、0.1秒間隔ごとにアイトラッキングシステムで計測した場合には、0.1行間隔で撮像された画像から、0.2秒間隔で画像を抽出して入力データとし、抽出した画像間における視線方向の変化量を求めて出力データとする。
 CNNは、実施例1で説明したEOGで説明した一次元の入力データ(1つのセンサ値が時系列にそって変化していくデータ)に限らず、二次元以上のデータも入力として扱うことができる。このため、事前学習部133は、縦×横の2次元データである画像が時系列に沿って変化していく2次元データを、そのまま、CNNモデル122の入力として、事前学習を行う。
 次に、適用先となる実環境での再学習について説明する。実環境においては、アイトラッキングシステムを用いず、被験者に眼球移動量を指示するなどの方法を用いて、大きな時間間隔で取得した視線位置の方向変化量を出力、カメラで撮像した画像の変化系列を入力とし、CNNを再学習する。この時、実施例1において説明したように、学習にあたっては、CNNのうちFully connectedな出力層に近い数層の結線のみを学習の対象とする(図10参照)。
[実施例3]
 次に、実施例3として、加速度センサの計測値による物体移動量推定に適用した場合について説明する。
 この物体移動量推定補法では、物体がある位置から別の位置に移動するまでに取得される加速度センサからの時系列データを入力とし、実際の物体の移動量を出力としてCNNモデルに事前学習を行う。このような場合、リアルタイムに物体の移動量を推定できるCNNモデルを生成するには、別のセンサ情報を用いて、リアルタイムの物体位置を取得し、このように得られた値を出力データとし、加速センサによる計測値の時系列データを入力データとして事前学習を行う必要がある。例えば、別のセンサ情報として、接触センサを用いた位置取得などがある。しかしながら、実環境では、加速度センサとは別のセンサを用いることができず、細かい時間間隔で出力値が得られない場合がある。
 このような場合であっても、学習装置10の事前学習用データ収集部131は、連続した入力データとして、物体移動の推定環境を模擬した環境において計測された物体の加速度の時系列データを収集し、連続した入力データに対応する出力データとして物体の実際の移動量を収集する。具体的には、事前学習用データ収集部131は、模擬環境下において、細かい時間間隔での、加速度センサによる計測値と、加速度センサとは異なる別のセンサを用いた物体移動量の計測値とを、事前学習用データとして取得する。
 そして、変換部132は、これらの入力データを様々なサイズの系列が出来るように合成し、これらの各サイズの入力データに対応する出力データを生成し、事前学習部133が、CNNモデル122に学習させる。例えば、0.1秒間隔ごとに、加速度センサ及び物体移動量を計測した場合、変換部132は、0.1秒間隔で計測した加速度センサの計測値のうち、連続する2つの計測値を、0.2秒間隔で計測した値となるように変換して入力データとする。そして、変換部132は、0.1秒間隔ごとに計測された物体移動量を基に、変換した0.2秒間隔の加速度センサの計測値に対応する物体の移動量を求めて出力データとする。
 そして、実環境下では、推定装置20は、粗い時間間隔で取得した物体位置情報のみを用いて再学習を行うことによって、細かい時間間隔での物体移動量推定が可能となる。なお、実環境下では、例えば、カメラによって物体が特定の位置を超えたタイミングを記録するなどの方法を採用してもよい。
 CNNによって入力から出力を推定する粒度は細かいほど良い場合が多い。しかしながら、細かい粒度で推定を行いたい場合、何の工夫もしなければ、事前学習において用いる入力データおよび出力データを細かい粒度で計測するしかない。一方、何らかの計測の粒度を細かくしていくと、経済的及び技術的な困難度が上がっていく。このような状況において、粒度の細かい計測が必要となる場面を少なくすることができれば、計測において経済的及び技術的な困難に行き当たる可能性を減らすことができる。
 本実施例1~3では、推定時における再学習で用いる出力データについて、細かい粒度での計測の必要性を低減させることによって、計測における経済的及び技術的な困難を回避している。例えば、実施例1~3において記載した通り、眼電位による視線移動量推定や、カメラ画像による視線移動量推定、その他の領域での推定において本実施の形態を適用する。この結果、技術的ハードルが高くなることの多いリアルタイムでの計測が必要となる場面を事前学習時のみに限ることができ、大幅に削減することができる。
 また、実施例1~3では、実環境において取得した少数のデータで、モデルの出力層に近い部分のみを再調整することで、データ数の少なさを補った。ここで、データのサイズに依存して生じるデータ数不足、具体的には、再学習時に特定のサイズのデータのみが存在しない場合がある。これに対し、本実施例1~3に示すように、学習装置10は、事前学習時に細かい粒度で計測された入力データを様々なサイズの系列ができるように合成し、これらの各サイズの入力データに対応する出力データを生成している。この際、実施例1~3に示すように、学習装置10は、再学習時の学習対象であるサイズの入力データと出力データを事前学習用データとして生成することによって、再学習時に特定のサイズのデータのみが存在しない場合であっても、適切な事前学習及び再学習の実行を可能にする。
[システム構成等]
 図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷図や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、或いは、ワイヤードロジックによるハードウェアとして実現され得る。本実施の形態に係る学習装置10及び推定装置20は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。
 また、本実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、或いは、手動的に行なわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
 図14は、プログラムが実行されることにより、学習装置10及び推定装置20が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
 メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
 ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、学習装置10及び推定装置20の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、学習装置10及び推定装置20における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
 また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
 なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。或いは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
 1 推定システム
 10 学習装置
 11,21 通信処理部
 12,22 記憶部
 13,23 制御部
 121 事前学習用データ
 122,222 CNNモデル
 130 前処理部
 131 事前学習用データ収集部
 132 変換部
 133 事前学習部
 20 推定装置
 221 再学習用データ
 231 再学習用データ収集部
 232 再学習部
 233 推定部

Claims (9)

  1.  推定環境を模擬した環境下において計測した連続した入力データと、前記連続した入力データに対応する出力データとを、事前学習用データとして収集する収集部と、
     前記連続した入力データを、該入力データよりも大きなサイズを含む、複数のサイズの連続した入力データに変換するとともに、前記連続した入力データに対応する出力データを、前記複数のサイズの連続した入力データにそれぞれ対応する出力データに変換し、学習データとして出力する変換部と、
     を有することを特徴とする前処理装置。
  2.  前記変換部は、少なくとも推定環境下における再学習用の入力データを、該再学習用の入力データのサイズとは異なる他のサイズの入力データの数と同じ数、或いは、前記他のサイズの入力データの数より多い数含む分布にしたがって、前記連続した入力データを変換することを特徴とする請求項1に記載の前処理装置。
  3.  前記分布は、前記再学習用の入力データを、前記他のサイズの入力データの数より多い数含む確率分布に従っており、
     前記確率分布は、推定環境下で用いる入力データのサイズを分布の中心とした凸型の確率分布であることを特徴とする請求項2に記載の前処理装置。
  4.  前記収集部は、前記連続した入力データのサイズとして、少なくとも1つ以上推定環境下における再学習用の入力データのサイズを含み、事前学習アルゴリズムが前記推定環境下における再学習用の入力データのサイズのデータを判別可能である指標をデータセットに含む前記事前学習用データを収集することを特徴とする請求項1~3のいずれか一つに記載の前処理装置。
  5.  前記収集部は、前記連続した入力データとして、眼球運動の推定環境を模擬した環境において計測されたユーザの眼電位の計測値の時系列データを収集し、前記連続した入力データに対応する出力データとして眼球の方向変化量を収集することを特徴とする請求項1~4のいずれか一つに記載の前処理装置。
  6.  前記収集部は、前記連続した入力データとして、視線位置の推定環境を模擬した環境において連続して撮像されたユーザの瞳孔位置を収集し、前記連続した入力データに対応する出力データとして画面上の視線位置の方向変化量を収集することを特徴とする請求項1~4のいずれか一つに記載の前処理装置。
  7.  前記収集部は、前記連続した入力データとして、物体移動の推定環境を模擬した環境において計測された物体の加速度の時系列データを収集し、前記連続した入力データに対応する出力データとして物体の実際の移動量を収集することを特徴とする請求項1~4のいずれか一つに記載の前処理装置。
  8.  前処理装置が実行する前処理方法であって、
     推定環境を模擬した環境下において計測した連続した入力データと、前記連続した入力データに対応する出力データとを、事前学習用データとして収集する工程と、
     前記連続した入力データを、該入力データよりも大きなサイズを含む、複数のサイズの連続した入力データに変換するとともに、前記連続した入力データに対応する出力データを、前記複数のサイズの連続した入力データにそれぞれ対応する出力データに変換し、学習データとして出力する工程と、
     を含んだことを特徴とする前処理方法。
  9.  推定環境を模擬した環境下において計測した連続した入力データと、前記連続した入力データに対応する出力データとを、事前学習用データとして収集するステップと、
     前記連続した入力データを、該入力データよりも大きなサイズを含む、複数のサイズの連続した入力データに変換するとともに、前記連続した入力データに対応する出力データを、前記複数のサイズの連続した入力データにそれぞれ対応する出力データに変換し、学習データとして出力するステップと、
     をコンピュータに実行させるための前処理プログラム。
PCT/JP2019/044884 2018-12-03 2019-11-15 前処理装置、前処理方法及び前処理プログラム WO2020116129A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/296,692 US20220027726A1 (en) 2018-12-03 2019-11-15 Pre-processing device, pre-processing method, and pre-processing program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018226618A JP7087969B2 (ja) 2018-12-03 2018-12-03 前処理装置、前処理方法及び前処理プログラム
JP2018-226618 2018-12-03

Publications (1)

Publication Number Publication Date
WO2020116129A1 true WO2020116129A1 (ja) 2020-06-11

Family

ID=70975428

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/044884 WO2020116129A1 (ja) 2018-12-03 2019-11-15 前処理装置、前処理方法及び前処理プログラム

Country Status (3)

Country Link
US (1) US20220027726A1 (ja)
JP (1) JP7087969B2 (ja)
WO (1) WO2020116129A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230015100A (ko) * 2021-07-22 2023-01-31 재단법인대구경북과학기술원 입출력 데이터 기반 제어 시스템 외란 추정 방법 및 장치
WO2024053000A1 (en) * 2022-09-07 2024-03-14 Mitsubishi Electric Corporation Method and system for configuring preprocessing for supervised learning model

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017091278A (ja) * 2015-11-11 2017-05-25 国立研究開発法人情報通信研究機構 学習装置、予測装置、学習方法、予測方法、およびプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7020642B2 (en) * 2002-01-18 2006-03-28 Pavilion Technologies, Inc. System and method for pre-processing input data to a support vector machine
JP4452833B2 (ja) * 2006-03-31 2010-04-21 国立大学法人静岡大学 視線移動検出方法及び視線移動検出装置
US7711734B2 (en) * 2006-04-06 2010-05-04 Sas Institute Inc. Systems and methods for mining transactional and time series data
US8631040B2 (en) * 2010-02-23 2014-01-14 Sas Institute Inc. Computer-implemented systems and methods for flexible definition of time intervals
US8738549B2 (en) * 2010-12-21 2014-05-27 International Business Machines Corporation Predictive modeling
JP5709915B2 (ja) * 2013-02-28 2015-04-30 ヤフー株式会社 機械学習装置、機械学習方法、およびプログラム
AU2017300259A1 (en) * 2016-07-18 2019-02-14 Nant Holdings Ip, Llc Distributed machine learning systems, apparatus, and methods

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017091278A (ja) * 2015-11-11 2017-05-25 国立研究開発法人情報通信研究機構 学習装置、予測装置、学習方法、予測方法、およびプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MALHOTRA, PANKAJ: "TimeNet: Pre-trained deep recurrent neural network for time series classification", ARXIV.ORG, 2017, XP080772899 *
SASAKI, KAZUMA ET AL.: "Handling the simulation-to-reality gap for learning systems of real robots: A survey", IEICE TECHNICAL REPORT, vol. 118, no. 260, 12 October 2018 (2018-10-12), pages 5 - 8 *

Also Published As

Publication number Publication date
US20220027726A1 (en) 2022-01-27
JP2020091535A (ja) 2020-06-11
JP7087969B2 (ja) 2022-06-21

Similar Documents

Publication Publication Date Title
US11763603B2 (en) Physical activity quantification and monitoring
Zeng et al. Silhouette-based gait recognition via deterministic learning
JP6045549B2 (ja) 感情および行動を認識するための方法およびシステム
RU2648573C2 (ru) Выделение ресурсов для машинного обучения
CN104598871B (zh) 一种基于相关回归的面部年龄计算方法
JP2021522591A (ja) 三次元実物体を実物体の二次元のスプーフと区別するための方法
JP6833708B2 (ja) 非同期信号を処理するための方法
CN105426929B (zh) 对象形状对准装置、对象处理装置及其方法
JP6977345B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
US11503998B1 (en) Method and a system for detection of eye gaze-pattern abnormalities and related neurological diseases
CN109271918B (zh) 基于重心偏移模型区分平衡能力障碍人群的方法
CN107016233A (zh) 运动行为和认知能力的关联分析方法及系统
CN110879982A (zh) 一种人群计数系统及方法
CN114783611B (zh) 基于人工智能的神经康复动作检测系统
WO2020116129A1 (ja) 前処理装置、前処理方法及び前処理プログラム
Jaroensri et al. A video-based method for automatically rating ataxia
Gong et al. A novel computer vision based gait analysis technique for normal and Parkinson’s gaits classification
JP6377566B2 (ja) 視線計測装置、視線計測方法、およびプログラム
WO2020217369A1 (ja) オブジェクト特徴量抽出装置、オブジェクト特徴量抽出方法及び非一時的なコンピュータ可読媒体
JP2021033359A (ja) 感情推定装置、感情推定方法、プログラム、情報提示装置、情報提示方法及び感情推定システム
US20200320718A1 (en) System and method for eye tracking
JP7396482B2 (ja) 判定プログラム、判定装置、および判定方法
US20220383652A1 (en) Monitoring Animal Pose Dynamics from Monocular Images
US20230230277A1 (en) Object position estimation device, object position estimation method, and recording medium
Chaabouni et al. Prediction of visual attention with Deep CNN for studies of neurodegenerative diseases

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19891897

Country of ref document: EP

Kind code of ref document: A1