Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6855360B2 - Information estimation device and information estimation method - Google Patents
[go: Go Back, main page]

JP6855360B2 - Information estimation device and information estimation method - Google Patents

Information estimation device and information estimation method Download PDF

Info

Publication number
JP6855360B2
JP6855360B2 JP2017196740A JP2017196740A JP6855360B2 JP 6855360 B2 JP6855360 B2 JP 6855360B2 JP 2017196740 A JP2017196740 A JP 2017196740A JP 2017196740 A JP2017196740 A JP 2017196740A JP 6855360 B2 JP6855360 B2 JP 6855360B2
Authority
JP
Japan
Prior art keywords
layer
value
calculation
output
distribution
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.)
Active
Application number
JP2017196740A
Other languages
Japanese (ja)
Other versions
JP2019070950A (en
Inventor
仁吾 安達
仁吾 安達
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso IT Laboratory Inc
Original Assignee
Denso IT Laboratory Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso IT Laboratory Inc filed Critical Denso IT Laboratory Inc
Priority to JP2017196740A priority Critical patent/JP6855360B2/en
Publication of JP2019070950A publication Critical patent/JP2019070950A/en
Application granted granted Critical
Publication of JP6855360B2 publication Critical patent/JP6855360B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Description

本発明は、ニューラルネットワークを用いた推定処理を行う情報推定装置及び情報推定方法に関する。特に、本発明は、ニューラルネットワークにドロップアウト層を設け、さらに活性化層での近似計算をすることによって、推定結果の不確かさを表す分散値を高速に計算する情報推定装置及び情報推定方法である。なお、推定結果として出力される推定値の分散値が大きければ、推定結果が不確かであり(すなわち、信頼性が低い)、推定結果として出力される推定値の分散値が小さければ、推定結果が確かである(すなわち、信頼性が高い)と言える。 The present invention relates to an information estimation device and an information estimation method that perform estimation processing using a neural network. In particular, the present invention is an information estimation device and an information estimation method that calculate a variance value indicating uncertainty of an estimation result at high speed by providing a dropout layer in a neural network and performing approximate calculation in the activation layer. is there. If the variance value of the estimated value output as the estimation result is large, the estimation result is uncertain (that is, the reliability is low), and if the variance value of the estimated value output as the estimation result is small, the estimation result is It can be said that it is certain (that is, it is highly reliable).

ニューラルネットワーク(NN: Neural Network)を用いた推定器は、他の推定器と比べ、画像やセンサー信号データなど、大量の情報を入力データとして処理し、推定を行うことができることから様々な分野への応用に期待されている。 Compared to other estimators, estimators using neural networks (NN: Neural Network) can process a large amount of information such as images and sensor signal data as input data and perform estimation, so they can be used in various fields. It is expected to be applied to.

ニューラルネットワークはデータを処理する層が配列された構造になっており、各層ではデータが入力されて、その層に設定された計算が行われた後に、処理後のデータが出力されるよう構成されている。具体的には、観測物からの入力データは、まずニューラルネットワークの入力層に入力されて処理が行われた後に出力され、その後、それぞれの層(中間層)に順番に入力データとして入力されて処理が行われた後に出力されながら、各層における処理が繰り返されて、ニューラルネットワーク内をデータが伝搬していく。そして、最後の層である出力層からデータが出力され、それが推定結果となる。なお、観測物からの入力データは、推定したい観測対象のn次元のベクトルデータであり、例えば、縦横10ピクセルの白黒カメラ画像であれば、各ピクセルに対応した要素を持つ10×10=100次元(すなわち、n=100)のベクトルデータとなる。 The neural network has a structure in which layers for processing data are arranged, and each layer is configured so that data is input, the calculation set for that layer is performed, and then the processed data is output. ing. Specifically, the input data from the observed object is first input to the input layer of the neural network, processed, and then output, and then input to each layer (intermediate layer) in order as input data. While being output after the processing is performed, the processing in each layer is repeated, and the data propagates in the neural network. Then, data is output from the output layer, which is the last layer, and that is the estimation result. The input data from the observed object is n-dimensional vector data of the observation target to be estimated. For example, in the case of a black-and-white camera image of 10 pixels in height and width, 10 × 10 = 100 dimensions having elements corresponding to each pixel. (That is, n = 100) vector data.

ニューラルネットワークの各層では、入力されるベクトルデータの次元数と、出力されるベクトルデータの次元数とが異なるように設定可能である。すなわち、ベクトルデータは各層を通るたびに、その次元数が増えたり減ったりする。また、出力層から出力されるベクトルデータの次元数は、設計者の推定させたい内容によって異なる。例えば、「速度」や「点数」という値を推定させたい場合は、出力層からの出力はn=1次元のスカラーデータとなる。あるいは、入力画像から、その入力画像が「歩行者」、「自動車」、「自転車」のいずれであるかを分類させたい場合(すなわち、3クラスの分類をさせたい場合)には、出力層からの出力は、上記3クラスのうちのいずれに該当するのかを表す「点数」を格納する、n=3次元のベクトルデータとなる。 In each layer of the neural network, the number of dimensions of the input vector data and the number of dimensions of the output vector data can be set to be different. That is, the number of dimensions of vector data increases or decreases each time it passes through each layer. Further, the number of dimensions of the vector data output from the output layer differs depending on the content to be estimated by the designer. For example, when it is desired to estimate the values of "velocity" and "point", the output from the output layer is n = one-dimensional scalar data. Alternatively, when it is desired to classify whether the input image is "pedestrian", "automobile", or "bicycle" from the input image (that is, when it is desired to classify three classes), from the output layer. The output of is n = three-dimensional vector data that stores the "points" indicating which of the above three classes is applicable.

また、ニューラルネットワークを用いて推定処理を行う推定器で実行される処理として、学習フェーズと推定フェーズとが存在する。 In addition, there are a learning phase and an estimation phase as processing executed by an estimator that performs estimation processing using a neural network.

学習フェーズでは、設計者は、学習データを使い、特定のパターンを持つ入力データに対し望むような特定の出力を出すよう、ニューラルネットワーク内のニューロンの重みを計算して学習させる。 In the learning phase, the designer uses the training data to calculate and train the weights of neurons in the neural network to produce the desired specific output for input data with a specific pattern.

推定フェーズでは、見たことのない新しいデータ、つまりテストデータを、学習フェーズで学習されたルールを持つニューラルネットワークに入力して推定させ、上手く学習ができていれば、学習した概念に従って推定結果を出す。 In the estimation phase, new data that has never been seen, that is, test data, is input to a neural network with the rules learned in the learning phase and estimated, and if the learning is successful, the estimation result is estimated according to the learned concept. put out.

ニューラルネットワークを使用した従来の推定器が他のベイズ推定などの確率的手法を使った推定器と大きく異なる点としては、ニューラルネットワークでは推定結果が「値」として出力されるのみであり、推定結果の不確かさを表す分散値が計算できないことが挙げられる。 The major difference between a conventional estimator using a neural network and an estimator using other probabilistic methods such as Bayesian estimation is that the neural network only outputs the estimation result as a "value", and the estimation result is estimated. The variance value that represents the uncertainty of is not calculated.

ニューラルネットワークでは、不確かさを表す分散値が計算できないため、閾値を設定してあるレベル以上の信頼できる推定結果のみを採用するなどの設定を行うことが困難であり、誤判定の可能性を多く含んでしまう可能性がある。例えば、自動車の周囲の状況を推定するなどのような、高い安全性が求められる環境下でニューラルネットワークを使用場合、その推定結果に誤判定が含まれている場合には、重大な事故につながってしまうおそれがある。 Since the variance value representing uncertainty cannot be calculated in the neural network, it is difficult to make settings such as adopting only reliable estimation results above a certain level with a threshold set, and there is a high possibility of erroneous judgment. It may be included. For example, when using a neural network in an environment that requires high safety, such as estimating the surrounding conditions of a car, if the estimation result contains an erroneous judgment, it will lead to a serious accident. There is a risk of accidental use.

これに対し、下記の非特許文献1には、ニューラルネットワークにおいて、出力値とその分散値とを計算する方法が提案されている。以下、非特許文献1に開示されている計算方法について説明する。 On the other hand, Non-Patent Document 1 below proposes a method of calculating an output value and its variance value in a neural network. Hereinafter, the calculation method disclosed in Non-Patent Document 1 will be described.

非特許文献1における分散値の計算方法は、本来は学習時に過学習を防ぐために用いられるドロップアウト(dropout)を推定時にも使用することで、推定結果の分散を計算するものである。ドロップアウトとは、例えば下記の特許文献1に開示されているように、ニューラルネットワークの層の中にドロップアウト層を設け、そのドロップアウト層に入力されるベクトルデータの各要素に対して独立に、設計者が事前に決めたある確率pdropでゼロにする手法である。 The method of calculating the variance value in Non-Patent Document 1 is to calculate the variance of the estimation result by using the dropout, which is originally used to prevent overfitting during learning, also at the time of estimation. Dropout is defined as, for example, as disclosed in Patent Document 1 below, a dropout layer is provided in a layer of a neural network, and each element of vector data input to the dropout layer is independently provided. , It is a method to make it zero with a certain probability p drop decided in advance by the designer.

例えば、入力ベクトルデータが100次元、すなわち100個の要素からなる場合には、それぞれの要素に含まれる値に対して独立に、確率pdropでゼロにするかしないか(ゼロにしない場合には元の要素に含まれる値は変更されない)をそれぞれ判断する。結果的に、統計的には100個の要素のうちの100×pdropの個数の要素がゼロの値となる。すなわち、ドロップアウトでは、確率pdropに対応した個数の要素が欠損(ゼロに設定)した状態で計算処理を行う。 For example, when the input vector data is 100 dimensions, that is, it consists of 100 elements, whether or not the value contained in each element is independently set to zero with a probability p drop (if it is not set to zero). The value contained in the original element does not change). As a result, statistically, the number of elements of 100 × p drop out of 100 elements has a value of zero. That is, in the dropout, the calculation process is performed in a state where the number of elements corresponding to the probability p drop is missing (set to zero).

学習時には、確率pdropで要素が欠損した状態で計算された出力結果が、希望する正解データに対して差分が最小となるように重みを計算する。また、学習時には、この計算を何度も繰り返す。すなわち、ドロップアウト層に入力される別のベクトルデータの各要素に対して独立に、確率pdropでゼロにするかしないかを新たに判断し、別のベクトルデータに関し、確率pdropに対応した個数の要素が欠損した状態で計算処理を行って、希望する正解データに対して差分が最小となるように重みを計算する。このように入力されるベクトルデータに対してドロップアウトを使用した学習を繰り返すことによって、ベクトルデータのいかなる要素が欠損していても、同一の正解データを推定結果として出力できるように学習が行われる。 At the time of learning, the weight is calculated so that the output result calculated in the state where the element is missing with the probability p drop has the minimum difference with respect to the desired correct answer data. Also, during learning, this calculation is repeated many times. That is, for each element of another vector data input to the dropout layer, it is newly determined whether or not the probability p drop is set to zero, and the probability p drop is supported for the other vector data. The calculation process is performed with the number of elements missing, and the weight is calculated so that the difference is minimized with respect to the desired correct answer data. By repeating the learning using the dropout for the vector data input in this way, learning is performed so that the same correct answer data can be output as an estimation result even if any element of the vector data is missing. ..

このドロップアウトを使用した計算方法は、従来、学習時のみに適用されていた。すなわち、従来は、学習時にはドロップアウトを使用することがあったが、推定時にはドロップアウトを使用することはなかった。 The calculation method using this dropout has conventionally been applied only during learning. That is, in the past, dropouts were sometimes used during learning, but dropouts were not used during estimation.

ところが、非特許文献1では、あえて、推定計算の場合にも、同一の対象物からの入力ベクトルデータに対し、ドロップアウトをさせたまま推定計算を何度も繰り返し行うことで、出力値とともに、その分散値を計算する手法が導入されている。非特許文献1では、このドロップアウトを使用した推定は、モンテカルロ(MC:Monte Carlo)ドロップアウトと呼ばれる。ドロップアウト層で確率pdropでゼロとなる入力ベクトルデータの要素群のパターンは、欠損により毎回推定計算するごとに異なるため、その後の層を通った最終的な推定結果も毎回異なる。なお、本明細書では、ベクトルデータが入力されるたびに、出力される推定結果が異なることを、推定結果が「揺れる」と表現することがある。 However, in Non-Patent Document 1, even in the case of estimation calculation, the estimation calculation is repeated many times with the dropout of the input vector data from the same object, so that the estimation calculation is performed together with the output value. A method for calculating the variance value has been introduced. In Non-Patent Document 1, the estimation using this dropout is called a Monte Carlo (MC) dropout. Since the pattern of the element group of the input vector data in which the probability p drop is zero in the dropout layer is different for each estimation calculation due to the defect, the final estimation result through the subsequent layers is also different each time. In this specification, the fact that the output estimation result is different each time the vector data is input may be expressed as "fluctuation" of the estimation result.

1回の計算で得られた出力値の様子を図1(a)に示し、何度も計算を繰り返して得られた出力値に関して分布が生じる様子を図1(b)に示す。図1(a)には、1回の計算によって得られた出力値が、グラフ(横軸は値を表す)上にプロットされた様子が示されている。また、図1(b)には、複数回(ここでは10回)の計算によって得られた出力値が、グラフ(横軸は値を表し、縦軸は模式的に度数を表す)上にプロットされた様子が示されている。 FIG. 1 (a) shows the state of the output value obtained by one calculation, and FIG. 1 (b) shows the state of distribution with respect to the output value obtained by repeating the calculation many times. FIG. 1A shows how the output values obtained by one calculation are plotted on a graph (the horizontal axis represents the values). Further, in FIG. 1 (b), the output values obtained by the calculation of a plurality of times (10 times in this case) are plotted on a graph (the horizontal axis represents the value and the vertical axis schematically represents the frequency). The state of being done is shown.

