WO2022249327A1 - 学習装置、学習方法及び学習プログラム - Google Patents

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

Info

Publication number
WO2022249327A1
WO2022249327A1 PCT/JP2021/019982 JP2021019982W WO2022249327A1 WO 2022249327 A1 WO2022249327 A1 WO 2022249327A1 JP 2021019982 W JP2021019982 W JP 2021019982W WO 2022249327 A1 WO2022249327 A1 WO 2022249327A1
Authority
WO
WIPO (PCT)
Prior art keywords
learning
learning device
matrix
parameters
deep learning
Prior art date
Application number
PCT/JP2021/019982
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 JP2023523800A priority Critical patent/JPWO2022249327A1/ja
Priority to PCT/JP2021/019982 priority patent/WO2022249327A1/ja
Publication of WO2022249327A1 publication Critical patent/WO2022249327A1/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

Definitions

  • the present invention relates to a learning device, a learning method, and a learning program.
  • deep learning and deep neural networks have achieved great success in areas such as image recognition and speech recognition.
  • image recognition using deep learning when an image is input to a model that includes many nonlinear functions of deep learning, the result of identifying what the image shows is output.
  • convolutional networks and ReLU are commonly used in image recognition.
  • a deep neural network trained by deep learning may simply be referred to as a deep learning model or model.
  • Non-Patent Documents 1 and 2 As a method of making deep learning robust against hostile attacks, adversarial learning that is added as data when learning adversarial attacks in advance has been proposed (see, for example, Non-Patent Documents 1 and 2).
  • Entropy-SGD described in Non-Patent Document 4 smoothes the objective function, but the learning efficiency may not be sufficiently high.
  • a learning device includes a calculation unit that calculates an objective function by Entropy-SGD when data created as a hostile attack is input to a deep learning model; an updating unit that updates the parameters of the deep learning model so that the function is optimized.
  • deep learning models can be made robust against noise.
  • FIG. 1 is a diagram illustrating the structure of the entire deep learning model.
  • FIG. 2 is a diagram illustrating a configuration example of the learning device according to the first embodiment.
  • FIG. 3 is a diagram for explaining the Entropy-SGD algorithm.
  • FIG. 4 is a diagram for explaining the algorithm of the embodiment.
  • FIG. 5 is a diagram explaining the algorithm of the embodiment.
  • FIG. 6 is a flowchart showing the flow of deep learning.
  • FIG. 7 is a flow chart showing the flow of learning using Entropy-SGD.
  • FIG. 8 is a flowchart showing the flow of update processing in learning.
  • FIG. 9 is a flowchart showing the flow of update processing according to the embodiment.
  • FIG. 10 is a flowchart showing the flow of update processing according to the embodiment.
  • FIG. 10 is a flowchart showing the flow of update processing according to the embodiment.
  • FIG. 11 is a flow chart showing the flow of update processing in adversarial learning.
  • FIG. 12 is a flow chart showing the flow of update processing according to an embodiment in adversarial learning.
  • FIG. 13 is a flow chart showing the flow of update processing according to an embodiment in adversarial learning.
  • FIG. 14 is a diagram of an example of a computer that executes a program;
  • FIG. 1 is a diagram illustrating the structure of the entire deep learning model. In the following description, it is assumed that deep learning is performed by the learning device 10a.
  • a deep learning model has an input layer that receives signals, one or more hidden layers that transform the signals from the input layers, and a final layer that transforms the signals from the hidden layers into outputs such as probabilities. .
  • FIG. 6 is a flowchart showing the flow of deep learning. As shown in FIG. 6, first, the learning device 10a applies an input randomly selected from a prepared data set to the discriminator (step S101).
  • the learning device 10a calculates the output of the classifier and uses it and the label of the dataset to calculate the loss function (step S102). Then, the learning device 10a updates the parameters of the discriminator using the gradient of the loss function (step S103). Note that the loss function is an example of the objective function.
  • step S104 If the evaluation criteria are not satisfied (step S104, No), the learning device 10a returns to step S101 and repeats the process. On the other hand, if the evaluation criteria are satisfied (step S104, Yes), the learning device 10a ends the process.
  • the learning device 10a updates the parameters so that the loss function becomes smaller. Since the loss function is usually set to a function that becomes smaller as the discriminator output and label match, the learning process enables the discriminator to discriminate the input label.
  • the evaluation criteria in step S104 are, for example, whether or not a separately prepared data set can be correctly identified.
  • image recognition by deep learning will be described here as an example, the embodiments can be applied to various identification tasks other than image recognition.
  • C is the image channel (three channels in the case of RGB format)
  • H is the vertical dimension
  • W is the horizontal dimension.
  • the deep learning model repeats the non-linear function and the linear operation and outputs an output through a function called softmax function in the final layer.
  • softmax function a function called softmax function in the final layer.
  • the output of formula (1) represents the score for each label in class classification, and the element of the output with the largest score for i obtained by formula (2) is the recognition result of deep learning.
  • Image recognition is one of class classification, and the model f s (z ⁇ ( ⁇ )) that performs classification is called a discriminator.
  • is obtained by optimizing the average of the data as shown in formula (3).
  • is a parameter called the learning rate.
  • Newton's method is a method of more efficiently performing optimization using gradients, which optimizes equation (5).
  • B(x i ) is a region of distance ⁇ centered at x i
  • x ′ i obtained by maximization is called a hostile attack.
  • Entropy-SGD is a method for improving smoothness in deep learning. For the original loss function L(x, y, ⁇ ), Entropy-SGD minimizes the loss function of equation (7).
  • Equation (7) is the local entropy of the probability density function p ⁇ ( ⁇ ′) shown in Equation (8).
  • Ep ⁇ ( ⁇ ') [ ⁇ '] is the expected value of the probability density function p ⁇ ( ⁇ ').
  • FIG. 3 is a diagram for explaining the Entropy-SGD algorithm.
  • FIG. 7 is a flowchart showing the flow of learning using Entropy-SGD.
  • the learning device 10a first initializes parameters (step S201). Next, the learning device 10a updates parameters using Entropy-SGD (step S202).
  • step S203 If the evaluation criteria are not satisfied (step S203, No), the learning device 10a returns to step S202 and repeats the process. On the other hand, if the evaluation criteria are satisfied (step S203, Yes), the learning device 10a ends the process.
  • E p ⁇ ( ⁇ ′)[ ⁇ ′] is approximately obtained by a method called Stochastic Gradient Langevin Dynamics (SGLD).
  • SGLD Stochastic Gradient Langevin Dynamics
  • FIG. 8 is a flowchart showing the flow of update processing in learning.
  • the part surrounded by the dashed line in FIG. 8 corresponds to the third to eighth lines in FIG. 3, that is, the process of calculating the expected value of ⁇ ' by SGLD.
  • the learning device 10a first increases l by 1 (step S301). Then, the learning device 10a applies an input randomly selected from the data set to the discriminator (step S302).
  • the learning device 10a calculates the gradient, samples ⁇ ' according to p ⁇ ( ⁇ ') , and updates the average of ⁇ ' using this (step S303).
  • step S304 if l is equal to or less than L (step S304, Yes), the learning device 10a returns to step S301 and repeats the process. On the other hand, if l is not equal to or less than L (step S304, No), the learning device 10a updates the model parameters (step S305).
  • FIG. 2 is a diagram illustrating a configuration example of the learning device according to the first embodiment.
  • the learning device 10 receives an input of a learning data set, performs model learning, and outputs a trained model.
  • the learning device 10 has an interface section 11 , a storage section 12 and a control section 13 .
  • the interface unit 11 is an interface for inputting and outputting data.
  • the interface unit 11 includes a NIC (Network Interface Card).
  • the interface unit 11 may include an input device such as a mouse and a keyboard, and an output device such as a display.
  • the storage unit 12 is a storage device such as an HDD (Hard Disk Drive), an SSD (Solid State Drive), an optical disc, or the like. Note that the storage unit 12 may be a rewritable semiconductor memory such as RAM (Random Access Memory), flash memory, NVSRAM (Non Volatile Static Random Access Memory).
  • the storage unit 12 stores an OS (Operating System) and various programs executed by the learning device 10 .
  • the storage unit 12 also stores model information 121 .
  • the model information 121 is information such as parameters for constructing a deep learning model (classifier).
  • the model information 121 includes weights and biases of each layer of the deep neural network.
  • the deep learning model constructed by the model information 121 may be a learned one or a pre-learned one.
  • the control unit 13 controls the learning device 10 as a whole.
  • the control unit 13 is, for example, an electronic circuit such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit), or an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
  • the control unit 13 also has an internal memory for storing programs defining various processing procedures and control data, and executes each processing using the internal memory. Further, the control unit 13 functions as various processing units by running various programs.
  • the controller 13 has a calculator 131 and an updater 132 .
  • the deep learning loss function L(x, y, ⁇ ) becomes a non-smooth function when adversarial learning or the like is performed. Gradient-based optimization is not efficient in that case.
  • the learning device 10 has the following configuration. That is, the calculation unit 131 calculates an objective function by Entropy-SGD when data created as a hostile attack is input to the deep learning model. Also, the updating unit 132 updates the parameters of the deep learning model so that the objective function is optimized.
  • the learning device 10 can learn according to the following Example 1 or Example 2, which is a more efficient version of Example 1.
  • the learning device 10 uses the fact that the Hessian matrix becomes a variance-covariance matrix in Entropy-SGD, estimates the variance-covariance matrix by SGLD, and multiplies the inverse matrix of the Hessian matrix like the Newton method to improve efficiency. do.
  • the learning device 10 calculates the Hessian matrix of Entropy-SGD.
  • the (i, j) component of the Hessian matrix is given by equation (10).
  • the matrix containing the components of formula (10) is formula (11).
  • ⁇ ⁇ ' is the variance-covariance matrix of the probability density function p ⁇ ( ⁇ ').
  • FIG. 4 is a diagram for explaining the algorithm of the embodiment.
  • the learning device 10 approximates E p ⁇ [ ⁇ i ' ⁇ j ’] from the 13th to 17th lines in FIG. Ep ⁇ [ ⁇ i '] and Ep ⁇ [ ⁇ j '] are approximated, and in line 24, the inverse matrix of the Hessian matrix is calculated and multiplied by the gradient. As a result, speedup can be expected as with the Newton method.
  • FIG. 9 shows the flow of update processing in this case.
  • FIG. 9 is a flowchart showing the flow of update processing according to the embodiment. The processing of FIG. 9 corresponds to the algorithm of FIG.
  • the learning device 10 first increases l by 1 (step S401). Then, the learning device 10 applies an input randomly selected from the data set to the discriminator (step S402).
  • the learning device 10 calculates the gradient, samples ⁇ ' according to p ⁇ ( ⁇ ') , and updates the average of ⁇ ' using this (step S403).
  • the learning device 10 updates the variance-covariance matrix using ⁇ ' (step S404).
  • step S405, Yes if l is equal to or less than L (step S405, Yes), the learning device 10 returns to step S401 and repeats the process.
  • step S405 the learning device 10 calculates the inverse matrix of the unit matrix and the estimated (updated) variance-covariance matrix (step S406). Then, the learning device 10 updates the model parameters using the calculated inverse matrix (step S407).
  • the calculation unit 131 calculates a first matrix, which is a variance-covariance matrix of parameters according to the probability distribution used in Entropy-SGD, by SGLD (Stochastic Gradient Langevin Dynamics).
  • the updating unit 132 updates the parameters of the deep learning model using the first matrix.
  • the updating unit 132 also updates the parameters of the deep learning model by multiplying the gradient by the inverse matrix of the first matrix, which is a Hessian matrix.
  • the learning device 10 only needs to multiply each parameter by the reciprocal of the variance.
  • the learning device 10 approximates a variance-covariance matrix (covariance matrix) with a covariance of 0 by the algorithm indicated by the pseudo code in FIG.
  • FIG. 5 is a diagram explaining the algorithm of the embodiment.
  • the learning device 10 approximates E p ⁇ [ ⁇ i ' ⁇ j ’] from the 11th to 13th lines in FIG. E p ⁇ [ ⁇ i '] and E p ⁇ [ ⁇ j '] are approximated, and the inverse matrix of the Hessian matrix is calculated on the 18th line and multiplied by the gradient.
  • FIG. 10 shows the flow of update processing in this case.
  • FIG. 10 is a flowchart showing the flow of update processing according to the embodiment. The processing of FIG. 10 corresponds to the algorithm of FIG.
  • the learning device 10 first increases l by 1 (step S501). Then, the learning device 10 applies an input randomly selected from the data set to the discriminator (step S502).
  • the learning apparatus 10 calculates the gradient, samples ⁇ ' according to p ⁇ ( ⁇ ') , and updates the average of ⁇ ' using this (step S503).
  • the learning device 10 updates the variance using ⁇ ' (step S504).
  • step S505 if l is equal to or less than L (step S505, Yes), the learning device 10 returns to step S501 and repeats the process.
  • step S505 if l is not equal to or less than L (step S505, No), the learning device 10 calculates a vector consisting of the identity matrix and the estimated (updated) variance (step S506). Then, the learning device 10 updates the model parameters using the calculated vector (step S507).
  • the calculation unit 131 is the first Compute the matrix of .
  • the updating unit 132 updates the parameters of the deep learning model using the first matrix.
  • Entropy-SGD Examples 1 and 2 described so far are applicable to adversarial learning.
  • an effect of improving learning efficiency while smoothing the objective function of adversarial learning is produced.
  • FIG. 11 is a flowchart showing the flow of update processing in adversarial learning. As shown in FIG. 11, the learning device 10a first increases l by 1 (step S601). Then, learning device 10a randomly selects an input from the data set (step S602).
  • the learning device 10a creates a hostile attack from the selected input (step S603). Then, the learning device 10a inputs (applies) the created hostile attack to the discriminator (step S604).
  • the learning device 10a calculates the gradient, samples ⁇ ' according to p ⁇ ( ⁇ ') , and updates the average of ⁇ ' using this (step S605).
  • step S606 if l is equal to or less than L (step S606, Yes), the learning device 10a returns to step S601 and repeats the process. On the other hand, if l is not equal to or less than L (step S606, No), the learning device 10a updates the model parameters (step S607).
  • FIG. 12 is a flowchart showing the flow of update processing according to the embodiment in adversarial learning.
  • the learning device 10 first increases l by 1 (step S701). Then, the learning device 10 randomly selects an input from the data set (step S702).
  • the learning device 10 creates a hostile attack from the selected input (step S703). Then, the learning device 10 inputs (applies) the created hostile attack to the discriminator (step S704).
  • the learning device 10 calculates the gradient, samples ⁇ ' according to p ⁇ ( ⁇ ') , and updates the average of ⁇ ' using this (step S705).
  • the learning device 10 updates the variance-covariance matrix using ⁇ ' (step S706).
  • step S707 Yes
  • the learning device 10 returns to step S701 and repeats the process.
  • step S707 the learning device 10 calculates the inverse matrix of the unit matrix and the estimated (updated) variance-covariance matrix (step S708). Then, the learning device 10 updates the model parameters using the calculated inverse matrix (step S709).
  • FIG. 13 is a flowchart showing the flow of update processing according to the embodiment in adversarial learning. As shown in FIG. 13, the learning device 10 first increases l by 1 (step S801). Learning device 10 then randomly selects an input from the data set (step S802).
  • the learning device 10 creates a hostile attack from the selected input (step S803). Then, the learning device 10 inputs (applies) the created hostile attack to the discriminator (step S804).
  • the learning device 10 calculates the gradient, samples ⁇ ' according to p ⁇ ( ⁇ ') , and updates the average of ⁇ ' using this (step S805).
  • the learning device 10 updates the variance using ⁇ ' (step S806).
  • step S807 if l is equal to or less than L (step S807, Yes), the learning device 10 returns to step S801 and repeats the process.
  • step S807 the learning device 10 calculates a vector consisting of the identity matrix and the estimated (updated) variance (step S808). Then, the learning device 10 updates the model parameters using the calculated vector (step S809).
  • the calculation unit 131 calculates the objective function by Entropy-SGD when data created as a hostile attack is input to the deep learning model.
  • the updating unit 132 updates the parameters of the deep learning model so that the objective function is optimized.
  • the learning device 10 can improve learning efficiency while smoothing the objective function of adversarial learning.
  • the calculation unit 131 also calculates a first matrix, which is a variance-covariance matrix of parameters according to the probability distribution used in Entropy-SGD, by SGLD (Stochastic Gradient Langevin Dynamics).
  • the updating unit 132 updates the parameters of the deep learning model using the first matrix. As a result, the learning device 10 can improve the learning efficiency of adversarial learning.
  • the calculation unit 131 calculates the first matrix assuming that the covariance of the variance-covariance matrix calculated by SGLD (Stochastic Gradient Langevin Dynamics) of parameters according to the probability distribution used in Entropy-SGD is 0. .
  • the updating unit 132 updates the parameters of the deep learning model using the first matrix. Thereby, the learning device 10 can further improve the learning efficiency of adversarial learning.
  • the updating unit 132 updates the parameters of the deep learning model by multiplying the gradient by the inverse matrix of the first matrix, which is the Hessian matrix. This allows the learning device 10 to smooth the gradient.
  • each component of each device illustrated is functionally conceptual, and does not necessarily need to be physically configured as illustrated.
  • the specific form of distribution and integration of each device is not limited to the illustrated one, and all or part of them can be functionally or physically distributed or Can be integrated and configured.
  • all or any part of each processing function performed by each device is realized by a CPU (Central Processing Unit) and a program analyzed and executed by the CPU, or hardware by wired logic can be realized as
  • the learning device 10 can be implemented by installing a program for executing the above-described learning process as package software or online software on a desired computer.
  • the information processing device can function as the learning device 10 by causing the information processing device to execute the above program.
  • the information processing apparatus referred to here includes a desktop or notebook personal computer.
  • information processing devices include mobile communication terminals such as smartphones, mobile phones and PHS (Personal Handyphone Systems), and slate terminals such as PDAs (Personal Digital Assistants).
  • the learning device 10 can also be implemented as a server device that uses a terminal device used by a user as a client and provides the client with services related to the above processing.
  • the server device is implemented as a server device that provides a service in which a data set is input and a trained deep learning model is output.
  • the server device may be implemented as a web server, or may be implemented as a cloud that provides services related to the above processing by outsourcing.
  • FIG. 14 is a diagram showing an example of a computer that executes programs.
  • the computer 1000 has a memory 1010 and a CPU 1020, for example.
  • Computer 1000 also has hard disk drive interface 1030 , disk drive interface 1040 , serial port interface 1050 , video adapter 1060 and network interface 1070 . These units are connected by a bus 1080 .
  • the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM (Random Access Memory) 1012 .
  • the ROM 1011 stores a boot program such as BIOS (Basic Input Output System).
  • BIOS Basic Input Output System
  • Hard disk drive interface 1030 is connected to hard disk drive 1090 .
  • a disk drive interface 1040 is connected to the disk drive 1100 .
  • a removable storage medium such as a magnetic disk or optical disk is inserted into the disk drive 1100 .
  • Serial port interface 1050 is connected to mouse 1110 and keyboard 1120, for example.
  • Video adapter 1060 is connected to display 1130, for example.
  • the hard disk drive 1090 stores, for example, an OS 1091, application programs 1092, program modules 1093, and program data 1094. That is, a program that defines each process of the learning device 10 is implemented as a program module 1093 in which computer-executable code is described. Program modules 1093 are stored, for example, on hard disk drive 1090 .
  • the hard disk drive 1090 stores a program module 1093 for executing processing similar to the functional configuration of the learning device 10 .
  • 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 the memory 1010 or the hard disk drive 1090, for example. Then, the CPU 1020 reads the program modules 1093 and program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 as necessary, and executes the processes of the above-described embodiments.
  • the program modules 1093 and program data 1094 are not limited to being stored in the hard disk drive 1090, but may be stored in a removable storage medium, for example, and read by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program modules 1093 and program data 1094 may be stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.). Program modules 1093 and program data 1094 may then be read by CPU 1020 through network interface 1070 from other computers.
  • LAN Local Area Network
  • WAN Wide Area Network

