JP2023183079A - Training data generation program, training data generation method, and information processing apparatus - Google Patents

Training data generation program, training data generation method, and information processing apparatus Download PDF

Info

Publication number
JP2023183079A
JP2023183079A JP2022096500A JP2022096500A JP2023183079A JP 2023183079 A JP2023183079 A JP 2023183079A JP 2022096500 A JP2022096500 A JP 2022096500A JP 2022096500 A JP2022096500 A JP 2022096500A JP 2023183079 A JP2023183079 A JP 2023183079A
Authority
JP
Japan
Prior art keywords
data
particle
value
machine learning
learning model
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
Application number
JP2022096500A
Other languages
Japanese (ja)
Inventor
晋 徳本
Susumu Tokumoto
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2022096500A priority Critical patent/JP2023183079A/en
Publication of JP2023183079A publication Critical patent/JP2023183079A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

To generate training data which is unlikely to cause regression in retraining a machine learning model.SOLUTION: A computer is caused to execute processing of: acquiring multiple pieces of first data which are input to a machine learning model to output a correct answer and multiple pieces of second data with which the machine learning model outputs an incorrect answer; selecting multiple pieces of third data from among the multiple pieces of first data on the basis of a probability according to a magnitude of a value of a loss function for the case of inputting output of the machine learning model for each of the multiple pieces of first data; and generating training data including the multiple pieces of second data and the multiple pieces of third data.SELECTED DRAWING: Figure 3

Description

本発明は、訓練データ生成プログラム,訓練データ生成方法および情報処理装置に関する。 The present invention relates to a training data generation program, a training data generation method, and an information processing device.

ニューラルネットワーク(Neural Network:NN)等の機械学習モデルを用いたシステムにおいて、ユーザに好ましくない出力が発生した場合に、機械学習モデルの修正を行なう場合がある。 In a system using a machine learning model such as a neural network (NN), when an output that is undesirable to the user occurs, the machine learning model may be corrected.

例えば、カメラを用いた自動運転システムにおいて、一時停止の道路標識を速度制限として認識した場合には、事故を起こす可能性があるので正しく認識されるように機械学習モデルを修正する必要がある。 For example, if an automatic driving system using cameras recognizes a stop road sign as a speed limit, it may cause an accident, so the machine learning model needs to be modified so that the system recognizes it correctly.

機械学習モデルは、仕様に従って作るのではなく、入力された訓練データに従って作られる。そのため、その修正も訓練データを入力することで行なう。 Machine learning models are created not according to specifications, but according to input training data. Therefore, corrections are made by inputting training data.

しかしながら、このような従来の訓練データを用いた機械学習モデルの修正手法においては、修正に必要なデータを収集する必要があるが、収集したデータにより必ずしも誤りを修正できるとは限らない。 However, in such a conventional method of correcting a machine learning model using training data, it is necessary to collect data necessary for correction, but it is not always possible to correct errors using the collected data.

すなわち、再訓練を行なうことで、再訓練前は正しく推論していたデータに対して、再訓練後に誤った推論を行なう可能性があり、デグレード(degrade)が生じるおそれがある。そこで、機械学習モデルの再訓練においてデグレードの発生を抑制することが望まれている。 That is, by performing retraining, there is a possibility that an incorrect inference will be made after retraining on data that was correctly inferred before retraining, and degradation may occur. Therefore, it is desired to suppress the occurrence of degradation when retraining a machine learning model.

国際公開第2021/064787号International Publication No. 2021/064787 特開2019-174870号公報Japanese Patent Application Publication No. 2019-174870 米国特許出願公開第2021/0073627号明細書US Patent Application Publication No. 2021/0073627 米国特許出願公開第2020/0160207号明細書US Patent Application Publication No. 2020/0160207

機械学習モデルを再訓練する際、デグレードを抑えるために成功データも訓練データに含めるが、すべての成功データを含めると計算コストが増大する。損失が大きいデータほどデグレードが起きやすいので選択したい。しかしながら、損失が大きいデータばかりでは大きくデグレードを起こしてしまう場合がある。 When retraining a machine learning model, successful data is included in the training data to prevent degradation, but including all successful data increases computational cost. I would like to select this because the data with greater loss is more likely to be degraded. However, data with large losses may cause significant degradation.

1つの側面では、本発明は、機械学習モデルの再訓練に際して、デグレードが生じにくい訓練データを生成することを目的とする。 In one aspect, the present invention aims to generate training data that is less prone to degradation when retraining a machine learning model.

このため、この訓練データ生成プログラムは、入力した場合に機械学習モデルが正解を出力する第1の複数のデータと、不正解を出力する第2の複数のデータとを取得し、前記第1の複数のデータのそれぞれに対する前記機械学習モデルの出力を入力した場合の損失関数の値の大きさに応じた確率に基づいて、前記第1の複数のデータから第3の複数のデータを選択し、前記第2の複数のデータと前記第3の複数のデータとを含む訓練データを生成する、処理をコンピュータに実行させる。 For this reason, this training data generation program acquires the first plurality of data for which the machine learning model outputs a correct answer when input, and the second plurality of data for which the machine learning model outputs an incorrect answer, and Selecting a third plurality of data from the first plurality of data based on a probability according to the magnitude of the value of a loss function when inputting the output of the machine learning model for each of the plurality of data, A computer is caused to perform a process of generating training data including the second plurality of data and the third plurality of data.

一実施形態によれば、機械学習モデルの再訓練に際して、デグレードが生じにくい訓練データを生成することができる。 According to one embodiment, training data that is less likely to degrade can be generated when retraining a machine learning model.

実施形態の一例としての情報処理装置の機能構成を模式的に示す図である。FIG. 1 is a diagram schematically showing a functional configuration of an information processing device as an example of an embodiment. 実施形態の一例としての情報処理装置における訓練処理部による粒子群最適化を用いたパッチ生成方法を説明するための図である。FIG. 2 is a diagram for explaining a patch generation method using particle swarm optimization by a training processing unit in an information processing device as an example of an embodiment. 実施形態の一例としての情報処理装置のサンプリング処理部による処理を説明するための図である。FIG. 3 is a diagram for explaining processing by a sampling processing unit of an information processing device as an example of an embodiment. 実施形態の一例としての情報処理装置におけるフィットネス計算部によるフィットネス値の算出方法を説明するための図である。FIG. 2 is a diagram for explaining a method of calculating a fitness value by a fitness calculation unit in an information processing device as an example of an embodiment. 実施形態の一例としての情報処理装置におけるサンプリング処理部の処理を説明するためのフローチャートである。3 is a flowchart for explaining processing of a sampling processing unit in an information processing device as an example of an embodiment. 実施形態の一例としての情報処理装置における最適化処理部の処理を説明するためのフローチャートである。7 is a flowchart for explaining processing of an optimization processing unit in an information processing device as an example of an embodiment. 実施形態の一例としての情報処理装置における最適化処理部の処理の具体例を示す図である。FIG. 3 is a diagram illustrating a specific example of processing by an optimization processing unit in an information processing device as an example of an embodiment. 実施形態の一例としての情報処理装置の訓練処理部により機械学習モデルに対して修正を行なった場合と、従来手法により機械学習モデルに対して修正を行なった場合とを比較して示す図である。FIG. 3 is a diagram illustrating a comparison between a case in which a machine learning model is modified by a training processing unit of an information processing device as an example of an embodiment, and a case in which a machine learning model is modified by a conventional method. . 実施形態の一例としての情報処理装置のハードウェア構成を例示する図である。1 is a diagram illustrating a hardware configuration of an information processing device as an example of an embodiment.

以下、図面を参照して本訓練データ生成プログラム,訓練データ生成方法および情報処理装置にかかる実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形(実施形態および各変形例を組み合わせる等)して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。 Embodiments of the present training data generation program, training data generation method, and information processing device will be described below with reference to the drawings. However, the embodiments shown below are merely illustrative, and there is no intention to exclude the application of various modifications and techniques not specified in the embodiments. That is, this embodiment can be modified in various ways (such as combining the embodiment and each modification) without departing from the spirit thereof. Furthermore, each figure is not intended to include only the constituent elements shown in the figure, but may include other functions.

(A)構成
図1は実施形態の一例としての情報処理装置1の機能構成を模式的に示す図である。
(A) Configuration FIG. 1 is a diagram schematically showing the functional configuration of an information processing device 1 as an example of an embodiment.

情報処理装置1は、訓練済みのニューラルネットワークモデル(機械学習モデル)の修正を行なうモデル修正機能を実現する。情報処理装置1は、図1に示すように、訓練処理部100としての機能を有する。 The information processing device 1 implements a model correction function that corrects a trained neural network model (machine learning model). The information processing device 1 has a function as a training processing section 100, as shown in FIG.

訓練処理部100は、訓練済みの機械学習モデル(訓練済みモデル)の再訓練(機械学習)を行なう。訓練処理部100は、訓練データを生成する機能を有し、この生成した訓練データを用いて機械学習モデルの訓練を行なう。 The training processing unit 100 performs retraining (machine learning) of a trained machine learning model (trained model). The training processing unit 100 has a function of generating training data, and uses the generated training data to train a machine learning model.

また、訓練処理部100は、訓練済みモデルにおける欠陥箇所特定を行なって修正対象とする重みを特定した後に、この修正対象とする重みについてパッチを生成し、訓練済みモデルに適用することで修正済みの訓練済みモデルを生成する。 In addition, the training processing unit 100 identifies defective parts in the trained model and identifies weights to be corrected, and then generates a patch for the weight to be corrected and applies it to the trained model. Generate a trained model for .

機械学習モデルは、例えば、入力されたデータを複数のクラスに分類するための分類器であってよい。機械学習モデルは、例えば、ディープラーニングのモデル(ディープニューラルネットワーク)であってもよい。ニューラルネットワークは、ハードウェア回路であってもよいし、プロセッサ11(図9参照)等によりコンピュータプログラム上で仮想的に構築される階層間を接続するソフトウェアによる仮想的なネットワークであってもよい。 The machine learning model may be, for example, a classifier for classifying input data into multiple classes. The machine learning model may be, for example, a deep learning model (deep neural network). The neural network may be a hardware circuit or a virtual network using software that connects layers virtually constructed on a computer program by the processor 11 (see FIG. 9) or the like.