さらに、図1(b)に示されている出力値の分布を値ごとに度数としてカウントし、ヒストグラムによって表現した様子を図1(c)に示す。図1(c)には、図1(b)で表されている分布の様子が、出力値の大きさ(横軸)とその度数(縦軸)の関係を示すヒストグラムで表現されている。このように何度の試行を繰り返すことで、出力値の分布を得ることができ、図1(c)には、統計処理によって得られる、推定値の確率密度分布のグラフ(図1(c)中の点線で描かれたグラフ)、平均値、推定分散値も示されている。なお、本明細書では、このように何度も試行を繰り返して確率密度分布を得ることを、「モンテカルロ的に計算する」と表現することがある。 Further, the distribution of the output values shown in FIG. 1 (b) is counted as a frequency for each value, and the state represented by the histogram is shown in FIG. 1 (c). In FIG. 1 (c), the state of the distribution shown in FIG. 1 (b) is represented by a histogram showing the relationship between the magnitude (horizontal axis) of the output value and its frequency (vertical axis). By repeating the trials many times in this way, the distribution of the output values can be obtained, and FIG. 1 (c) shows a graph of the probability density distribution of the estimated values obtained by statistical processing (FIG. 1 (c)). The graph drawn by the dotted line inside), the mean value, and the estimated variance value are also shown. In this specification, obtaining a probability density distribution by repeating trials many times in this way may be expressed as "calculating in a Monte Carlo manner".

非特許文献1では、MC回計算を繰り返し、毎回変化する最終出力ベクトルデータの値をMC個(〜200個ほど)集め、以下の式によって、それらの値の分散値を計算している。この式によって得られる分散値は、入力データに対する不確からしさとして定義される。 In Non-Patent Document 1, MC calculations are repeated, MC values (about 200) of final output vector data that change each time are collected, and the variance value of those values is calculated by the following formula. The variance value obtained by this equation is defined as the uncertainty with respect to the input data.

Figure 0006855360
Figure 0006855360

上記の式において、x*が入力、y*が出力、Tが計算回数(すなわち、T=MC)であり、左辺が出力y*の分散値である。上記の式のように、左辺(分散値)は、初期分散に関する定数項τ-1D(右辺第1項)と、出力y*の分散値(右辺第2項)から出力y*の平均の2乗(右辺第3項)を引いた値の和で表される。 In the above equation, x * is the input, y * is the output, T is the number of calculations (that is, T = MC), and the left side is the variance value of the output y *. As in the above equation, the left side (variance value) is the average of the constant term τ -1 ID (first term on the right side ) related to the initial variance and the variance value of the output y * (second term on the right side) to the output y * . It is represented by the sum of the values obtained by subtracting the square of (the third term on the right side).

この計算を直感的な表現で言えば、同一対象物に対するニューラルネットワークの推定値を何度も計算し、そのたびにドロップアウト層の入力ベクトルデータの値をランダムにゼロにして、ベクトルデータの要素群にランダムな欠損を作ることで、ドロップアウト層からの出力データを意図的に揺らすようにしている。このようにドロップアウト層からの出力データを意図的に揺らした場合であっても、出力層から出力される最終的な推定結果が揺れない場合、すなわち分散が小さい場合には、ニューラルネットワークはその推定値に対して信頼性が高いと考えることができる。一方、逆に出力層から出力される最終的な推定結果が大きく揺れる場合、すなわち分散が大きい場合には、ニューラルネットワークはその推定値に対して信頼性が低いと考えることができる。 Intuitively speaking, this calculation is an element of the vector data by calculating the estimated value of the neural network for the same object many times and randomly setting the value of the input vector data of the dropout layer to zero each time. By creating random defects in the group, the output data from the dropout layer is intentionally shaken. Even if the output data from the dropout layer is intentionally shaken in this way, if the final estimation result output from the output layer does not shake, that is, if the variance is small, the neural network will be able to do so. It can be considered that the reliability is high with respect to the estimated value. On the other hand, on the contrary, when the final estimation result output from the output layer fluctuates greatly, that is, when the variance is large, the neural network can be considered to be unreliable with respect to the estimated value.

国際公開公報WO2014105866A1International Publication WO201410508666A1

