JP2023087266A - Machine learning program, machine learning method, and machine learning device - Google Patents
Machine learning program, machine learning method, and machine learning device Download PDFInfo
- Publication number
- JP2023087266A JP2023087266A JP2021201561A JP2021201561A JP2023087266A JP 2023087266 A JP2023087266 A JP 2023087266A JP 2021201561 A JP2021201561 A JP 2021201561A JP 2021201561 A JP2021201561 A JP 2021201561A JP 2023087266 A JP2023087266 A JP 2023087266A
- Authority
- JP
- Japan
- Prior art keywords
- data
- machine learning
- influence
- learning model
- weight
- 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.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
本発明は、機械学習プログラム,機械学習方法および機械学習装置に関する。 The present invention relates to a machine learning program, a machine learning method and a machine learning apparatus.
ディープニューラルネットワーク(Deep Neural Network:DNN)等の機械学習モデルを用いたシステムにおいて、ユーザに好ましくない出力が発生した場合に、機械学習モデルの修正を行なう場合がある。以下、DNNの機械学習モデルをDNNモデルという場合がある。 In a system using a machine learning model such as a deep neural network (DNN), there are cases where the machine learning model is corrected when an output undesirable to the user occurs. Hereinafter, the DNN machine learning model may be referred to as a DNN model.
例えば、カメラを用いた自動運転システムにおいて、DNNモデルにより道路標識の誤認識が発生する場合には、道路標識を正しく認識できるようにDNNモデルの修正が行なわれる。 For example, in an automatic driving system using a camera, if a DNN model misrecognizes a road sign, the DNN model is corrected so that the road sign can be recognized correctly.
DNNモデルは、仕様に従って作られるのではなく、入力された訓練データに従って作られる。そのため、DNNモデルの修正は訓練データを入力することで行なう。 DNN models are built according to input training data rather than built according to specifications. Therefore, the DNN model is corrected by inputting training data.
しかしながら、このような従来の訓練データを用いたDNNモデルの修正手法においては、修正に利用されるデータを収集するが、収集したデータにより必ずしも誤りを修正できるとは限らない。 However, in such a conventional DNN model correction method using training data, although data used for correction is collected, it is not always possible to correct errors using the collected data.
また、DNNモデルの再訓練を行なうことで、再訓練前は正しく推論していたデータに対して、再訓練後に誤った推論を行なう可能性があり、デグレード(degrade)が生じるおそれがある。デグレードは、CACE (Changing Anything Changes Everything) の原理により生じる。 In addition, retraining of the DNN model may result in incorrect inference after retraining for data that was correctly inferred before retraining, which may cause degrade. Degradation is caused by the principle of CACE (Changing Anything Changes Everything).
1つの側面では、本発明は、機械学習モデルの再訓練においてデグレードの発生を抑制することを目的とする。 In one aspect, an object of the present invention is to suppress occurrence of degradation in retraining of a machine learning model.
1つの側面では、機械学習プログラムは、コンピュータに、以下の処理を実行させてよい。前記処理は、第1の複数のデータのうち、前記第1の複数のデータのそれぞれに対する第1の機械学習モデルの出力値に応じた予測結果が正しい第2の複数のデータと正しくない第3の複数のデータとを特定する処理を含んでよい。また、前記処理は、前記第3の複数のデータに含まれるデータに対する前記第1の機械学習モデルの出力値と、前記第3の複数のデータに含まれるデータに対応する正解ラベルの値との間の差分と、前記第3の複数のデータのそれぞれに対する前記第1の機械学習モデルの出力値と前記第2の複数のデータのそれぞれに対する前記第1の機械学習モデルの出力値との差とに基づいて、前記第3の複数のデータのうち第4の複数のデータと、前記第2の複数のデータのうち前記第4のデータに関連する第5の複数のデータとを選択する処理を含んでよい。さらに、前記処理は、前記第4の複数のデータと前記第5の複数のデータとを前記第1の機械学習モデルに入力した場合の順伝播の際に算出される数値と逆伝播の際に算出される数値とに基づいて、前記第1の機械学習モデルに含まれる第1の複数のパラメータのうち第2の複数のパラメータを特定し、前記第1の複数のパラメータのうち前記第2の複数のパラメータのみを更新することによって第2の機械学習モデルを生成する処理を含んでよい。 In one aspect, the machine learning program may cause the computer to perform the following processes. The processing includes a second plurality of data and an incorrect third prediction result according to the output value of the first machine learning model for each of the first plurality of data among the first plurality of data. may include a process of identifying a plurality of data of In addition, the processing includes output values of the first machine learning model for data included in the third plurality of data and correct label values corresponding to the data included in the third plurality of data. and the difference between the output value of the first machine learning model for each of the third plurality of data and the output value of the first machine learning model for each of the second plurality of data selecting a fourth plurality of data out of the third plurality of data and a fifth plurality of data related to the fourth data out of the second plurality of data based on may contain. Furthermore, the processing includes numerical values calculated during forward propagation and backward propagation when the fourth plurality of data and the fifth plurality of data are input to the first machine learning model. a plurality of second parameters among the first plurality of parameters included in the first machine learning model are specified based on the calculated numerical values, and the second plurality of parameters among the first plurality of parameters are specified A process of generating a second machine learning model by updating only a plurality of parameters may be included.
1つの側面では、本発明は、機械学習モデルの再訓練においてデグレードの発生を抑制することができる。 In one aspect, the present invention can suppress the occurrence of degradation in retraining of machine learning models.
以下、図面を参照して本プログラム,方法および装置にかかる実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。 Embodiments of the present program, method and apparatus will be described below with reference to the drawings. However, the embodiments shown below are merely examples, and are not intended to exclude the application of various modifications and techniques not explicitly described in the embodiments. For example, this embodiment can be modified in various ways without departing from the spirit of the embodiment. Also, each drawing does not mean that it has only the constituent elements shown in the drawing, but can include other functions and the like.
(A)構成
図1は実施形態の一例としての情報処理装置1の構成を模式的に示す図である。
(A) Configuration FIG. 1 is a diagram schematically showing the configuration of an
情報処理装置1は、訓練済みのDNNモデル(機械学習モデル)の修正を行なうモデル修正機能を実現する。情報処理装置1は、図1に示すように、モデル訓練部101,テストデータ分類部102,近傍成功データ探索部103,失敗データ絞り込み部104,成功データ絞り込み部105,重み影響度測定部106および修正対象重み特定部107としての機能を備える。これらのブロック101~107は、制御部の一例である。
The
モデル訓練部101は、訓練対象であるDNNモデルに対して訓練データを入力することで訓練(再訓練,機械学習)を行なう。例えば、モデル訓練部101は、訓練済みのDNNモデル(第1の機械学習モデル)に対して訓練データを入力することで、DNNモデル再訓練(機械学習)を行ない再訓練済のDNNモデル(第2の機械学習モデル)を作成する。
The
図2は実施形態の一例としての情報処理装置1におけるモデル訓練部101の処理を説明するための図である。
FIG. 2 is a diagram for explaining the processing of the
モデル訓練部101には、訓練データと訓練対象のDNNモデルとが入力される。訓練データは、例えば、テストデータ(入力データ)と当該テストデータに対応する訓練ラベル(正解データ,正解ラベル)とを備えてよい。複数の訓練データは、テストデータリストと称されてもよい。
Training data and a DNN model to be trained are input to the
DNNモデルは、例えば、画像や音声などの入力データを入力層に入力し、畳み込み層やプーリング層などを含む隠れ層にて所定の計算を順次実行することで、演算により得られる情報を入力側から出力側に順次伝えるフォーワッド方向の処理(順伝播処理)を実行する。各層(レイヤ)においては、ノードがエッジで結合されている。また、エッジは重みを有する。 The DNN model, for example, inputs input data such as images and sounds into the input layer, and sequentially executes predetermined calculations in hidden layers including convolution layers and pooling layers, so that the information obtained by the calculation is sent to the input side. Forward direction processing (forward propagation processing) is executed to sequentially transmit from to the output side. In each layer, nodes are connected by edges. Edges also have weights.
図2においては、DNNモデルの情報として、レイヤ,種類,重みおよび重みの数を示している。 FIG. 2 shows layers, types, weights, and the number of weights as DNN model information.
レイヤはレイヤを特定する識別情報であり、図2に示す例においては自然数が用いられている。種類はレイヤの種類であり、図4に示す例においては、Conv2DやDenseが用いられている。重みは、各レイヤにおいて用いられる重みの値であり、図2に示す例においては、1次元に平坦化している。また、図2に示す例において、訓練前のDNNのモデルの重みには重みの初期値が示されている。重みの数は各レイヤに備えられる重みの数である。 A layer is identification information for specifying a layer, and natural numbers are used in the example shown in FIG. The type is the type of layer, and in the example shown in FIG. 4, Conv2D and Dense are used. A weight is a weight value used in each layer, and is flattened in one dimension in the example shown in FIG. Also, in the example shown in FIG. 2, the weights of the DNN model before training show the initial values of the weights. The number of weights is the number of weights provided for each layer.
モデル訓練部101は、フォーワッド方向の処理の実行後、出力層から出力される出力データと正解データとから得られる誤差関数の値を小さくするために、フォーワッド方向の処理で使用するパラメータを決定するバックワード方向の処理(逆伝播処理)を実行する。そして、逆伝播処理の結果に基づいて重み(変数)を更新する更新処理が実行される。例えば、逆伝播処理の計算に使用される重みの更新幅を決定するアルゴリズムとして、勾配降下法を用いてもよい。以下、DNNモデルを単に「モデル」と表記する場合がある。
After executing the forward processing, the
モデル訓練部101は、訓練済みのDNNモデル(第1の機械学習モデル,訓練済みモデル)と、再訓練後のDNNモデル(第2の機械学習モデル)との各情報を記憶装置13(図25参照)等の記憶領域に記憶させる。例えば、モデル訓練部101は、訓練済みのDNNモデルに対して再訓練を行なうことで作成する再訓練後のDNNモデルの情報記憶装置13等の記憶領域に記憶してよい。記憶領域に記憶されるDNNモデルの情報には重みも含まれる。
The
モデル訓練部101は、テストデータを入力として訓練済みのDNNモデルMの順伝播を計算し、最後段の隠れ層の出力yを計算する。
The
モデル訓練部101は、訓練済みのDNNモデルMの複数のパラメータ(学習パラメータ)のうち、後述する修正対象重み特定部107によって特定されるパラメータ(修正対象重み)のみを更新(再訓練)することによって再訓練済みのDNNモデル(第2の機械学習モデル)を生成する。
The
テストデータ分類部102は、DNNモデル(訓練済みモデル)にテストデータ(入力データ)を入力して得られる出力と当該入力データに対応する訓練ラベルとに基づき、テストデータを成功データと失敗データとに分類する。
The test
成功データは、DNNモデルが正解を出力したテストデータであり、出力が訓練ラベルと一致したテストデータである。成功データは、訓練済のDNNモデル(第1の機械学習モデル)の出力値に応じた予測結果(分類クラス)が正しい第2の複数のデータの一例である。 Success data is test data for which the DNN model outputs correct answers, and is test data for which the output matches the training label. Successful data is an example of a second plurality of data in which the prediction result (classification class) according to the output value of the trained DNN model (first machine learning model) is correct.
失敗データは、DNNモデルが不正解したテストデータであり、出力が訓練ラベルと不一致であったテストデータである。失敗データは、訓練済のDNNモデル(第1の機械学習モデル)の出力値に応じた予測結果(分類クラス)が正しくない第3の複数のデータの一例である。 Failed data is test data for which the DNN model failed and whose output did not match the training label. Failure data is an example of a third plurality of data in which the prediction result (classification class) according to the output value of the trained DNN model (first machine learning model) is incorrect.
テストデータ分類部102は、DNNモデルMでテストデータを評価し、推論に成功するテストデータの集合Xposと、失敗するテストデータの集合Xnegとに分類する。
The test
推論に成功するテストデータの集合Xposは成功データリストXposと称されてもよい。また、推論に失敗するテストデータの集合Xnegは失敗データリストXnegと称されてもよい。 A set X pos of test data for which inference is successful may be referred to as a successful data list X pos . A set X neg of test data that fails inference may also be referred to as a failed data list X neg .
訓練済みのDNNモデルMは訓練済みモデルMと称されてもよい。また、訓練済みモデルMの出力を符号yで表す場合がある。さらに、入力データの正解ラベルを符号y^(若しくはyの上に^)と表す場合がある。 A trained DNN model M may be referred to as a trained model M. We may also denote the output of the trained model M by the symbol y. Furthermore, the correct label of the input data may be represented by the sign y^ (or ^ above y).
テストデータ分類部102は、訓練済みモデルMの出力yと正解ラベルy^とを用いて、訓練済みモデルMに対して、テストデータを失敗データ集合Xnegと成功データ集合Xposとに分類する。
The test
テストデータ分類部102は、分類した成功データリストXposおよび失敗データリストXnegを記憶装置13等の所定の記憶領域に記憶させる。
The test
近傍成功データ探索部103は、失敗データの近傍の成功データを探索する。
Neighboring success
図3は実施形態の一例としての情報処理装置1の近傍成功データ探索部103の処理を説明するための図である。
FIG. 3 is a diagram for explaining processing of the neighborhood success
近傍成功データ探索部103は、失敗データ集合Xnegの各失敗データに対して、当該失敗データをDNNモデルに入力して得られる出力ynegと正解ラベルy^との分類境界までの(或いは分類境界からの)距離daを計算する。分類境界は、決定境界と称されてもよい。
For each failure data in the failure data set X neg , the neighborhood success
分類境界までの距離daは、失敗データのDNNモデルの出力の最大の要素の値と、正解ラベルのインデックス値との差分で求めることができる。すなわち、距離daは以下の式(1)で求められてよい。
分類境界からの距離daは、複数の失敗データ(第3の複数のデータ)に含まれる失敗データに対するDNNモデルの出力値と、失敗データに対応する正解ラベルの値との間の差分の一例である。 The distance d a from the classification boundary is an example of the difference between the output value of the DNN model for failure data included in a plurality of failure data (third plurality of data) and the value of the correct label corresponding to the failure data. is.
図4は実施形態の一例としての情報処理装置1における近傍成功データ探索部103の処理を説明するための図であり、近傍成功データ探索部103が生成する情報を示す。
FIG. 4 is a diagram for explaining the processing of the neighborhood success
図4において、符号Aは、失敗データ(テストデータ)をDNNモデルに入力して得られる出力と正解ラベルとを例示する。DNNモデルの出力は、隠れ層の最後段の出力であってよい。 In FIG. 4, symbol A illustrates an output and a correct label obtained by inputting failure data (test data) to the DNN model. The output of the DNN model may be the output of the last stage of the hidden layer.
また、符号Bは、符号Aに示した各失敗データ(テストデータ)のDNNモデルの出力の最大の要素の値(yneg[argmax(yneg)])と正解ラベルの値(yneg[y^])とを例示する。符号Cは符号Bに示した値に基づいて算出された、各失敗データ(テストデータ)の分類境界までの距離daを例示する。 Symbol B is the value of the maximum element of the DNN model output (y neg [argmax(y neg )]) and the value of the correct label (y neg [y ^]) and Symbol C illustrates the distance d a to the classification boundary of each failure data (test data) calculated based on the value indicated by symbol B. FIG.
以下、便宜上、失敗データをDNNモデルに入力して得られる出力を失敗データの出力という場合があり、成功データをDNNモデルに入力して得られる出力を成功データの出力と表記する場合がある。また、失敗データの出力と成功データの出力との距離を、単に、失敗データと成功データとの距離と表記する場合がある。 Hereinafter, for convenience, the output obtained by inputting failure data to the DNN model may be referred to as failure data output, and the output obtained by inputting success data to the DNN model may be referred to as success data output. Also, the distance between the output of failure data and the output of success data may simply be referred to as the distance between failure data and success data.
近傍成功データ探索部103は、各成功データの出力yposに対して、失敗データの出力ynegとの距離dbを計算する。距離dbは、失敗データの値と成功データの値の各ベクトルの差分の絶対値で表すことができる。すなわち、距離dbは以下の式(2)で求められてよい。
距離dbは、失敗データと成功データとの「データ間距離」であってよく、複数の失敗データのそれぞれに対するDNNモデルの出力値と複数の成功データのそれぞれに対するDNNモデルの出力値との差分の一例である。 The distance d b may be the "inter-data distance" between the failure data and the success data, and is the difference between the output value of the DNN model for each of the plurality of failure data and the output value of the DNN model for each of the plurality of success data. is an example.
近傍成功データ探索部103は、各失敗データxi(図3の符号P1,P3参照)に対して、距離の比db/daが近傍係数cよりも小さい位置にある成功データ(図3の符号P2,P4参照)を選択し、近傍成功データの集合Xnear,iを得る。近傍係数cは1未満の値であり、ユーザが任意に設定してもよい。失敗データxiを中心として、当該失敗データxiと分類境界との距離daと近傍係数cとによって特定される範囲が近傍範囲と称されてもよい。近傍範囲は、失敗データxiを中心とする半径cdaの円で表される領域である。 Neighboring successful data search unit 103 finds successful data (see FIG . 3 (see symbols P2 and P4 in ) to obtain a set X near,i of near success data. The neighborhood coefficient c is a value less than 1 and may be arbitrarily set by the user. A range specified by the distance d a between the failed data x i and the classification boundary and the neighborhood coefficient c may be referred to as a neighborhood range. The neighborhood range is a region represented by a circle of radius cd a centered on the failed data x i .
なお、図3では、便宜上、符号P1で示す失敗データxiと区別するために、符号P3で示す失敗データxiに係る分類境界までの距離を符号da’で示し、符号P3で示す失敗データxiの出力ynegとの距離を符号db’で示すが、符号P1で示す失敗データxiと同様に扱われてよい。 In addition, in FIG. 3, in order to distinguish from the failure data x i indicated by the symbol P1 for convenience, the distance to the classification boundary related to the failure data x i indicated by the symbol P3 is indicated by the symbol d a ', and the failure indicated by the symbol P3 The distance between the data x i and the output y neg is denoted by symbol d b ', and may be treated in the same manner as the failure data x i denoted by symbol P1.
失敗データxiを中心とする近傍範囲に含まれることを、失敗データxiの近傍であるといってもよい。失敗データxiを中心とする近傍範囲に含まれる成功データの集合が、近傍成功データの集合Xnear,iを構成する。近傍成功データの集合Xnear,iを近傍成功データリストNNと表してもよい。 Being included in the neighborhood range centered on the failed data x i can be said to be the vicinity of the failed data x i . A set of successful data included in a neighborhood range centered on the failed data x i constitutes a set X near,i of nearby successful data. A set X near,i of neighborhood success data may be expressed as a neighborhood success data list NN.
図5は実施形態の一例としての情報処理装置1における近傍成功データ探索部103の処理を説明するための図であり、近傍成功データ探索部103が生成する情報を示す。
FIG. 5 is a diagram for explaining the processing of the neighborhood success
以下、図中において、テストデータ(失敗データ,成功データ)のそれぞれをユニークな整数で表す場合がある。 Hereinafter, in the drawings, each piece of test data (failure data, success data) may be represented by a unique integer.
図5において、符号Aは、失敗データ(テストデータ)をDNNモデルに入力して得られる出力と正解ラベルとを例示する。また、符号Bは、成功データ(テストデータ)をDNNモデルに入力して得られる出力と正解ラベルとを例示する。なお、DNNモデルの出力は、それぞれ隠れ層の最後段の出力である。 In FIG. 5, symbol A illustrates an output and a correct label obtained by inputting failure data (test data) to the DNN model. Symbol B exemplifies an output and a correct label obtained by inputting successful data (test data) to the DNN model. The output of the DNN model is the output of the last stage of the hidden layer.
また、符号Cは、符号Aに示した各失敗データ(テストデータ)に対する、符号Bに示した各成功データとの間の距離dbを例示する。符号Dは、符号Cに示した各失敗データについて、それぞれの近傍範囲にある成功データの集合を例示する。 Symbol C exemplifies the distance d b between each failure data (test data) indicated by symbol A and each successful data indicated by symbol B. FIG. Symbol D illustrates, for each failure data shown in symbol C, the set of successful data in the respective neighborhood.
失敗データ絞り込み部104は、失敗データ集合Xnegを、各失敗データxiの近傍の成功データ集合Xniar,iの個数|Xniar,i|が小さい順にソートし、上位k個の失敗データを取得する。このように、近傍範囲内の成功データの個数が少ない上位のk個の失敗データの集合を失敗データ集合Xkと表す。失敗データ集合Xkは絞り込み済失敗データリストXkと称されてもよい。
The failure
以下、失敗データ集合Xnegに含まれる失敗データを、符号negを用いて、失敗データnegと表記する場合がある。また、失敗データxiの近傍の成功データ集合Xniar,iの個数|Xniar,i|を、近傍成功データの数と表記し、符号#NN[neg]で表す場合がある。 Hereinafter, the failure data included in the failure data set X neg may be referred to as failure data neg using the code neg. Also, the number |X niar, i | of successful data sets X niar ,i in the vicinity of failure data x i may be expressed as the number of neighboring successful data and represented by the code #NN[neg].
例えば、図3に示す例において、図中左側の失敗データ(符号P1参照)に対する近傍成功データ(符号P2参照)の数#NN[neg]は2であり、図中右側の失敗データ(符号P3参照)に対する近傍成功データ(符号P4)の数#NN[neg]は1である。 For example, in the example shown in FIG. 3, the number #NN[neg] of neighboring successful data (see symbol P2) for the failed data (see symbol P1) on the left side of the figure is 2, and the number of failed data (see symbol P3) on the right side of the figure is 2. reference), the number #NN[neg] of neighborhood success data (reference P4) is one.
図6は実施形態の一例としての情報処理装置1の失敗データ絞り込み部104の処理を説明するための図であり、失敗データ絞り込み部104が生成する情報を示す。
FIG. 6 is a diagram for explaining processing of the failure data narrowing-down
図6において、符号Aは、各失敗データに対して、それぞれの近傍範囲にある成功データの集合を例示する。失敗データ絞り込み部104は、失敗データを近傍の成功データの個数|Xniar,i|が小さい順(昇順)にソートする。符号Bは、符号Aに示した失敗データを近傍の成功データ集合の個数が小さいものから順にソートした例を示す。
In FIG. 6, symbol A illustrates the set of successful data in the respective neighborhood for each failed data. The failed
符号Cは、符号Bに示したソート結果の上位k個を抽出することで作成した失敗データ集合Xk(絞り込み済失敗データリストXk)を例示する。 Symbol C illustrates a failed data set X k (restricted failed data list X k ) created by extracting the top k sorted results shown in symbol B. FIG.
すなわち、失敗データ絞り込み部104は、複数の失敗データのうち、失敗データから近傍半径(cda)の範囲内にある成功データの数が少ない失敗データから優先して選択した上位複数(k個)のデータを、絞り込み済失敗データとして決定する。複数の失敗データは、第3の複数のデータの一例であり、失敗データから近傍半径(cda)の範囲内にある成功データは、第5の複数のデータの一例である。絞り込み済失敗データは、第4の複数のデータの一例である。
That is, the failure
このように、失敗データ絞り込み部104は、分類境界からの距離daと、失敗データと成功データとのデータ間距離dbとに基づいて、複数の失敗データの中から絞り込み済失敗データを選択する。
In this way, the failed data narrowing down
成功データ絞り込み部105は、絞り込み済失敗データリストXkに含まれる失敗データnegのそれぞれについて、近傍成功データの集合Xnear,i(近傍成功データリストNN)を取得することで、成功データの集合Xnearを得る。この成功データの集合Xnearを絞り込み済成功データ集合Xnearもしくは絞り込み済成功データリストXnearといってもよい。絞り込み済成功データリストXnearに含まれる成功データを絞り込み済成功データといってもよい。絞り込み済成功データは、第5の複数のデータの一例である。
The success
成功データ絞り込み部105は、失敗データ絞り込み部104によって作成された失敗データ集合Xk(絞り込み済失敗データリストXk)の各失敗データの近傍の成功データの集合の和集合をとることで、成功データの集合Xnearを作成する。この成功データの集合Xnearは、以下の式(3)で表されてよい。
図7は実施形態の一例としての情報処理装置1の成功データ絞り込み部105の処理を説明するための図であり、成功データ絞り込み部105が生成する情報を示す。
FIG. 7 is a diagram for explaining processing of the successful
図7において、符号Aは、失敗データ絞り込み部104により作成された失敗データ集合Xk(絞り込み済失敗データリストXk)を例示する。また、符号Bは、符号Aに示した失敗データ集合Xk(絞り込み済失敗データリストXk)に基づいて作成された絞り込み済成功データリストXnearを例示する。
In FIG. 7 , reference A indicates an example of a failed data set X k (refined failed data list X k ) created by the failed
絞り込み済失敗データリストXkの各失敗データを中心とする半径cdaの範囲(近傍範囲)にある成功データは、絞り込み済成功データと称されてもよい。また、半径cdaは近傍半径と称されてもよい。 Success data in a range (neighborhood range) of radius cd a centered on each failure data in the narrowed down failure data list X k may be referred to as narrowed down success data. The radius cd a may also be referred to as the neighborhood radius.
成功データ絞り込み部105は、絞り込み済失敗データリストXkの各失敗データの近傍範囲にある成功データの和集合を、絞り込み済成功データリストXnearの要素として決定する。
The successful
このように、成功データ絞り込み部105は、分類境界からの距離daと、失敗データと成功データとのデータ間距離dbとに基づいて、複数の成功データの中から絞り込み済成功データを選択する。
In this way, the successful
重み影響度測定部106は、絞り込み済失敗データXkと絞り込み済成功データリストXnearとを用いて、失敗データの前方影響度および成功データの前方影響度をそれぞれ算出する。前方影響度は、DNNモデルのフォーワッド方向の処理における出力に対する重みへの影響度を表す。前方影響度は、DNNモデルの各層の出力とその次につながる重みとを掛け合わせた値(順伝播)の影響の度合いを表す。
The
重み影響度測定部106は、失敗データ集合XkをDNNモデルM(訓練後モデル)に入力し、DNNモデルMのレイヤ毎に前方影響度fwdnegを算出する。
The weight
重み影響度測定部106は、DNNモデルMの層l-1における出力のi番目の値oi
(l-1)と、層lの重みのj行目i列目の値Wji
(l)との積oi
(l-1)Wji
(l)を前方影響度fwdnegとして計算する。
The weight
そして、重み影響度測定部106は、前方影響度fwdnegの大きい重みWji
(l)のindexを順に並べたリストI(l)
fwd_negを作成する。
Weight
図8は実施形態の一例としての情報処理装置1の重み影響度測定部106による処理を説明するための図であり、失敗データの前方影響度の算出過程を例示する図である。
FIG. 8 is a diagram for explaining the processing by the weighted
図8において符号Aは、失敗データ絞り込み部104によって作成された絞り込み済失敗データリストXkの失敗データを例示する。符号Bは、DNNモデル(訓練後モデル)Mの情報としてレイヤ毎の重みを例示する。
Reference character A in FIG. 8 illustrates failed data in the narrowed-down failed data list X k created by the failed
重み影響度測定部106は、このようなDNNモデルMに、絞り込み済失敗データリストXkの失敗データを入力し、その出力を上述した前方影響度fwdnegの算出に用いる。
The weighted
図8において、符号Cは、失敗データについての前方影響度情報を示す。図8に例示する前方影響度情報は、失敗データのレイヤ毎の、前方影響度(出力に対する重みの影響度)とレイヤ毎の重みの数とを備える。 In FIG. 8, symbol C indicates forward impact information about failed data. The forward influence information exemplified in FIG. 8 comprises the forward influence (the influence of the weight on the output) and the number of weights for each layer for each layer of failed data.
重み影響度測定部106は、絞り込み済失敗データリストXkの失敗データをそれぞれDNNモデルMに入力し、レイヤ毎にoi (l-1)Wji (l)を計算することで、符号Cに例示する失敗データの前方影響度を求める。 The weight influence measurement unit 106 inputs the failure data in the narrowed down failure data list X k to the DNN model M, and calculates the code C Obtain the forward impact of the failure data exemplified in .
出力に対する重みの影響度は、DNNモデルにおけるレイヤ毎に算出され、同一のレイヤの重みの各値に対してそれぞれ算出される。図8に示す例においては、例えば、レイヤ1の重み[0.054, 0.141,・・・,0.122]に対して、出力に対する重みの影響度として[0.001, 0.002, ・・・, -0.004]がそれぞれ算出されている。また、以下、失敗データについての前方影響度情報に符号210を付して前方影響度情報210と表す場合がある。
The influence of the weight on the output is calculated for each layer in the DNN model, and calculated for each value of the weight of the same layer. In the example shown in FIG. 8, for example, for the weights of layer 1 [0.054, 0.141, . calculated. Further, hereinafter, forward influence information about failure data may be referred to as
また、重み影響度測定部106は、レイヤ毎に、出力に対する重みの影響度が大きいものから順に重みを並び替えたインデックスリストを生成する。
Weight
図8において、符号Dは前方影響度順にインデックスをソートしたインデックスリストを示す。 In FIG. 8, symbol D indicates an index list in which indexes are sorted in order of forward influence.
以下、失敗データについての前方影響度情報に関して、影響度をその値が大きいものから順にソートしたインデックスリストを前方影響度順インデックスリスト211と表記する場合がある。
Hereinafter, an index list obtained by sorting the forward impact information about failure data in descending order of impact may be referred to as a forward impact
符号Dに示す前方影響度順インデックスリスト211は、符号Cで示した前方影響度情報210における出力に対する重みの影響度の値が大きいものから順にソートしたインデックスリストを示す。この前方影響度順インデックスリスト211は、レイヤ,失敗データの前方影響度順インデックス(index)および重みの数を備える。
The forward impact
この前方影響度順インデックスリスト211が、前方影響度fwdnegの大きい重みWji
(l)のindexを順に並べたリストI(l)
fwd_negの一例である。
This forward influence
そして、前方影響度順インデックスは、符号Cで示した前方影響度情報210の出力に対する重みの影響度を、値が大きいものから順に並べ変えるとともに、影響度の値に代えて対応する重みのインデックスで表している。
Then, the forward influence order index is sorted in descending order of the influence of the weight on the output of the
これにより、前方影響度順インデックスリスト211を参照することで、レイヤ毎に、DNNモデルにおける出力に対する失敗データの影響が高い重みを容易に知ることができる。
As a result, by referring to the forward impact
前方影響度fwdnegは、絞り込み済失敗データ(第4の複数のデータ)をDNNモデルに入力した場合の順伝播の際に算出される数値の一例である。 The forward influence fwd neg is an example of a numerical value calculated during forward propagation when narrowed down failure data (fourth plurality of data) is input to the DNN model.
また、前方影響度fwdnegは、失敗データ(第3の複数のデータ)をDNNモデルに入力して得られる当該DNNモデルに含まれる層の出力と,当該層における重みとの積に基づいて求められる第1前方影響度の一例である。 Further, the forward influence fwd neg is obtained based on the product of the output of the layer included in the DNN model obtained by inputting the failure data (the third plurality of data) into the DNN model and the weight in the layer. It is an example of the first forward influence degree that is calculated.
重み影響度測定部106は、成功データ集合XnearをDNNモデルM(訓練後モデル)に入力し、DNNモデルMのレイヤ毎に前方影響度fwdposを算出する。
The weight
重み影響度測定部106は、DNNモデルMの層l-1における出力のi番目の値oi
(l-1)と、層lの重みのj行目i列目の値Wji
(l)との積oi
(l-1)Wji
(l)を前方影響度fwdposとして計算する。
The weight
そして、重み影響度測定部106は、前方影響度fwdposの大きい重みWji
(l)のindexを順に並べたリストI(l)
fwd_posを作成する。
Then, weight
図9は実施施形態の一例としての情報処理装置1の重み影響度測定部106による処理を説明するための図であり、成功データの前方影響度の算出過程を例示する図である。
FIG. 9 is a diagram for explaining the processing by the weighted influence
図9において符号Aは、成功データ絞り込み部105によって作成された絞り込み済成功データリストXnearの成功データを例示する。符号Bは、DNNモデル(訓練後モデル)Mの情報としてレイヤ毎の重みを例示する。
In FIG. 9 , symbol A exemplifies successful data in the narrowed successful data list X near created by the successful
重み影響度測定部106は、このようなDNNモデルMに、絞り込み済成功データリストXnearの成功データを入力し、その出力を上述した前方影響度fwdposの算出に用いる。
The weighted
図9において、符号Cは、成功データについての前方影響度情報を示す。図9に例示する前方影響度情報は、成功データのレイヤ毎の前方影響度(出力に対する重みの影響度)と、レイヤ毎の重みの数とを備える。 In FIG. 9, symbol C indicates forward influence information for successful data. The forward influence information exemplified in FIG. 9 includes forward influence for each layer of successful data (influence of weight on output) and the number of weights for each layer.
重み影響度測定部106は、絞り込み済成功データリストXnearの成功データをそれぞれDNNモデルMに入力し、レイヤ毎にoi (l-1)Wji (l)を計算することで、符号Cに例示する成功データの前方影響度を求める。 The weight influence measurement unit 106 inputs the success data of the narrowed down success data list X near to the DNN model M, and calculates the code C Obtain the forward impact of the success data illustrated in .
出力に対する重みの影響度は、DNNモデルにおけるレイヤ毎に算出され、同一のレイヤの重みの各値に対してそれぞれ算出される。図9に示す例においては、例えば、レイヤ1の重み[0.054, 0.141,・・・,0.122]に対して、出力に対する重みの影響度として[0.001, 0.002, ・・・, -0.004]がそれぞれ算出されている。また、以下、成功データについての前方影響度情報に符号220を付して前方影響度情報220と表す場合がある。
The influence of the weight on the output is calculated for each layer in the DNN model, and calculated for each value of the weight of the same layer. In the example shown in FIG. 9, for example, for the weights of layer 1 [0.054, 0.141, . calculated. Further, hereinafter, forward influence information about successful data may be referred to as
また、重み影響度測定部106は、レイヤ毎に、出力に対する重みの影響度が大きいものから順に重みを並び替えたインデックスリストを生成する。
Weight
図9において、符号Dは前方影響度順にインデックスをソートしたインデックスリストを示す。 In FIG. 9, symbol D indicates an index list in which indexes are sorted in order of forward influence.
以下、成功データについての前方影響度情報に関して、影響度をその値が大きいものから順にソートしたインデックスリストを前方影響度順インデックスリスト221という場合がある。
Hereinafter, an index list obtained by sorting forward impact information about successful data in descending order of impact may be referred to as a forward impact
符号Dに示す前方影響度順インデックスリスト211は、符号Cで示した前方影響度情報220における出力に対する重みの影響度の値が大きいものから順にソートしたインデックスリストを示す。この前方影響度順インデックスリスト221は、レイヤ,成功データの前方影響度順インデックス(index)および重みの数を備える。
The forward impact
この前方影響度順インデックスリスト221が、前方影響度fwdposの大きい重みWji
(l)のindexを順に並べたリストI(l)
fwd_posの一例である。
This forward influence
そして、前方影響度順インデックスは、符号Cで示した前方影響度情報220の出力に対する重みの影響度を、値が大きいものから順に並べ変えるとともに、影響度の値に代えて対応する重みのインデックスで表している。
Then, the forward influence order index is sorted in descending order of the influence of the weight on the output of the
これにより、前方影響度順インデックスリスト221を参照することで、レイヤ毎に、DNNモデルにおける出力に対する成功データの影響が高い重みを容易に知ることができる。
As a result, by referring to the forward influence
また、重み影響測定部104は、絞り込み済失敗データXkと絞り込み済成功データリストXnearとを用いて、失敗データの後方影響度および成功データの後方影響度をそれぞれ算出する。後方影響度は、DNNモデルのバックワード方向の処理における出力に対する重みへの影響度を表す。後方影響度は、損失を重みで微分した損失勾配(逆伝播)を表す。
Further, the weighted
重み影響度測定部106は、DNNモデルによる絞り込み済失敗データXkおよび絞り込み済成功データリストXnearのそれぞれの出力を重みで微分することで、重みが出力に与える影響を数値化(測定)する。
The weight
前方影響度fwdposは、絞り込み成功データ(第5の複数のデータ)をDNNモデルに入力した場合の順伝播の際に算出される数値の一例である。 The forward influence fwd pos is an example of a numerical value calculated during forward propagation when successful narrowing down data (fifth plurality of data) is input to the DNN model.
また、前方影響度fwdposは、成功データ(第2の複数のデータ)をDNNモデルに入力して得られる当該DNNモデルに含まれる層の出力と、当該層における重みとの積に基づいて求められる第2前方影響度の一例である。 Further, the forward influence fwd pos is obtained based on the product of the output of the layer included in the DNN model obtained by inputting the success data (the second plurality of data) into the DNN model and the weight in the layer. It is an example of the second forward influence degree that is calculated.
重み影響度測定部106は、失敗データ集合XkをDNNモデルM(訓練後モデル)に入力し、DNNモデルMのレイヤ毎に後方影響度gradnegを算出する。
The weight
重み影響度測定部106は、DNNモデルの出力を重みを用いて自動微分することで、各重みの値が出力に与える影響(影響度)を算出する。重み影響度測定部106は、後方影響度gradnegを、絞り込み済失敗データXkをDNNモデルに入力したときの出力Ykを、層lにおける重みW(l)で自動微分することで算出する。レイヤlにおける後方影響度gradnegは、以下の式(4)で表されてよい。
図10は実施形態の一例としての情報処理装置1の重み影響度測定部106による処理を説明するための図であり、失敗データの後方影響度の算出過程を例示する図である。
FIG. 10 is a diagram for explaining the processing by the weighted
図10において符号Aは、失敗データ絞り込み部104によって作成された絞り込み済失敗データリストXkの失敗データを例示する。符号Bは、DNNモデル(訓練後モデル)Mの情報としてレイヤ毎の重みを例示する。
In FIG. 10 , symbol A exemplifies failed data in the narrowed down failed data list X k created by the failed
重み影響度測定部106は、このようなDNNモデルMに、絞り込み済失敗データリストXkの失敗データを入力し、その出力を後方影響度gradnegの算出に用いる。
The weighted
図10において、符号Cは失敗データについての後方影響度情報を示す。図10に示す後方影響度情報は、レイヤ毎の、失敗データの後方影響度(出力に対する重みの影響度)と重みの数とを備える。 In FIG. 10, symbol C indicates backward impact information about failed data. The backward influence information shown in FIG. 10 includes the backward influence of failed data (the influence of weight on output) and the number of weights for each layer.
出力に対する重みの影響度は、DNNモデルにおけるレイヤ毎に算出され、同一のレイヤの重みの各値に対してそれぞれ算出される。図10に示す例においては、例えば、レイヤ1の重み[0.054, 0.141,・・・,0.122]に対して、出力に対する重みの影響度として[0.001, 0.002, ・・・, -0.004]がそれぞれ算出されている。また、以下、失敗データについての後方影響度情報に符号230を付して後方影響度情報230と表す場合がある。
The influence of the weight on the output is calculated for each layer in the DNN model, and calculated for each value of the weight of the same layer. In the example shown in FIG. 10, for example, for the weights of layer 1 [0.054, 0.141, . calculated. Further, hereinafter, backward influence information about failure data may be referred to as
また、重み影響度測定部106は、レイヤ毎に、出力に対する重みの影響度が大きいものから順に重みを並び替えたインデックスリストを生成する。
Weight
図10において、符号Dは後方影響度順にインデックスをソートしたインデックスリストを示す。 In FIG. 10, symbol D indicates an index list in which indexes are sorted in order of backward influence.
以下、失敗データについての後方影響度情報に関して、影響度をその値が大きいものから順にソートしたインデックスリストを後方影響度順インデックスリスト231という場合がある。
Hereinafter, an index list obtained by sorting the backward impact information about failure data in descending order of impact may be referred to as a backward impact
符号Dに示す後方影響度順インデックスリスト231は、符号Cで示した後方影響度情報230における出力に対する重みの影響度の値が大きいものから順にソートしたインデックスリストを示す。この後方影響度順インデックスリスト231は、レイヤ,失敗データの後方影響度順インデックス(index)および重みの数を備える。
A backward impact
この後方影響度順インデックスリスト231が、後方影響度gradnegの大きい重みのindexを順に並べたリストI(l)
grad_negの一例である。
This backward impact
そして、後方影響度順インデックスは、符号Cで示した後方影響度情報230の出力に対する重みの影響度を、値が大きいものから順に並べ変えるとともに、影響度の値に代えて対応する重みのインデックスで表している。
Then, the backward influence degree order index rearranges the influence degree of the weight on the output of the backward
これにより、後方影響度順インデックスリスト231を参照することで、レイヤ毎に、DNNモデルにおける出力に対する失敗データの影響が高い重みを容易に知ることができる。
As a result, by referring to the backward influence
後方影響度gradnegは、絞り込み済失敗データ(第4の複数のデータ)をDNNモデルに入力した場合の逆伝播の際に算出される数値の一例である。 The degree of backward influence grad neg is an example of a numerical value calculated during backpropagation when narrowed down failure data (fourth plurality of data) is input to the DNN model.
また、後方影響度gradnegは、失敗データ(第3の複数のデータ)をDNNモデルに入力して得られる出力を重みで微分して求められる第1後方影響度の一例である。
重み影響度測定部106は、成功データ集合XnearをDNNモデルMに入力し、DNNモデルMのレイヤ毎に後方影響度gradposを算出する。
Further, the backward influence degree grad neg is an example of a first backward influence degree obtained by differentiating the output obtained by inputting the failure data (the third plurality of data) into the DNN model with the weight.
The weight
重み影響度測定部106は、絞り込み済成功データリストXnearをDNNモデルに入力したときの出力Ykを層lにおける重みW(l)で自動微分することで、後方影響度gradposを算出する。重み影響度測定部106は、上述した式(4)を用いてレイヤlにおける後方影響度gradposを算出する。
The weight influence
そして、重み影響度測定部106は、後方影響度gradposの大きい重みのindexを順に並べたリストI(l)
grad_posを作成する。
Weight
図11は実施形態の一例としての情報処理装置1の重み影響度測定部106による処理を説明するための図であり、成功データの後方影響度の算出過程を例示する図である。
FIG. 11 is a diagram for explaining the processing by the weight
図11において符号Aは、成功データ絞り込み部105によって作成された絞り込み済成功データリストXnearの成功データを例示する。符号Bは、DNNモデル(訓練後モデル)Mの情報としてレイヤ毎の重みを例示する。
In FIG. 11 , reference A indicates successful data in the narrowed successful data list X near created by the successful
重み影響度測定部106は、このようなDNNモデルMに、絞り込み済成功データリストXnearの成功データを入力し、その出力を後方影響度gradposの算出に用いる。
The weight
図11において、符号Cは成功データについての後方影響度情報を示す。図11に示す後方影響度情報は、レイヤ毎の、成功データの後方影響度(出力に対する重みの影響度)とレイヤ毎の重みの数とを備える。 In FIG. 11, symbol C indicates backward influence information for successful data. The backward influence information shown in FIG. 11 includes, for each layer, the backward influence of successful data (the influence of the weight on the output) and the number of weights for each layer.
出力に対する重みの影響度は、DNNモデルにおけるレイヤ毎に算出され、同一のレイヤの重みの各値に対してそれぞれ算出される。図11に示す例においては、例えば、レイヤ1の重み[0.054, 0.141,・・・,0.122]に対して、出力に対する重みの影響度として[0.001, 0.002, ・・・, -0.004]がそれぞれ算出されている。また、以下、成功データについての後方影響度情報に符号240を付して後方影響度情報240と表す場合がある。
The influence of the weight on the output is calculated for each layer in the DNN model, and calculated for each value of the weight of the same layer. In the example shown in FIG. 11, for example, for the weights of layer 1 [0.054, 0.141, . calculated. Further, hereinafter, backward influence information about successful data may be referred to as
また、重み影響度測定部106は、レイヤ毎に、出力に対する重みの影響度が大きいものから順に重みを並び替えたインデックスリストを生成する。
Weight
図11において、符号Dは後方影響度順にインデックスをソートしたインデックスリストを示す。 In FIG. 11, symbol D indicates an index list in which indexes are sorted in order of backward influence.
以下、成功データについての後方影響度情報に関して、影響度をその値が大きいものから順にソートしたインデックスリストを後方影響度順インデックスリスト241と表記する場合がある。
Hereinafter, an index list obtained by sorting the backward impact information about successful data in descending order of the impact may be referred to as a backward impact
符号Dに示す後方影響度順インデックスリスト241は、符号Cで示した後方影響度情報240における出力に対する重みの影響度の値が大きいものから順にソートしたインデックスリストを示す。この後方影響度順インデックスリスト241は、レイヤ,成功データの後方影響度順インデックス(index)および重みの数を備える。
The backward impact
この後方影響度順インデックスリスト241が、後方影響度gradposの大きい重みのindexを順に並べたリストI(l)
grad_posの一例である。
This backward influence
そして、後方影響度順インデックスは、符号Cで示した後方影響度情報240の出力に対する重みの影響度を、値が大きいものから順に並べ変えるとともに、影響度の値に代えて対応する重みのインデックスで表している。
Then, the backward influence degree order index rearranges the degree of influence of the weight on the output of the backward
これにより、後方影響度順インデックスリスト241を参照することで、レイヤ毎に、DNNモデルにおける出力に対する成功データの影響が高い重みを容易に知ることができる。
As a result, by referring to the backward influence
後方影響度gradposは、絞り込み済成功データ(第5の複数のデータ)をDNNモデルに入力した場合の逆伝播の際に算出される数値の一例である。 The degree of backward influence grad pos is an example of a numerical value calculated during backpropagation when narrowed-down success data (fifth plurality of data) are input to the DNN model.
また、後方影響度gradposは、成功データ(第2の複数のデータ)をDNNモデルに入力して得られる出力を重みで微分して求められる第2後方影響度の一例である。 Also, the backward influence grad pos is an example of a second backward influence obtained by differentiating the output obtained by inputting the successful data (the second plurality of data) into the DNN model with the weight.
修正対象重み特定部107は、DNNモデルのレイヤ毎に、選択重み個数を決定し、修正対象とする重みを決定(特定)する。
The correction target
修正対象重み特定部107は、前方影響度情報210,220および後方影響度情報230,240に基づいてレイヤ毎に選択重み個数を決定する。
Correction target
図12は実施形態の一例としての情報処理装置1の修正対象重み特定部107による選択重み個数の決定処理を説明するための図である。
FIG. 12 is a diagram for explaining the process of determining the number of selected weights by the correction target
図12において、符号Aは失敗データについての前方影響度情報210を示す。修正対象重み特定部107は、前方影響度情報210に基づき、レイヤ毎に失敗データの前方影響度(出力に対する重みの影響度)の平均値を算出する。
In FIG. 12, symbol A indicates
さらに、修正対象重み特定部107は、算出したレイヤ毎の失敗データの前方影響度の平均値を全レイヤの合計が1となるように正規化する。正規化した失敗データの前方影響度の平均をe(l)
k,fwdと表す。
Furthermore, the correction target
図12においては、正規化した各レイヤの失敗データの前方影響度の平均の例を符号Bに示す。 In FIG. 12, symbol B indicates an example of the normalized average forward impact of failed data in each layer.
修正対象重み特定部107は、算出したレイヤ毎の正規化した失敗データの前方影響度の平均を記憶装置13等の所定の記憶領域に記憶させる。
The correction target
また、図12において、符号Cは成功データについての前方影響度情報220を示す。修正対象重み特定部107は、前方影響度情報220に基づき、レイヤ毎に成功データの前方影響度(出力に対する重みの影響度)の平均値を算出する。
Further, in FIG. 12, symbol C indicates forward influence
さらに、修正対象重み特定部107は、算出したレイヤ毎の成功データの前方影響度の平均値を全レイヤの合計が1となるように正規化する。正規化した成功データの前方影響度の平均をe(l)
near,fwdと表す。
Furthermore, the correction target
図12においては、正規化した各レイヤの成功データの前方影響度の平均の例を符号Dに示す。 In FIG. 12, symbol D indicates an example of the normalized average forward impact of success data of each layer.
修正対象重み特定部107は、算出したレイヤ毎の正規化した成功データの前方影響度の平均を記憶装置13等の所定の記憶領域に記憶させる。
The correction target
また、図12において、符号Eは失敗データについての後方影響度情報230を示す。修正対象重み特定部107は、後方影響度情報230に基づき、レイヤ毎に失敗データの後方影響度(出力に対する重みの影響度)の平均値を算出する。
Also, in FIG. 12, symbol E indicates
さらに、修正対象重み特定部107は、算出したレイヤ毎の失敗データの後方影響度の平均値を全レイヤの合計が1となるように正規化する。正規化した失敗データの後方影響度の平均をe(l)
k,gradと表す。
Furthermore, the correction target
図12においては、正規化した各レイヤの失敗データの後方影響度の平均の例を符号Fに示す。 In FIG. 12, symbol F indicates an example of the normalized average degree of backward influence of failed data in each layer.
修正対象重み特定部107は、算出したレイヤ毎の正規化した失敗データの後方影響度の平均を記憶装置13等の所定の記憶領域に記憶させる。
The correction target
また、図12において、符号Gは成功データについての後方影響度情報240を示す。修正対象重み特定部107は、後方影響度情報240に基づき、レイヤ毎に成功データの後方影響度(出力に対する重みの影響度)の平均値を算出する。
Also, in FIG. 12, symbol G indicates
さらに、修正対象重み特定部107は、算出したレイヤ毎の成功データの後方影響度の平均値を全レイヤの合計が1となるように正規化する。正規化した成功データの後方影響度の平均をe(l)
near,gradと表す。
Furthermore, the correction target
図12においては、正規化した各レイヤの成功データの後方影響度の平均の例を符号Hに示す。 In FIG. 12, symbol H indicates an example of the normalized average degree of backward influence of successful data of each layer.
修正対象重み特定部107は、算出したレイヤ毎の正規化した成功データの後方影響度の平均を記憶装置13等の所定の記憶領域に記憶させる。
The correction target
修正対象重み特定部107は、これらの、正規化した、レイヤ毎の失敗データの前方影響度の平均,レイヤ毎の成功データの前方影響度の平均,レイヤ毎の失敗データの後方影響度の平均およびレイヤ毎の成功データの後方影響度の平均に基づき、以下の式(5)を用いて、レイヤ毎の疑惑値susp(l)を算出する。
図12においては、正規化した各レイヤの疑惑値の例を符号Jに示す。 In FIG. 12, J indicates an example of the normalized suspicion value of each layer.
修正対象重み特定部107は、算出したレイヤ毎の疑惑値susp(l)を記憶装置13等の所定の記憶領域に記憶させる。
The correction target
修正対象重み特定部107は、疑惑値susp(l)に基づいて各レイヤにおいて修正対象として選択する重みの個数を決定する。修正対象重み特定部107は、以下の式(6)を用いて、レイヤ毎の選択重み個数を決定する。
なお、|W(l) n|はレイヤlの重みの数であり、susp(l)はレイヤlの疑惑値であり、ρは削減率である。削減率ρはユーザが任意に設定してもよい。 where |W (l) n | is the number of weights for layer l, susp (l) is the suspicion value for layer l, and ρ is the reduction rate. The reduction rate ρ may be arbitrarily set by the user.
図12においては、算出した各レイヤの選択重み個数の例を符号Kに示す。 In FIG. 12, K indicates an example of the calculated number of selection weights for each layer.
また、修正対象重み特定部107は、レイヤ毎に修正対象とする重みを決定(特定)する。
Further, the correction target
図13は実施形態の一例としての情報処理装置1の修正対象重み特定部107による修正対象重みの特定処理を説明するための図である。
13A and 13B are diagrams for explaining the correction target weight specifying process by the correction target
修正対象重み特定部107は、失敗データに基づく前方影響度順インデックスリスト211に基づき、各レイヤについて、失敗データの前方影響度順インデックスの上位から選択重み個数分のインデックスを選択する。以下、失敗データの前方影響度順インデックスから選択された、選択重み個数(図13の符号E参照)分の上位のインデックスを失敗データの前方影響度上位インデックスという場合がある。失敗データの前方影響度上位インデックスは、出力に対する重みの影響が大きい重みの集合である。図13の符号Aに、失敗データの前方影響度上位インデックスの例を示す。
Based on the forward impact
失敗データの前方影響度上位インデックスは、前方影響度順インデックスリスト211(リストI(l) fwd_neg)の上位からc(l)個の重みを選択した集合I(l)’ fwd_negである。 The forward impact high-order index of failure data is a set I (l) ' fwd_neg obtained by selecting c (l) weights from the top of the forward impact order index list 211 (list I (l) fwd_neg ).
修正対象重み特定部107は、選択した失敗データの前方影響度上位インデックスを記憶装置13等の所定の記憶領域に記憶させる。
The correction target
また、修正対象重み特定部107は、成功データに基づく前方影響度順インデックスリスト221に基づき、各レイヤについて、成功データの前方影響度順インデックスの上位から選択重み個数分のインデックスを選択する。以下、成功データの前方影響度順インデックスから選択された、選択重み個数(図13の符号E参照)分の上位のインデックスを成功データの前方影響度上位インデックスという場合がある。成功データの前方影響度上位インデックスは、出力に対する重みの影響が大きい重みの集合である。図13の符号Bに、成功データの前方影響度上位インデックスの例を示す。
Moreover, based on the forward impact
成功データの前方影響度上位インデックスは、前方影響度順インデックスリスト221(リストI(l) fwd_pos)の上位からc(l)個の重みを選択した集合I(l)’ fwd_posである。 The forward influence upper index of the success data is a set I (l) ' fwd_pos in which c (l) weights are selected from the top of the forward influence order index list 221 (list I (l) fwd_pos ).
修正対象重み特定部107は、選択した成功データの前方影響度上位インデックスを記憶装置13等の所定の記憶領域に記憶させる。
The correction target
修正対象重み特定部107は、失敗データに基づく後方影響度順インデックスリスト231に基づき、各レイヤについて、失敗データの後方影響度順インデックスの上位から選択重み個数分のインデックスを選択する。以下、失敗データの後方影響度順インデックスから選択された、選択重み個数(図13の符号E参照)分の上位のインデックスを失敗データの後方影響度上位インデックスという場合がある。失敗データの後方影響度上位インデックスは、出力に対する重みの影響が大きい重みの集合である。図13の符号Cに、失敗データの前方影響度上位インデックスの例を示す。
Based on the backward impact
失敗データの後方影響度上位インデックスは、後方影響度順インデックスリスト231(リストI(l) grad_neg)の上位からc(l)個の重みを選択した集合I(l)’ grad_negである。 The backward impact high-order index of failure data is a set I (l)′ grad_neg of c (l) weights selected from the top of the backward impact order index list 231 (list I (l) grad_neg ) .
修正対象重み特定部107は、選択した失敗データの後方影響度上位インデックスを記憶装置13等の所定の記憶領域に記憶させる。
The correction target
修正対象重み特定部107は、成功データに基づく後方影響度順インデックスリスト241に基づき、各レイヤについて、成功データの後方影響度順インデックスの上位から選択重み個数分のインデックスを選択する。以下、成功データの後方影響度順インデックスから選択された、選択重み個数(図13の符号E参照)分の上位のインデックスを成功データの後方影響度上位インデックスという場合がある。成功データの後方影響度上位インデックスは、出力に対する重みの影響が大きい重みの集合である。図13の符号Dに、成功データの後方影響度上位インデックスの例を示す。
Based on the backward impact
成功データの後方影響度上位インデックスは、後方影響度順インデックスリスト241(リストI(l) grad_pos)の上位からc(l)個の重みを選択した集合I(l)’ grad_posである。 The backward influence high index of the success data is a set I (l)′ grad_pos of c (l) weights selected from the top of the backward influence order index list 241 (list I (l) grad_pos ) .
修正対象重み特定部107は、選択した成功データの後方影響度上位インデックスを記憶装置13等の所定の記憶領域に記憶させる。
The correction target
そして、修正対象重み特定部107は、失敗データXkに影響する重みのうち、成功データXnearに影響しない重みを、修正対象重みとして決定(特定)する。修正対象重み特定部107は、DNNモデルMを構成する各レイヤにおいて、失敗データに対する影響度の上位に含まれ、且つ、成功データに対する影響度の上位に含まれない重みを修正対象重みとして選択する。
Then, the correction target
具体的には、DNNモデルMを構成する各レイヤにおいて、修正対象重み特定部107は、失敗データの前方影響度上位インデックス(集合I(l)’
fwd_neg)と失敗データの後方影響度上位インデックス(集合I(l)’
grad_neg)との積集合(∩)に対して、成功データの前方影響度上位インデックス(集合I(l)’
fwd_pos)と成功データの後方影響度上位インデックス(集合I(l)’
grad_pos)との積集合(∩)の差集合(\)をとることで、修正対象重み(W(l)
localize)を特定する。
Specifically, in each layer that configures the DNN model M, the correction target
すなわち、修正対象重み特定部107は、DNNモデルMを構成する各レイヤにおいて、以下の式(7)を満たす重みを、修正対象重みとして決定する。
失敗データの前方影響度上位インデックス(集合I(l)’ fwd_neg)と失敗データの後方影響度上位インデックス(集合I(l)’ grad_neg)との積集合(∩)は、失敗データXkへの影響が高い(影響が上位の)重みの集合である。一方、成功データの前方影響度上位インデックス(集合I(l)’ fwd_pos)と成功データの後方影響度上位インデックス(集合I(l)’ grad_pos)との積集合(∩)は、成功データXnearへの影響が高い(影響が上位の)重みの集合である。 The intersection (∩) of the upper index of the forward influence of the failed data (set I (l)' fwd_neg ) and the upper index of the backward influence of the failed data (set I (l)' grad_neg ) is the A set of weights with high impact (high impact). On the other hand, the intersection (∩) of the upper index of forward influence of successful data (set I (l)' fwd_pos ) and the upper index of backward influence of successful data (set I (l)' grad_pos ) is the success data X near is a set of weights that have a high impact on (high impact).
従って、上記の式(7)においては、修正対象重み(W(l) localize)として、失敗データXkへの影響が高い(上位の)重みの集合の内、成功データXnearへの影響が小さい重みの集合を選択することを示す。 Therefore, in the above formula (7), among the set of weights to be corrected (W (l) localize ) that have a high (higher order) influence on the failure data X k , the influence on the success data X near is Indicates to select a set of small weights.
ここで、レイヤlにおいてsusp(l)に応じて決まった重みの個数をmとする。修正対象重み特定部107は、I(l)
fwd_neg,I(l)
grad_neg,I(l)
fwd_pos,I(l)
grad_posの上位m位までのそれぞれの部分集合I(l)’
fwd_neg,I(l)’
grad_neg,I(l)’
fwd_pos,I(l)’
grad_posについて(I(l)’
fwd_neg∩I(l)’
grad_neg)\(I(l)’
fwd_pos∩I(l)’
grad_pos)を取り、それを修正対象の重みのindex I(l)
localizeとする。
Here, let m be the number of weights determined according to susp (l) in layer l. The correction target
なお、レイヤlの修正対象の重みW(l)
localizeは、下記式(7’)で表すことができ、全レイヤの修正対象の重みWlocalizeは、下記式(7”)で表すことができる。
図14は実施形態の一例としての情報処理装置1の修正対象重み特定部107による修正対象重みの選択方法を例示する図である。
FIG. 14 is a diagram illustrating a method of selecting correction target weights by the correction target
図14において、符号Aは「失敗データの前方影響度上位インデックス(集合I(l)’ fwd_neg)」を例示し、符号Bは「失敗データの後方影響度上位インデックス(集合I(l)’ grad_neg)」を例示する。 In FIG. 14, symbol A indicates the "upper index of forward influence of failed data (set I (l)' fwd_neg )", and symbol B indicates the upper index of backward influence of failed data (set I (l)' grad_neg )” is exemplified.
これらの「失敗データの前方影響度上位インデックス(集合I(l)’ fwd_neg)」と「失敗データの後方影響度上位インデックス(集合I(l)’ grad_neg)」との積集合(∩)の重み要素は{77, 11, 425, 572}である。 The weight of the intersection (∩) of these "upper index of forward influence of failure data (set I (l)' fwd_neg )" and "upper index of backward influence of failure data (set I (l)' grad_neg )" The elements are {77, 11, 425, 572}.
また、図14において、符号Cは「成功データの前方影響度上位インデックス(集合I(l)’ fwd_pos)」を例示し、符号Dは「成功データの後方影響度上位インデックス(集合I(l)’ grad_pos)」を例示する。 Further, in FIG. 14, symbol C indicates "upper index of forward influence of successful data (set I (l)' fwd_pos )", and symbol D indicates "upper index of backward influence of successful data (set I (l) ' grad_pos )'.
これらの「成功データの前方影響度上位インデックス(集合I(l)’ fwd_pos)」と「成功データの後方影響度上位インデックス(集合I(l)’ grad_pos)」との積集合(∩)の重み要素は{287, 11, 425}である。 The weight of the intersection (∩) of these "upper index of forward influence of successful data (set I (l)' fwd_pos )" and "upper index of backward influence of successful data (set I (l)' grad_pos )" The elements are {287, 11, 425}.
そして、重み要素の集合{77, 11, 425, 572}と重み要素の集合{287, 11, 425}との差集合(\)は重み要素{77, 572}である。このような場合には、修正対象重み特定部107は、重み要素{77, 572}を修正対象の重みとして選択する。
The difference set (\) between the weighting element set {77, 11, 425, 572} and the weighting element set {287, 11, 425} is the weighting element {77, 572}. In such a case, correction target
このように、修正対象重み特定部107は、絞り込み済失敗データと絞り込み成功データとをDNNモデルに入力した場合の順伝播の際に算出される数値と逆伝播の際に算出される数値とに基づいて、DNNモデルに含まれる複数の学習パラメータ(第1の複数のパラメータ)のうち修正対象重み(第2の複数のパラメータ)を特定する。
In this way, the correction target
修正対象重み特定部107は、上記式(7’)で示す修正対象の重みW(l)
localizeを記憶装置13等の所定の記憶領域に記憶させる。そして、修正対象重み特定部107は、上記式(7”)で示す修正対象の重みWlocalizeを出力する。
The correction target
このようにして出力されるWlocalizeに対して、例えば、PSO(Particle swarm optimization)を用いて重み修正が行なわれてよい。なお、適応度(fitness)は以下の式(8)を用いて求めてもよい。
なお、Npatchedは修正された失敗テストデータ数を示し、Nintactは成功のまま変わらない成功テストデータ数を示す。PSOは既知の手法であり、その詳細な説明は省略する。 Note that N patched indicates the number of modified failed test data, and N intact indicates the number of successful test data that remains unchanged. PSO is a known method, and detailed description thereof will be omitted.
(B)動作
次に、上述の如く構成された実施形態の一例としての情報処理装置1における処理の概要を、図15に示すフローチャート(ステップA1~A8)に従って説明する。
(B) Operation Next, the outline of the processing in the
ステップA1において、テストデータと訓練済みのDNNモデルとが情報処理装置1に入力される。
At step A<b>1 , test data and a trained DNN model are input to the
ステップA2において、テストデータ分類部102がテストデータの分類処理を実行する。このテストデータ分類部102によるテストデータの分類処理の詳細は、図16に示すフローチャートを用いて後述する。
At step A2, the test
ステップA3において、近傍成功データ探索部103が失敗データの近傍の成功データの探索処理を実行する。この近傍成功データ探索部103による失敗データの近傍の成功データの探索処理の詳細は、図17に示すフローチャートを用いて後述する。
At step A3, the neighboring successful
ステップA4において、失敗データ絞り込み部104が失敗データ集合Xk(絞り込み済失敗データリストXk)の作成処理を実行する。この失敗データ絞り込み部104による失敗データ集合Xk(絞り込み済失敗データリストXk)の作成処理の詳細は、図18に示すフローチャートを用いて後述する。
At step A4, the failed
ステップA5において、成功データ絞り込み部105が成功データの集合Xnear(絞り込み済成功データリストXnear)の作成処理を実行する。この成功データ絞り込み部105による成功データの集合Xnear(絞り込み済成功データリストXnear)の作成処理の詳細は、図19に示すフローチャートを用いて後述する。
At step A5, the success data narrowing down
ステップA6において、重み影響度測定部106が失敗データの前方影響度および成功データの前方影響度をそれぞれ算出する。この重み影響度測定部106による失敗データの前方影響度および成功データの前方影響度の算出処理の詳細は、図20に示すフローチャートを用いて後述する。
At step A6, the
ステップA7において、修正対象重み特定部107が、DNNモデルのレイヤ毎に、選択重み個数を決定し、修正対象とする重みを決定(特定)する。この修正対象重み特定部107による、選択重み個数の決定や、修正対象とする重みを決定する処理の詳細は、図21に示すフローチャートを用いて後述する。
In step A7, the correction target
その後、ステップA8において、修正対象の重みが出力され、処理を終了する。 After that, in step A8, the weight to be modified is output, and the process is terminated.
次に、実施形態の一例としての情報処理装置1のテストデータ分類部102の処理を、図16に示すフローチャート(ステップB1~B9)に従って説明する。
Next, the processing of the test
ステップB1において、情報処理装置1に、テストデータリスト,テストデータの正解ラベルおよび訓練済みのDNNモデルMが入力される。
At step B1, the
ステップB2において、テストデータ分類部102は、失敗データリストXnegおよび成功データリストXposの格納先をメモリ12(図25参照)に確保する。
In step B2, the test
ステップB3では、テストデータリスト中に存在する全てのテストデータ(入力データ)に対して、ステップB7までの制御を繰り返し実施するループ処理を開始する。 At step B3, a loop process is started to repeat the control up to step B7 for all test data (input data) existing in the test data list.
ステップB4において、テストデータ分類部102は、テストデータを訓練済みのDNNモデルMに入力し推定ラベルを計算する。
In step B4, the test
ステップB5において、テストデータ分類部102は、DNNモデルMから出力された推定ラベルとそのテストデータの正解ラベルとが一致するかを確認する。
At step B5, the test
確認の結果、推定ラベルと正解ラベルとが一致する場合には(ステップB5でYES)、ステップB6に移行する。ステップB6において、テストデータ分類部102は、成功データリストXposにテストデータを追加する。
As a result of confirmation, if the estimated label and the correct label match (YES in step B5), the process proceeds to step B6. At step B6, the test
また、ステップB5における確認の結果、推定ラベルと正解ラベルとが不一致の場合には(ステップB5でNO)、ステップB7に移行する。ステップB7において、テストデータ分類部102は、失敗データリストXnegにテストデータを追加する。
If the result of confirmation in step B5 is that the estimated label and the correct label do not match (NO in step B5), the process proceeds to step B7. At step B7, the test
その後、制御がステップB8に進む。ステップB8では、ステップB3に対応するループ端処理が実施される。ここで、全テストデータについての処理が完了すると、制御がステップB9に進む。 Control then proceeds to step B8. At step B8, loop end processing corresponding to step B3 is performed. Here, when the processing for all test data is completed, the control proceeds to step B9.
ステップB9において、失敗データリストXnegおよび成功データリストXposが出力される。その後、処理を終了する。 At step B9, the failure data list X neg and the success data list X pos are output. After that, the process ends.
次に、実施形態の一例としての情報処理装置1の近傍成功データ探索部103の処理を、図17に示すフローチャート(ステップC1~C15)に従って説明する。
Next, processing of the neighborhood success
ステップC1において、失敗データリストXneg,成功データリストXposおよび訓練済みのDNNモデルMが入力される。 At step C1, the failed data list X neg , the successful data list X pos and the trained DNN model M are input.
ステップC2において、近傍成功データ探索部103は、失敗データに対する近傍成功データリストNNの格納先を、メモリ12上に確保する。
In step C2, the neighborhood success
ステップC3では、失敗データリストXnegに含まれる全ての失敗データneg(neg∈Xneg)に対して、ステップC13までの処理を繰り返し実施するループ処理を開始する。 In step C3, a loop process is started in which the processes up to step C13 are repeated for all the failed data neg (negεX neg ) included in the failed data list X neg .
ステップC4において、近傍成功データ探索部103は、DNNモデルMに、失敗データnegを入力し、最後段の層の出力ynegを計算する。
In step C4, the neighborhood success
ステップC5において、近傍成功データ探索部103は、上記の式(1)を用いて、失敗データnegの分類境界層までの距離を算出する。
In step C5, the neighborhood success
ステップC6において、近傍成功データ探索部103は、失敗データnegに対する近傍成功データリストXnear, nagの格納先領域をメモリ12上に確保する。
In step C6, the near success
ステップC7では、成功データリストXposに含まれる全ての成功データpos(pos∈Xpos)に対して、ステップC11までの処理を繰り返し実施するループ処理を開始する。 At step C7, a loop process is started to repeat the processes up to step C11 for all the successful data pos (posεX pos ) included in the successful data list X pos .
ステップC8において、近傍成功データ探索部103は、DNNモデルMに成功データposを入力し、最後段の層の出力yposを計算する。
In step C8, the neighborhood success
ステップC9において、近傍成功データ探索部103は、上記の式(2)を用いて、失敗データnegから成功データposまでの距離を算出する。
At step C9, the neighboring successful
ステップC10において、近傍成功データ探索部103は、近傍係数cに対して、db>c×daの条件を満たすかを確認する。すなわち、近傍成功データ探索部103は、成功データposが失敗データnegの近傍範囲内にあるかを確認する。
In step C10, the neighborhood success
db>c×daの条件を満たす場合には(ステップC10でYES)、ステップC11に移行する。 If the condition d b >c×d a is satisfied (YES in step C10), the process proceeds to step C11.
ステップC11において、近傍成功データ探索部103は、失敗データnegの近傍成功データリストXnear, negに成功データposを追加する。
In step C11, the near success
また、ステップC10における確認の結果、db>c×daの条件が満たされていない場合には(ステップC10でNO)、ステップC12に移行する。 As a result of confirmation in step C10, if the condition d b >c×d a is not satisfied (NO in step C10), the process proceeds to step C12.
ステップC12では、ステップC7に対応するループ端処理が実施される。ここで、全ての成功データリストXposの全ての成功データposについての処理が完了すると、処理がステップC13に進む。 At step C12, loop end processing corresponding to step C7 is performed. Here, when the processing for all successful data pos in all successful data lists X pos is completed, the process proceeds to step C13.
ステップC13において、近傍成功データ探索部103は、失敗データnegの近傍成功データリストNN[neg]に失敗データnegに対する近傍成功データリストXnear, nagを追加する。
In step C13, the neighborhood success
その後、ステップC14において、ステップC3に対応するループ端処理が実施される。ここで、失敗データリストXnegに含まれる全ての失敗データnegについての処理が完了すると、処理がステップC15に進む。 Thereafter, in step C14, loop end processing corresponding to step C3 is performed. Here, when the processing for all failed data neg included in the failed data list X neg is completed, the process proceeds to step C15.
ステップC15において、近傍成功データリストNNが出力され、その後、処理を終了する。 At step C15, the neighborhood success data list NN is output, and then the process is terminated.
次に、実施形態の一例としての情報処理装置1の失敗データ絞り込み部104による処理を、図18に示すフローチャート(ステップD1~D5)に従って説明する。
Next, processing by the failed
ステップD1において、失敗データリストXnegおよび近傍成功データリストNNが入力される。 At step D1, a failed data list X neg and a neighborhood successful data list NN are input.
ステップD2において、失敗データ絞り込み部104は、絞り込み済失敗データリストXkの格納先を、メモリ12等の記憶領域に確保する。
In step D2, the failed
ステップD3において、失敗データ絞り込み部104は、失敗データリストXnegを、各失敗データnegに対する近傍成功データの数(NN[neg])に従って、昇順にソートする。
In step D3, the failure
ステップD4において、失敗データ絞り込み部104は、ソートした失敗データリストXnegの上位k個の失敗データを取得して、絞り込み済失敗データリストXkに保存する。
In step D4, the failure data narrowing down
ステップD5において、絞り込み済失敗データリストXkが出力され、その後、処理を終了する。 At step D5, the narrowed-down failure data list Xk is output, and then the process is terminated.
次に、実施形態の一例としての情報処理装置1の成功データ絞り込み部105の処理を、図19に示すフローチャート(ステップE1~E6)に従って説明する。
Next, the processing of the successful data narrowing down
ステップE1において、絞り込み済失敗データリストXkおよび近傍成功データリストNNが入力される。 At step E1, a narrowed failed data list X k and a neighboring successful data list NN are input.
ステップE2において、成功データ絞り込み部105は、絞り込み済成功データリストXnearの格納先を、メモリ12等の記憶領域に確保する。
In step E2, the successful
ステップE3では、絞り込み済失敗データリストXkに含まれる全ての失敗データneg(neg∈Xk)に対して、ステップE4の処理を繰り返し実施するループ処理を開始する。 At step E3, loop processing is started to repeat the processing at step E4 for all failure data neg ( negεXk ) included in the narrowed down failure data list Xk .
ステップE4において、成功データ絞り込み部105は、失敗データnegの近傍成功データリストNN[neg]を、絞り込み済成功データリストXnearにデータの重複がないように追加する。
In step E4, the success
ステップE5では、ステップE3に対応するループ端処理が実施される(第1ループ終了)。ここで、絞り込み済失敗データリストXkに含まれる全ての失敗データneg(neg∈Xk)に対しての処理が完了すると、処理がステップE6に進む。 At step E5, loop end processing corresponding to step E3 is performed (end of the first loop). Here, when the processing for all failure data neg (negεX k ) included in the narrowed-down failure data list X k is completed, the process proceeds to step E6.
ステップE6において、絞り込み済成功データリストXnearが出力され、処理が終了する。 At step E6, the narrowed-down success data list Xnear is output, and the process ends.
次に、実施形態の一例としての情報処理装置1の重み影響度測定部106の処理を、図20に示すフローチャート(ステップF1~F4)に従って説明する。
Next, the processing of the weighted
ステップF1において、絞り込み済失敗データリストXk,絞り込み済成功データリストXnearおよび訓練済みのDNNモデルMが入力される。 In step F1, the narrowed down failure data list X k , the narrowed down success data list X near and the trained DNN model M are input.
ステップF2において、重み影響度測定部106は、絞り込み済失敗データリストXkをDNNモデルMに入力する。重み影響度測定部106は、各重みの前方影響度fwdnegと各重みの後方影響度gradnegとを算出し、これらをメモリ12等の記憶領域に保存させる。
In step F2, the weighted
ステップF3において、重み影響度測定部106は、絞り込み済成功データリストXnearをDNNモデルMに入力する。重み影響度測定部106は、各重みの前方影響度fwdposと各重みの後方影響度gradposとを算出し、これらをメモリ12等の記憶領域に保存させる。
In step F3, the weighted
ステップF4において、抽出された失敗データXkに対する各重みの前方影響度fwdneg,抽出された失敗データXkに対する各重みの後方影響度gradneg,抽出された成功データXnearに対する各重みの前方影響度fwdposおよび抽出された成功データXnearに対する各重みの後方影響度gradposが出力される。その後、処理を終了する。 In step F4, the forward influence fwd neg of each weight on the extracted failure data X k , the backward influence grad neg of each weight on the extracted failure data X k , the forward influence of each weight on the extracted successful data X near The influence fwd pos and the backward influence grad pos of each weight for the extracted successful data X near are output. After that, the process ends.
次に、実施形態の一例としての情報処理装置1の修正対象重み特定部107の処理を、図21に示すフローチャート(ステップG1~G8)に従って説明する。
Next, the processing of the correction target
ステップG1において、抽出された失敗データXkに対する各重みの前方影響度fwdneg,抽出された失敗データXkに対する各重みの後方影響度gradneg,抽出された成功データXnearに対する各重みの前方影響度fwdposおよび抽出された成功データXnearに対する各重みの後方影響度gradposおよび訓練済みのDNNモデルMが入力される。 In step G1, the forward influence fwd neg of each weight on the extracted failure data X k , the backward influence grad neg of each weight on the extracted failure data X k , the forward influence of each weight on the extracted successful data X near The influence fwd pos and the backward influence grad pos of each weight on the extracted success data X near and the trained DNN model M are input.
ステップG2において、修正対象重み特定部107は、各重みの影響度(fwdneg,gradneg,fwdpos,gradpos)を用いて、各レイヤで選択する重みの個数(選択重み個数)mを決定する。
In step G2, modification target
ステップG3において、修正対象重み特定部107は、DNNモデルMの各重みを前方影響度fwdnegに対して降順にソートし、上位m個の重み集合Wf,nとする。この重み集合Wf,nは、前方影響度順インデックスリスト211(リストI(l)
fwd_neg)の上位から選択した集合I(l)’
fwd_neg(失敗データの前方影響度上位インデックス)の一例である。
In step G3, the correction target
ステップG4において、修正対象重み特定部107は、DNNモデルMの各重みを後方影響度gradnegに対して降順にソートし、上位m個の重み集合Wg,nとする。この重み集合Wg,nは、後方影響度順インデックスリスト231(リストI(l)
grad_neg)の上位から選択した集合I(l)’
grad_neg(失敗データの後方影響度上位インデックス)の一例である。
In step G4, the correction target
ステップG5において、修正対象重み特定部107は、DNNモデルMの各重みを前方影響度fwdposに対して降順にソートし、上位m個の重み集合Wf,pとする。この重み集合Wf,pは、前方影響度順インデックスリスト221(リストI(l)
fwd_pos)の上位から選択した集合I(l)’
fwd_pos(成功データの前方影響度上位インデックス)の一例である。
In step G5, the correction target
ステップG6において、修正対象重み特定部107は、DNNモデルMの各重みを後方影響度gradposに対して降順にソートし、上位m個の重み集合Wg,pとする。この重み集合Wg,pは、後方影響度順インデックスリスト241(リストI(l)
grad_pos)の上位から選択した集合I(l)’
grad_pos(成功データの後方影響度上位インデックス)の一例である。
In step G6, the correction target
ステップG7において、修正対象重み特定部107は、修正対象の重みWlocalizedを以下の式(9)を用いて算出し、メモリ12等の記憶領域に記憶させる。
Wlocalized = (Wf,n∩Wg,n) \(Wf,p∩Wg,p) (9)
In step G7, the correction target
W localized = (W f,n ∩ W g, n ) \(W f, p ∩ W g, p ) (9)
ステップG8において、修正対象の重みWlocalizedが出力され、処理を終了する。 At step G8, the weight W localized to be modified is output, and the process ends.
そして、このように生成された修正対象重みWlocalizeを対象として、例えば、PSOを用いて重み修正が行なわれる。 Then, the correction target weight W localize generated in this manner is subjected to weight correction using, for example, PSO.
(C)一実施形態の効果
このように、実施形態の一例としての情報処理装置1によれば、失敗データ絞り込み部104は、複数の失敗データのうち、近傍半径(cda)の範囲内にある成功データの数が少ない失敗データから優先して選択した上位k個のデータを、絞り込み済失敗データとして決定する。
(C) Effect of an Embodiment As described above, according to the
また、成功データ絞り込み部105が、絞り込み済失敗データの近傍範囲に含まれる成功データを絞り込み済成功データとして選択する。
Also, the success
重み影響度測定部106が、これらの絞り込み済失敗データおよび絞り込み済成功データに基づいて、重み影響度(fwdneg,gradneg,fwdpos,gradpos)を算出する。そして、修正対象重み特定部107が、失敗データへの影響が高い(上位の)重みの集合の内、成功データへの影響が小さい重みの集合を修正対象重みとして選択する。
The weighted
これにより、DNNモデルの修正を行なうに際して、上述の如く選択された修正対象重みを更新する場合に、デグレードの発生を抑止することができ、DNNモデルの精度を向上させることができる。 As a result, when modifying the DNN model and updating the modification target weights selected as described above, the occurrence of degradation can be suppressed, and the accuracy of the DNN model can be improved.
図22はDNNモデルの修正とデグレードとの関係を説明するための図である。DNNモデルの修正を行なうことで、分類境界(決定境界)が変化する。これにより、修正前のDNNモデルでは正しく推論されたデータ(成功データ)が、修正後のDNNモデルでは正しく推論されない、いわゆるデグレードが発生する場合がある。このようなデグレードは、修正対象とする失敗データの近くにある成功データにおいて生じることが多い。 FIG. 22 is a diagram for explaining the relationship between DNN model correction and degradation. Modifying the DNN model changes the classification boundary (decision boundary). As a result, data (successful data) inferred correctly in the DNN model before correction may not be inferred correctly in the DNN model after correction, that is, so-called degradation may occur. Such degradation often occurs in successful data near the failed data to be corrected.
DNNモデルの修正に伴うデグレードの発生には、以下のポイント1,2を見ることができる。
The following
ポイント1:近くにある成功データの数が少ない失敗データは、DNNモデルの修正に伴う分類境界の変化でデグレードを起こしにくい。 Point 1: Failed data with a small number of nearby successful data are less likely to be degraded due to changes in the classification boundary accompanying modification of the DNN model.
ポイント2:分類境界から遠い失敗データを修正するときに、分類境界の変化が大きく、デグレードが起こりやすい。 Point 2: When correcting failed data far from the classification boundary, the change in the classification boundary is large, and degradation is likely to occur.
図23は実施形態の一例としての情報処理装置1において決定される修正対象重みを説明するための図である。
FIG. 23 is a diagram for explaining correction target weights determined in the
本情報処理装置1においては、上記のポイント1に基づいて、成功データが近傍にない失敗データを優先して修正対象重みの選択に用いる(符号P1参照)。これにより、DNNモデルの修正により影響を受ける成功データを少なくすることができ、デグレードの発生を抑止することができる。
In the
また、ポイント2に基づいて、失敗データに対して設定する近傍領域について、失敗データが分類境界から離れるほど、近傍半径を大きくすることで、近傍領域を広くする(符号P2参照)。これにより、分類境界から遠い失敗データの近傍領域に成功データが含まれやすくなり、その結果、分類境界から遠い失敗データが修正対象重みの選択に用いられ難くなり、デグレードの発生を抑止することができる。
Further, based on
成功データ絞り込み部105が、複数の成功データのうち、絞り込み済失敗データに含まれる失敗データを中心とし、分類境界からの距離daと近傍係数cとで決定される近傍半径(cda)の範囲内にあるデータを、絞り込み済成功データとして決定する。
The successful
これにより、失敗データの修正によりデグレードが発生するおそれがある成功データを容易に特定することができる。 This makes it possible to easily identify successful data that may be degraded by correcting failed data.
失敗データ絞り込み部104が、複数の失敗データのうちの、近傍半径(cda)の範囲内にある成功データの数が少ないものから優先して選択した上位複数(k個)のデータを、絞り込み済失敗データとして決定する。これにより、修正により近傍に位置する成功データにデグレードが発生するおそれが少ない失敗データを修正対象重みの選択に用いることができ、DNNモデルの修正により影響を受ける成功データを少なくし、デグレードの発生を抑止することができる。
The failure data narrowing-down
図24は実施形態の一例としての情報処理装置1におけるシミュレーション結果を例示する図である。
FIG. 24 is a diagram illustrating simulation results in the
この図24においては、GTSRB(The German Traffic Sign Recognition Benchmark)の交通標識の画像を対象データとして、情報処理装置1による修正対象エッジ決定手法を従来手法(Arachne)と比較して表す。
FIG. 24 compares the correction target edge determination method by the
この図24に示すように、情報処理装置1による機械学習方法によれば、十分なRepairRateの上でBreakRateを抑えることに成功していることがわかる。
As shown in FIG. 24, according to the machine learning method by the
(D)ハードウェア構成例
図25は実施形態の一例としての情報処理装置1のハードウェア構成を例示する図である。
(D) Hardware Configuration Example FIG. 25 is a diagram illustrating the hardware configuration of the
情報処理装置1は、コンピュータの一例であって、例えば、プロセッサ11,メモリ12,記憶装置13,グラフィック処理装置14,入力インタフェース15,光学ドライブ装置16,機器接続インタフェース17およびネットワークインタフェース18を構成要素として有する。これらの構成要素11~18は、バス19を介して相互に通信可能に構成される。
The
プロセッサ11は、情報処理装置1全体を制御する。プロセッサ11は、マルチプロセッサであってもよい。プロセッサ11は、例えばCPU(Central Processing Unit),MPU(Micro Processing Unit),DSP(Digital Signal Processor),ASIC(Application Specific Integrated Circuit),PLD(Programmable Logic Device),FPGA(Field Programmable Gate Array)のいずれか一つであってもよい。また、プロセッサ11は、CPU,MPU,DSP,ASIC,PLD,FPGAのうちの2種類以上の要素の組み合わせであってもよい。プロセッサ11は、GPU(Graphics Processing Unit)であってもよい。
The
そして、プロセッサ11が情報処理装置1用の制御プログラム(機械学習プログラム:図示省略)を実行することにより、図1に例示した、モデル訓練部101,テストデータ分類部102,近傍成功データ探索部103,失敗データ絞り込み部104,成功データ絞り込み部105,重み影響度測定部106および修正対象重み特定部107を含む制御部としての機能が実現される。
Then, the
なお、情報処理装置1は、例えばコンピュータ読み取り可能な非一時的な記録媒体に記録されたプログラム(機械学習プログラム,OSプログラム)を実行することにより、制御部としての機能を実現してよい。
Note that the
情報処理装置1に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、情報処理装置1に実行させるプログラムを記憶装置13に格納しておくことができる。プロセッサ11は、記憶装置13内のプログラムの少なくとも一部をメモリ12にロードし、ロードしたプログラムを実行する。
A program describing the contents of processing to be executed by the
また、情報処理装置1(プロセッサ11)に実行させるプログラムを、光ディスク16a,メモリ装置17a,メモリカード17c等の非一時的な可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ11からの制御により、記憶装置13にインストールされた後、実行可能になる。また、プロセッサ11が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
Also, the program to be executed by the information processing device 1 (processor 11) can be recorded in a non-temporary portable recording medium such as the
メモリ12は、ROM(Read Only Memory)およびRAM(Random Access Memory)を含む記憶メモリである。メモリ12のRAMは情報処理装置1の主記憶装置として使用される。RAMには、プロセッサ11に実行させるプログラムの少なくとも一部が一時的に格納される。また、メモリ12には、プロセッサ11による処理に利用される各種データが格納される。
The
記憶装置13は、ハードディスクドライブ(Hard Disk Drive:HDD)、SSD(Solid State Drive)、ストレージクラスメモリ(Storage Class Memory:SCM)等の記憶装置であって、種々のデータを格納するものである。記憶装置13は、情報処理装置1の補助記憶装置として使用される。
The
記憶装置13には、OSプログラム,制御プログラムおよび各種データが格納される。制御プログラムには機械学習プログラムが含まれる。
The
なお、補助記憶装置としては、SCMやフラッシュメモリ等の半導体記憶装置を使用することもできる。また、複数の記憶装置13を用いてRAID(Redundant Arrays of Inexpensive Disks)を構成してもよい。
A semiconductor storage device such as an SCM or flash memory can also be used as the auxiliary storage device. Alternatively, a plurality of
記憶装置13には、DNNモデルMの情報を格納してもよく、また、テストデータ(失敗データ,成功データ)を格納してもよい。さらに、記憶装置13には、近傍成功データ,絞り込み済失敗データ,絞り込み済成功データ,各影響度の少なくとも一部を格納してもよい。また、記憶装置13には、重み影響度測定部106が決定したレイヤ毎の選択重み個数を格納してもよい。
The
グラフィック処理装置14には、モニタ14aが接続されている。グラフィック処理装置14は、プロセッサ11からの命令に従って、画像をモニタ14aの画面に表示させる。モニタ14aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置等が挙げられる。
A
入力インタフェース15には、キーボード15aおよびマウス15bが接続されている。入力インタフェース15は、キーボード15aやマウス15bから送られてくる信号をプロセッサ11に送信する。なお、マウス15bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル,タブレット,タッチパッド,トラックボール等が挙げられる。
A
光学ドライブ装置16は、レーザ光等を利用して、光ディスク16aに記録されたデータの読み取りを行なう。光ディスク16aは、光の反射によって読み取り可能にデータを記録された可搬型の非一時的な記録媒体である。光ディスク16aには、DVD(Digital Versatile Disc),DVD-RAM,CD-ROM(Compact Disc Read Only Memory),CD-R(Recordable)/RW(ReWritable)等が挙げられる。
The
機器接続インタフェース17は、情報処理装置1に周辺機器を接続するための通信インタフェースである。例えば、機器接続インタフェース17には、メモリ装置17aやメモリリーダライタ17bを接続することができる。メモリ装置17aは、機器接続インタフェース17との通信機能を搭載した非一時的な記録媒体、例えばUSB(Universal Serial Bus)メモリである。メモリリーダライタ17bは、メモリカード17cへのデータの書き込み、またはメモリカード17cからのデータの読み出しを行なう。メモリカード17cは、カード型の非一時的な記録媒体である。
The
ネットワークインタフェース18は、ネットワークに接続される。ネットワークインタフェース18は、ネットワークを介してデータの送受信を行なう。ネットワークには他の情報処理装置や通信機器等が接続されてもよい。
A
なお、上述した実施形態に関わらず、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。 In addition, regardless of the embodiment described above, various modifications can be made without departing from the gist of the present embodiment.
例えば、上述した実施形態においては、DNNに適用した例を示しているが、これに限定されるものではなく、NNに適用してもよい。 For example, in the above-described embodiment, an example of application to DNN is shown, but the present invention is not limited to this and may be applied to NN.
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。 Moreover, the present embodiment can be implemented and manufactured by those skilled in the art based on the above disclosure.
(E)付記
以上の実施形態に関し、さらに以下の付記を開示する。
(E) Supplementary Note Regarding the above embodiment, the following Supplementary Note will be disclosed.
(付記1)
第1の複数のデータのうち、前記第1の複数のデータのそれぞれに対する第1の機械学習モデルの出力値に応じた予測結果が正しい第2の複数のデータと正しくない第3の複数のデータとを特定し、
前記第3の複数のデータに含まれるデータに対する前記第1の機械学習モデルの出力値と前記第3の複数のデータに含まれるデータに対応する正解ラベルの値との間の差分、前記第3の複数のデータのそれぞれに対する前記第1の機械学習モデルの出力値と前記第2の複数のデータのそれぞれに対する前記第1の機械学習モデルの出力値との差分とに基づいて、前記第3の複数のデータのうち第4の複数のデータと、前記第2の複数のデータのうち前記第4のデータに関連する第5の複数のデータとを選択し、
前記第4の複数のデータと前記第5の複数のデータとを前記第1の機械学習モデルに入力した場合の順伝播の際に算出される数値と逆伝播の際に算出される数値とに基づいて、前記第1の機械学習モデルに含まれる第1の複数のパラメータのうち第2の複数のパラメータを特定し、
前記第1の複数のパラメータのうち前記第2の複数のパラメータのみを更新することによって第2の機械学習モデルを生成する、
処理をコンピュータに実行させる、機械学習プログラム。
(Appendix 1)
Among the first plurality of data, a second plurality of data and a third plurality of data having incorrect prediction results according to the output value of the first machine learning model for each of the first plurality of data and
the difference between the output value of the first machine learning model for the data included in the third plurality of data and the correct label value corresponding to the data included in the third plurality of data; Based on the difference between the output value of the first machine learning model for each of the plurality of data and the output value of the first machine learning model for each of the second plurality of data, the third selecting a fourth plurality of data of the plurality of data and a fifth plurality of data of the second plurality of data related to the fourth plurality of data;
Numerical values calculated during forward propagation and numerical values calculated during backpropagation when the fourth plurality of data and the fifth plurality of data are input to the first machine learning model Based on, identifying a second plurality of parameters among the first plurality of parameters included in the first machine learning model,
generating a second machine learning model by updating only the second plurality of parameters of the first plurality of parameters;
A machine learning program that makes a computer perform a process.
(付記2)
前記第5の複数のデータを選択する処理は、前記第2の複数のデータのうち、前記第4の複数のデータのデータを中心とし、当該データに対する前記第1の機械学習モデルの出力値間の差分と近傍係数とで決定される近傍半径の範囲内にあるデータを、前記第5の複数のデータとして決定する処理を含む、
付記1に記載の機械学習プログラム。
(Appendix 2)
In the process of selecting the fifth plurality of data, centering on the data of the fourth plurality of data among the second plurality of data, between the output values of the first machine learning model for the data A process of determining data within the range of the neighborhood radius determined by the difference and the neighborhood coefficient as the fifth plurality of data,
The machine learning program according to
(付記3)
前記第4の複数のデータを選択する処理は、前記第3の複数のデータのうち、前記近傍半径の範囲内にある前記第5の複数のデータの数が少ないものから優先して選択した上位複数のデータを、前記第4の複数のデータとして決定する処理を含む、
付記2に記載の機械学習プログラム。
(Appendix 3)
In the process of selecting the fourth plurality of data, among the third plurality of data, the fifth plurality of data within the range of the neighborhood radius is preferentially selected in descending order of priority. A process of determining a plurality of data as the fourth plurality of data,
The machine learning program according to
(付記4)
前記第2の複数のパラメータを特定する処理は、前記第3の複数のデータへの影響度が高いパラメータを優先して選択した第1パラメータ群から、前記第2の複数のデーへの影響度が小さいパラメータを優先して選択した第2パラメータ群を差し引いた第3パラメータ群を前記第2の複数のパラメータとして特定する処理を含む、
付記1~付記3のいずれか1項に記載の機械学習プログラム。
(Appendix 4)
In the process of identifying the second plurality of parameters, the degree of influence on the second plurality of data is selected from a first parameter group in which parameters having a high degree of influence on the third plurality of data are preferentially selected. A process of identifying a third parameter group obtained by subtracting a second parameter group in which a parameter with a smaller value is preferentially selected as the second plurality of parameters,
The machine learning program according to any one of
(付記5)
前記第3の複数のデータへの影響度が、
前記第3の複数のデータを前記第1の機械学習モデルに入力して得られる当該第1の機械学習モデルに含まれる層の出力と、当該層における重みとの積に基づいて求められる第1前方影響度を含む
付記4に記載の機械学習プログラム。
(Appendix 5)
The degree of influence on the third plurality of data is
The first obtained based on the product of the output of the layer included in the first machine learning model obtained by inputting the third plurality of data to the first machine learning model and the weight in the layer 5. The machine learning program of
(付記6)
前記第3の複数のデータへの影響度が、
前記第2の複数のデータを前記第1の機械学習モデルに入力して得られる当該第1の機械学習モデルに含まれる層の出力と、当該層における重みとの積に基づいて求められる第2前方影響度を含む
付記4又は付記5に記載の機械学習プログラム。
(Appendix 6)
The degree of influence on the third plurality of data is
A second obtained based on the product of the output of the layer included in the first machine learning model obtained by inputting the second plurality of data to the first machine learning model and the weight in the layer 6. The machine learning program of
(付記7)
前記第3の複数のデータへの影響度が、
前記第3の複数のデータを前記第1の機械学習モデルに入力して得られる出力を重みで微分して求められる第1後方影響度を含む
付記4~付記6のいずれか1項に記載の機械学習プログラム。
(Appendix 7)
The degree of influence on the third plurality of data is
Any one of
(付記8)
前記第3の複数のデータへの影響度が、
前記第2の複数のデータを前記第1の機械学習モデルに入力して得られる出力を重みで微分して求められる第2後方影響度を含む
付記4~付記7のいずれか1項に記載の機械学習プログラム。
(Appendix 8)
The degree of influence on the third plurality of data is
Any one of
(付記9)
第1の複数のデータのうち、前記第1の複数のデータのそれぞれに対する第1の機械学習モデルの出力値に応じた予測結果が正しい第2の複数のデータと正しくない第3の複数のデータとを特定し、
前記第3の複数のデータに含まれるデータに対する前記第1の機械学習モデルの出力値と、前記第3の複数のデータに含まれるデータに対応する正解ラベルの値との間の差分と、前記第3の複数のデータのそれぞれに対する前記第1の機械学習モデルの出力値と前記第2の複数のデータのそれぞれに対する前記第1の機械学習モデルの出力値との差分とに基づいて、前記第3の複数のデータのうち第4の複数のデータと、前記第2の複数のデータのうち前記第4のデータに関連する第5の複数のデータとを選択し、
前記第4の複数のデータと前記第5の複数のデータとを前記第1の機械学習モデルに入力した場合の順伝播の際に算出される数値と逆伝播の際に算出される数値とに基づいて、前記第1の機械学習モデルに含まれる第1の複数のパラメータのうち第2の複数のパラメータを特定し、
前記第1の複数のパラメータのうち前記第2の複数のパラメータのみを更新することによって第2の機械学習モデルを生成する、
処理をコンピュータが実行する、機械学習方法。
(Appendix 9)
Among the first plurality of data, a second plurality of data and a third plurality of data having incorrect prediction results according to the output value of the first machine learning model for each of the first plurality of data and
the difference between the output value of the first machine learning model for the data included in the third plurality of data and the correct label value corresponding to the data included in the third plurality of data; Based on the difference between the output value of the first machine learning model for each of the third plurality of data and the output value of the first machine learning model for each of the second plurality of data, selecting a fourth plurality of data of the three plurality of data and a fifth plurality of data of the second plurality of data related to the fourth plurality of data;
Numerical values calculated during forward propagation and numerical values calculated during backpropagation when the fourth plurality of data and the fifth plurality of data are input to the first machine learning model Based on, identifying a second plurality of parameters among the first plurality of parameters included in the first machine learning model,
generating a second machine learning model by updating only the second plurality of parameters of the first plurality of parameters;
A machine learning method in which the processing is performed by a computer.
(付記10)
前記第5の複数のデータを選択する処理は、前記第2の複数のデータのうち、前記第4の複数のデータのデータを中心とし、当該データに対する前記第1の機械学習モデルの出力値間の差分と近傍係数とで決定される近傍半径の範囲内にあるデータを、前記第5の複数のデータとして決定する処理を含む、
付記9に記載の機械学習方法。
(Appendix 10)
In the process of selecting the fifth plurality of data, centering on the data of the fourth plurality of data among the second plurality of data, between the output values of the first machine learning model for the data A process of determining data within the range of the neighborhood radius determined by the difference and the neighborhood coefficient as the fifth plurality of data,
The machine learning method according to Appendix 9.
(付記11)
前記第4の複数のデータを選択する処理は、前記第3の複数のデータのうち、前記近傍半径の範囲内にある前記第5の複数のデータの数が少ないものから優先して選択した上位複数のデータを、第4の複数のデータとして決定する処理を含む、
付記10に記載の機械学習方法。
(Appendix 11)
In the process of selecting the fourth plurality of data, among the third plurality of data, the fifth plurality of data within the range of the neighborhood radius is preferentially selected in descending order of priority. including a process of determining the plurality of data as a fourth plurality of data;
The machine learning method according to
(付記12)
前記第2の複数のパラメータを特定する処理は、前記第3の複数のデータへの影響度が高いパラメータを優先して選択した第1パラメータ群から、前記第2の複数のデータへの影響度が小さいパラメータを優先して選択した第2パラメータ群を差し引いた第3パラメータ群を前記第2の複数のパラメータとして特定する処理を含む、
付記9~付記11のいずれか1項に記載の機械学習方法。
(Appendix 12)
In the process of specifying the second plurality of parameters, the degree of influence on the second plurality of data is selected from a first parameter group in which parameters having a high degree of influence on the third plurality of data are preferentially selected. A process of identifying a third parameter group obtained by subtracting a second parameter group in which a parameter with a smaller value is preferentially selected as the second plurality of parameters,
The machine learning method according to any one of appendices 9 to 11.
(付記13)
前記第3の複数のデータへの影響度が、
前記第3の複数のデータを前記第1の機械学習モデルに入力して得られる当該第1の機械学習モデルに含まれる層の出力と、当該層における重みとの積に基づいて求められる第1前方影響度を含む
付記12に記載の機械学習方法。
(Appendix 13)
The degree of influence on the third plurality of data is
The first obtained based on the product of the output of the layer included in the first machine learning model obtained by inputting the third plurality of data to the first machine learning model and the weight in the
(付記14)
前記第3の複数のデータへの影響度が、
前記第2の複数のデータを前記第1の機械学習モデルに入力して得られる当該第1の機械学習モデルに含まれる層の出力と、当該層における重みとの積に基づいて求められる第2前方影響度を含む
付記12又は付記13に記載の機械学習方法。
(Appendix 14)
The degree of influence on the third plurality of data is
A second obtained based on the product of the output of the layer included in the first machine learning model obtained by inputting the second plurality of data to the first machine learning model and the weight in the
(付記15)
前記第3の複数のデータへの影響度が、
前記第3の複数のデータを前記第1の機械学習モデルに入力して得られる出力を重みで微分して求められる第1後方影響度を含む
付記12~付記14のいずれか1項に記載の機械学習方法。
(Appendix 15)
The degree of influence on the third plurality of data is
Any one of
(付記16)
前記第3の複数のデータへの影響度が、
前記第2の複数のデータを前記第1の機械学習モデルに入力して得られる出力を重みで微分して求められる第2後方影響度を含む
付記12~付記15のいずれか1項に記載の機械学習方法。
(Appendix 16)
The degree of influence on the third plurality of data is
Any one of
(付記17)
第1の複数のデータのうち、前記第1の複数のデータのそれぞれに対する第1の機械学習モデルの出力値に応じた予測結果が正しい第2の複数のデータと正しくない第3の複数のデータとを特定し、
前記第3の複数のデータに含まれるデータに対する前記第1の機械学習モデルの出力値と、前記第3の複数のデータに含まれるデータに対応する正解ラベルの値との間の差分(決定境界からの距離と、前記第3の複数のデータのそれぞれに対する前記第1の機械学習モデルの出力値と前記第2の複数のデータのそれぞれに対する前記第1の機械学習モデルの出力値との差分とに基づいて、前記第3の複数のデータのうち第4の複数のデータと、前記第2の複数のデータのうち前記第4のデータに関連する第5の複数のデータとを選択し、
前記第4の複数のデータと前記第5の複数のデータとを前記第1の機械学習モデルに入力した場合の順伝播の際に算出される数値と逆伝播の際に算出される数値とに基づいて、前記第1の機械学習モデルに含まれる第1の複数のパラメータのうち第2の複数のパラメータを特定し、
前記第1の複数のパラメータのうち前記第2の複数のパラメータのみを更新することによって第2の機械学習モデルを生成する、
処理を実行する制御部を備える、情報処理装置。
(Appendix 17)
Among the first plurality of data, a second plurality of data and a third plurality of data having incorrect prediction results according to the output value of the first machine learning model for each of the first plurality of data and
The difference (decision boundary and the difference between the output value of the first machine learning model for each of the third plurality of data and the output value of the first machine learning model for each of the second plurality of data and selecting a fourth plurality of data of the third plurality of data and a fifth plurality of data of the second plurality of data related to the fourth plurality of data based on
Numerical values calculated during forward propagation and numerical values calculated during backpropagation when the fourth plurality of data and the fifth plurality of data are input to the first machine learning model Based on, identifying a second plurality of parameters among the first plurality of parameters included in the first machine learning model,
generating a second machine learning model by updating only the second plurality of parameters of the first plurality of parameters;
An information processing apparatus comprising a control unit that executes processing.
(付記18)
前記制御部が、
前記第2の複数のデータのうち、前記第4の複数のデータのデータを中心とし、当該データに対する前記第1の機械学習モデルの出力値間の差分と近傍係数とで決定される近傍半径の範囲内にあるデータを、前記第5の複数のデータとして決定する
付記17に記載の情報処理装置。
(Appendix 18)
The control unit
of the neighborhood radius determined by the difference between the output values of the first machine learning model for the data and the neighborhood coefficient, centering on the data of the fourth plurality of data among the second plurality of
(付記19)
前記制御部が、
前記第3の複数のデータのうち、前記近傍半径の範囲内にある前記第5の複数のデータの数が少ないものから優先して選択した上位複数のデータを、第4の複数のデータとして決定する
付記18に記載の情報処理装置。
(Appendix 19)
The control unit
Among the plurality of third data, the plurality of data with the highest priority selected from those having the smallest number of the plurality of fifth data within the range of the neighborhood radius are determined as the plurality of fourth data. 19. The information processing apparatus according to
(付記20)
前記制御部が、
前記第3の複数のデータへの影響度が高いパラメータを優先して選択した第1パラメータ群から、前記第2の複数のデータへの影響度が小さいパラメータを優先して選択した第2パラメータ群を差し引いた第3パラメータ群を前記第2の複数のパラメータとして特定する
付記17~付記19のいずれか1項に記載の情報処理装置。
(Appendix 20)
The control unit
From a first parameter group in which parameters having a high degree of influence on the third plurality of data are preferentially selected, a second parameter group in which parameters having a low degree of influence on the second plurality of data are preferentially selected 19. The information processing apparatus according to any one of
1 情報処理装置
11 プロセッサ
12 メモリ
13 記憶装置
14 グラフィック処理装置
14a モニタ
15 入力インタフェース
15a キーボード
15b マウス
16 光学ドライブ装置
16a 光ディスク
17 機器接続インタフェース
17a メモリ装置
17b メモリリーダライタ
17c メモリカード
18 ネットワークインタフェース
18a ネットワーク
19 バス
101 モデル訓練部
102 テストデータ分類部
103 近傍成功データ探索部
104 失敗データ絞り込み部
105 成功データ絞り込み部
106 重み影響度測定部
107 修正対象重み特定部
210,220 前方影響度情報
230,240 後方影響度情報
211,221 前方影響度順インデックスリスト
231,241 後方影響度順インデックスリスト
1
Claims (10)
前記第3の複数のデータに含まれるデータに対する前記第1の機械学習モデルの出力値と、前記第3の複数のデータに含まれるデータに対応する正解ラベルの値との間の差分と、前記第3の複数のデータのそれぞれに対する前記第1の機械学習モデルの出力値と前記第2の複数のデータのそれぞれに対する前記第1の機械学習モデルの出力値との差とに基づいて、前記第3の複数のデータのうち第4の複数のデータと、前記第2の複数のデータのうち前記第4のデータに関連する第5の複数のデータとを選択し、
前記第4の複数のデータと前記第5の複数のデータとを前記第1の機械学習モデルに入力した場合の順伝播の際に算出される数値と逆伝播の際に算出される数値とに基づいて、前記第1の機械学習モデルに含まれる第1の複数のパラメータのうち第2の複数のパラメータを特定し、
前記第1の複数のパラメータのうち前記第2の複数のパラメータのみを更新することによって第2の機械学習モデルを生成する、
処理をコンピュータに実行させる、機械学習プログラム。 Among the first plurality of data, a second plurality of data and a third plurality of data having incorrect prediction results according to the output value of the first machine learning model for each of the first plurality of data and
the difference between the output value of the first machine learning model for the data included in the third plurality of data and the correct label value corresponding to the data included in the third plurality of data; Based on the difference between the output value of the first machine learning model for each of the third plurality of data and the output value of the first machine learning model for each of the second plurality of data, selecting a fourth plurality of data of the three plurality of data and a fifth plurality of data of the second plurality of data related to the fourth plurality of data;
Numerical values calculated during forward propagation and numerical values calculated during backpropagation when the fourth plurality of data and the fifth plurality of data are input to the first machine learning model Based on, identifying a second plurality of parameters among the first plurality of parameters included in the first machine learning model,
generating a second machine learning model by updating only the second plurality of parameters of the first plurality of parameters;
A machine learning program that makes a computer perform a process.
請求項1に記載の機械学習プログラム。 In the process of selecting the fifth plurality of data, centering on the data of the fourth plurality of data among the second plurality of data, between the output values of the first machine learning model for the data A process of determining data within the range of the neighborhood radius determined by the difference and the neighborhood coefficient as the fifth plurality of data,
The machine learning program according to claim 1.
請求項2に記載の機械学習プログラム。 In the process of selecting the fourth plurality of data, among the third plurality of data, the fifth plurality of data within the range of the neighborhood radius is preferentially selected in descending order of priority. including a process of determining the plurality of data as a fourth plurality of data;
The machine learning program according to claim 2.
請求項1~請求項3のいずれか1項に記載の機械学習プログラム。 In the process of specifying the second plurality of parameters, the degree of influence on the second plurality of data is selected from a first parameter group in which parameters having a high degree of influence on the third plurality of data are preferentially selected. A process of identifying a third parameter group obtained by subtracting a second parameter group in which a parameter with a smaller value is preferentially selected as the second plurality of parameters,
The machine learning program according to any one of claims 1 to 3.
前記第3の複数のデータを前記第1の機械学習モデルに入力して得られる当該第1の機械学習モデルに含まれる層の出力と、当該層における重みとの積に基づいて求められる第1前方影響度を含む
請求項4に記載の機械学習プログラム。 The degree of influence on the third plurality of data is
The first obtained based on the product of the output of the layer included in the first machine learning model obtained by inputting the third plurality of data to the first machine learning model and the weight in the layer 5. The machine learning program of claim 4, comprising forward influence.
前記第2の複数のデータを前記第1の機械学習モデルに入力して得られる当該第1の機械学習モデルに含まれる層の出力と、当該層における重みとの積に基づいて求められる第2前方影響度を含む
請求項4又は請求項5に記載の機械学習プログラム。 The degree of influence on the third plurality of data is
A second obtained based on the product of the output of the layer included in the first machine learning model obtained by inputting the second plurality of data to the first machine learning model and the weight in the layer 6. A machine learning program according to claim 4 or 5, comprising forward influence.
前記第3の複数のデータを前記第1の機械学習モデルに入力して得られる出力を重みで微分して求められる第1後方影響度を含む
請求項4~請求項6のいずれか1項に記載の機械学習プログラム。 The degree of influence on the third plurality of data is
Any one of claims 4 to 6, comprising a first backward influence obtained by differentiating the output obtained by inputting the third plurality of data to the first machine learning model with a weight The described machine learning program.
前記第2の複数のデータを前記第1の機械学習モデルに入力して得られる出力を重みで微分して求められる第2後方影響度を含む
請求項4~請求項7のいずれか1項に記載の機械学習プログラム。 The degree of influence on the third plurality of data is
Any one of claims 4 to 7, comprising a second backward influence obtained by differentiating the output obtained by inputting the second plurality of data to the first machine learning model with a weight The described machine learning program.
前記第3の複数のデータに含まれるデータに対する前記第1の機械学習モデルの出力値と、前記第3の複数のデータに含まれるデータに対応する正解ラベルの値との間の差分と、前記第3の複数のデータのそれぞれに対する前記第1の機械学習モデルの出力値と前記第2の複数のデータのそれぞれに対する前記第1の機械学習モデルの出力値との差分とに基づいて、前記第3の複数のデータのうち第4の複数のデータと、前記第2の複数のデータのうち前記第4のデータに関連する第5の複数のデータとを選択し、
前記第4の複数のデータと前記第5の複数のデータとを前記第1の機械学習モデルに入力した場合の順伝播の際に算出される数値と逆伝播の際に算出される数値とに基づいて、前記第1の機械学習モデルに含まれる第1の複数のパラメータのうち第2の複数のパラメータを特定し、
前記第1の複数のパラメータのうち前記第2の複数のパラメータのみを更新することによって第2の機械学習モデルを生成する、
処理をコンピュータが実行する、機械学習方法。 Among the first plurality of data, a second plurality of data and a third plurality of data having incorrect prediction results according to the output value of the first machine learning model for each of the first plurality of data and
the difference between the output value of the first machine learning model for the data included in the third plurality of data and the correct label value corresponding to the data included in the third plurality of data; Based on the difference between the output value of the first machine learning model for each of the third plurality of data and the output value of the first machine learning model for each of the second plurality of data, selecting a fourth plurality of data of the three plurality of data and a fifth plurality of data of the second plurality of data related to the fourth plurality of data;
Numerical values calculated during forward propagation and numerical values calculated during backpropagation when the fourth plurality of data and the fifth plurality of data are input to the first machine learning model Based on, identifying a second plurality of parameters among the first plurality of parameters included in the first machine learning model,
generating a second machine learning model by updating only the second plurality of parameters of the first plurality of parameters;
A machine learning method in which the processing is performed by a computer.
前記第3の複数のデータに含まれるデータに対する前記第1の機械学習モデルの出力値と、前記第3の複数のデータに含まれるデータに対応する正解ラベルの値との間の差分と、前記第3の複数のデータのそれぞれに対する前記第1の機械学習モデルの出力値と前記第2の複数のデータのそれぞれに対する前記第1の機械学習モデルの出力値との差分とに基づいて、前記第3の複数のデータのうち第4の複数のデータと、前記第2の複数のデータのうち前記第4のデータに関連する第5の複数のデータとを選択し、
前記第4の複数のデータと前記第5の複数のデータとを前記第1の機械学習モデルに入力した場合の順伝播の際に算出される数値と逆伝播の際に算出される数値とに基づいて、前記第1の機械学習モデルに含まれる第1の複数のパラメータのうち第2の複数のパラメータを特定し、
前記第1の複数のパラメータのうち前記第2の複数のパラメータのみを更新することによって第2の機械学習モデルを生成する、
処理を実行する制御部を備える、情報処理装置。 Among the first plurality of data, a second plurality of data and a third plurality of data having incorrect prediction results according to the output value of the first machine learning model for each of the first plurality of data and
the difference between the output value of the first machine learning model for the data included in the third plurality of data and the correct label value corresponding to the data included in the third plurality of data; Based on the difference between the output value of the first machine learning model for each of the third plurality of data and the output value of the first machine learning model for each of the second plurality of data, selecting a fourth plurality of data of the three plurality of data and a fifth plurality of data of the second plurality of data related to the fourth plurality of data;
Numerical values calculated during forward propagation and numerical values calculated during backpropagation when the fourth plurality of data and the fifth plurality of data are input to the first machine learning model Based on, identifying a second plurality of parameters among the first plurality of parameters included in the first machine learning model,
generating a second machine learning model by updating only the second plurality of parameters of the first plurality of parameters;
An information processing apparatus comprising a control unit that executes processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021201561A JP2023087266A (en) | 2021-12-13 | 2021-12-13 | Machine learning program, machine learning method, and machine learning device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021201561A JP2023087266A (en) | 2021-12-13 | 2021-12-13 | Machine learning program, machine learning method, and machine learning device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023087266A true JP2023087266A (en) | 2023-06-23 |
Family
ID=86851045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021201561A Pending JP2023087266A (en) | 2021-12-13 | 2021-12-13 | Machine learning program, machine learning method, and machine learning device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023087266A (en) |
-
2021
- 2021-12-13 JP JP2021201561A patent/JP2023087266A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6954003B2 (en) | Determining device and method of convolutional neural network model for database | |
JP2018045559A (en) | Information processing device, information processing method, and program | |
US11640539B2 (en) | Techniques for visualizing the operation of neural networks using samples of training data | |
US20120134591A1 (en) | Image processing apparatus, image processing method and computer-readable medium | |
US7797260B2 (en) | Automated document classifier tuning including training set adaptive to user browsing behavior | |
KR102103511B1 (en) | Code generating apparatus and method | |
CN113380413A (en) | Method and device for constructing invalid re-circulation (FR) prediction model | |
US20210397948A1 (en) | Learning method and information processing apparatus | |
KR20230054167A (en) | Method for generating machine learning model and device therefor | |
JP2023087266A (en) | Machine learning program, machine learning method, and machine learning device | |
US11670403B2 (en) | Method and apparatus for generating chemical structure using neural network | |
KR20230127861A (en) | Method for credit evaluation model update or replacement and apparatus performing the method | |
JP7489275B2 (en) | Information processing device, information processing system, and information processing method | |
JP7364047B2 (en) | Learning devices, learning methods, and programs | |
KR20220149541A (en) | How to select a dataset for updating artificial intelligence modules | |
JP7029056B2 (en) | Divided area generation program, divided area generator, and divided area generation method | |
JP2023183079A (en) | Training data generation program, training data generation method, and information processing apparatus | |
JP5133275B2 (en) | Hierarchical structure modification processing apparatus, hierarchical structure modification method, and program | |
JP2023168157A (en) | Machine learning program, machine learning method and information processing device | |
JP2022083884A (en) | Modification target edge determination method and modification target edge determination program | |
EP4350585A1 (en) | Machine learning program, machine learning method, and machine learning device | |
JP2024010795A (en) | Training data generation program, training data generation method, and training data generation apparatus | |
JP7367859B2 (en) | Learning device, trained model generation method, classification device, classification method, and program | |
JP7395396B2 (en) | Information processing device, information processing method and program | |
WO2023127062A1 (en) | Data generation method, machine learning method, information processing device, data generation program, and machine learning program |