WO2022239240A1 - 学習装置、学習方法及びプログラム - Google Patents
学習装置、学習方法及びプログラム Download PDFInfo
- Publication number
- WO2022239240A1 WO2022239240A1 PCT/JP2021/018449 JP2021018449W WO2022239240A1 WO 2022239240 A1 WO2022239240 A1 WO 2022239240A1 JP 2021018449 W JP2021018449 W JP 2021018449W WO 2022239240 A1 WO2022239240 A1 WO 2022239240A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- weight
- learning
- neural network
- unit
- updating
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Definitions
- the present invention relates to a learning device, a learning method and a program.
- AI artificial intelligence
- deep neural networks a technology for learning deep neural networks (deep neural networks) called deep learning. Since its rise, recognition technology for various media such as images, sounds, and languages has achieved an extremely high accuracy level that exceeds human ability.
- Normalization is one of the important basic technical elements along with these. Normalization is an operation that makes it easier to handle by transforming the scale and average so that the possible values of a variable fall within a specific range. Regularization has the effect of stabilizing learning, speeding up convergence, and improving accuracy.
- a typical method of normalization in neural network learning is batch normalization (BN) (see, for example, Non-Patent Document 1).
- BN batch normalization
- each channel is standard normalized to have a mean of 0 and a variance of 1 for each batch at each layer of the network.
- BN has a very high learning stabilization effect and can increase the accuracy of the network.
- BN has some major weaknesses.
- the BN normalizes the input, it is necessary to perform the normalization process for each input. Therefore, the computational cost increases.
- the BN is normalized using the mean and variance in the batch during learning. Therefore, it is known that when the batch size (the number of samples in a batch) is small, the mean/variance does not become a reliable value and the performance deteriorates. Also, when the statistical amount of data changes greatly between learning and testing, there is also the problem that the accuracy is similarly degraded.
- each weight (vector) v before normalization is decomposed into length g and direction v/
- a normalization method that obtains (see, for example, Non-Patent Document 2).
- the k-th element v k of the weight v before normalization is standard-normalized by the mean ⁇ and the standard deviation ⁇ of the weight w, and the corresponding element w of the weight after normalization is There is a method for obtaining k (see, for example, Non-Patent Document 3).
- ⁇ w L is the gradient of L with respect to weight w after normalization
- ⁇ > is the inner product operation
- ⁇ v is the standard deviation of weight v before normalization
- m is after normalization represents the dimension of the weight w of .
- the problem here is that the gradient involves division by the standard deviation ⁇ v . Since ⁇ v is the standard deviation of the weight v before normalization, it can take any real value. If, in the course of learning, ⁇ v becomes a very small value, this gradient can diverge to infinity. That is, the gradient may diverge in the process of learning, and gradient explosion may occur in which the learning itself fails.
- Non-Patent Document 2 and Non-Patent Document 3 cannot be used alone, so they are always used in combination with activation value normalization methods such as BN.
- activation value normalization methods such as BN.
- an object of the present invention is to provide a learning device, a learning method, and a program capable of learning a neural network while suppressing an increase in calculation cost and a decrease in learning accuracy.
- a learning device provides a neural network based on a gradient of a loss function for calculating an error between output data obtained by inputting input data into a neural network and correct data corresponding to the input data.
- a learning unit for updating the weights of the network wherein the learning unit calculates the gradients so that the average value of the gradients used for updating the weights of the channels of the layers of the neural network is 0; a first updating unit that updates the weight of each channel of each layer using the gradient that is obtained; and a second updating unit that updates the weight so that the norm of the weight updated by the first updating unit becomes a predetermined value. and an updating unit.
- a learning method is a neural network based on a gradient of a loss function that calculates an error between output data obtained by inputting input data into a neural network and correct data corresponding to the input data.
- a learning step of updating the weights of the network wherein the learning step calculates the gradients so that the average value of the gradients used for updating the weights of the channels of the layers of the neural network is 0; a first updating step of updating the weight of each channel of each layer using the gradient that has been obtained; and two update steps.
- a program of one aspect of the present invention causes a computer to function as the learning device described above.
- FIG. 1 is a block diagram showing the configuration of a learning device according to a first embodiment of the present invention
- FIG. It is a figure which shows the hardware constitutions of the learning apparatus by the same embodiment.
- FIG. 4 is a flowchart showing learning processing executed by the learning device according to the same embodiment;
- FIG. 5 is a diagram for explaining weight calculation of the learning device according to the embodiment; It is a figure which shows the result of the evaluation experiment using the learning apparatus by the same embodiment. It is a figure which shows the result of the evaluation experiment using the learning apparatus by the same embodiment.
- FIG. 10 is a diagram showing the results of evaluation experiments using the learning device according to the second embodiment;
- the first embodiment is an example of an embodiment applied to image recognition.
- FIG. 1 is a block diagram showing the configuration of a learning device 100 according to this embodiment.
- Learning device 100 learns a deep neural network based on input learning data.
- the learning device 100 includes an input section 120 and a calculation section 140 .
- Calculation unit 140 includes storage unit 160 and learning unit 180 .
- the storage unit 160 may be inside or outside the learning device 100 .
- the storage unit 160 is provided inside the learning device 100 .
- the input unit 120 accepts learning data.
- the learning data is information in which input data and correct data are associated with each other.
- the storage unit 160 stores weights, which are network parameters of the deep neural network.
- the learning unit 180 executes learning processing of the deep neural network using the learning data.
- the learning unit 180 outputs the weights of the deep neural network obtained as a result of the learning process to the storage unit 160 .
- the learning unit 180 includes a first updating unit 181 and a second updating unit 182 .
- the first updating unit 181 inputs input data to a deep neural network to obtain output data.
- the first updating unit 181 calculates the gradient of a loss function that calculates the error between the output data and the correct data corresponding to the input data. At this time, the first updating unit 181 calculates the gradient so that the average value of the gradients used for updating the weight of each element in each layer of the deep neural network is zero.
- the first updating unit 181 updates the weight using the calculated gradient.
- the second updating unit 182 updates the weight so that the norm of the weight updated by the first updating unit 181 becomes a predetermined value.
- FIG. 2 is a diagram showing the hardware configuration of the learning device 100.
- Learning device 100 is realized by computer 200 shown in FIG. 2, for example.
- Computer 200 includes a CPU 210 , a memory 220 , a storage section 230 , an input section 240 and a display section 250 .
- CPU 210 , memory 220 , storage unit 230 , input unit 240 and display unit 250 are connected to each other via bus 260 .
- the storage unit 230 is implemented by, for example, an HDD (Hard disk drive), SSD (Solid State Drive), flash memory, or the like.
- a program 232 for causing the computer 200 to function as the learning device 100 is stored in the storage unit 230 .
- the CPU 210 reads the program 232 from the storage unit 230 , develops it in the memory 220 , and executes the program 232 .
- the program 232 may be stored in a computer-readable medium and provided.
- Input unit 240 includes a keyboard and a mouse.
- Display unit 250 includes a monitor.
- the learning apparatus 100 learns a convolutional neural network (CNN), which is a type of deep neural network, for an image recognition task.
- CNN convolutional neural network
- the learning unit 180 of the learning device 100 learns and outputs a CNN upon receiving a data group for learning as an input.
- ⁇ Configuration of CNN>>> When the CNN receives an image as input, it outputs the recognition result of that image.
- the configuration of the CNN can adopt any configuration as long as it can realize such an input/output relationship.
- a 9-layer CNN in which the convolution layer Conv, the average pooling layer AvgPool, the global average pooling layer GAP (Global Average Pooling), and the fully connected layer Linear are connected as follows can be used.
- Conv(k,c) represents a convolutional layer with c channels and a convolution kernel of size k ⁇ k.
- AvgPool(s) represents the average pooling layer of stride s.
- the learning device 100 may use a CNN such as ResNet described in Reference 1 or WideResNet described in Reference 2 as the CNN.
- the learning process is a process for appropriately determining weights, which are parameters of the CNN, based on learning data.
- the class label y is a one hot vector that takes 1 only for the element corresponding to the index of the corresponding class and takes 0 for the other elements.
- the means for constructing the learning data is irrelevant to the gist of this embodiment, and any means may be used for preparation.
- the learning data may be prepared manually or automatically.
- FIG. 3 is a flowchart showing an overview of the learning process executed by the learning device 100 in this embodiment.
- the learning device 100 uses the learning data D as described above to perform learning processing through the following steps.
- W the weight of each channel in each layer of the CNN.
- the weight w is a d-dimensional vector.
- the first updating unit 181 of the learning unit 180 acquires a set of the image x and the class label y from the data D for learning.
- the first updating unit 181 inputs the image x to the CNN and obtains the output z of the CNN. Based on this output z and the class label y corresponding to the image x, the first updating unit 181 obtains the gradient ⁇ w L of the loss function L for the weight w of each CNN layer and each channel.
- Softmax Cross Entropy is used as the loss function L in this embodiment. Softmax Cross Entropy is often used in image recognition.
- a loss function L is shown as in Equation (4).
- yik is the kth element of class label y corresponding to the ith image x.
- z ik is the k-th element of the CNN's output z corresponding to the i-th image x.
- n is the total number of training data, that is, the size of the D set.
- the first updating unit 181 may perform mini-batch learning.
- step S103 the first update unit 181 updates the weight w of each layer and each channel of the CNN according to Equation (5) below.
- ⁇ w L is the gradient of the loss function L with respect to weight w.
- d is the batch size. That is, d is the number of samples that are simultaneously learned during one iteration. d is any positive integer.
- step S104 the second update unit 182 updates the weight w of each layer and each channel of the CNN according to Equation (6).
- the storage unit 160 stores the weight W output from the second updating unit 182 .
- the above learning process is a procedure for minimizing the loss function L under the constraint that the average of the weights w of each layer and each channel is 0 and the norm is c.
- This procedure does not normalize the weights, but corresponds to obtaining normalized weights from the beginning.
- the problem with the constraint of the following equation (7) is solved.
- l is the CNN layer index and i is the channel index within the layer.
- W (l) is the weight of the l-th layer, and w i (l) is the weight of the i-th channel of the l-th layer.
- c (l) is a constant. c (l) is any real number greater than 0, preferably 2; The variance can be 1 if certain conditions are met.
- Equation (6) The gradient ⁇ w L in equation (5) is determined in the same manner as in the prior art. If there is no term (1/d)(1 T ⁇ w L) 1 (hereinafter referred to as term A) on the right side of equation (5), it is the same as the conventional gradient, but with the term A, the gradient The weights are updated so that the average of is zero. Then, it is normalized so that the norm of the weight becomes c by Equation (6).
- FIG. 4 is a diagram for explaining calculation of weights by the learning device 100 in this embodiment.
- w (t) is the weight w calculated in the t-th learning process.
- a point w ⁇ that is the foot of the perpendicular drawn from w′ to the tangent plane P at w (t) is calculated by equation (5) including the term A.
- the point w ⁇ corresponds to the updated weight w on the left side of equation (5).
- the point w (t+1) at which the perpendicular drawn from w ⁇ to the spherical surface Q intersects with the spherical surface Q is obtained from equation (6).
- the point w (t+1) is the updated weight w. Since w (t+1) is a point on the sphere Q, the norm of w (t+1) is c.
- the loss function L is minimized under the constraint that the average weight w of each layer and each channel is 0 and the norm is c. Therefore, the final weights are normalized with an average of 0 and a constant variance, and the same effects as weight normalization can be obtained.
- no division by ⁇ v occurs in the gradient. Therefore, stable learning is possible without gradient explosion. Due to this advantage, this embodiment can learn without being combined with BN or the like, and can achieve high accuracy comparable to BN.
- Weight normalization equalizes the mean and variance of weights in all layers. Therefore, there is a possibility that the expressive ability of the CNN as a whole is reduced.
- a scale parameter ⁇ and a bias parameter ⁇ are introduced for each layer and each channel, and as shown in the following equation (8), the output p of each layer and each channel is linearly transformed. It may be changed to output the output q. That is, the first updating unit 181 performs the calculation of equation (8) on the output of each layer and each channel calculated when the input data x is input to the deep neural network, and inputs the result to the next layer.
- the learning unit 180 may learn these parameters ⁇ and ⁇ based on the gradient of the loss function as well as the weight w.
- the output q of each layer and each channel is easier to adjust the dynamic range than the original output p, making it possible to improve the performance.
- randomness may be introduced into the output of each layer and each channel during learning. Specifically, only during learning, the output of each layer and each channel is determined by Equation (9) instead of Equation (8). The output of each layer and each element of the linearly transformed neural network is multiplied by a probability random number according to Equation (9). The first updating unit 181 performs the calculation of Equation (9) on the output of each layer and each channel calculated when the input data x is input to the deep neural network, and inputs the result to the next layer.
- ⁇ is a normal random number with mean 0 and variance ⁇ l 2 .
- the variance ⁇ l is determined by the following equation (10).
- the performance of weight normalization according to the present embodiment is compared with the existing activation value normalization method/weight normalization method, BN (Non-Patent Document 1), GN (Reference Document 6), WS + BN (Non-Patent Document 1). Document 2) and WS+GN (Non-Patent Document 2).
- WS+BN represents the combination of WS, which is the weight normalization method described in Non-Patent Document 2
- BN and WS+GN represents the combination of WS and GN. Since WS alone fails in learning and cannot obtain sufficient performance, the results when used together with these activation value normalization methods are shown.
- FIGS. 5 and 6 are diagrams showing the results of evaluation experiments using the learning device 100.
- FIG. The numerical values in the tables shown in FIGS. 5 and 6 are error rates.
- the error rate is the rate of incorrect identifications. A smaller error rate indicates better performance. Also, under the same conditions, the number of the method that showed the best performance is underlined. From the results shown in FIGS. 5 and 6, the following facts can be observed.
- this embodiment is a weight normalization method, it can be confirmed that it alone can achieve the same level of performance as BN, which is an activation value normalization method. That is, according to this embodiment, it is possible to realize highly accurate learning that can enjoy the original merits of the weight normalization method.
- the second embodiment is an example of an embodiment applied to point cloud object recognition.
- a Graph Convolutional Neural Network which is a type of deep neural network targeting point clouds, is trained for a point cloud object recognition task that identifies objects measured by point clouds. A case of doing so will be explained.
- This embodiment will be described with a focus on differences from the embodiment when applied to image recognition.
- the learning device 100 of the first embodiment shown in FIG. 1 can be used.
- Learning device 100 receives a data group for learning as an input, learns a GCNN, and outputs the learned GCNN.
- GCNN>>> When the GCNN receives point cloud data as an input, it outputs the recognition result of the point cloud data.
- the configuration of the GCNN can adopt any configuration as long as it can realize such an input/output relationship.
- the GCNN described in reference 7 is used.
- the learning process is the same as the process in the image recognition of the first embodiment shown in FIG.
- the input data format differs in that the first embodiment is an image and the present embodiment is a point cloud.
- this difference is absorbed by changing the deep neural network to use GCNN instead of CNN. Therefore, the same processing can be applied to the subsequent processing, including linear conversion processing and random number multiplication processing.
- ⁇ Evaluation experiment>> 4 shows performance evaluation experimental results relating to an example of the present embodiment.
- data called ModelNet40 which is widely used for point cloud object recognition performance evaluation, is used as evaluation data.
- the performance of weight normalization according to this embodiment is compared with the performance of BN, GN, WS+BN, and WS+GN.
- FIG. 7 is a diagram showing the results of a performance evaluation experiment using the learning device 100 of this embodiment.
- Numerical values in the table shown in FIG. 6 are recognition accuracy rates, and larger values indicate better performance. Unlike the results for image recognition, no significant performance difference is observed for any method except GN. However, considering that all of the existing methods use the activation value normalization method, the calculation cost required for recognition is higher than that of the present embodiment, which is an advantage of the present embodiment.
- the learning method in the embodiment of the present invention may be configured by a computer, server, or the like equipped with a general-purpose arithmetic processing unit, storage device, etc., and each process may be executed by a program.
- This program is stored in a storage device, and can be recorded on a recording medium such as a magnetic disk, optical disk, or semiconductor memory, or can be provided through a network.
- a recording medium such as a magnetic disk, optical disk, or semiconductor memory
- any other component does not have to be implemented by a single computer or server, but may be implemented by being distributed over a plurality of computers connected by a network.
- the learning device includes the learning unit.
- the learning unit updates the weight of the neural network based on the gradient of the loss function that calculates the error between the output data obtained by inputting the input data to the neural network and the correct data corresponding to the input data.
- the learning unit includes a first update unit and a second update unit.
- the first updating unit calculates gradients so that the average value of the gradients used for updating the weights of the channels in each layer of the neural network is 0, and uses the calculated gradients to update the weights of the channels in each layer.
- the second updating unit updates the weights so that the norm of the weights updated by the first updating unit becomes a predetermined value.
- the second update unit updates the weight by dividing the weight updated by the first update unit by the norm of the weight. Also, the second update unit divides the weight updated by the first update unit by the norm of the weight, and multiplies the result by a constant to update the weight.
- the first update unit performs linear transformation on the output of each layer and each element obtained by inputting input data to the neural network, and updates the parameters of the linear transformation based on the gradient of the loss function. may Furthermore, the first updating unit may multiply the output of each layer and each element of the linearly transformed neural network by a random random number.
- gradient explosion does not occur even when used alone. It is possible to provide a normalization method that can enjoy the property of not depending on quantity. As a result, highly accurate learning can be achieved.
- learning device 120 input unit 140 calculation unit 160 storage unit 180 learning unit 181 first update unit 182 second update unit 200 computer 210 CPU 220 memory 230 storage unit 240 input unit 250 display unit
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
学習装置は、入力データをニューラルネットワークに入力して得られた出力データと、入力データに対応した正解データとの誤差を算出する損失関数の勾配に基づいて、ニューラルネットワークの重みを更新する学習部を備える。学習部は、第一更新部及び第二更新部を備える。第一更新部は、ニューラルネットワークの各層の各チャネルの重みそれぞれの更新に用いる勾配の平均値が0となるように勾配を算出し、算出された勾配を用いて各層の各チャネルの重みを更新する。第二更新部は、第一更新部により更新された重みのノルムが所定の値となるように重みを更新する。
Description
本発明は、学習装置、学習方法及びプログラムに関する。
AI(人工知能)技術の進展が目覚ましい。画像認識技術は、いまや数千クラスの物体を識別可能になった。音声認識技術は、自然雑音環境下でも安定した認識が可能な技術が多く実用化され、スマートフォンのような小型端末からでも気軽に利用できるようになっている。機械翻訳も誰もが利用可能になり、国際コミュニケーションの障壁が飛躍的に低下してきている。
これら近年のAIイノベーションを支えているのは、深層学習と呼ばれる深いニューラルネットワーク(深層ニューラルネットワーク)を学習する技術である。その台頭以来、画像・音・言語といった各種メディアの認識技術は、人間の能力を超えるほどに極めて高い精度レベルを達成するに至っている。
これら成功と普及の背後にある技術的要因は多岐にわたる。その要因の一つには、深層学習技術そのもの、すなわち、従来は困難であった深層ニューラルネットワークを、効果的に学習可能にする種々の学習技術が発明、あるいは再発明されてきたことが上げられよう。深層ニューラルネットワークの学習は、一般的には何らかの損失関数Lを最小化するようにネットワークパラメータ(重み)を最適化することによって行われる。しかし、単純にこれを実行しようとすると、学習が安定しない、計算に時間がかかる、精度が低いなど、様々な問題に直面する。これに対し、例えば、効率的な学習を可能とするために、並列更新を可能にするmini-batch stochastic gradient decent(SGD)や、適切な更新ステップサイズを自動的に調整するAdamといった、種々の勾配法ベースの最適化アルゴリズムが発明されてきた。また、ニューラルネットワークの学習は初期値への依存性が非常に高い。そのため、初期値の設定がしばしば勾配消失などの学習の失敗を引き起こす原因となっていた。この問題に対して、ネットワーク各層の出力分布に偏りを無くすような初期値設定手法が整備されたために、安定した学習が可能になった。
さらに、これらと並び重要な基本的技術要素の一つとなっているのが正規化である。正規化とは、変数の取りうる値が特定の範囲に収まるように、そのスケールや平均を変換して扱いやすくする操作である。正規化は、学習を安定化したり、収束を早めたり、精度を改善したりする効果がある。
ニューラルネットワークの学習における正規化の代表的な手法は、バッチ正規化(batch normalization:BN)である(例えば、非特許文献1参照)。BNでは、ネットワークの各層において、バッチ毎に各チャネルを平均0かつ分散1となるように標準正規化する。BNは学習安定化の効果が非常に高く、ネットワークの精度を増加させることができる。その一方で、BNには、いくつかの大きな弱点が存在する。まず、BNは入力を正規化するため、毎入力ごとに正規化処理を実行する必要がある。よって、計算コストが増加する。また、BNは学習時にはバッチ内の平均・分散を用いて正規化する。そのため、バッチサイズ(バッチ内のサンプル数)が小さい場合には、平均・分散が信頼性のある値にならず、性能が劣化することが知られている。また、学習時とテスト時でデータの統計量が大きく変わるような場合にも、やはり同様に精度が劣化するという問題がある。
以上のようなBNの問題点を鑑み、ネットワークの入力を直接正規化するのを避け、ネットワークの重みを正規化する重み正規化によって、BNの弱点を回避する試みがなされている。重み正規化が単体で用いられる場合には、一度重みを正規化しておけば、以降どのような入力がなされた場合であっても、そのたびに正規化の必要がないため、計算量の面でメリットがある。また、バッチサイズにも依存しないため、統計量の信頼性やずれによる影響も受けにくい。
これまで、いくつかの重み正規化手法が開示されてきている。例えば、式(1)に示すように、正規化前の各重み(ベクトル)vを、長さgと方向v/||v||に分解して個別に更新し、正規化後の重みwを得る正規化法がある(例えば、非特許文献2参照)。
また、式(2)に示すように、正規化前の重みvのk番目の要素vkを、重みwの平均μと標準偏差σによって標準正規化し、対応する正規化後の重みの要素wkを得る方法がある(例えば、非特許文献3参照)。
Sergey Ioffe and Christian Szegedy,"Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift",In Proceedings of the 32nd International Conference on Machine Learning,Volume 37,p.448-456,2015.
Tim Salimans and Diederik P. Kingmam,"Weight Normalization: A Simple Reparameterization to Accelerate Training of Deep Neural Networks",In Proceedings of the 30th International Conference on Neural Information Processing Systems (NIPS),2016.
Siyuan Qiao,Huiyu Wang,Chenxi Liu,Wei Shen,Alan Yuille,"Weight standardization",arXiv preprint,arXiv:1903.10520v1,2019.
大局的にみれば、既存の発明はいずれも、正規化前の重みに対して、平均を差し引いたり、ノルムや標準偏差で除算することによって別のパラメータに変換(reparametrization)し、正規化後の重みを得ている。しかしながら、この方式には、学習を崩壊させる「勾配爆発」と呼ばれる問題が起こる可能性があるという根本的な弱点が存在する。このようなreparametrizationに基づく重み正規化法を採用し、正規化前の重みvを勾配ベースの最適化により求めようとした場合、その損失関数Lの重みvについての勾配∇vLは式(3)となる。
ここで、∇wLは、Lの正規化後の重みwについての勾配であり、〈〉は内積演算であり、σvは正規化前の重みvの標準偏差であり、mは正規化後の重みwの次元を表す。ここで問題となるのは、勾配に標準偏差σvによる除算が含まれる点である。σvは正規化前の重みvの標準偏差であるから、任意の実数値を取りうる。もし仮に、学習の過程でσvが非常に小さい値になったとすると、この勾配は無限大まで発散しうる。すなわち、学習の過程で勾配が発散し、学習自体が失敗する勾配爆発が生じうる。
結果として、非特許文献2や非特許文献3に記載の既存の重み正規化法は、それら単体で利用することはできないため、必ずBNなどの活性値正規化法と組み合わせて用いられている。しかしながら、BNと組み合わせることによって、本来重み正規化法を単体で用いることができる場合に享受できるメリット、すなわち、BNの弱点を回避する効果が失われてしまう。そのため、本来のメリットを享受できるような重み正規化法が求められている。
上記事情に鑑み、本発明は、計算コストの増加及び学習精度の低下を抑えながらニューラルネットワークを学習することができる学習装置、学習方法及びプログラムを提供することを目的としている。
本発明の一態様の学習装置は、入力データをニューラルネットワークに入力して得られた出力データと、前記入力データに対応した正解データとの誤差を算出する損失関数の勾配に基づいて、前記ニューラルネットワークの重みを更新する学習部を備え、前記学習部は、前記ニューラルネットワークの各層の各チャネルの前記重みそれぞれの更新に用いる勾配の平均値が0となるように前記勾配を算出し、算出された前記勾配を用いて各層の各チャネルの前記重みを更新する第一更新部と、前記第一更新部により更新された前記重みのノルムが所定の値となるように前記重みを更新する第二更新部とを備える。
本発明の一態様の学習方法は、入力データをニューラルネットワークに入力して得られた出力データと、前記入力データに対応した正解データとの誤差を算出する損失関数の勾配に基づいて、前記ニューラルネットワークの重みを更新する学習ステップを有し、前記学習ステップは、前記ニューラルネットワークの各層の各チャネルの前記重みそれぞれの更新に用いる勾配の平均値が0となるように前記勾配を算出し、算出された前記勾配を用いて各層の各チャネルの前記重みを更新する第一更新ステップと、前記第一更新ステップにおいて更新された前記重みのノルムが所定の値となるように前記重みを更新する第二更新ステップとを有する。
本発明の一態様のプログラムは、コンピュータを、上述の学習装置として機能させる。
本発明により、計算コストの増加及び学習精度の低下を抑えながらニューラルネットワークを学習することが可能となる。
以下、図面を参照しながら本発明の実施形態を詳細に説明する。
<第1の実施形態>
第1の実施形態は、画像認識に適用した場合の実施形態の一例である。
第1の実施形態は、画像認識に適用した場合の実施形態の一例である。
<<装置構成>>
図1は、本実施形態による学習装置100の構成を示すブロック図である。学習装置100は、入力された学習用データに基づいて深層ニューラルネットワークを学習する。学習装置100は、入力部120と、演算部140とを備える。演算部140は、記憶部160と、学習部180とを備える。なお、記憶部160は、学習装置100の内部にあっても外部にあっても構わない。本実施形態においては、記憶部160は、学習装置100の内部に備えられる。
図1は、本実施形態による学習装置100の構成を示すブロック図である。学習装置100は、入力された学習用データに基づいて深層ニューラルネットワークを学習する。学習装置100は、入力部120と、演算部140とを備える。演算部140は、記憶部160と、学習部180とを備える。なお、記憶部160は、学習装置100の内部にあっても外部にあっても構わない。本実施形態においては、記憶部160は、学習装置100の内部に備えられる。
入力部120は、学習用データを受け付ける。学習用データは、入力データと正解データとを対応付けた情報である。
記憶部160は、深層ニューラルネットワークのネットワークパラメータである重みを記憶する。学習部180は、学習用データを用いて、深層ニューラルネットワークの学習処理を実行する。学習部180は、学習処理の結果得られた深層ニューラルネットワークの重みを記憶部160に出力する。学習部180は、第一更新部181と、第二更新部182とを備える。
第一更新部181は、入力データを深層ニューラルネットワークに入力して出力データを得る。第一更新部181は、出力データと、入力データに対応した正解データとの誤差を算出する損失関数の勾配を算出する。このとき、第一更新部181は、深層ニューラルネットワークの各層の各要素それぞれの重みの更新に用いられる勾配の平均値が0となるように勾配を算出する。第一更新部181は、算出された勾配を用いて重みを更新する。第二更新部182は、第一更新部181により更新された重みのノルムが所定値となるように重みを更新する。
図2は、学習装置100のハードウェア構成を示す図である。学習装置100は、一例として、図2に示すコンピュータ200によって実現される。コンピュータ200は、CPU210と、メモリ220と、記憶部230と、入力部240と、表示部250とを含む。CPU210、メモリ220、記憶部230、入力部240及び表示部250は、バス260を介して互いに接続されている。
記憶部230は、例えば、HDD(Hard disk drive)、SSD(Solid State Drive)、フラッシュメモリ等によって実現される。記憶部230には、コンピュータ200を学習装置100として機能させるためのプログラム232が記憶されている。CPU210は、プログラム232を記憶部230から読み出してメモリ220に展開し、プログラム232を実行する。なお、プログラム232をコンピュータ可読媒体に格納して提供してもよい。入力部240は、キーボードやマウスを含む。表示部250は、モニタを含む。
<<処理概要>>
本実施形態では、学習装置100が画像認識タスクを対象として、深層ニューラルネットワークの一種である畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)を学習する場合について説明する。学習装置100の学習部180は、学習用のデータ群を入力として受け付けると、CNNを学習して出力する。
本実施形態では、学習装置100が画像認識タスクを対象として、深層ニューラルネットワークの一種である畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)を学習する場合について説明する。学習装置100の学習部180は、学習用のデータ群を入力として受け付けると、CNNを学習して出力する。
<<<CNNの構成>>>
CNNは、画像を入力として受け付けると、その画像の認識結果を出力する。CNNの構成は、このような入出力関係を実現できるものであれば任意の構成を採ることができる。例えば、畳み込み層Conv、平均プーリング層AvgPool、大域的平均プーリング層GAP(Global Average Pooling)、全結合層Linearを、次のように接続した9層のCNNを用いることができる。
CNNは、画像を入力として受け付けると、その画像の認識結果を出力する。CNNの構成は、このような入出力関係を実現できるものであれば任意の構成を採ることができる。例えば、畳み込み層Conv、平均プーリング層AvgPool、大域的平均プーリング層GAP(Global Average Pooling)、全結合層Linearを、次のように接続した9層のCNNを用いることができる。
Conv(3,64)-Conv(3,64)-Conv(3,64)-AvgPool(2)-Conv(3,128)-Conv(3,128)-Conv(3,128)-AvgPool(2)-Conv(3,256)-Conv(3,256)-Conv(3,256)-GAP-Linear
Conv(k,c)は、cチャネル、k×kの大きさの畳み込みカーネルを持つ畳み込み層を表す。AvgPool(s)は、ストライドsの平均プーリング層を表す。
学習装置100は、CNNとして、参考文献1に記載のResNetや参考文献2に記載のWideResNetなどのCNNを用いても構わない。
[参考文献1]Kaiming He,Xiangyu Zhang,Shaoqing Ren,Jian Sun,"Deep Residual Learning for Image Recognition",in Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2016.
[参考文献2]Sergey Zagoruyko,Nikos Komodakis,"Wide Residual Networks",In Proceedings of British Machine Vision Conference,2016.
<<<学習処理>>>
次に、学習装置100がCNNを学習する学習処理について説明する。学習処理は、CNNのパラメータである重みを、学習用データに基づいて適切に決定するための処理である。
次に、学習装置100がCNNを学習する学習処理について説明する。学習処理は、CNNのパラメータである重みを、学習用データに基づいて適切に決定するための処理である。
学習装置100が学習処理を実行するためには、予め学習用データDを準備する必要がある。学習用データは、画像xと当該画像のクラスを表すクラスラベルyの組(x,y)の集合D={(x,y)}によって構成される。クラスラベルyは、該当するクラスのインデクスに対応する要素のみ1を取り、その他の要素は0を取るone hot vectorである。この条件を満たす限り、学習用データを構成するための手段は本実施形態の要点とは無関係であり、どのような手段で準備しても構わない。学習用データを、人手によって準備しても構わないし、自動的に準備しても構わない。
図3は、本実施形態における学習装置100が実行する学習処理の概要を示すフロー図である。学習装置100は、上記のような学習用データDを用いて、次の工程により学習処理を実行する。
まず、ステップS101において、学習装置100の学習部180は、CNNのすべての重みW={w}を初期化する。便宜上、CNNの各層における各チャネルの重みをwと表す。重みwは、d次元ベクトルである。初期化の方法は様々存在するが、好ましくは、Xavierの初期化(Glorotの初期化)、Heの初期化など、重みの平均値が0となるような公知の方法が用いられる。
続いてステップS102において、学習部180の第一更新部181は、学習用データDから画像xとクラスラベルyとの組を取得する。第一更新部181は、画像xをCNNに入力し、CNNの出力zを求める。第一更新部181は、この出力zと、画像xに対応するクラスラベルyとに基づいて、損失関数LのCNN各層及び各チャネルの重みwに対する勾配∇wLを求める。
損失関数Lは、重みwに対していたるところで微分可能なものであればどのようなものを用いても構わない。本実施形態においては、損失関数Lとして、Softmax Cross Entropyを用いる。Softmax Cross Entropyは、画像認識において用いられることが多い。損失関数Lは、式(4)のように示される。
yikは、i番目の画像xに対応するクラスラベルyのk番目の要素である。zikは、i番目の画像xに対応するCNNの出力zのk番目の要素である。nは、学習用データの総数、すなわち、Dの集合の大きさである。
通常、CNN(あるいは深層ニューラルネットワーク全般)の学習には、学習用データDのうち一定数のサンプルごとに損失関数の値を計算し、その勾配を求めるミニバッチ学習が導入されることが多い。本ステップにおいても、第一更新部181は、ミニバッチ学習を実行してもよい。
続いてステップS103において、第一更新部181は、CNNの各層及び各チャネルの重みwを、以下の式(5)に従い更新する。
ここで、太字のベクトル1は全要素が1のベクトルであり、αは学習率である。αには、任意の正の実数を与えてよい。αは、通常は、学習用データやネットワークの構造等、諸条件に合わせて調整される。また、第一更新部181は、αを学習の進行とともに変化させても構わない。例えば、第一更新部181は、初期値をα=0.2とし、参考文献3のcosine annealingによりαの値を変化させる。これにより、高い性能を達成できる。∇wLは、損失関数Lの重みwについての勾配である。dは、バッチサイズである。すなわち、dは、1イテレーションの中で同時に学習処理されるサンプル数である。dは、任意の正の整数である。
[参考文献3]Ilya Loshchilov,Frank Hutter,"SGDR: Stochastic Gradient Descent with Warm Restarts",In Proceedings of International Conference on Learning Representations,2017.
続いてステップS104において、第二更新部182は、CNNの各層及び各チャネルの重みwを、式(6)に従い更新する。
ここで、cは定数である。第二更新部182は、定数cに任意の正の実数を与えてよいが、好ましくはc=√2とする。この時、各層及び各チャネルの重みwが相互に独立であり、入力xが独立同分布サンプルとして与えられ、さらに、重みwと画像xとが相互に独立であるような場合、全ての層の重みの分散を1にすることができる。
学習部180は、以上のステップS102~ステップS104の処理を、所定の回数繰り返す。学習部180は、所定の回数の繰り返が終了した場合、ステップS105において、終了条件を満たしたと判定する。ステップS106において、第二更新部182は、最終的に学習した重みW={w}を記憶部160に出力し、図3の学習処理を終了する。記憶部160は、第二更新部182から出力された重みWを記憶する。
数学的には、上記の学習処理は、各層及び各チャネルの重みwの平均が0、かつ、ノルムがcとなるような制約の下で、損失関数Lを最小化する手続きである。この手続きでは、重みを正規化するのではなく、最初から正規化された重みを求めることに相当する。具体的には、以下の式(7)の制約付き問題を解いている。
lはCNNの層のインデクス、iは層内のチャネルのインデクスである。W(l)はl層目の重み、wi
(l)はl層目のi番目のチャネルの重みである。c(l)は定数である。c(l)は、0より大きい任意の実数であるが、好ましくは2である。特定の条件を満たした場合に、分散を1とすることができる。式(7)における||wi
(l)||2
2=c(l)は、重みの分散を一定にする制約である。式(7)における1(T)wi
(l)=0は、重みの平均を0にする制約である。
式(5)における勾配∇wLは従来技術と同様に求められる。式(5)の右辺において(1/d)(1T∇wL)1の項(以下、項Aと記載)がなければ従来の勾配と同様であるが、項Aがあることによって、勾配の平均が0になるように重みが更新される。そして、式(6)により、重みのノルムがcになるように正規化される。
図4は、本実施形態における学習装置100による重みの算出を説明するための図である。w(t)は、t回目の学習処理で算出された重みwである。w(t)のノルムはcである。すなわち、w(t)は、c=||w||2
2で表される球Q上の点である。w(t)から-α∇wLを減算した値がw’である。つまり、w(t)からw’への方向が、本来の勾配∇wLの方向である。これは、式(5)の右辺に項Aがない場合の値に相当する。項Aを含んだ式(5)により、w(t)における接平面Pにw’からおろした垂線の足である点w-が算出される。点w-は、式(5)の左辺の更新後の重みwに相当する。そして、式(6)により、w-から球面Qにおろした垂線が球面Qと交わる点w(t+1)が求められる。点w(t+1)は、更新後の重wみである。w(t+1)は球面Q上の点であるため、w(t+1)のノルムはcである。
上述のように、各層及び各チャネルの重みwの平均が0、かつ、ノルムがcとなるような制約の下で、損失関数Lを最小化している。然るに、最終的な重みは、平均が0、分散が一定に正規化されたものとなっており、重み正規化と同様の効果を得ることができる。非特許文献2、非特許文献3に記載の従来の重み正規化法と異なり、本実施形態では、勾配にσvによる除算が発生しない。よって、勾配爆発を起こさず安定した学習が可能である。この利点により、本実施形態は、BN等と組み合わせることなく学習可能であり、また、BNとそん色のないほど高い精度を実現可能である。
<<<線形変換処理>>>
重み正規化は、全ての層における重みの平均値及び分散を画一化するものである。ゆえに、CNN全体としての表現能力を低下させる可能性がある。この問題を回避するため、各層、各チャネルごとにスケールパラメータγとバイアスパラメータβを導入し、以下の式(8)に示すように、各層、各チャネルの出力pに線形変換を与えた新たな出力qを出力するように変更してもよい。すなわち、第一更新部181は、入力データxを深層ニューラルネットワークに入力した際に算出される各層、各チャネルの出力に、式(8)の演算を行って次の層に入力する。学習部180は、重みwに加えて、これらのパラメータγ、βを、重みwと同様に損失関数の勾配に基づいて学習してもよい。
重み正規化は、全ての層における重みの平均値及び分散を画一化するものである。ゆえに、CNN全体としての表現能力を低下させる可能性がある。この問題を回避するため、各層、各チャネルごとにスケールパラメータγとバイアスパラメータβを導入し、以下の式(8)に示すように、各層、各チャネルの出力pに線形変換を与えた新たな出力qを出力するように変更してもよい。すなわち、第一更新部181は、入力データxを深層ニューラルネットワークに入力した際に算出される各層、各チャネルの出力に、式(8)の演算を行って次の層に入力する。学習部180は、重みwに加えて、これらのパラメータγ、βを、重みwと同様に損失関数の勾配に基づいて学習してもよい。
これにより、各層、各チャネルの出力qは、元の出力pよりもダイナミックレンジの調整が容易になり、性能を高めることが可能になる。
<<<乱数乗算処理>>>
一般に、深層ニューラルネットワークの学習時に、適当なランダム性を導入することによって、最終的な性能を改善できる場合があることが知られている。代表的な例としては、ネットワークの出力や結合を一部ランダムに落とすdropoutや、学習用データにランダムな変換を与えるデータ拡張がある。さらに、より最近は、参考文献4に記載のNoisyStudentなどが挙げられる。また、活性値正規化法であるBNにおいても、ミニバッチ統計量の推定バイアスがもたらすランダム性が、最終的な性能を改善する効果を与えていることを示唆する分析結果が報告されている(例えば、参考文献5参照)。
一般に、深層ニューラルネットワークの学習時に、適当なランダム性を導入することによって、最終的な性能を改善できる場合があることが知られている。代表的な例としては、ネットワークの出力や結合を一部ランダムに落とすdropoutや、学習用データにランダムな変換を与えるデータ拡張がある。さらに、より最近は、参考文献4に記載のNoisyStudentなどが挙げられる。また、活性値正規化法であるBNにおいても、ミニバッチ統計量の推定バイアスがもたらすランダム性が、最終的な性能を改善する効果を与えていることを示唆する分析結果が報告されている(例えば、参考文献5参照)。
[参考文献4] Jiacheng Sun,Xiangyong Cao,Hanwen Liang,Weiran Huang,Zewei Chen,Zhenguo Li,"New Interpretations of Normalization Methods in Deep Learning",In Proceedings of The Thirty-Fourth AAAI Conference on Artificial Intelligence (AAAI-20),2020.
[参考文献5] Cecilia Summers,Michael J. Dinneen,"Four things everyone should know to improve batch normalization",In Proceedings of the International Conference on Learning Representations,2020.
これらの知見に着想を得て、本実施形態においても、学習時に、各層、各チャネルの出力にランダム性を導入してもよい。具体的には、学習時においてのみ、式(8)の代わりに、式(9)によって各層、各チャネルの出力が定められる。式(9)により、線形変換が施されたニューラルネットワークの各層及び各要素の出力に、確率乱数が乗算される。第一更新部181は、入力データxを深層ニューラルネットワークに入力した際に算出される各層、各チャネルの出力に式(9)の演算を行い、次の層に入力する。
ここで、εは、平均0、分散σl
2を持つ正規乱数である。分散σl
2の値は、正の実数を取る限り任意の値を定めることができる。例えば、σl
2=0.4などと定めてもよい。一方、ResNetやWideResNetなど、層数の多いCNNを学習する場合には、層ごとにその値を変化させる方が、より大きな性能改善効果を得られる場合がある。CNNの全層数をLとしたとき、本実施形態においては、次の式(10)ように分散σlを定める。
ここで、sは正の実数を持つ定数であり、例えばs=0.4などとする。
以上、本実施形態の学習方法の処理の詳細を説明した。
<<評価実験>>
以上説明した本実施形態に関する性能評価実験結果を示す。本実験では、評価用データとして、画像認識性能評価に広く用いられているCIFAR-10、CIFAR-100と呼ばれるデータを用いる。学習するCNNとして、先に示した9層のCNN、ResNet、及び、WideResNetを用いる。CNNを学習する際にはデータ拡張を用いることが多いが、本実験では、ごく一般的な水平反転及びランダムクロップを利用する標準的なデータ拡張(Standard)と、最適化したデータ拡張であるFast AutoAugment (FastAA)を用いる。
以上説明した本実施形態に関する性能評価実験結果を示す。本実験では、評価用データとして、画像認識性能評価に広く用いられているCIFAR-10、CIFAR-100と呼ばれるデータを用いる。学習するCNNとして、先に示した9層のCNN、ResNet、及び、WideResNetを用いる。CNNを学習する際にはデータ拡張を用いることが多いが、本実験では、ごく一般的な水平反転及びランダムクロップを利用する標準的なデータ拡張(Standard)と、最適化したデータ拡張であるFast AutoAugment (FastAA)を用いる。
以上の条件において、本実施形態による重み正規化の性能を、既存の活性値正規化法/重み正規化法である、BN(非特許文献1)、GN(参考文献6)、WS+BN(非特許文献2)、WS+GN(非特許文献2)の性能と比較する。WS+BNは、非特許文献2に記載の重み正規化法であるWSをBNと併用したものを表し、WS+GNは同じくWSをGNと併用したものを表している。なお、WSは単体では学習に失敗し、十分な性能を得ることができないため、これらの活性値正規化法と併用した場合の結果を示している。
[参考文献6]Yuxin Wu,Kaiming He,"Group normalization",In Proceedings of European Conference on Computer Vision,2018.
図5及び図6は、学習装置100を用いた評価実験の結果を示す図である。図5及び図6に示す表中の数値は、誤差率である。誤差率は、識別を誤った割合である。誤差率が、小さいほど性能がよいことを示す。また、同条件下のうち、最もよい性能を示した手法の数値に下線が付されている。図5及び図6に示す結果から、次の事実が観測できる。
(1)BNとWS+BNとを比較、あるいは、GNとWS+GNとを比較すると、その性能差はほとんどなく、条件によっては劣化する場合がある。すなわち、BN、GNを単体で利用しても十分な性能を得ることが可能であり、WSを組み合わせるメリットは限定的であると言える。
(2)本実施形態は、既存手法の中では最も性能の高いBNとほぼそん色のない性能を発揮しており、特にCIFAR-100においてはほとんどの場合にこれを上回る性能を達成している。
(2)本実施形態は、既存手法の中では最も性能の高いBNとほぼそん色のない性能を発揮しており、特にCIFAR-100においてはほとんどの場合にこれを上回る性能を達成している。
以上のように、本実施形態は、重み正規化法でありながら、それ単体で活性値正規化法であるBNと同程度の性能を達成できることが確認できる。すなわち、本実施形態によれば、重み正規化法本来のメリットを享受することができる高精度な学習を実現可能である。
<第2の実施形態>
第2の実施形態は、点群物体認識に適用した場合の実施形態の一例である。本実施形態では、点群計測された物体を識別する点群物体認識タスクを対象として、点群を対象とした深層ニューラルネットワークの一種であるグラフ畳み込みニューラルネットワーク(Graph Convolutional Neural Network:GCNN)を学習する場合について説明する。本実施形態を、画像認識に適用した場合の実施形態との差分を中心に説明する。
第2の実施形態は、点群物体認識に適用した場合の実施形態の一例である。本実施形態では、点群計測された物体を識別する点群物体認識タスクを対象として、点群を対象とした深層ニューラルネットワークの一種であるグラフ畳み込みニューラルネットワーク(Graph Convolutional Neural Network:GCNN)を学習する場合について説明する。本実施形態を、画像認識に適用した場合の実施形態との差分を中心に説明する。
<<装置構成>>
本実施形態の学習装置として、図1に示す第1の実施形態の学習装置100を用いることができる。学習装置100は、学習用のデータ群を入力として受け付けると、GCNNを学習し、学習したGCNNを出力する。
本実施形態の学習装置として、図1に示す第1の実施形態の学習装置100を用いることができる。学習装置100は、学習用のデータ群を入力として受け付けると、GCNNを学習し、学習したGCNNを出力する。
<<処理概要>>
<<<GCNNの構成>>>
GCNNは、点群データを入力として受け付けると、その点群データの認識結果を出力する。GCNNの構成は、このような入出力関係を実現できるものであれば任意の構成を採ることができる。例えば、本実施形態においては、参考文献7に記載のGCNNを用いる。
<<<GCNNの構成>>>
GCNNは、点群データを入力として受け付けると、その点群データの認識結果を出力する。GCNNの構成は、このような入出力関係を実現できるものであれば任意の構成を採ることができる。例えば、本実施形態においては、参考文献7に記載のGCNNを用いる。
[参考文献7] Yue Wang,Yongbin Sun,Ziwei Liu,Sanjay E. Sarma,Michael M. Bronstein,Justin M. Solomon,"Dynamic Graph CNN for Learning on Point Clouds",ACM Transactions on Graphics (TOG),38(5):1-12,2019.
<<<学習処理>>>
学習処理については、図3に示す第1の実施形態の画像認識の場合における処理と同一である。入力データ形式には、第1の実施形態が画像、本実施形態は点群であるとの違いがある。しかし、本実施形態では、CNNではなくGCNNを用いるという利用する深層ニューラルネットワークの変更により、この違いが吸収される。そのため、以降の処理は、線形変換処理、乱数乗算処理も含め、全て同様の処理を適用することが可能である。
学習処理については、図3に示す第1の実施形態の画像認識の場合における処理と同一である。入力データ形式には、第1の実施形態が画像、本実施形態は点群であるとの違いがある。しかし、本実施形態では、CNNではなくGCNNを用いるという利用する深層ニューラルネットワークの変更により、この違いが吸収される。そのため、以降の処理は、線形変換処理、乱数乗算処理も含め、全て同様の処理を適用することが可能である。
<<評価実験>>
本実施形態の一例に関する性能評価実験結果を示す。本実験では、評価用データとして、点群物体認識性能評価に広く用いられているModelNet40と呼ばれるデータを用いる。先の画像認識性能に対する評価実験同様、本実施形態による重み正規化の性能を、BN、GN、WS+BN、WS+GNの性能と比較する。
本実施形態の一例に関する性能評価実験結果を示す。本実験では、評価用データとして、点群物体認識性能評価に広く用いられているModelNet40と呼ばれるデータを用いる。先の画像認識性能に対する評価実験同様、本実施形態による重み正規化の性能を、BN、GN、WS+BN、WS+GNの性能と比較する。
図7は、本実施形態の学習装置100を用いた性能評価実験の結果を示す図である。図6に示す表中の数値は認識正解率であり、大きいほど性能がよいことを示す。画像認識の場合の結果とは異なり、GNを除いてどの手法も大きな性能差は見られない。しかしながら、既存手法はいずれも活性値正規化法を用いていることを鑑みると認識に要する計算コストは本実施形態よりも大きく、その点において本実施形態に利点がある。
以上より、本実施形態の一例においても、重み正規化法でありながら、単体で活性値正規化法であるBNと同程度の性能を達成できることが示された。
以上、本発明の実施形態について詳細に説明した。
本発明の実施形態における学習方法を、汎用演算処理装置、記憶装置等を備えたコンピュータやサーバ等により構成して、各処理がプログラムによって実行されるものとしてもよい。このプログラムは記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。もちろん、その他いかなる構成要素についても、単一のコンピュータやサーバによって実現しなければならないものではなく、ネットワークによって接続された複数のコンピュータに分散して実現しても構わない。
以上説明した実施形態によれば、学習装置は、学習部を備える。学習部は、入力データをニューラルネットワークに入力して得られた出力データと、入力データに対応した正解データとの誤差を算出する損失関数の勾配に基づいて、ニューラルネットワークの重みを更新する。学習部は、第一更新部と、第二更新部とを備える。第一更新部は、ニューラルネットワークの各層の各チャネルの重みそれぞれの更新に用いる勾配の平均値が0となるように勾配を算出し、算出した勾配を用いて各層の各チャネルの重みを更新する。第二更新部は、第一更新部により更新された重みのノルムが所定の値となるように重みを更新する。
第二更新部は、第一更新部により更新された重みを、当該重みのノルムにより除算して重みを更新する。また、第二更新部は、第一更新部により更新された重みを、当該重みのノルムにより除算し、さらに、定数を乗算することにより重みを更新する。
第一更新部は、入力データをニューラルネットワークに入力することにより得られる各層及び各要素の出力に線形変換を施す処理と、線形変換のパラメータを損失関数の勾配に基づいて更新する処理とを行ってもよい。さらに、第一更新部は、線形変換が施されたニューラルネットワークの各層及び各要素の出力に確率乱数を乗算してもよい。
本実施形態の学習装置、学習方法、及びプログラムによれば、単体で用いた場合であっても勾配爆発を起こさず、また、然るに重み正規化本来のメリットである、計算コストが小さい、バッチ統計量に依存しないといった性質を享受できる正規化法を提供できる。結果として、高精度な学習を実現することができる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこれら実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
100 学習装置
120 入力部
140 演算部
160 記憶部
180 学習部
181 第一更新部
182 第二更新部
200 コンピュータ
210 CPU
220 メモリ
230 記憶部
240 入力部
250 表示部
120 入力部
140 演算部
160 記憶部
180 学習部
181 第一更新部
182 第二更新部
200 コンピュータ
210 CPU
220 メモリ
230 記憶部
240 入力部
250 表示部
Claims (7)
- 入力データをニューラルネットワークに入力して得られた出力データと、前記入力データに対応した正解データとの誤差を算出する損失関数の勾配に基づいて、前記ニューラルネットワークの重みを更新する学習部を備え、
前記学習部は、前記ニューラルネットワークの各層の各チャネルの前記重みそれぞれの更新に用いる勾配の平均値が0となるように前記勾配を算出し、算出された前記勾配を用いて各層の各チャネルの前記重みを更新する第一更新部と、
前記第一更新部により更新された前記重みのノルムが所定の値となるように前記重みを更新する第二更新部とを備える、
学習装置。 - 前記第二更新部は、前記第一更新部により更新された前記重みを、当該重みのノルムにより除算して前記重みを更新する、
請求項1に記載の学習装置。 - 前記第二更新部は、前記第一更新部により更新された前記重みを、当該重みのノルムにより除算し、さらに、定数を乗算することにより前記重みを更新する、
請求項1に記載の学習装置。 - 前記第一更新部は、前記入力データを前記ニューラルネットワークに入力することにより得られる各層及び各要素の出力に線形変換を施す処理と、前記線形変換のパラメータを前記損失関数の勾配に基づいて更新する処理とを行う、
請求項1に記載の学習装置。 - 前記第一更新部は、線形変換が施された前記ニューラルネットワークの各層及び各要素の出力に確率乱数を乗算する、
請求項4に記載の学習装置。 - 入力データをニューラルネットワークに入力して得られた出力データと、前記入力データに対応した正解データとの誤差を算出する損失関数の勾配に基づいて、前記ニューラルネットワークの重みを更新する学習ステップを有し、
前記学習ステップは、
前記ニューラルネットワークの各層の各チャネルの前記重みそれぞれの更新に用いる勾配の平均値が0となるように前記勾配を算出し、算出された前記勾配を用いて各層の各チャネルの前記重みを更新する第一更新ステップと、
前記第一更新ステップにおいて更新された前記重みのノルムが所定の値となるように前記重みを更新する第二更新ステップとを有する、
学習方法。 - コンピュータを、
請求項1から請求項5のいずれか一項に記載の学習装置として機能させるためのプログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023520726A JP7564492B2 (ja) | 2021-05-14 | 2021-05-14 | 学習装置、学習方法及びプログラム |
| PCT/JP2021/018449 WO2022239240A1 (ja) | 2021-05-14 | 2021-05-14 | 学習装置、学習方法及びプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2021/018449 WO2022239240A1 (ja) | 2021-05-14 | 2021-05-14 | 学習装置、学習方法及びプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022239240A1 true WO2022239240A1 (ja) | 2022-11-17 |
Family
ID=84028974
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2021/018449 Ceased WO2022239240A1 (ja) | 2021-05-14 | 2021-05-14 | 学習装置、学習方法及びプログラム |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP7564492B2 (ja) |
| WO (1) | WO2022239240A1 (ja) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020144820A1 (ja) * | 2019-01-10 | 2020-07-16 | 日本電気株式会社 | 属性生成装置、属性生成方法および属性生成プログラム |
-
2021
- 2021-05-14 JP JP2023520726A patent/JP7564492B2/ja active Active
- 2021-05-14 WO PCT/JP2021/018449 patent/WO2022239240A1/ja not_active Ceased
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020144820A1 (ja) * | 2019-01-10 | 2020-07-16 | 日本電気株式会社 | 属性生成装置、属性生成方法および属性生成プログラム |
Non-Patent Citations (2)
| Title |
|---|
| SAMET OYMAK: "Learning Compact Neural Networks with Regularization", ARXIV.ORG, 5 February 2018 (2018-02-05), pages 1 - 46, XP081214871 * |
| TOKUI SEIYA: "Concept of deep learning from the -frviewpoint of optimization", SCIENCE OF MANAGEMENTOPERATIONS RESEARCH, vol. 60, no. 4, 7 April 2015 (2015-04-07), pages 191 - 197, XP093004470 * |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2022239240A1 (ja) | 2022-11-17 |
| JP7564492B2 (ja) | 2024-10-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10609433B2 (en) | Recommendation information pushing method, server, and storage medium | |
| CN109460793A (zh) | 一种节点分类的方法、模型训练的方法及装置 | |
| CN109784474B (zh) | 一种深度学习模型压缩方法、装置、存储介质及终端设备 | |
| CN105678253B (zh) | 半监督人脸年龄估计装置及半监督人脸年龄估计方法 | |
| CN111353516B (zh) | 一种用于在线学习的样本分类方法及模型更新方法 | |
| Hou et al. | Slimmable generative adversarial networks | |
| KR20190007816A (ko) | 동영상 분류를 위한 전자 장치 및 그의 동작 방법 | |
| CN108021930B (zh) | 一种自适应的多视角图像分类方法及系统 | |
| Zheng | Gradient descent algorithms for quantile regression with smooth approximation | |
| Agarwal et al. | Least squares revisited: Scalable approaches for multi-class prediction | |
| CN111985336A (zh) | 人脸图像聚类方法、装置、计算机设备和存储介质 | |
| Jia et al. | Adaptive neighborhood propagation by joint L2, 1-norm regularized sparse coding for representation and classification | |
| CN110929836A (zh) | 神经网络训练及图像处理方法和装置、电子设备、介质 | |
| US20190004996A1 (en) | Convex Relaxation Regression Systems and Related Methods | |
| CN111062440A (zh) | 一种样本选择方法、装置、设备及存储介质 | |
| CN120896677A (zh) | 一种自适应通道压缩的通信分割学习系统及其方法、介质 | |
| Bücher et al. | Single-index quantile regression models for censored data | |
| Eshratifar et al. | Gradient agreement as an optimization objective for meta-learning | |
| CN109034238A (zh) | 一种基于信息熵的聚类划分方法 | |
| CN114186097A (zh) | 用于训练模型的方法和装置 | |
| CN111488840A (zh) | 一种基于多任务学习模型的人体行为分类方法 | |
| WO2020040007A1 (ja) | 学習装置、学習方法及び学習プログラム | |
| US20220108219A1 (en) | Approximate Bayesian Logistic Regression For Sparse Online Learning | |
| WO2022239240A1 (ja) | 学習装置、学習方法及びプログラム | |
| CN118839750A (zh) | 基于数据表征优化的聚类联邦学习方法及相关设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21941970 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2023520726 Country of ref document: JP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 21941970 Country of ref document: EP Kind code of ref document: A1 |







