WO2024257312A1 - 機械学習プログラム、機械学習方法及び機械学習装置 - Google Patents

機械学習プログラム、機械学習方法及び機械学習装置 Download PDF

Info

Publication number
WO2024257312A1
WO2024257312A1 PCT/JP2023/022294 JP2023022294W WO2024257312A1 WO 2024257312 A1 WO2024257312 A1 WO 2024257312A1 JP 2023022294 W JP2023022294 W JP 2023022294W WO 2024257312 A1 WO2024257312 A1 WO 2024257312A1
Authority
WO
WIPO (PCT)
Prior art keywords
attribute
machine learning
output
discrete
boundary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2023/022294
Other languages
English (en)
French (fr)
Inventor
章人 吉井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 PCT/JP2023/022294 priority Critical patent/WO2024257312A1/ja
Publication of WO2024257312A1 publication Critical patent/WO2024257312A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Definitions

  • the present invention relates to a machine learning program, a machine learning method, and a machine learning device.
  • a technique has been proposed in which the posterior probability distribution of attribute classes is obtained using a least-squares probabilistic classifier, attribute values are estimated as discrete quantities, and continuous and discrete quantity scores are weighted and integrated.
  • a technique has also been proposed in which the attribute values assigned to each image in a learning set are converted into probabilities, an evaluation value is calculated for each image, and the expression parameter value of the target phenomenon is determined based on a threshold value corresponding to the estimation model with the smallest evaluation value.
  • the disclosed technology has been developed in consideration of the above, and aims to provide a machine learning program, a machine learning method, and a machine learning device that improve the estimation accuracy of a machine learning model.
  • the machine learning program, machine learning method, and machine learning device disclosed in this application cause a computer to execute the following process: generate multiple pieces of change data by continuously changing a specific attribute using a generative model; determine whether the specific attribute is a discrete attribute or a continuous attribute; if the specific attribute is determined to be a discrete attribute, determine, for multiple outputs obtained by inputting each of the multiple change data into a machine learning model, an error weight for a second output that corresponds to a non-discrete output boundary, so that the error weight for a first output that corresponds to a discrete output boundary is smaller than the error weight for a second output that corresponds to a discrete output boundary; and train the machine learning model based on a loss function including the determined error weight.
  • the attribute determination unit 102 divides the collected determination output into n groups, which is the set number of categories.
  • the attribute determination unit 102 can divide the determination output into groups using a clustering method such as the k-nearest neighbor method, for example.
  • the attribute determination unit 102 selects "age” as the target attribute.
  • the attribute determination unit 102 sequentially inputs images, which are training data included in the training data set 21, to the classification model 111 that performs classification based on "age”.
  • the attribute determination unit 102 collects the output value from the classification model 111 for each training data as a judgment output.
  • the attribute determination unit 102 calculates a probability value corresponding to the judgment output.
  • the attribute determination unit 102 sets the initial value of the number of classifications to 2. Then, the attribute determination unit 102 classifies the judgment output into two groups.
  • each of the centroids of each group is within each of the intervals obtained by equally dividing the range of possible output values of the classification based on the attribute.
  • a case is considered in which the centroids of the judgment outputs belonging to the two groups are not within each of the two intervals.
  • the attribute determination unit 102 sets the number of classifications to 3 as the next number of classifications.
  • the attribute determination unit 102 classifies the judgment output into three groups. It is then determined whether the center of gravity of each group falls within one of three intervals that divide the possible range of output values for attribute-based classification.
  • the attribute determination unit 102 determines that the number of classifications for the focused attribute "age" is three, making it a continuous attribute.
  • the attribute determination unit 102 divides the determination outputs obtained by inputting multiple data into the classification model 111, which is a machine learning model, into a predetermined number of groups based on the specific attribute. Then, the attribute determination unit 102 determines whether the specific attribute is a discrete attribute or a continuous attribute based on whether the center of gravity of the determination outputs for each group is included in each of the divided ranges obtained by equally dividing the range of possible outputs obtained by changing the specific attribute by a predetermined number.
  • the optimization unit 103 receives input of the judgment results of whether each attribute other than the target attribute is discrete or continuous from the attribute judgment unit 102. Then, for each attribute judged to be discrete, the optimization unit 103 executes the loss value calculation process described below to calculate a loss value by weighting the difference.
  • the number of steps is set to be greater than 4.
  • the optimization unit 103 may have a pre-generated transformation image, or may use the image generation model 120 to obtain a transformation image that is output when data is input in which values are changed according to a determined number of steps along the hyperplane of the target attribute.
  • segment point ⁇ x ⁇ corresponds to the boundary when the output value sequence 200 is segmented not by the steps of a continuous image but by the original discrete classification number. If the number of classifications is n, there are n-1 segment points ⁇ x ⁇ .
  • the optimization unit 103 includes the boundary points corresponding to elements 221 and 222 of the weight sequence in segment point ⁇ x ⁇ , as shown in state 212. In this case, when n is 2, that is, the attribute of interest is binary, there is one boundary point, and therefore there is also one segment point ⁇ x ⁇ .
  • the optimization unit 103 determines whether the stage of the attribute of interest is 2 or not, i.e., whether the number of intervals n ⁇ is 2 or not. If the stage of the attribute of interest is 2, the optimization unit 103 determines the interval point ⁇ x ⁇ to be one of the positions at both ends of the weight sequence of the differences between steps, actually the central point of the output value sequence 200.
  • the optimization unit 103 extracts nv-2 equally spaced points, which is the number of intervals nv minus the points on both ends of the boundary point, from the output value sequence 200.
  • the optimization unit 103 After determining the division point ⁇ x ⁇ , the optimization unit 103 sets the weight of the difference in the output value corresponding to the change image located at the determined division point ⁇ x ⁇ to 1.0, and smoothly complements the other values to be smaller, while determining the values of each element of the weight sequence, as shown in state 214.
  • the optimization unit 103 smoothly connects these points and determines the values of elements 224, 225, and 226 in the weight sequence to be 0.8.
  • This division point ⁇ x ⁇ is an example of a "discrete boundary of the output".
  • the weight of the difference of the output value located at the division point ⁇ x ⁇ is an example of the "weight of the error for the first output corresponding to the discrete boundary of the output”.
  • the weight of the difference of the output value corresponding to the other boundary points is an example of the "weight of the error for the second output corresponding to the output other than the discrete boundary”. That is, when a specific attribute is determined to be a discrete attribute, the optimization unit 103 determines the weight of the error for the second output corresponding to the output other than the discrete boundary so that it is smaller than the weight of the error for the first output corresponding to the discrete boundary of the output.
  • the optimization unit 103 calculates a weighted difference by multiplying each of the weights of the difference in the output values corresponding to the changed images by the difference in the corresponding output values.
  • the optimization unit 103 calculates a loss value of the target attribute using the weighted difference. For example, assuming the case of Non-Patent Document 1, the optimization unit 103 calculates two types of loss values, total variation and orthogonalization penalty. Total variation is a loss value for inputting a traversal image obtained by changing the value on the hyperplane representing the target attribute into the classification model 111, and obtaining a sample that does not satisfy fairness due to a large change in the classification result.
  • the orthogonalization penalty is a loss value for optimizing the vector in the latent space so that it is orthogonal to the target attribute and different from known attributes.
  • the optimization unit 103 calculates a loss value using an unweighted difference for continuous attributes. In this way, the optimization unit 103 trains the machine learning model based on the loss function using the determined error weight.
  • the optimization unit 103 adjusts the parameters representing the hyperplane so as to make the loss function as small as possible using the calculated loss value for each attribute, and generates a hyperplane for each attribute.
  • the hyperplane with adjusted parameters is referred to as an optimized hyperplane.
  • the optimization unit 103 then outputs the optimized hyperplane for each attribute to the scanned image generation unit 104.
  • One method is to make it possible to use values between the number of steps considered. For example, when the number of steps is 6, that is, when the number of boundary points is 5 and three segment points ⁇ x ⁇ are considered, the optimization unit 103 may assign, as the weight corresponding to segment point ⁇ x ⁇ , 5/3, which is the sum of the weights corresponding to each boundary point being 1, divided by 3, which is the number of segment points ⁇ x ⁇ . This makes it possible to keep the total sum of all weights constant. In this case, unlike when consecutive images are generated with 3 steps, it becomes possible to finely adjust the parameters of the classification model 111 using five consecutive images generated at equal intervals.
  • the attribute set indicated by the dataset attribute 22 includes four attributes: "age,” “gender,” “smile,” and “glasses.”
  • the number of steps of consecutive images that change along the attribute hyperplane is six.
  • the output value is converted into a probability value.
  • the attribute determination unit 102 determines that the number of classifications for "age" is three values.
  • the optimization unit 103 selects "age” as the attribute of interest. Next, the optimization unit 103 calculates the difference in probability values between adjacent six consecutive images obtained by changing the value along the hyperplane of "age”. Next, the optimization unit 103 obtains the classification number of "age” as 3 as the number of sections n ⁇ . Next, the optimization unit 103 initializes the values of all five elements of the weight sequence corresponding to the boundary points in the output value sequence to 1.0. Next, the optimization unit 103 selects the points on both ends of the boundary point as the division point ⁇ x ⁇ . Next, the optimization unit 103 selects from the boundary points in the output value sequence an equally spaced point with one point obtained by subtracting 2 from the number of sections n ⁇ .
  • the scanned image generating unit 104 receives an input of an optimized hyperplane for each attribute from the optimization unit 103.
  • the scanned image generating unit 104 then inputs data changed along the optimized hyperplane for each attribute to the image generation model 120 to generate a scanned image that is an image changed along the hyperplane for each attribute.
  • the scanned image generating unit 104 may use a predetermined initial value of a vector for the image generation model 120, and after training the image generation model 120 based on information of a predetermined bias attribute, generate a scanned image using the trained image generation model 120.
  • the scanned image output from the image generation model 120 is then input to the target attribute classification model 112, and the parameters of the target attribute classification model 112 are adjusted using the output to reduce bias.
  • the attribute determination unit 102 executes an attribute determination process to determine whether each attribute other than the target attribute is discrete or continuous, using the training dataset 21, the dataset attributes 22, and the classification model 111 for each attribute (step S2).
  • the optimization unit 103 executes an optimization process to calculate the difference between consecutive images, the number of steps, and the inter-step weights using the classification number for discrete attributes, and to calculate a loss value using the calculated inter-step weights (step S3).
  • the classification model training processing unit 101 acquires the training dataset 21 from the dataset storage device 2 (step S101).
  • the classification model training processing unit 101 also acquires dataset attributes 22 that indicate attributes possessed by the training data included in the training dataset 21.
  • the attribute determination unit 102 selects attribute ai as a focus attribute from among the bias attributes included in the dataset attributes 22 (step S201).
  • the attribute determination unit 102 collects output values for the number of training data items output from the classification model mi, and sets these as output for determination (step S203).
  • the attribute determination unit 102 divides the determination output into n groups using a clustering method such as the k-nearest neighbor method (step S205).
  • the attribute determination unit 102 changes the attribute ai that is the focus attribute, and performs the determination process shown in steps S201 to S210 above for all attributes other than the target attribute to determine whether they are discrete or continuous.
  • the optimization unit 103 calculates the difference in output values of classification model mi, which is the classification model 111 for attribute ai, for the change image of attribute ai (step S302).
  • the optimization unit 103 initializes all element values of the difference weighting sequence corresponding to the boundary points of the output value sequence to 1.0 (step S304).
  • the optimization unit 103 adds the extracted point to the segment point ⁇ x ⁇ (step S308).
  • the optimization unit 103 calculates the loss value of the attribute of interest using the weight difference (step S311).
  • the machine learning device determines whether attributes other than a target attribute, which gives a continuously changing output value, are discrete or continuous. Then, for discrete attributes, the machine learning device according to this embodiment generates weights according to the number of classifications, and calculates a loss value by weighting the difference in output values. This makes it possible to automatically classify using an evaluation scale equivalent to that used when labeling is done manually, making it easier to find meaningful attributes among attributes that give unfair results. Therefore, it is possible to reduce the influence of bias in estimations made by machine learning models, and improve the accuracy of estimations that ensure fairness.
  • the machine learning device 1 is also shown in the block diagram of FIG. 1.
  • the classification model 111 there may be one or two outputs from the classification model 111.
  • classification using binary cross entropy binary_crossentropy
  • classification using two-class class cross entropy categorical_crossentropy
  • the distribution of output values can be considered on a number line as shown in FIG. 3, but when there are two outputs, it is also possible to consider them as two-dimensional points.
  • the attribute determination unit 102 performs clustering on the line L, and determines whether the center of gravity is within the area divided using a predetermined criterion, thereby being able to determine whether the attribute is at level 2 or not.
  • the attribute determination unit 102 can use, for example, a method of dividing the line L into two areas, one on the arrow D1 side and one on the arrow D2 side, as a division method using a predetermined criterion. By using the above method, even when there are two outputs, the attribute determination unit 102 can determine whether the attribute label is binary and discrete, or whether the label is more than binary and continuous.
  • the machine learning device can determine whether the attribute that the classification model is intended to classify is discrete or continuous, even if the classification model outputs two values as an output value representing a binary value. Therefore, even when using a classification model that outputs two values as an output value representing a binary value, it is possible to reduce the influence of bias in estimation by the machine learning model, and improve the accuracy of estimation while ensuring fairness.
  • the machine learning device 1 has, for example, a CPU (Central Processing Unit) 91, a memory 92, a hard disk 93, and a network interface 94.
  • the CPU 91 is connected to the memory 92, the hard disk 93, and the network interface 94 via a bus.
  • the hard disk 93 is an auxiliary storage device.
  • the hard disk 93 realizes the functions of the storage unit 11 illustrated in FIG. 1.
  • the hard disk 93 also stores a nuclide program including programs for realizing the functions of the classification model training processing unit 101, the attribute determination unit 102, the optimization unit 103, and the scanned image generation unit 104 illustrated in FIG. 1.
  • Memory 92 is a main storage device. Memory 92 may be, for example, a dynamic random access memory (DRAM).
  • DRAM dynamic random access memory
  • the CPU 91 reads various programs from the hard disk 93, expands them into the memory 92, and executes them. In this way, the CPU 91 realizes the functions of the classification model training processing unit 101, the attribute determination unit 102, the optimization unit 103, and the scanned image generation unit 104, all of which are illustrated in FIG. 1.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