“Dropout as a Bayesian Approximation: Representing Model Uncertainty in Deep Learning”, Yarin Gal, Zoubin Ghahramani:2015年6月6日(https://arxiv.org/pdf/1506.02142v1.pdfから取得可能)“Dropout as a Bayesian Approximation: Representing Model Uncertainty in Deep Learning”, Yarin Gal, Zoubin Ghahramani: June 6, 2015 (available from https://arxiv.org/pdf/1506.02142v1.pdf)

しかしながら、上述のように、ある1つの観測対象に対して分散値を得るためには、ニューラルネットワークのドロップアウト層以降の計算を繰り返し何度も行わなければならない。例えば、この計算回数はMC回(〜200回ほど)必要となる。計算回数を少なくした場合には、出力値の確率密度分布に関して滑らかな分布形状が得られず、正確に分散値を見積もることが困難である。一方、計算回数を多くするとより正確な分散値を見積もることが可能となるが、膨大な計算回数は、計算処理に時間及び手間がかかるため、実用上計算処理にとって大きな負担となるという課題がある。 However, as described above, in order to obtain the variance value for one observation target, the calculation after the dropout layer of the neural network must be repeated many times. For example, the number of calculations is required to be MC times (about 200 times). When the number of calculations is reduced, a smooth distribution shape cannot be obtained with respect to the probability density distribution of the output value, and it is difficult to accurately estimate the variance value. On the other hand, if the number of calculations is increased, it becomes possible to estimate a more accurate variance value, but there is a problem that a huge number of calculations imposes a heavy burden on the calculation process in practice because the calculation process takes time and labor. ..

上記の課題を解決するため、本発明は、膨大な回数の計算処理を行うことなく、推定結果の不確かさを表す分散値の計算を高速に行うことが可能な、ニューラルネットワークを用いて推定処理を行う情報推定装置及び情報推定方法を提供することを目的とする。 In order to solve the above problems, the present invention uses a neural network to perform estimation processing that can perform high-speed calculation of a variance value indicating uncertainty of estimation results without performing calculation processing a huge number of times. It is an object of the present invention to provide an information estimation device and an information estimation method for performing the above.

上記の目的を達成するため、本発明によれば、入力データの一部を欠損させるドロップアウト層と、重みの計算を行うFC層又はコンボリューション層との組み合わせからなる一体化層を持つとともに、前記一体化層の前及び後の少なくとも一方に非線形関数を用いた計算を行う活性化層を持つニューラルネットワークを用いて推定処理を行う情報推定装置であって、
前記活性化層に入力される多変量分布に係るデータを参照して、前記活性化層における計算を経て前記活性化層から出力される多変量分布の分散値をゼロに設定することができるか否かを判断するデータ解析部と、
前記推定処理において前記一体化層で計算を行う際に、前記データ解析部で前記分散値をゼロに設定することができると判断された多変量分布に関連した計算をスキップする推定処理部とを、
有する情報推定装置が提供される。
In order to achieve the above object, according to the present invention, the present invention has an integrated layer composed of a combination of a dropout layer for deleting a part of input data and an FC layer or a convolution layer for calculating weights. An information estimation device that performs estimation processing using a neural network having an activation layer that performs calculations using a nonlinear function at least one before and after the integrated layer.
Is it possible to set the variance value of the multivariate distribution output from the activated layer to zero through the calculation in the activated layer by referring to the data related to the multivariate distribution input to the activated layer? The data analysis unit that determines whether or not
An estimation processing unit that skips calculations related to a multivariate distribution determined by the data analysis unit to be able to set the variance value to zero when performing calculations in the integrated layer in the estimation processing. ,
An information estimation device having the information is provided.

また、上記の目的を達成するため、本発明によれば、入力データの一部を欠損させるドロップアウト層と、重みの計算を行うFC層又はコンボリューション層との組み合わせからなる一体化層を持つとともに、前記一体化層の前及び後の少なくとも一方に非線形関数を用いた計算を行う活性化層を持つニューラルネットワークを用いて推定処理を行う情報推定方法であって、
前記活性化層に入力される多変量分布に係るデータを参照して、前記活性化層における計算を経て前記活性化層から出力される多変量分布の分散値をゼロに設定することができるか否かを判断するデータ解析ステップと、
前記推定処理において前記一体化層で計算を行う際に、前記データ解析ステップで前記分散値をゼロに設定することができると判断された多変量分布に関連した計算をスキップする推定処理ステップとを、
有する情報推定方法が提供される。
Further, in order to achieve the above object, according to the present invention, there is an integrated layer composed of a combination of a dropout layer for deleting a part of input data and an FC layer or a convolution layer for calculating weights. In addition, it is an information estimation method that performs estimation processing using a neural network having an activation layer that performs calculations using a nonlinear function at least one before and after the integrated layer.
Is it possible to set the variance value of the multivariate distribution output from the activated layer to zero through the calculation in the activated layer by referring to the data related to the multivariate distribution input to the activated layer? Data analysis steps to determine if
In the estimation process, when the calculation is performed by the integrated layer, the estimation processing step of skipping the calculation related to the multivariate distribution determined that the variance value can be set to zero in the data analysis step is included. ,
An information estimation method to have is provided.

本発明は、ニューラルネットワークによる推定技術に関し、膨大な回数の計算処理を行うことなく、推定結果の不確かさを表す分散値の計算を高速に行うことができるようになるという効果を有し、ニューラルネットワークによる推定結果に対する信頼性を迅速かつ容易に判断することが可能となる。また、本発明によれば、信頼性に応じて推定結果を採用するか否かの判断や、他のベイズ推定などによる推定結果との融合を行うか否かの判断などが可能となり、ニューラルネットワークの適用範囲を大きく広げることができる。 The present invention has an effect that the calculation of the variance value indicating the uncertainty of the estimation result can be performed at high speed without performing a huge number of calculation processes in the estimation technique using the neural network. It is possible to quickly and easily determine the reliability of the estimation result by the network. Further, according to the present invention, it is possible to determine whether or not to adopt the estimation result according to the reliability, and whether or not to fuse with the estimation result by other Bayesian estimation or the like, and the neural network. The applicable range of can be greatly expanded.

ニューラルネットワークを使用した従来の推定器から得られる出力値を示すグラフであり、(a)は、1回の計算で得られた出力値の様子を示すグラフであり、(b)は、複数回の計算で得られた出力値の様子を示すグラフであり、(c)は、複数回の計算で得られた出力値のヒストグラムを示すグラフである。It is a graph which shows the output value obtained from the conventional estimator using a neural network, (a) is a graph which shows the state of the output value obtained by one calculation, and (b) is a graph which shows the state of the output value obtained by one calculation a plurality of times. It is a graph which shows the state of the output value obtained by the calculation of, and (c) is a graph which shows the histogram of the output value obtained by a plurality of calculations. 本発明の実施の形態の前提となる推定計算が扱うニューラルネットワークの部分的構造の一例を示す図であり、(a)は、DF1層と活性化層とDF2層とにより構成されたニューラルネットワークの一例を示す図、(b)は、DF1層と活性化層により構成されたニューラルネットワークの一例を示す図、(c)は、活性化層とDF2層により構成されたニューラルネットワークの一例を示す図である。It is a figure which shows an example of the partial structure of the neural network handled by the estimation calculation which is the premise of the embodiment of this invention, (a) is the figure of the neural network composed of a DF1 layer, an activation layer and a DF2 layer. A diagram showing an example, (b) is a diagram showing an example of a neural network composed of a DF1 layer and an activation layer, and (c) is a diagram showing an example of a neural network composed of an activation layer and a DF2 layer. Is. 本発明の実施の形態の前提となる推定計算において、DF1層の計算処理を模式的に示す図である。It is a figure which shows typically the calculation process of the DF1 layer in the estimation calculation which is the premise of the embodiment of this invention. 本発明の実施の形態の前提となる推定計算において、DF2層の計算処理を模式的に示す図である。It is a figure which shows typically the calculation process of the DF2 layer in the estimation calculation which is the premise of the embodiment of this invention. 本発明の実施の形態の前提となる推定計算において、DF1層での平均値及び分散値の計算処理の一例を示すフローチャートである。It is a flowchart which shows an example of the calculation process of the mean value and the variance value in the DF1 layer in the estimation calculation which is the premise of the Embodiment of this invention. 本発明の実施の形態の前提となる推定計算において、DF1層での共分散値の計算処理の一例を示すフローチャートである。It is a flowchart which shows an example of the calculation process of the covariance value in the DF1 layer in the estimation calculation which is the premise of the embodiment of this invention. 本発明の実施の形態の前提となる推定計算において、DF2層での平均値及び分散値の計算処理の一例を示すフローチャートである。It is a flowchart which shows an example of the calculation process of the mean value and the variance value in the DF2 layer in the estimation calculation which is the premise of the Embodiment of this invention. 本発明の第1の実施の形態における情報推定装置の構成の一例を示すブロック図である。It is a block diagram which shows an example of the structure of the information estimation apparatus in 1st Embodiment of this invention. 本発明の第1の実施の形態において、活性化関数として用いられるReLU関数に関連したグラフであり、(a)は、活性化関数として用いられるReLU関数の一例を示すグラフ、(b)は、活性化関数に入力される分布(負の領域に偏った分布)の一例を示すグラフ、(c)は、活性化関数に入力される分布が負の領域に偏った分布である場合における活性化関数からの出力の一例を示すグラフ、(d)は、活性化関数に入力される分布(正の領域に偏った分布)の一例を示すグラフ、(e)は、活性化関数に入力される分布が正の領域に偏った分布における活性化関数からの出力の一例を示すグラフである。In the first embodiment of the present invention, it is a graph related to the ReLU function used as the activation function, (a) is a graph showing an example of the ReLU function used as the activation function, and (b) is a graph showing an example of the ReLU function used as the activation function. The graph showing an example of the distribution input to the activation function (distribution biased to the negative region), (c) shows activation when the distribution input to the activation function is biased to the negative region. A graph showing an example of the output from the function, (d) is a graph showing an example of the distribution (distribution biased to the positive region) input to the activation function, and (e) is input to the activation function. It is a graph which shows an example of the output from the activation function in the distribution where the distribution is biased to the positive region. 本発明の第1の実施の形態において、活性化関数として用いられるシグモイド関数に関連したグラフであり、(a)は、活性化関数として用いられるシグモイド関数の一例を示すグラフ、(b)は、活性化関数に入力される分布(負の領域に偏った分布)の一例を示すグラフ、(c)は、活性化関数に入力される分布が負の領域に偏った分布である場合における活性化関数からの出力の一例を示すグラフ、(d)は、活性化関数に入力される分布(正の領域に偏った分布)の一例を示すグラフ、(e)は、活性化関数に入力される分布が正の領域に偏った分布である場合における活性化関数からの出力の一例を示すグラフである。In the first embodiment of the present invention, it is a graph related to the sigmoid function used as the activation function, (a) is a graph showing an example of the sigmoid function used as the activation function, and (b) is a graph showing an example of the sigmoid function used as the activation function. The graph showing an example of the distribution input to the activation function (distribution biased to the negative region), (c) shows activation when the distribution input to the activation function is biased to the negative region. A graph showing an example of the output from the function, (d) is a graph showing an example of the distribution (distribution biased to the positive region) input to the activation function, and (e) is input to the activation function. It is a graph which shows an example of the output from an activation function in the case where the distribution is biased to a positive region. 本発明の第1の実施の形態において、負の領域に偏った分布が活性化層に入力された場合に、その出力がデルタ関数で近似される様子を模式的に示す図である。In the first embodiment of the present invention, it is a diagram schematically showing how the output is approximated by a delta function when a distribution biased to a negative region is input to the activation layer. 本発明の第1の実施の形態において、ガウス分布が負の領域に偏っていると判断する基準の一例を説明するための図である。It is a figure for demonstrating an example of the criteria for determining that the Gaussian distribution is biased to a negative region in the 1st Embodiment of this invention. 本発明の第1の実施の形態において、分散値と共分散値との関係を説明するための図であり、(a)は、2つのインデックスに関する分散値が両方共ゼロではない場合に、これらの共分散値はある広がりを持った分布をなす様子を示す図、(b)は、2つのインデックスに関する分散値の一方がゼロの場合に、これらの共分散値はゼロになることを示す図、(c)は、2つのインデックスに関する分散値の両方がゼロの場合に、これらの共分散値はゼロになることを示す図である。In the first embodiment of the present invention, it is a figure for demonstrating the relationship between a variance value and a covariance value, and FIG. A diagram showing how the covariance values of are distributed with a certain spread, and (b) is a diagram showing that when one of the variance values for the two indexes is zero, these covariance values become zero. , (C) is a diagram showing that when both the variance values for the two indexes are zero, these covariance values become zero. 本発明の第1の実施の形態において、DF1層での平均値及び分散値の計算処理の一例を示すフローチャートである。It is a flowchart which shows an example of the calculation process of the mean value and the dispersion value in the DF1 layer in the 1st Embodiment of this invention. 本発明の第1の実施の形態において、DF1層での共分散値の計算処理の一例を示すフローチャートである。It is a flowchart which shows an example of the calculation process of the covariance value in the DF1 layer in the 1st Embodiment of this invention. 本発明の第1の実施の形態において、DF2層での平均値及び分散値の計算処理の一例を示すフローチャートである。It is a flowchart which shows an example of the calculation process of the mean value and the dispersion value in the DF2 layer in the 1st Embodiment of this invention. 本発明の第1の実施の形態における提案手法を用いて得られた実験結果、及び、他の手法を用いた場合の実験結果(本発明の実施の形態の前提となる推定計算を用いた実験結果、非特許文献1で提案された技術を用いた実験結果)を示すグラフである。Experimental results obtained by using the proposed method in the first embodiment of the present invention, and experimental results when other methods are used (experiments using the estimation calculation which is the premise of the embodiment of the present invention). As a result, it is a graph which shows (the result of an experiment using the technique proposed in Non-Patent Document 1).

以下、本発明の第1及び第2の実施の形態について説明する。 Hereinafter, the first and second embodiments of the present invention will be described.

まず、本発明の第1及び第2の実施の形態の前提となるニューラルネットワークの推定計算(以下、本発明の実施の形態の前提となる推定計算、と記載する)の概要について説明する。本発明の実施の形態の前提となる推定計算は、本願と同一の発明者によって発明されたものであり、本出願人が先に出願した特願2016−252813号の明細書及び図面に記載されたものと同様である。なお、特願2016−252813号は本願の出願時には未公開であり、本発明に対する従来技術を構成するものではない。 First, the outline of the neural network estimation calculation (hereinafter, referred to as the estimation calculation which is the premise of the embodiment of the present invention) which is the premise of the first and second embodiments of the present invention will be described. The presumed calculation that is the premise of the embodiment of the present invention was invented by the same inventor as the present application, and is described in the specification and drawings of Japanese Patent Application No. 2016-252813 previously filed by the applicant. It is the same as the one. Japanese Patent Application No. 2016-252813 has not been published at the time of filing the application of the present application, and does not constitute a prior art for the present invention.

本発明の実施の形態の前提となる推定計算は、上述の非特許文献1で提案されたモンテカルロ的に分散値を計算する手法における計算処理の負担(膨大な計算回数に伴う時間及び手間)を軽減するために想到されたものであり、分散値の計算を解析的に行うものである。 The estimation calculation that is the premise of the embodiment of the present invention takes the burden of calculation processing (time and labor associated with a huge number of calculations) in the method for calculating the variance value in a Monte Carlo manner proposed in Non-Patent Document 1 described above. It was conceived to mitigate, and the variance value is calculated analytically.

非特許文献1で提案されている推定計算は、ニューラルネットワークの推定計算時にモンテカルロ的にドロップアウトを用いてランダムな計算結果を繰り返し生成し、それらの計算結果を統計的に集計して出力値の分布を構築し、そこから分散値を求めるという手法を用いている。この場合、計算の繰り返し回数MCは、経験的には最低でもMC=200回以上とする必要があり、これよりも少ない場合には正確な分布形状や分散値を出すことができない。それに対し、本発明の実施の形態の前提となる推定計算では、モンテカルロ的な繰り返し計算を行うことなく、繰り返し計算の結果がなすであろう分布を解析的に直接求めることが可能であり、その分布から分散値を計算することが可能である。 In the estimation calculation proposed in Non-Patent Document 1, random calculation results are repeatedly generated using Monte Carlo dropouts at the time of estimation calculation of the neural network, and the calculation results are statistically aggregated to obtain the output value. The method of constructing a distribution and finding the variance value from it is used. In this case, the number of times the calculation is repeated MC needs to be at least MC = 200 times or more empirically, and if it is less than this, an accurate distribution shape or dispersion value cannot be obtained. On the other hand, in the estimation calculation which is the premise of the embodiment of the present invention, it is possible to directly analytically obtain the distribution that the result of the iterative calculation will make without performing the iterative calculation like Monte Carlo. It is possible to calculate the variance value from the distribution.

本発明の実施の形態の前提となる推定計算が扱うニューラルネットワークの部分的構造の一例を図2に示す。入力データの一部を欠損させるドロップアウト層と、重みの計算を行う全結合(Fully Connected:FC)層との組み合わせからなる一体化層とを持つニューラルネットワークは、例えば、図2(a)のような構造を部分的に有している。すなわち、入力側(入力ベクトルXin)から出力側(入力ベクトルXout)に、ドロップアウト1層、FC(Fully Connected)1層、活性化層、ドロップアウト2層、そして最後のFC(Fully Connected)2層がこの順で配列された構造を有しており、最終層から出力される値がニューラルネットワークの推定値となる。 FIG. 2 shows an example of the partial structure of the neural network handled by the estimation calculation which is the premise of the embodiment of the present invention. A neural network having a dropout layer that loses a part of input data and an integrated layer consisting of a combination of a fully connected (FC) layer that calculates weights is, for example, FIG. 2 (a). It partially has such a structure. That is, from the input side (input vector Xin) to the output side (input vector Xout), a dropout 1 layer, an FC (Fully Connected) 1 layer, an activation layer, a dropout 2 layer, and the last FC (Fully Connected) 2 The layers have a structure arranged in this order, and the value output from the final layer is the estimated value of the neural network.

ドロップアウト層及びFC層では、一体となって連続した計算処理が行われるため、以下、ドロップアウト層とFC層とが一体となった層(ドロップアウトを備えたFC層)をまとめて一体化層(DF層)と呼ぶことがある。なお、図2(a)では、ニューラルネットワークの部分的構造は、DF1層(ドロップアウト1層とFC1層とをまとめた層)と、活性化層と、DF2層(ドロップアウト2層とFC2層とをまとめた層)とにより構成されているが、図2(a)に示す構造に限られるものではなく、例えば、図2(b)に示すように、DF1層、活性化層のみから構成されていてもよく、図2(c)に示すように、活性化層、DF2層のみから構成されていてもよい。 Since the dropout layer and the FC layer perform continuous calculation processing in an integrated manner, the layers in which the dropout layer and the FC layer are integrated (FC layer with a dropout) are integrated together. It may be called a layer (DF layer). In FIG. 2A, the partial structure of the neural network consists of a DF1 layer (a layer in which a dropout 1 layer and an FC1 layer are combined), an activation layer, and a DF2 layer (a dropout 2 layer and an FC2 layer). However, it is not limited to the structure shown in FIG. 2 (a), and is composed of only the DF1 layer and the activated layer, for example, as shown in FIG. 2 (b). As shown in FIG. 2C, it may be composed of only the activation layer and the DF2 layer.

例えば、図2(a)の部分的構造を持つニューラルネットワークにおいて、推定値の分散値を計算したいとする。なお、DF1層以前の層には、ドロップアウト層のようなランダム性を生む計算処理を行う層はないとする。この場合、DF1層への入力値は、分布をなす確率変数ではなく、通常のニューラルネットワークのように、ある固定値となる。 For example, suppose you want to calculate the variance of an estimated value in a neural network with the partial structure of FIG. 2 (a). It should be noted that the layers before the DF1 layer do not have a layer that performs calculation processing that creates randomness like the dropout layer. In this case, the input value to the DF1 layer is not a random variable having a distribution, but a fixed value like a normal neural network.

以下、図3及び図4を参照しながら、どのように入力値が確率変数に変わり、分布をなして伝搬され、最終層で推定値として出力されるのかについて具体的に述べる。 Hereinafter, with reference to FIGS. 3 and 4, how the input value is converted into a random variable, propagated in a distribution, and output as an estimated value in the final layer will be specifically described.

上述のように、DF1層への入力値は固定値である。したがって、DF1層への入力値XinDF1は、以下に示すようなnXin DF1次元のベクトルXinDF1である。ベクトルXinDF1のj番目の要素(インデックスj)はXinDF1 jと表される。なお、明細書中の表記nXin DF1は、nの下付き添字がXinDF1であることを表す。 As described above, the input value to the DF1 layer is a fixed value. Therefore, the input value Xin DF1 to the DF1 layer is the n Xin DF 1- dimensional vector Xin DF1 as shown below. The j-th element (index j) of the vector Xin DF1 is represented as Xin DF1 j. The notation n Xin DF1 in the specification indicates that the subscript of n is Xin DF1 .

Figure 0006855360
Figure 0006855360

図3に模式的に示すように、DF1層には入力ベクトルXinDF1が入力され、DF1層のドロップアウト1層にあらかじめ設定されたドロップアウトの確率pdrop DF1、FC1層にあらかじめ設定された重みWDF1及びバイアスbDF1を用いた以下の計算が行われて、その計算結果が出力ベクトルXoutDF1として出力される。 As schematically shown in FIG. 3, the input vector Xin DF1 is input to the DF1 layer, and the dropout probability set in the dropout 1 layer of the DF1 layer p drop DF1 and the weight preset in the FC1 layer. The following calculation is performed using W DF1 and bias b DF1 , and the calculation result is output as the output vector Xout DF1.

Figure 0006855360
Figure 0006855360

本発明の実施の形態の前提となる推定計算によると、DF1層からの出力値は、nXout DF1次元のベクトルXoutDF1となり、このベクトルXoutDF1のi番目の要素は以下のとおりである。なお、明細書中の表記nXout DF1は、nの下付き添字がXoutDF1であることを表す。 According to the estimation calculation which is the premise of the embodiment of the present invention, the output value from the DF1 layer is the n Xout DF 1- dimensional vector Xout DF1 , and the i-th element of this vector Xout DF1 is as follows. The notation n Xout DF1 in the specification indicates that the subscript of n is Xout DF1 .

Figure 0006855360
Figure 0006855360

さらに、ドロップアウトにより、右辺のWi,j DF1XinDF1 j項(1≦j≦nXin DF1)が、確率pdrop DF1でそれぞれランダムに消えることから、各項の和である左辺のxoutDF1 iは“サンプリング和”としてとらえて計算することができる。サンプリング和は、もはや固定値ではなく、平均値ベクトルμDF1 i、分散共分散行列ΣDF1 iからなる多変量ガウス分布をなす確率変数となり、以下のように表される。 Furthermore, due to the dropout , the Wi , j DF1 Xin DF1 j terms (1 ≤ j ≤ n Xin DF1 ) on the right side disappear randomly with the probability p drop DF1 , so the xout DF1 on the left side, which is the sum of each term. i can be calculated as a "sampling sum". The sum of samplings is no longer a fixed value, but a random variable with a multivariate Gaussian distribution consisting of the mean vector μ DF1 i and the variance-covariance matrix Σ DF1 i, and is expressed as follows.

Figure 0006855360
Figure 0006855360

Figure 0006855360
Figure 0006855360

Figure 0006855360
Figure 0006855360

Figure 0006855360
Figure 0006855360

Figure 0006855360
Figure 0006855360

以上が、図3に示した、固定値であるnXin DF1次元の入力ベクトルXinDF1がDF1層を経て、確率変数であるnXout DF1次元の多変量ガウス分布となって出力される計算である。 The above is the calculation in which the fixed value n Xin DF 1- dimensional input vector Xin DF1 is output as a random variable n Xout DF 1- dimensional multivariate Gaussian distribution through the DF1 layer. ..

本発明の実施の形態の前提となる推定計算では、DF1層において、上述した平均値、分散値、共分散値を計算する式を用いた計算処理が行われる。この計算処理をプログラムの処理で表した場合には、以下のようなものとなる。 In the estimation calculation which is the premise of the embodiment of the present invention, the calculation process using the above-mentioned formulas for calculating the mean value, the variance value, and the covariance value is performed in the DF1 layer. When this calculation process is represented by the program process, it is as follows.

Figure 0006855360
Figure 0006855360

Figure 0006855360
Figure 0006855360

上記のようにプログラムの処理で表された計算処理に関して、特にループ処理に着目して表現したフローチャートを図5及び図6に示す。図5は、本発明の実施の形態の前提となる推定計算において、DF1層での平均値及び分散値の計算処理の一例を示すフローチャートである。 5 and 6 show a flowchart of the calculation process represented by the program process as described above, paying particular attention to the loop process. FIG. 5 is a flowchart showing an example of calculation processing of the mean value and the variance value in the DF1 layer in the estimation calculation which is the premise of the embodiment of the present invention.

図5のフローチャートでは、ベクトルXoutDF1のnXout DF1個の要素について、nXout DF1回の平均値及び分散値の計算が実行される(ループL1)。ベクトルXoutDF1のi番目の要素(インデックスi)に関する平均値μDF1 iの計算は、nXin DF1回の平均値計算処理(ステップS101)を含み(ループL2)、ベクトルXoutDF1のi番目の要素(インデックスi)に関する分散値diag(ΣDF1iの計算は、nXin DF1回の分散値計算処理(ステップS102)を含んでいる(ループL3)。したがって、nXout DF1回のループはnXin DF1回のループを含んでおり、ベクトルXoutDF1のすべての要素について平均値及び分散値を計算するためには、平均値及び分散値のそれぞれについて、nXout DF1×nXin DF1回の計算が実行される必要がある。 In the flowchart of FIG. 5, the average value and the variance value of one n Xout DF are calculated for one element of the n Xout DF of the vector Xout DF1 (loop L1). Calculation of the mean value mu DF1 i for the i-th element of the vector Xout DF1 (index i) comprises n Xin DF1 times of the average value calculation processing (step S101) (loop L2), the i-th element of the vector Xout DF1 The calculation of the variance value diag (Σ DF1 ) i with respect to (index i) includes the variance value calculation process (step S102) of n Xin DF once (loop L3). Therefore, the n Xout DF 1- time loop contains the n Xin DF 1- time loop, and in order to calculate the mean and variance values for all the elements of the vector Xout DF1, n for each of the mean and variance values. Xout DF1 × n Xin DF One calculation needs to be performed.

また、図6は、本発明の実施の形態の前提となる推定計算において、DF1層での共分散値の計算処理の一例を示すフローチャートである。ベクトルXoutDF1の共分散値の計算では、ベクトルXoutDF1のある要素(例えばi1番目の要素)と別の要素(例えばi2番目の要素:ただし、i1≠i2)との組み合わせに関して、nXin DF1回の共分散値計算処理(ステップS201)を実行する必要がある。すなわち、図6のフローチャートでは、nXout DF1×nXout DF1個の組み合わせについて、nXout DF1×nXout DF1回の計算が実行され(ループL4及びループL5)、さらにこれらのループL4及びループL5が、nXin DF1回の共分散値計算処理(ステップS201)を含んでいる(ループL6)。したがって、共分散値の計算については、nXout DF1×nXout DF1回のループがnXin DF1回のループを含んでおり、ベクトルXoutDF1のすべての要素に関する共分散値を計算するためには、およそnXout DF1×nXout DF1×nXin DF1回の計算が実行される必要がある。 Further, FIG. 6 is a flowchart showing an example of the calculation process of the covariance value in the DF1 layer in the estimation calculation which is the premise of the embodiment of the present invention. In the calculation of the covariance value of the vector Xout DF1, separate elements as with a vector Xout DF1 (e.g. i1 th element) (e.g. i2 th element: however, i1 ≠ i2) for the combination of, n Xin DF1 times It is necessary to execute the covariance value calculation process (step S201) of. That is, in the flowchart of FIG. 6, the n Xout DF1 × n Xout DF1 or combinations, n Xout DF1 × n Xout DF1 times calculation is performed (loop L4 and loop L5), further these loops L4 and loop L5 , N Xin DF One- time covariance value calculation process (step S201) is included (loop L6). Therefore, for the calculation of the covariance value, n Xout DF1 × n Xout DF 1 loop contains n Xin DF 1 loop, and in order to calculate the covariance value for all the elements of the vector Xout DF1 Approximately n Xout DF1 x n Xout DF1 x n Xin DF One calculation needs to be performed.

なお、共分散値の計算では対角項(i1=i2)に関する計算は実行されないことから、計算回数はnXout DF1×nXout DF1×nXin DF1回よりも少ないが、nXout DF1×nXout DF1×nXin DF1と同程度のオーダー(桁数)の計算回数が必要であることは明らかである。また、もちろん、分散共分散行列の対称性を利用することで、片方の非対角項だけを計算し、他方の非対角項をその反転で計算することは可能ではあるが、計算量は半分程度削減されるにすぎない。 Since the calculation related to the diagonal term (i1 = i2) is not executed in the calculation of the covariance value, the number of calculations is less than n Xout DF1 × n Xout DF1 × n Xin DF1 times, but n Xout DF1 × n Xout. It is clear that the number of calculations of the order (number of digits) similar to that of DF1 × n Xin DF1 is required. Also, of course, by using the symmetry of the variance-covariance matrix, it is possible to calculate only one off-diagonal term and the other off-diagonal term by its inversion, but the amount of calculation is It is only reduced by half.

また、本発明の実施の形態の前提となる推定計算では、入出力データを混合ガウス分布とみなすことを提案している。この場合、データを構成するそれぞれのガウス分布に対し、上述した処理を独立に行う必要があるが、ここでは説明を省略する。 Further, in the estimation calculation which is the premise of the embodiment of the present invention, it is proposed that the input / output data is regarded as a mixed Gaussian distribution. In this case, it is necessary to perform the above-described processing independently for each Gaussian distribution constituting the data, but the description thereof will be omitted here.

例えば図2(a)の部分的構造を持つニューラルネットワークでは、DF1層から出力された出力値XinDF1(確率変数であるnXout DF1次元の多変量ガウス分布)は、活性化層に入力される。活性化層では、例えばReLu(Rectified Linear Unit)関数やシグモイド関数などの活性化関数(非線形関数)による計算処理が実行された後、入力ベクトルと同一の次元数(nXout DF1次元)のベクトルが出力され、DF2層に入力される。したがって、DF2層の入力ベクトルの次元数nXin DF2は、DF2層の入力ベクトルの次元数nXout DF1と同じになる(nXout DF1=nXin DF2)。なお、明細書中の表記nXin DF2は、nの下付き添字がXinDF2であることを表す。 For example, in the neural network having the partial structure shown in FIG. 2A, the output value Xin DF1 (multivariate Gaussian distribution of n Xout DF1 dimension, which is a random variable) output from the DF1 layer is input to the activation layer. .. In the activation layer, for example, after calculation processing by an activation function (non-linear function) such as a ReLu (Rectified Linear Unit) function or a sigmoid function is executed, a vector having the same number of dimensions as the input vector (n Xout DF 1 dimension) is generated. It is output and input to the DF2 layer. Therefore, the number of dimensions n Xin DF2 of the input vector of the DF2 layer is the same as the number of dimensions n Xout DF1 of the input vector of the DF2 layer (n Xout DF1 = n Xin DF2 ). The notation n Xin DF2 in the specification indicates that the subscript of n is Xin DF2 .

DF2層に入力される多変量ガウス分布は、以下のように表される。 The multivariate Gaussian distribution input to the DF2 layer is expressed as follows.

Figure 0006855360
Figure 0006855360

なお、μin DF2は、平均を示すnXin DF2次元ベクトルであり、インデックスi番目(1≦i<nXin DF2)の要素をμin DF2と表記する。また、Σin DF2は、nXin DF2×nXin DF2次元の分散共分散行列であり、インデックス(i,i)番目(1≦i≦nXin DF2)の対角項は分散値を示し、この要素をΣin DF2 iと表記する。一方、インデックス(i,j)番目(1≦i,j,i≠j≦nXin DF2)の非対角項は共分散値を示し、この要素をΣin DF2 i,jと表記する。 Note that μ in DF2 is an n Xin DF two- dimensional vector indicating the average, and the element at the i-th index (1 ≦ i <n Xin DF2 ) is expressed as μ in DF2. Further, Σ in DF2 is an n Xin DF2 × n Xin DF two- dimensional variance-covariance matrix, and the diagonal term of the index (i, i) th (1 ≦ i ≦ n Xin DF2 ) indicates the variance value. The element is written as Σ in DF2 i. On the other hand, the off-diagonal term at the index (i, j) th (1 ≦ i, j, i ≠ j ≦ n Xin DF2 ) indicates the covariance value, and this element is expressed as Σ in DF2 i, j .

図4に模式的に示すように、DF2層には入力ベクトルXinDF2が入力され、DF2層のドロップアウト2層にあらかじめ設定されたドロップアウトの確率pdrop DF2、FC2層にあらかじめ設定された重みWDF2及びバイアスbDF2を用いた以下の計算が行われて、その計算結果が出力ベクトルXoutDF2として出力される。 As schematically shown in FIG. 4, the input vector Xin DF2 is input to the DF2 layer, and the dropout probability set in advance in the dropout 2 layer of the DF2 layer p drop DF2 , the weight preset in the FC2 layer. The following calculation is performed using W DF2 and bias b DF2 , and the calculation result is output as an output vector Xout DF2.

Figure 0006855360
Figure 0006855360

本発明の実施の形態の前提となる推定計算によると、DF1層での計算処理と同様に、DF2層での出力ベクトルXoutDF2も、ドロップアウトによるサンプリング和と考え、以下のように定義されるnXout DF2次元の多変量ガウス分布となる。なお、明細書中の表記nXout DF2は、nの下付き添字がXoutDF2であることを表す。 According to the estimation calculation which is the premise of the embodiment of the present invention, the output vector Xout DF2 in the DF2 layer is also considered as the sampling sum by the dropout, and is defined as follows, as in the calculation process in the DF1 layer. n Xout DF Two- dimensional multivariate Gaussian distribution. The notation n Xout DF2 in the specification indicates that the subscript of n is Xout DF2 .

Figure 0006855360
Figure 0006855360

なお、μout DF2は、平均を示すnXout DF2次元ベクトルであり、インデックスi番目(1≦i<nXout DF2)の要素をμout DF2と表記する。また、Σout DF2は、nXout DF2×nXout DF2次元の分散共分散行列であり、インデックス(i,i)番目(1≦i≦nXout DF2)の対角項は分散値を示し、この要素をΣout DF2 iと表記する。一方、インデックス(i,j)番目(1≦i,j,i≠j≦nXout DF2)の非対角項は共分散値を示し、この要素をΣout DF2 i,jと表記する。 Note that μ out DF2 is an n Xout DF two- dimensional vector indicating the average, and the element at the i-th index (1 ≦ i <n Xout DF2 ) is expressed as μ out DF2. Further, Σ out DF2 is an n Xout DF2 × n Xout DF two- dimensional variance-covariance matrix, and the diagonal term of the index (i, i) th (1 ≦ i ≦ n Xout DF2 ) indicates the variance value. The element is written as Σ out DF2 i. On the other hand, the off-diagonal term at the index (i, j) th (1 ≦ i, j, i ≠ j ≦ n Xout DF2 ) indicates the covariance value, and this element is expressed as Σ out DF2 i, j .

Figure 0006855360
Figure 0006855360

Figure 0006855360
Figure 0006855360

Figure 0006855360
Figure 0006855360

Figure 0006855360
Figure 0006855360

なお、XoutDF2の共分散の部分は、DF2層がニューラルネットワークの最終層であり、最終層から出力される出力値(すなわち、ニューラルネットワークによる推定値)の不確かさを示すのは分散値のみであるので、興味の対象外として計算する必要はない。ただし、この後、DF2層が最終層ではなく、DF2層からの出力値が更なるドロップアウト層(3つめのドロップアウト層)に入力される場合には、DF2層の出力値についても共分散値を計算する必要がある。 In the covariance part of Xout DF2 , the DF2 layer is the final layer of the neural network, and only the dispersion value indicates the uncertainty of the output value (that is, the estimated value by the neural network) output from the final layer. There is no need to calculate it as out of interest. However, after this, if the DF2 layer is not the final layer and the output value from the DF2 layer is input to a further dropout layer (third dropout layer), the output value of the DF2 layer is also covariant. You need to calculate the value.

本発明の実施の形態の前提となる推定計算では、DF2層において、上述した平均値、分散値を計算する式を用いた計算処理が行われる。この計算処理をプログラムの処理で表した場合には、以下のようなものとなる。 In the estimation calculation which is the premise of the embodiment of the present invention, the calculation process using the above-mentioned formula for calculating the mean value and the variance value is performed in the DF2 layer. When this calculation process is represented by the program process, it is as follows.

Figure 0006855360
Figure 0006855360

上記のようにプログラムの処理で表された計算処理に関して、特にループ処理に着目して表現したフローチャートを図7に示す。図7は、本発明の実施の形態の前提となる推定計算において、DF2層での平均値及び分散値の計算処理の一例を示すフローチャートである。図7のフローチャートでは、ベクトルXoutDF2のnXout DF2個の要素について、nXout DF2回の平均値及び分散値の計算が実行される(ループL7)。ベクトルXoutDF2のある要素(例えばi番目の要素)に関する平均値μout DF2 i、ListWDF2μin DF2 iの分散値の計算は、nXin DF2回の平均値計算処理(ステップS301)を含んでいる(ループL8)。一方、分散値については、ループL9におけるnXin DF2回のVarWXin DF2 i,jjの和の計算(ステップS302)と、ループL10及びループL11におけるnXin DF2×nXin DF2個のインデックスの組み合わせに関するCovWXinDF2 i,jj1,jj2,jj1<jj2の和の計算(ステップS303)とを実行した後、これらの結果から、DF2層の出力値の分散値diag(Σout DF2iを計算する(ステップS304)。したがって、分散値の計算については、nXout DF2回のループがnXin DF2×nXin DF2回のループを含んでおり、ベクトルXoutDF2のすべての要素に関する分散値を計算するためには、およそnXout DF2×nXin DF2×nXin DF2回の計算が実行される必要がある。 FIG. 7 shows a flowchart expressing the calculation process represented by the program process as described above, paying particular attention to the loop process. FIG. 7 is a flowchart showing an example of calculation processing of the mean value and the variance value in the DF2 layer in the estimation calculation which is the premise of the embodiment of the present invention. In the flowchart of FIG. 7, the n Xout DF2 five element vector Xout DF2, the calculation of n Xout DF2 times of the mean value and the variance value is performed (loop L7). The calculation of the variance values of the mean values μ out DF2 i and ListW DF2 μ in DF2 i for a certain element (for example, the i-th element) of the vector Xout DF2 includes the mean value calculation process (step S301) of n Xin DF2 times. Yes (loop L8). On the other hand, the dispersion value, n Xin DF2 times VarW Xin DF2 i in the loop L9, calculation of the sum of jj (step S302), relates to the combination of n Xin DF2 × n Xin DF2 amino index in loops L10 and loop L11 After executing the calculation of the sum of CovWXin DF2 i, jj1, jj2, jj1 <jj2 (step S303), the variance value diag (Σ out DF2 ) i of the output value of the DF2 layer is calculated from these results (step). S304). Therefore, for the calculation of the variance value, the n Xout DF2 loop contains the n Xin DF2 × n Xin DF2 loop, and in order to calculate the variance value for all the elements of the vector Xout DF2, it is approximately n. Xout DF2 x n Xin DF2 x n Xin DF Two calculations need to be performed.

以上のように、本発明の実施の形態の前提となる推定計算では、DF1層及びDF2層における計算処理が膨大な回数の計算を必要とするループ処理を含んでいる。例えばAlexNetなどの代表的なニューラルネットワークでは、FC層の入力ベクトルの次元数nXin FC2は4096であり、FC層の出力ベクトルの次元数nXout FC2は1000であることから、上述したDF2層の分散値の計算だけでも1000×4096×4096回の繰り返し計算が必要となってしまう。したがって、本発明の実施の形態の前提となる推定計算においても、ニューラルネットワークのニューロン数が大きく、さらに層の数が増えた場合には、膨大な回数の計算を実行する必要があるという問題点がある。 As described above, the estimation calculation which is the premise of the embodiment of the present invention includes the loop processing in which the calculation processing in the DF1 layer and the DF2 layer requires a huge number of calculations. For example, in a typical neural network such as AlexNet, the number of dimensions n Xin FC2 of the input vector of the FC layer is 4096, and the number of dimensions n Xout FC2 of the output vector of the FC layer is 1000. The calculation of the dispersion value alone requires repeated calculation of 1000 × 4096 × 4096 times. Therefore, even in the estimation calculation which is the premise of the embodiment of the present invention, there is a problem that when the number of neurons of the neural network is large and the number of layers is further increased, it is necessary to execute a huge number of calculations. There is.

以下、本発明の第1及び第2の実施の形態について説明する。本発明の第1の実施の形態における推定計算は、上述した本発明の実施の形態の前提となる推定計算を更に改良することによって、不確かさを表す分散値をより高速に計算できるようにしたものである。また、本発明の第2の実施の形態における推定計算は、本発明の第1の実施の形態における推定計算を改良して、推定結果が不確かであると判断された場合に計算を中断することにより、不要な計算処理が行われないようにしたものである。 Hereinafter, the first and second embodiments of the present invention will be described. The estimation calculation in the first embodiment of the present invention has made it possible to calculate the variance value representing the uncertainty at a higher speed by further improving the estimation calculation which is the premise of the above-described embodiment of the present invention. It is a thing. Further, the estimation calculation in the second embodiment of the present invention is an improvement of the estimation calculation in the first embodiment of the present invention, and the calculation is interrupted when the estimation result is determined to be uncertain. This prevents unnecessary calculation processing from being performed.

<第1の実施の形態>
本発明の第1の実施の形態における推定計算では、ニューラルネットワークの活性化層において、入力される分布が、出力では平均値及び分散値がほぼゼロとなるような圧縮されたつぶれた分布になり、分布計算がそれ以降の層で必要ではない場合があることに着目し、圧縮されたつぶれた分布によって平均値及び分散値がゼロと設定(近似)することができる場合とそうではない場合とに単純に分けて計算することで、ループ処理における計算の回数を低減させ、高速の計算処理を実現する。なお、活性化層に入力された多変量分布(例えば、多変量ガウス分布)が、活性化層における計算を経て出力される場合に、平均値及び分散値をゼロと設定(近似)することのできる分布(つぶれた分布)の形状を有する場合があることについては後述する。
<First Embodiment>
In the estimation calculation in the first embodiment of the present invention, in the activation layer of the neural network, the input distribution becomes a compressed and crushed distribution such that the mean value and the variance value are almost zero at the output. Focusing on the fact that distribution calculation may not be necessary in the subsequent layers, the mean and variance values can be set (approximate) to zero by the compressed collapsed distribution, and when it is not. By simply dividing the calculation into two, the number of calculations in the loop processing can be reduced and high-speed calculation processing can be realized. When the multivariate distribution (for example, multivariate Gaussian distribution) input to the activated layer is output after the calculation in the activated layer, the mean value and the variance value are set (approximate) to zero. It will be described later that it may have a shape of a possible distribution (crushed distribution).

図8は、本発明の第1の実施の形態における情報推定装置の構成の一例を示すブロック図である。図8に示す情報推定装置10は、推定計算部20、データ解析部30を有する。図8に示す情報推定装置10は、ニューラルネットワークを用いて推定処理を行う推定器であり、ニューラルネットワークは、入力データの一部を欠落させるドロップアウト層、重みの計算を行うFC層(Fully Connected層)、非線形関数を用いた計算を行う活性化層を持っている。なお、FC層は、コンボリューション層(畳み込み層)と数学的に同等とみなすことができる。 FIG. 8 is a block diagram showing an example of the configuration of the information estimation device according to the first embodiment of the present invention. The information estimation device 10 shown in FIG. 8 has an estimation calculation unit 20 and a data analysis unit 30. The information estimation device 10 shown in FIG. 8 is an estimator that performs estimation processing using a neural network, and the neural network is a dropout layer that omits a part of input data and an FC layer (Fully Connected) that calculates weights. Layer), it has an activation layer that performs calculations using non-linear functions. The FC layer can be regarded as mathematically equivalent to the convolution layer (convolution layer).

図8に示すブロック図は、本発明に関連した機能を表しているにすぎず、実際の実装では、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせによって実現されてもよい。ソフトウェアで実装される機能は、1つ又は複数の命令若しくはコードとして任意のコンピュータ可読媒体に記憶され、これらの命令又はコードは、CPU(Central Processing Unit:中央処理ユニット)やGPU(Graphics Processing Unit:グラフィックスプロセッシングユニット)などのハードウェアベースの処理ユニットによって実行可能である。また、本発明に関連した機能は、IC(Integrated Circuit:集積回路)やICチップセットなどを含む様々なデバイスによって実現されてもよい。 The block diagram shown in FIG. 8 merely represents a function related to the present invention, and in an actual implementation, it may be realized by hardware, software, firmware, or any combination thereof. Functions implemented in software are stored in any computer-readable medium as one or more instructions or codes, and these instructions or codes are stored in a CPU (Central Processing Unit) or GPU (Graphics Processing Unit). It can be executed by a hardware-based processing unit such as a graphics processing unit). Further, the functions related to the present invention may be realized by various devices including an IC (Integrated Circuit), an IC chipset, and the like.