なお、訓練済みモデルにおける欠陥箇所特定は既知の手法で実現することができ、その説明は省略する。 Note that defect location identification in the trained model can be realized by a known method, and its explanation will be omitted.

訓練処理部100は、例えば、メタヒューリスティックスで失敗を減らす重みの値を検索することでパッチ生成を行なってもよい。訓練処理部100は、粒子群最適化(PSO:Particle Swarm Optimization)により、ニューラルネットワークモデルにおける修正対象とする重みを設定し、機械学習モデルの再訓練を実現する。 The training processing unit 100 may perform patch generation by, for example, searching for a weight value that reduces failure using metaheuristics. The training processing unit 100 sets weights to be corrected in the neural network model by particle swarm optimization (PSO), and realizes retraining of the machine learning model.

図2は実施形態の一例としての情報処理装置1における訓練処理部100による粒子群最適化を用いたパッチ生成方法を説明するための図である。 FIG. 2 is a diagram for explaining a patch generation method using particle swarm optimization by the training processing unit 100 in the information processing device 1 as an example of the embodiment.

粒子群最適化手法を用いたパッチ生成においては、複数(図2に示す例ではn個)の重みw1~wnをベクトルとして有する複数(図2に示す例ではk個)の粒子x1~xkを用いる。これらの複数の粒子x1~xkが粒子群に相当する。 In patch generation using the particle swarm optimization method, a plurality of (k in the example shown in Fig. 2) particles x 1 each having a plurality of (n in the example shown in Fig. 2) weights w 1 to w n as vectors. ~x k is used. These plural particles x 1 to x k correspond to a particle group.

訓練処理部100は、これらの各粒子について、粒子の値(重み,パラメータ)を用いて重みを置換した機械学習モデルに、修正対象とする失敗データと、複数の成功データの中からサンプリングした成功データとを入力し、その結果に基づいてフィットネス値(fitness)をそれぞれ算出する。フィットネス値は、各粒子を評価するための評価値に相当する。 For each of these particles, the training processing unit 100 applies failure data to be corrected and success data sampled from a plurality of success data to a machine learning model in which weights are replaced using particle values (weights, parameters). data is input, and fitness values are calculated based on the results. The fitness value corresponds to an evaluation value for evaluating each particle.

訓練処理部100は、フィットネス値が最も高い(グローバルベスト:Global best)の粒子を特定し、このグローバルベストの粒子(第1の粒子)の値(パラメータ値)に近づけるように、他の各粒子(第2の粒子)の値(パラメータ値)を更新する。 The training processing unit 100 identifies the particle with the highest fitness value (Global best), and adjusts each of the other particles to approach the value (parameter value) of the global best particle (first particle). (second particle) value (parameter value) is updated.

訓練処理部100は、このような処理を終了条件が満たされるまで繰り返し実行し、最終的なグローバルベストの粒子の値を機械学習モデルの重みとして反映させる。終了条件は、繰り返し回数が所定回数に到達することや、グローバルベストの粒子が一定回数変わらなくなることである。 The training processing unit 100 repeatedly executes such processing until the termination condition is satisfied, and reflects the final global best particle value as the weight of the machine learning model. The termination conditions are that the number of repetitions reaches a predetermined number, and that the global best particles do not change a certain number of times.

訓練処理部100は、図1に示すように、サンプリング処理部101および最適化処理部105を有する。 The training processing section 100 includes a sampling processing section 101 and an optimization processing section 105, as shown in FIG.

サンプリング処理部101は、訓練処理部100が粒子群最適化を用いたパッチ生成を行なうに際して、複数の成功データの中から粒子群最適化に用いる成功データをサンプリングする。 The sampling processing unit 101 samples success data to be used for particle swarm optimization from among a plurality of success data when the training processing unit 100 performs patch generation using particle swarm optimization.

具体的には、サンプリング処理部101は、成功データを機械学習モデルに入力して得られた予測値と当該成功データにおける正解値とに基づいて算出される損失(損失関数の値)の大きさに応じたルーレット選択を行なう。すなわち、サンプリング処理部101は、損失が大きいデータ(成功データ)ほど高い確率で選択されるようなランダム選択を行なう。成功データをサンプリングすることを成功データサンプリングといってもよい。 Specifically, the sampling processing unit 101 calculates the magnitude of the loss (value of the loss function) calculated based on the predicted value obtained by inputting the success data into the machine learning model and the correct value in the success data. Make a roulette selection according to the That is, the sampling processing unit 101 performs random selection such that data with a larger loss (successful data) is selected with a higher probability. Sampling success data may also be referred to as success data sampling.

サンプリング処理部101は、図1に示すように、損失計算部102,確率分布変換部103および成功データサンプリング部104を含む。 The sampling processing unit 101 includes a loss calculation unit 102, a probability distribution conversion unit 103, and a success data sampling unit 104, as shown in FIG.

損失計算部102は、成功データを機械学習モデルに入力して得られた予測値と当該成功データにおける正解値とに基づいて、損失関数Lの値を算出する。以下、損失関数Lの値を、単に損失といってもよい。 The loss calculation unit 102 calculates the value of the loss function L based on the predicted value obtained by inputting the success data into the machine learning model and the correct value in the success data. Hereinafter, the value of the loss function L may simply be referred to as a loss.

損失計算部102は、算出した損失を記憶装置13(図9参照)等の所定の記憶領域に記憶させる。 The loss calculation unit 102 stores the calculated loss in a predetermined storage area such as the storage device 13 (see FIG. 9).

確率分布変換部103は、損失計算部102が算出した各成功データの損失関数Lの値を、各成功データが選択される確率に変換することで、複数の成功データについて各成功データが選択される確率の分布(確率分布)を生成する。 The probability distribution conversion unit 103 converts the value of the loss function L of each success data calculated by the loss calculation unit 102 into a probability that each success data is selected, so that each success data is selected for a plurality of success data. Generate a distribution of probabilities (probability distribution).

データsiの損失関数Lの値をL(si)と表す場合に、確率分布変換部103は、以下の式(1)に基づいて各成功データsiが選択される確率p(si)を算出する。 When the value of the loss function L of data s i is expressed as L(s i ), the probability distribution conversion unit 103 calculates the probability p( s i ) is calculated.

Figure 2023183079000002
確率p(si)は、データsiを選択する確率を表す。
Figure 2023183079000002
The probability p(s i ) represents the probability of selecting data s i .

確率分布変換部103は、0~1.000の区間を、複数の成功データの各確率p(si)の値に応じて案分(比例配分)することで、複数の成功データ間の確率分布を作成する。このように作成した確率分布を成功データ選択確率分布といってもよい。 The probability distribution conversion unit 103 converts the probability distribution among the plurality of success data by allocating (proportional allocation) the interval from 0 to 1.000 according to the value of each probability p(s i ) of the plurality of success data. create. The probability distribution created in this way may be called a successful data selection probability distribution.

成功データ選択確率分布は、複数の成功データ(第1の複数のデータ)のそれぞれに対する機械学習モデルの出力を入力した場合の損失関数Lの値の大きさに応じた確率を表す。 The success data selection probability distribution represents the probability according to the magnitude of the value of the loss function L when the output of the machine learning model for each of the plurality of success data (the first plurality of data) is input.

成功データ選択確率分布においては、損失の値が大きいほど選択される確率が高くなる。確率分布変換部103は、各成功データについて算出した確率p(si)の累積確率を求めてもよい。 In the success data selection probability distribution, the larger the loss value, the higher the probability of selection. The probability distribution conversion unit 103 may obtain the cumulative probability of the probability p(s i ) calculated for each success data.

確率分布変換部103は、例えば、複数の成功データ間の確率分布を0~1の数値範囲内に設定してよい。 The probability distribution conversion unit 103 may set the probability distribution among the plurality of success data within the numerical range of 0 to 1, for example.

確率分布変換部103は、算出した確率p(si)や成功データ選択確率分布の情報等を、記憶装置13等の所定の記憶領域に記憶させる。 The probability distribution conversion unit 103 stores the calculated probability p(s i ), information on the success data selection probability distribution, etc. in a predetermined storage area of the storage device 13 or the like.

成功データサンプリング部104は、確率分布変換部103が生成した成功データ選択確率分布に基づき、複数の成功データの中から粒子群最適化手法において用いる成功データを選択する。以下、複数の成功データの中から選択される、粒子群最適化手法において用いられる成功データを成功データサンプルといってもよい。 The success data sampling unit 104 selects success data to be used in the particle swarm optimization method from a plurality of success data based on the success data selection probability distribution generated by the probability distribution conversion unit 103. Hereinafter, success data selected from a plurality of success data and used in the particle swarm optimization method may be referred to as a success data sample.

成功データサンプリング部104は、確率分布変換部103が設定した成功データ選択確率分布に応じた乱数を生成し、この乱数の値に対応する確率の成功データを成功データサンプルとして決定する。このような成功データサンプルの選択方法をルーレット選択といってよい。 The success data sampling unit 104 generates a random number according to the success data selection probability distribution set by the probability distribution conversion unit 103, and determines success data with a probability corresponding to the value of this random number as a success data sample. This method of selecting successful data samples can be called roulette selection.

例えば、成功データ選択確率分布を0~1の数値範囲内に設定した場合には、成功データサンプリング部104は、0~1の数値範囲内で乱数を用意し、成功データ選択確率分布において、この乱数の値に対応する確率範囲に相当する成功データを成功データサンプルとして決定する。成功データサンプリング部104は、乱数を生成することで用意してもよく、また、図示しない乱数生成部によって生成された乱数を取得することで用意してもよい。 For example, when the success data selection probability distribution is set within the numerical range of 0 to 1, the success data sampling unit 104 prepares random numbers within the numerical range of 0 to 1, and in the success data selection probability distribution, this Success data corresponding to a probability range corresponding to the value of the random number is determined as a success data sample. The success data sampling unit 104 may be prepared by generating random numbers, or may be prepared by obtaining random numbers generated by a random number generation unit (not shown).

成功データサンプリング部104は、複数の成功データの中からルーレット選択により成功データサンプルを選択する。このように、ある程度のランダム性を持たせた上で損失関数Lの値に近い成功データを選択することで、修正とデグレードとのトレードオフを緩やか(gradual)に持たせて探索することができる。 The success data sampling unit 104 selects success data samples from a plurality of success data by roulette selection. In this way, by selecting successful data close to the value of the loss function L with a certain degree of randomness, it is possible to search with a gradual trade-off between correction and degradation. .