生成モデルを用いて特定の属性を連続的に変化させた複数の変化データを生成し、特定の属性が離散的な属性か連続的な属性かを判定し、特定の属性が離散的な属性と判定された場合、複数の変化データのそれぞれを機械学習モデルに入力して得られる複数の出力について、出力の離散的な境界に対応する第1の出力についての誤差の重みより、出力の離散的な境界以外に対応する第2の出力についての誤差の重みが小さくなるように決定して、決定した誤差の重みを含む損失関数に基づいて機械学習モデルを訓練する処理をコンピュータに実行させる。

Description

機械学習プログラム、機械学習方法及び機械学習装置
 本発明は、機械学習プログラム、機械学習方法及び機械学習装置に関する。
 近年、ディープラーニングによって訓練された機械学習モデルで意思決定支援をする試みが見られるようになってきている。このような意思決定支援において、バイアスと呼ばれる訓練データやモデル自身に含まれる偏りにより、機械学習モデルからの出力が公平な結果とならないことがある。公平性に影響を与える可能性が想定できる属性は、比較的容易に特定できる。ただし、このような公平性に影響を与える可能性が容易に想定できる属性以外にも公平性に影響を与える属性が解明できれば、不公平な結果をより適切に是正することができると考えられる。
 そこで、従来、バイアスが存在する属性の特定の技術として以下の様な技術が提案されている。例えば、ある属性候補の軸に沿って変化を加えた変化画像の画像群を分類モデルで分類し、分類結果の変化する頻度と度合いを考慮して損失関数を生成する。そして、最適化により分類結果を変化させる傾向の高い、すなわちバイアスが存在する属性を得ることができる。
 なお、機械学習の技術として、最小二乗確率的分類器により属性クラスの事後確率分布を求め、属性値を離散量として推定し、連続量スコア及び離散量スコアに対し重み付けをして統合する技術が提案されている。また、学習セットの各画像に付与された属性値を確率に変換し、評価値を画像毎に算出し、評価値が最小の推測モデルに対応する閾値に基づいて、対象事象の発現パラメータ値を決定する技術が提案されている。また、所定分布のサンプリングにより先行分類器のパラメータを初期化して偏りのない確率関数を用いて学習を行い、先行分類器で学習されたパラメータにより後続分類器のパラメータを初期化して偏りのない確率関数を用いて画像を認識する技術が提案されている。また、バイアス感受性変数の確率分布に基づきバイアス除外モデルの訓練データを取得し、変数に基づき訓練データをクラスタに分割して、変数の確率分布と一致するよう訓練データ集合の重みを調整する技術が提案されている。