推定計算部20は、従来のニューラルネットワークと同様に、各層において入力データの計算処理を行って推定結果を出力する機能に加えて、本発明の実施の形態の前提となる推定計算に係る機能(例えば、図5〜図7に示すフローチャートを用いて説明した計算処理を実行する機能)を有しており、入力データがドロップアウトにより、どのような分布を持って各層に伝搬されて出力されるのかについて、分布の形状を計算し、最終的な出力層から出力される分散値を計算するよう構成されている。 Similar to the conventional neural network, the estimation calculation unit 20 has a function related to estimation calculation which is a premise of the embodiment of the present invention, in addition to a function of performing calculation processing of input data in each layer and outputting an estimation result (a function related to estimation calculation which is a premise of the embodiment of the present invention. For example, it has a function to execute the calculation process described using the flowcharts shown in FIGS. 5 to 7), and the input data is propagated to each layer with what kind of distribution by dropout and output. It is configured to calculate the shape of the distribution and the distribution value output from the final output layer.

一方、データ解析部30は、本発明の第1の実施の形態に特徴的な処理を実行する機能を有している。具体的には、データ解析部30は、ニューラルネットワークの活性化層に入力される分布が、活性化層における計算処理によって、活性化層から圧縮されたつぶれた分布として出力されるものであるかどうかを判断する機能を有している。そして、データ解析部30は、活性化層から圧縮されたつぶれた分布として出力されると判断できる分布については、計算を実行しない(計算をスキップする)よう制御することで計算回数を大幅に低減させて、計算時間の短縮及び計算処理の高速化を実現する。 On the other hand, the data analysis unit 30 has a function of executing a process characteristic of the first embodiment of the present invention. Specifically, does the data analysis unit 30 output the distribution input to the activation layer of the neural network as a compressed and crushed distribution from the activation layer by the calculation processing in the activation layer? It has a function to judge whether or not. Then, the data analysis unit 30 significantly reduces the number of calculations by controlling the distribution that can be determined to be output as a compressed and crushed distribution from the activation layer so as not to execute the calculation (skip the calculation). Therefore, the calculation time can be shortened and the calculation process can be speeded up.