Landscapes

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

Abstract

学習装置は、深層学習モデルに敵対的攻撃として作成されたデータを入力したときの目的関数をEntropy-SGDにより計算する。学習装置は、目的関数が最適化されるように深層学習モデルのパラメータを更新する。

Description

学習装置、学習方法及び学習プログラム
 本発明は、学習装置、学習方法及び学習プログラムに関する。
 従来、深層学習及びディープニューラルネットワークは画像認識や音声認識等で大きな成功を収めている。例えば深層学習を使った画像認識では、画像を深層学習の多数の非線形関数を含んだモデルに入力すると、その画像が何を写しているのかという識別結果を出力する。特に畳み込みネットワークとReLUは画像認識において一般的に使用される。以降の説明では、深層学習によって訓練されるディープニューラルネットワークを、単に深層学習モデル又はモデルと呼ぶ場合がある。
 一方で、悪意ある攻撃者がノイズを入力画像に加えると、小さなノイズで簡単に深層学習モデルを誤識別させることができる(参考文献:Christian Szegedy, et al. “Intriguing properties of neural networks.” arXiv preprint: 1312.6199, 2013.)。このような攻撃は敵対的攻撃と呼ばれている。
 敵対的攻撃に対して深層学習をロバスト化する方法として、事前に敵対的攻撃を学習する際のデータとして加える敵対的学習が提案されている(例えば、非特許文献1及び2を参照)。
 ここで、敵対的学習において最適化される目的関数(損失関数)は滑らかではないため、通常の勾配を使った学習方法は効率的でない場合がある(例えば、非特許文献3を参照)。
 また、深層学習における目的関数の滑らかさを向上させる方法として、SGLD(参考文献:M. Welling and Y. W. Teh. “Bayesian learning via stochastic gradient Langevin dynamics.” In ICML, 2011.)を内部で使用したEntropy-SGDが提案されている(例えば、非特許文献4を参照)。
