WO2020044567A1 - データ処理システムおよびデータ処理方法 - Google Patents
データ処理システムおよびデータ処理方法 Download PDFInfo
- Publication number
- WO2020044567A1 WO2020044567A1 PCT/JP2018/032484 JP2018032484W WO2020044567A1 WO 2020044567 A1 WO2020044567 A1 WO 2020044567A1 JP 2018032484 W JP2018032484 W JP 2018032484W WO 2020044567 A1 WO2020044567 A1 WO 2020044567A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- learning
- neural network
- processing
- layer
- 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
-
- 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/084—Backpropagation, e.g. using gradient descent
-
- 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
- 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/045—Combinations of networks
Definitions
- the present invention relates to a data processing technique, and particularly to a data processing technique using a learned deep neural network.
- a neural network is a mathematical model that includes one or more nonlinear units, and is a machine learning model that predicts an output corresponding to an input.
- Many neural networks have one or more hidden layers in addition to the input and output layers. The output of each intermediate layer becomes the input of the next layer (intermediate layer or output layer). Each layer of the neural network produces an output according to the input and its parameters.
- Non-Patent Document 2 solves the difficulty of learning by normalizing the input to the next layer using the statistics of the input mini-batch to suppress a large change in the input / output relationship.
- excessive normalization also reduces the expressiveness of the network.
- the problem that the input / output relationship of the entire network greatly changes becomes remarkable at the beginning of learning when the update amount of the parameter of the intermediate layer is large.
- the present invention has been made in view of such a situation, and an object of the present invention is to provide a technology that facilitates learning of a neural network.
- a data processing system includes a neural network processing unit that performs processing according to a neural network including an input layer, one or more intermediate layers, and an output layer, and a neural network processing unit.
- a neural network processing unit performs processing according to a neural network including an input layer, one or more intermediate layers, and an output layer, and a neural network processing unit.
- the neural network processing unit performs, on learning, input data to an intermediate layer element constituting an intermediate layer of an M-th layer (M is an integer of 1 or more) or intermediate data representing output data from the intermediate layer element, A coefficient process of multiplying by a coefficient whose absolute value monotonically increases in accordance with the degree of learning is executed.
- the data processing system includes a neural network processing unit that executes processing according to a neural network including an input layer, one or more intermediate layers, and an output layer.
- the neural network processing unit optimizes the optimization target parameters of the neural network based on a comparison between output data output by executing processing on the learning data and ideal output data for the learning data.
- the neural network processing unit converts the input data to the intermediate layer element constituting the intermediate layer of the M-th layer (M is an integer of 1 or more) or the output data from the intermediate layer element in the learning.
- M is an integer of 1 or more
- a coefficient process of multiplying the represented intermediate data by a coefficient whose absolute value monotonically increases in accordance with the degree of progress of the learning is executed.
- Still another embodiment of the present invention relates to a data processing method.
- the method comprises the steps of: performing a process on a learning data according to a neural network including an input layer, one or more intermediate layers, and an output layer to output output data corresponding to the learning data; Optimizing the optimization target parameters of the neural network based on a comparison between the output data corresponding to (i) and the ideal output data with respect to the learning data.
- the input data to the intermediate layer element constituting the intermediate layer of the M-th layer (M is an integer of 1 or more) or the intermediate data representing the output data from the intermediate layer element.
- Still another embodiment of the present invention also relates to a data processing method.
- the method comprises performing processing according to a neural network including an input layer, one or more hidden layers, and an output layer.
- parameters to be optimized are optimized based on a comparison between output data output by executing processing on learning data and ideal output data for learning data.
- the absolute value of the input data to the intermediate layer element constituting the intermediate layer of the M-th layer (M is an integer of 1 or more) or the intermediate data representing the output data from the intermediate layer element is determined in accordance with the progress of the learning.
- a coefficient process of multiplying by a coefficient whose value increases monotonically is executed.
- a technology for facilitating learning of a neural network can be provided.
- FIG. 1 is a block diagram illustrating functions and configurations of a data processing system according to an embodiment. It is a figure which shows an example of a structure of a neural network typically. It is a figure showing the flow chart of the learning processing by the data processing system. It is a figure showing the flow chart of the application processing by the data processing system. It is a figure which shows another example of a structure of a neural network typically.
- FIG. 1 is a block diagram showing functions and configuration of data processing system 100 according to the embodiment.
- Each block shown here can be realized by elements and mechanical devices such as a CPU (central processing unit) of a computer in terms of hardware, and is realized by a computer program or the like in terms of software.
- the data processing system 100 performs a “learning process” for learning a neural network based on a learning image (learning data) and a correct value that is ideal output data for the image.
- “Applying process” for applying image processing such as image classification, object detection, or image segmentation by applying to an unknown image (unknown data).
- the data processing system 100 performs a process according to the neural network on the learning image, and outputs output data on the learning image. Then, the data processing system 100 updates a parameter to be optimized (learned) of the neural network (hereinafter, referred to as an “optimization target parameter”) in a direction in which the output data approaches the correct value. By repeating this, optimization target parameters are optimized.
- the data processing system 100 executes a process according to a neural network on an unknown image using the optimization target parameters optimized in the learning process, and outputs output data for the image.
- the data processing system 100 interprets the output data, classifies the image into an image, detects an object from the image, and performs image segmentation on the image.
- the data processing system 100 includes an acquisition unit 110, a storage unit 120, a neural network processing unit 130, a learning unit 140, and an interpretation unit 150.
- the function of the learning process is mainly realized by the neural network processing unit 130 and the learning unit 140
- the function of the application process is mainly realized by the neural network processing unit 130 and the interpretation unit 150.
- the acquisition unit 110 acquires a plurality of learning images at a time and the correct answer value corresponding to each of the plurality of learning images.
- the obtaining unit 110 obtains an unknown image to be processed.
- the image is not particularly limited in the number of channels, and may be, for example, an RGB image or, for example, a grayscale image.
- the storage unit 120 stores the images acquired by the acquisition unit 110, and serves as a work area for the neural network processing unit 130, the learning unit 140, and the interpretation unit 150, and a storage area for neural network parameters.
- the neural network processing unit 130 executes a process according to the neural network.
- the neural network processing unit 130 executes an input layer processing unit 131 that executes a process corresponding to the input layer of the neural network, an intermediate layer processing unit 132 that executes a process corresponding to the intermediate layer, and executes a process corresponding to the output layer. And an output layer processing unit 133.
- FIG. 2 is a diagram schematically illustrating an example of the configuration of a neural network.
- the neural network includes two intermediate layers, and each intermediate layer includes an intermediate layer element that performs a convolution process and an intermediate layer element that performs a pooling process.
- the number of intermediate layers is not particularly limited.
- the number of intermediate layers may be one or three or more.
- the intermediate layer processing unit 132 executes processing of each intermediate layer element of each intermediate layer.
- the neural network includes at least one coefficient element.
- the neural network includes coefficient elements before and after each hidden layer.
- the intermediate layer processing unit 132 also executes processing corresponding to this coefficient element.
- the intermediate layer processing unit 132 executes a coefficient process as a process corresponding to the coefficient element.
- Coefficient processing is a process of multiplying intermediate data representing input data to an intermediate layer element or output data from an intermediate layer element by a coefficient whose absolute value monotonically increases (broadly monotonically increases) in accordance with the progress of learning.
- the intermediate data is multiplied by a coefficient whose absolute value monotonically increases in a range of 0 or more and 1 or less according to the degree of learning.
- the degree of progress of learning is the number of times of learning.
- the coefficient processing is given by the following equation (1) as an example.
- a value larger than 0 and smaller than 1 (for example, 0.999) is set as ⁇ .
- alpha t is 1 smaller range greater than 0, becomes gradually smaller as the learning proceeds. Therefore, the coefficient (1 ⁇ t ) monotonically increases as learning progresses in a range larger than 0 and smaller than 1.
- the coefficient (1 ⁇ t ) particularly approaches 1 as learning progresses.
- the intermediate data is converted to a relatively small value at the beginning of the learning, the degree of conversion gradually decreases as the learning proceeds, and as is clear from the fact that the intermediate data is multiplied by a value close to 1 at the latter stage of the learning, It is converted to such an extent that there is no conversion.
- the intermediate layer processing unit 132 executes processing given by the following equation (2) as coefficient processing. That is, a process of outputting the input as it is is executed. From another viewpoint, it can be said that the intermediate layer processing unit 132 executes a process of multiplying by 1 as a coefficient process during the application process. In any case, the application processing can be executed in the same processing time as when the present invention is not used.
- the learning unit 140 learns the neural network by optimizing the optimization target parameters of the neural network.
- the learning unit 140 calculates an error based on an objective function (error function) that compares an output obtained by inputting a learning image to the neural network processing unit 130 with a correct answer value corresponding to the image.
- the learning unit 140 calculates the gradient of the parameter based on the calculated error by the gradient back propagation method or the like, and updates the optimization target parameter of the neural network based on the momentum method.
- the optimization target parameter Is optimized By repeating the acquisition of the learning image by the acquiring unit 110, the processing of the neural network processing unit 130 on the learning image according to the neural network, and the updating of the optimization target parameter by the learning unit 140, the optimization target parameter Is optimized.
- the learning unit 140 determines whether to end the learning.
- the ending condition for ending the learning includes, for example, that learning has been performed a predetermined number of times, that an instruction for ending has been received from outside, that the average value of the update amount of the optimization target parameter has reached a predetermined value, That is, the calculated error falls within a predetermined range.
- the learning unit 140 terminates the learning process. If the termination condition is not satisfied, the learning unit 140 returns the processing to the neural network processing unit 130.
- the interpretation unit 150 interprets the output from the output layer processing unit 133 and performs image classification, object detection, or image segmentation.
- FIG. 3 shows a flowchart of the learning process by the data processing system 100.
- the acquisition unit 110 acquires a plurality of learning images (S10).
- the neural network processing unit 130 performs a process according to the neural network on each of the plurality of learning images acquired by the acquisition unit 110, and outputs output data for each (S12).
- the learning unit 140 updates the parameters based on the output data for each of the plurality of learning images and the correct answer value for each (S14).
- the learning unit 140 determines whether the termination condition is satisfied (S16). If the termination condition is not satisfied (N in S16), the process returns to S10. If the termination condition is satisfied (Y in S16), the process ends.
- FIG. 4 shows a flowchart of an application process by the data processing system 100.
- the acquisition unit 110 acquires an image to be subjected to the application processing (S20).
- the neural network processing unit 130 executes a process according to the neural network in which the optimization target parameters have been optimized, that is, a learned neural network, on the image acquired by the acquiring unit 110, and outputs output data (S22).
- the interpretation unit 150 interprets the output data, classifies the target image into an image, detects an object from the target image, and performs image segmentation on the target image (S24).
- coefficient processing absolute data corresponding to input data to an intermediate layer element or output data from an intermediate layer element is determined in accordance with the degree of progress of learning.
- a process of multiplying by a coefficient that monotonically increases in a range of values of 0 to 1 is executed.
- FIG. 5 is a diagram schematically illustrating another example of the configuration of the neural network.
- the neural network processing unit 130 performs coefficient processing on at least one of intermediate data representing input data to the intermediate layer element and intermediate data representing output data from the intermediate layer element.
- the neural network processing unit 130 includes an intermediate data representing input data to a first intermediate layer element among one or more intermediate layer elements constituting an intermediate layer of the M-th layer, and a final intermediate layer element. Coefficient processing is performed on intermediate data representing output data from.
- the neural network processing unit 130 performs an integration process of integrating intermediate data to be input to the intermediate layer of the Mth layer and intermediate data output by inputting the intermediate data to the intermediate layer of the Mth layer.
- the neural network processing unit 130 performs, as an integration process, intermediate data to be input to the intermediate layer of the Mth layer and intermediate data output by inputting the intermediate data to the intermediate layer of the Mth layer. They may be added.
- the neural network in this case corresponds to Residual @ networks including a coefficient element.
- the neural network processing unit 130 performs, as an integration process, intermediate data to be input to the intermediate layer of the Mth layer and intermediate data output by inputting the intermediate data to the intermediate layer of the Mth layer.
- the channels may be connected.
- the neural network in this case corresponds to Densely @ connected @ networks including a coefficient element.
- the input / output relationship of the entire neural network becomes close to an identity map, so that learning is facilitated. More specifically, when coefficient processing is performed on intermediate data representing input data to the first intermediate layer element among one or more intermediate layer elements constituting the M-th intermediate layer, forward propagation is performed. Is close to an identity map, and when coefficient processing is performed on intermediate data representing output data from the last hidden layer element, back propagation approaches an identity map.
- the coefficient processing when the coefficient sufficiently approaches 1, that is, when the difference value between 1 and the coefficient becomes equal to or smaller than a predetermined value, the coefficient need not be multiplied.
- the coefficient processing may be given by the following equation (3).
- ⁇ t gradually decreases as learning progresses in a range larger than 0 and smaller than 1.
- the coefficient (1 ⁇ t ) approaches 1 as learning progresses in a range larger than 0 and smaller than 1.
- the input is performed without multiplying the coefficient. Is executed as it is.
- the learning process can be executed from the middle of the learning in the same processing time as when the present invention is not used.
- the degree of convergence of learning may be used as the degree of progress of learning.
- the degree of progress is, for example, a value based on a function that monotonically decreases with respect to the difference between the output obtained by inputting the learning data into the neural network and the correct answer value that is the ideal output data for the learning data. There may be. Specifically, for example, a value based on the following Expression 4 may be used.
- the data processing system may include a processor and a storage such as a memory.
- the function of each unit may be realized by individual hardware, or the function of each unit may be realized by integrated hardware.
- a processor includes hardware, and the hardware can include at least one of a circuit that processes digital signals and a circuit that processes analog signals.
- the processor can be configured with one or a plurality of circuit devices (for example, an IC or the like) mounted on a circuit board or one or a plurality of circuit elements (for example, a resistor or a capacitor).
- the processor may be, for example, a CPU (Central Processing Unit).
- the processor is not limited to the CPU, and various processors such as a GPU (Graphics Processing Unit) or a DSP (Digital Signal Processor) can be used.
- the processor may be a hardware circuit based on an ASIC (application specific integrated circuit) or an FPGA (field-programmable gate array).
- the processor may include an amplifier circuit and a filter circuit for processing an analog signal.
- the memory may be a semiconductor memory such as an SRAM or a DRAM, a register, a magnetic storage device such as a hard disk device, or an optical storage device such as an optical disk device. You may.
- the memory stores instructions that can be read by a computer, and the instructions are executed by the processor, thereby realizing the functions of each unit of the data processing system.
- the instruction here may be an instruction of an instruction set constituting a program or an instruction for instructing a hardware circuit of a processor to operate.
- the present invention can be used for a data processing system and a data processing method.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
データ処理システム100は、入力層、1以上の中間層および出力層を含むニューラルネットワークにしたがった処理を実行するニューラルネットワーク処理部130と、ニューラルネットワーク処理部130が学習データに対してニューラルネットワークにしたがった処理を実行することにより出力される出力データと、その学習データに対する理想的な出力データとの比較に基づいて、ニューラルネットワークの最適化対象パラメータを最適化することにより、ニューラルネットワークを学習させる学習部140と、を備える。ニューラルネットワーク処理部130は、学習において、第M層(Mは1以上の整数)の中間層を構成する中間層要素への入力データまたは当該中間層要素からの出力データを表す中間データに対して、学習の進行度に応じて絶対値が単調増加する係数を乗じる係数処理を実行する。
Description
本発明は、データ処理技術に関し、特に、学習された深層ニューラルネットワークを用いたデータ処理技術に関する。
ニューラルネットワークは、1以上の非線形ユニットを含む数学的モデルであり、入力に対応する出力を予測する機械学習モデルである。多くのニューラルネットワークは、入力層と出力層の他に、1以上の中間層(隠れ層)をもつ。各中間層の出力は次の層(中間層または出力層)の入力となる。ニューラルネットワークの各層は、入力および自身のパラメータに応じて出力を生成する。
Alex Krizhevsky、Ilya Sutskever、Geoffrey E. Hinton、「ImageNet Classification with Deep Convolutional Neural Networks」、NIPS2012_4824
Sergey Ioffe、Christian Szegedy、「Batch normalization: Accelerating deep network training by reducing internal covariate shift」、ICML 2015 448?456
一般に、ネットワーク全体の入出力の関係が大きく変化すると、学習が困難になる。非特許文献2では、入力ミニバッチの統計量を利用して次の層への入力を正規化して入出力の関係が大きく変化するのを抑えることで、学習の困難さを解決している。しかしながら、過剰な正規化はネットワークの表現力の低下にもつながる。一方、ネットワーク全体の入出力の関係が大きく変化する問題は、中間層のパラメータの更新量が大きい学習初期に顕著となる。
本発明はこうした状況に鑑みなされたものであり、その目的は、ニューラルネットワークの学習を容易にする技術を提供することにある。
上記課題を解決するために、本発明のある態様のデータ処理システムは、入力層、1以上の中間層および出力層を含むニューラルネットワークにしたがった処理を実行するニューラルネットワーク処理部と、ニューラルネットワーク処理部が学習データに対して処理を実行することにより出力される出力データと、学習データに対する理想的な出力データとの比較に基づいて、ニューラルネットワークの最適化対象パラメータを最適化することにより、ニューラルネットワークを学習させる学習部と、を備える。ニューラルネットワーク処理部は、学習において、第M層(Mは1以上の整数)の中間層を構成する中間層要素への入力データまたは当該中間層要素からの出力データを表す中間データに対して、学習の進行度に応じて絶対値が単調増加する係数を乗じる係数処理を実行する。
本発明の別の態様もまた、データ処理システムである。このデータ処理システムは、入力層、1以上の中間層および出力層を含むニューラルネットワークにしたがった処理を実行するニューラルネットワーク処理部を備える。ニューラルネットワーク処理部は、学習データに対して処理を実行することにより出力される出力データと、学習データに対する理想的な出力データとの比較に基づいて、ニューラルネットワークの最適化対象パラメータを最適化することにより学習されており、ニューラルネットワーク処理部は、学習において、第M層(Mは1以上の整数)の中間層を構成する中間層要素への入力データまたは当該中間層要素からの出力データを表す中間データに対して、学習の進行度に応じて絶対値が単調増加する係数を乗じる係数処理を実行する。
本発明のさらに別の態様は、データ処理方法である。この方法は、学習データに対して、入力層、1以上の中間層および出力層を含むニューラルネットワークにしたがった処理を実行することにより、学習データに対応する出力データを出力するステップと、学習データに対応する出力データと、学習データに対する理想的な出力データとの比較に基づいて、ニューラルネットワークの最適化対象パラメータを最適化するステップと、を備える。最適化対象パラメータを最適化するステップでは、第M層(Mは1以上の整数)の中間層を構成する中間層要素への入力データまたは当該中間層要素からの出力データを表す中間データに対して、学習の進行度に応じて絶対値が単調増加する係数を乗じる係数処理を実行する。
本発明のさらに別の態様もまた、データ処理方法である。この方法は、入力層、1以上の中間層および出力層を含むニューラルネットワークにしたがった処理を実行するステップを備える。ニューラルネットワークは、学習データに対して処理を実行することにより出力される出力データと、学習データに対する理想的な出力データとの比較に基づいて、最適化対象パラメータが最適化されており、学習において、第M層(Mは1以上の整数)の中間層を構成する中間層要素への入力データまたは当該中間層要素からの出力データを表す中間データに対して、学習の進行度に応じて絶対値が単調増加する係数を乗じる係数処理が実行されている。
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、ニューラルネットワークの学習を容易にする技術を提供できる。
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。
以下ではデータ処理装置を画像処理に適用する場合を例に説明するが、当業者によれば、データ処理装置を音声認識処理、自然言語処理、その他の処理にも適用可能であることが理解されよう。
図1は、実施の形態に係るデータ処理システム100の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウェア的には、コンピュータのCPU(central processing unit)をはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
データ処理システム100は、学習用の画像(学習データ)と、その画像に対する理想的な出力データである正解値とに基づいてニューラルネットワークの学習を行う「学習処理」と、学習済みのニューラルネットワークを未知の画像(未知データ)に適用し、画像分類、物体検出または画像セグメンテーションなどの画像処理を行う「適用処理」と、を実行する。
学習処理では、データ処理システム100は、学習用の画像に対してニューラルネットワークにしたがった処理を実行し、学習用の画像に対する出力データを出力する。そしてデータ処理システム100は、出力データが正解値に近づく方向にニューラルネットワークの最適化(学習)対象のパラメータ(以下、「最適化対象パラメータ」と呼ぶ)を更新する。これを繰り返すことにより最適化対象パラメータが最適化される。
適用処理では、データ処理システム100は、学習処理において最適化された最適化対象パラメータを用いて、未知の画像に対してニューラルネットワークにしたがった処理を実行し、その画像に対する出力データを出力する。データ処理システム100は、出力データを解釈して、画像を画像分類したり、画像から物体検出したり、画像に対して画像セグメンテーションを行ったりする。
データ処理システム100は、取得部110と、記憶部120と、ニューラルネットワーク処理部130と、学習部140と、解釈部150と、を備える。主にニューラルネットワーク処理部130と学習部140により学習処理の機能が実現され、主にニューラルネットワーク処理部130と解釈部150により適用処理の機能が実現される。
取得部110は、学習処理においては、一度に複数の学習用の画像と、それら複数の学習用の画像のそれぞれに対応する正解値とを取得する。また取得部110は、適用処理においては、処理対象の未知の画像を取得する。なお、画像は、チャンネル数は特に問わず、例えばRGB画像であっても、また例えばグレースケール画像であってもよい。
記憶部120は、取得部110が取得した画像を記憶する他、ニューラルネットワーク処理部130、学習部140および解釈部150のワーク領域や、ニューラルネットワークのパラメータの記憶領域となる。
ニューラルネットワーク処理部130は、ニューラルネットワークにしたがった処理を実行する。ニューラルネットワーク処理部130は、ニューラルネットワークの入力層に対応する処理を実行する入力層処理部131と、中間層に対応する処理を実行する中間層処理部132と、出力層に対応する処理を実行する出力層処理部133と、を含む。
図2は、ニューラルネットワークの構成の一例を模式的に示す図である。この例では、ニューラルネットワークは2つの中間層を含み、各中間層は畳み込み処理を行う中間層要素とプーリング処理を行う中間層要素とを含んで構成されている。なお、中間層の数は特に限定されず、例えば中間層の数が1であっても、3以上であってもよい。図示の例の場合、中間層処理部132は、各中間層の各中間層要素の処理を実行する。
また、本実施の形態では、ニューラルネットワークは、少なくとも1つの係数要素を含む。図示の例では、ニューラルネットワークは各中間層の前後に係数要素を含んでいる。中間層処理部132は、この係数要素に対応する処理も実行する。
中間層処理部132は、学習処理時は、係数要素に対応する処理として係数処理を実行する。係数処理とは、中間層要素への入力データまたは中間層要素からの出力データを表す中間データに対して、学習の進行度に応じて絶対値が単調増加(広義単調増加)する係数を乗じる処理をいう。本実施の形態の係数処理では、当該中間データに対して、学習の進行度に応じて絶対値が0以上1以下の範囲で単調増加する係数を乗じる。なお、本実施の形態では、学習の進行度は学習の繰り返し回数であるとする。
係数処理は、一例として以下の式(1)により与えられる。
ここで、αには、0より大きく1より小さい値(例えば0.999)が設定される。したがって、αtは、0より大きく1より小さい範囲で、学習が進むにつれて徐々に小さくなる。したがって、係数(1-αt)は、0より大きく1より小さい範囲で、学習が進むにつれて単調増加する。係数(1-αt)は特に、学習が進むにつれて1に近づく。この場合、中間データは、学習の初期は比較的小さい値に変換され、学習が進むにつれて徐々に変換度合いが小さくなり、学習の後期では、1に近い値を乗じることから明らかなように、実質的に変換がないものと見なせる程度に変換される。
また、中間層処理部132は、適用処理時は、係数処理として以下の式(2)により与えられる処理を実行する。つまり、入力をそのまま出力する処理を実行する。なお別の捉え方をすると、中間層処理部132は、適用処理時は、係数処理として1を乗じる処理を実行するとも言える。いずれにしろ、本発明を利用しない場合と同程度の処理時間で適用処理を実行できる。
学習部140は、ニューラルネットワークの最適化対象パラメータを最適化することにより、ニューラルネットワークを学習させる。学習部140は、学習用の画像をニューラルネットワーク処理部130に入力することにより得られた出力と、その画像に対応する正解値とを比較する目的関数(誤差関数)により、誤差を算出する。学習部140は、算出された誤差に基づいて、勾配逆伝搬法等によりパラメータについての勾配を計算し、モーメンタム法に基づいてニューラルネットワークの最適化対象パラメータを更新する。
取得部110による学習用の画像の取得と、ニューラルネットワーク処理部130による学習用画像に対するニューラルネットワークにしたがった処理と、学習部140による最適化対象パラメータの更新とを繰り返すことにより、最適化対象パラメータが最適化される。
また、学習部140は、学習を終了すべきか否かを判定する。学習を終了すべき終了条件は、例えば学習が所定回数行われたことや、外部から終了の指示を受けたことや、最適化対象パラメータの更新量の平均値が所定値に達したことや、算出された誤差が所定の範囲内に収まったことである。学習部140は、終了条件が満たされる場合、学習処理を終了させる。学習部140は、終了条件が満たされない場合、処理をニューラルネットワーク処理部130に戻す。
解釈部150は、出力層処理部133からの出力を解釈して、画像分類、物体検出または画像セグメンテーションを実施する。
実施の形態に係るデータ処理システム100の動作を説明する。
図3は、データ処理システム100による学習処理のフローチャートを示す。取得部110は、複数枚の学習用の画像を取得する(S10)。ニューラルネットワーク処理部130は、取得部110が取得した複数枚の学習用の画像のそれぞれに対して、ニューラルネットワークにしたがった処理を実行し、それぞれについての出力データを出力する(S12)。学習部140は、複数枚の学習用の画像のそれぞれについての出力データと、それぞれについての正解値とに基づいて、パラメータを更新する(S14)。学習部140は、終了条件が満たされるか否かを判定する(S16)。終了条件が満たされない場合(S16のN)、処理はS10に戻される。終了条件が満たされる場合(S16のY)、処理は終了する。
図3は、データ処理システム100による学習処理のフローチャートを示す。取得部110は、複数枚の学習用の画像を取得する(S10)。ニューラルネットワーク処理部130は、取得部110が取得した複数枚の学習用の画像のそれぞれに対して、ニューラルネットワークにしたがった処理を実行し、それぞれについての出力データを出力する(S12)。学習部140は、複数枚の学習用の画像のそれぞれについての出力データと、それぞれについての正解値とに基づいて、パラメータを更新する(S14)。学習部140は、終了条件が満たされるか否かを判定する(S16)。終了条件が満たされない場合(S16のN)、処理はS10に戻される。終了条件が満たされる場合(S16のY)、処理は終了する。
図4は、データ処理システム100による適用処理のフローチャートを示す。取得部110は、適用処理の対象の画像を取得する(S20)。ニューラルネットワーク処理部130は、取得部110が取得した画像に対して、最適化対象パラメータが最適化されたすなわち学習済みのニューラルネットワークにしたがった処理を実行し、出力データを出力する(S22)。解釈部150は、出力データを解釈し、対象の画像を画像分類したり、対象の画像から物体検出したり、対象の画像に対して画像セグメンテーションを行ったりする(S24)。
以上説明した実施の形態に係るデータ処理システム100によると、係数処理として、中間層要素への入力データまたは中間層要素からの出力データを表す中間データに対して、学習の進行度に応じて絶対値が0以上1以下の範囲で単調増加する係数を乗じる処理が実行される。これにより、学習初期において、ニューラルネットワーク全体の入出力の関係が大きく変化するのを抑えられ、その結果として学習が容易となる。また、係数処理の出力が係数処理への入力よりも大きくならないため、学習の発散を抑制できる。
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
(変形例1)
図5は、ニューラルネットワークの構成の他の一例を模式的に示す図である。この例では、第M(Mは1以上の整数)層の中間層は、1以上の中間層要素を含む。ニューラルネットワーク処理部130は、第M層の処理において、その中間層要素への入力データを表す中間データおよびその中間層要素からの出力データを表す中間データの少なくとも一方に対して係数処理を実行する。図示の例では、ニューラルネットワーク処理部130は、第M層の中間層を構成する1以上の中間層要素のうちの最初の中間層要素への入力データを表す中間データと、最後の中間層要素からの出力データを表す中間データに対して係数処理を実行する。
図5は、ニューラルネットワークの構成の他の一例を模式的に示す図である。この例では、第M(Mは1以上の整数)層の中間層は、1以上の中間層要素を含む。ニューラルネットワーク処理部130は、第M層の処理において、その中間層要素への入力データを表す中間データおよびその中間層要素からの出力データを表す中間データの少なくとも一方に対して係数処理を実行する。図示の例では、ニューラルネットワーク処理部130は、第M層の中間層を構成する1以上の中間層要素のうちの最初の中間層要素への入力データを表す中間データと、最後の中間層要素からの出力データを表す中間データに対して係数処理を実行する。
また、ニューラルネットワーク処理部130は、第M層の中間層に入力されるべき中間データと、当該中間データを第M層の中間層に入力することにより出力される中間データとを統合する統合処理を実行する。例えば、ニューラルネットワーク処理部130は、統合処理として、第M層の中間層に入力されるべき中間データと、当該中間データを第M層の中間層に入力することにより出力される中間データとを足し合わせてもよい。この場合のニューラルネットワークは、Residual networksに係数要素を含めたものに相当する。また例えば、ニューラルネットワーク処理部130は、統合処理として、第M層の中間層に入力されるべき中間データと当該中間データを第M層の中間層に入力することにより出力される中間データとをチャンネル連結してもよい。この場合のニューラルネットワークは、Densely connected networksに係数要素を含めたものに相当する。
本変形例によれば、ニューラルネットワーク全体の入出力の関係が恒等写像に近くなるため学習が容易になる。なお具体的には、第M層の中間層を構成する1以上のうちの中間層要素のうちの最初の中間層要素への入力データを表す中間データに対して係数処理を実行すると、順伝搬が恒等写像に近くなり、最後の中間層要素からの出力データを表す中間データに対して係数処理を実行すると、逆伝搬が恒等写像に近くなる。
(変形例2)
係数処理において、係数が1に十分近づいたら、言い換えると、1と係数との差分値が所定の値以下となったら、係数を乗算しなくてもよい。具体的には例えば、係数処理は、以下の式(3)により与えられてもよい。
上述したように、αtは、0より大きく1より小さい範囲で、学習が進むにつれて徐々に小さくなる。係数(1-αt)は、0より大きく1より小さい範囲で、学習が進むにつれて1に近づく。そして、この例では、係数(1-αt)が1にある程度以上近づくと、すなわち1と係数(1-αt)との差分値がεよりも小さくなると、係数を乗算せずに、入力をそのまま出力する処理を実行する。本発明によれば、学習の途中からは、本発明を利用しない場合と同程度の処理時間で学習処理を実行できる。
係数処理において、係数が1に十分近づいたら、言い換えると、1と係数との差分値が所定の値以下となったら、係数を乗算しなくてもよい。具体的には例えば、係数処理は、以下の式(3)により与えられてもよい。
(変形例3)
実施の形態では、学習の進行度は学習の繰り返し回数である場合について説明したが、これに限定されない。例えば、学習の収束具合を学習の進行度としてもよい。この場合、進行度は例えば、学習データをニューラルネットワークに入力して得られた出力と、その学習データに対する理想的な出力データである正解値との差に対して単調減少する関数に基づく値であってもよい。具体的には例えば、以下の式4に基づく値であってもよい。
実施の形態では、学習の進行度は学習の繰り返し回数である場合について説明したが、これに限定されない。例えば、学習の収束具合を学習の進行度としてもよい。この場合、進行度は例えば、学習データをニューラルネットワークに入力して得られた出力と、その学習データに対する理想的な出力データである正解値との差に対して単調減少する関数に基づく値であってもよい。具体的には例えば、以下の式4に基づく値であってもよい。
実施の形態および変形例において、データ処理システムは、プロセッサと、メモリー等のストレージを含んでもよい。ここでのプロセッサは、例えば各部の機能が個別のハードウェアで実現されてもよいし、あるいは各部の機能が一体のハードウェアで実現されてもよい。例えば、プロセッサはハードウェアを含み、そのハードウェアは、デジタル信号を処理する回路およびアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、プロセッサは、回路基板に実装された1又は複数の回路装置(例えばIC等)や、1又は複数の回路素子(例えば抵抗、キャパシター等)で構成することができる。プロセッサは、例えばCPU(Central Processing Unit)であってもよい。ただし、プロセッサはCPUに限定されるものではなく、GPU(Graphics Processing Unit)、あるいはDSP(Digital Signal Processor)等、各種のプロセッサを用いることが可能である。またプロセッサはASIC(application specific integrated circuit)又はFPGA(field-programmable gate array)によるハードウェア回路でもよい。またプロセッサは、アナログ信号を処理するアンプ回路やフィルター回路等を含んでもよい。メモリーは、SRAM、DRAMなどの半導体メモリーであってもよいし、レジスターであってもよいし、ハードディスク装置等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリーはコンピュータにより読み取り可能な命令を格納しており、当該命令がプロセッサにより実行されることで、データ処理システムの各部の機能が実現されることになる。ここでの命令は、プログラムを構成する命令セットの命令でもよいし、プロセッサのハードウェア回路に対して動作を指示する命令であってもよい。
100 データ処理システム、 130 ニューラルネットワーク処理部、 140 学習部。
本発明は、データ処理システムおよびデータ処理方法に利用できる。
Claims (14)
- 入力層、1以上の中間層および出力層を含むニューラルネットワークにしたがった処理を実行するニューラルネットワーク処理部と、
前記ニューラルネットワーク処理部が学習データに対して前記処理を実行することにより出力される出力データと、前記学習データに対する理想的な出力データとの比較に基づいて、前記ニューラルネットワークの最適化対象パラメータを最適化することにより、前記ニューラルネットワークを学習させる学習部と、を備え、
前記ニューラルネットワーク処理部は、前記学習において、第M層(Mは1以上の整数)の中間層を構成する中間層要素への入力データまたは当該中間層要素からの出力データを表す中間データに対して、学習の進行度に応じて絶対値が単調増加する係数を乗じる係数処理を実行することを特徴とするデータ処理システム。 - 入力層、1以上の中間層および出力層を含むニューラルネットワークにしたがった処理を実行するニューラルネットワーク処理部を備え、
前記ニューラルネットワークは、学習データに対して前記処理を実行することにより出力される出力データと、前記学習データに対する理想的な出力データとの比較に基づいて、最適化対象パラメータが最適化されており、
前記ニューラルネットワーク処理部は、前記学習において、第M層(Mは1以上の整数)の中間層を構成する中間層要素への入力データまたは当該中間層要素からの出力データを表す中間データに対して、学習の進行度に応じて絶対値が単調増加する係数を乗じる係数処理を実行することを特徴とするデータ処理システム。 - 前記係数の絶対値は、0以上1以下であることを特徴とする請求項1または2に記載のデータ処理システム。
- 前記ニューラルネットワーク処理部は、1と前記係数との差分値が所定の値以下となった場合、係数処理として入力をそのまま出力する処理を実行することを特徴とする請求項1から3のいずれかに記載のデータ処理システム。
- 前記ニューラルネットワーク処理部は、適用処理時は、係数処理として入力をそのまま出力する処理を実行することを特徴とする請求項1から4のいずれかに記載のデータ処理システム。
- 前記第M層の中間層は、1以上の中間層要素を含み、
前記ニューラルネットワーク処理部は、(i)前記第M層の中間層の処理において、その中間層要素への入力データを表す中間データおよび当該中間層要素からの出力データを表す中間データの少なくとも一方に対して係数処理を実行し、かつ、(ii)当該第M層の中間層に入力されるべき中間データと、当該中間データを当該第M層の中間層に入力することにより出力される中間データとを統合する統合処理を実行することを特徴とする請求項1から5のいずれかに記載のデータ処理システム。 - 前記ニューラルネットワーク処理部は、前記第M層の中間層の最初の中間層要素への入力データを表す中間データに対して係数処理を実行することを特徴とする請求項6に記載のデータ処理システム。
- 前記ニューラルネットワーク処理部は、前記第M層の中間層の最後の中間層要素からの出力データを表す中間データに対して係数処理を実行することを特徴とする請求項6に記載のデータ処理システム。
- 前記ニューラルネットワーク処理部は、前記統合処理として、それぞれの中間データを足し合わせることを特徴とする請求項6から8のいずれかに記載のデータ処理システム。
- 前記ニューラルネットワーク処理部は、前記統合処理として、それぞれの中間データをチャンネル連結することを特徴とする請求項6から8のいずれかに記載のデータ処理システム。
- 学習の進行度は、学習の繰り返し回数であることを特徴とする請求項1から10のいずれかに記載のデータ処理システム。
- 学習の進行度は、学習データに対して前記処理を実行することにより出力される出力データとその学習データに対する理想的な出力データとの差に対して単調減少する関数に基づき決定されることを特徴とする請求項1から10のいずれかに記載のデータ処理システム。
- 学習データに対して、入力層、1以上の中間層および出力層を含むニューラルネットワークにしたがった処理を実行することにより、学習データに対応する出力データを出力するステップと、
学習データに対応する出力データと、前記学習データに対する理想的な出力データとの比較に基づいて、前記ニューラルネットワークの最適化対象パラメータを最適化するステップと、を備え、
前記最適化対象パラメータを最適化するステップでは、第M層(Mは1以上の整数)の中間層を構成する中間層要素への入力データまたは当該中間層要素からの出力データを表す中間データに対して、学習の進行度に応じて絶対値が単調増加する係数を乗じる係数処理を実行することを特徴とするデータ処理方法。 - 入力層、1以上の中間層および出力層を含むニューラルネットワークにしたがった処理を実行するステップを備え、
前記ニューラルネットワークは、学習データに対して前記処理を実行することにより出力される出力データと、前記学習データに対する理想的な出力データとの比較に基づいて、最適化対象パラメータが最適化されており、
前記学習において、第M層(Mは1以上の整数)の中間層を構成する中間層要素への入力データまたは当該中間層要素からの出力データを表す中間データに対して、学習の進行度に応じて絶対値が単調増加する係数を乗じる係数処理が実行されていることを特徴とするデータ処理方法。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2018/032484 WO2020044567A1 (ja) | 2018-08-31 | 2018-08-31 | データ処理システムおよびデータ処理方法 |
| CN201880096915.3A CN112639837A (zh) | 2018-08-31 | 2018-08-31 | 数据处理系统和数据处理方法 |
| JP2020540013A JP7055211B2 (ja) | 2018-08-31 | 2018-08-31 | データ処理システムおよびデータ処理方法 |
| US17/185,825 US20210182679A1 (en) | 2018-08-31 | 2021-02-25 | Data processing system and data processing method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2018/032484 WO2020044567A1 (ja) | 2018-08-31 | 2018-08-31 | データ処理システムおよびデータ処理方法 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US17/185,825 Continuation US20210182679A1 (en) | 2018-08-31 | 2021-02-25 | Data processing system and data processing method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020044567A1 true WO2020044567A1 (ja) | 2020-03-05 |
Family
ID=69642882
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2018/032484 Ceased WO2020044567A1 (ja) | 2018-08-31 | 2018-08-31 | データ処理システムおよびデータ処理方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20210182679A1 (ja) |
| JP (1) | JP7055211B2 (ja) |
| CN (1) | CN112639837A (ja) |
| WO (1) | WO2020044567A1 (ja) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017134853A (ja) * | 2017-03-16 | 2017-08-03 | ヤフー株式会社 | 生成装置、生成方法、及び生成プログラム |
| JP2017211939A (ja) * | 2016-05-27 | 2017-11-30 | ヤフー株式会社 | 生成装置、生成方法、及び生成プログラム |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105894087A (zh) * | 2015-01-26 | 2016-08-24 | 华为技术有限公司 | 用于神经网络中训练参数集的系统和方法 |
| EP3459017B1 (en) * | 2016-05-20 | 2023-11-01 | Deepmind Technologies Limited | Progressive neural networks |
-
2018
- 2018-08-31 JP JP2020540013A patent/JP7055211B2/ja active Active
- 2018-08-31 CN CN201880096915.3A patent/CN112639837A/zh active Pending
- 2018-08-31 WO PCT/JP2018/032484 patent/WO2020044567A1/ja not_active Ceased
-
2021
- 2021-02-25 US US17/185,825 patent/US20210182679A1/en not_active Abandoned
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017211939A (ja) * | 2016-05-27 | 2017-11-30 | ヤフー株式会社 | 生成装置、生成方法、及び生成プログラム |
| JP2017134853A (ja) * | 2017-03-16 | 2017-08-03 | ヤフー株式会社 | 生成装置、生成方法、及び生成プログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2020044567A1 (ja) | 2021-04-30 |
| JP7055211B2 (ja) | 2022-04-15 |
| CN112639837A (zh) | 2021-04-09 |
| US20210182679A1 (en) | 2021-06-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6610278B2 (ja) | 機械学習装置、機械学習方法及び機械学習プログラム | |
| KR20180072562A (ko) | 인공 뉴럴 네트워크 클래스-기반 프루닝 | |
| JP6942203B2 (ja) | データ処理システムおよびデータ処理方法 | |
| CN112561028B (zh) | 训练神经网络模型的方法、数据处理的方法及装置 | |
| WO2023005386A1 (zh) | 模型训练方法和装置 | |
| KR20210076691A (ko) | 프레임워크 간 뉴럴 네트워크의 학습을 검증하는 방법 및 장치 | |
| WO2020003434A1 (ja) | 機械学習方法、機械学習装置、及び機械学習プログラム | |
| JP6612716B2 (ja) | パターン識別装置、パターン識別方法およびプログラム | |
| CN112836820A (zh) | 用于图像分类任务的深度卷积网络训方法、装置及系统 | |
| US11604999B2 (en) | Learning device, learning method, and computer program product | |
| CN116258196A (zh) | 对神经网络进行训练的方法及更新神经网络参数的优化器 | |
| JP6453681B2 (ja) | 演算装置、演算方法およびプログラム | |
| JP2009288933A (ja) | 学習装置、学習方法、及びプログラム | |
| US20250045585A1 (en) | Method for neural network training with multiple supervisors | |
| CN116227556A (zh) | 获取目标网络模型的方法、装置、计算机设备及存储介质 | |
| JP6943295B2 (ja) | 学習装置、学習方法、および学習プログラム | |
| US20220019898A1 (en) | Information processing apparatus, information processing method, and storage medium | |
| JP7055211B2 (ja) | データ処理システムおよびデータ処理方法 | |
| WO2020044566A1 (ja) | データ処理システムおよびデータ処理方法 | |
| JP6994572B2 (ja) | データ処理システムおよびデータ処理方法 | |
| CN111602146B (zh) | 数据处理系统、数据处理方法和记录介质 | |
| JP7188589B2 (ja) | 復元装置、復元方法、およびプログラム | |
| CN114171043A (zh) | 回声的确定方法、装置、设备以及存储介质 | |
| JP7297286B2 (ja) | 最適化方法、最適化プログラム、推論方法、および推論プログラム | |
| JP2022190874A (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: 18931927 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2020540013 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 18931927 Country of ref document: EP Kind code of ref document: A1 |