以下、データ解析部30において実行される、活性化層での計算処理を考慮した近似処理について説明する。上述した説明では、本発明の実施の形態の前提となる推定計算の膨大な計算回数を示すことを目的としていたため、仮に活性化層では何も処理されないと仮定して説明を行った。しかしながら、実際には、活性化層において活性化関数を用いた計算処理が実行される。以下、図9(a)〜図9(e)、図10(a)〜図10(e)を参照しながら、活性化関数として通常用いられるReLU関数及びシグモイド関数について説明する。 Hereinafter, an approximation process that takes into account the calculation process in the activated layer, which is executed by the data analysis unit 30, will be described. Since the above description was intended to show the enormous number of calculations of the estimation calculation which is the premise of the embodiment of the present invention, it is assumed that nothing is processed in the activation layer. However, in reality, the calculation process using the activation function is executed in the activation layer. Hereinafter, the ReLU function and the sigmoid function, which are usually used as activation functions, will be described with reference to FIGS. 9 (a) to 9 (e) and FIGS. 10 (a) to 10 (e).

図9(a)は、活性化関数として用いられるReLU関数の一例を示す図である。ReLU関数は、数式では以下のように表される。 FIG. 9A is a diagram showing an example of the ReLU function used as the activation function. The ReLU function is expressed as follows in the mathematical formula.

Figure 0006855360
Figure 0006855360

max(x,y)はx>yの場合にはxとなり、それ以外はyとなる関数である。すなわち、関数f(x)=max(x,0)は、入力値xが負の場合には出力値はゼロとなり、入力値xがゼロ以上の場合には、そのまま入力値xが出力値xとなる。この関数f(x)に上述のようなガウス関数からなる分布(ガウス分布)が入力値として計算された場合、その出力値はどのような分布になるのか、入力されたガウス分布の平均値に応じてどのような場合があるのかについて図9(b)〜図9(e)に示す。 max (x, y) is a function that is x when x> y, and y otherwise. That is, the function f (x) = max (x, 0) has an output value of zero when the input value x is negative, and the input value x is the output value x as it is when the input value x is zero or more. It becomes. When a distribution consisting of the above Gaussian functions (Gaussian distribution) is calculated as an input value for this function f (x), what kind of distribution the output value will be, the average value of the input Gaussian distribution. 9 (b) to 9 (e) show the cases depending on the situation.

例えば、図9(b)に示すように入力値のガウス分布の平均値が負の場合には、出力値である関数f(x)は図9(c)に示すようになる。図9(b)では、ガウス分布を構成する値のほとんどが負の領域にあるため、ReLU関数による出力値f(x)は、ほとんどゼロとなる。すなわち、図9(c)に示すように、入力されたガウス分布は、かろうじて入力値のガウス分布の正の領域がそのままの形状を残しているものの、大部分を占める負の領域の値がゼロの近くに押しつぶされた状態となり、デルタ関数のような尖ったピークの状態となる。 For example, when the average value of the Gaussian distribution of the input values is negative as shown in FIG. 9 (b), the function f (x) which is the output value is as shown in FIG. 9 (c). In FIG. 9B, since most of the values constituting the Gaussian distribution are in the negative region, the output value f (x) by the ReLU function is almost zero. That is, as shown in FIG. 9 (c), in the input Gaussian distribution, the positive region of the Gaussian distribution of the input value barely retains its shape, but the value of the negative region occupying most of it is zero. It becomes a crushed state near the, and becomes a state of a sharp peak like a delta function.

一方、図9(d)に示すように入力値のガウス分布の平均値が正の場合には、関数f(x)は図9(e)に示すようになる。この場合には、ガウス分布の値のほとんどが正の領域にあるため、ReLU関数による出力値f(x)は、大部分が入力値と同じ値となって、分布がほとんど変わらない状態となる。 On the other hand, when the average value of the Gaussian distribution of the input values is positive as shown in FIG. 9 (d), the function f (x) is as shown in FIG. 9 (e). In this case, since most of the values of the Gaussian distribution are in the positive region, most of the output value f (x) by the ReLU function is the same as the input value, and the distribution is almost unchanged. ..

また、図10(a)は、活性化関数として用いられるシグモイド関数の一例を示す図である。シグモイド関数は、数式では以下のように表される。 Further, FIG. 10A is a diagram showing an example of a sigmoid function used as an activation function. The sigmoid function is expressed as follows in the mathematical formula.

Figure 0006855360
Figure 0006855360

同様に、この関数f(x)に上述のようなガウス関数からなる分布(ガウス分布)が入力値として計算された場合、その出力値はどのような分布になるのか、入力されたガウス分布の平均値に応じてどのような場合があるのかについて図10(b)〜図10(e)に示す。 Similarly, when the distribution (Gaussian distribution) consisting of the Gaussian functions as described above is calculated as the input value for this function f (x), what kind of distribution the output value will be, of the input Gaussian distribution. 10 (b) to 10 (e) show what kind of case may occur depending on the average value.

例えば、図10(b)に示すように入力値のガウス分布の平均値が負の場合には、出力値である関数f(x)は図10(c)に示すようになる。活性化関数がReLU関数の場合と同様に、活性化関数がシグモイド関数の場合も、入力値のガウス分布のほとんどが負の領域にある場合には、シグモイド関数による出力値f(x)はほとんどゼロとなり、図10(c)に示すように、出力値の分布はゼロの近くに押しつぶされた状態となる。 For example, when the average value of the Gaussian distribution of the input values is negative as shown in FIG. 10 (b), the function f (x) which is the output value is as shown in FIG. 10 (c). Similar to the case where the activation function is the ReLU function, when the activation function is a sigmoid function, the output value f (x) by the sigmoid function is almost the same when most of the Gaussian distribution of the input value is in the negative region. It becomes zero, and as shown in FIG. 10 (c), the distribution of output values is crushed near zero.

一方、図10(d)に示すように入力値のガウス分布の平均値が正の場合には、関数f(x)は図10(e)に示すようになる。この場合には、ガウス分布の値の大部分が正の領域にあるため、図10(d)に示すように、シグモイド関数による出力値f(x)は、分布がほとんど1の値の近くに押しつぶされた状態となる。 On the other hand, when the average value of the Gaussian distribution of the input values is positive as shown in FIG. 10 (d), the function f (x) becomes as shown in FIG. 10 (e). In this case, since most of the values of the Gaussian distribution are in the positive region, the output value f (x) by the sigmoid function is close to the value whose distribution is almost 1 as shown in FIG. 10 (d). It will be in a crushed state.