Goodfellow, Ian J., Jonathon Shlens, and Christian Szegedy. "Explaining and harnessing adversarial examples." arXiv preprint: 1412.6572 2014. Madry Aleksander, et al. "Towards deep learning models resistant to adversarial attacks." arXivpreprint: 1706.06083, 2017. Liu, Chen, et al. "On the Loss Landscape of Adversarial Training: Identifying Challenges and How to Overcome Them." Advances in Neural Information Processing Systems 33 (2020). Chaudhari, Pratik, et al. "Entropy-SGD: Biasing Gradient Descent into Wide Valleys." arXivpreprint: 1611.01838 (2016).
 しかしながら、従来の技術には、敵対的学習の目的関数を滑らかにしつつ学習効率を向上させることができない場合があるという問題がある。
 例えば、非特許文献に記載のノイズに対してロバストでない場合があるという問題がある。例えば、非特許文献4に記載のEntropy-SGDは目的関数を滑らかにするものであるが、学習効率が十分に高くない場合がある。
 上述した課題を解決し、目的を達成するために、学習装置は、深層学習モデルに敵対的攻撃として作成されたデータを入力したときの目的関数をEntropy-SGDにより計算する計算部と、前記目的関数が最適化されるように前記深層学習モデルのパラメータを更新する更新部と、を有することを特徴とする。
 本発明によれば、深層学習モデルをノイズに対してロバストにすることができる。
