The embodiments discussed herein are related to a learning program, a learning method, and a learning device.
In deep learning such as sequential learning, because storing learning data causes a risk of information leakage or the like, learning data is retained as a feature of a machine learning model that is a form converted from the original learning data. Furthermore, in a case where pieces of data from different acquisition sources is used as learning data from which each of a plurality of machine learning models is learned, the learning data used in the previous learning is retained also in the form of the feature.
Related art is disclosed in International Publication Pamphlet No. WO 2016/132468, Japanese Laid-open Patent Publication No. 2017-174298, Japanese Laid-open Patent Publication No. 2016-126597 and Japanese Laid-open Patent Publication No. 2017-126112.
According to an aspect of the embodiments, a non-transitory computer-readable recording medium recording a learning program for causing a computer to execute processing includes: generating restored data using a plurality of restorers respectively corresponding to a plurality of features from the plurality of features generated by a machine learning model corresponding to each piece of input data, for each piece of the input data input to the machine learning model; and making the plurality of restorers perform learning so that each of the plurality of pieces of restored data respectively generated by the plurality of restorers approaches the input data.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention.
In this way, in a case where the feature is retained, how much information of the original learning data remains in the feature is evaluated. For example, a technique has been known for obtaining input data having the same feature in a learned neural network, estimating information retained in the feature on the basis of the input data, and determining whether or not to retain the feature.
However, the input data obtained by the above technique is not necessarily data suitable for determination of whether or not to retain the learning data that has been used for learning. For example, in order to convert a feature z obtained by applying input data x to a learned machine learning model into a form of the original input data x, input data x′ with which the feature z can be most easily obtained is obtained using a gradient method. However, there is a plurality of pieces of input data with which the feature z is obtained, the input data x′ obtained using the gradient method is not necessarily data useful for determination such as risk evaluation.
In one aspect, an object is to provide a learning program, a learning method, and a learning device that can appropriately determine whether or not to retain data.
Hereinafter, embodiments of a learning program, a learning method, and a learning device according to the present invention will be described in detail with reference to the drawings. Note that the present invention is not limited to the embodiments. In addition, each of the embodiments may be appropriately combined within a range without inconsistency.
Generally, in deep learning or the like, because it is possible to improve a machine learning model as an amount of learning data increases, it is better to have larger amount of learning data. However, it is difficult to collect the learning data. Therefore, it is considered to learn a plurality of machine learning models using pieces of learning data acquired from different acquisition sources. However, in a business field using customer data, continuous retention of customer data after learning has been completed and use of the customer data for another customer task (learning) or the like cause a risk of contractual problems and information leakage. For this reason, the data is held as the feature that is a form converted from the original learning data. Although the risk can be reduced by retaining the data as the feature, it is important to accurately evaluate how much information of the original learning data remains in the feature.
Therefore, the learning device 10 according to the first embodiment learns a restorer that generates a plurality of pieces of restored data from a plurality of features generated from a machine learning model and evaluates a feature to be retained on the basis of a decoding result by a decoder. Specifically, the learning device 10 generates the restored data using the restorer corresponding to each feature from each feature generated by the machine learning model corresponding to each piece of the learning data, for each piece of the learning data input to the machine learning model. Then, the learning device 10 makes the plurality of restorers perform learning so that the plurality of pieces of restored data respectively generated by each of the plurality of restorers approaches the learning data.
As described using
In this way, the learning device 10 learns each restorer using each feature obtained by inputting the original learning data into the learned machine learning model. Then, the learning device 10 acquires each feature by inputting each piece of learning data into the learned machine learning model after learning of each restorer has been completed and generates each piece of restored data by inputting each feature into each learned restorer. Thereafter, the learning device 10 determines a retainable feature on the basis of a restoration degree of each piece of restored data.
In other words, when selecting a feature to be stored as a substitute of the original learning data in deep learning, the learning device 10 can select a feature to be retained according to a decoding degree of decoded data decoded from each feature. Therefore, the learning device 10 can appropriately determine whether or not to retain the feature.
Here, a reference technique that is generally used will be described as a technique for evaluating a feature to be retained. First, deep learning for the neural networks, which is common to both of the reference technique and the first embodiment, will be described.
Deep learning is a method for learning a parameter using the gradient method so that a machine learning model that obtains an output y by converting an input x with a function having a differentiable parameter obtains a desired y with respect to training data x. A machine learning model of the deep learning includes a model h=hN( . . . h2(h1(x))) including any differentiable operation h in addition to a model y=gN(fN( . . . g1(f1(x))) including a linear transformation f(x)=Ax+b and a nonlinear activating function g.
Next, the reference technique will be specifically described.
Thereafter, an estimated feature corresponding to the estimated data is acquired by inputting the estimated data into the learned machine learning model, and the estimated data that reduces an error between the estimated feature and the feature obtained from the original learning data is estimated. Such a reference technique is a technique for estimating the original learning data from the feature, and the plurality of pieces of learning data can be estimated from the single feature. Therefore, it is not possible to determine whether or not the feature is a feature at a level that can be retained. Therefore, in the first embodiment, the problem of the reference technique is improved by generating an index used to determine whether or not the feature is a feature at the level that can be retained.
The communication unit 11 is a processing unit that controls communication between other devices, and is, for example, a communication interface or the like. For example, the communication unit 11 receives a processing start instruction from a terminal of an administrator. Furthermore, the communication unit 11 receives learning data (input data) to be learned from the terminal of the administrator and the like and stores the learning data in a 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, a hard disk, and the like. The storage unit 12 stores the learning data DB 13 and a learning result DB 14.
The learning data DB 13 is a database that stores learning data used to learn a machine learning model. The learning data stored here may be labeled data to which a correct answer label is applied by the administrator and the like or may be data with no label to which the correct answer label is not applied. Note that, as the learning data, various types of data such as images, moving images, documents, or graphs can be adopted.
The learning result DB 14 is a database that stores learning results. For example, the learning result DB 14 stores determination results (classification result) of the learning data by the control unit 20 and various parameters learned through machine learning or deep learning.
The control unit 20 is a processing unit that controls processing of the entire learning device 10 and is, for example, a processor and the like. The control unit 20 includes a model learning unit 21, a decoder learning unit 22, and an evaluation unit 23. Note that the model learning unit 21, the decoder learning unit 22, and the evaluation unit 23 are examples of a process executed by an electronic circuit included in a processor or the like, a processor, or the like.
The model learning unit 21 is a processing unit that learns a machine learning model using the NN and 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.
The decoder learning unit 22 is a processing unit that includes a learning unit for each decoder that is a machine learning model using the NN and decodes data from a feature and learns each decoder using the original learning data. Specifically, the decoder learning unit 22 reads various parameters from the learning result DB 14 and constructs a machine learning model using a neural network and the like to which various parameters are set. Then, the decoder learning unit 22 sets the decoder for each intermediate layer included in the NN that is a machine learning model. Then, the decoder learning unit 22 generates restored data from each feature by each decoder and learns each decoder so that each piece of restored data and the original learning data approach each other.
Here, specific description will be made with reference to
Specifically, as illustrated in
Similarly, a decoder B learning unit 22b of the decoder learning unit 22 inputs the original learning data to the learned machine learning model (NN) and acquires the feature B. Then, the decoder B learning unit 22b inputs the feature B to the decoder B and generates the restored data B. Thereafter, 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 as to reduce the error.
Similarly, a decoder C learning unit 22c of the decoder learning unit 22 inputs the original learning data to the learned machine learning model (NN) and acquires the feature C. Then, the decoder C learning unit 22c inputs the feature C to the decoder C and generates the restored data C. Thereafter, 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 as to reduce the error.
Note that each learning unit stores the learning result of the decoder in the learning result DB 14. Furthermore, for example, a squared error or the like can be adopted as the error, and the gradient method, the backpropagation, or the like can be adopted for learning of the decoder. Furthermore, regarding learning of the decoder, learning processing can be continued until a determination accuracy of the NN becomes equal to or more than a threshold, and the learning of the decoder can end at any timing such as the predetermined number of times Furthermore, the number of learners is an example and can be arbitrarily set and changed.
The evaluation unit 23 is a processing unit that evaluates a degree of restoration of each feature using each learned decoder, for each piece of learning data. Specifically, the evaluation unit 23 reads various parameters corresponding to the machine learning model from the learning result DB 14 and constructs a machine learning model including a neural network or the like to which various parameters are set, and reads various parameters corresponding to each decoder from the learning result DB 14 and constructs each decoder including a neural network or the like to which various parameters are set. Then, the evaluation unit 23 inputs learning data to be retained to the learned machine learning model and acquires each feature. Subsequently, the evaluation unit 23 inputs each feature to the corresponding learned decoder and generates each piece of decoded data. Then, the evaluation unit 23 determines a restoration status of each piece of decoded data and determines a feature to be retained.
Thereafter, 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 squared error B that is less than a preset threshold that can be retained and is closest to the threshold from among the squared error A, the squared error B, and the squared error C. As a result, the evaluation unit 23 determines to retain the feature B that is a restoration source of the squared error B.
Furthermore, the evaluation unit 23 can present the restored data to a user who is a provider of the original learning data and makes the user evaluate the restored data.
Subsequently, the model learning unit 21 reads the learning data stored in the learning data DB 13 (S103) and learns the machine learning model using the learning data (S104). Then, in a case where an accuracy is not equal to or more than a threshold (S105: No), the model learning unit 21 returns to 5103 and repeats learning. On the other hand, when the accuracy is equal to or more than the threshold (S105: Yes), the model learning unit 21 outputs the learning result to the learning result DB 14 (S106).
Thereafter, when initializing each decoder (S107), the decoder learning unit 22 reads the learning data stored in the learning data DB 13 (S108) and learns each decoder using the learning data and the learned machine learning model (S109).
Subsequently, in a case where the accuracy is not equal to or more than the threshold (S110: No), the decoder learning unit 22 returns to S108 and repeats learning. On the other hand, when the accuracy is equal to or more than the threshold (S110: Yes), the decoder learning unit 22 outputs the learning result to the learning result DB 14 (S111).
Thereafter, the evaluation unit 23 generates each feature from the learned machine learning model for each piece of the learning data to be retained, generates each decoded data by inputting each feature to each learned decoder, and evaluates each feature (S112).
As described above, the learning device 10 can cause a reverse converter to perform learning and obtain a restorer from a feature to original data and causes the reverse converter to perform learning so as to directly minimize an error between the restored data and the original learning data. Furthermore, the learning device 10 can convert the feature into a format in which the feature is restored to the original data as much as possible so that the feature to be retained and the original learning data are formed in a comparable format. As a result, the learning device 10 can appropriately evaluate each of the plurality of features using the restored data generated from each feature.
By the way, each decoder of the learning device 10 can learn restoration to another feature previous to the feature used by the decoder, not to the original learning data. With this learning, it is possible to reduce variations in difficulty of learning each restorer. Therefore, in a second embodiment, an example will be described in which restoration to the previous feature, not to the original learning data is learned. Note that, here, an example will be described in which restoration to a feature output from a previous intermediate layer is performed. However, the restoration target is not limited to this, and may be an intermediate layer previous to the corresponding intermediate layer.
On the other hand, a decoder B learning unit 22b generates restored data B obtained by inputting a feature B obtained from the learned machine learning model to a decoder B and restoring the feature B to the feature A obtained from the previous intermediate layer. Then, the decoder B learning unit 22b learns the decoder B so as to reduce a restoration error that is an error between the feature A obtained from the previous intermediate layer and the restored data B. Furthermore, for the decoder C, similarly, the decoder C learning unit 22c generates restored data C obtained by inputting a feature C obtained from the learned machine learning model to a decoder C and restoring the feature C to the feature B obtained from the previous intermediate layer. Then, the decoder C learning unit 22c learns the decoder C so as to reduce a restoration error that is an error between the feature B obtained from the previous intermediate layer and the restored data C.
Note that a method similar to that in the first embodiment can be adopted for the evaluation of the feature that is executed after learning of each decoder. For example, 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 feature A, and a squared error C between the restored data C and the feature B and determines a feature to be retained on the basis of the threshold.
By the way, when learning a restorer, a learning device 10 can learn the restorer using an error at the time of reconversion to a feature, not an error between restored data and original learning data. As a result, it is possible to learn the restorer in consideration of a feature conversion method, and as a result of improving a restoration accuracy of the restored data, it is possible to improve an evaluation accuracy of the feature.
Moreover, subsequently, the decoder learning unit 22 inputs the restored data A to the learned machine learning model. Then, the decoder A learning unit 22a acquires a feature output from the learned machine learning model (restoration feature A) and calculates a restoration error A2 that is an error between the original feature A and the restoration feature A. Thereafter, the decoder A learning unit 22a learns the decoder A so as to reduce the restoration error A1 and the restoration error A2. Note that it is possible to perform learning using only the restoration error A2. Furthermore, for other decoders, similarly, learning is performed using the two restoration errors.
By the way, in the first to third embodiments, an example has been described in which each decoder is learned after learning of a machine learning model is completed. However, the present invention is not limited to this. For example, the machine learning model and each decoder can be learned in parallel.
Specifically, when the learning data is input, a model learning unit 21 learns the machine learning model so as to reduce an error between the correct answer label and an output label. In parallel to this, a decoder A learning unit 22a generates restored data A by inputting a feature A obtained from the machine learning model to a decoder A and learns the decoder A so as to reduce a restoration error between the restored data A and the original learning data. Similarly, a decoder B learning unit 22b generates restored data B by inputting a feature B obtained from the machine learning model to a decoder B and learns a decoder B so as to reduce a restoration error between the restored data B and the original learning data.
In this way, because the learning device 10 can concurrently learn the machine learning model and each decoder in parallel using each piece of learning data, it is possible to shorten a total learning time.
Although the embodiments of the present invention have been described above, the present invention may be implemented in various different forms in addition to the embodiments described above.
In the above embodiments, an example has been described in which the learning data used to learn the machine learning model is used for learning of the decoder. However, the present invention is not limited to this, and it is possible to learn the machine learning model and the decoder using different pieces of learning data.
For example, a learning device 10 learns a machine learning model using data X and generates a learned machine learning model M. Subsequently, the learning device 10 inputs the data X to the machine learning model M and acquires a feature X of the data X. Thereafter, the learning device 10 inputs data Y that is a different piece of data to the machine learning model M and acquires a feature Y of the data Y. Then, the learning device 10 learns a restorer R using the data Y and the feature Y with a method similar to that in the first embodiment.
Thereafter, the learning device 10 generates restored data X′ by inputting the feature X to the learned restorer R. Then, the learning device 10 compares the original data X and the restored data X′ with a method similar to that in the first embodiment and evaluates the feature X.
In this way, when the learned model learned using the data X and the feature of the data X are leaked, the learning device 10 can evaluate how much a third party who has obtained the learned model and the feature can restore the data X. For example, considering data restoration by a third party, although the third party retains the feature of the learning data X, the third party does not retain the learning data X. Therefore, the third party attempts to learn a restorer from the different data Y that is retained and the feature of the data Y obtained by inputting the data Y to the machine learning model. Thereafter, it is considered that the third party inputs the feature of the data X to the learned restorer and attempts to restore the original data X.
Against this, the learning device 10 can evaluate a restoration degree of the learning data restored from the feature by the restorer that is restored using the data different from the learning data of the machine learning model M. Therefore, the learning device 10 can perform evaluation in consideration of a risk at the time of information leakage.
In the above embodiments, a case where the NN is applied to the machine learning model and the decoder has been described as an example. However, the present invention is not limited to this, and it is possible to adopt other general deep learning and machine learning. Furthermore, as the learning method of the NN, various known methods such as backpropagation can be adopted. Furthermore, regarding an error calculated at the time of learning the NN, various known methods for calculating an error, such as a squared error, used at the time of learning of deep learning can be adopted. Furthermore, the number of intermediate layers of each NN, the number of features, the number of restorers, or the like are merely examples and can be arbitrarily set and changed. Furthermore, in addition to providing the restorer for each intermediate layer of the NN, it is possible to provide the restorer for only a specified intermediate layer among a plurality of intermediate layers of the NN. Furthermore, as an example of the feature described above, in a case where a learning target is an image, an edge or contrast in an image, positions of eyes and a nose in an image, or the like can be exemplified.
In the above embodiments, an example has been described in which the feature is evaluated for each piece of learning data. However, the present invention is not limited to this, and it is possible to evaluate the above-described feature only for learning data specified by an administrator or the like and determine whether or not to retain.
Pieces of information including a processing procedure, a control procedure, a specific name, various types of data, and parameters described above in the above document or illustrated in the drawings may be changed in any ways unless otherwise specified. Furthermore, the specific examples, distributions, numerical values, and the like described in the embodiments are merely examples, and may be changed in any ways.
In addition, each component of each device illustrated in the drawings is functionally conceptual and does not necessarily have to be physically configured as illustrated in the drawings. In other words, specific forms of distribution and integration of each device are not limited to those illustrated in the drawings. That is, all or a part of the devices may be configured by being functionally or physically distributed and integrated in any units according to various sorts of loads, usage situations, or the like. Furthermore, all or any part of each processing function performed in each device may be implemented by a central processing unit (CPU) and a program analyzed and executed by the CPU, or may be implemented as hardware by wired logic.
The communication device 10a is a network interface card or the like and communicates with other device. The HDD 10b stores programs for operating the functions illustrated in
The processor 10d reads a program that executes processing similar to that of each processing unit illustrated in
As described above, the learning device 10 operates as an information processing device that executes the learning method by reading and executing the program. Furthermore, the learning device 10 may also implement functions similar to the functions of the above-described embodiments, by reading the program described above from a recording medium by a medium reading device and executing the read program described above. Note that this program referred to in other embodiment is not limited to being executed by the learning device 10. For example, the embodiments may be similarly applied to a case where another computer or serer executes the program, or a case where such computer and server cooperatively execute the program.
This program may be distributed via a network such as the Internet. In addition, this program is recorded on a computer-readable recording medium such as a hard disk, flexible disk (FD), CD-ROM, Magneto-Optical disk (MO), or Digital Versatile Disc (DVD), and can be executed by being read from the recording medium by the computer.
All examples and conditional language provided herein are intended for the pedagogical purposes of aiding the reader in understanding the invention and the concepts contributed by the inventor to further the art, and are not to be construed as limitations to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although one or more embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
This application is a continuation application of International Application PCT/JP2018/038883 filed on Oct. 18, 2018 and designated the U.S., the entire contents of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2018/038883 | Oct 2018 | US |
Child | 17228517 | US |