上述のように、活性化関数f(x)がReLU関数、シグモイド関数のどちらの場合も、入力された分布の大部分が負の領域に偏って存在する場合には、出力値f(x)の分布は、x=0の付近に集中した分布を有するデルタ関数のような形状となる。本発明の第1の実施の形態では、上述のような活性化関数の性質に着目して、データ解析部30が、活性化層に入力される分布が負の領域に偏っているかどうかを判断し、活性化層に入力される分布が負の領域に偏っていると判断した場合には、図11に示すように、その入力された分布に応答して活性化層から出力される分布はデルタ関数の状態(平均値=0、分散値=0)になるとみなす。なお、活性化層に入力される分布が負の領域に偏っていないと判断された場合、その分布については、通常と同様の計算処理を行ってもよく、あるいは、任意の手法を用いた近似計算を行ってもよい。 As described above, in both cases where the activation function f (x) is the ReLU function or the sigmoid function, if most of the input distribution is biased to the negative region, the output value f (x) The distribution of is shaped like a delta function having a concentrated distribution near x = 0. In the first embodiment of the present invention, paying attention to the property of the activation function as described above, the data analysis unit 30 determines whether or not the distribution input to the activation layer is biased to the negative region. However, when it is determined that the distribution input to the activation layer is biased to the negative region, as shown in FIG. 11, the distribution output from the activation layer in response to the input distribution is It is considered that the state of the delta function (mean value = 0, variance value = 0) is reached. If it is determined that the distribution input to the activation layer is not biased to the negative region, the same calculation processing as usual may be performed for the distribution, or approximation using an arbitrary method. Calculations may be performed.

活性化層に入力される分布が負の領域に偏っているかどうかは、任意の条件に基づいて判断することが可能であるが、一例として、分布の平均値μと、その分布の幅、つまり標準偏差σ(あるいは分散値の平方根)を基準として判断することが可能である。例えば、活性化層へ入力されるガウス関数、活性化層から出力されるガウス関数が、以下のように平均値と標準偏差とで定義されるとする。 Whether or not the distribution input to the activation layer is biased to the negative region can be determined based on arbitrary conditions, but as an example, the average value μ of the distribution and the width of the distribution, that is, It is possible to make a judgment based on the standard deviation σ (or the square root of the variance value). For example, suppose that the Gaussian function input to the activation layer and the Gaussian function output from the activation layer are defined by the mean value and the standard deviation as follows.

Figure 0006855360
Figure 0006855360

このとき、例えば図12に示すように、入力されるガウス分布の平均値μinが負の領域に存在し、さらに、ガウス分布の分布幅を表す標準偏差σinに負の符号をかけた値より小さい場合に、ガウス分布は負の側にあると判断してもよい。この条件は、以下の式のように表される。 At this time, for example, as shown in FIG. 12, the input mean value μ in of the Gaussian distribution exists in the negative region, and the standard deviation σ in representing the distribution width of the Gaussian distribution is multiplied by a negative sign. If it is smaller, it may be determined that the Gaussian distribution is on the negative side. This condition is expressed by the following equation.

Figure 0006855360
Figure 0006855360

また、場合によっては、以下の式のように、入力されるガウス分布の平均値μinが、その標準偏差σinにある負の定数−cをかけた値より小さい場合に、ガウス分布は負の側にあると判断してもよい。 In some cases, the Gaussian distribution is negative when the input mean value μ in of the Gaussian distribution is smaller than the value obtained by multiplying the standard deviation σ in by the negative constant −c, as shown in the following equation. You may judge that it is on the side of.

Figure 0006855360
Figure 0006855360

例えば、図9(a)〜図9(e)に示すReLU関数の例において、以下に示すような関数ActivationLayerを用いて、活性化層に入力されたガウス分布が負の領域に偏っているかどうかを判断することで、活性化層から出力されるガウス分布の平均と分散値を定めることが可能である。 For example, in the example of the ReLU function shown in FIGS. 9 (a) to 9 (e), whether or not the Gaussian distribution input to the activation layer is biased to the negative region by using the function ActivationLayer as shown below. It is possible to determine the average and dispersion values of the Gaussian distribution output from the activated layer by determining.

Figure 0006855360
Figure 0006855360

上記の関数ActivationLayerは、単純に、活性化層に入力されるガウス分布が負の領域に偏っていると判断された場合(μin<−σin)には、活性化層から出力される分布が平均値及び分散値がゼロであるデルタ関数になるとみなし、一方、そうではない場合には、出力される分布は、入力されたガウス分布の形状のままとするものである。 The above function ActivationLayer simply determines that the Gaussian distribution input to the activation layer is biased to the negative region (μ in <−σ in ), the distribution output from the activation layer. Is considered to be a delta function with zero mean and variance, while otherwise the output distribution remains in the shape of the input Gaussian distribution.

あるいは、活性化層に入力されるガウス分布が負の領域に偏っているとみなすことができる場合(例えば、μin<−σin)には、true(真)を返し、そうではない場合にはfalse(偽)を返すような関数ActivationLayerMakeZeroを設定してもよい。 Alternatively, if the Gaussian distribution input to the activation layer can be considered to be biased towards the negative region (eg μ in <−σ in ), it returns true, otherwise it returns true. May set a function ActionLayerMakeZero that returns false.

Figure 0006855360
Figure 0006855360

上記のような関数を用いた場合には、DF1層及びDF2層における計算処理が大幅に低減される。以下、一例として、図2(a)の部分的構造を持つニューラルネットワーク(DF1層、活性化層、DF2層により構成されたニューラルネットワーク)を参照しながら説明する。 When the above functions are used, the calculation processing in the DF1 layer and the DF2 layer is significantly reduced. Hereinafter, as an example, a neural network having a partial structure shown in FIG. 2A (a neural network composed of a DF1 layer, an activation layer, and a DF2 layer) will be described.

まず、DF1層においては、XoutDF1の分散値を計算した後、さらにXoutDF1の共分散値を計算する必要がある。なお、本発明の実施の形態の前提となる推定計算では、上述のように、およそnXout DF1×nXout DF1×nXin DF1回の計算を行う必要があった。 First, in DF1 layer, after calculating the variance of Xout DF1, it is necessary to further calculate the covariance values Xout DF1. In the estimation calculation that is the premise of the embodiment of the present invention, it is necessary to perform the calculation about n Xout DF1 × n Xout DF1 × n Xin DF 1 time as described above.