国際公開第2012/077476号 特開2020-135568号公報 米国特許出願公開第2019/0050689号明細書 米国特許出願公開第2020/0081865号明細書
Zhiheng Li, Chenliang Xu, Discover the Unknown Biased Attribute of an Image Classifier, In proceedings of ICCV (2021)
 しかしながら、ある属性候補の軸に沿って変化を加えてバイアスが存在する属性を特定する技術では、属性が眼鏡をかけているか否か等のように離散的な意味を持つ場合に、余分に途中の変化を考慮してしまうため、属性発見の精度が低下する可能性がある。例えば、現実には考えられないような画像についても考慮してしまうおそれがある。そこで、離散的な意味を持つかどうかを人手でラベル付けする方法も考えられるが、人手でのラベル付けは負担が大きく、データ数が多い場合には現実的ではない。さらに、連続的な意味を持ちうる属性でも2値ラベルが付加されている場合も存在するため、単に与えられたラベルからその属性が離散的であるか否かを区別することは困難である。
 また、最小二乗確率的分類器を用いて求めた属性クラスの事後確率分布から属性値を離散量として推定する技術では、属性クラスが最初から与えられており、クラスの数が不明な属性が離散的か否かを判定することは困難である。また、学習セットの各画像に付与された属性値から得られる評価値を基に対象事象の発現パラメータ値を決定する技術では、属性が離散的か否かは考慮されていない。先行分類器で学習されたパラメータにより後続分類器のパラメータを初期化して偏りのない確率関数を用いて画像を認識する技術でも、属性が離散的か否かは考慮されていない。また、バイアス感受性変数の確率分布に基づき取得した訓練データを分割して訓練データ集合の重みを調整する技術でも、属性が離散的か否かは考慮されていない。したがって、いずれの技術を用いても、バイアスが存在する属性を特定することは難しく、機械学習モデルの推定精度を向上させることは困難であった。
 開示の技術は、上記に鑑みてなされたものであって、機械学習モデルの推定精度を向上させる機械学習プログラム、機械学習方法及び機械学習装置を提供することを目的とする。
 本願の開示する機械学習プログラム、機械学習方法及び機械学習装置は、一つの態様において、生成モデルを用いて特定の属性を連続的に変化させた複数の変化データを生成し、前記特定の属性が離散的な属性か連続的な属性かを判定し、前記特定の属性が離散的な属性と判定された場合、前記複数の変化データのそれぞれを機械学習モデルに入力して得られる複数の出力について、出力の離散的な境界に対応する第1の出力についての誤差の重みより、出力の離散的な境界以外に対応する第2の出力についての誤差の重みが小さくなるように決定して、前記決定した誤差の重みを含む損失関数に基づいて前記機械学習モデルを訓練する、処理をコンピュータに実行させる。
 本願の開示する機械学習プログラム、機械学習方法及び機械学習装置の一つの態様によれば、機械学習モデルの推定精度を向上させることができるという効果を奏する。
