WO2020079815A1 - 学習プログラム、学習方法および学習装置 - Google Patents

学習プログラム、学習方法および学習装置 Download PDF

Info

Publication number
WO2020079815A1
WO2020079815A1 PCT/JP2018/038883 JP2018038883W WO2020079815A1 WO 2020079815 A1 WO2020079815 A1 WO 2020079815A1 JP 2018038883 W JP2018038883 W JP 2018038883W WO 2020079815 A1 WO2020079815 A1 WO 2020079815A1
Authority
WO
WIPO (PCT)
Prior art keywords
learning
data
restorers
restored
feature amount
Prior art date
Application number
PCT/JP2018/038883
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 PCT/JP2018/038883 priority Critical patent/WO2020079815A1/ja
Priority to EP18937480.4A priority patent/EP3869418A4/en
Priority to JP2020551682A priority patent/JP7192873B2/ja
Priority to CN201880098669.5A priority patent/CN112912901A/zh
Publication of WO2020079815A1 publication Critical patent/WO2020079815A1/ja
Priority to US17/228,517 priority patent/US20210232854A1/en

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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2111Selection of the most significant subset of features by using evolutionary computational techniques, e.g. genetic algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • 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 a learning program, a learning method, and a learning device.
  • the learning data used in the previous learning is also held in the form of feature quantity.
  • the input data obtained by the above technique is not always data suitable for determining whether the learning data used for learning may be retained.
  • the input data x ′ that gives the best feature quantity z. Is obtained by the gradient method.
  • the input data x ′ obtained by the gradient method is not always useful data for judgment such as risk evaluation.
  • an object is to provide a learning program, a learning method, and a learning device that can appropriately judge data retention.
  • the learning program causes the computer to input, for each input data input to the learning model, from the plurality of characteristic amounts generated by the learning model corresponding to each input data, the plurality of characteristic amounts respectively.
  • a process of generating restored data is executed using a plurality of restorers corresponding to.
  • the learning program causes a computer to perform a process of learning the plurality of restorers such that each of the plurality of restore data generated by each of the plurality of restorers and the input data approach each other.
  • FIG. 1 is a diagram illustrating an example of the entire learning apparatus according to the first embodiment.
  • FIG. 2 is a diagram for explaining the reference technique.
  • FIG. 3 is a functional block diagram of the functional configuration of the learning device according to the first embodiment.
  • FIG. 4 is a diagram illustrating a learning example of a learning model.
  • FIG. 5 is a diagram for explaining the feature amount.
  • FIG. 6 is a diagram for explaining the learning of the decoder.
  • FIG. 7 is a diagram illustrating an example of the evaluation method.
  • FIG. 8 is a diagram illustrating another example of the evaluation method.
  • FIG. 9 is a flowchart showing the flow of processing.
  • FIG. 10 is a diagram illustrating a learning example according to the second embodiment.
  • FIG. 11 is a diagram illustrating a learning example according to the third embodiment.
  • FIG. 12 is a diagram illustrating a learning example according to the fourth embodiment.
  • FIG. 13 is a diagram illustrating a hardware configuration example.
  • FIG. 1 is a diagram illustrating an example of the entire learning apparatus according to the first embodiment.
  • the learning device 10 shown in FIG. 1 learns a learning model for performing image classification of cars and people. Specifically, the learning device 10 executes a learning process using machine learning or deep learning (deep learning (DL) / Deep Learning) so that learning data can be correctly discriminated (classified) for each event. , A neural network (NN) is learned.
  • DL deep learning
  • NN neural network
  • the learning device 10 learns a restorer that generates a plurality of restored data from a plurality of feature amounts generated from a learning model, and holds the feature amount to be held based on the decoding result by the decoder. Evaluate. Specifically, the learning device 10 uses, for each learning data input to the learning model, from each feature amount generated by the learning model corresponding to each learning data, using a restorer corresponding to each feature amount. Generate restored data. Then, the learning device 10 trains the plurality of restorers so that the plurality of restored data generated by the plurality of restorers and the learning data come close to each other.
  • the learning device 10 learns a learning model using the NN by using each of a plurality of learning data. After that, the learning device 10 inputs the original learning data used for the learning model into the learned learning model, and acquires the feature amount A, the feature amount B, and the feature amount C from each intermediate layer of the NN. Then, the learning device 10 inputs the feature amount A to the restorer A to generate the restore data A, and learns the restorer A so that the error between the restore data A and the original learning data becomes small. Similarly, the learning device 10 inputs the feature amount B to the restorer B to generate the restore data B, and learns the restorer B so that the error between the restore data B and the original learning data becomes small. Similarly, the learning device 10 inputs the feature amount C to the restorer C to generate the restore data C, and learns the restorer C so that the error between the restore data C and the original learning data becomes small.
  • the learning device 10 learns each restorer using each feature amount obtained by inputting the original learning data into the learned learning model. After the learning of each restorer is completed, the learning device 10 inputs each learning data to the learned learning model to obtain each feature amount, inputs each feature amount to each learned restorer, and inputs each feature amount to each learned restorer. Generate restored data. After that, the learning device 10 determines the storable feature amount based on the restoration degree of each restoration data.
  • the learning apparatus 10 can select the retained characteristic amount according to the decoding degree of the decoded data decoded from each characteristic amount when selecting the characteristic amount to be stored as a substitute for the original learning data in deep learning. Therefore, it is possible to appropriately determine whether to retain the feature amount.
  • Reference technology Here, a reference technique that is generally used will be described as a technique for evaluating the characteristic amount of the holding target. First, deep learning for a neural network, which is common to both the reference technique and the first embodiment, will be described.
  • Deep learning is a method of learning a learning model that transforms an input x by a function having a differentiable parameter to obtain an output y by a gradient method so as to obtain a desired y for the training data x.
  • a model h h N (... h 2 (h 1 (x))) including an arbitrary differentiable operation h is also included.
  • FIG. 2 is a diagram for explaining the reference technique.
  • original learning data used for learning in a learning model is input to a learned learning model to generate a feature amount.
  • the input data that is the feature amount is estimated by the gradient method.
  • the estimated data x * argmin x d (f (x), z) is calculated by the gradient method.
  • f is an expression of a differentiable learning model showing conversion from x to z
  • d is a differentiable distance function or error function (square error).
  • Such a reference technique is a technique of estimating original learning data from a feature amount, and a plurality of learning data items can be estimated from one feature amount. Therefore, whether the feature amount itself is a feature amount that can be held or not Can't judge. Therefore, in the first embodiment, the problem of the reference technology is improved by generating an index for determining whether or not the feature amount itself is a feature amount that can be held.
  • FIG. 3 is a functional block diagram of the functional configuration of the learning device 10 according to the first embodiment.
  • the learning device 10 includes a communication unit 11, a storage unit 12, and a control unit 20.
  • the communication unit 11 is a processing unit that controls communication of other devices, and is, for example, a communication interface.
  • the communication unit 11 receives a process start instruction from the administrator's terminal.
  • the communication unit 11 also receives learning data (input data) to be learned from the administrator's terminal or the like and stores it in the learning data DB 13.
  • the storage unit 12 is an example of a storage device that stores programs and data, and is, for example, a memory or a hard disk.
  • the storage unit 12 stores a learning data DB 13 and a learning result DB 14.
  • the learning data DB 13 is a database that stores learning data used for learning a learning model.
  • the learning data stored here may be labeled data to which a correct answer label has been given by an administrator or may be unlabeled data to which a correct answer label has not been given. Note that various data such as images, moving images, documents, and graphs can be adopted as the learning data.
  • the learning result DB 14 is a database that stores learning results.
  • the learning result DB 14 stores a discrimination result (classification result) of learning data by the control unit 20 and various parameters learned by machine learning or deep learning.
  • the control unit 20 is a processing unit that controls the entire processing of the learning device 10, and is, for example, a processor.
  • the control unit 20 has a model learning unit 21, a decoder learning unit 22, and an evaluation unit 23.
  • the model learning unit 21, the decoder learning unit 22, and the evaluation unit 23 are an example of processes executed by an electronic circuit included in a processor or the like, or a processor or the like.
  • the model learning unit 21 is a processing unit that executes learning of a learning model using NN or the like. Specifically, the model learning unit 21 performs NN learning using the learning data stored in the learning data DB 13 and stores the learning result in the learning result DB 14.
  • FIG. 4 is a diagram illustrating a learning example of the learning model.
  • the model learning unit 21 reads the learning data with the correct answer label stored in the learning data DB 13. Then, the model learning unit 21 inputs the learning data to the NN and obtains an output result. After that, the model learning unit 21 learns the NN so that the error between the output result and the correct label becomes small.
  • the learning method a known method such as a gradient method or an error back propagation method can be adopted.
  • the model learning unit 21 can also continue the learning process until the NN determination accuracy becomes equal to or higher than the threshold value, and terminates at an arbitrary timing such as a predetermined number of times or until learning by all learning data is completed. You can
  • the decoder learning unit 22 is a decoder that is a learning model using NN, has a learning unit for each decoder that restores data from the feature amount, and learns each decoder using the original learning data. It is a processing unit. Specifically, the decoder learning unit 22 reads out various parameters from the learning result DB 14 and constructs a learning model including a neural network in which various parameters are set. Then, the decoder learning unit 22 sets the decoder for each intermediate layer included in the learning model NN. Then, the decoder learning unit 22 generates restored data from each feature amount by each decoder, and learns each decoder so that the restored data and the original learning data come close to each other.
  • FIG. 5 is a diagram for explaining the feature amount
  • FIG. 6 is a diagram for explaining learning of the decoder.
  • the NN has an input layer for inputting an input x, three intermediate layers, and an output layer for outputting y.
  • the information obtained in the first intermediate layer is the characteristic amount A
  • the information obtained in the second intermediate layer is the characteristic amount B
  • the information obtained in the third intermediate layer is the characteristic amount C.
  • the decoder learning unit 22 prepares a decoder A corresponding to the feature amount A, a decoder B corresponding to the feature amount B, and a decoder C corresponding to the feature amount C, and executes learning of each decoder. .
  • the decoder A learning unit 22a of the decoder learning unit 22 inputs the original learning data into the learned learning model (NN) and acquires the feature amount A. Then, the decoder A learning unit 22a inputs the feature amount A to the decoder A and generates the restored data A. After that, the decoder A learning unit 22a calculates an error between the restored data A and the original learning data (hereinafter sometimes referred to as a restoration error), and learns the decoder A so that this error becomes small. To do.
  • a restoration error an error between the restored data A and the original learning data
  • the decoder B learning unit 22b of the decoder learning unit 22 inputs the original learning data to the learned learning model (NN) and acquires the feature amount B. Then, the decoder B learning unit 22b inputs the feature amount B to the decoder B to generate the restored data B. After that, the decoder B learning unit 22b calculates an error between the restored data B and the original learning data, and learns the decoder B so that this error becomes small.
  • the decoder C learning unit 22c of the decoder learning unit 22 inputs the original learning data into the learned learning model (NN) and acquires the feature amount C. Then, the decoder C learning unit 22c inputs the feature amount C to the decoder C and generates the restored data C. After that, the decoder C learning unit 22c calculates an error between the restored data C and the original learning data, and learns the decoder C so that this error becomes small.
  • each learning unit stores the learning result of the decoder in the learning result DB 14.
  • the error may be, for example, a squared error, and the learning of the decoder may be performed by a gradient method or an error back propagation method. Further, the learning of the decoder can be continued until the accuracy of NN determination reaches a threshold value or more, and can be ended at an arbitrary timing such as a predetermined number of times.
  • the number of learning devices is an example, and the setting can be changed arbitrarily.
  • the evaluation unit 23 is a processing unit that evaluates the degree of restoration of each feature amount using each learned decoder for each learning data. Specifically, the evaluation unit 23 reads various parameters corresponding to the learning model from the learning result DB 14, constructs a learning model including a neural network in which various parameters are set, and corresponds to each decoder from the learning result DB 14. The various parameters to be read are read and each decoder including a neural network or the like in which the various parameters are set is constructed. Then, the evaluation unit 23 inputs the learning data to be held into the learned learning model to acquire each feature amount. Then, the evaluation unit 23 inputs each feature amount into the corresponding learned decoder to generate each decoded data. Then, the evaluation unit 23 determines the restoration status of each decoded data and determines the characteristic amount to be held.
  • FIG. 7 is a diagram illustrating an example of the evaluation method.
  • the evaluation unit 23 inputs the original learning data into the learned learning model. Then, the evaluation unit 23 obtains each of the feature amount A, the feature amount B, and the feature amount C obtained from the learned learning model by using the learned decoder A, the learned decoder B, and the learned decoder C. The data is input to each to generate the restored data A, the decoded data B, and the decoded data C.
  • the evaluation unit 23 calculates a squared error A between the restored data A and the original learning data, a squared error B between the restored data B and the original learning data, and a squared error C between the restored data B and the original learning data. Then, the evaluation unit 23 specifies the square error B that is less than a preset threshold value that is allowed to be held and that is closest to the threshold value among the square error A, the square error B, and the square error C. As a result, the evaluation unit 23 determines to retain the feature amount B from which the squared error B is restored.
  • the evaluation unit 23 can also present the restored data itself to the user who is the provider of the original learning data for evaluation.
  • FIG. 8 is a diagram illustrating another example of the evaluation method. As shown in FIG. 8, the evaluation unit 23 uses the same learning method as in FIG. 7 to generate the restored data A, the decoded data B, and the decoded data C using the original learning data and the respective restorers. Then, the evaluation unit 23 presents the restored data A, the decoded data B, and the decoded data C to the user.
  • the user determines that the restored data A and the restored data C have been restored too much, and that the restored data B has been restored to such an extent that the original learning data is unknown. In this case, the evaluation unit 23 determines to retain the feature amount B corresponding to the restored data B.
  • the method of FIG. 8 is particularly effective when the learning data is image data or the like.
  • FIG. 9 is a flowchart showing the flow of processing. As shown in FIG. 9, when the processing start is instructed (S101: Yes), the model learning unit 21 initializes the learning model (S102).
  • the model learning unit 21 reads the learning data stored in the learning data DB 13 (S103) and learns the learning model using the learning data (S104). Then, when the accuracy is not higher than the threshold value (S105: No), the model learning unit 21 returns to S103 and repeats the learning. On the other hand, when the accuracy becomes equal to or higher than the threshold value (S105: Yes), the model learning unit 21 outputs the learning result to the learning result DB 14 (S106).
  • the decoder learning unit 22 initializes each decoder (S107), it reads the learning data stored in the learning data DB 13 (S108), and uses the learning data and the learned learning model to determine each decoder. Learn (S109).
  • the decoder learning unit 22 returns to S108 and repeats the learning.
  • the decoder learning unit 22 outputs the learning result to the learning result DB 14 (S111).
  • the evaluation unit 23 generates each feature amount from the learned learning model for each of the learning data to be held, inputs each feature amount to each learned decoder to generate each decoded data, and The feature amount is evaluated (S112).
  • the learning device 10 can learn the inverse converter to obtain the restorer from the feature amount to the original data, and learns so as to directly minimize the error between the restored data and the original learning data. Can be made. Further, the learning device 10 can convert the feature quantity into a format in which the feature data is restored to the original data as much as possible so that the feature quantity to be held and the original learning data can be compared. As a result, the learning device 10 can appropriately evaluate each of the plurality of feature amounts by the restoration data generated from each feature amount.
  • each decoder of the learning device 10 can also learn restoration to another feature amount before the feature amount used by itself, instead of the original learning data. As a result, it is possible to reduce the variation in the learning difficulty of each restorer. Therefore, in the second embodiment, an example will be described in which not the original learning data but the restoration to the previous feature amount is learned. Although an example of restoring the feature amount output from the immediately previous intermediate layer will be described here, the restoration target is not limited to this, and the intermediate layer before the intermediate layer corresponding to itself is restored. I wish I had it.
  • FIG. 10 is a diagram illustrating a learning example according to the second embodiment.
  • the decoder learning unit 22 inputs the original learning data into the learned learning model. Then, the decoder A learning unit 22a inputs the feature amount A output from the learned learning model to the decoder A to generate the restored data A, which is an error between the restored data A and the original learning data. The decoder A is learned so that the restoration error becomes small.
  • the decoder B learning unit 22b inputs the feature amount B obtained from the learned learning model to the decoder B and generates the restored data B restored to the feature amount A obtained from the previous intermediate layer. To do. Then, the decoder B learning unit 22b learns the decoder B so that the restoration error, which is the error between the feature amount A obtained from the previous intermediate layer and the restoration data B, becomes small.
  • the decoder C learning unit 22c inputs the feature amount C obtained from the learned learning model to the decoder C and outputs the feature amount B obtained from the previous intermediate layer. The restoration data C restored to the above is generated. Then, the decoder C learning unit 22c learns the decoder C such that the restoration error, which is the error between the feature amount B obtained from the previous intermediate layer and the restoration data C, becomes small.
  • the evaluation unit 23 calculates the squared error A between the restored data A and the original learning data, the squared error B between the restored data B and the feature amount A, the squared error C between the restored data C and the feature amount B, and based on the threshold value. Then, the retained characteristic amount is determined.
  • the learning device 10 can also learn by using the error at the time of re-converting into the feature amount, instead of the error between the restored data and the original learning data when learning the restorer.
  • the restorer can be learned in consideration of the feature amount conversion method, and the restoration accuracy of the restored data is improved, so that the evaluation precision of the feature amount can also be improved.
  • FIG. 11 is a diagram illustrating a learning example according to the third embodiment.
  • the decoder learning unit 22 inputs the original learning data into the learned learning model. Then, the decoder A learning unit 22a inputs the output feature amount (original feature amount A) to the decoder A to generate the restored data A, and restores the error between the restored data A and the original learning data. The error A1 is calculated.
  • the decoder learning unit 22 inputs the restored data A into the learned learning model. Then, the decoder A learning unit 22a acquires the feature amount (restoring feature amount A) output from the learned learning model, and calculates the restoration error A2 which is the error between the original feature amount A and the restoration feature amount A. To do. After that, the decoder A learning unit 22a learns the decoder A so that the restoration error A1 and the restoration error A2 are small. Note that the learning can be executed using only the restoration error A2. In addition, learning is similarly executed for the other decoders using the two restoration errors.
  • the learning model and each decoder can be learned in parallel.
  • FIG. 12 is a diagram illustrating a learning example according to the fourth embodiment. As shown in FIG. 12, when the learning data to which the correct answer label is added is input to the learning model, the learning device 10 executes learning of the learning model and each decoder in parallel.
  • the model learning unit 21 learns the learning model so that the error between the correct answer label and the output label becomes small.
  • the decoder A learning unit 22a inputs the feature amount A acquired from the learning model to the decoder A to generate restoration data A, and restore error between the restoration data A and the original learning data.
  • the decoder A is learned so that becomes smaller.
  • the decoder B learning unit 22b inputs the feature amount B acquired from the learning model to the decoder B to generate the restored data B, and the restoration error between the restored data B and the original learning data becomes small.
  • the decoder B is learned.
  • the learning device 10 can simultaneously learn the learning model and the respective decoders in parallel by using the respective learning data, so that the total learning time can be shortened.
  • the learning device 10 learns the learning model using the data X and generates the learned learning model M. Then, the learning device 10 inputs the data X into the learning model M and acquires the feature amount X of the data X. After that, the learning device 10 inputs the data Y, which is another data, to the learning model M, and acquires the feature amount Y of the data Y. Then, the learning device 10 learns the restorer R using the data Y and the feature amount Y in the same manner as in the first embodiment.
  • the learning device 10 inputs the feature amount X into the learned restorer R to generate the restored data X ′. Then, the learning device 10 evaluates the feature amount X by comparing the original data X and the restored data X ′ with the same method as in the first embodiment.
  • the learning device 10 determines how much the third party who obtains them can restore the data X itself. Can be evaluated. For example, considering data restoration by a third party, the third party retains the feature amount of the learning data X, but does not have the learning data X itself, so that another data Y on hand and the data Y are used as the learning model. An attempt is made to learn a reconstructor from the feature amount of the data Y obtained through this. Then, a third party may input the feature amount of the data X into the learned restorer and try to restore the original data X.
  • the learning device 10 can evaluate the degree of restoration of the learning data restored from the feature quantity by the restorer restored using the data different from the learning data of the learning model M. Therefore, the learning device 10 can execute the evaluation in consideration of the risk of information leakage.
  • the NN learning method various known methods such as an inverse error propagation method can be adopted.
  • various known error calculation methods used at the time of deep learning learning such as a squared error can be adopted.
  • the number of intermediate layers, the number of feature quantities, the number of restorers, etc. of each NN are merely examples, and the settings can be arbitrarily changed.
  • a restorer may be provided for each intermediate layer of the NN, but also a restorer may be provided only for a specified intermediate layer among a plurality of intermediate layers of the NN.
  • the learning target is an image
  • examples of the above-described feature amount include edges in the image, contrast, positions of eyes and nose in the image, and the like.
  • each component of each illustrated device is functionally conceptual, and does not necessarily have to be physically configured as illustrated. That is, the specific form of distribution and integration of each device is not limited to that shown in the drawings. That is, all or part of them can be functionally or physically distributed / integrated in arbitrary units according to various loads or usage conditions. Further, each processing function performed by each device may be implemented entirely 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.
  • FIG. 13 is a diagram illustrating a hardware configuration example.
  • the learning device 10 includes a communication device 10a, an HDD (Hard Disk Drive) 10b, a memory 10c, and a processor 10d. Further, the respective units shown in FIG. 13 are mutually connected by a bus or the like.
  • HDD Hard Disk Drive
  • the communication device 10a is a network interface card or the like, and communicates with other devices.
  • the HDD 10b stores a program for operating the functions shown in FIG. 3 and a DB.
  • the processor 10d operates a process for executing each function described in FIG. 3 and the like by reading a program that executes the same processing as each processing unit illustrated in FIG. 3 from the HDD 10b and the like and expanding the program in the memory 10c. That is, this process performs the same function as each processing unit included in the learning device 10. Specifically, the processor 10d reads a program having the same functions as the model learning unit 21, the decoder learning unit 22, the evaluation unit 23, and the like from the HDD 10b and the like. Then, the processor 10d executes a process for executing the same processing as the model learning unit 21, the decoder learning unit 22, the evaluation unit 23, and the like.
  • the learning device 10 operates as an information processing device that executes the learning method by reading and executing the program.
  • the learning device 10 can also realize the same function as that of the above-described embodiment by reading the program from the recording medium by the medium reading device and executing the read program.
  • the programs referred to in the other embodiments are not limited to being executed by the learning device 10.
  • the present invention can be similarly applied to the case where another computer or server executes the program, or when these cooperate with each other to execute the program.
  • This program can be distributed via networks such as the Internet. Further, this program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk (FD), a CD-ROM, an MO (Magneto-Optical disk), a DVD (Digital Versatile Disc), etc. It can be executed by being read.
  • a computer-readable recording medium such as a hard disk, a flexible disk (FD), a CD-ROM, an MO (Magneto-Optical disk), a DVD (Digital Versatile Disc), etc. It can be executed by being read.
  • learning device 11 communication unit 12 storage unit 13 learning data DB 14 Learning result DB 20 control unit 21 model learning unit 22 decoder learning unit 22a decoder A learning unit 22b decoder B learning unit 22c decoder C learning unit 23 evaluation unit