しかし、共分散値offdiag(ΣDF1i1,i2,i1≠i2は、あるインデックスi1とi2(ただし、1≦i1,i2≦nXout DF1,i1≠i2)の組み合わせに対するそれぞれの分布Xouti1 DF1、Xouti2 DF1から計算されるものであり、どちらか一方の分散値がゼロである場合(分布がデルタ関数として表される場合)、すなわち、var(XoutDF1i1及びvar(XoutDF1i2の少なくとも一方がゼロの場合には、共分散値Cov(XoutDF1i1,i2をゼロとみなすことができる。その様子を図8に示す。2つのインデックスの組み合わせにおいて、図13(a)に示すように両方の分散値がゼロではない場合には、共分散値はある広がりを持った分布をなす一方、図13(b)や図13(c)に示すように、少なくとも一方の分散値がゼロである場合には、共分散値はゼロになるとみなせる。 However, the covariance value offdiag (Σ DF1 ) i1, i2, i1 ≠ i2 is the distribution Xout i1 DF1 for each combination of indexes i1 and i2 (however, 1 ≦ i1, i2 ≦ n Xout DF1 , i1 ≠ i2). , Xout i2 DF1 and if one of the variances is zero (the distribution is represented as a delta function), i.e. var (Xout DF1 ) i1 and var (Xout DF1 ) i2 If at least one of the values is zero, the covariance values Cov (Xout DF1 ) i1 and i2 can be regarded as zero. The situation is shown in FIG. In the combination of the two indexes, when both variance values are not zero as shown in FIG. 13 (a), the covariance values have a distribution with a certain spread, while those in FIGS. 13 (b) and 13 As shown in (c), when at least one of the variance values is zero, the covariance value can be considered to be zero.

したがって、共分散値を求める場合には、2つのインデックスのすべての組み合わせを計算する必要はなく、負の領域に偏っていない分布(活性化層から出力される分布の分散値をゼロとみなすことができない分布)同士の組み合わせに関してのみ計算すればよいことになる。この点に着目し、以下のプログラムの処理(DF1層における処理)で表されるように、ZeroFlag(i)というブーリアン型のデータを記録するテーブルを用意して、負の領域に偏っている分布(活性化層から出力される分布の分散値をゼロとみなすことができる分布)のインデックスにはtrue(真)を返し、一方、負の領域に偏っていない分布(活性化層から出力される分布の分散値をゼロとみなすことができない分布)のインデックスにはfalse(偽)を返すようにしておく。 Therefore, when calculating the covariance value, it is not necessary to calculate all combinations of the two indexes, and the distribution value that is not biased to the negative region (the variance value of the distribution output from the activation layer is regarded as zero). It is only necessary to calculate for the combination of each other. Focusing on this point, as represented by the processing of the following program (processing in the DF1 layer), a table called ZeroFlag (i) for recording Boolean data is prepared, and the distribution is biased to the negative region. (True) is returned to the index of (distribution value of the distribution output from the activation layer can be regarded as zero), while distribution that is not biased to the negative region (output from the activation layer). False (false) is returned to the index of the distribution (distribution whose variance value of the distribution cannot be regarded as zero).

Figure 0006855360
Figure 0006855360

また、以下のプログラムの処理(DF1層における処理)で表されるように、共分散値の計算では、ZeroFlag(i)のテーブルを参照し、true(真)が記録されたインデックスについては計算をスキップする一方、false(偽)が記録されたインデックスについてのみ計算を行う。これにより、DF1層における共分散値の計算処理では、ZeroFlagにfalse(偽)が設定されているものだけが計算対象となるため、計算回数が大幅に低減される。 In addition, as represented by the processing of the following program (processing in the DF1 layer), in the calculation of the covariance value, the table of ZeroFlag (i) is referred to, and the calculation is performed for the index in which true is recorded. While skipping, the calculation is performed only for the index in which false (false) is recorded. As a result, in the calculation process of the covariance value in the DF1 layer, only the one in which false (false) is set in ZeroFlag is the calculation target, so that the number of calculations is significantly reduced.

Figure 0006855360
Figure 0006855360

上記のようにプログラムの処理で表されたDF1層における計算処理に関するフローチャートを図14及び図15に示す。なお、ここでは、上述した図5及び図6のフローチャートと同一の処理については説明を省略する。 14 and 15 show flowcharts related to the calculation process in the DF1 layer represented by the program process as described above. Here, the same processing as the flowcharts of FIGS. 5 and 6 described above will not be described.

図14に示すフローチャートでは、最初に、すべての共分散値をゼロにする初期化する処理を行う(ステップS401)。また、あるインデックスiの平均値μDF1 i及び分散値diag(ΣDF1iが計算された時点で、さらに、分布が負の領域に偏っているかどうかを判断し、分布が負の領域に偏っている場合にはZeroFlag(i)にtrue(真)を記録し、そうではない場合には、ZeroFlag(i)にfalse(偽)を記録する(ステップS402)。なお、ここでは、一例として、関数ActivationLayerMakeZeroを使用し、例えば「μin<−σin」の場合にZeroFlag(i)にtrue(真)を記録し、そうではない場合にZeroFlag(i)にfalse(偽)を記録しているが、この条件に限定されるものではない。 In the flowchart shown in FIG. 14, first, the process of initializing all the covariance values to zero is performed (step S401). Further, when the mean value μ DF1 i and the variance value diag (Σ DF1 ) i of a certain index i are calculated, it is further determined whether the distribution is biased to the negative region, and the distribution is biased to the negative region. If yes, true is recorded in ZeroFlag (i), otherwise false is recorded in ZeroFlag (i) (step S402). Here, as an example, the function ActivationLayerMakeZero is used, for example, when “μin <−σin”, true is recorded in ZeroFlag (i), and when not, false (false) is recorded in ZeroFlag (i). ) Is recorded, but it is not limited to this condition.

また、図15に示すフローチャートでは、ZeroFlag(i1)がfalse(偽)かどうかの判断(ステップS501)、及び、ZeroFlag(i2)がfalse(偽)かどうかの判断(ステップS502)を行って、ZeroFlag(i1)及びZeroFlag(i2)の両方がfalse(偽)の場合のみ、非ゼロとなる共分散値の計算処理を行う。このとき、ZeroFlag(i1)がtrue(真)の場合、又は、ZeroFlag(i2)がtrue(真)の場合には共分散値の計算処理はスキップされるので、計算回数を大幅に低減させることができる。なお、計算処理がスキップされた共分散値は、ステップS401の初期化処理によって設定されたゼロとなる。 Further, in the flowchart shown in FIG. 15, it is determined whether or not ZeroFlag (i1) is false (false) (step S501) and whether or not ZeroFlag (i2) is false (false) (step S502). Only when both ZeroFlag (i1) and ZeroFlag (i2) are false (false), the nonzero covariance value is calculated. At this time, when ZeroFlag (i1) is true, or when ZeroFlag (i2) is true, the calculation process of the covariance value is skipped, so that the number of calculations can be significantly reduced. Can be done. The covariance value for which the calculation process is skipped becomes zero set by the initialization process in step S401.

さらに、DF2層においては、以下のプログラムの処理(DF2層における処理)で表される計算処理が行われる。なお、DF2層は最終層であり、上述したように、最終層から出力される出力値の不確かさを示すのは分散値のみであるので、ここでは、共分散値については興味の対象外として計算していない。 Further, in the DF2 layer, a calculation process represented by the following program processing (processing in the DF2 layer) is performed. The DF2 layer is the final layer, and as described above, only the variance value indicates the uncertainty of the output value output from the final layer. Therefore, the covariance value is not of interest here. Not calculated.

Figure 0006855360
Figure 0006855360

上記のようにプログラムの処理で表されたDF2層における計算処理に関するフローチャートを図16に示す。なお、ここでは、上述した図7のフローチャートと同一の処理については説明を省略する。 FIG. 16 shows a flowchart regarding the calculation process in the DF2 layer represented by the program process as described above. Here, the description of the same processing as that of the flowchart of FIG. 7 described above will be omitted.

図16に示すフローチャートでは、最初に、すべての分散値をゼロにする初期化処理を行う(ステップS601)。また、分散値を計算する際には、ZeroFlag(jj)がfalse(偽)であるかどうかを判断し(ステップS602)、ZeroFlag(jj)がfalse(偽)であるVarWXinDF2 i,jjのみについて計算する一方、ZeroFlag(jj)がtrue(真)である場合には計算をスキップする。さらに、ZeroFlag(jj1)がfalse(偽)かどうかの判断(ステップS603)、及び、ZeroFlag(jj2)がfalse(偽)かどうかの判断(ステップS604)を行って、ZeroFlag(jj1)及びZeroFlag(jj2)の両方がfalse(偽)となる組み合わせのCovWXinDF2 i,jj1,jj2,jj1<jj2のみについて計算する一方、ZeroFlag(jj1)がtrue(真)の場合、又は、ZeroFlag(jj2)がtrue(真)の場合には計算をスキップする。これにより、DF2層における分散値の計算処理では、ZeroFlagにfalse(偽)が設定されているものだけが計算対象となるため、計算回数が大幅に低減される。 In the flowchart shown in FIG. 16, first, the initialization process for making all the variance values zero is performed (step S601). Further, when calculating the variance value, it is determined whether or not ZeroFlag (jj) is false (step S602), and only for VarWXin DF2 i, jj in which ZeroFlag (jj) is false (false). On the other hand, if ZeroFlag (jj) is true, the calculation is skipped. Further, it is determined whether or not ZeroFlag (jj1) is false (step S603) and whether or not ZeroFlag (jj2) is false (false) (step S604). Only the combination of CovWXin DF2 i, jj1, jj2, jj1 <jj2 in which both jj2) are false (false) is calculated, while ZeroFlag (jj1) is true, or ZeroFlag (jj2) is true. If (true), the calculation is skipped. As a result, in the calculation process of the dispersion value in the DF2 layer, only the one in which false (false) is set in ZeroFlag is the calculation target, so that the number of calculations is significantly reduced.

以上説明した本発明の第1の実施の形態における処理は、ループによる繰り返し計算の処理を“行列”計算としてとらえた場合、活性化関数における計算処理で大半の分散値がゼロになることを考慮して行列をスパース化することで、計算量の削減と計算時間の短縮による計算の高速化を実現している、と言うことができる。 In the process according to the first embodiment of the present invention described above, it is considered that most of the dispersion values become zero in the calculation process in the activation function when the process of iterative calculation by the loop is regarded as a "matrix" calculation. It can be said that by making the matrix sparse, the calculation amount is reduced and the calculation time is shortened to speed up the calculation.

なお、上述の本発明の第1の実施の形態における処理は、図2(a)に示すような活性化層が2つのDF層で挟まれたニューラルネットワークの構造に基づいて説明を行っているが、こうした構造に限定されるものではない。本発明の第1の実施の形態は、活性化層に入力された分布が負の領域に偏っている場合には、活性化層から出力される分布(例えば、多変量混合ガウス分布)の平均値及び分散値がほぼゼロとなるデルタ関数のような状態に近似できることに着目し、このような分布を持つ要素については計算をスキップすることで、計算量の削減と計算時間の短縮を図ることを特徴としている。したがって、例えば、図2(b)に示すようなDF層及び活性化層を含む構造や、図2(c)に示すような活性化層及びDF層を含む構造に対しても、本発明の第1の実施の形態における処理を適用することが可能である。 The above-mentioned process according to the first embodiment of the present invention is described based on the structure of a neural network in which the activation layer is sandwiched between two DF layers as shown in FIG. 2 (a). However, it is not limited to such a structure. In the first embodiment of the present invention, when the distribution input to the activation layer is biased to the negative region, the distribution output from the activation layer (for example, a multivariate mixed Gaussian distribution) is averaged. Focusing on the fact that it can be approximated to a state like a delta function in which the values and variance values are almost zero, the calculation is skipped for elements with such a distribution to reduce the amount of calculation and the calculation time. It is characterized by. Therefore, for example, the structure including the DF layer and the activating layer as shown in FIG. 2 (b) and the structure including the activating layer and the DF layer as shown in FIG. 2 (c) are also of the present invention. It is possible to apply the process of the first embodiment.

また、上述した本発明の第1の実施の形態における提案手法を用いて実施された実験について説明する。実際に行われた実験では、まず、ImageNetが提供する画像を使い、ニューラルネットワークのAlexNetで1000クラス分類器として学習させた。そして、このニューラルネットワークを使って、フォワード計算で、ある入力画像に対して1000クラスそれぞれに相当する1000個のニューロンが出力した推定値の分散値を計算した。その実験結果を図17に示す。なお、グラフは縦軸が、不確かさに直結した分散値であり、横軸は、1000クラスのうちの最初の10クラスに相当する。 In addition, an experiment carried out using the proposed method in the first embodiment of the present invention described above will be described. In the actual experiment, first, the image provided by ImageNet was used and trained as a 1000-class classifier by AlexNet of the neural network. Then, using this neural network, the variance value of the estimated value output by 1000 neurons corresponding to each of 1000 classes was calculated for a certain input image by forward calculation. The experimental results are shown in FIG. In the graph, the vertical axis is the variance value directly linked to the uncertainty, and the horizontal axis corresponds to the first 10 classes out of 1000 classes.

図17には、クラスごとに3種類の棒グラフが並んでおり、左から、本発明の第1の実施の形態における提案手法を用いて実施された実験結果(参照符号X)、本発明の実施の形態の前提となる推定計算(特願2016−252813号における提案手法)を用いた実験結果(参照符号Y)、非特許文献1で提案された技術に基づく実験結果(200回のモンテカルロ的な繰り返し計算)(参照符号Z)を表している。図17に示されているとおり、それぞれの手法において同じような分散値が計算できていることから、本発明の第1の実施の形態における提案手法が近似計算を用いているにもかかわらず、推定結果の精度が維持できていることが分かる。また、本発明の実施の形態の前提となる推定計算では、推定結果を得るまでに20分かかっていたが、一方、本発明の第1の実施の形態における提案手法による推定計算によれば、15秒で推定結果を得ることができ、計算速度の大幅な向上が実現されている。 In FIG. 17, three types of bar graphs are arranged for each class, and from the left, the experimental results (reference numeral X) carried out using the proposed method according to the first embodiment of the present invention, and the implementation of the present invention. Experimental results (reference code Y) using the estimation calculation (proposal method in Japanese Patent Application No. 2016-252813), which is the premise of the above form, and experimental results based on the technique proposed in Non-Patent Document 1 (200 Monte Carlo-like). Iterative calculation) (reference code Z) is represented. As shown in FIG. 17, since similar variance values can be calculated in each method, even though the proposed method in the first embodiment of the present invention uses approximate calculation, It can be seen that the accuracy of the estimation result can be maintained. Further, in the estimation calculation which is the premise of the embodiment of the present invention, it took 20 minutes to obtain the estimation result, but on the other hand, according to the estimation calculation by the proposed method in the first embodiment of the present invention. The estimation result can be obtained in 15 seconds, and the calculation speed is greatly improved.

<第2の実施の形態>
次に、本発明の第2の実施の形態について説明する。本発明の第2の実施の形態における推定計算は、最終層であるDF2層から出力される推定結果の不確かさを表す分散値が、事前に設定されたある閾値より大きくなると分かった時点で計算処理を中断することによって、計算処理の高速化を図るものである。
<Second embodiment>
Next, a second embodiment of the present invention will be described. The estimation calculation in the second embodiment of the present invention is calculated when it is found that the variance value representing the uncertainty of the estimation result output from the DF2 layer, which is the final layer, becomes larger than a preset threshold value. By interrupting the processing, the calculation processing is speeded up.

本発明の第2の実施の形態における情報推定装置10の構成は、図8に示す情報推定装置10と同様であるが、データ解析部30は、さらに、ニューラルネットワークから最終的に出力される分散値(図2(a)〜図2(c)におけるDF2層から出力される推定値)がある閾値より大きくなるかどうかを判断し、その判断結果に応じて計算を終了する機能を有している。 The configuration of the information estimation device 10 according to the second embodiment of the present invention is the same as that of the information estimation device 10 shown in FIG. 8, but the data analysis unit 30 further outputs a dispersion finally output from the neural network. It has a function to judge whether the value (estimated value output from the DF2 layer in FIGS. 2A to 2C) is larger than a certain threshold value and end the calculation according to the judgment result. There is.

なお、ニューラルネットワークから最終的に出力される分散値は推定結果の不確かさを表している。例えば、ユーザがある程度信頼できる推定結果を求めているにもかかわらず、分散値が信頼性の判断基準となる閾値よりも大きくなってしまうことが分かった時点で計算処理を中断及び終了することにより、信頼性の低い推定結果を生じることになる不要な計算処理を中止することができる。 The variance value finally output from the neural network represents the uncertainty of the estimation result. For example, by suspending and terminating the calculation process when it is found that the variance value becomes larger than the threshold value for determining the reliability even though the user wants a reliable estimation result to some extent. , Unnecessary calculation processing that will result in unreliable estimation results can be stopped.

本発明の第2の実施の形態は、上述した本発明の第1の実施の形態を改良することで実現できる。改めて、DF2層における分散値に着目すると、DF2層における分散値は以下のように表される。 The second embodiment of the present invention can be realized by improving the first embodiment of the present invention described above. Focusing again on the dispersion value in the DF2 layer, the dispersion value in the DF2 layer is expressed as follows.

Figure 0006855360
Figure 0006855360

上記の(式1)の右辺第1項は、ドロップアウトの確率Pdropは1未満であり、分散値Varは正であることから常に正である。また、上記の(式1)の右辺第2項は、正の係数とVarWXinDF2 i,jjの総和Σとをかけたものである。VarWXinDF2 i,jjは、DF1層の出力XoutDF1のインデックスjjの分散値に(Wi,jj DF22をかけたものであり、分散値はゼロ以上であることから、VarWXinDF2 i,jjは、必ずゼロ以上となる。 The first term on the right-hand side of the above (Equation 1) is always positive because the dropout probability P drop is less than 1 and the variance value Var is positive. The second term on the right side of (Equation 1) above is the product of the positive coefficient and the sum Σ of VarWXin DF2 i, jj. VarWXin DF2 i, jj is the variance value of the index jj of the output Xout DF1 of the DF1 layer multiplied by (Wi, jj DF2 ) 2 , and since the variance value is zero or more, VarWXin DF2 i, jj Is always greater than or equal to zero.

Figure 0006855360
Figure 0006855360

したがって、また、上記の(式1)の右辺第2項も常に正である。 Therefore, the second term on the right side of the above (Equation 1) is also always positive.

一方、上記の(式1)の右辺第3項は、CovWXinDF2 i,jj1,jj2,jj1<jj2の総和Σを含んでいる。CovWXinDF2 i,jj1,jj2,jj1<jj2は、DF1層の出力XoutDF1のインデックスjj1とインデックスjj2の共分散値に、Wi,jj1 DF2・Wi,jj2 DF2をかけたものであり、正、ゼロ、負のいずれにもなり得る。 On the other hand, the third term on the right side of the above (Equation 1) includes the sum Σ of CovWXin DF2 i, jj1, jj2, jj1 <jj2. CovWXin DF2 i, jj1, jj2, jj1 <jj2 is the covariance value of the index JJ1 and index JJ2 output Xout DF1 DF1-layer, which multiplied by W i, jj1 DF2 · W i , jj2 DF2, positive , Zero, or negative.

Figure 0006855360
Figure 0006855360

ここで、ユーザが知りたいのは、ニューラルネットワークから最終的に出力される分散値そのものではなく、ニューラルネットワークから最終的に出力される推定結果の信頼性である場合には、推定結果の信頼性に直結したDF2層の分散値diag(Σout DF2iがある閾値より大きいか小さいかのみをユーザに提示すればよい。 Here, what the user wants to know is the reliability of the estimation result finally output from the neural network, not the variance value itself finally output from the neural network. It is only necessary to present to the user whether the variance value diag (Σ out DF2 ) i of the DF2 layer directly connected to is larger or smaller than a certain threshold value.

例えば、上記の(式1)の右辺の第1項〜第3項の加算において、まず先に、正か負か不確定な右辺第3項の計算する処理を行い(ステップA)、その後、必ずゼロ以上の値となる残りの右辺第1項及び第2項を足す処理を行う(ステップB)ことで、DF2層の分散値がある閾値より大きくなることを効率的に判断することができる。これにより、DF2層の分散値がある閾値より大きくなると判断できた時点で、推測結果の信頼性が低いとみなして、推測結果に係る計算処理を中断及び終了することができる。 For example, in the addition of the first to third terms on the right side of the above (Equation 1), first, the process of calculating the third term on the right side, which is uncertain whether positive or negative, is performed (step A), and then. By performing the process of adding the remaining right-hand side first and second terms that are always zero or more (step B), it can be efficiently determined that the dispersion value of the DF2 layer becomes larger than a certain threshold value. .. As a result, when it is determined that the dispersion value of the DF2 layer becomes larger than a certain threshold value, the reliability of the estimation result can be regarded as low, and the calculation process related to the estimation result can be interrupted and terminated.

具体的には、まずDF1層においては、平均値及び分散値については上述した第1の実施の形態と同様の計算を行う一方、共分散値については、プログラムの処理で表した場合には以下のような計算を行う。 Specifically, first, in the DF1 layer, the mean value and the variance value are calculated in the same manner as in the first embodiment described above, while the covariance value is as follows when expressed by the processing of the program. Do the calculation like.

Figure 0006855360
Figure 0006855360

上記の共分散値の計算では、第1の実施の形態と同様にZeroFlag(i)のテーブルがfalse(偽)であるものについてのみ計算を行っているが、さらに、CovWXinDF2 i,jj1,jj2,jj1<jj2の総和Σ(TotalCovWXinDF2 s)に係る計算(ステップA)を同時に行うことで、上記の(式1)の右辺第3項の値を算出する。 In the above calculation of the covariance value, as in the first embodiment, the calculation is performed only for those whose ZeroFlag (i) table is false, but further, CovWXin DF2 i, jj1, jj2 By simultaneously performing the calculation (step A) relating to the sum Σ (TotalCovWXin DF2 s ) of, jj1 <jj2 , the value of the third term on the right side of the above (Equation 1) is calculated.

また、DF2層においては、平均値については上述した第1の実施の形態と同様の計算を行う一方、分散値については、プログラムの処理で表した場合には以下のような計算を行う。 Further, in the DF2 layer, the average value is calculated in the same manner as in the first embodiment described above, while the variance value is calculated as follows when expressed by the processing of the program.

Figure 0006855360
Figure 0006855360

DF2層では、分散値を求める際に、まず初期化されている分散値(初期値はゼロ)に、DF1層ですでに計算されている上記式(1)の右辺第3項(ステップAの計算結果)を足し、その後、この値に対してゼロ以上の値である残りの右辺第1項及び第2項を足す処理を行う。上記のプログラムの処理で表された計算では、まず右辺第1項を足し、さらに右辺第2項を計算して足していきながら、この計算結果があらかじめ設定された所定の閾値(Threshold)以上となった場合には、最終的に得られる分散値が所定の閾値より大きくなる(すなわち、指定されたレベルよりも信頼性が低い不確かな推定結果になる)と判断し、計算を中断及び終了する。このとき、例えば、現在の計算による推定結果信頼性が低い旨を提示するなど、計算が中断された理由をユーザに対して提示してもよい。 In the DF2 layer, when the dispersion value is obtained, the first initialized dispersion value (initial value is zero) is added to the third term (step A) on the right side of the above equation (1) already calculated in the DF1 layer. The calculation result) is added, and then the remaining right-hand side first and second terms, which are zero or more values, are added to this value. In the calculation represented by the processing of the above program, the first term on the right side is first added, and then the second term on the right side is calculated and added, and the calculation result is equal to or higher than a preset predetermined threshold (Threshold). If this happens, it is determined that the final variance value will be greater than the predetermined threshold (that is, an uncertain estimation result that is less reliable than the specified level), and the calculation will be interrupted and terminated. .. At this time, the reason why the calculation is interrupted may be presented to the user, for example, by presenting that the estimation result reliability of the current calculation is low.

本発明は、ニューラルネットワークを使った推定装置において、その推定結果の不確かさである分散値を高速に計算することが可能であり、ニューラルネットワークにかかる技術全般に適用可能である。さらに、本発明は、ニューラルネットワークの適用範囲を大きく広げることが可能であり、例えば、自動車や歩行者などの移動体に係る推定など、高速で信頼のできる処理が必要とされる環境で大いにその機能が発揮することが可能である。 INDUSTRIAL APPLICABILITY The present invention can calculate the variance value, which is the uncertainty of the estimation result, at high speed in the estimation device using the neural network, and can be applied to all the techniques related to the neural network. Furthermore, the present invention can greatly expand the scope of application of neural networks, and is greatly applicable in environments where high-speed and reliable processing is required, such as estimation of moving objects such as automobiles and pedestrians. It is possible for the function to be exhibited.

10 情報推定装置
20 推定計算部
30 データ解析部
10 Information estimation device 20 Estimation calculation unit 30 Data analysis unit

Claims (12)

入力データの一部を欠損させるドロップアウト層と、重みの計算を行うFC層又はコンボリューション層との組み合わせからなる一体化層を持つとともに、前記一体化層の前及び後の少なくとも一方に非線形関数を用いた計算を行う活性化層を持つニューラルネットワークを用いて推定処理を行う情報推定装置であって、
前記活性化層に入力される多変量分布に係るデータを参照して、前記活性化層における計算を経て前記活性化層から出力される多変量分布の分散値をゼロに設定することができるか否かを判断するデータ解析部と、
前記推定処理において前記一体化層で計算を行う際に、前記データ解析部で前記分散値をゼロに設定することができると判断された多変量分布に関連した計算をスキップする推定処理部とを、
有する情報推定装置。
It has an integrated layer consisting of a combination of a dropout layer that deletes a part of the input data and an FC layer or a convolution layer that calculates weights, and a nonlinear function at least one before and after the integrated layer. It is an information estimation device that performs estimation processing using a neural network with an activation layer that performs calculations using.
Is it possible to set the variance value of the multivariate distribution output from the activated layer to zero through the calculation in the activated layer by referring to the data related to the multivariate distribution input to the activated layer? The data analysis unit that determines whether or not
An estimation processing unit that skips calculations related to a multivariate distribution determined by the data analysis unit to be able to set the variance value to zero when performing calculations in the integrated layer in the estimation processing. ,
Information estimation device to have.
前記データ解析部は、前記活性化層に入力される多変量分布が負の領域に偏っている場合に、前記活性化層から出力される多変量分布の分散値をゼロに設定することができると判断するよう構成されている請求項1に記載の情報推定装置。 The data analysis unit can set the variance value of the multivariate distribution output from the activation layer to zero when the multivariate distribution input to the activation layer is biased to a negative region. The information estimation device according to claim 1, which is configured to determine that. 前記推定処理部は、前記活性化層の前に配置された前記一体化層において、2つの分散値を用いて共分散値を計算する場合に、前記2つの分散値のうちの少なくとも一方が、前記データ解析部で前記分散値をゼロに設定することができると判断された多変量分布に係るデータに関連している場合には、前記2つの分散値を用いて計算される前記共分散値の計算をスキップするよう構成されている請求項1又は2に記載の情報推定装置。 When the estimation processing unit calculates the covariance value using the two dispersion values in the integrated layer arranged in front of the activation layer, at least one of the two dispersion values is determined. The covariance value calculated using the two variance values when it is related to the data related to the multivariance distribution determined by the data analysis unit to be able to set the variance value to zero. The information estimation device according to claim 1 or 2, which is configured to skip the calculation of. 前記推定処理部は、前記活性化層に入力される多変量分布の分散値及び共分散値がゼロに設定されたか否かを記録するよう構成されている請求項1から3のいずれか1つに記載の情報推定装置。 The estimation processing unit is any one of claims 1 to 3 configured to record whether or not the variance value and covariance value of the multivariate distribution input to the activation layer are set to zero. The information estimation device described in. 前記推定処理部は、前記活性化層の後に配置された前記一体化層において、前記一体化層に入力される多変量分布の分散値及び共分散値から、前記一体化層から出力される多変量分布の分散値を計算する場合に、前記活性化層に入力される多変量分布の分散値及び共分散値がゼロに設定されているデータに係る計算をスキップするよう構成されている請求項1から4のいずれか1つに記載の情報推定装置。 In the integrated layer arranged after the activated layer, the estimation processing unit is output from the integrated layer from the dispersion value and covariance value of the multivariate distribution input to the integrated layer. A claim configured to skip the calculation for data in which the variance and covariance values of the multivariate distribution input to the activation layer are set to zero when calculating the variance value of the variate distribution. The information estimation device according to any one of 1 to 4. 前記推定処理部は、前記活性化層の後に配置された前記一体化層から出力される多変量分布の分散値を計算する場合に、前記一体化層から出力される多変量分布の分散値が所定の閾値より大きくなると判断した時点で計算処理を終了するよう構成されている請求項1から5のいずれか1つに記載の情報推定装置。 When the estimation processing unit calculates the dispersion value of the multivariate distribution output from the integrated layer arranged after the activation layer, the dispersion value of the multivariate distribution output from the integrated layer is calculated. The information estimation device according to any one of claims 1 to 5, which is configured to end the calculation process when it is determined that the value becomes larger than a predetermined threshold value. 入力データの一部を欠損させるドロップアウト層と、重みの計算を行うFC層又はコンボリューション層との組み合わせからなる一体化層を持つとともに、前記一体化層の前及び後の少なくとも一方に非線形関数を用いた計算を行う活性化層を持つニューラルネットワークを用いて推定処理を行う情報推定方法であって、
前記活性化層に入力される多変量分布に係るデータを参照して、前記活性化層における計算を経て前記活性化層から出力される多変量分布の分散値をゼロに設定することができるか否かを判断するデータ解析ステップと、
前記推定処理において前記一体化層で計算を行う際に、前記データ解析ステップで前記分散値をゼロに設定することができると判断された多変量分布に関連した計算をスキップする推定処理ステップとを、
有する情報推定方法。
It has an integrated layer consisting of a combination of a dropout layer that deletes a part of the input data and an FC layer or a convolution layer that calculates weights, and a nonlinear function at least one before and after the integrated layer. This is an information estimation method that performs estimation processing using a neural network with an activation layer that performs calculations using.
Is it possible to set the variance value of the multivariate distribution output from the activated layer to zero through the calculation in the activated layer by referring to the data related to the multivariate distribution input to the activated layer? Data analysis steps to determine if
In the estimation process, when the calculation is performed by the integrated layer, the estimation processing step of skipping the calculation related to the multivariate distribution determined that the variance value can be set to zero in the data analysis step is included. ,
Information estimation method to have.
前記データ解析ステップは、前記活性化層に入力される多変量分布が負の領域に偏っている場合に、前記活性化層から出力される多変量分布の分散値をゼロに設定することができると判断するステップを更に有する請求項7に記載の情報推定方法。 In the data analysis step, when the multivariate distribution input to the activation layer is biased to a negative region, the variance value of the multivariate distribution output from the activation layer can be set to zero. The information estimation method according to claim 7, further comprising a step of determining that. 前記推定処理ステップは、前記活性化層の前に配置された前記一体化層において、2つの分散値を用いて共分散値を計算する場合に、前記2つの分散値のうちの少なくとも一方が、前記データ解析部で前記分散値をゼロに設定することができると判断された多変量分布に係るデータに関連している場合には、前記2つの分散値を用いて計算される前記共分散値の計算をスキップするステップを更に有する請求項7又は8に記載の情報推定方法。 In the estimation processing step, when the covariance value is calculated using the two dispersion values in the integrated layer arranged in front of the activation layer, at least one of the two dispersion values is determined. The covariance value calculated using the two variance values when it is related to the data related to the multivariance distribution determined by the data analysis unit to be able to set the variance value to zero. The information estimation method according to claim 7 or 8, further comprising a step of skipping the calculation of. 前記推定処理ステップは、前記活性化層に入力される多変量分布の分散値及び共分散値がゼロに設定されたか否かを記録するステップを更に有する請求項7から9のいずれか1つに記載の情報推定方法。 The estimation processing step further comprises a step of recording whether or not the variance value and covariance value of the multivariate distribution input to the activation layer are set to zero, according to any one of claims 7 to 9. The described information estimation method. 前記推定処理ステップは、前記活性化層の後に配置された前記一体化層において、前記一体化層に入力される多変量分布の分散値及び共分散値から、前記一体化層から出力される多変量分布の分散値を計算する場合に、前記活性化層に入力される多変量分布の分散値及び共分散値がゼロに設定されているデータに係る計算をスキップするステップを更に有する請求項7から10のいずれか1つに記載の情報推定方法。 In the integration layer arranged after the activation layer, the estimation processing step is output from the integration layer from the dispersion value and covariance value of the multivariate distribution input to the integration layer. Claim 7 further includes a step of skipping the calculation relating to the data in which the variance value and the covariance value of the multivariate distribution input to the activation layer are set to zero when calculating the variance value of the variable distribution. The information estimation method according to any one of 10 to 10. 前記推定処理ステップは、前記活性化層の後に配置された前記一体化層から出力される多変量分布の分散値を計算する場合に、前記一体化層から出力される多変量分布の分散値が所定の閾値より大きくなると判断した時点で計算処理を終了するステップを更に有する請求項7から11のいずれか1つに記載の情報推定方法。 In the estimation processing step, when calculating the dispersion value of the multivariate distribution output from the integrated layer arranged after the activation layer, the dispersion value of the multivariate distribution output from the integrated layer is calculated. The information estimation method according to any one of claims 7 to 11, further comprising a step of ending the calculation process when it is determined that the value becomes larger than a predetermined threshold value.
JP2017196740A 2017-10-10 2017-10-10 Information estimation device and information estimation method Active JP6855360B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017196740A JP6855360B2 (en) 2017-10-10 2017-10-10 Information estimation device and information estimation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017196740A JP6855360B2 (en) 2017-10-10 2017-10-10 Information estimation device and information estimation method

Publications (2)

Publication Number Publication Date
JP2019070950A JP2019070950A (en) 2019-05-09
JP6855360B2 true JP6855360B2 (en) 2021-04-07

Family

ID=66441891

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017196740A Active JP6855360B2 (en) 2017-10-10 2017-10-10 Information estimation device and information estimation method

Country Status (1)

Country Link
JP (1) JP6855360B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7171520B2 (en) * 2019-07-09 2022-11-15 株式会社日立製作所 machine learning system
WO2022144979A1 (en) * 2020-12-28 2022-07-07 日本電気株式会社 Training device, training method, and recording medium
JP7552401B2 (en) * 2021-02-05 2024-09-18 富士通株式会社 Machine learning program, device, and method
EP4435673A4 (en) * 2023-02-07 2024-12-11 Dic Corporation METHOD FOR SUPPORTING THE EVALUATION OF A LEARNING STEP IN A PREDICTION MODEL, INFORMATION PROCESSING APPARATUS AND PROGRAM
WO2024166405A1 (en) * 2023-02-07 2024-08-15 Dic株式会社 Method for assisting in evaluation of learning step in prediction model, information processing device, and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002236906A (en) * 2001-02-09 2002-08-23 Fuji Electric Co Ltd Optimization Learning Method for Product Connected Neural Network
JP6704341B2 (en) * 2016-12-27 2020-06-03 株式会社デンソーアイティーラボラトリ Information estimating apparatus and information estimating method
US20180341876A1 (en) * 2017-05-25 2018-11-29 Hitachi, Ltd. Deep learning network architecture optimization for uncertainty estimation in regression

Also Published As

Publication number Publication date
JP2019070950A (en) 2019-05-09

Similar Documents

Publication Publication Date Title
JP6855360B2 (en) Information estimation device and information estimation method
JP6704341B2 (en) Information estimating apparatus and information estimating method
JP7046768B2 (en) Information estimation device and information estimation method
CN110852973B (en) Nonlinear restoration method and system for pulse noise blurred image
US11468294B2 (en) Projecting images to a generative model based on gradient-free latent vector determination
US20200202176A1 (en) Method for correlation filter based visual tracking
US11120298B2 (en) Tensor image mapping device, method, and computer program product
JP2013175003A (en) Psf estimation method, restoration method of deteriorated image by using method, program recording them, and computer device executing program
WO2021038788A1 (en) Robustness evaluation device, robustness evaluation method and recording medium
Deledalle et al. Blind atmospheric turbulence deconvolution
CN108256633B (en) Method for testing stability of deep neural network
Gaul et al. Modified Bayesian kriging for noisy response problems for reliability analysis
JP2022044112A (en) Estimation device, estimation method, and program
JP5617841B2 (en) Image processing apparatus, image processing method, and image processing program
Taroudaki et al. Near-optimal spectral filtering and error estimation for solving ill-posed problems
JP2021039426A (en) Estimator, estimation method and program
Bergstrom et al. Image quality and object detection performance of convolutional neural networks
Cochran et al. Edge detection from truncated Fourier data using spectral mollifiers
JP4210292B2 (en) Image change prediction method and image change prediction apparatus
Li et al. Perception-guided defocus blur detection based on SVD feature
Porta et al. On some steplength approaches for proximal algorithms.
JP6854486B2 (en) Judgment device, judgment method, and program
Geever et al. Information Capacity as a Predictor of Perception Performance
Loza et al. Statistical image fusion with generalised Gaussian and alpha-stable distributions
US12299847B2 (en) Systems for single image reflection removal

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210317

R150 Certificate of patent or registration of utility model

Ref document number: 6855360

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350