成功データサンプルは、成功データ選択確率分布に基づいて複数の成功データ(第1の複数のデータ)から選択される第3の複数のデータに相当する。 The success data sample corresponds to the third plurality of data selected from the plurality of success data (the first plurality of data) based on the success data selection probability distribution.

図3は実施形態の一例としての情報処理装置1のサンプリング処理部101による処理を説明するための図である。 FIG. 3 is a diagram for explaining processing by the sampling processing unit 101 of the information processing device 1 as an example of the embodiment.

この図3においては、4つのデータセット(成功データ)の中から1つのデータセットを選択する例を示す。各データセットは、それぞれ画像データとラベルとを含む(符号P1参照)。図3に示す例において、画像データはそれぞれ交通標識であり、「17. No entry」,「14. Stop」,「3. Speed limit (60 km/h)」および「34. Turn left ahead」のいずれかのラベルが設定されている。 FIG. 3 shows an example in which one data set is selected from four data sets (success data). Each data set includes image data and a label (see P1). In the example shown in Figure 3, the image data are traffic signs, and "17. No entry", "14. Stop", "3. Speed limit (60 km/h)" and "34. Turn left ahead". One of the labels is set.

損失計算部102は、これらの各データセット(成功データ)を、グローバルベストの重みを反映させた機械学習モデルに入力し、それぞれの損失を算出する(符号P2参照)。 The loss calculation unit 102 inputs each of these data sets (success data) to a machine learning model that reflects the weight of the global best, and calculates each loss (see symbol P2).

確率分布変換部103は、上記の式(1)に基づき、各データセット(成功データ)について、各データを選択する確率p(si)を算出する(符号P3参照)。 The probability distribution conversion unit 103 calculates the probability p(s i ) of selecting each data for each data set (success data) based on the above equation (1) (see symbol P3).

確率分布変換部103は、0~1.000の区間を、複数の成功データの各確率p(si)の値に応じて案分(比例配分)することで、成功データ選択確率分布を作成する(符号P4参照)。 The probability distribution conversion unit 103 creates a success data selection probability distribution by allocating (proportional allocation) the interval from 0 to 1.000 according to the value of each probability p(s i ) of a plurality of success data ( (See code P4).

図3において符号P4で示す成功データ選択確率分布においては、0.000~0.159の区間が「17. No entry」の画像の成功データに対応し、0.159~0.389の区間が「14. Stop」の画像の成功データに対応する。また、0.389~0.727の区間が「3. Speed limit (60 km/h)」の画像の成功データに対応し、0.727~1.000区間が「34. Turn left ahead」の画像の成功データに対応する。 In the success data selection probability distribution indicated by P4 in FIG. 3, the interval from 0.000 to 0.159 corresponds to the success data of the image "17. No entry", and the interval from 0.159 to 0.389 corresponds to the success data of the image "14. Stop". Respond to success data. Furthermore, the interval from 0.389 to 0.727 corresponds to the success data of the image "3. Speed limit (60 km/h)", and the interval from 0.727 to 1.000 corresponds to the success data of the image "34. Turn left ahead".

その後、成功データサンプリング部104が、0~1.000の数値範囲内で乱数を生成し、成功データ選択確率分布において、この乱数の値に対応する確率の成功データを成功データサンプルとして決定する(符号P5参照)。 After that, the success data sampling unit 104 generates a random number within the numerical range of 0 to 1.000, and in the success data selection probability distribution, determines success data with a probability corresponding to the value of this random number as a success data sample (symbol P5 reference).

図3に示す例においては、成功データサンプリング部104が用意した乱数の値が0.531であり、この値は成功データ選択確率分布において、「3. Speed limit (60 km/h)」の画像の成功データに対応する。従って、成功データサンプリング部104は、「3. Speed limit (60 km/h)」の画像の成功データを成功データサンプルとして決定する。 In the example shown in FIG. 3, the value of the random number prepared by the success data sampling unit 104 is 0.531, and this value corresponds to the success of the image "3. Speed limit (60 km/h)" in the success data selection probability distribution. Respond to data. Therefore, the success data sampling unit 104 determines the success data of the image "3. Speed limit (60 km/h)" as the success data sample.

成功データサンプリング部104は、所定数の成功データサンプルを決定する。成功データサンプリング部104は、成功データ選択確率分布(損失関数Lの値の大きさに応じて設定された確率分布)において、乱数の値が対応する確率範囲に相当する成功データ(第1の複数のデータ)を、成功データサンプル(第3の複数のデータ)として選択する。 The success data sampling unit 104 determines a predetermined number of success data samples. The success data sampling unit 104 selects success data (the first plurality of data) is selected as the successful data sample (third plurality of data).

成功データサンプリング部104は、成功データサンプルを記憶装置13等の所定の記憶領域に記憶させる。 The success data sampling unit 104 stores the success data sample in a predetermined storage area of the storage device 13 or the like.

最適化処理部105は、粒子群最適化の各イテレーション中でグローバルベストの重みが変わった場合に、その重みが適用された機械学習モデルで新たに損失の大きい成功データの選択を行なう。すなわち、最適化処理部105は、粒子群最適化の各イテレーション中でグローバルベストの重みが変わった場合に、成功データのサンプリングを行なう。 When the global best weight changes during each iteration of particle swarm optimization, the optimization processing unit 105 newly selects successful data with a large loss using a machine learning model to which the weight is applied. That is, the optimization processing unit 105 samples success data when the global best weight changes during each iteration of particle swarm optimization.

機械学習モデルにおいて重みが変わると各データの損失も変わるので、選択すべき損失の高い成功データは機械学習モデルによって異なる。 If the weight changes in a machine learning model, the loss of each data will also change, so the successful data with a high loss that should be selected differs depending on the machine learning model.

新たな機械学習モデルにおいてデグレードが起きやすい成功データ、すなわち、決定境界に近い成功データを選択(再選択)することで、そのような成功データでデグレードが起きないような重みに誘導することができる。 By selecting (re-selecting) successful data that is likely to cause degradation in a new machine learning model, that is, successful data that is close to the decision boundary, it is possible to guide weights that will prevent degradation from occurring with such successful data. .

最適化処理部105は、図1に示すように、粒子初期化処理部106,フィットネス計算部107,グローバルベスト選択部108,再サンプリング判定部109,粒子更新部110および終了判定部111を有する。 As shown in FIG. 1, the optimization processing unit 105 includes a particle initialization processing unit 106, a fitness calculation unit 107, a global best selection unit 108, a resampling determination unit 109, a particle updating unit 110, and a termination determination unit 111.

粒子群最適化においては、複数の重み(パラメータ値)の組み合わせを含む粒子を複数有する粒子群が用いられる。 In particle swarm optimization, a particle swarm having a plurality of particles including a plurality of combinations of weights (parameter values) is used.

訓練処理部100は、粒子群において、フィットネス値(評価値)が最も高い粒子(グローバルベスト,第1の粒子)の値(重み,パラメータ値)に基づいて、当該グローバルベスト以外の粒子(第2の粒子)の値(重み,パラメータ値)を更新することで粒子群を最適化する。 The training processing unit 100 selects particles other than the global best (second particle) based on the values (weights, parameter values) of the particle (global best, first particle) with the highest fitness value (evaluation value) in the particle group. The particle group is optimized by updating the values (weights, parameter values) of the particles.

粒子群の最適化が完了した後に、訓練処理部100は、最終的なグローバルベストの粒子の値を機械学習モデルの重みに反映させる。これにより、修正済みモデルが生成される。 After the optimization of the particle group is completed, the training processing unit 100 reflects the final global best particle value in the weight of the machine learning model. This generates a modified model.

粒子初期化処理部106は粒子群最適化手法における各粒子を正規分布で初期化する。なお、平均,分散は近傍の重み分布から決定してもよい。 The particle initialization processing unit 106 initializes each particle in the particle swarm optimization method with a normal distribution. Note that the average and variance may be determined from the neighboring weight distribution.

フィットネス計算部107は各粒子のフィットネス値(fitness)を算出する。 The fitness calculation unit 107 calculates the fitness value (fitness) of each particle.

図4は実施形態の一例としての情報処理装置1におけるフィットネス計算部107によるフィットネス値の算出方法を説明するための図である。 FIG. 4 is a diagram for explaining a method of calculating a fitness value by the fitness calculation unit 107 in the information processing device 1 as an example of the embodiment.

フィットネス値は粒子を評価する評価値として用いることができる。フィットネス値を粒子評価値といってもよい。フィットネス値が最も高い(グローバルベスト)の粒子を、複数の粒子(粒子群)における最良の粒子といってもよい。 The fitness value can be used as an evaluation value for evaluating particles. The fitness value may be called a particle evaluation value. The particle with the highest fitness value (global best) may be said to be the best particle among the plurality of particles (particle group).

フィットネス計算部107は、欠陥箇所特定により修正対象として特定された重みを粒子の値で置き換えた機械学習モデル(置換済みモデル)に、修正対象とする失敗データと、成功データサンプリング部104によって決定された成功データサンプルとを入力する。 The fitness calculation unit 107 adds failure data to be corrected and data determined by the success data sampling unit 104 to a machine learning model (replaced model) in which weights identified as correction targets by defect location identification are replaced with particle values. Enter the success data sample.

成功データサンプルは、入力した場合に機械学習モデルが正解を出力する第1の複数のデータに相当する。また、修正対象とする失敗データは、入力した場合に機械学習モデルが不正解を出力する第2の複数のデータに相当する。 The success data sample corresponds to the first plurality of data for which the machine learning model will output a correct answer if input. Further, the failure data to be corrected corresponds to the second plurality of data for which the machine learning model outputs an incorrect answer when input.

以下、修正対象とする失敗データを符号Inegで表す場合があり、成功データサンプルを符号Ipos_sampledで表す場合がある。 Hereinafter, failure data to be corrected may be represented by the symbol I neg , and success data samples may be represented by the symbol I pos_sampled .

失敗データInegを置換済みモデルに入力して得られた出力が正解となった数、すなわち、機械学習モデルの重みを置換することで修正できたデータの数を符号Npatchedで表す。また、失敗データInegの損失をL(Ineg)と表す。 The number of correct outputs obtained by inputting failure data I neg into a replaced model, that is, the number of pieces of data that could be corrected by replacing the weights of the machine learning model, is represented by the symbol N patched . Furthermore, the loss of failure data I neg is expressed as L(I neg ).

一方、成功データサンプルIpos_sampledを置換済みモデルに入力して得られた出力が正解となった数、すなわち、置換済みモデルにおいても成功のままのデータの数を符号Nintactで表す。また、成功データサンプルIpos_sampledの損失をL(Ipos)と表す。 On the other hand, the number of correct outputs obtained by inputting the successful data sample I pos_sampled to the replaced model, that is, the number of pieces of data that remain successful even in the replaced model, is represented by the symbol N intact . Further, the loss of the successful data sample I pos_sampled is expressed as L(I pos ).

フィットネス計算部107は、以下の式(2)に基づいてフィットネス値(fitness)を算出する。 The fitness calculation unit 107 calculates a fitness value based on the following equation (2).

fitness={(Npatched+1)/ (L(Ineg)+1)}+{ (Nintact+1)/ (L(Ipos)+1)}・・・(2)
フィットネス計算部107は、算出したフィットネス値(fitness)を記憶装置13等の所定の記憶領域に記憶させる。
fitness={(N patched +1)/ (L(I neg )+1)}+{ (N intact +1)/ (L(I pos )+1)}...(2)
The fitness calculation unit 107 stores the calculated fitness value in a predetermined storage area of the storage device 13 or the like.

例えば、粒子x1, ・・・,xkの各フィットネス値を、fitness(x1),・・・,fitness(xk)と表してよい。 For example, fitness values of particles x 1 , . . . , x k may be expressed as fitness(x 1 ) , .

例えば、粒子x1において、Npatched = 21,L(Ineg) = 1.184,Nintact = 981, L(Ipos) = 0.732の場合に、
fitness(x1)={(21 + 1)/ 1.184 + 1)}+{(98+1)/ (0.732+1)}=67.23
となる。
For example, for particle x 1 , when N patched = 21, L(I neg ) = 1.184, N intact = 981, L(I pos ) = 0.732,
fitness(x 1 )={(21 + 1)/ 1.184 + 1)}+{(98+1)/ (0.732+1)}=67.23
becomes.