Abstract

学習装置は、学習済みの学習モデルに学習対象である入力データを入力する。そして、学習装置は、学習モデルに入力される入力データごとに、各入力データに対応して学習モデルにより生成される複数の特徴量から、複数の特徴量それぞれに対応した複数の復元器を用いて復元データを生成する。その後、学習装置は、複数の復元器によりそれぞれ生成される複数の復元データそれぞれと、入力データとが近づくように、複数の復元器を学習させる。

Description

学習プログラム、学習方法および学習装置
 本発明は、学習プログラム、学習方法および学習装置に関する。
 逐次学習などの深層学習において、学習データをそのまま保存することが情報漏洩などのリスクを伴うことから、元の学習データを変換した形式である、学習モデルの特徴量で保持することが行われている。また、複数の学習モデルそれぞれを学習する学習データとして、取得元の異なるデータを利用する場合、先の学習において利用した学習データを特徴量の形式で保持することも行われている。
 このように、特徴量で保持する場合は、特徴量にどの程度の元の学習データの情報が残っているかを評価することが行われる。例えば、学習済みのニューラルネットワークにおいて特徴量が同じとなる入力データを求め、入力データに基づき特徴量により保持される情報を推定し、特徴量の保持の可否を判断する技術が知られている。
国際公開第2016/132468号 特開2017-174298号公報 特開2016-126597号公報 特開2017-126112号公報
 しかしながら、上記技術により得られる入力データが、必ずしも、学習に利用した学習データを保持して良いかの判断に適したデータであるとは限らない。例えば、学習済みの学習モデルに入力データxを適用して得られた特徴量zを、元の入力データxの形式に変換するために、特徴量zがもっともよく得られるような入力データx´を勾配法で求める。ところが、ある特徴量zが得られる入力データは複数存在するので、勾配法で得られる入力データx´がリスク評価などの判断に有用なデータとは限らない。
 一つの側面では、データ保持の判断を適切に行うことができる学習プログラム、学習方法および学習装置を提供することを目的とする。
 第1の案では、学習プログラムは、コンピュータに、学習モデルに入力される入力データごとに、各入力データに対応して前記学習モデルにより生成される複数の特徴量から、前記複数の特徴量それぞれに対応した複数の復元器を用いて復元データを生成する処理を実行させる。学習プログラムは、コンピュータに、前記複数の復元器によりそれぞれ生成される複数の復元データそれぞれと、前記入力データとが近づくように、前記複数の復元器を学習させる処理を実行させる。
 一実施形態によれば、データ保持の判断を適切に行うことができる。
図1は、実施例1にかかる学習装置の全体例を説明する図である。 図2は、参考技術を説明する図である。 図3は、実施例1にかかる学習装置の機能構成を示す機能ブロック図である。 図4は、学習モデルの学習例を説明する図である。 図5は、特徴量を説明する図である。 図6は、復号器の学習を説明する図である。 図7は、評価手法の一例を説明する図である。 図8は、評価手法の別例を説明する図である。 図9は、処理の流れを示すフローチャートである。 図10は、実施例2にかかる学習例を説明する図である。 図11は、実施例3にかかる学習例を説明する図である。 図12は、実施例4にかかる学習例を説明する図である。 図13は、ハードウェア構成例を説明する図である。
 以下に、本発明にかかる学習プログラム、学習方法および学習装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
[全体例]
 図1は、実施例1にかかる学習装置の全体例を説明する図である。図1に示す学習装置10は、車や人などの画像分類などを行う学習モデルを学習する。具体的には、学習装置10は、機械学習や深層学習(ディープラーニング(DL)・Deep Learning)などを用いた学習処理を実行して、学習データを事象ごとに正しく判別(分類)できるように、ニューラルネットワーク(NN:Neural Network)などを学習する。
 一般的に、深層学習などでは、学習データの量が多いほど学習モデルの向上が図れることから、学習データの量は多いほどよいが、その一方で、学習データを集めることは難しい。そのため、取得先が異なる学習データを用いて、複数の学習モデルの学習を行うことも考えられる。しかし、顧客データを用いたビジネスの場では、ある顧客データを学習終了後も保持し続けたり、別の顧客タスク(学習)などに使用したりすることは、契約上の問題や情報漏えいのリスクを伴う。このようなことから、元の学習データを変換した形式である特徴量で保持することが行われている。特徴量で保持することでリスクを低減することはできるが、特徴量にどの程度の元の学習データの情報が残っているかを正確に評価することが重要である。
 そこで、実施例1にかかる学習装置10は、学習モデルから生成される複数の特徴量から複数の復元データを生成する復元器を学習し、復号器による復号結果に基づいて、保持対象の特徴量を評価する。具体的には、学習装置10は、学習モデルに入力される学習データごとに、各学習データに対応して学習モデルにより生成される各特徴量から、各特徴量に対応した復元器を用いて復元データを生成する。そして、学習装置10は、複数の復元器によりそれぞれ生成される複数の復元データそれぞれと、学習データとが近づくように、複数の復元器を学習させる。
 図1を例にして説明すると、学習装置10は、複数の学習データそれぞれを用いて、NNを用いた学習モデルを学習する。その後、学習装置10は、学習モデルに使用した元の学習データを学習済みの学習モデルに入力し、NNの各中間層から特徴量A、特徴量B、特徴量Cを取得する。そして、学習装置10は、特徴量Aを復元器Aに入力して復元データAを生成し、復元データAと元の学習データとの誤差が小さくなるように、復元器Aを学習する。同様に、学習装置10は、特徴量Bを復元器Bに入力して復元データBを生成し、復元データBと元の学習データとの誤差が小さくなるように、復元器Bを学習する。同様に、学習装置10は、特徴量Cを復元器Cに入力して復元データCを生成し、復元データCと元の学習データとの誤差が小さくなるように、復元器Cを学習する。
 このようにして、学習装置10は、元の学習データを学習済みの学習モデルに入力して得られる各特徴量を用いて、各復元器を学習する。そして、学習装置10は、各復元器の学習完了後、各学習データを学習済みの学習モデルに入力して各特徴量を取得し、各特徴量を学習済みの各復元器に入力して各復元データを生成する。その後、学習装置10は、各復元データの復元度合いに基づいて、保持可能な特徴量を決定する。
 すなわち、学習装置10は、深層学習において元の学習データの代替として保存する特徴量を選択する際、各特徴量から復号される復号データの復号度合いによって、保持する特徴量を選択することができるので、特徴量保持の判断を適切に行うことができる。
[参考技術]
 ここで、保持対象の特徴量を評価する技術として、一般的に利用される参考技術について説明する。まず、参考技術にも実施例1にも共通する、ニューラルネットワークに対する深層学習について説明する。
 深層学習は、入力xを微分可能なパラメータを持つ関数で変換して出力yを得る学習モデルを、訓練データxに対して所望のyを得るように、勾配法でパラメータを学習する手法である。深層学習の学習モデルとは、線形変換f(x)=Ax+bと非線形活性化関数gからなるモデルy=g(f(・・・g(f(x)))に限らず、任意の微分可能な演算hからなるモデルh=h(・・・h(h(x)))も含まれる。
 次に、参考技術を具体的に説明する。図2は、参考技術を説明する図である。図2に示すように、参考技術では、学習モデルに学習に利用した元の学習データを、学習済みの学習モデルに入力して特徴量を生成する。続いて、特徴量となる入力データを勾配法で推定する。例えば、特徴量をz、入力の学習データをxとした場合、推定データx=argmin d(f(x),z)を勾配法で算出する。ここで、fは、xからzまでの変換を示す微分可能な学習モデルの式であり、dは、微分可能な距離関数または誤差関数(二乗誤差)である。
 その後、推定データを学習済みの学習モデルに入力して、推定データに対応する推定特徴量を取得し、この推定特徴量と元の学習データから得られる特徴量との誤差が小さくなるような推定データを推定する。このような参考技術は、特徴量から元の学習データを推定する技術であり、1つの特徴量から複数の学習データが推定できることから、特徴量そのものが保持してよいレベルの特徴量か否かを判断することができない。そこで、実施例1では、特徴量そのものが保持してよいレベルの特徴量か否かを判断するための指標を生成することで、参考技術の問題を改善する。
[機能構成]
 図3は、実施例1にかかる学習装置10の機能構成を示す機能ブロック図である。図3に示すように、学習装置10は、通信部11、記憶部12、制御部20を有する。
 通信部11は、他の装置の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部11は、管理者の端末から、処理開始指示を受信する。また、通信部11は、管理者の端末等から、学習対象である学習データ(入力データ)を受信して学習データDB13に格納する。
 記憶部12は、プログラムやデータを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部12は、学習データDB13、学習結果DB14を記憶する。
 学習データDB13は、学習モデルの学習に使用される学習データを記憶するデータベースである。ここで記憶される学習データは、管理者等により正解ラベルが付与されたラベル有りデータであってもよく、正解ラベルが付与されていないラベル無しデータであってもよい。なお、学習データには、画像、動画、文書、グラフなど様々なデータを採用することができる。
 学習結果DB14は、学習結果を記憶するデータベースである。例えば、学習結果DB14は、制御部20による学習データの判別結果(分類結果)、機械学習やディープラーニングによって学習された各種パラメータを記憶する。
 制御部20は、学習装置10全体の処理を司る処理部であり、例えばプロセッサなどである。この制御部20は、モデル学習部21、復号器学習部22、評価部23を有する。なお、モデル学習部21、復号器学習部22、評価部23は、プロセッサなどが有する電子回路やプロセッサなどが実行するプロセスの一例である。
 モデル学習部21は、NNなどを用いた学習モデルの学習を実行する処理部である。具体的には、モデル学習部21は、学習データDB13に記憶される学習データを用いてNNの学習を実行し、学習結果を学習結果DB14に格納する。
 図4は、学習モデルの学習例を説明する図である。図4に示すように、モデル学習部21は、学習データDB13に記憶される正解ラベル付きの学習データを読み出す。そして、モデル学習部21は、学習データをNNに入力して出力結果を得る。その後、モデル学習部21は、出力結果と正解ラベルとの誤差が小さくなるように、NNを学習する。なお、学習方法は、勾配法や誤差逆伝搬法などの公知の手法を採用することができる。また、モデル学習部21は、NNの判定精度が閾値以上となるまで学習処理を継続することもでき、予め定めた回数や全学習データによる学習が完了するまでなど、任意のタイミングで終了することができる。
 復号器学習部22は、NNを用いた学習モデルである復号器であって特徴量からデータを復元する復号器ごとに学習部を有し、元の学習データを用いて各復号器を学習する処理部である。具体的には、復号器学習部22は、学習結果DB14から各種パラメータを読み出し、各種パラメータを設定したニューラルネットワーク等を含む学習モデルを構築する。そして、復号器学習部22は、学習モデルであるNNが有する中間層ごとに復号器を設定する。そして、復号器学習部22は、各復号器によって各特徴量から復元データを生成し、各復元データと元の学習データとが近づくように、各復号器を学習する。
 ここで、図5と図6を用いて具体的に説明する。図5は、特徴量を説明する図であり、図6は、復号器の学習を説明する図である。ここでは、図5に示すように、NNが、入力xを入力する入力層と、3つの中間層と、yを出力する出力層とを有する場合で説明する。この場合、1つ目の中間層で得られる情報が特徴量A、2つ目の中間層で得られる情報が特徴量B、3つ目の中間層で得られる情報が特徴量Cとなる。したがって、復号器学習部22は、特徴量Aに対応する復号器A、特徴量Bに対応する復号器B、特徴量Cに対応する復号器Cを用意し、各復号器の学習を実行する。
 具体的には、図6に示すように、復号器学習部22の復号器A学習部22aは、元の学習データを学習済みの学習モデル(NN)に入力し、特徴量Aを取得する。そして、復号器A学習部22aは、特徴量Aを復号器Aに入力して、復元データAを生成する。その後、復号器A学習部22aは、復元データAと元の学習データとの誤差(以下では復元誤差と記載する場合がある)を算出し、この誤差が小さくなるように、復号器Aを学習する。
 同様に、復号器学習部22の復号器B学習部22bは、元の学習データを学習済みの学習モデル(NN)に入力し、特徴量Bを取得する。そして、復号器B学習部22bは、特徴量Bを復号器Bに入力して、復元データBを生成する。その後、復号器B学習部22bは、復元データBと元の学習データとの誤差を算出し、この誤差が小さくなるように、復号器Bを学習する。
 同様に、復号器学習部22の復号器C学習部22cは、元の学習データを学習済みの学習モデル(NN)に入力し、特徴量Cを取得する。そして、復号器C学習部22cは、特徴量Cを復号器Cに入力して、復元データCを生成する。その後、復号器C学習部22cは、復元データCと元の学習データとの誤差を算出し、この誤差が小さくなるように、復号器Cを学習する。
 なお、各学習部は、復号器の学習結果を学習結果DB14に格納する。また、誤差は、例えば二乗誤差などを採用することができ、復号器の学習には、勾配法や誤差逆伝搬法などを採用することができる。また、復号器の学習は、NNの判定精度が閾値以上となるまで学習処理を継続することもでき、予め定めた回数など任意のタイミングで終了することができる。また、学習器の数は一例であり、任意に設定変更することができる。
 評価部23は、学習データそれぞれについて、学習済みの各復号器を用いて各特徴量の復元の度合いを評価する処理部である。具体的には、評価部23は、学習結果DB14から学習モデルに対応する各種パラメータを読み出し、各種パラメータを設定したニューラルネットワーク等を含む学習モデルを構築するとともに、学習結果DB14から各復号器に対応する各種パラメータを読み出し、各種パラメータを設定したニューラルネットワーク等を含む各復号器を構築する。そして、評価部23は、保持対象の学習データを学習済みの学習モデルに入力して、各特徴量を取得する。続いて、評価部23は、各特徴量を、対応する学習済みの復号器に入力して、各復号データを生成する。そして、評価部23は、各復号データの復元状況を判定し、保持する特徴量を決定する。
 図7は、評価手法の一例を説明する図である。図7に示すように、評価部23は、元の学習データを学習済みの学習モデルに入力する。そして、評価部23は、学習済みの学習モデルから得られる特徴量A、特徴量B、特徴量Cのそれぞれを、学習済みの復号器A、学習済みの復号器B、学習済みの復号器Cそれぞれに入力して、復元データA、復号データB、復号データCを生成する。
 その後、評価部23は、復元データAと元の学習データの二乗誤差A、復元データBと元の学習データの二乗誤差B、復元データBと元の学習データの二乗誤差Cを算出する。そして、評価部23は、二乗誤差A、二乗誤差B、二乗誤差Cのうち、保持が許される予め設定した閾値未満かつ閾値に最も近い二乗誤差Bを特定する。この結果、評価部23は、二乗誤差Bの復元元となった特徴量Bを保持すると決定する。
 また、評価部23は、復元データそのものを、元の学習データの提供元であるユーザに提示して評価させることもできる。図8は、評価手法の別例を説明する図である。図8に示すように、評価部23は、図7と同様の手法で、元の学習データおよび各復元器を用いて、復元データA、復号データB、復号データCを生成する。そして、評価部23は、復元データA、復号データB、復号データCをユーザに提示する。ここで、ユーザが、復元データAおよび復元データCは復元でき過ぎていると判断し、復元データBは元の学習データがわからない程度で復元できていると判断したとする。この場合、評価部23は、復元データBに対応する特徴量Bを保持すると決定する。なお、図8の手法は、学習データが画像データなどである場合に特に有効である。
[処理の流れ]
 図9は、処理の流れを示すフローチャートである。図9に示すように、モデル学習部21は、処理開始が指示されると(S101:Yes)、学習モデルを初期化する(S102)。
 続いて、モデル学習部21は、学習データDB13に記憶される学習データを読み込み(S103)、学習データを用いて学習モデルを学習する(S104)。そして、モデル学習部21は、精度が閾値以上ではない場合(S105:No)、S103に戻って学習を繰り返する。一方、モデル学習部21は、精度が閾値以上となると(S105:Yes)、学習結果を学習結果DB14に出力する(S106)。
 その後、復号器学習部22は、各復号器を初期化すると(S107)、学習データDB13に記憶される学習データを読み込み(S108)、学習データおよび学習済みの学習モデルを用いて各復号器を学習する(S109)。
 続いて、復号器学習部22は、精度が閾値以上ではない場合(S110:No)、S108に戻って学習を繰り返する。一方、復号器学習部22は、精度が閾値以上となると(S110:Yes)、学習結果を学習結果DB14に出力する(S111)。
 その後、評価部23は、保持対象の学習データそれぞれについて、学習済みの学習モデルから各特徴量を生成し、各特徴量を学習済みの各復号器に入力して各復号データを生成し、各特徴量を評価する(S112)。
[効果]
 上述したように、学習装置10は、逆変換器を学習させて特徴量から元データへの復元器を得ることができ、復元データと元の学習データとの誤差を直接最小化するように学習させることができる。また、学習装置10は、保持対象の特徴量と元の学習データとを比較可能な形式にするために、特徴量をできるだけ元データに復元した形式に変換することができる。この結果、学習装置10は、各特徴量から生成される復元データにより、複数の特徴量それぞれの評価を適切に行うことができる。
 ところで、学習装置10の各復号器は、元の学習データではなく、自身が用いる特徴量より前の別の特徴量への復元を学習することもできる。これにより、各々の復元器の学習の難しさのばらつきを低減することができる。そこで、実施例2では、元の学習データではなく、前の特徴量への復元を学習させる例を説明する。なお、ここでは1つ前の中間層から出力される特徴量に復元する例を説明するが、復元対象はこれに限定されるものではなく、自身と対応する中間層よりも前の中間層であればよい。
 図10は、実施例2にかかる学習例を説明する図である。図10に示すように、復号器学習部22は、元の学習データを学習済みの学習モデルに入力する。すると、復号器A学習部22aは、学習済みの学習モデルから出力される特徴量Aを復号器Aに入力して復元データAを生成し、復元データAと元の学習データとの誤差である復元誤差が小さくなるように、復号器Aを学習する。
 一方、復号器B学習部22bは、学習済みの学習モデルから得られる特徴量Bを復号器Bに入力して、1つ前の中間層から得られる特徴量Aに復元した復元データBを生成する。そして、復号器B学習部22bは、1つ前の中間層から得られる特徴量Aと復元データBとの誤差である復元誤差が小さくなるように、復号器Bを学習する。また、復号器Cについても同様に、復号器C学習部22cは、学習済みの学習モデルから得られる特徴量Cを復号器Cに入力して、1つ前の中間層から得られる特徴量Bに復元した復元データCを生成する。そして、復号器C学習部22cは、1つ前の中間層から得られる特徴量Bと復元データCとの誤差である復元誤差が小さくなるように、復号器Cを学習する。
 なお、各復号器の学習後に実行される特徴量の評価については、実施例1と同様の手法を採用することができる。例えば、評価部23は、復元データAと元の学習データの二乗誤差A、復元データBと特徴量Aの二乗誤差B、復元データCと特徴量Bの二乗誤差Cを算出し、閾値に基づいて、保持する特徴量を決定する。
 ところで、学習装置10は、復元器の学習にあたり、復元データと元の学習データとのの誤差ではなく、特徴量に再度変換した時の誤差を用いて学習することもできる。これにより、特徴量変換の方法まで考慮して、復元器を学習することができ、復元データの復元精度が向上する結果、特徴量の評価精度も向上させることができる。
 図11は、実施例3にかかる学習例を説明する図である。図11に示すように、復号器学習部22は、元の学習データを学習済みの学習モデルに入力する。すると、復号器A学習部22aは、出力される特徴量(元特徴量A)を復号器Aに入力して復元データAを生成し、復元データAと元の学習データとの誤差である復元誤差A1を算出する。
 さらに続いて、復号器学習部22は、復元データAを学習済みの学習モデルに入力する。そして、復号器A学習部22aは、学習済みの学習モデルから出力される特徴量(復元特徴量A)を取得し、元特徴量Aと復元特徴量Aとの誤差である復元誤差A2を算出する。その後、復号器A学習部22aは、復元誤差A1および復元誤差A2が小さくなるように、復号器Aを学習する。なお、復元誤差A2だけを用いて学習を実行することもできる。また、他の復号器についても同様に、2つの復元誤差を用いて学習が実行される。
 ところで、実施例1-3では、学習モデルの学習が終了した後に、各復号器の学習を実行する例を説明したが、これに限定されるものではない。例えば、学習モデルと各復号器とを並行に学習することもできる。
 図12は、実施例4にかかる学習例を説明する図である。図12に示すように、学習装置10は、正解ラベルが付与された学習データを学習モデルに入力すると、学習モデルと各復号器の学習を並行して実行する。
 具体的には、モデル学習部21は、学習データが入力されると、正解ラベルと出力ラベルとの誤差が小さくなるように、学習モデルを学習する。これと並行して、復号器A学習部22aは、学習モデルから取得される特徴量Aを復号器Aに入力して復元データAを生成し、復元データAと元の学習データとの復元誤差が小さくなるように、復号器Aを学習する。同様に、復号器B学習部22bは、学習モデルから取得される特徴量Bを復号器Bに入力して復元データBを生成し、復元データBと元の学習データとの復元誤差が小さくなるように、復号器Bを学習する。
 このように、学習装置10は、各学習データを用いて、学習モデルと各復号器を同時に平行して学習することができるので、総学習時間を短縮することができる。
 さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
[復号器の学習データ]
 上記実施例では、学習モデルの学習に使用する学習データを、復号器の学習にも使用する例を説明したが、これに限定されるものではなく、学習モデルの学習と復号器の学習とを、異なる学習データを用いて学習することもできる。
 例えば、学習装置10は、データXを用いて学習モデルを学習し、学習済みの学習モデルMを生成する。続いて、学習装置10は、学習モデルMにデータXを入力して、データXの特徴量Xを取得する。その後、学習装置10は、別のデータであるデータYを学習モデルMに入力して、データYの特徴量Yを取得する。そして、学習装置10は、実施例1と同様の手法で、データYと特徴量Yとを用いて復元器Rを学習する。
 その後、学習装置10は、学習済みの復元器Rに、特徴量Xを入力して復元データX´を生成する。そして、学習装置10は、元のデータXと復元データX´を、実施例1と同様の手法で比較して、特徴量Xを評価する。
 このようにすることで、学習装置10は、データXで学習した学習済みモデルおよびデータXの特徴量が漏洩した際に、それらを入手した第三者がデータX自体をどの程度復元できるかを評価することができる。例えば、第三者によるデータ復元を考えると、第三者は、学習データXの特徴量を保持するが、学習データX自体は持たないので、手持ちの別のデータYとデータYを学習モデルに通して得られたデータYの特徴量とから復元器を学習しようとする。その後、第三者は、学習した復元器にデータXの特徴量を入力し、元のデータXの復元を試みることが考えられる。
 これに対して、学習装置10は、学習モデルMの学習データとは異なるデータを用いて復元された復元器によって特徴量から復元される学習データの復元度合いを評価することができる。したがって、学習装置10は、情報漏洩時の危険性も加味した評価を実行することができる。
[学習モデル、復号器]
 上記実施例では、学習モデルおよび復号器にNNを適用した場合を例にして説明したが、これに限定されるものではなく、他の一般的な深層学習や機械学習を採用することもできる。また、NNの学習手法は、逆誤差伝搬法など公知の様々な手法を採用することができる。また、NNの学習時に算出する誤差については、二乗誤差などのように、深層学習の学習時に利用される公知の様々な誤差算出手法を採用することができる。また、各NNの中間層の数、特徴量の数、復元器の数などは、あくまで一例であり、任意に設定変更することができる。また、NNの中間層ごとに復元器を設けるだけでなく、NNの複数の中間層のうち指定した中間層のみに対して復元器を設けることもできる。また、上述した特徴量の一例としては、学習対象が画像の場合は、画像内のエッジ、コントラスト、画像内の目や鼻の位置などが挙げられる。
[評価対象]
 上記実施例では、各学習データについて、特徴量の評価を行う例を説明したが、これに限定されるものではなく、管理者等が指定した学習データについてのみ、上記特徴量の評価を行って、保持の可否を判定することもできる。
[システム]
 上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値などは、あくまで一例であり、任意に変更することができる。
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[ハードウェア]
 図13は、ハードウェア構成例を説明する図である。図13に示すように、学習装置10は、通信装置10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、図13に示した各部は、バス等で相互に接続される。
 通信装置10aは、ネットワークインタフェースカードなどであり、他の装置との通信を行う。HDD10bは、図3に示した機能を動作させるプログラムやDBを記憶する。
 プロセッサ10dは、図3に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、図3等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、学習装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、モデル学習部21、復号器学習部22、評価部23等と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、モデル学習部21、復号器学習部22、評価部23等と同様の処理を実行するプロセスを実行する。
 このように学習装置10は、プログラムを読み出して実行することで学習方法を実行する情報処理装置として動作する。また、学習装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、学習装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
 このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
 10 学習装置
 11 通信部
 12 記憶部
 13 学習データDB
 14 学習結果DB
 20 制御部
 21 モデル学習部
 22 復号器学習部
 22a 復号器A学習部
 22b 復号器B学習部
 22c 復号器C学習部
 23 評価部

Claims (9)

  1.  コンピュータに、
     学習モデルに入力される入力データごとに、各入力データに対応して前記学習モデルにより生成される複数の特徴量から、前記複数の特徴量それぞれに対応した複数の復元器を用いて復元データを生成し、
     前記複数の復元器によりそれぞれ生成される複数の復元データそれぞれと、前記入力データとが近づくように、前記複数の復元器を学習させる、
     処理を実行させる学習プログラム。
  2.  請求項1に記載の学習プログラムであって、前記コンピュータに、
     学習済みの前記複数の復元器に前記入力データを入力し、前記複数の復元器それぞれにより複数の復元データを生成し、
     前記複数の復元データそれぞれと前記入力データとの誤差を算出し、
     前記誤差に基づいて、前記複数の復元データそれぞれの生成元である前記複数の特徴量のうち、保持する特徴量を選択する、処理を実行させる学習プログラム。
  3.  請求項1に記載の学習プログラムであって、
     前記学習モデルは、ニューラルネットワークを含む学習モデルであり、
     前記生成する処理は、前記ニューラルネットワークが有する各中間層に対応付けられる前記複数の復元器を用いて、前記各中間層から出力される前記複数の特徴量それぞれから前記複数の復元データを生成する、学習プログラム。
  4.  請求項3に記載の学習プログラムであって、
     前記生成する処理は、前記複数の復元器を用いて、前記複数の復元器それぞれが対応付けられる中間層よりも前の中間層から出力される特徴量を復元対象とした復元データを生成し、
     前記学習する処理は、前記複数の復元器それぞれを、前記復元データと前記復元対象とする特徴量との誤差が小さくなるように学習させる、学習プログラム。
  5.  請求項1に記載の学習プログラムであって、前記コンピュータに、
     前記複数の復元器それぞれについて、前記復元データを前記学習モデルに入力して、前記学習モデルにより生成される特徴量であって前記復元データの特徴量である復元特徴量を取得する、処理を実行させ、
     前記学習させる処理は、前記複数の復元器それぞれを、前記復元データと前記入力データとの誤差、および、復元対象の前記特徴量と前記復元特徴量との誤差のそれぞれが小さくなるように学習させる、学習プログラム。
  6.  請求項1に記載の学習プログラムであって、前記コンピュータに、
     正解ラベルが付与される第1の入力データを前記学習モデルに入力して、前記学習モデルからの出力結果と前記正解ラベルとの誤差に基づいて、前記学習モデルを学習させ、
     前記第1の入力データとは異なる第2の入力データを学習済みの前記学習モデルに入力し、前記学習済みの学習モデルにより生成される複数の特徴量から、前記複数の特徴量それぞれに対応した複数の復元器を用いて復元データを生成し、
     前記複数の復元器によりそれぞれ生成される複数の復元データそれぞれと、前記第2の入力データとが近づくように、前記複数の復元器を学習させる、処理を実行させる学習プログラム。
  7.  請求項6に記載の学習プログラムであって、前記コンピュータに、
     前記第2の入力データを用い学習された学習済みの前記複数の復元器に、前記第1の入力データを入力して、前記複数の復元器それぞれが生成する複数の復元データを取得し、
     前記複数の復元データそれぞれと前記第1の入力データとの誤差を算出し、
     前記誤差に基づいて、前記複数の復元データそれぞれの生成元である複数の特徴量のうち、保持する特徴量を選択する、処理を実行させる学習プログラム。
  8.  コンピュータが、
     学習モデルに入力される入力データごとに、各入力データに対応して前記学習モデルにより生成される複数の特徴量から、前記複数の特徴量それぞれに対応した複数の復元器を用いて復元データを生成し、
     前記複数の復元器によりそれぞれ生成される複数の復元データそれぞれと、前記入力データとが近づくように、前記複数の復元器を学習させる、
     処理を実行する学習方法。
  9.  学習モデルに入力される入力データごとに、各入力データに対応して前記学習モデルにより生成される複数の特徴量から、前記複数の特徴量それぞれに対応した複数の復元器を用いて復元データを生成する生成部と、
     前記複数の復元器によりそれぞれ生成される複数の復元データそれぞれと、前記入力データとが近づくように、前記複数の復元器を学習させる学習部と
     を有する学習装置。
PCT/JP2018/038883 2018-10-18 2018-10-18 学習プログラム、学習方法および学習装置 WO2020079815A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
PCT/JP2018/038883 WO2020079815A1 (ja) 2018-10-18 2018-10-18 学習プログラム、学習方法および学習装置
EP18937480.4A EP3869418A4 (en) 2018-10-18 2018-10-18 LEARNING PROGRAM, LEARNING PROCESS, AND LEARNING DEVICE
JP2020551682A JP7192873B2 (ja) 2018-10-18 2018-10-18 情報処理プログラム、情報処理方法および学習装置
CN201880098669.5A CN112912901A (zh) 2018-10-18 2018-10-18 学习程序、学习方法以及学习装置
US17/228,517 US20210232854A1 (en) 2018-10-18 2021-04-12 Computer-readable recording medium recording learning program, learning method, and learning device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/038883 WO2020079815A1 (ja) 2018-10-18 2018-10-18 学習プログラム、学習方法および学習装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/228,517 Continuation US20210232854A1 (en) 2018-10-18 2021-04-12 Computer-readable recording medium recording learning program, learning method, and learning device

Publications (1)

Publication Number Publication Date
WO2020079815A1 true WO2020079815A1 (ja) 2020-04-23

Family

ID=70282951

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/038883 WO2020079815A1 (ja) 2018-10-18 2018-10-18 学習プログラム、学習方法および学習装置

Country Status (5)

Country Link
US (1) US20210232854A1 (ja)
EP (1) EP3869418A4 (ja)
JP (1) JP7192873B2 (ja)
CN (1) CN112912901A (ja)
WO (1) WO2020079815A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11922314B1 (en) * 2018-11-30 2024-03-05 Ansys, Inc. Systems and methods for building dynamic reduced order physical models

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6352512B2 (ja) * 1978-10-27 1988-10-19 Nippon Electric Co
JP2016126597A (ja) 2015-01-06 2016-07-11 マツダ株式会社 車両用歩行者画像取得装置
WO2016132468A1 (ja) 2015-02-18 2016-08-25 株式会社日立製作所 データ評価方法および装置、故障診断方法および装置
JP2017126112A (ja) 2016-01-12 2017-07-20 株式会社リコー サーバ、分散型サーバシステム、及び情報処理方法
JP2017174298A (ja) 2016-03-25 2017-09-28 株式会社デンソーアイティーラボラトリ ニューラルネットワークシステム、端末装置、管理装置およびニューラルネットワークにおける重みパラメータの学習方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6299299B2 (ja) * 2014-03-14 2018-03-28 オムロン株式会社 事象検出装置および事象検出方法
WO2018011842A1 (ja) * 2016-07-11 2018-01-18 株式会社Uei 階層ネットワークを用いた演算処理システム
JP6352512B1 (ja) * 2017-08-22 2018-07-04 株式会社 ディー・エヌ・エー 信号処理装置、信号処理方法、信号処理プログラム、及びデータ構造

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6352512B2 (ja) * 1978-10-27 1988-10-19 Nippon Electric Co
JP2016126597A (ja) 2015-01-06 2016-07-11 マツダ株式会社 車両用歩行者画像取得装置
WO2016132468A1 (ja) 2015-02-18 2016-08-25 株式会社日立製作所 データ評価方法および装置、故障診断方法および装置
JP2017126112A (ja) 2016-01-12 2017-07-20 株式会社リコー サーバ、分散型サーバシステム、及び情報処理方法
JP2017174298A (ja) 2016-03-25 2017-09-28 株式会社デンソーアイティーラボラトリ ニューラルネットワークシステム、端末装置、管理装置およびニューラルネットワークにおける重みパラメータの学習方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3869418A4

Also Published As

Publication number Publication date
JPWO2020079815A1 (ja) 2021-09-09
EP3869418A1 (en) 2021-08-25
CN112912901A (zh) 2021-06-04
US20210232854A1 (en) 2021-07-29
JP7192873B2 (ja) 2022-12-20
EP3869418A4 (en) 2021-10-06

Similar Documents

Publication Publication Date Title
JP7106902B2 (ja) 学習プログラム、学習方法および学習装置
CN110705690B (zh) 基于生成模型和元学习优化方法的连续学习方法及系统
CN111506814B (zh) 一种基于变分自注意力网络的序列推荐方法
KR102042168B1 (ko) 시계열 적대적인 신경망 기반의 텍스트-비디오 생성 방법 및 장치
EP3443450A1 (en) Two-stage training of a spoken dialogue system
CN113961967B (zh) 基于隐私保护联合训练自然语言处理模型的方法及装置
JP7047498B2 (ja) 学習プログラム、学習方法および学習装置
WO2020079815A1 (ja) 学習プログラム、学習方法および学習装置
JP2019159835A (ja) 学習プログラム、学習方法および学習装置
CN116204786B (zh) 生成指定故障趋势数据的方法和装置
KR20220066554A (ko) Qa 모델을 이용하여 지식 그래프를 구축하는 방법, 장치 및 컴퓨터 프로그램
Fries et al. Proxy Simulation Schemes for generic robust Monte-Carlo sensitivities, process oriented importance sampling and high accuracy drift approximation (with applications to the LIBOR market model)
KR102363636B1 (ko) 통계적 불확실성 모델링을 활용한 음성 인식 방법 및 장치
CN115471271A (zh) 广告的归因方法、装置、计算机设备及可读存储介质
JP2022174517A (ja) 機械学習プログラム、機械学習方法および情報処理装置
CN113469377A (zh) 联邦学习审计方法和装置
Basak et al. Level-crossing probabilities and first-passage times for linear processes
WO2022097302A1 (ja) 生成プログラム、生成方法および情報処理装置
JP2020144411A (ja) 属性推定装置、属性推定方法、属性推定器学習装置、及びプログラム
JP6575942B2 (ja) プロジェクトqcd管理システム
WO2021111832A1 (ja) 情報処理方法、情報処理システム及び情報処理装置
US11562233B2 (en) Learning method, non-transitory computer readable recording medium, and learning device
US20230009999A1 (en) Computer-readable recording medium storing evaluation program, evaluation method, and information processing device
JP7339219B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2024057518A (ja) サンプリングプログラム、サンプリング方法および情報処理装置

Legal Events

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

Ref document number: 18937480

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020551682

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018937480

Country of ref document: EP

Effective date: 20210518