図1は、実施例に係る機械学習装置のブロック図である。 図2は、出力値を示す数直線である出力値列の一例の図である。 図3は、差分の重みの算出を説明するための図である。 図4は、実施例1に係る機械学習装置による各属性の離散値を考慮した超平面生成処理の全体を示すフローチャートである。 図5は、分類モデル訓練処理のフローチャートである。 図6は、属性判定処理のフローチャートである。 図7は、最適化処理のフローチャートである。 図8は、実施例2に係る機械学習装置が属性判定処理で用いる座標平面を示す図である。 図9は、機械学習装置のハードウェア構成図である。
 以下に、本願の開示する機械学習プログラム、機械学習方法及び機械学習装置の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する機械学習プログラム、機械学習方法及び機械学習装置が限定されるものではない。
 図1は、実施例に係る機械学習装置のブロック図である。機械学習装置1は、制御部10及び記憶部11を有する。
 記憶部11は、各属性について分類を行うための各属性それぞれの分類モデル111が集められた分類モデル群110を記憶する。分類モデル111は、機械学習モデルである。分類モデル群110は、分類モデル111のうちの1つとしてターゲット属性の分類を行うためのターゲット属性分類モデル112を含む。ターゲット属性とは、最終的に分類を行う対象とする属性であり、例えば、意思決定支援において判定に用いる対象となる属性である。また、記憶部11は、属性の超平面に沿って連続した変化を示す変化画像を生成する画像生成モデル120を記憶する。
 制御部10は、ターゲット属性に対するバイアスとなる属性であるバイアス属性を特定して、バイアス属性の影響を軽減するようにターゲット属性の分類モデル111の訓練を行う。制御部10により訓練されたターゲット属性の分類モデル111を用いて分類を行うことで、バイアスを除去した公平な意思決定支援を行うことが可能となる。
 以下に、制御部10の詳細について説明する。制御部10は、分類モデル訓練処理部101、属性判定部102、最適化部103及び走査画像生成部104を有する。
 分類モデル訓練処理部101は、以下に説明する分類モデル訓練処理を実行して、分類モデル111のそれぞれを訓練する。分類モデル訓練処理部101は、訓練データセット21をデータセット格納装置2から取得する。また、分類モデル訓練処理部101は、訓練データセット21の訓練データが有する複数の属性の情報を含む属性集合を示すデータセット属性22を取得する。
 次に、分類モデル訓練処理部101は、データセット属性22で示される属性集合の中から着目属性を1つ選択する。次に、分類モデル訓練処理部101は、着目属性の分類モデル111を記憶部11が保持する分類モデル群110の中から特定する。そして、分類モデル訓練処理部101は、訓練データセット21に含まれる訓練データを用いて着目属性の分類モデル111の訓練を実行する。分類モデル訓練処理部101は、データセット属性22で示される全ての属性について分類モデル111の訓練を実行する。
 属性判定部102は、以下に説明する属性判定処理を実行して、各属性について離散的か連続的かを判定する。ここで、各属性に与えられるラベルの数を「分類数」と呼ぶ。例えば、メガネを掛けている顔かメガネを掛けていない顔かという2つのラベルを有する属性は、ラベルは2値であり、分類数は2である。
 本実施例では、離散的とする分類数の上限が予め決められており、属性判定部102は、離散的とする分類数の上限の情報を有する。例えば、分類数が3までが離散的とされた場合、分類数が4以上となる属性は連続的となる。
 属性判定部102は、訓練データセット21及びデータセット属性22をデータセット格納装置2から取得する。そして、属性判定部102は、データセット属性22で示される属性集合の中から着目属性を1つ選択する。この場合、着目属性には、ターゲット属性は含まれなくてよい。すなわち、着目属性は、ターゲット属性による分類においてバイアスとなる可能性のある属性である。
 次に、属性判定部102は、訓練済みの着目属性の分類モデル111を記憶部11が保持する分類モデル群110の中から特定する。次に、属性判定部102は、訓練済みの着目属性の分類モデル111に訓練データを入力する。そして、属性判定部102は、着目属性の分類モデル111から出力された訓練データの個数分の出力値を判定用出力として収集する。
 ここで、属性判定部102は、出力値の取り得る範囲を0~1として正規化して、出力値を確率値に変換して判定用出力として属性判定処理に用いることもできる。出力値を正規化することで、異なる属性についても比較を容易に行うことが可能となる。
 図2は、出力値を示す数直線である出力値列の一例の図である。図2における丸はそれぞれが各訓練データを入力した場合の出力値130を示す。図2に示すように、出力値130は、数直線上に表すことができる。図2は、出力値の取り得る範囲を0~1として、出力値を確率値として示した場合を示す。
 次に、属性判定部102は、着目属性の分類数をnと設定して、以下の判定処理をn=2から1つずつ値を増やしていきながら実行する。属性判定部102は、収集した判定用出力について設定した分類数であるn個のグループへの分割を実行する。ここで、属性判定部102は、例えば、k近傍法等のクラスタリング手法を用いて判定用出力のグループへの分割を行うことができる。
 次に、属性判定部102は、各グループの重心を算出する。属性判定部102は、重心として、各グループに含まれる判定用出力の平均や中央値等を用いることができる。そして、属性判定部102は、算出した各グループの重心がそれぞれ、出力値が取り得る値の範囲をn等分した区間に入っているか否かを判定する。
 ここで、特定の属性に基づく分類を行う分類モデル111の出力値が取り得る値の範囲は、画像分類であれば、特定の属性の超平面上での取り得る範囲内で値を変化させて変化画像を作成した場合の、両端の変化画像を入力とした場合の出力値の差分である。また、出力値を確率値とした場合であれば、出力値が取り得る値の範囲は0~1となる。
 各グループの重心がn等分した区間に入っている場合、属性判定部102は、着目属性はn値的である離散的な属性と判定する。例えば、nが2の場合、属性判定部102は、着目属性は2値的と判定する。
 これに対して、各グループの重心がn等分した区間に入っていない場合、属性判定部102は、nを1つ増やして同様の判定処理を繰り返す。nが分類数の上限に達しても各グループの重心がn等分した区間に入っていない場合、属性判定部102は、着目属性を分類数の上限値以上の段階を有する連続的な属性であると判定する。
 例えば、図2において着目属性の段階が4の場合を考える。この場合、属性判定部102は、出力値110を4つのグループ131~134に分ける。そして、グループ131~134に含まれる判定用出力の重心を算出する。また、属性判定部102は、出力値が取り得る範囲である0.0~1.0を4等分した区間141~144のそれぞれにグループ131~134の重心が含まれるか否かを判定する。この場合、属性判定部102は、区間141~134のそれぞれにグループ131~134の重心が含まれていないと判定する。
 属性判定部102は、ターゲット属性以外の属性の全てについて以上の判定処理を実行して離散的か連続的かを判定する。その後、属性判定部102は、各属性の判定結果を最適化部103へ出力する。この場合、属性判定部102は、離散的な属性については判定結果として分類数を通知する。また、属性判定部102は、連続的な属性については連続的であることを通知する。
 例えば、データセット属性22で示される属性集合に「年齢」、「性別」、「笑顔」及び「メガネ」の4つの属性が含まれる場合で具体例を説明する。ここでは、離散的とされる分類数の上限値が3である、すなわち分類数が4値以上である属性は、全て連続的であるとする。
 例えば、属性判定部102は、着目属性として「年齢」を選択する。次に、属性判定部102は、「年齢」に基づいて分類を行う分類モデル111に訓練データセット21に含まれる訓練データである画像を順次入力する。そして、属性判定部102は、各訓練データについて分類モデル111からの出力値を判定用出力として収集する。次に、属性判定部102は、判定用出力に対応する確率値を算出する。次に、属性判定部102は、分類数の初期値を2とする。そして、属性判定部102は、2つのグループに判定用出力を分類する。そして、各グループの重心のそれぞれが属性に基づく分類の出力値の取り得る範囲を2等分割した区間のそれぞれに入っているか否かを判定する。ここでは、2つのグループに属する判定用出力の重心が、2つの区間のそれぞれに入らない場合を考える。この場合、属性判定部102は、その時点での分類数が3に達していないため、次の分類数として分類数を3とする。そして、属性判定部102は、3つのグループに判定用出力を分類する。そして、各グループの重心のそれぞれが属性に基づく分類の出力値の取り得る範囲を3等分割した区間のそれぞれに入っているか否かを判定する。ここでは、3つのグループに属する出力値の重心が、3つの区間のそれぞれに入った場合を考える。この場合、属性判定部102は、着目属性である「年齢」の分類数が3値であり、連続的な属性であると判定する。
 このように、属性判定部102は、複数のデータを機械学習モデルである分類モデル111に入力して得られる判定用出力を前記特定の属性に基づいて所定数のグループに分割する。そして、属性判定部102は、グループ毎の判定用出力の重心が、特定の属性を変化させて得られる出力の取り得る範囲を所定数で等分割した分割範囲のそれぞれに含まれるか否を基に、特定の属性が離散的な属性か連続的な属性かを判定する。
 最適化部103は、ターゲット属性以外の各属性の離散的か連続的かの判定結果の入力を属性判定部102から受ける。そして、最適化部103は、離散的と判定された属性のそれぞれについて、差分に重みを付けて損失値を算出する以下に説明する損失値算出処理を実行して損失値を算出する。
 最適化部103は、離散的と判定された属性の中から着目属性を1つ選択する。次に、最適化部103は、着目属性の変化データについて分類モデル111の出力値の差分を算出する。変化データは、属性が変化し得る範囲の中で、両端を基準として所定の数の変化の段階となるように属性を変化させた場合のデータである。すなわち、属性が変化しうる範囲は、隣り合う変化データ間の差分の総和にあたる。
 例えば、画像認識による分類であれば、変化データは対象の属性を変化させた変化画像にあたる。変化データについての、変化の段階の数は予め決められている。以下では、変化データの数を「ステップ数」と呼ぶ。例えば、画像認識による分類において、メガネを掛けている状態とメガネをかけていない状態について考える。この場合、メガネをかけている画像及びメガネをかけていない画像が、属性が変化しうる範囲の中の両端の変化画像である。そして、ステップ数が7であれば、メガネをかけている画像及びメガネをかけていない画像を含む7枚の変化画像が存在する。
 本実施例では、ステップ数は4より大きく設定される。最適化部103は、予め生成された変化画像を有しても良いし、画像生成モデル120を用いてその着目属性の超平面に沿って決められたステップ数に応じて値を変化させたデータを入力した場合に出力される変化画像を取得してもよい。
 図3は、差分の重みの算出を説明するための図である。ここでは、画像の分類を例に哲明する。出力値列200は、1つ1つの変化画像を変化の順に入力した場合の出力値を順に並べた列を表す。この場合、ステップ数は7であり、7枚の変化画像を入力した場合の分類モデル111からの出力値201~207が存在する。出力値列200における各変化画像の出力値が位置する領域を「ステップ」と呼ぶ。出力値201~207は、7枚の変化画像に対応する。出力値201は最初の変化画像に対応する出力であり、出力値202~206は着目属性が徐々に変化する変化画像に対応する出力にあたり、出力値207は変化し終わった最後の変化画像に対応する出力である。
 次に、最適化部103は、n値のラベルを有する着目属性の分類数であるnを、変化し得る範囲の区間数nνとする。ここでは、着目属性の分類数nが3である場合を例に説明する。すなわち、最適化部103は、区間数nνを3とする。次に、最適化部103は、隣り合う変化データの間の差分の重み列の要素の値を全て1.0で初期化して、図3における状態211とする。図3の場合、ステップ数は7であるので、重み列の要素であるステップ間の差分は6個存在する。ここで、隣り合う変化データの間の差分とは取り合うステップにおける変化画像間の差分である。紙面に向かって出力値列200の下方に記載した値が、重み列の各要素の値にあたる。以下では、各ステップの間を「境界点」と呼ぶ。すなわち、境界点毎に重み列の要素が存在し、出力値列200における重み列の要素の位置を境界点とすることができる。
 次に、最適化部103は、出力値列200における境界点の両端の位置を区分点{x}として取得する。ここで、区分点{x}は、出力値列200を連続画像のステップではなく、本来の離散的な分類数により区分けした場合の境界にあたる。分類数がnであれば、区分点{x}はn-1個存在する。例えば、図3の出力値列200であれば、最適化部103は、状態212で示すように、重み列の要素221及び222に対応する境界点を区分点{x}に含ませる。この時、nが2すなわち着目属性が2値的である場合には、境界点は1つであるので区分点{x}も1つとなる。
 次に、最適化部103は、着目属性の段階が2であるか否か、すなわち区間数nνが2であるか否かを判定する。着目属性の段階が2である場合、最適化部103は、区分点{x}をステップ間の差分の重み列の両端の位置、実際には出力値列200の中央の点にあたる1つと決定する。
 これに対して、着目属性の分類数nが2より大きい場合、最適化部103は、区間数nνから境界点の両端の点を除いたnν-2個分の等間隔点を、出力値列200の中から抽出する。nν=3の場合、最適化部103は、1個の等間隔点を出力値列200の中から抽出する。
 図3では、ステップ数が7であるため等間隔点が境界点に一致しない。このように、等間隔点が境界点に一致しない場合が存在する。この場合には、nが2の場合でステップ数が奇数の場合も含まれる。その場合、最適化部103は、等間隔点に境界点を区分点{x}として選択する。出力値列200において等間隔点が境界点のちょうど中間にあたる場合、最適化部103は、どちらの境界点を区分点{x}として選んでもよい。ここでは、最適化部103は、状態213に示すように、重み系列の要素223にあたる境界点を区分点{x}として選択する。
 区分点{x}の決定後、最適化部103は、決定した区分点{x}に位置する変化画像に対応する出力値の差分の重みを1.0として、それ以外が小さくなるように滑らかに補完しながら、状態214に示すように、重み系列の要素のそれぞれの値を決定する。ここでは、重み列の要素221、222及び223の値が1.0となるため、最適化部103は、それらの点を滑らかに結んで、重み列の要素224、225及び226の値を0.8と決定する。
 この、区分点{x}が「出力の離散的な境界」の一例にあたる。そして、区分点{x}に位置する出力値の差分の重みが、「出力の離散的な境界に対応する第1の出力についての誤差の重み」の一例にあたる。また、それ以外の境界点に対応する出力値の差分の重みが、「出力の離散的な境界以外に対応する第2の出力についての誤差の重み」の一例にあたる。すなわち、最適化部103は、特定の属性が離散的な属性と判定された場合、出力の離散的な境界に対応する第1の出力についての誤差の重みより、出力の離散的な境界以外に対応する第2の出力についての誤差の重みが小さくなるように決定する。より詳しくは、最適化部103は、変化させた順序にしたがい隣り合う変化データに対応する出力の差分それぞれを出力についての複数の誤差とする。そして、最適化部103は、変化データの順序及び出力の離散的な境界を基に、第1の出力についての誤差を出力についての複数の誤差の中から選択し、出力についての複数の誤差のうち第1の出力についての誤差以外を第2の出力についての誤差とする。
 次に、最適化部103は、変化画像に対応する出力値の差分の重みのそれぞれを対応する出力値の差分に乗算して重み付き差分を算出する。次に、最適化部103は、重み差分を用いて着目属性の損失値を計算する。例えば、非特許文献1の場合を想定すると、最適化部103は、Total variation及びOrthogonalization penaltyという2種類の損失値を算出する。Total variationは、着目属性を表す超平面での値を変化させて得られるTraversal画像を分類モデル111に入力して、分類結果の変化が大きいため公平性を満たしていないサンプルを求めるための損失値である。また、Orthogonalization penaltyは、潜在空間上のベクトルがターゲット属性と直交し、かつ既知の属性とも異なるように最適化するための損失値である。また、最適化部103は、連続的な属性については重みを付けない差分を用いて損失値を計算する。このように、最適化部103は、決定した誤差の重みを用いて損失関数に基づいて前記機械学習モデルを訓練する。
 その後、最適化部103は、各属性についての算出した損失値を用いて損失関数をなるべく小さくするように超平面を表すパラメータを調整して、各属性の超平面を生成する。以下では、パラメータを調整した超平面を、最適化された超平面と呼ぶ。その後、最適化部103は、各属性の最適化された超平面を走査画像生成部104へ出力する。
 ここで、連続画像に対応する出力値の差分の重み付けについて、重み付けの付け方次第では、総和が重み付けしない場合よりも小さくなることが考えられる。この場合、同じ属性同士の比較であれば、重みが共通であるため問題とならない。これに対して、異なる属性同士の比較では、重み付けの仕方により、一方の属性の出力値が他方に比べて小さくなってしまう等の意図しない結果となることが考えられる。
 これらについては、重み付けを工夫することで解決することが可能である。1つの方法として、考慮するステップ数分の間の値を利用できるようにする方法がある。例えば、ステップ数が6、すなわち、境界点の数が5で3つの区分点{x}を考慮する場合、最適化部103は、区分点{x}に対応する重みとして、各境界点に対応する重みを1とした場合の合計である5を、区分点{x}の数である3で除算した5/3を区間点{x}の重みとして割り当ててもよい。これにより、全体の重みの総和を一定にすることができる。この場合、ステップ数が3で連続画像を生成する場合とは異なり、等間隔で生成した5つの連続画像で、分類モデル111のパラメータの細かい調整を行うことが可能となる。
 他にも、最適化部103は、正規化等により各属性が取り得る値の範囲を揃えることができる。例えば、最適化部103は、属性毎の変化データ間の差分の総和を一定範囲の値に変換し、異なる属性同士の比較を可能とすることができる。具体的には、最適化部103は、属性毎の取り得る値の範囲を0~1として、出力値を確率値で表してもよい。
 例えば、データセット属性22で示される属性集合に「年齢」、「性別」、「笑顔」及び「メガネ」の4つの属性が含まれる場合で具体例を説明する。ここでは、属性の超平面に沿って変化する連続画像のステップ数が6であるとする。また、ここでは、各属性を比較し易くするため、出力値が確率値に変換された場合で説明する。さらに、属性判定部102により「年齢」の分類数が3値と判定された場合で説明する。
 最適化部103は、着目属性として「年齢」を選択する。次に、最適化部103は、「年齢」の超平面に沿って値を変化させて得られる6枚の連続画像の隣り合う同士の確率値の差分を算出する。次に、最適化部103は、「年齢」の分類数が3を区間数nνとして取得する。次に、最適化部103は、出力値列における境界点に対応する重み列の5つの要素の値を全て1.0で初期化する。次に、最適化部103は、境界点の両端の点を区分点{x}として選択する。次に、最適化部103は、区間数nνから2を減算した1個の点による等間隔点を出力値列における境界点の中から選択する。そして、最適化部103は、選択した境界点を区分点{x}に加える。そして、最適化部103は、区分点{x}とした3つの境界点に対応する重み系列の要素の値を1.0とする。さらに、最適化部103は、区分点{x}とした境界点の間の重み系列の要素の値を1.0よりも小さくなるように滑らかに補間しながら設定する。そして、最適化部103は、決定した重みを、連続画像を入力とした場合の出力値の差分に乗算して、「年齢」に沿った連続画像の重み付け差分を算出する。その後、最適化部103は、算出した重み付け差分を用いて「年齢」に基づく分類を行う分類モデル111の損失値を計算する。
 走査画像生成部104は、各属性の最適化された超平面の入力を最適化部103から受ける。そして、走査画像生成部104は、最適化された各属性の超平面に沿って変化させたデータを入力して画像生成モデル120に入力して、各属性の超平面に沿った変化画像である走査画像を生成させる。この際、走査画像生成部104は、予め決められたベクトルの初期値を画像生成モデル120に用い、且つ、予め決められたバイアス属性の情報を基に画像生成モデル120の訓練を行った後に、訓練後の画像生成モデル120を用いて走査画像を生成してもよい。そして、画像生成モデル120から出力された走査画像は、ターゲット属性分類モデル112に入力され、その出力を用いてバイアスを減らすためのターゲット属性分類モデル112のパラメータの調整が行われる。
 図4は、実施例1に係る機械学習装置による各属性の離散値を考慮した超平面生成処理の全体を示すフローチャートである。次に、図4を参照して、実施例1に係る機械学習装置による各属性の離散値を考慮した超平面生成処理の全体的な流れを説明する。
 分類モデル訓練処理部101は、訓練データセット21及びデータセット属性22を用いて、記憶部11に格納された分類モデル群110に含まれる各属性の分類モデル111に対して分類モデル訓練処理を実行する(ステップS1)。
 属性判定部102は、訓練データセット21及びデータセット属性22と各属性の分類モデル111を用いて、ターゲット属性以外の属性それぞれが離散的か連続的かを判定する属性判定処理を実行する(ステップS2)。
 最適化部103は、離散的な属性について、連続画像の間の差分及びステップ数、並びに、分類数を用いたステップ間重みを算出及び算出したステップ間重みを用いた損失値の算出を行う最適化処理を実行する(ステップS3)。
 最適化部103は、最適化処理により求められた損失値を用いて各属性の最適化された超平面を生成する(ステップS4)。
 走査画像生成部104は、バイアスとなり得る属性であるバイアス属性の超平面を画像生成モデル120に用いて各バイアス属性の超平面に沿った走査画像を生成する(ステップS5)。この後、生成された走査画像を用いてターゲット属性分類モデル112を訓練することで、ターゲット属性分類モデル112による推定においてバイアス属性による偏りを軽減することができる。
 図5は、分類モデル訓練処理のフローチャートである。図5に示したフローは、図4におけるステップS1で実行される処理の一例を示す。次に、図5を参照して、分類モデル訓練処理の流れを説明する。
 分類モデル訓練処理部101は、訓練データセット21をデータセット格納装置2から取得する(ステップS101)。分類モデル訓練処理部101は、訓練データセット21に含まれる訓練データが有する属性を示すデータセット属性22も取得する。
 次に、分類モデル訓練処理部101は、属性を表す変数であるiを0に設定する(ステップS102)。ここでは、データセット属性22で示される属性がL個存在する場合で説明する。
 次に、分類モデル訓練処理部101は、データセット属性22で示される属性集合の中から着目属性として属性aiを選択する(ステップS103)。
 次に、分類モデル訓練処理部101は、属性aiを分類するための分類モデル111である分類モデルmiを記憶部11が保持する分類モデル群110の中から特定する(ステップS104)。
 そして、分類モデル訓練処理部101は、訓練データセット21に含まれる訓練データを用いて分類モデルmiの訓練を実行する(ステップS105)。
 その後、分類モデル訓練処理部101は、i=L-1か否かを判定する(ステップS106)。i=L-1でない場合(ステップS106:否定)、分類モデル訓練処理部101は、iを1つインクリメントする(ステップS107)。その後、分類モデル訓練処理部101は、ステップS103へ戻る。
 これに対して、i=L-1の場合(ステップS106:肯定)、分類モデル訓練処理部101は、分類モデル訓練処理を終了する。
 図6は、属性判定処理のフローチャートである。図6に示したフローは、図4におけるステップS2で実行される処理の一例を示す。次に、図6を参照して、属性判定処理の流を説明する。
 属性判定部102は、データセット属性22に含まれるバイアス属性の中から着目属性として属性aiを選択する(ステップS201)。
 次に、属性判定部102は、属性aiの分類モデル111である分類モデルmiを記憶部11が保持する分類モデル群110の中から特定する。属性判定部102は、分類モデルmiに訓練データセット21に含まれる訓練データをそれぞれ入力する(ステップS202)。
 次に、属性判定部102は、分類モデルmiから出力された訓練データの個数分の出力値を収集して判定用出力とする(ステップS203)。
 次に、属性判定部102は、着目属性の分類数であるnを2に設定する(ステップS204)。ここでは、離散的と判定する分類数の上限がNである場合で説明する。
 次に、属性判定部102は、k近傍法等のクラスタリング手法等を用いて、判定用出力をn個のグループへ分割する(ステップS205)。
 次に、属性判定部102は、各グループの重心がそれぞれ、出力値が取り得る値の範囲をn等分した区間に入っているか否かを判定する(ステップS206)。
 各グループの重心がn等分した区間に入っている場合(ステップS206:肯定)、属性判定部102は、属性aiの分類数はnであり、離散的である判定する(ステップS207)。
 これに対して、各グループの重心がn等分した区間に入っていない場合(ステップS206:否定)、属性判定部102は、n=Nか否かを判定する(ステップS208)。
 n=Nでない場合(ステップS208:否定)、属性判定部102は、nを1つインクリメントする(ステップS209)。その後、属性判定部102は、ステップS205へ戻る。
 これに対して、n=Nの場合(ステップS208:肯定)、属性判定部102は、着目属性の分類数がN以上であり、連続的であると判定する(ステップS210)。
 属性判定部102は、着目属性とする属性aiを変更して、ターゲット属性以外の属性の全てについて以上のステップS201~210で示した判定処理を実行して離散的か連続的かを判定する。
 図7は、最適化処理のフローチャートである。図7に示したフローは、図4におけるステップS3で実行される処理の一例を示す。次に、図7を参照して、属性判定処理の流を説明する。
 最適化部103は、離散的なバイアス属性の中から着目属性として属性aiを選択する(ステップS301)。
 次に、最適化部103は、属性aiの変化画像について属性aiの分類モデル111である分類モデルmiの出力値の差分を算出する(ステップS302)。
 次に、最適化部103は、属性aiの分類数であるnを、変化し得る範囲の区間数nνとして取得する(ステップS303)。
 次に、最適化部103は、出力値列の境界点に対応する差分の重み列の要素の値を全て1.0で初期化する(ステップS304)。
 次に、最適化部103は、出力値列における境界点の両端の位置を区分点{x}として選択する(ステップS305)。
 次に、最適化部103は、nν-2が0より大きいか否か、すなわち、属性aiの分類数が2であるか否かを判定する(ステップS306)。nν-2=0の場合(ステップS306:否定)、最適化部103は、既に選択した境界点の両端の位置にあたる点が区分点{x}に含まれる点の全てである決定してステップS309へ進む。分類数が2の場合、境界点の両端の位置にあたる点は出力値列の中央の点である。
 一方、nν-2が0より大きい場合(ステップS306:肯定)、最適化部103は、nν-2個分の等間隔点を、出力値列における境界点の中から抽出する(ステップS307)。
 そして、最適化部103は、抽出した点を区分点{x}に追加する(ステップS308)。
 次に、最適化部103は、決定した区分点{x}に位置する境界点に対応する重みを1.0として、それ以外の境界点に対応する重みが1.0より小さくなるように滑らかに補間しながら、各重み系列の要素の値を設定する(ステップS309)。
 次に、最適化部103は、各ステップ間の重みのそれぞれを変化画像の出力値の差分に乗算して重み付き差分を算出する(ステップS310)。
 そして、最適化部103は、重み差分を用いて着目属性の損失値を計算する(ステップS311)。
 以上に説明したように、本実施例に係る機械学習装置は、連続的に変化する出力値が得られるターゲット属性以外の属性について、離散的か連続的かを判定する。そして、本実施例に係る機械学習装置は、離散的な属性についてその分類数に応じた重みを生成して、出力値の差分に重みを付けて損失値を計算する。これにより、自動的に人手によりラベル付けした場合と同等の評価尺度による分類を行うことができ、公平でない結果をもたらす属性の中で、意味のある属性を発見し易くなる。したがって、機械学習モデルによる推定におけるバイアスの影響を軽減することができ、公平性が担保された推定の精度を向上させることができる。
 次に、実施例2について説明する。本実施例に係る機械学習装置1も図1のブロック図で示される。モデルや損失関数の種類により、ラベルが2値であっても分類モデル111からの出力が1つの場合と2つの場合が考えられる。例えば、2値交差エントロピー(binary_crossentropy)を用いた分類では出力は1つであるが、2クラスのクラス交差エントロピー(categorical_crossentropy)を用いた分類では出力が2つである。出力が1つの場合であれば、出力値の分布は図3に示したように数直線上で考えることができるが、出力が2つの場合は、2次元上の点として考えることも可能である。
 そこで、本実施例に係る機械学習装置1は、2値のラベルに対する出力が2つの場合に、出力値の分布を2次元上の点として考える。本実施例に係る属性判定部102は、段階が2の属性を離散的な属性とし、段階が3以上の属性を連続的な属性とする。段階が2の属性としては、例えば、笑顔でない顔と笑顔の顔とを示すクラスや、メガネをかけていない顔とメガネを掛けている顔とを示すクラス等がある。ここでは、2つのクラスをクラスAとクラスBとする。出力値は、クラスAの確率値とクラスBの確率値とで表される。
 図8は、実施例2に係る機械学習装置が属性判定処理で用いる座標平面を示す図である。属性判定部102は、クラスAの確率値をP(A)とし、クラスBの確率値をP(B)として、図8に示すような座標平面を設定する。この場合、出力値はP(A)+P(B)=1となる。なわち、出力値は、図8に示す直線L上にプロットされる。そして、直線Lを2等分する中心点Pに対して、矢印D1の方向に存在する点はクラスAと判定される出力値を表す点であり、矢印D2の方向に存在する点はクラスBと判定される出力値を表す点である。
 属性判定部102は、直線L上でクラスタリングを行い、所定の基準を設けて分割された領域内に重心が入っているか否かを判定することで、属性の段階が2であるか否かを判定することができる。ここで、属性判定部102は、例えば、所定の基準を用いた分割方法として、直線Lの中心点Pから矢印D1側の領域と矢印D2側の領域とで2分割する方法を用いることができる。以上の方法を用いることで、属性判定部102は、2つの出力を有する場合にも、属性のラベルが2値であり離散的であるか、ラベルが2値以上であり連続的であるかを判定することができる。
 以上に説明したように、本実施例に係る機械学習装置は、2値を表す出力値として2つの値が出力される分類モデルであっても、その分類モデルが分類の対象とする属性が離散的か連続的かを判定することができる。したがって、2値を表す出力値として2つの値が出力される分類モデルを使用する場合にも、機械学習モデルによる推定におけるバイアスの影響を軽減することができ、公平性が担保された推定の精度を向上させることができる。