グローバルベスト選択部108は、複数の粒子の中からフィットネス値が最も高い粒子をグローバルベストpgとして選択する。グローバルベストpgを以下のように表すことができる。 The global best selection unit 108 selects the particle with the highest fitness value from among the plurality of particles as the global best p g . The global best p g can be expressed as follows.

Figure 2023183079000003
グローバルベスト選択部108は、選択したグローバルベストpgの情報を、グローバルベスト履歴として、記憶装置13等の所定の記憶領域に記憶させる。
Figure 2023183079000003
The global best selection unit 108 stores information on the selected global best p g in a predetermined storage area such as the storage device 13 as a global best history.

再サンプリング判定部109は、グローバルベストの粒子が変わった場合に、粒子群最適化に用いる成功データの再サンプリングを行なうことを決定する。 The resampling determination unit 109 determines to perform resampling of success data used for particle group optimization when the global best particles change.

再サンプリング判定部109は、グローバルベスト履歴を参照して、グローバルベスト選択部108によって選択されたグローバルベストの粒子が、1つ前のグローバルベストの粒子と同じであるかを確認する。 The resampling determining unit 109 refers to the global best history and confirms whether the particles of the global best selected by the global best selecting unit 108 are the same as the particles of the previous global best.

グローバルベスト選択部108によって選択されたグローバルベストの粒子が、1つ前のグローバルベストの粒子と異なる場合に、再サンプリング判定部109は、サンプリング処理部101による成功データサンプルの取得を行なわせる。すなわち、粒子群最適化手法のイテレーションにおいてグローバルベストの重みが変わった場合に、成功データのサンプリングを行なう。 If the global best particles selected by the global best selection unit 108 are different from the previous global best particles, the resampling determination unit 109 causes the sampling processing unit 101 to acquire a success data sample. That is, when the global best weight changes during the iteration of the particle swarm optimization method, success data is sampled.

再サンプリング判定部109は、更新後の粒子群における特定の粒子(第2の粒子)のフィットネス値(評価値)がグローバルベスト(第1の粒子)のフィットネス値よりも高い場合、すなわちグローバルベストが変わった場合に、サンプリング処理部101に対して、成功データサンプル(第3の複数のデータ)を選択する処理を実行させる。 The resampling determination unit 109 determines that when the fitness value (evaluation value) of a specific particle (second particle) in the updated particle group is higher than the fitness value of the global best (first particle), that is, when the global best is If the data has changed, the sampling processing unit 101 is caused to execute a process of selecting a successful data sample (a third plurality of data).

粒子更新部110は、グローバルベスト選択部108によって更新されたグローバルベストの粒子の値に近付けるように、グローバルベストの粒子以外の各粒子の値を更新する。 The particle update unit 110 updates the value of each particle other than the global best particle so that it approaches the value of the global best particle updated by the global best selection unit 108.

粒子更新部110は、例えば、以下の式に基づいて各粒子の値を更新してもよい。 The particle updating unit 110 may update the value of each particle based on the following formula, for example.

xi(t) = xi(t-1) + vi(t-1)
vi(t) =c0 vi(t-1) + c1r1(pl - xi(t))+c2r2(pg - xi(t))
c0,c1,c2は定数、r1,r2は乱数、plはローカルベスト、pgはグローバルベストである。xi(t)およびvi(t)は粒子群の位置と速度を表す。
x i (t) = x i (t-1) + v i (t-1)
v i (t) =c 0 v i (t-1) + c 1 r 1 (p l - x i (t))+c 2 r 2 (p g - x i (t))
c 0 , c 1 , c 2 are constants, r 1 , r 2 are random numbers, p l is the local best, and p g is the global best. x i (t) and v i (t) represent the position and velocity of the particle group.

終了判定部111は、粒子最適化処理の終了条件を満たすかを判定する。終了条件は、上述の如く、例えば、イテレーション(繰り返し回数)が所定回数に到達することや、グローバルベストの粒子が一定回数変わらなくなることである。 The end determination unit 111 determines whether the end conditions of the particle optimization process are satisfied. As described above, the termination conditions are, for example, that the number of iterations (the number of repetitions) reaches a predetermined number, or that the global best particles do not change a certain number of times.

終了判定部111は、終了条件を満たす場合に、粒子群の最適化処理を終了させる。粒子群の最適化処理を終了する場合には、終了判定部111は、グローバルベストの粒子の値を機械学習モデルの重みに反映させる。これにより、修正済みモデルが生成される。 The termination determination unit 111 terminates the particle group optimization process when the termination condition is satisfied. When terminating the particle group optimization process, the termination determination unit 111 reflects the value of the global best particle in the weight of the machine learning model. This generates a modified model.

訓練データ生成部100は、上述の如く選択された成功データサンプル(第3の複数のデータ)と、複数の失敗データ(第2の複数のデータ)とを含む訓練データを生成する。 The training data generation unit 100 generates training data including the success data samples (third plurality of data) selected as described above and the plurality of failure data (second plurality of data).

(B)動作
上述の如く構成された実施形態の一例としての情報処理装置1におけるサンプリング処理部101の処理を、図5に示すフローチャート(ステップA1~A3)に従って説明する。
(B) Operation The processing of the sampling processing unit 101 in the information processing device 1 as an example of the embodiment configured as described above will be described according to the flowchart (steps A1 to A3) shown in FIG.

成功データのサンプリングをpos_sampler(Ipos, M)と表してよい。Iposは成功データの集合を表し、Mは機械学習モデルを表す。 The sampling of success data may be expressed as pos_sampler(I pos , M). I pos represents the set of success data and M represents the machine learning model.

ステップA1において、損失計算部102が、各成功データsi(si∈Ipos)を対象とする機械学習モデルMに入力し、損失関数の値L(si)を計算する。損失計算部102は、算出した損失関数の値L(si)を記憶装置13等の所定の記憶領域に記録する。 In step A1, the loss calculation unit 102 inputs each success data s i (s i εI pos ) to the target machine learning model M, and calculates the value L(s i ) of the loss function. The loss calculation unit 102 records the calculated loss function value L(s i ) in a predetermined storage area of the storage device 13 or the like.

ステップA2において、確率分布変換部103が、各成功データsiについて、損失関数の値L(si)に基づき、上記式(1)を用いて確率p(si)をそれぞれ算出する。また、確率分布変換部103は、成功データ選択確率分布を生成する。 In step A2, the probability distribution conversion unit 103 calculates the probability p(s i ) for each success data s i based on the value L(s i ) of the loss function using the above equation (1). Further, the probability distribution conversion unit 103 generates a success data selection probability distribution.

ステップA3において、成功データサンプリング部104が、成功データ選択確率分布に基づき、複数の成功データの中から粒子群最適化手法において用いる成功データサンプルを選択する。成功データサンプリング部104は、所定数の成功データサンプルを選択する。 In step A3, the success data sampling unit 104 selects a success data sample to be used in the particle swarm optimization method from among the plurality of success data based on the success data selection probability distribution. The success data sampling unit 104 selects a predetermined number of success data samples.

成功データサンプルの集合(選択した成功データ集合)をIpos_sampledとする。成功データサンプリング部104は、Ipos_sampledを空集合(Φ)を用いて初期化する。すなわち、Ipos_sampled={Φ}とする。 Let the set of success data samples (selected success data set) be I pos_sampled . The success data sampling unit 104 initializes I pos_sampled using an empty set (Φ). That is, I pos_sampled ={Φ}.

成功データサンプリング部104は、0≦r<1の一様乱数rを用意する。また、成功データサンプリング部104は、累積合計d0を初期化して、d0 = 0とする。 The success data sampling unit 104 prepares a uniform random number r satisfying 0≦r<1. Furthermore, the success data sampling unit 104 initializes the cumulative total d 0 to d 0 =0.

成功データサンプリング部104は、di = di-1 + p(si)として、di-1≦r<diであればsiを成功データサンプルとして選択する。すなわち、成功データサンプリング部104が、成功データ選択確率分布において、乱数rの値に対応する確率の成功データを成功データサンプルとして決定する。 The success data sampling unit 104 sets d i = d i-1 + p(s i ), and selects s i as a success data sample if d i-1 ≦r<d i . That is, the success data sampling unit 104 determines success data having a probability corresponding to the value of the random number r in the success data selection probability distribution as a success data sample.

また、成功データサンプリング部104は、siがこれまで成功データサンプルとして選択されていなければ、当該siをIpos_sampledに加える。つまり、Ipos_sampled = Ipos_sampled∪{si}とする。 Further, if s i has not been selected as a successful data sample so far, the success data sampling unit 104 adds the s i to I pos_sampled . In other words, I pos_sampled = I pos_sampled ∪{s i }.

一定数の成功データサンプルが集まったら、成功データサンプリング部104は、成功データサンプルの集合Ipos_sampledを出力し、処理を終了する。成功データサンプルの数が所定値に足りない場合には、成功データサンプリング部104は、新たな乱数rを用意し、以下同様の処理を繰り返し行なう。 When a certain number of successful data samples have been collected, the successful data sampling unit 104 outputs a set of successful data samples I pos_sampled and ends the process. If the number of successful data samples is insufficient to the predetermined value, the successful data sampling unit 104 prepares a new random number r and repeats the same process.

次に、実施形態の一例としての情報処理装置1における最適化処理部105の処理を、図7を参照しながら、図6に示すフローチャート(ステップB1~B10)に従って説明する。図7は、最適化処理部105の処理の具体例を示す図である。 Next, the processing of the optimization processing unit 105 in the information processing apparatus 1 as an example of the embodiment will be described according to the flowchart (steps B1 to B10) shown in FIG. 6 with reference to FIG. FIG. 7 is a diagram showing a specific example of processing by the optimization processing unit 105.

ステップB1において、最適化処理部105は、サンプリング処理部101に成功データサンプリングを実施させる。 In step B1, the optimization processing unit 105 causes the sampling processing unit 101 to perform successful data sampling.

ステップB2において、粒子初期化処理部106が、粒子群最適化手法における各粒子を正規分布で初期化する。 In step B2, the particle initialization processing unit 106 initializes each particle in the particle swarm optimization method with a normal distribution.

ステップB3において、イテレーション(iter)が所定値(max_iter)に到達するまで、ステップB10までの制御を繰り返し実施するループ処理を開始する。 In step B3, a loop process is started in which the control up to step B10 is repeatedly performed until the iteration (iter) reaches a predetermined value (max_iter).

ステップB4において、フィットネス計算部107が、各粒子のフィットネス値(fitness)を算出する。 In step B4, the fitness calculation unit 107 calculates the fitness value (fitness) of each particle.

図7に示す例においては、100個の粒子x1~x100のそれぞれに対して、フィットネス計算部107がフィットネス値を算出しており、例えば、iteration # tにおいて、粒子x1のフィットネス値は67.23であり、粒子x100のフィットネス値は52.11である。 In the example shown in FIG. 7, the fitness calculation unit 107 calculates fitness values for each of 100 particles x 1 to x 100. For example, in iteration #t, the fitness value of particle x 1 is 67.23 and the fitness value for particle x 100 is 52.11.

ステップB5において、グローバルベスト選択部108が、複数の粒子の中からfitnessの値が最も高い粒子をグローバルベストpgとして選択する。グローバルベスト選択部108は、選択したグローバルベストpgの情報を、グローバルベスト履歴に追加する。グローバルベスト履歴を符号histで表す。 In step B5, the global best selection unit 108 selects the particle with the highest fitness value from among the plurality of particles as the global best p g . The global best selection unit 108 adds information about the selected global best p g to the global best history. The global best history is represented by the symbol hist.

図7に示す例においては、例えば、iteration # tにおいて、粒子x1のフィットネス値は67.23であり、粒子x2のフィットネス値は70.79であり、粒子x100のフィットネス値は52.11である。iteration # tにおいて、粒子x2のフィットネス値70.79が最も高く、グローバルベスト選択部108は、この粒子x2をiteration # tにおけるグローバルベストとして選択する。 In the example shown in FIG. 7, for example, in iteration #t, the fitness value of particle x 1 is 67.23, the fitness value of particle x 2 is 70.79, and the fitness value of particle x 100 is 52.11. At iteration #t, particle x 2 has the highest fitness value of 70.79, and global best selection unit 108 selects this particle x 2 as the global best at iteration #t.

ステップB6において、粒子更新部110が、グローバルベスト選択部108によって更新されたグローバルベストの粒子の値に近付けるように、グローバルベストの粒子以外の各粒子の値を更新する。 In step B6, the particle updating unit 110 updates the value of each particle other than the global best particle so that it approaches the value of the global best particle updated by the global best selecting unit 108.

すなわち、粒子更新部110は、フィットネス値(評価値)が最も高いグローバルベスト(第1の粒子)のパラメータに基づいて、このパラメータ値に近づけるように、グローバルベスト以外の各粒子(第2の粒子)のパラメータ値を更新する。 That is, based on the parameters of the global best (first particle) with the highest fitness value (evaluation value), the particle updating unit 110 updates each particle (second particle) other than the global best so that the parameter value approaches this parameter value. ) update parameter values.

ステップB7において、終了判定部111は、グローバルベストの更新が所定のイテレーション(iteration)の間行なわれていないかを確認する。グローバルベストの更新が所定のイテレーション(iteration)の間行なわれていない場合には(ステップB7のYESルート参照)、終了条件が満たされているので、処理を終了する。 In step B7, the end determination unit 111 checks whether the global best has been updated for a predetermined iteration. If the global best has not been updated for a predetermined iteration (see YES route in step B7), the termination condition is satisfied and the process is terminated.

一方、グローバルベストの更新が所定のイテレーション(iteration)の間において行なわれている場合には(ステップB7のNOルート参照)、ステップB8に移行する。 On the other hand, if the global best is being updated during a predetermined iteration (see NO route in step B7), the process moves to step B8.

ステップB8において、再サンプリング判定部109が、グローバルベスト履歴を参照して、グローバルベスト選択部108によって選択されたグローバルベストの粒子が、1つ前のグローバルベストの粒子と同じであるかを確認する。 In step B8, the resampling determination unit 109 refers to the global best history to check whether the particles of the global best selected by the global best selection unit 108 are the same as the particles of the previous global best. .

ここで、1つ前のイテレーションにおけるグローバルベストの粒子をhist[iter -1]と表す。再サンプリング判定部109は、pg == hist[iter -1]であるか否かを判定する。 Here, the global best particle in the previous iteration is expressed as hist[iter -1]. The resampling determining unit 109 determines whether p g == hist[iter -1].

グローバルベスト選択部108によって選択されたグローバルベストの粒子が、1つ前のイテレーションにおけるグローバルベストの粒子と異なる場合に(ステップB8のNOルート参照)、ステップB9に移行する。 If the global best particles selected by the global best selection unit 108 are different from the global best particles in the previous iteration (see NO route in step B8), the process moves to step B9.

図7に示す例においては、iteration # t-1において、粒子x1のフィットネス値は67.23であり、粒子x2のフィットネス値は53.65であり、粒子x100のフィットネス値は49.71である。iteration # t-1においては、粒子x1のフィットネス値67.23が最も高く、この粒子x1がiteration # t-1におけるグローバルベストである。すなわち、iteration # tにおけるグローバルベストは粒子x2であり、1つ前のイテレーション(iteration # t-1)におけるグローバルベストの粒子x1と異なる。 In the example shown in FIG. 7, in iteration #t-1, the fitness value of particle x 1 is 67.23, the fitness value of particle x 2 is 53.65, and the fitness value of particle x 100 is 49.71. In iteration # t-1, particle x 1 has the highest fitness value of 67.23, and this particle x 1 is the global best in iteration # t-1. That is, the global best in iteration # t has particle x 2 , which is different from the global best in the previous iteration (iteration # t-1), which has particle x 1 .

iteration # tにおいて、新たなグローバルベストの粒子x2のフィットネス値70.79は、iteration # t-1においてグローバルベストであった粒子x1のフィットネス値67.23よりも高い。 At iteration # t, the fitness value of the new global best particle x 2 of 70.79 is higher than the fitness value of particle x 1 , which was the global best at iteration # t-1, of 67.23.

ステップB9において、最適化処理部105は、サンプリング処理部101に成功データサンプリングを実施させる。すなわち、粒子群最適化手法のイテレーションにおいてグローバルベストの重みが変わった場合に、成功データのサンプリングを行なう。すなわち、成功データサンプルの更新を行なう。その後、ステップB10に移行する。 In step B9, the optimization processing unit 105 causes the sampling processing unit 101 to perform successful data sampling. That is, when the global best weight changes during the iteration of the particle swarm optimization method, success data is sampled. That is, the success data sample is updated. After that, the process moves to step B10.

また、ステップB8における確認の結果、グローバルベスト選択部108によって選択されたグローバルベストの粒子が、1つ前のグローバルベストの粒子と同じである場合にも(ステップB8のYESルート参照)、ステップB10に移行する。 Furthermore, as a result of the confirmation in step B8, if the global best particles selected by the global best selection unit 108 are the same as the previous global best particles (see YES route in step B8), step B10 to move to.

ステップB10においては、ステップB3に対応するループ端処理が実施される。ここで、イテレーション(iter)が所定値(max_iter)に到達すると、本フローが終了する。 In step B10, loop end processing corresponding to step B3 is performed. Here, when the iteration (iter) reaches a predetermined value (max_iter), this flow ends.

(C)効果
このように、実施形態の一例としての情報処理装置1によれば、サンプリング処理部101において、損失計算部102が算出した各成功データの損失関数の値に基づいて、確率分布変換部103が、複数の成功データがそれぞれ選択される確率の分布(確率分布)を生成する。
(C) Effect As described above, according to the information processing device 1 as an example of the embodiment, the sampling processing unit 101 performs probability distribution transformation based on the value of the loss function of each success data calculated by the loss calculation unit 102. The unit 103 generates a probability distribution (probability distribution) for each of the plurality of success data items to be selected.

そして、成功データサンプリング部104が、確率分布変換部103が設定した成功データ選択確率分布に応じた乱数を生成し、この乱数の値に対応する確率の成功データを成功データサンプルとして決定する。具体的には、成功データサンプリング部104が、損失が大きい成功データほど高い確率で選択されるランダム選択を行なう。 Then, the success data sampling unit 104 generates a random number according to the success data selection probability distribution set by the probability distribution conversion unit 103, and determines success data with a probability corresponding to the value of this random number as a success data sample. Specifically, the success data sampling unit 104 performs random selection in which success data with a larger loss is selected with a higher probability.

これにより、ある程度のランダム性を持たせた上で損失関数Lの値に近い成功データを選択することで、修正とデグレードとのトレードオフを緩やか(gradual)に持たせて探索することができる。 As a result, by selecting successful data close to the value of the loss function L with a certain degree of randomness, it is possible to perform a search with a gradual trade-off between correction and degradation.

すなわち、従来手法の如く、決定境界層に近い成功データを選択する代わりに、複数の成功データの中から確率的にばらつきを持たせて成功データサンプルを選択することができ、デグレードの発生を抑止することができる。 In other words, instead of selecting successful data close to the decision boundary layer as in conventional methods, it is possible to select successful data samples with probabilistic variation from among multiple successful data, thereby suppressing the occurrence of degradation. can do.

また、最適化処理部105において、再サンプリング判定部109が、粒子群最適化においてグローバルベストの粒子が変わった場合に、粒子群最適化に用いる成功データの再サンプリングを行なうことを決定する。 Further, in the optimization processing unit 105, the resampling determination unit 109 determines to re-sample the success data used for particle swarm optimization when the global best particle changes in particle swarm optimization.

粒子群最適化において、粒子の重みが変わると入力される各成功データの損失も変わる。グローバルベストの粒子の重みに応じてパラメータが変更された機械学習モデルにおいて、デグレードが生じ易い成功データを選択することで、このように選択した成功データでデグレードが生じないように訓練を行なうことで、デグレードが発生し難い機械学習モデルを生成することができる。また、ラベル毎のような局所的な修正においてデグレードが起きにくくなる。 In particle swarm optimization, when the weights of particles change, the loss of each input success data also changes. In a machine learning model whose parameters are changed according to the weight of the global best particle, by selecting success data that is likely to cause degradation, training can be performed to prevent degradation from occurring with the selected success data. , it is possible to generate a machine learning model that is less prone to degradation. In addition, degradation is less likely to occur in local corrections such as for each label.

図8は実施形態の一例としての情報処理装置1の訓練処理部100により機械学習モデルに対して修正を行なった場合と、従来手法により機械学習モデルに対して修正を行なった場合とを比較して示す図である。 FIG. 8 compares a case where a machine learning model is modified by the training processing unit 100 of the information processing device 1 as an example of an embodiment, and a case where a machine learning model is modified by a conventional method. FIG.

この図8においては、精度,修正率および退行率を比較して示しており、符号P1は従来手法により機械学習モデルに対して修正を行なった場合を、符号P2は本情報処理装置1の訓練処理部100により機械学習モデルに対して修正を行なった場合を、それぞれ示す。 In FIG. 8, the accuracy, correction rate, and regression rate are compared and shown, and the symbol P1 indicates the case where the machine learning model is modified by the conventional method, and the symbol P2 indicates the case where the machine learning model is modified by the conventional method, and the symbol P2 is the training of the information processing device 1. The cases in which the machine learning model is modified by the processing unit 100 are shown.

この図8においては、機械学習モデルとしてVGG16を用い、データセットとしてCIFAR10を用いた例を示す。機械学習モデルの修正により生じるデグレードの発生は、退行率により表される。図8に示すように、従来手法では6.41%であった退行率が、本情報処理装置1の訓練処理部100により機械学習モデルに対して修正を行なった場合は2.66%の退行率となり、デグレードが生じにくくなっていることがわかる。 In FIG. 8, an example is shown in which VGG16 is used as the machine learning model and CIFAR10 is used as the dataset. The occurrence of degradation caused by modification of a machine learning model is expressed by the regression rate. As shown in FIG. 8, the regression rate was 6.41% in the conventional method, but when the training processing unit 100 of the information processing device 1 corrects the machine learning model, the regression rate becomes 2.66%. It can be seen that this is becoming less likely to occur.

(D)その他
図9は実施形態の一例としての情報処理装置1のハードウェア構成を例示する図である。
(D) Others FIG. 9 is a diagram illustrating the hardware configuration of the information processing device 1 as an example of the embodiment.

情報処理装置1は、例えば、プロセッサ11,メモリ12,記憶装置13,グラフィック処理装置14,入力インタフェース15,光学ドライブ装置16,機器接続インタフェース17およびネットワークインタフェース18を構成要素として有する。これらの構成要素11~18は、バス19を介して相互に通信可能に構成される。 The information processing device 1 includes, for example, a processor 11, a memory 12, a storage device 13, a graphic processing device 14, an input interface 15, an optical drive device 16, a device connection interface 17, and a network interface 18 as components. These components 11 to 18 are configured to be able to communicate with each other via a bus 19.

プロセッサ(制御部)11は、情報処理装置1全体を制御する。プロセッサ11は、マルチプロセッサであってもよい。プロセッサ11は、例えばCPU,MPU(Micro Processing Unit),DSP(Digital Signal Processor),ASIC(Application Specific Integrated Circuit),PLD(Programmable Logic Device),FPGA(Field Programmable Gate Array),GPU(Graphics Processing Unit)のいずれか一つであってもよい。また、プロセッサ11は、CPU,MPU,DSP,ASIC,PLD,FPGA,GPUのうちの2種類以上の要素の組み合わせであってもよい。 A processor (control unit) 11 controls the entire information processing device 1 . Processor 11 may be a multiprocessor. The processor 11 is, for example, a CPU, an MPU (Micro Processing Unit), a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), an FPGA (Field Programmable Gate Array), or a GPU (Graphics Processing Unit). It may be any one of the following. Further, the processor 11 may be a combination of two or more types of elements among CPU, MPU, DSP, ASIC, PLD, FPGA, and GPU.

そして、プロセッサ11が情報処理装置1用の制御プログラム(訓練データ生成プログラム13a)を実行することにより、図1に例示した、サンプリング処理部101および最適化処理部105としての機能が実現される。 Then, when the processor 11 executes the control program (training data generation program 13a) for the information processing device 1, the functions of the sampling processing section 101 and the optimization processing section 105 illustrated in FIG. 1 are realized.

なお、情報処理装置1は、例えばコンピュータ読み取り可能な非一時的な記録媒体に記録されたプログラムである訓練データ生成プログラム13aおよびOSプログラムを実行することにより、サンプリング処理部101および最適化処理部105としての機能を実現する。 Note that the information processing device 1 executes the sampling processing unit 101 and the optimization processing unit 105 by executing the training data generation program 13a and the OS program, which are programs recorded on a computer-readable non-temporary recording medium, for example. Realize the function as

情報処理装置1に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、情報処理装置1に実行させる訓練データ生成プログラム13aを記憶装置13に格納しておくことができる。プロセッサ11は、記憶装置13内の訓練データ生成プログラム13aの少なくとも一部をメモリ12にロードし、ロードしたプログラムを実行する。 A program that describes the processing content to be executed by the information processing device 1 can be recorded on various recording media. For example, the training data generation program 13a to be executed by the information processing device 1 can be stored in the storage device 13. The processor 11 loads at least a portion of the training data generation program 13a in the storage device 13 into the memory 12, and executes the loaded program.

また、情報処理装置1(プロセッサ11)に実行させる訓練データ生成プログラム13aを、光ディスク16a,メモリ装置17a,メモリカード17c等の非一時的な可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納された訓練データ生成プログラム13aは、例えばプロセッサ11からの制御により、記憶装置13にインストールされた後、実行可能になる。また、プロセッサ11が、可搬型記録媒体から直接訓練データ生成プログラム13aを読み出して実行することもできる。 Further, the training data generation program 13a to be executed by the information processing device 1 (processor 11) may be recorded on a non-temporary portable recording medium such as an optical disk 16a, a memory device 17a, a memory card 17c, or the like. The training data generation program 13a stored in the portable recording medium becomes executable after being installed in the storage device 13 under the control of the processor 11, for example. Further, the processor 11 can directly read the training data generation program 13a from a portable recording medium and execute it.

メモリ12は、ROM(Read Only Memory)およびRAM(Random Access Memory)を含む記憶メモリである。メモリ12のRAMは情報処理装置1の主記憶装置として使用される。RAMには、プロセッサ11に実行させるプログラムの少なくとも一部が一時的に格納される。また、メモリ12には、プロセッサ11による処理に必要な各種データが格納される。 The memory 12 is a storage memory including ROM (Read Only Memory) and RAM (Random Access Memory). The RAM of the memory 12 is used as a main storage device of the information processing device 1. At least a part of the program to be executed by the processor 11 is temporarily stored in the RAM. The memory 12 also stores various data necessary for processing by the processor 11.

記憶装置13は、ハードディスクドライブ(Hard Disk Drive:HDD)、SSD(Solid State Drive)、ストレージクラスメモリ(Storage Class Memory:SCM)等の記憶装置であって、種々のデータを格納するものである。記憶装置13は、情報処理装置1の補助記憶装置として使用される。記憶装置13には、OSプログラム,制御プログラムおよび各種データが格納される。制御プログラムには訓練データ生成プログラム13aが含まれる。 The storage device 13 is a storage device such as a hard disk drive (HDD), an SSD (Solid State Drive), or a storage class memory (SCM), and stores various data. The storage device 13 is used as an auxiliary storage device of the information processing device 1. The storage device 13 stores an OS program, a control program, and various data. The control program includes a training data generation program 13a.

なお、補助記憶装置としては、SCMやフラッシュメモリ等の半導体記憶装置を使用することもできる。また、複数の記憶装置13を用いてRAID(Redundant Arrays of Inexpensive Disks)を構成してもよい。 Note that a semiconductor storage device such as an SCM or a flash memory can also be used as the auxiliary storage device. Further, a RAID (Redundant Array of Inexpensive Disks) may be configured using a plurality of storage devices 13.

また、記憶装置13には、上述したサンプリング処理部101および最適化処理部105が各処理を実行する際に生成される各種データを格納してもよい。 Further, the storage device 13 may store various data generated when the sampling processing section 101 and the optimization processing section 105 described above execute each process.

グラフィック処理装置14には、モニタ14aが接続されている。グラフィック処理装置14は、プロセッサ11からの命令に従って、画像をモニタ14aの画面に表示させる。モニタ14aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置等が挙げられる。 A monitor 14a is connected to the graphic processing device 14. The graphic processing device 14 displays an image on the screen of the monitor 14a according to instructions from the processor 11. Examples of the monitor 14a include a display device using a CRT (Cathode Ray Tube), a liquid crystal display device, and the like.