図1は、深層学習モデル全体の構造を例示する図である。 図2は、第1の実施形態の学習装置の構成例を示す図である。 図3は、Entropy-SGDのアルゴリズムを説明する図である。 図4は、実施形態のアルゴリズムを説明する図である。 図5は、実施形態のアルゴリズムを説明する図である。 図6は、深層学習の流れを示すフローチャートである。 図7は、Entropy-SGDを使った学習の流れを示すフローチャートである。 図8は、学習における更新処理の流れを示すフローチャートである。 図9は、実施形態による更新処理の流れを示すフローチャートである。 図10は、実施形態による更新処理の流れを示すフローチャートである。 図11は、敵対的学習における更新処理の流れを示すフローチャートである。 図12は、敵対的学習における実施形態による更新処理の流れを示すフローチャートである。 図13は、敵対的学習における実施形態による更新処理の流れを示すフローチャートである。 図14は、プログラムを実行するコンピュータの一例を示す図である。
(深層学習)
 まず、図1を用いて深層学習モデルについて説明する。図1は、深層学習モデル全体の構造を例示する図である。なお、以降の説明では深層学習は学習装置10aによって実行されるものとする。
 図1に示すように、深層学習モデルは、信号が入る入力層、入力層からの信号を変換する1つ以上の中間層、中間層からの信号を確率等の出力に変換する最終層を有する。
 図6は、深層学習の流れを示すフローチャートである。図6に示すように、まず、学習装置10aは、あらかじめ用意されたデータセットからランダムに選択された入力を識別器に印加する(ステップS101)。
 次に、学習装置10aは、識別器の出力を計算し、それとデータセットのラベルを使用して損失関数を計算する(ステップS102)。そして、学習装置10aは、損失関数の勾配を使って識別器のパラメータを更新する(ステップS103)。なお、損失関数は目的関数の一例である。
 評価基準が満たされない場合(ステップS104、No)、学習装置10aはステップS101に戻り処理を繰り返す。一方、評価基準が満たされる場合(ステップS104、Yes)、学習装置10aは処理を終了する。
 例えば、学習装置10aは、損失関数が小さくなるようにパラメータを更新する。損失関数は通常、識別器の出力とラベルが一致するほど小さくなる関数が設定されるため、学習処理により識別器が入力のラベルを識別できるようになる。
 また、ステップS104の評価基準は、例えば別途用意したデータセットを正しく識別できるか否か等である。
 以降、図面及び数式等の表記において、大文字の太字は行列を表し、小文字の太字は列ベクトルを表すものとする。また、行ベクトルは転置を使って表現される。
 また、ここでは深層学習による画像認識を例として説明するが、実施形態は画像認識以外の様々な識別タスクに適用できる。
 深層学習による画像認識として、画像x∈RC×H×Wを認識し、M個のラベルからその画像のラベルyを求める問題を考える。ただし、Cは画像のチャネル(RGB形式の場合3チャネル)、Hは縦の大きさ、Wは横の大きさとする。
 このとき深層学習のモデルは非線形関数と線形演算を繰り返して最終層でsoftmax関数と呼ばれる関数を通して出力を出す。いまモデルで変換されて最終的にsoftmax に入力されるベクトルをzθ(x)=[zθ,1(x),zθ,2(x),…,zθ,M(x)]とする。
 ここでθ∈Rは深層学習のモデルのパラメータベクトルであり、このzθ(x)はlogitと呼ばれる。softmax 関数をf(・)とすると、モデルの出力はsoftmaxの出力f(zθ(x))∈Rであり、k番目の出力は(1)式である。
Figure JPOXMLDOC01-appb-M000001
 (1)式の出力はクラス分類において各ラベルに対するスコアを表し、(2)式によって得られるiが最も大きなスコアを持つ出力の要素が深層学習の認識結果である。
Figure JPOXMLDOC01-appb-M000002
 画像認識はクラス分類の1つであり、分類を行うモデルf(zθ(・))を識別器と呼ぶ。パラメータθは事前に用意したN個のデータセット{(x,y)}、i=1,…,Nから学習する。この学習ではクロスエントロピー等のy=argmax[f(zθ(x))]と正しく認識できるほど小さな値となるような損失関数l(x,y,θ)を設定し、そのデータでの平均に対して(3)式のように最適化を行ってθを求める。
Figure JPOXMLDOC01-appb-M000003
 学習は損失関数の勾配に基づく最適化によって行い、(4)式の計算を繰り返し行うことによってθを求める。
Figure JPOXMLDOC01-appb-M000004
 ここでηは学習率と呼ばれるパラメータである。勾配を使った最適化においてより効率的に最適化を行う方法としてニュートン法と呼ばれる方法があり、(5)式の最適化を行う。
Figure JPOXMLDOC01-appb-M000005
 さらに、モデルを頑健にするための敵対的学習では、(6)式の最適化によりθが求められる。
Figure JPOXMLDOC01-appb-M000006
 ここで、B(x)はxを中心とした距離εの領域であり、最大化して得られるx´は敵対的攻撃と呼ばれる。
(Entropy-SGD)
 深層学習において滑らかさを改善する方法としてEntropy-SGDがある。元々の損失関数L(x,y,θ)に対して、Entropy-SGDは(7)式の損失関数を最小化する。
Figure JPOXMLDOC01-appb-M000007
 (7)式は、(8)式に示す確率密度関数pθ(θ′)の局所エントロピーである。
Figure JPOXMLDOC01-appb-M000008
 (7)式の損失関数の勾配は、(9)式により表される。
Figure JPOXMLDOC01-appb-M000009
 ここでEpθ(θ′)[θ′]は、確率密度関数pθ(θ′)の期待値である。
 ここで説明したEntropy-SGDのアルゴリズムを図3に示す。図3は、Entropy-SGDのアルゴリズムを説明する図である。
 また、図7は、Entropy-SGDを使った学習の流れを示すフローチャートである。
 図7に示すように、まず、学習装置10aは、パラメータを初期化する(ステップS201)。次に、学習装置10aは、Entropy-SGDを使ったパラメータの更新を行う(ステップS202)。
 評価基準が満たされない場合(ステップS203、No)、学習装置10aはステップS202に戻り処理を繰り返す。一方、評価基準が満たされる場合(ステップS203、Yes)、学習装置10aは処理を終了する。
 ここで、図3の3行目から8行目では、Stochastic Gradient Langevin Dynamics(SGLD)と呼ばれる方法でEpθ(θ′)[θ′]を近似的に求めている。
 図8は、学習における更新処理の流れを示すフローチャートである。図8の破線で囲まれた部分は、図3の3行目から8行目、すなわちSGLDによるθ′の期待値を計算する処理に相当する。
 図8に示すように、まず、学習装置10aはlを1だけ増加させる(ステップS301)。そして、学習装置10aは、データセットからランダムに選択された入力を識別器に印加する(ステップS302)。
 ここで、学習装置10aは、勾配を計算してpθ(θ′)に従うθ′のサンプリング及びこれを使ったθ′の平均を更新する(ステップS303)。
 ここで、lがL以下である場合(ステップS304、Yes)、学習装置10aはステップS301に戻り処理を繰り返す。一方、lがL以下でない場合(ステップS304、No)、学習装置10aはモデルパラメータを更新する(ステップS305)。