(ハードウェア構成)
 図9は、機械学習装置のハードウェア構成図である。次に、図9を参照して、機械学習装置1の各機能を実現するためのハードウェア構成の一例について説明する。
 図9に示すように、機械学習装置1は、例えば、CPU(Central Processing Unit)91、メモリ92、ハードディスク93、ネットワークインタフェース94を有する。CPU91は、バスを介して、メモリ92、ハードディスク93及びネットワークインタフェース94に接続される。
 ネットワークインタフェース94は、機械学習装置1と外部装置との間の通信のためのインタフェースである。ネットワークインタフェース94は、例えば、データセット格納装置2とCPU91との間の通信を中継する。
 ハードディスク93は、補助記憶装置である。ハードディスク93は、図1に例示した記憶部11の機能を実現する。また、ハードディスク93は、図1に例示した、分類モデル訓練処理部101、属性判定部102、最適化部103及び走査画像生成部104の機能を実現するためのプログラムを含む核種プログラムを格納する。
 メモリ92は、主記憶装置である。メモリ92は、例えば、DRAM(Dynamic Random Access Memory)を用いることができる。
 CPU91は、ハードディスク93から各種プログラムを読み出して、メモリ92に展開して実行する。これにより、CPU91は、図1に例示した、分類モデル訓練処理部101、属性判定部102、最適化部103及び走査画像生成部104の機能を実現する。
 1 機械学習装置
 2 データセット格納装置
 10 制御部
 11 記憶部
 101 分類モデル訓練処理部
 102 属性判定部
 103 最適化部
 104 走査画像生成部