入力インタフェース15には、キーボード15aおよびマウス15bが接続されている。入力インタフェース15は、キーボード15aやマウス15bから送られてくる信号をプロセッサ11に送信する。なお、マウス15bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル,タブレット,タッチパッド,トラックボール等が挙げられる。 A keyboard 15a and a mouse 15b are connected to the input interface 15. The input interface 15 transmits signals sent from the keyboard 15a and mouse 15b to the processor 11. Note that the mouse 15b is an example of a pointing device, and other pointing devices can also be used. Other pointing devices include touch panels, tablets, touch pads, trackballs, and the like.

光学ドライブ装置16は、レーザ光等を利用して、光ディスク16aに記録されたデータの読み取りを行なう。光ディスク16aは、光の反射によって読み取り可能にデータを記録された可搬型の非一時的な記録媒体である。光ディスク16aには、DVD(Digital Versatile Disc),DVD-RAM,CD-ROM(Compact Disc Read Only Memory),CD-R(Recordable)/RW(ReWritable)等が挙げられる。 The optical drive device 16 uses laser light or the like to read data recorded on the optical disc 16a. The optical disc 16a is a portable, non-temporary recording medium on which data is recorded in a readable manner by the reflection of light. Examples of the optical disc 16a include a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc Read Only Memory), and a CD-R (Recordable)/RW (ReWritable).

機器接続インタフェース17は、情報処理装置1に周辺機器を接続するための通信インタフェースである。例えば、機器接続インタフェース17には、メモリ装置17aやメモリリーダライタ17bを接続することができる。メモリ装置17aは、機器接続インタフェース17との通信機能を搭載した非一時的な記録媒体、例えばUSB(Universal Serial Bus)メモリである。メモリリーダライタ17bは、メモリカード17cへのデータの書き込み、またはメモリカード17cからのデータの読み出しを行なう。メモリカード17cは、カード型の非一時的な記録媒体である。 The device connection interface 17 is a communication interface for connecting peripheral devices to the information processing device 1 . For example, a memory device 17a or a memory reader/writer 17b can be connected to the device connection interface 17. The memory device 17a is a non-temporary recording medium equipped with a communication function with the device connection interface 17, such as a USB (Universal Serial Bus) memory. The memory reader/writer 17b writes data to or reads data from the memory card 17c. The memory card 17c is a card-type non-temporary recording medium.

ネットワークインタフェース18は、ネットワークに接続される。ネットワークインタフェース18は、ネットワークを介してデータの送受信を行なう。ネットワークには他の情報処理装置や通信機器等が接続されてもよい。 Network interface 18 is connected to a network. The network interface 18 sends and receives data via a network. Other information processing devices, communication devices, etc. may be connected to the network.

そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。 The disclosed technology is not limited to the embodiments described above, and can be implemented with various modifications without departing from the spirit of the present embodiments.

また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。 Further, based on the above disclosure, this embodiment can be implemented and manufactured by those skilled in the art.

(E)付記
以上の実施形態に関し、さらに以下の付記を開示する。
(E) Additional notes Regarding the above embodiments, the following additional notes are further disclosed.

(付記1)
入力した場合に機械学習モデルが正解を出力する第1の複数のデータと、不正解を出力する第2の複数のデータとを取得し、
前記第1の複数のデータのそれぞれに対する前記機械学習モデルの出力を入力した場合の損失関数の値の大きさに応じた確率に基づいて、前記第1の複数のデータから第3の複数のデータを選択し、
前記第2の複数のデータと前記第3の複数のデータとを含む訓練データを生成する、
処理をコンピュータに実行させることを特徴とする訓練データ生成プログラム。
(Additional note 1)
When input, the machine learning model obtains a first plurality of data that outputs a correct answer and a second plurality of data that outputs an incorrect answer,
from the first plurality of data to the third plurality of data based on the probability according to the magnitude of the value of the loss function when the output of the machine learning model for each of the first plurality of data is input. Select
generating training data including the second plurality of data and the third plurality of data;
A training data generation program characterized by causing a computer to perform processing.

(付記2)
前記第3の複数のデータを選択する処理は、前記損失関数の値の大きさに応じて設定された確率分布において、乱数の値が対応する確率範囲に相当する前記第1の複数のデータを、前記第3の複数のデータとして選択する
処理を含むことを特徴とする、付記1に記載の訓練データ生成プログラム。
(Additional note 2)
The process of selecting the third plurality of data includes selecting the first plurality of data corresponding to a probability range to which the value of the random number corresponds in a probability distribution set according to the magnitude of the value of the loss function. , the training data generation program according to supplementary note 1, characterized in that the training data generation program includes a process of selecting the third plurality of data.

(付記3)
複数のパラメータ値の組み合わせを含む粒子を複数有する粒子群において、評価値が最も高い第1の粒子の前記パラメータ値に基づいて、前記第1の粒子以外の第2の粒子の前記パラメータ値を更新し、
更新後の前記第2の粒子の前記評価値が前記第1の粒子の前記評価値よりも高い場合に、前記第3の複数のデータを選択する処理を前記コンピュータに実行させることを特徴とする、付記1または2に記載の訓練データ生成プログラム。
(Additional note 3)
In a particle group having a plurality of particles including a combination of a plurality of parameter values, the parameter value of a second particle other than the first particle is updated based on the parameter value of the first particle with the highest evaluation value. death,
If the updated evaluation value of the second particle is higher than the evaluation value of the first particle, the computer is caused to execute a process of selecting the third plurality of data. , the training data generation program according to appendix 1 or 2.

(付記4)
前記機械学習モデルに含まれる一部のパラメータを、前記第1の粒子および前記第2の粒子のうち、前記評価値が最も高い粒子のパラメータ値を用いて更新する
処理を前記コンピュータに実行させることを特徴とする、付記3に記載の訓練データ生成プログラム。
(Additional note 4)
causing the computer to execute a process of updating some parameters included in the machine learning model using parameter values of a particle with the highest evaluation value among the first particles and the second particles; The training data generation program according to appendix 3, characterized by:

(付記5)
入力した場合に機械学習モデルが正解を出力する第1の複数のデータと、不正解を出力する第2の複数のデータとを取得し、
前記第1の複数のデータのそれぞれに対する前記機械学習モデルの出力を入力した場合の損失関数の値の大きさに応じた確率に基づいて、前記第1の複数のデータから第3の複数のデータを選択し、
前記第2の複数のデータと前記第3の複数のデータとを含む訓練データを生成する、
処理をコンピュータが実行することを特徴とする訓練データ生成方法。
(Appendix 5)
When input, the machine learning model obtains a first plurality of data that outputs a correct answer and a second plurality of data that outputs an incorrect answer,
from the first plurality of data to the third plurality of data based on the probability according to the magnitude of the value of the loss function when the output of the machine learning model for each of the first plurality of data is input. Select
generating training data including the second plurality of data and the third plurality of data;
A training data generation method characterized in that processing is performed by a computer.

(付記6)
前記第3の複数のデータを選択する処理は、前記損失関数の値の大きさに応じて設定された確率分布において、乱数の値が対応する確率範囲に相当する前記第1の複数のデータを、前記第3の複数のデータとして選択する
処理を含むことを特徴とする、付記5に記載の訓練データ生成方法。
(Appendix 6)
The process of selecting the third plurality of data includes selecting the first plurality of data corresponding to a probability range to which the value of the random number corresponds in a probability distribution set according to the magnitude of the value of the loss function. , the training data generation method according to appendix 5, characterized in that the training data generation method includes a process of selecting the third plurality of data.

(付記7)
複数のパラメータ値の組み合わせを含む粒子を複数有する粒子群において、評価値が最も高い第1の粒子の前記パラメータ値に基づいて、前記第1の粒子以外の第2の粒子の前記パラメータ値を更新し、
更新後の前記第2の粒子の前記評価値が前記第1の粒子の前記評価値よりも高い場合に、前記第3の複数のデータを選択する処理を前記コンピュータが実行することを特徴とする、付記5または6に記載の訓練データ生成方法。
(Appendix 7)
In a particle group having a plurality of particles including a combination of a plurality of parameter values, the parameter value of a second particle other than the first particle is updated based on the parameter value of the first particle with the highest evaluation value. death,
The computer is characterized in that the computer executes a process of selecting the third plurality of data when the updated evaluation value of the second particle is higher than the evaluation value of the first particle. , the training data generation method according to appendix 5 or 6.

(付記8)
前記機械学習モデルに含まれる一部のパラメータを、前記第1の粒子および前記第2の粒子のうち、前記評価値が最も高い粒子のパラメータ値を用いて更新する
処理を前記コンピュータが実行することを特徴とする、付記7に記載の訓練データ生成方法。
(Appendix 8)
The computer executes a process of updating some parameters included in the machine learning model using parameter values of a particle with the highest evaluation value among the first particles and the second particles. The training data generation method according to appendix 7, characterized by:

(付記9)
入力した場合に機械学習モデルが正解を出力する第1の複数のデータと、不正解を出力する第2の複数のデータとを取得し、
前記第1の複数のデータのそれぞれに対する前記機械学習モデルの出力を入力した場合の損失関数の値の大きさに応じた確率に基づいて、前記第1の複数のデータから第3の複数のデータを選択し、
前記第2の複数のデータと前記第3の複数のデータとを含む訓練データを生成する、
処理を実行する制御部を含むことを特徴とする情報処理装置。
(Appendix 9)
When input, the machine learning model obtains a first plurality of data that outputs a correct answer and a second plurality of data that outputs an incorrect answer,
from the first plurality of data to the third plurality of data based on the probability according to the magnitude of the value of the loss function when the output of the machine learning model for each of the first plurality of data is input. Select
generating training data including the second plurality of data and the third plurality of data;
An information processing device characterized by including a control unit that executes processing.

(付記10)
前記第3の複数のデータを選択する処理は、前記損失関数の値の大きさに応じて設定された確率分布において、乱数の値が対応する確率範囲に相当する前記第1の複数のデータを、前記第3の複数のデータとして選択する
処理を含むことを特徴とする、付記9に記載の情報処理装置。
(Appendix 10)
The process of selecting the third plurality of data includes selecting the first plurality of data corresponding to a probability range to which the value of the random number corresponds in a probability distribution set according to the magnitude of the value of the loss function. , the information processing apparatus according to appendix 9, further comprising a process of selecting the data as the third plurality of data.

(付記11)
前記制御部が、
複数のパラメータ値の組み合わせを含む粒子を複数有する粒子群において、評価値が最も高い第1の粒子の前記パラメータ値に基づいて、前記第1の粒子以外の第2の粒子の前記パラメータ値を更新し、
更新後の前記第2の粒子の前記評価値が前記第1の粒子の前記評価値よりも高い場合に、前記第3の複数のデータを選択する処理を実行することを特徴とする、付記9または10に記載の情報処理装置。
(Appendix 11)
The control section,
In a particle group having a plurality of particles including a combination of a plurality of parameter values, the parameter value of a second particle other than the first particle is updated based on the parameter value of the first particle with the highest evaluation value. death,
Supplementary note 9, characterized in that when the updated evaluation value of the second particle is higher than the evaluation value of the first particle, a process of selecting the third plurality of data is executed. or the information processing device according to item 10.

(付記12)
前記制御部が、
前記機械学習モデルに含まれる一部のパラメータを、前記第1の粒子および前記第2の粒子のうち、前記評価値が最も高い粒子のパラメータ値を用いて更新する
処理を実行することを特徴とする、付記11に記載の情報処理装置。
(Appendix 12)
The control section,
A process of updating some parameters included in the machine learning model using a parameter value of a particle having the highest evaluation value among the first particle and the second particle is executed. The information processing device according to supplementary note 11.

1 情報処理装置
11 プロセッサ(制御部)
12 メモリ
13 記憶装置
13a 訓練データ生成プログラム
14 グラフィック処理装置
14a モニタ
15 入力インタフェース
15a キーボード
15b マウス
16 光学ドライブ装置
16a 光ディスク
17 機器接続インタフェース
17a メモリ装置
17b メモリリーダライタ
17c メモリカード
18 ネットワークインタフェース
18a ネットワーク
19 バス
100 訓練処理部
101 サンプリング処理部
102 損失計算部
103 確率分布変換部
104 成功データサンプリング部
105 最適化処理部
106 粒子初期化処理部
107 フィットネス計算部
108 グローバルベスト選択部
109 再サンプリング判定部
110 粒子更新部
111 終了判定部
1 Information processing device 11 Processor (control unit)
12 Memory 13 Storage device 13a Training data generation program 14 Graphic processing device 14a Monitor 15 Input interface 15a Keyboard 15b Mouse 16 Optical drive device 16a Optical disk 17 Device connection interface 17a Memory device 17b Memory reader/writer 17c Memory card 18 Network interface 18a Network 19 Bus 100 Training Processing Unit 101 Sampling Processing Unit 102 Loss Calculation Unit 103 Probability Distribution Conversion Unit 104 Successful Data Sampling Unit 105 Optimization Processing Unit 106 Particle Initialization Processing Unit 107 Fitness Calculation Unit 108 Global Best Selection Unit 109 Resampling Judgment Unit 110 Particle Update Section 111 Completion Judgment Section

Claims (6)

入力した場合に機械学習モデルが正解を出力する第1の複数のデータと、不正解を出力する第2の複数のデータとを取得し、
前記第1の複数のデータのそれぞれに対する前記機械学習モデルの出力を入力した場合の損失関数の値の大きさに応じた確率に基づいて、前記第1の複数のデータから第3の複数のデータを選択し、
前記第2の複数のデータと前記第3の複数のデータとを含む訓練データを生成する、
処理をコンピュータに実行させることを特徴とする訓練データ生成プログラム。
When input, the machine learning model obtains a first plurality of data that outputs a correct answer and a second plurality of data that outputs an incorrect answer,
from the first plurality of data to the third plurality of data based on the probability according to the magnitude of the value of the loss function when the output of the machine learning model for each of the first plurality of data is input. Select
generating training data including the second plurality of data and the third plurality of data;
A training data generation program characterized by causing a computer to perform processing.
前記第3の複数のデータを選択する処理は、前記損失関数の値の大きさに応じて設定された確率分布において、乱数の値が対応する確率範囲に相当する前記第1の複数のデータを、前記第3の複数のデータとして選択する
処理を含むことを特徴とする、請求項1に記載の訓練データ生成プログラム。
The process of selecting the third plurality of data includes selecting the first plurality of data corresponding to a probability range to which the value of the random number corresponds in a probability distribution set according to the magnitude of the value of the loss function. The training data generation program according to claim 1, further comprising a process of selecting the third plurality of data as the third plurality of data.
複数のパラメータ値の組み合わせを含む粒子を複数有する粒子群において、評価値が最も高い第1の粒子の前記パラメータ値に基づいて、前記第1の粒子以外の第2の粒子の前記パラメータ値を更新し、
更新後の前記第2の粒子の前記評価値が前記第1の粒子の前記評価値よりも高い場合に、前記第3の複数のデータを選択する処理を前記コンピュータに実行させることを特徴とする、請求項1または2に記載の訓練データ生成プログラム。
In a particle group having a plurality of particles including a combination of a plurality of parameter values, the parameter value of a second particle other than the first particle is updated based on the parameter value of the first particle with the highest evaluation value. death,
If the updated evaluation value of the second particle is higher than the evaluation value of the first particle, the computer is caused to execute a process of selecting the third plurality of data. , The training data generation program according to claim 1 or 2.
前記機械学習モデルに含まれる一部のパラメータを、前記第1の粒子および前記第2の粒子のうち、前記評価値が最も高い粒子のパラメータ値を用いて更新する
処理を前記コンピュータに実行させることを特徴とする、請求項3に記載の訓練データ生成プログラム。
causing the computer to execute a process of updating some parameters included in the machine learning model using parameter values of a particle with the highest evaluation value among the first particles and the second particles; The training data generation program according to claim 3, characterized in that:
入力した場合に機械学習モデルが正解を出力する第1の複数のデータと、不正解を出力する第2の複数のデータとを取得し、
前記第1の複数のデータのそれぞれに対する前記機械学習モデルの出力を入力した場合の損失関数の値の大きさに応じた確率に基づいて、前記第1の複数のデータから第3の複数のデータを選択し、
前記第2の複数のデータと前記第3の複数のデータとを含む訓練データを生成する、
処理をコンピュータが実行することを特徴とする訓練データ生成方法。
When input, the machine learning model obtains a first plurality of data that outputs a correct answer and a second plurality of data that outputs an incorrect answer,
from the first plurality of data to the third plurality of data based on the probability according to the magnitude of the value of the loss function when the output of the machine learning model for each of the first plurality of data is input. Select
generating training data including the second plurality of data and the third plurality of data;
A training data generation method characterized in that processing is performed by a computer.
入力した場合に機械学習モデルが正解を出力する第1の複数のデータと、不正解を出力する第2の複数のデータとを取得し、
前記第1の複数のデータのそれぞれに対する前記機械学習モデルの出力を入力した場合の損失関数の値の大きさに応じた確率に基づいて、前記第1の複数のデータから第3の複数のデータを選択し、
前記第2の複数のデータと前記第3の複数のデータとを含む訓練データを生成する、
処理を実行する制御部を含むことを特徴とする情報処理装置。
When input, the machine learning model obtains a first plurality of data that outputs a correct answer and a second plurality of data that outputs an incorrect answer,
from the first plurality of data to the third plurality of data based on the probability according to the magnitude of the value of the loss function when the output of the machine learning model for each of the first plurality of data is input. Select
generating training data including the second plurality of data and the third plurality of data;
An information processing device characterized by including a control unit that executes processing.
JP2022096500A 2022-06-15 2022-06-15 Training data generation program, training data generation method, and information processing apparatus Pending JP2023183079A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022096500A JP2023183079A (en) 2022-06-15 2022-06-15 Training data generation program, training data generation method, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022096500A JP2023183079A (en) 2022-06-15 2022-06-15 Training data generation program, training data generation method, and information processing apparatus

Publications (1)

Publication Number Publication Date
JP2023183079A true JP2023183079A (en) 2023-12-27

Family

ID=89321088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022096500A Pending JP2023183079A (en) 2022-06-15 2022-06-15 Training data generation program, training data generation method, and information processing apparatus

Country Status (1)

Country Link
JP (1) JP2023183079A (en)

Similar Documents

Publication Publication Date Title
Wang et al. A unified convolutional neural network integrated with conditional random field for pipe defect segmentation
US8923608B2 (en) Pre-screening training data for classifiers
JP7483005B2 (en) Data Label Validation
US20210397948A1 (en) Learning method and information processing apparatus
JP2023183079A (en) Training data generation program, training data generation method, and information processing apparatus
WO2019092868A1 (en) Information processing device, information processing method, and computer-readable recording medium
US20220207302A1 (en) Machine learning method and machine learning apparatus
WO2022037677A1 (en) Method for determining log feature sequence, and vulnerability analysis method and system, and device
WO2023188241A1 (en) Generation method, generation program, and information processing device
JP2023087266A (en) Machine learning program, machine learning method, and machine learning device
JP7364047B2 (en) Learning devices, learning methods, and programs
WO2023127062A1 (en) Data generation method, machine learning method, information processing device, data generation program, and machine learning program
WO2020026395A1 (en) Model creation device, model creation method, and recording medium in which model creation program is recorded
WO2021214861A1 (en) Learning device, trained model generation method, classification device, classification method, and computer-readable recording medium
JP2022187065A (en) Information processing program, information processing method, and information processing apparatus
JP2024010795A (en) Training data generation program, training data generation method, and training data generation apparatus
CN114428720A (en) Software defect prediction method and device based on P-K, electronic equipment and medium
WO2022254626A1 (en) Machine learning program, machine learning method, and machine learning device
JP2023144562A (en) Machine learning program, data processing program, information processing device, machine learning method and data processing method
US20230368072A1 (en) Computer-readable recording medium storing machine learning program, machine learning method, and information processing device
WO2023188354A1 (en) Model training method, model training program, and information processing device
JP2022083884A (en) Modification target edge determination method and modification target edge determination program
JP7365261B2 (en) computer systems and programs
US20240037407A1 (en) Learning apparatus, trained model generation method, classification apparatus, classification method, and computer readable recording medium
US20240086864A1 (en) System and method for automated linking of vehicle repair estimate record and vehicle diagnostic records