[実施形態の学習装置]
 図2を用いて、第1の実施形態に係る学習装置の構成について説明する。図2は、第1の実施形態の学習装置の構成例を示す図である。学習装置10は、学習用データセットの入力を受け付け、モデルの学習を行い、学習済みモデルを出力する。
 学習装置10の各部について説明する。図2に示すように、学習装置10は、インタフェース部11、記憶部12及び制御部13を有する。
 インタフェース部11は、データの入力及び出力のためのインタフェースである。例えば、インタフェース部11はNIC(Network Interface Card)を含む。また、インタフェース部11は、マウスやキーボード等の入力装置、及びディスプレイ等の出力装置を含んでいてもよい。
 記憶部12は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部12は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。記憶部12は、学習装置10で実行されるOS(Operating System)や各種プログラムを記憶する。また、記憶部12は、モデル情報121を記憶する。
 モデル情報121は、深層学習モデル(識別器)を構築するためのパラメータ等の情報である。例えば、モデル情報121は、ディープニューラルネットワークの各層の重み及びバイアス等を含む。また、モデル情報121によって構築される深層学習モデルは、学習済みのものであってもよいし、学習前のものであってもよい。
 制御部13は、学習装置10全体を制御する。制御部13は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部13は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部13は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部13は、計算部131及び更新部132を有する。
 ここで、前述の通り、深層学習の損失関数L(x,y,θ)は敵対的学習等を行う場合、滑らかでない関数となる。その場合は勾配に基づく最適化は効率的ではない。
 そこで、敵対的学習の目的関数を滑らかにしつつ学習効率を向上させるために、学習装置10は以下のような構成を有する。すなわち、計算部131は、深層学習モデルに敵対的攻撃として作成されたデータを入力したときの目的関数をEntropy-SGDにより計算する。また、更新部132は、目的関数が最適化されるように深層学習モデルのパラメータを更新する。
 学習装置10は、以下の実施例1、又は実施例1をさらに効率化した実施例2により学習を行うことができる。
(実施例1)
 学習装置10は、Entropy-SGDにおいてヘッセ行列が分散共分散行列になることを用いて、SGLDによって当該分散共分散行列を推定し、ニュートン法のようにヘッセ行列の逆行列を掛けることで効率化する。
 学習装置10は、Entropy-SGDのヘッセ行列を計算する。ヘッセ行列の(i,j)成分は(10)式のようになる。
Figure JPOXMLDOC01-appb-M000010
 (10)式の成分を含む行列は(11)式である。
Figure JPOXMLDOC01-appb-M000011
 ここでδi,jは、i=jのときに1、他は0となるデルタ関数であり、Iは単位行列である。Σθ′は確率密度関数pθ(θ′)の分散共分散行列である。
 この分散共分散行列を正確に求めるのは困難である。そこで、学習装置10は、期待値と同様にSGLDを使って図4の疑似コードが示すアルゴリズムによって、分散共分散行列を近似する。図4は、実施形態のアルゴリズムを説明する図である。
 学習装置10は、図4の13行目から17行目でEpθ[θ′θ′]を近似計算し、19行目から22行目でEpθ[θ′θ′]-Epθ[θ′]Epθ[θ′]を近似計算し、24行目でヘッセ行列の逆行列を計算して勾配に掛けている。これによってニュートン法と同様に高速化が期待できる。
 また、この場合の更新処理の流れを図9に示す。図9は、実施形態による更新処理の流れを示すフローチャートである。図9の処理は図4のアルゴリズムに対応する。
 図9に示すように、まず、学習装置10はlを1だけ増加させる(ステップS401)。そして、学習装置10は、データセットからランダムに選択された入力を識別器に印加する(ステップS402)。
 ここで、学習装置10は、勾配を計算してpθ(θ′)に従うθ′のサンプリング及びこれを使ったθ′の平均を更新する(ステップS403)。
 さらに、学習装置10は、θ′を使って分散共分散行列を更新する(ステップS404)。
 ここで、lがL以下である場合(ステップS405、Yes)、学習装置10はステップS401に戻り処理を繰り返す。
 一方、lがL以下でない場合(ステップS405、No)、学習装置10は、単位行列と、推定(更新)された分散共分散からなる行列の逆行列を計算する(ステップS406)。そして、学習装置10は計算した逆行列を用いてモデルパラメータを更新する(ステップS407)。
 実施例1では、計算部131は、Entropy-SGDの中で用いられる確率分布にしたがったパラメータの分散共分散行列である第1の行列をSGLD(Stochastic Gradient Langevin Dynamics)により計算する。更新部132は、第1の行列を用いて深層学習モデルのパラメータを更新する。
 また、更新部132は、ヘッセ行列である第1の行列の逆行列を勾配に掛けて深層学習モデルのパラメータを更新する。
(実施例2)
 逆行列を計算するにはO(d)の計算コストがかかるため、より効率的な方法として共分散を0と仮定してΣが各パラメータの分散からなる対角行列であると仮定する。すると、ヘッセ行列の逆行列は対角行列でその(i,i)成分は(12)式となる。