Claims (5)

  1.  生成モデルを用いて特定の属性を連続的に変化させた複数の変化データを生成し、
     前記特定の属性が離散的な属性か連続的な属性かを判定し、
     前記特定の属性が離散的な属性と判定された場合、前記複数の変化データのそれぞれを機械学習モデルに入力して得られる複数の出力について、出力の離散的な境界に対応する第1の出力についての誤差の重みより、出力の離散的な境界以外に対応する第2の出力についての誤差の重みが小さくなるように決定して、前記決定した誤差の重みを含む損失関数に基づいて前記機械学習モデルを訓練する、
     処理をコンピュータに実行させることを特徴とする機械学習プログラム。
  2.  前記決定の処理は、
     変化させた順序にしたがい隣り合う前記変化データに対する出力の差分それぞれを出力についての複数の誤差とし、
     前記変化データの順序及び出力の離散的な境界を基に、前記第1の出力についての誤差を前記出力についての複数の誤差の中から選択し、
     前記出力についての複数の誤差のうち前記第1の出力についての誤差以外を前記第2の出力についての誤差とする、
     処理を含むことを特徴とする請求項1に記載の機械学習プログラム。
  3.  前記判定の処理は、
     複数のデータを前記機械学習モデルに入力して得られる判定用出力を前記特定の属性に基づいて所定数のグループに分割し、グループ毎の判定用出力の重心が、前記特定の属性を変化させて得られる出力の取り得る範囲を前記所定数で等分割した分割範囲のそれぞれに含まれるか否を基に、前記特定の属性が離散的な属性か連続的な属性かを判定する、
     処理を含むことを特徴とする請求項1に記載の機械学習プログラム。
  4.  生成モデルを用いて特定の属性を連続的に変化させた複数の変化データを生成し、
     前記特定の属性が離散的な属性か連続的な属性かを判定し、
     前記特定の属性が離散的な属性と判定された場合、前記複数の変化データのそれぞれを機械学習モデルに入力して得られる複数の出力について、出力の離散的な境界に対応する第1の出力についての誤差の重みより、出力の離散的な境界以外に対応する第2の出力についての誤差の重みが小さくなるように決定して、前記決定した誤差の重みを含む損失関数に基づいて前記機械学習モデルを訓練する、
     処理をコンピュータが実行することを特徴とする機械学習方法。
  5.  複数の属性のそれぞれに基づいて分類を行う機械学習モデルを記憶する記憶部と、
      生成モデルを用いて特定の属性を連続的に変化させた複数の変化データを生成し、
      前記特定の属性が離散的な属性か連続的な属性かを判定し、
      前記特定の属性が離散的な属性と判定された場合、前記複数の変化データのそれぞれを前記機械学習モデルに入力して得られる複数の出力について、出力の離散的な境界に対応する第1の出力についての誤差の重みより、出力の離散的な境界以外に対応する第2の出力についての誤差の重みが小さくなるように決定して、前記決定した誤差の重みを含む損失関数に基づいて前記機械学習モデルを訓練する、
     処理を実行する制御部と、
     を備えたことを特徴とする機械学習装置。
