WO2020044566A1 - データ処理システムおよびデータ処理方法 - Google Patents
データ処理システムおよびデータ処理方法 Download PDFInfo
- Publication number
- WO2020044566A1 WO2020044566A1 PCT/JP2018/032483 JP2018032483W WO2020044566A1 WO 2020044566 A1 WO2020044566 A1 WO 2020044566A1 JP 2018032483 W JP2018032483 W JP 2018032483W WO 2020044566 A1 WO2020044566 A1 WO 2020044566A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- output
- intermediate layer
- neural network
- learning
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural 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 convolutional neural network is a mathematical model including one or more nonlinear units, and is a machine learning model that predicts an output corresponding to an input.
- Many convolutional 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 convolutional neural network produces an output depending on the input and its parameters.
- the convolutional neural network generally includes a pooling process for reducing in the planar direction.
- the present inventor has conducted extensive research and, as a result, has taken advantage of the advantage of consistent learning to reduce the size in the planar direction according to an appropriate method according to the input so that the network input data can be used more effectively.
- the present invention has been made in view of such a situation, and an object of the present invention is to provide a technique capable of improving prediction accuracy for unknown data.
- a data processing system includes a processor that performs a process according to a neural network including an input layer, one or more intermediate layers, and an output layer.
- optimization target parameters are optimized based on a comparison between output data output by executing a process on the learning data and ideal output data for the learning data.
- M-th M is an integer equal to or greater than 1
- an operation including a convolution operation using a convolution kernel including optimization target parameters is applied to intermediate data representing input data to the M-th intermediate layer.
- a feature map having the same plane size as the intermediate data is output, and the intermediate data input to the M-th intermediate layer corresponds to the feature map output by inputting the intermediate data to the M-th intermediate layer. Pooling is performed on the intermediate data output by multiplying the coordinates and performing the multiplication in the (M + 1) th intermediate layer. To run the management.
- Another aspect of the present invention is also a data processing system.
- This data processing system outputs a processor that executes 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 that performs processing on learning data.
- a learning unit that learns the neural network by optimizing the optimization target parameters of the neural network based on a comparison between the output data and ideal output data with respect to the learning data.
- the processor performs a convolution operation using convolution kernels including optimization target parameters on intermediate data representing input data to the M-th intermediate layer in an M-th (M is an integer equal to or greater than 1) intermediate layer.
- a feature map having the same plane size as the intermediate data is output, and the intermediate data input to the M-th intermediate layer and the intermediate data input to the M-th intermediate layer are output.
- the corresponding coordinates of the feature map are multiplied by each other, and in the (M + 1) th intermediate layer, pooling processing is performed on intermediate data output by performing the multiplication.
- the method performs processing according to a neural network including an input layer, one or more hidden layers, and an output layer.
- optimization target parameters are optimized based on a comparison between output data output by executing a process on the learning data and ideal output data for the learning data.
- M is an integer of 1 or more
- a convolution operation using a convolution kernel composed of optimization target parameters is performed on intermediate data representing input data to the Mth intermediate layer.
- a feature map having the same plane size as the intermediate data is output, and the intermediate data input to the M-th intermediate layer and the intermediate data input to the M-th intermediate layer are output. Multiplied by the corresponding coordinates of the feature map, and output by performing the multiplication in the (M + 1) th intermediate layer Respect During data, it executes the pooling process.
- Still another embodiment of the present invention also 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.
- a convolution kernel composed of parameters to be optimized is generated in the Mth (M is an integer of 1 or more) intermediate layer with respect to intermediate data representing input data to the Mth intermediate layer.
- a feature map having the same plane size as the intermediate data is output, and the intermediate data input to the Mth intermediate layer and the intermediate data are input to the Mth intermediate layer
- the corresponding coordinates of the output feature map are multiplied by each other, and in the (M + 1) th intermediate layer, pooling processing is performed on the intermediate data output by performing the multiplication.
- the prediction accuracy for unknown data can be improved.
- 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.
- 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 a part of the configuration of the neural network.
- the intermediate layer processing unit 132 executes, as processing of the Mth (M is an integer equal to or greater than 1) intermediate layer, a feature map output process of outputting a feature map having a plane size equal to the intermediate data representing input data.
- the feature map output processing the above-described feature map is output by applying an operation including a convolution operation by a convolution kernel including optimization target parameters to the intermediate data.
- the intermediate layer processing unit 132 applies convolution operation and activation processing to intermediate data as feature map output processing.
- the intermediate layer processing unit 132 executes a multiplication process of multiplying the intermediate data to be input to the Mth intermediate layer by the intermediate data output by inputting the intermediate data to the Mth intermediate layer.
- the feature map output process and the multiplication process are collectively called an excitation process.
- the excitation process is given by the following equation (1).
- the vertical and horizontal size of the kernel w is an arbitrary integer larger than 1.
- the intermediate layer processing unit 132 executes pooling processing on intermediate data output by executing the multiplication processing, as processing of the (M + 1) th intermediate layer.
- the pooling process is given by the following equation (2).
- the learning unit 140 optimizes 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).
- the data processing system 100 it is possible to reduce the size while emphasizing features that are effective in predicting ideal output data. Thereby, the prediction accuracy for unknown data is improved.
- Modification 1 In the embodiment, the case has been described where the neural network processing unit 130 applies the average value pooling to the intermediate data output by executing the multiplication process as the pooling process, but is not limited thereto. , Any pooling technique may be used.
- the neural network processing unit 130 may apply maximum value pooling as pooling processing.
- the pooling process may be given by the following equation (3).
- the neural network processing unit 130 may apply grid pooling as pooling processing.
- the pooling process may be given by the following equation (4).
- the grid pooling function is, for example, a process that leaves only pixels that satisfy the following expression (5).
- the neural network processing unit 130 may apply sum pooling as pooling processing.
- the pooling process may be given by the following equation (6). In this case, all the excited data can be used.
- excitation processing may be given by the following equation (8).
- 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 relates to a data processing system and a data processing method.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Image Analysis (AREA)
Abstract
データ処理システム100は、ニューラルネットワークにしたがった処理を実行するプロセッサを備える。ニューラルネットワークは、学習データに対してニューラルネットワークにしたがった処理を実行することにより出力される出力データと、学習データに対する理想的な出力データとの比較に基づいて、最適化対象パラメータが最適化されている。プロセッサは、第M(Mは1以上の整数)中間層において、第M中間層への入力データを表す中間データに対して、最適化対象パラメータからなる畳み込みカーネルを用いた畳み込み演算を含む演算を適用することによって、当該中間データと平面サイズの等しい特徴マップを出力し、第M中間層に入力される中間データと、当該中間データを第M中間層に入力することにより出力される特徴マップの対応する座標同士を乗算し、第(M+1)中間層の処理において、乗算を実行することにより出力される中間データに対して、プーリング処理を実行することを特徴とするデータ処理システム。
Description
本発明は、データ処理技術に関し、特に、学習された深層ニューラルネットワークを用いたデータ処理技術に関する。
畳み込みニューラルネットワーク(CNN : Convolutional Neural Network)は、1以上の非線形ユニットを含む数学的モデルであり、入力に対応する出力を予測する機械学習モデルである。多くの畳み込みニューラルネットワークは、入力層と出力層の他に、1以上の中間層(隠れ層)をもつ。各中間層の出力は次の層(中間層または出力層)の入力となる。畳み込みニューラルネットワークの各層は、入力および自身のパラメータに応じて出力を生成する。
Alex Krizhevsky、Ilya Sutskever、Geoffrey E. Hinton、「ImageNet Classification with Deep Convolutional Neural Networks」、NIPS2012_4824
畳み込みニューラルネットワークは、一般的に、平面方向の縮小を行うプーリング処理を含む。本発明者は、鋭意研究を重ねた結果、一貫学習の利点を活かして入力に応じて適した方法で平面方向の縮小することで、プーリング処理に入力されるデータをより有効に活用するようネットワークが学習され、その結果、未知データに対する予測精度が向上することを認識した。
本発明はこうした状況に鑑みてなされたものであり、その目的は、未知データに対する予測精度を向上できる技術を提供することにある。
上記課題を解決するために、本発明のある態様のデータ処理システムは、入力層、1以上の中間層および出力層を含むニューラルネットワークにしたがった処理を実行するプロセッサを備える。ニューラルネットワークは、学習データに対して処理を実行することにより出力される出力データと、学習データに対する理想的な出力データとの比較に基づいて、最適化対象パラメータが最適化されており、プロセッサは、第M(Mは1以上の整数)中間層において、第M中間層への入力データを表す中間データに対して、最適化対象パラメータからなる畳み込みカーネルを用いた畳み込み演算を含む演算を適用することによって、当該中間データと平面サイズの等しい特徴マップを出力し、第M中間層に入力される中間データと、当該中間データを第M中間層に入力することにより出力される特徴マップの対応する座標同士を乗算し、第(M+1)中間層において、乗算を実行することにより出力される中間データに対して、プーリング処理を実行する。
本発明の別の態様もまた、データ処理システムである。このデータ処理システムは、入力層、1以上の中間層および出力層を含むニューラルネットワークにしたがった処理を実行するプロセッサと、ニューラルネットワーク処理部が学習データに対して処理を実行することにより出力される出力データと、学習データに対する理想的な出力データとの比較に基づいて、ニューラルネットワークの最適化対象パラメータを最適化することにより、ニューラルネットワークを学習させる学習部と、を備える。プロセッサは、学習では、第M(Mは1以上の整数)中間層において、第M中間層への入力データを表す中間データに対して、最適化対象パラメータからなる畳み込みカーネルを用いた畳み込み演算を含む演算を適用することによって、当該中間データと平面サイズの等しい特徴マップを出力し、第M中間層に入力される中間データと、当該中間データを第M中間層に入力することにより出力される特徴マップの対応する座標同士を乗算し、第(M+1)中間層において、乗算を実行することにより出力される中間データに対して、プーリング処理を実行する。
本発明のさらに別の態様は、データ処理方法である。この方法は、入力層、1以上の中間層および出力層を含むニューラルネットワークにしたがった処理を実行する。ニューラルネットワークは、学習データに対して処理を実行することにより出力される出力データと、学習データに対する理想的な出力データとの比較に基づいて、最適化対象パラメータが最適化されており、ニューラルネットワークにしたがった処理では、第M(Mは1以上の整数)中間層において、第M中間層への入力データを表す中間データに対して、最適化対象パラメータからなる畳み込みカーネルを用いた畳み込み演算を含む演算を適用することによって、当該中間データと平面サイズの等しい特徴マップを出力し、第M中間層に入力される中間データと、当該中間データを第M中間層に入力することにより出力される特徴マップの対応する座標同士を乗算し、第(M+1)中間層において、乗算を実行することにより出力される中間データに対して、プーリング処理を実行する。
本発明のさらに別の態様もまた、データ処理方法である。この方法は、学習データに対して、入力層、1以上の中間層および出力層を含むニューラルネットワークにしたがった処理を実行することにより、学習データに対応する出力データを出力するステップと、学習データに対応する出力データと、学習データに対する理想的な出力データとの比較に基づいて、ニューラルネットワークの最適化対象パラメータを最適化するステップと、を備える。最適化対象パラメータを最適化するステップでは、第M(Mは1以上の整数)中間層において、第M中間層への入力データを表す中間データに対して、最適化対象パラメータからなる畳み込みカーネルを用いた畳み込み演算を含む演算を適用することによって、当該中間データと平面サイズの等しい特徴マップを出力し、第M中間層に入力される中間データと、当該中間データを第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は、ニューラルネットワークの構成の一部を模式的に示す図である。
中間層処理部132は、第M(Mは1以上の整数)中間層の処理として、入力データを表す中間データと平面サイズの等しい特徴マップを出力する特徴マップ出力処理を実行する。特徴マップ出力処理では、中間データに対して、最適化対象パラメータからなる畳み込みカーネルによる畳み込み演算を含む演算を適用することにより上述の特徴マップを出力する。本実施の形態では、中間層処理部132は、特徴マップ出力処理として、中間データに対して畳み込み演算と活性化処理とを適用する。そして中間層処理部132は、第M中間層に入力されるべき中間データと、当該中間データを第M中間層に入力することにより出力される中間データとを乗算する乗算処理を実行する。
中間層処理部132は、第M(Mは1以上の整数)中間層の処理として、入力データを表す中間データと平面サイズの等しい特徴マップを出力する特徴マップ出力処理を実行する。特徴マップ出力処理では、中間データに対して、最適化対象パラメータからなる畳み込みカーネルによる畳み込み演算を含む演算を適用することにより上述の特徴マップを出力する。本実施の形態では、中間層処理部132は、特徴マップ出力処理として、中間データに対して畳み込み演算と活性化処理とを適用する。そして中間層処理部132は、第M中間層に入力されるべき中間データと、当該中間データを第M中間層に入力することにより出力される中間データとを乗算する乗算処理を実行する。
学習部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によると、理想的な出力データの予測に有効な特徴に重きをおいて縮小できる。これにより、未知データに対する予測精度が向上する。
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、その各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
(変形例1)
実施の形態では、ニューラルネットワーク処理部130は、プーリング処理として、乗算処理を実行することにより出力される中間データに対して、平均値プーリングを適用する場合について説明したが、これには限定されず、任意のプーリング処理手法を用いてもよい。
実施の形態では、ニューラルネットワーク処理部130は、プーリング処理として、乗算処理を実行することにより出力される中間データに対して、平均値プーリングを適用する場合について説明したが、これには限定されず、任意のプーリング処理手法を用いてもよい。
また例えばニューラルネットワーク処理部130は、プーリング処理としてグリッドプーリングを適用してもよい。具体的には、プーリング処理は、以下の式(4)により与えられてもよい。
グリッドプーリング関数は例えば、以下の式(5)を満たす画素だけを残す処理である。
また例えばニューラルネットワーク処理部130は、プーリング処理として総和プーリングを適用してもよい。具体的には、プーリング処理は、以下の式(6)により与えられてもよい。この場合、励起されたすべてのデータを活用できる。
実施の形態および変形例において、データ処理システムは、プロセッサと、メモリー等のストレージを含んでもよい。ここでのプロセッサは、例えば各部の機能が個別のハードウェアで実現されてもよいし、あるいは各部の機能が一体のハードウェアで実現されてもよい。例えば、プロセッサはハードウェアを含み、そのハードウェアは、デジタル信号を処理する回路およびアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、プロセッサは、回路基板に実装された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 (10)
- 入力層、1以上の中間層および出力層を含むニューラルネットワークにしたがった処理を実行するプロセッサを備え、
前記ニューラルネットワークは、学習データに対して前記処理を実行することにより出力される出力データと、前記学習データに対する理想的な出力データとの比較に基づいて、最適化対象パラメータが最適化されており、
前記プロセッサは、
第M(Mは1以上の整数)中間層において、第M中間層への入力データを表す中間データに対して、最適化対象パラメータからなる畳み込みカーネルを用いた畳み込み演算を含む演算を適用することによって、当該中間データと平面サイズの等しい特徴マップを出力し、
第M中間層に入力される中間データと、当該中間データを第M中間層に入力することにより出力される特徴マップの対応する座標同士を乗算し、
第(M+1)中間層において、前記乗算を実行することにより出力される中間データに対して、プーリング処理を実行することを特徴とするデータ処理システム。 - 入力層、1以上の中間層および出力層を含むニューラルネットワークにしたがった処理を実行するプロセッサと、
前記ニューラルネットワーク処理部が学習データに対して前記処理を実行することにより出力される出力データと、前記学習データに対する理想的な出力データとの比較に基づいて、前記ニューラルネットワークの最適化対象パラメータを最適化することにより、前記ニューラルネットワークを学習させる学習部と、を備え、
前記プロセッサは、前記学習では、
第M(Mは1以上の整数)中間層において、第M中間層への入力データを表す中間データに対して、最適化対象パラメータからなる畳み込みカーネルを用いた畳み込み演算を含む演算を適用することによって、当該中間データと平面サイズの等しい特徴マップを出力し、
第M中間層に入力される中間データと、当該中間データを第M中間層に入力することにより出力される特徴マップの対応する座標同士を乗算し、
第(M+1)中間層において、前記乗算を実行することにより出力される中間データに対して、プーリング処理を実行することを特徴とするデータ処理システム。 - 前記畳み込みカーネルは、特徴方向に直交する次元のサイズが1よりも大きいことを特徴とする請求項1または2に記載のデータ処理システム。
- 前記プロセッサは、特徴方向の次元が1である特徴マップを出力することを特徴とする請求項1から3のいずれかに記載のデータ処理システム。
- 前記プロセッサは、実数値に対して0以上1以下の実数値を出力する演算であることを特徴とする請求項1から3のいずれかに記載のデータ処理システム。
- 前記畳み込み演算の出力に対してシグモイド関数を適用した結果を出力することを特徴とする請求項1から4のいずれかに記載のデータ処理システム。
- 前記プロセッサは、前記プーリング処理として、前記乗算を実行することにより出力される中間データに対して平均プーリングを適用することを特徴とする請求項1から5のいずれかに記載のデータ処理システム。
- 前記プロセッサは、前記プーリング処理として、前記乗算を実行することにより出力される中間データに対して総和プーリングを適用することを特徴とする請求項1から6のいずれかに記載のデータ処理システム。
- 入力層、1以上の中間層および出力層を含むニューラルネットワークにしたがった処理を実行するデータ処理方法であって、
前記ニューラルネットワークは、学習データに対して前記処理を実行することにより出力される出力データと、前記学習データに対する理想的な出力データとの比較に基づいて、最適化対象パラメータが最適化されており、
前記ニューラルネットワークにしたがった処理では、
第M(Mは1以上の整数)中間層において、第M中間層への入力データを表す中間データに対して、最適化対象パラメータからなる畳み込みカーネルを用いた畳み込み演算を含む演算を適用することによって、当該中間データと平面サイズの等しい特徴マップを出力し、
第M中間層に入力される中間データと、当該中間データを第M中間層に入力することにより出力される特徴マップの対応する座標同士を乗算し、
第(M+1)中間層において、前記乗算を実行することにより出力される中間データに対して、プーリング処理を実行することを特徴とするデータ処理方法。 - 学習データに対して、入力層、1以上の中間層および出力層を含むニューラルネットワークにしたがった処理を実行することにより、学習データに対応する出力データを出力するステップと、
学習データに対応する出力データと、前記学習データに対する理想的な出力データとの比較に基づいて、前記ニューラルネットワークの最適化対象パラメータを最適化するステップと、を備え、
前記最適化対象パラメータを最適化するステップでは、
第M(Mは1以上の整数)中間層において、第M中間層への入力データを表す中間データに対して、最適化対象パラメータからなる畳み込みカーネルを用いた畳み込み演算を含む演算を適用することによって、当該中間データと平面サイズの等しい特徴マップを出力し、
第M中間層に入力される中間データと、当該中間データを第M中間層に入力することにより出力される特徴マップの対応する座標同士を乗算し、
第(M+1)中間層において、前記乗算を実行することにより出力される中間データに対して、プーリング処理を実行することを特徴とするデータ処理方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201880096903.0A CN112602097A (zh) | 2018-08-31 | 2018-08-31 | 数据处理系统和数据处理方法 |
JP2020540012A JP7000586B2 (ja) | 2018-08-31 | 2018-08-31 | データ処理システムおよびデータ処理方法 |
PCT/JP2018/032483 WO2020044566A1 (ja) | 2018-08-31 | 2018-08-31 | データ処理システムおよびデータ処理方法 |
US17/185,810 US20210182678A1 (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/032483 WO2020044566A1 (ja) | 2018-08-31 | 2018-08-31 | データ処理システムおよびデータ処理方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/185,810 Continuation US20210182678A1 (en) | 2018-08-31 | 2021-02-25 | Data processing system and data processing method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020044566A1 true WO2020044566A1 (ja) | 2020-03-05 |
Family
ID=69644048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/032483 WO2020044566A1 (ja) | 2018-08-31 | 2018-08-31 | データ処理システムおよびデータ処理方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210182678A1 (ja) |
JP (1) | JP7000586B2 (ja) |
CN (1) | CN112602097A (ja) |
WO (1) | WO2020044566A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002358504A (ja) * | 2001-05-31 | 2002-12-13 | Canon Inc | 信号処理回路及びパターン認識装置 |
WO2018074012A1 (ja) * | 2016-10-19 | 2018-04-26 | ソニーセミコンダクタソリューションズ株式会社 | 演算処理回路および認識システム |
WO2018131409A1 (ja) * | 2017-01-13 | 2018-07-19 | Kddi株式会社 | 情報処理方法、情報処理装置及びコンピュータ可読記憶媒体 |
WO2018135088A1 (ja) * | 2017-01-17 | 2018-07-26 | コニカミノルタ株式会社 | データ処理装置、畳み込み演算装置および畳み込みニューラルネットワーク装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108074211B (zh) * | 2017-12-26 | 2021-03-16 | 浙江芯昇电子技术有限公司 | 一种图像处理装置及方法 |
CN108154145B (zh) * | 2018-01-24 | 2020-05-19 | 北京地平线机器人技术研发有限公司 | 检测自然场景图像中的文本的位置的方法和装置 |
CN108229580B (zh) * | 2018-01-26 | 2020-12-11 | 浙江大学 | 一种基于注意力机制及特征融合的眼底图中糖网特征分级装置 |
CN108319977B (zh) * | 2018-01-30 | 2020-11-10 | 浙江大学 | 基于通道信息多模态网络的宫颈活检区域识别方法及装置 |
-
2018
- 2018-08-31 WO PCT/JP2018/032483 patent/WO2020044566A1/ja active Application Filing
- 2018-08-31 JP JP2020540012A patent/JP7000586B2/ja active Active
- 2018-08-31 CN CN201880096903.0A patent/CN112602097A/zh active Pending
-
2021
- 2021-02-25 US US17/185,810 patent/US20210182678A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002358504A (ja) * | 2001-05-31 | 2002-12-13 | Canon Inc | 信号処理回路及びパターン認識装置 |
WO2018074012A1 (ja) * | 2016-10-19 | 2018-04-26 | ソニーセミコンダクタソリューションズ株式会社 | 演算処理回路および認識システム |
WO2018131409A1 (ja) * | 2017-01-13 | 2018-07-19 | Kddi株式会社 | 情報処理方法、情報処理装置及びコンピュータ可読記憶媒体 |
WO2018135088A1 (ja) * | 2017-01-17 | 2018-07-26 | コニカミノルタ株式会社 | データ処理装置、畳み込み演算装置および畳み込みニューラルネットワーク装置 |
Also Published As
Publication number | Publication date |
---|---|
US20210182678A1 (en) | 2021-06-17 |
JPWO2020044566A1 (ja) | 2021-06-10 |
JP7000586B2 (ja) | 2022-01-19 |
CN112602097A (zh) | 2021-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210004663A1 (en) | Neural network device and method of quantizing parameters of neural network | |
US11657254B2 (en) | Computation method and device used in a convolutional neural network | |
CN108351984B (zh) | 硬件高效的深度卷积神经网络 | |
US10540583B2 (en) | Acceleration of convolutional neural network training using stochastic perforation | |
US10296804B2 (en) | Image recognizing apparatus, computer-readable recording medium, image recognizing method, and recognition apparatus | |
EP3340129A1 (en) | Artificial neural network class-based pruning | |
JP2016218513A (ja) | ニューラルネットワーク及びそのためのコンピュータプログラム | |
KR20190084460A (ko) | 잡음에 강인한 소리 기반의 호흡기 질병 탐지 방법 및 그 시스템 | |
CN108229650B (zh) | 卷积处理方法、装置及电子设备 | |
JP6942203B2 (ja) | データ処理システムおよびデータ処理方法 | |
JP2021111388A (ja) | ニューラル・ネットワーク・アーキテクチャ・サーチ・システム及び方法 | |
CN117115447A (zh) | 基于元迁移学习的前视声呐图像分割方法和装置 | |
CN113490955A (zh) | 用于产生金字塔层的架构的系统和方法 | |
US20220405561A1 (en) | Electronic device and controlling method of electronic device | |
WO2020044566A1 (ja) | データ処理システムおよびデータ処理方法 | |
EP4083874A1 (en) | Image processing device and operating method therefor | |
CN113168555A (zh) | 减少卷积神经网络的资源消耗的系统及相关方法 | |
EP3843005A1 (en) | Method and apparatus with quantized image generation | |
JP7055211B2 (ja) | データ処理システムおよびデータ処理方法 | |
JP6942204B2 (ja) | データ処理システムおよびデータ処理方法 | |
JP6994572B2 (ja) | データ処理システムおよびデータ処理方法 | |
WO2022201399A1 (ja) | 推論装置、推論方法および推論プログラム | |
CN110163240B (zh) | 对象识别方法及设备 | |
US20220019898A1 (en) | Information processing apparatus, information processing method, and storage medium | |
WO2023220891A1 (en) | Resolution-switchable segmentation networks |
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: 18931295 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020540012 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: 18931295 Country of ref document: EP Kind code of ref document: A1 |