Figure JPOXMLDOC01-appb-M000012
 この場合、学習装置10は、分散の逆数を各パラメータに掛けるだけで済む。学習装置10は、図5の疑似コードが示すアルゴリズムによって、共分散が0の分散共分散行列(分散行列)を近似する。図5は、実施形態のアルゴリズムを説明する図である。
 学習装置10は、図5の11行目から13行目でEpθ[θ′θ′]を近似計算し、15行目から17行目でEpθ[θ′θ′]-Epθ[θ′]Epθ[θ′]を近似計算し、18行目でヘッセ行列の逆行列を計算して勾配に掛けている。
 また、この場合の更新処理の流れを図10に示す。図10は、実施形態による更新処理の流れを示すフローチャートである。図10の処理は図5のアルゴリズムに対応する。
 図10に示すように、まず、学習装置10はlを1だけ増加させる(ステップS501)。そして、学習装置10は、データセットからランダムに選択された入力を識別器に印加する(ステップS502)。
 ここで、学習装置10は、勾配を計算してpθ(θ′)に従うθ′のサンプリング及びこれを使ったθ′の平均を更新する(ステップS503)。
 さらに、学習装置10は、θ′を使って分散を更新する(ステップS504)。
 ここで、lがL以下である場合(ステップS505、Yes)、学習装置10はステップS501に戻り処理を繰り返す。
 一方、lがL以下でない場合(ステップS505、No)、学習装置10は、単位行列と、推定(更新)された分散からなるベクトルを計算する(ステップS506)。そして、学習装置10は計算したベクトルを用いてモデルパラメータを更新する(ステップS507)。
 実施例2では、計算部131は、Entropy-SGDの中で用いられる確率分布にしたがったパラメータのSGLD(Stochastic Gradient Langevin Dynamics)により計算される分散共分散行列の共分散を0と仮定した第1の行列を計算する。更新部132は、第1の行列を用いて深層学習モデルのパラメータを更新する。
 これまで説明したEntropy-SGD、実施例1及び実施例2は、敵対的学習に適用可能である。特に実施例1及び実施例2を敵対的学習に適用することで、敵対的学習の目的関数を滑らかにしつつ学習効率を向上させるという効果が生じる。
 図11、図12及び図13は、それぞれEntropy-SGD、実施例1及び実施例2を敵対的学習に適用した場合の処理を示している。これらの処理においては、データセットからランダムに選択した入力を基に、敵対的攻撃が作成される。
 図11は、敵対的学習における更新処理の流れを示すフローチャートである。図11に示すように、まず、学習装置10aはlを1だけ増加させる(ステップS601)。そして、学習装置10aは、データセットからランダムに入力を選択する(ステップS602)。
 ここで、学習装置10aは、選択した入力から敵対的攻撃を作成する(ステップS603)。そして、学習装置10aは、作成した敵対的攻撃を識別器に入力(印加)する(ステップS604)。
 ここで、学習装置10aは、勾配を計算してpθ(θ′)に従うθ′のサンプリング及びこれを使ったθ′の平均を更新する(ステップS605)。
 ここで、lがL以下である場合(ステップS606、Yes)、学習装置10aはステップS601に戻り処理を繰り返す。一方、lがL以下でない場合(ステップS606、No)、学習装置10aはモデルパラメータを更新する(ステップS607)。
 図12は、敵対的学習における実施形態による更新処理の流れを示すフローチャートである。図12に示すように、まず、学習装置10はlを1だけ増加させる(ステップS701)。そして、学習装置10は、データセットからランダムに入力を選択する(ステップS702)。
 ここで、学習装置10は、選択した入力から敵対的攻撃を作成する(ステップS703)。そして、学習装置10は、作成した敵対的攻撃を識別器に入力(印加)する(ステップS704)。
 ここで、学習装置10は、勾配を計算してpθ(θ′)に従うθ′のサンプリング及びこれを使ったθ′の平均を更新する(ステップS705)。
 さらに、学習装置10は、θ′を使って分散共分散行列を更新する(ステップS706)。
 ここで、lがL以下である場合(ステップS707、Yes)、学習装置10はステップS701に戻り処理を繰り返す。
 一方、lがL以下でない場合(ステップS707、No)、学習装置10は、単位行列と、推定(更新)された分散共分散からなる行列の逆行列を計算する(ステップS708)。そして、学習装置10は計算した逆行列を用いてモデルパラメータを更新する(ステップS709)。
 図13は、敵対的学習における実施形態による更新処理の流れを示すフローチャートである。図13に示すように、まず、学習装置10はlを1だけ増加させる(ステップS801)。そして、学習装置10は、データセットからランダムに入力を選択する(ステップS802)。
 ここで、学習装置10は、選択した入力から敵対的攻撃を作成する(ステップS803)。そして、学習装置10は、作成した敵対的攻撃を識別器に入力(印加)する(ステップS804)。
 ここで、学習装置10は、勾配を計算してpθ(θ′)に従うθ′のサンプリング及びこれを使ったθ′の平均を更新する(ステップS805)。
 さらに、学習装置10は、θ′を使って分散を更新する(ステップS806)。
 ここで、lがL以下である場合(ステップS807、Yes)、学習装置10はステップS801に戻り処理を繰り返す。
 一方、lがL以下でない場合(ステップS807、No)、学習装置10は、単位行列と、推定(更新)された分散からなるベクトルを計算する(ステップS808)。そして、学習装置10は計算したベクトルを用いてモデルパラメータを更新する(ステップS809)。
[第1の実施形態の効果]
 これまで説明してきたように、計算部131は、深層学習モデルに敵対的攻撃として作成されたデータを入力したときの目的関数をEntropy-SGDにより計算する。更新部132は、目的関数が最適化されるように深層学習モデルのパラメータを更新する。これにより、学習装置10は、敵対的学習の目的関数を滑らかにしつつ学習効率を向上させることができる。
 また、計算部131は、Entropy-SGDの中で用いられる確率分布にしたがったパラメータの分散共分散行列である第1の行列をSGLD(Stochastic Gradient Langevin Dynamics)により計算する。更新部132は、第1の行列を用いて深層学習モデルのパラメータを更新する。これにより、学習装置10は、敵対的学習の学習効率を向上させることができる。
 計算部131は、Entropy-SGDの中で用いられる確率分布にしたがったパラメータのSGLD(Stochastic Gradient Langevin Dynamics)により計算される分散共分散行列の共分散を0と仮定した第1の行列を計算する。更新部132は、第1の行列を用いて深層学習モデルのパラメータを更新する。これにより、学習装置10は、敵対的学習の学習効率をさらに向上させることができる。
 更新部132は、ヘッセ行列である第1の行列の逆行列を勾配に掛けて深層学習モデルのパラメータを更新する。これにより、学習装置10は勾配を滑らかにすることができる。
[システム構成等]
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU(Central Processing Unit)及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
 また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
 一実施形態として、学習装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の学習処理を実行するプログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記のプログラムを情報処理装置に実行させることにより、情報処理装置を学習装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
 また、学習装置10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の処理に関するサービスを提供するサーバ装置として実装することもできる。例えば、サーバ装置は、データセットを入力とし、学習済みの深層学習モデルを出力とするサービスを提供するサーバ装置として実装される。この場合、サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。
 図14は、プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
 メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
 ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、学習装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、学習装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
 また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020は、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した実施形態の処理を実行する。
 なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 10 学習装置
 11 インタフェース部
 12 記憶部
 13 制御部
 121 モデル情報
 131 計算部
 132 更新部

Claims (6)

  1.  深層学習モデルに敵対的攻撃として作成されたデータを入力したときの目的関数をEntropy-SGDにより計算する計算部と、
     前記目的関数が最適化されるように前記深層学習モデルのパラメータを更新する更新部と、
     を有することを特徴とする学習装置。
  2.  前記計算部は、Entropy-SGDの中で用いられる確率分布にしたがったパラメータの分散共分散行列である第1の行列をSGLD(Stochastic Gradient Langevin Dynamics)により計算し、
     前記更新部は、前記第1の行列を用いて前記深層学習モデルのパラメータを更新することを特徴とする請求項1に記載の学習装置。
  3.  前記計算部は、Entropy-SGDの中で用いられる確率分布にしたがったパラメータのSGLD(Stochastic Gradient Langevin Dynamics)により計算される分散共分散行列の共分散を0と仮定した第1の行列を計算し、
     前記更新部は、前記第1の行列を用いて前記深層学習モデルのパラメータを更新することを特徴とする請求項1に記載の学習装置。
  4.  前記更新部は、ヘッセ行列である前記第1の行列の逆行列を勾配に掛けて前記深層学習モデルのパラメータを更新することを特徴とする請求項2又は3に記載の学習装置。
  5.  学習装置によって実行される学習方法であって、
     深層学習モデルに敵対的攻撃として作成されたデータを入力したときの目的関数をEntropy-SGDにより計算する計算工程と、
     前記目的関数が最適化されるように前記深層学習モデルのパラメータを更新する更新工程と、
     を含むことを特徴とする学習方法。
  6.  コンピュータを、請求項1から4のいずれか一項に記載の学習装置として機能させるための学習プログラム。
PCT/JP2021/019982 2021-05-26 2021-05-26 学習装置、学習方法及び学習プログラム WO2022249327A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2023523800A JPWO2022249327A1 (ja) 2021-05-26 2021-05-26
PCT/JP2021/019982 WO2022249327A1 (ja) 2021-05-26 2021-05-26 学習装置、学習方法及び学習プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/019982 WO2022249327A1 (ja) 2021-05-26 2021-05-26 学習装置、学習方法及び学習プログラム

Publications (1)

Publication Number Publication Date
WO2022249327A1 true WO2022249327A1 (ja) 2022-12-01

Family

ID=84228647

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/019982 WO2022249327A1 (ja) 2021-05-26 2021-05-26 学習装置、学習方法及び学習プログラム

Country Status (2)

Country Link
JP (1) JPWO2022249327A1 (ja)
WO (1) WO2022249327A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020235011A1 (ja) * 2019-05-21 2020-11-26 日本電信電話株式会社 学習装置、学習方法及び学習プログラム
JP2021022316A (ja) * 2019-07-30 2021-02-18 Kddi株式会社 学習装置、学習方法及び学習プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020235011A1 (ja) * 2019-05-21 2020-11-26 日本電信電話株式会社 学習装置、学習方法及び学習プログラム
JP2021022316A (ja) * 2019-07-30 2021-02-18 Kddi株式会社 学習装置、学習方法及び学習プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GAURI JAGATAP; AMEYA JOSHI; ANIMESH BASAK CHOWDHURY; SIDDHARTH GARG; CHINMAY HEGDE: "Adversarially Robust Learning via Entropic Regularization", ARXIV.ORG, 19 February 2021 (2021-02-19), XP081882045 *

Also Published As

Publication number Publication date
JPWO2022249327A1 (ja) 2022-12-01

Similar Documents

Publication Publication Date Title
CN110689139A (zh) 用于机器学习的方法和计算机系统
JP7010371B2 (ja) 学習済みモデル更新装置、学習済みモデル更新方法、プログラム
WO2022110640A1 (zh) 一种模型优化方法、装置、计算机设备及存储介质
US11030246B2 (en) Fast and accurate graphlet estimation
US20180357566A1 (en) Unsupervised learning utilizing sequential output statistics
US20210034976A1 (en) Framework for Learning to Transfer Learn
WO2023051140A1 (zh) 用于图像特征表示生成的方法、设备、装置和介质
US11636384B1 (en) Spherical random features for polynomial kernels
Sherzer et al. Can machines solve general queueing systems?
JP2013037471A (ja) 確率モデル更新システム、確率モデル更新装置、確率モデル更新方法およびプログラム
Chamoso et al. Social computing for image matching
US20210326757A1 (en) Federated Learning with Only Positive Labels
US20230297674A1 (en) Detection device, detection method, and detection program
WO2022249327A1 (ja) 学習装置、学習方法及び学習プログラム
CN111630530A (zh) 数据处理系统和数据处理方法
He et al. An incremental kernel density estimator for data stream computation
WO2019208523A1 (ja) 学習装置、学習方法及び学習プログラム
JP6928346B2 (ja) 予測装置、予測方法および予測プログラム
US20240232625A1 (en) Training device, training method, and training program
WO2024013911A1 (ja) 学習装置、学習方法、学習プログラム、推論装置、推論方法、及び推論プログラム
US20230267316A1 (en) Inference method, training method, inference device, training device, and program
JP2020087148A (ja) 情報処理装置、情報処理方法およびプログラム
JP7396467B2 (ja) 学習装置、分類装置、学習方法、分類方法、および、プログラム
WO2023195138A1 (ja) 学習方法、学習装置及び学習プログラム
JP7327631B2 (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: 21942981

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023523800

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 18563397

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21942981

Country of ref document: EP

Kind code of ref document: A1