PCT/JP2023/022294 2023-06-15 2023-06-15 機械学習プログラム、機械学習方法及び機械学習装置 Ceased WO2024257312A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/022294 WO2024257312A1 (ja) 2023-06-15 2023-06-15 機械学習プログラム、機械学習方法及び機械学習装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/022294 WO2024257312A1 (ja) 2023-06-15 2023-06-15 機械学習プログラム、機械学習方法及び機械学習装置

Publications (1)

Publication Number Publication Date
WO2024257312A1 true WO2024257312A1 (ja) 2024-12-19

Family

ID=93851711

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/022294 Ceased WO2024257312A1 (ja) 2023-06-15 2023-06-15 機械学習プログラム、機械学習方法及び機械学習装置

Country Status (1)

Country Link
WO (1) WO2024257312A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022534160A (ja) * 2019-11-13 2022-07-28 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 情報を出力するための方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022534160A (ja) * 2019-11-13 2022-07-28 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 情報を出力するための方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SABIT HASSAN; MALIHE ALIKHANI: "D-CALM: A Dynamic Clustering-based Active Learning Approach for Mitigating Bias", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 26 May 2023 (2023-05-26), 201 Olin Library Cornell University Ithaca, NY 14853, XP091520483 *

Similar Documents

Publication Publication Date Title
JP6965206B2 (ja) クラスタリング装置、クラスタリング方法およびプログラム
CN103136504B (zh) 人脸识别方法及装置
US20050286772A1 (en) Multiple classifier system with voting arbitration
WO2002003256A1 (en) Method and system for the dynamic analysis of data
JP6897749B2 (ja) 学習方法、学習システム、および学習プログラム
CN118094216B (zh) 一种多模态模型优化检索训练方法及存储介质
CN118506221B (zh) 基于无人机架空线路自适应巡检的半监督检测方法
CN114782761B (zh) 基于深度学习的智能仓储物料识别方法和系统
JP2003256443A (ja) データ分類装置
JP6004015B2 (ja) 学習方法、情報処理装置および学習プログラム
US20220366242A1 (en) Information processing apparatus, information processing method, and storage medium
JP2007102401A (ja) 顔向き特定方法、顔判別方法および装置並びにプログラム
CN115953631A (zh) 基于深度迁移学习的长尾小样本声纳图像分类方法及系统
CN119724350B (zh) 一种单细胞测序的数据分类方法及系统
WO2024257312A1 (ja) 機械学習プログラム、機械学習方法及び機械学習装置
CN113033709A (zh) 链路预测方法和装置
JP7800305B2 (ja) 訓練データ生成プログラム、装置、及び方法
WO2022162839A1 (ja) 学習装置、学習方法、及び、記録媒体
KR20250057313A (ko) 모델 파라미터를 조율하는 내구 평가 방법 및 이를 이용한 내구 평가 시스템
US12033370B2 (en) Learning device, learning method, and computer program product
Cho et al. Data clustering method using efficient fuzzifier values derivation
JP5652250B2 (ja) 画像処理プログラム及び画像処理装置
JP2004062482A (ja) データ分類装置
LeRoy et al. Conformal prediction for simulation models
CN115222945B (zh) 基于多尺度自适应课程学习的深度语义分割网络训练方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23941614

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE