IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ディープマインド テクノロジーズ リミテッドの特許一覧

特表2024-538690機械学習モデルのコンフォーマル訓練
<>
  • 特表-機械学習モデルのコンフォーマル訓練 図1
  • 特表-機械学習モデルのコンフォーマル訓練 図2
  • 特表-機械学習モデルのコンフォーマル訓練 図3
  • 特表-機械学習モデルのコンフォーマル訓練 図4
  • 特表-機械学習モデルのコンフォーマル訓練 図5
  • 特表-機械学習モデルのコンフォーマル訓練 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-23
(54)【発明の名称】機械学習モデルのコンフォーマル訓練
(51)【国際特許分類】
   G06N 20/00 20190101AFI20241016BHJP
   G06N 3/09 20230101ALI20241016BHJP
【FI】
G06N20/00 130
G06N3/09
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024520743
(86)(22)【出願日】2022-10-05
(85)【翻訳文提出日】2024-05-22
(86)【国際出願番号】 EP2022077703
(87)【国際公開番号】W WO2023057516
(87)【国際公開日】2023-04-13
(31)【優先権主張番号】63/252,521
(32)【優先日】2021-10-05
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.TENSORFLOW
(71)【出願人】
【識別番号】517030789
【氏名又は名称】ディープマインド テクノロジーズ リミテッド
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】アリ・タイラン・セムギル
(72)【発明者】
【氏名】アルノー・デュッセ
(72)【発明者】
【氏名】クリシュナムルティ・ドヴィジョタム
(72)【発明者】
【氏名】デイヴィッド・スタッツ
(57)【要約】
分類機械学習モデルを訓練するための、コンピュータストレージ媒体上に符号化されたコンピュータプログラムを含む方法、コンピュータシステム、および装置。システムは、較正訓練例および予測訓練例を取得し、較正訓練例に基づいて閾値を決定し、閾値および予測訓練例に基づいて、予測された信頼セットを特徴付けるデータを生成し、少なくとも予測された信頼セットに基づいてモデルパラメータを更新する。
【特許請求の範囲】
【請求項1】
コンフォーマル分類機械学習モデルを訓練するための方法であって、
前記コンフォーマル分類機械学習モデルが、
複数の分類モデルパラメータを有する分類モデルであって、1セットの分類の中のそれぞれの特定の分類に関して、前記特定の分類に関するモデル入力の予測された確率を示す分類出力を生成するために前記モデル入力を処理するように構成される、分類モデル、および
前記モデル入力に関して、前記モデル入力の真の分類が信頼セットに含まれる確率が信頼水準以上であるように前記1セットの分類から選択された1つまたは複数の出力分類を含む前記信頼セットを特定するデータを生成するために、前記分類出力を含む入力を処理するように構成された予測関数を
含み、
前記方法が、
1セットの較正訓練例を取得するステップであって、各較正訓練例が、それぞれの訓練モデル入力、および前記それぞれの訓練モデル入力のそれぞれの分類ラベルを含む、ステップと、
前記1セットの較正訓練例の中の各それぞれの較正訓練例に関して、前記それぞれの訓練モデル入力に関するそれぞれの分類出力を生成するために、前記分類モデルパラメータの現在の値に従って前記分類モデルを使用してそれぞれの前記較正訓練例の前記それぞれの訓練モデル入力を処理するステップと、
少なくとも、前記較正訓練例に関して生成された前記分類出力、前記較正訓練例の前記分類ラベル、および前記信頼水準に基づいて閾値を決定するステップと、
1セットの予測訓練例を取得するステップであって、各予測訓練例が、それぞれの訓練モデル入力、および前記それぞれの訓練モデル入力のそれぞれの分類ラベルを含む、ステップと、
前記1セットの予測訓練例の中の各それぞれの予測訓練例に関して、
それぞれの分類出力を生成するために、前記分類モデルパラメータの前記現在の値に従って前記分類モデルを使用してそれぞれの前記予測訓練例の前記それぞれのモデル入力を処理することを実行するステップと、
それぞれの予測出力を生成するために、前記それぞれの分類出力および前記閾値を含む入力を前記予測関数で処理するステップであって、前記予測関数が、前記それぞれの分類出力について微分可能である、ステップと、
少なくとも、各それぞれの予測訓練例に関して、それぞれの前記予測訓練例に関して生成された前記それぞれの予測出力内のそれぞれの出力信頼セットのサイズを示す値を測定する非効率性損失を含む訓練損失の前記分類モデルパラメータに関する勾配を決定するステップと、
前記勾配を使用して前記分類モデルパラメータのパラメータの前記現在の値を更新するステップと
を含む、方法。
【請求項2】
前記それぞれの予測出力が、前記1セットの分類の中の各分類の信頼スコアを含み、
それぞれの前記信頼スコアが、それぞれの前記分類が予測された前記信頼セットに含まれるそれぞれの確率を特徴付ける、請求項1に記載の方法。
【請求項3】
前記分類モデルが、ニューラルネットワークを含む、請求項1または2に記載の方法。
【請求項4】
前記訓練損失が、前記それぞれの予測出力によって特徴付けられる予測された前記信頼セットに含まれる前記出力分類の分類エラーを測定する分類損失をさらに含む、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記分類損失が、各それぞれの予測訓練例に関して、前記予測出力によって特徴付けられる前記予測された信頼セットに前記真の分類を含めないエラーを測定する第1の項を含む、請求項4に記載の方法。
【請求項6】
前記分類損失が、各それぞれの予測訓練例に関して、前記それぞれの出力信頼セットに前記真の分類ではない指定された分類を含めるエラーを測定する第2の項を含む、請求項4または5に記載の方法。
【請求項7】
前記指定された分類が、先験的情報に基づいて、前記真の分類と相反する分類として決定される、請求項6に記載の方法。
【請求項8】
前記予測関数が、前記分類出力に基づいて計算された第1の値と前記閾値に基づいて計算された第2の値との間の差に適用される閾値関数の平滑化された実装を含む、請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記1セットの予測訓練例の中の各それぞれの予測訓練例に関して、前記第1の値が、特定の分類に関する前記それぞれの分類出力によって示される前記予測された確率として計算される、請求項8に記載の方法。
【請求項10】
前記1セットの予測訓練例の中の各それぞれの予測訓練例に関して、前記第1の値が、前記1セットの分類からの複数の分類に関する前記それぞれの分類出力によって示される複数の予測された確率の合計として計算される、請求項8に記載の方法。
【請求項11】
平滑化された前記閾値関数が、シグモイド関数である、請求項8から10のいずれか一項に記載の方法。
【請求項12】
前記閾値を決定するステップが、
前記分類モデルからの前記分類出力、前記較正訓練例の前記分類ラベル、および信頼値を、前記閾値を出力する較正関数で処理することであって、前記較正関数が、前記分類出力について微分可能である、処理することを含む、請求項1から11のいずれか一項に記載の方法。
【請求項13】
前記較正関数が、
前記1セットの較正訓練例の中の各それぞれの較正訓練例に関して、前記それぞれの分類出力および前記それぞれの分類ラベルに基づいて、それぞれの適合性スコアを計算することと、
前記適合性スコアおよび前記信頼水準に対して分位数演算の平滑化された実装を実行することと
を行うように構成される、請求項12に記載の方法。
【請求項14】
訓練例のバッチを取得するステップと、
前記1セットの較正訓練例および前記1セットの予測訓練例を生成するために、訓練例の前記バッチをランダムにサンプリングするステップと
をさらに含む、請求項1から13のいずれか一項に記載の方法。
【請求項15】
訓練例の前記バッチが、訓練例の第1のバッチであり、
前記方法が、
訓練例の追加のバッチを取得するステップと、
訓練例の前記追加のバッチの各々で前記分類機械学習モデルの訓練を繰り返し実行するステップと
をさらに含む、請求項14に記載の方法。
【請求項16】
前記非効率性損失が、前記1セットの分類に関する重み係数によってスケーリングされたそれぞれの予測された前記信頼セットのサイズに基づいて計算される重み付けされたサイズを測定する、請求項1から15のいずれか一項に記載の方法。
【請求項17】
前記モデル入力が、センサーデータを含み、
前記分類が、物体カテゴリに対応し、
前記モデル入力が、患者の生理学的測定値などの医療データを含み、
前記分類が、それぞれ、前記患者の異なる診断に対応し、および/または
前記モデル入力が、環境の観測値を含み、
前記分類が、それぞれ、前記環境の異なる状態に対応する、請求項1から16のいずれか一項に記載の方法。
【請求項18】
コンフォーマル分類を実行するためのコンピュータにより実施される方法であって、
請求項1から17のいずれか一項に記載の方法を使用して訓練された前記分類モデルを取得するステップと、
モデル入力を取得するステップと、
1セットの分類の中のそれぞれの特定の分類に関して、前記特定の分類に関する前記モデル入力の予測された確率を示す分類出力を生成するために、前記分類モデルで前記モデル入力を処理するステップと、
較正データセットに基づいて、信頼値に従って、滑らかでない較正関数によって予測された閾値を取得するステップと、
前記1セットの分類から選択された1つまたは複数の出力分類を含む信頼セットを生成するために、モデル出力および前記閾値を処理するステップと
を含む、コンピュータにより実施される方法。
【請求項19】
前記信頼セットに少なくとも部分的に基づいて、
ロボットまたは乗り物を制御することであって、前記モデル入力が、センサーデータを含み、前記分類が、物体カテゴリに対応する、制御することと、
1つまたは複数の医療診断を提供することであって、前記モデル入力が、患者の生理学的測定値などの医療データを含み、前記分類が、それぞれ、前記患者の異なる診断に対応する、提供することと、
環境内でタスクを実行するようにエージェントを制御することであって、前記モデル入力が、前記環境の観測値を含み、前記分類が、それぞれ、前記環境の異なる状態に対応する、制御することと
のうちの1つまたは複数を実行するステップをさらに含む、請求項18に記載の方法。
【請求項20】
1つまたは複数のコンピュータと、
前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに請求項1から19のいずれか一項に記載の方法のそれぞれの動作を実行させる命令を記憶した1つまたは複数のストレージデバイスと
を含む、システム。
【請求項21】
1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに請求項1から19のいずれか一項に記載の方法のそれぞれの動作を実行させる命令を記憶した1つまたは複数のコンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、その開示全体が参照により本明細書に組み込まれる、2021年10月5日に出願した米国仮特許出願第63/252,521号の優先権を主張するものである。
【0002】
本明細書は、概して、入力に関して予測を生成するように機械学習モデルを訓練することに関し、特に、ユーザによって指定された信頼水準(confidence level)で真の予測を含む信頼セット(confidence set)を定義するコンフォーマル分類(conformal classification)を生成するように機械学習モデルを訓練することに関する。
【背景技術】
【0003】
機械学習モデルは、予測または判断を定義する出力を生成するために、機械学習モデルのパラメータに従って入力データを処理するように構成される。たとえば、ニューラルネットワークは、受け取られた入力に関する出力を予測するために非線形ユニットの1つまたは複数の層を使用する機械学習モデルである。一部のニューラルネットワークは、出力層に加えて1つまたは複数の隠れ層を含む。各隠れ層の出力は、ネットワーク内の次の層、すなわち、次の隠れ層または出力層への入力として使用される。ネットワークの各層は、パラメータのそれぞれのセットの現在の値に従って、受け取られた入力から出力を生成する。
【0004】
機械学習モデルのパラメータは、1つまたは複数の訓練例を含む訓練データに基づく訓練プロセスを通じて決定され得る。たとえば、ニューラルネットワークは、たとえば、ニューラルネットワークのネットワーク層の重みおよびバイアス係数(bias coefficient)を含むネットワークパラメータを更新することによって訓練され得る。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Sadinleら、「Least ambiguous set-valued classifiers with bounded error levels」、Journal of the American Statistical Association (JASA)、114(525):223~234
【非特許文献2】Blondelら、「Fast differentiable sorting and ranking」、Proc. of the International Conference on Machine Learning (ICML)、2020
【非特許文献3】Cuturiら、「Differentiable ranking and sorting using optimal transport」、Advances in Neural Information Processing Systems (NeurIPS)、2019
【非特許文献4】Romanoら、「Classification with valid and adaptive coverage」、Advances in Neural Information Processing Systems (NeurIPS)、2020
【発明の概要】
【課題を解決するための手段】
【0006】
コンフォーマル予測は、分類モデルなどの基礎をなす機械学習モデルからの出力予測に関する不確実性の推定および明確な保証を提供する。たとえば、コンフォーマル予測器は、分類モデルによって生成された出力に関して、ユーザによって指定された信頼水準で真の分類を含む信頼セットを予測することができる。コンフォーマル予測器の予測効率は、信頼セットのサイズによって測定されることが可能であり、信頼セットのより大きなサイズは、低下した予測効率を示す。
【0007】
本明細書は、信頼セットを予測するためにコンフォーマル予測器とともに使用される分類機械学習モデルを訓練するための、コンピュータ記憶媒体に符号化されたコンピュータプログラムを含む方法、コンピュータシステム、および装置を説明する。
【0008】
概して、分類モデルは、1セットの分類の中のそれぞれの特定の分類に関して、特定の分類に関するモデル入力の予測された確率を示す分類出力を生成するためにモデル入力を処理するように構成される。
【0009】
分類モデルは、様々な分類タスクのいずれかを実行するように構成された分類器ニューラルネットワークであることが可能である。本明細書において使用されるとき、分類タスクは、1セットの複数のカテゴリの各々のそれぞれのスコア(たとえば、予測された確率)を含む出力をモデルが生成することを要求する任意のタスクである。それぞれのスコアは、それぞれのスコアを使用してモデル入力の「分類」としてカテゴリのうちの1つまたは複数を選択するために使用され得る。
【0010】
分類タスクの一例は、画像分類であり、分類モデルへの入力が、画像、たとえば、画像のピクセルの強度値であり、カテゴリが、物体カテゴリであり、タスクが、物体カテゴリのうちの1つまたは複数からの物体を描写するものとして画像を分類することである。つまり、所与の入力画像に関する分類出力は、入力画像に描かれている1つまたは複数の物体カテゴリの予測を示す。本明細書において使用されるとき、画像は、静止画像または動画像(たとえば、ビデオ)を指す場合がある。分類モデルへの入力(すなわち、画像データ)は、画像のピクセル、またはエンコーダ、たとえばエンコーダニューラルネットワークによって生成された可能性があるような画像の別の表現を含んでよい。画像は、カラーまたはモノクロのピクセル値データを含む場合がある。そのような画像は、カメラまたはLIDARセンサーなどのイメージセンサーから取り込まれる場合がある。
【0011】
分類タスクの別の例は、テキスト分類であり、分類モデルへの入力が、テキストであり、タスクが、複数のカテゴリのうちの1つに属するものとしてテキストを分類することである。そのようなタスクの一例は、感情分析タスクであり、カテゴリが、それぞれ、タスクの異なるあり得る感情に対応する。そのようなタスクの別の例は、読解タスクであり、入力テキストが、文脈パッセージ(context passage)および質問を含み、カテゴリが、それぞれ、質問の答えになる可能性がある文脈パッセージからの異なるセグメントに対応する。分類タスクとして括られ得るテキスト処理タスクのその他の例は、含意(entailment)タスク、言い換えタスク、テキスト類似性タスク、感情タスク、文完成タスク、文法性(grammaticality)タスクなどを含む。
【0012】
分類タスクの他の例は、分類モデルへの入力がスピーチを表すオーディオデータである、音声処理タスクなどのオーディオ分類タスクを含む。音声処理タスクの例は、言語特定(カテゴリはスピーチの異なるあり得る言語である)、ホットワード特定(カテゴリはオーディオデータ内で1つまたは複数の特定の「ホットワード」が言われているかどうかを示す)などを含む。オーディオデータは、センサー、たとえば、オーディオトランスデューサまたはマイクロフォンから取得される場合があり、デジタル化されたオーディオ波形、たとえば、スピーチ波形の表現を含む場合がある。そのような表現は、波形のデジタル化された振幅値を表すサンプル、またはたとえば、STFT(短時間フーリエ変換)もしくはMFCC(メル周波数ケプストラム係数)表現などの波形の時間周波数領域表現を含む場合がある。(オーディオ)分類モデルの出力は、オーディオ信号の異なるカテゴリを示すオーディオ信号(たとえば、アラームが鳴ること、人が話すこと、機械または乗り物が運転されることなどに対応する信号)が入力オーディオデータ内に存在するという予測を含む場合があり、その場合、出力は、異なるオーディオ信号がオーディオデータまたはオーディオデータのセグメント内に存在する見込み(likelihood)を示すそれぞれのカテゴリスコアであってよい。分類タスクは、音声または音認識タスク(たとえば、カテゴリスコアは、異なるそれぞれの単語がオーディオデータ内に存在する見込みを示す場合がある)、電話または話者分類タスク(たとえば、カテゴリスコアは、それぞれ、オーディオデータ内で異なるそれぞれの話者が話していた見込みを示す場合がある)を含む場合がある。
【0013】
概して、分類モデルへの入力データは、任意の信号、たとえば、センサー、たとえば、現実世界の物体の物理的特徴を感知するセンサーからの信号(たとえば、物体の画像データ)の波形(たとえば、時系列)を含む場合がある。一部の実装において、センサーデータは、たとえば、姿勢データおよび/もしくは位置/速度/加速度データなどの、ロボットもしくは乗り物の状態を特徴付けるデータ、または感知された電流信号および/もしくは温度信号のような感知された電子信号などの、産業プラント、工場、またはデータセンターの状態を特徴付けるデータを含む場合がある。分類タスクは、イベントまたは状態タグ付けタスクを含む場合があり、その場合、分類モデルの出力は、(たとえば、環境または環境内の機器の)異なるイベントまたは異なる状態が入力データまたは入力データのセグメント内に表されているかどうかを示すそれぞれのカテゴリスコアを含んでよい。一部の例において、そのようなイベントまたは状態は、デバイスもしくは機械の動作状態、および/または異なる状態間の遷移、たとえば、デバイスもしくは機械の予期されたもしくは機能している状態と予期せぬもしくは機能していない状態との間の遷移を含む場合がある。分類モデル出力は、物体または環境の物理的特徴(たとえば、サイズ、位置、速度)または状態を示す異なるカテゴリのそれぞれのカテゴリスコアを含む場合がある。
【0014】
コンフォーマル予測器は、分類機械学習モデルによって出力された分類予測の不確実性を評価するために使用され得る。いずれの分類タスクに適用されるいずれの適切な分類モデルに関しても、予測器は、分類モデルへのモデル入力に関して、モデル入力の真の分類が信頼セットに含まれる確率が信頼水準、たとえば、ユーザによって定義された信頼水準以上であるように1セットの分類から選択された1つまたは複数の出力分類を含む信頼セットを特定するデータを生成するために、分類モデルからの分類出力を含む入力を処理するように構成される。つまり、(信頼セットが真の分類を含むという意味での)コンフォーマル予測器によって出力された信頼セットの分類精度は、特定の用途に応じてユーザによって定義され得る信頼水準に従うことが保証される。
【0015】
コンフォーマル予測器の上記の特性は、特に、医療診断、自動運転車、およびロボット工学などの失敗したときのリスクが大きい応用においてコンフォーマル分類機械学習モデルの信頼性を実現するために重要である。たとえば、コンピュータ支援癌検出においては、信頼性の保証を与えることなく最も可能性の高い単一の診断を提供するよりも、高信頼(たとえば、99%の信頼水準)で1セットの潜在的な診断を捕捉する方がより重要および有用である場合がある。
【0016】
一例において、分類モデルおよびコンフォーマル予測器は、医療スクリーニングおよび診断タスクのために使用され、モデルへの入力は、ユーザの健康を特徴付ける医療データであり、モデル出力は、それぞれが異なる診断を表す複数のカテゴリにわたる予測である。モデル入力は、医用画像、たとえば、被験者の1つまたは複数の医用スキャン画像、X線、CT、MRI、または超音波画像を含み得る。代替的または追加的に、モデル入力は、生検組織からの顕微鏡組織像を含み得る。代替的または追加的に、モデル入力は、被験者のBMI、血圧、心拍数、糖尿病環境、様々なホルモンの血清レベル、および遺伝子マーカーなどの被験者の生理学的パラメータ、および身体の不快感の位置および酷さなどの被験者の症状情報を含み得る。代替的または追加的に、モデル入力は、任意選択で、被験者を特徴付けるその他の情報を含み得る。分類モデルは、複数の診断カテゴリの確率スコアを予測するためにモデル入力を処理するように構成され得る。たとえば、医療診断タスクが癌、たとえば、乳癌、スクリーン(screen)、および検出であるとき、診断カテゴリは、たとえば、「正常」、「腺症」、「線維腺腫」、「腺管癌(Ductal Carcinoma)」、「管状癌(Tubular Carcinoma)」、「小葉癌(Lobular Carcinoma)」などを含む、乳癌のスクリーニングおよび検出の異なる診断を含み得る。浸潤性乳管癌などの乳房悪性腫瘍の早期診断を逃すことは、患者の著しく悪化した予後を引き起こす場合があるので、追跡検査および介入を導くために、保証された信頼水準で予測に1セットのあり得る診断を含めることが重要である場合がある。たとえば、一方では、分類出力が、最も可能性の高い診断が(たとえば、0.6の予測された確率で)良性乳房腫瘍「線維腺腫」であることを示す場合がある。他方では、95%の信頼水準でコンフォーマル予測器によって予測された信頼セットが、{"線維腺腫","腺管癌","管状癌"}を含む場合がある。したがって、単に最もスコアの高いカテゴリを見ることは心配のいかなる原因も示さないが、予測された信頼セットに含まれる悪性腫瘍が心配および追跡を引き起こすはずであるので、予測された信頼セットは、分類出力のみよりも多くの情報を提供する。
【0017】
別の例において、分類モデルおよびコンフォーマル予測器は、自律走行車に搭載されて使用される。この例において、モデルへの入力は、車両のセンサーによって捕捉されたセンサーデータ、たとえば、画像データ、LIDARデータ、レーダーデータ、または何らかの組合せであることが可能であり、分類モデル出力は、異なる種類の物体、たとえば、車両、歩行者、交通標識、自転車乗りなどを表す複数の物体カテゴリの各々に関するそれぞれのスコアである。シーン内の歩行者または自転車乗りの検出を逃すことは、車両の操縦の致命的な誤りを引き起こし得るので、車両の操縦を導くために、保証された信頼水準で予測に物体の1セットのあり得る分類を含めることが重要である場合がある。たとえば、一方では、分類出力が、最も可能性の高い分類が交通標識であることを示す場合がある。他方では、95%の信頼水準でコンフォーマル予測器によって予測された信頼セットが、歩行者および/または自転車乗りを含む場合がある。したがって、単に最もスコアの高いカテゴリを見ることは心配のいかなる原因も示さないが、予測された信頼セットに含まれる歩行者および/または自転車乗りが車両の操縦における警戒を合図するはずであるので、予測された信頼セットは、分類出力のみよりも多くの情報を提供する。
【0018】
一つの革新的な態様において、本明細書は、コンフォーマル分類機械学習モデルを訓練するための方法を説明する。方法は、1つまたは複数のコンピュータを含むシステムによって実施される。
【0019】
システムは、1セットの較正訓練例を取得し、閾値を決定するために較正訓練例を使用する。各較正訓練例は、それぞれの訓練モデル入力と、それぞれの訓練モデル入力のそれぞれの分類ラベルとを含む。1セットの較正訓練例の中の各それぞれの較正訓練例に関して、システムは、それぞれの訓練モデル入力に関するそれぞれの分類出力を生成するために、モデルパラメータの現在の値に従って分類モデルを使用してそれぞれの較正訓練例のそれぞれの訓練モデル入力を処理する。システムは、少なくとも、較正訓練例に関して生成された分類出力、較正訓練例の分類ラベル、および信頼水準に基づいて閾値を決定する。
【0020】
システムは、1セットの予測訓練例をさらに取得する。各予測訓練例は、それぞれの訓練モデル入力と、それぞれの訓練モデル入力のそれぞれの分類ラベルとを含む。1セットの予測訓練例の中の各それぞれの予測訓練例に関して、システムは、それぞれの分類出力を生成するために、モデルパラメータの現在の値に従って分類モデルを使用してそれぞれの予測訓練例のそれぞれのモデル入力を処理し、それぞれの予測出力を生成するために、それぞれの分類出力および閾値を含む入力を滑らかな予測関数(smooth prediction function)で処理する。滑らかな予測関数は、滑らかな予測関数への入力について微分可能である(たとえば、入力についての滑らかな予測関数の1つまたは複数の導関数は、連続関数であってよい)。
【0021】
システムは、訓練損失(training loss)のモデルパラメータに関する勾配を決定する。訓練損失は、少なくとも、各それぞれの予測訓練例に関して、それぞれの予測出力によって特徴付けられるそれぞれの予測された信頼セットのサイズを示す値を測定する非効率性(inefficiency)損失を含む。システムは、勾配を使用してモデルパラメータのパラメータの現在の値を更新する。
【0022】
一部の実装において、それぞれの予測出力は、1セットの分類の中の各分類の信頼スコアを含む。それぞれの信頼スコアは、それぞれの分類が予測された信頼セットに含まれるそれぞれの確率を特徴付ける。
【0023】
一部の実装において、分類モデルは、多層パーセプトロンまたはResNetsなどの任意の適切なアーキテクチャを持つニューラルネットワークを含む。
【0024】
一部の実装において、非効率性損失は、1セットの分類に関する重み係数によってスケーリングされたそれぞれの予測された信頼セットのサイズに基づいて計算される重み付けされたサイズを測定する。
【0025】
一部の実装において、訓練損失は、それぞれの予測出力によって特徴付けられる予測された信頼セットに含まれる出力分類の分類エラーを測定する分類損失をさらに含む。
【0026】
分類損失は、各それぞれの予測訓練例に関して、予測出力によって特徴付けられる予測された信頼セットに真の分類を含めないエラーを測定する第1の項を含み得る。
【0027】
実装において、モデル入力は、センサーデータ(たとえば、画像、ビデオ、および/もしくはオーディオデータ)を含む場合があり、分類は、物体カテゴリに対応し、ならびに/またはモデル入力は、患者の生理学的測定値などの医療データを含む場合があり、分類は、それぞれ、患者の異なる診断に対応し、ならびに/またはモデル入力は、環境の観測値を含む場合があり、分類は、それぞれ、環境の異なる状態に対応する。
【0028】
分類損失は、各それぞれの予測訓練例に関して、それぞれの出力信頼セットに真の分類ではない指定された分類を含めるエラーを測定する第2の項も含み得る。指定された分類は、先験的情報(priori information)(すなわち、事前情報、または「先験的に(a priori)」知られている情報、たとえば、分類出力を決定するためのモデル入力に含まれる情報とは別の、または分類出力を決定するためのモデル入力に含まれる情報に加えての情報)に基づいて、真の分類と相反する分類として決定され得る。たとえば、医療診断の分類の場合、グラウンドトゥルース(ground truth)ラベルが「正常」であるとき、「腺管癌」のような高リスクの病気を信頼セットに入れないことが望ましい場合がある。これは、患者にとって無用な不安または検査を避けることを動機としている。したがって、分類損失の第2の項は、真のラベルが低リスクの分類を示すとき、特定の高リスクの分類にペナルティを与えるために使用され得る。
【0029】
一部の実装において、予測関数は、分類出力に基づいて計算された第1の値と閾値に基づいて計算された第2の値との間の差に適用される閾値関数の平滑化された実装(smoothed implementation)を含む。一例において、1セットの予測訓練例の中の各それぞれの予測訓練例に関して、第1の値は、特定の分類に関するそれぞれの分類出力によって示される予測された確率として計算され得る。別の例において、1セットの予測訓練例の中の各それぞれの予測訓練例に関して、第1の値は、1セットの分類からの複数の分類に関するそれぞれの分類出力によって示される複数の予測された確率の合計として計算され得る。平滑化された閾値関数は、シグモイド関数であることが可能である。
【0030】
一部の実装において、閾値を決定する際に、システムは、閾値を出力する滑らかな較正関数で分類モデルからの分類出力、較正訓練例の分類ラベル、および信頼値(confidence value)を処理する。滑らかな較正関数は、分類出力について微分可能である。較正関数は、1セットの較正訓練例の中の各それぞれの較正訓練例に関して、それぞれの分類出力およびそれぞれの分類ラベルに基づいて、それぞれの適合性スコア(conformity score)を計算することと、適合性スコアおよび信頼水準に対して分位数(quantile)演算の平滑化された実装を実行することとを行うように構成され得る。
【0031】
一部の実装において、システムは、さらに、訓練例のバッチを取得し、1セットの較正訓練例および1セットの予測訓練例を生成するために訓練例のバッチをランダムにサンプリングする。また、システムは、訓練例の複数のバッチを取得し、訓練例のバッチの各々で分類機械学習モデルの訓練を繰り返し実行することができる。
【0032】
本明細書は、コンフォーマル分類を行うための方法も説明する。方法は、1つまたは複数のコンピュータを含むシステムによって実施される。システムは、モデル入力を取得し、上記の方法のいずれかを使用して訓練された分類モデルを取得し、1セットの分類の中のそれぞれの特定の分類に関して、特定の分類に関するモデル入力の予測された確率を示す分類出力を生成するために、分類モデルでモデル入力を処理する。システムは、さらに、較正データセットに基づいて、信頼値に従って、滑らかでない較正関数によって予測された閾値を取得し、1セットの分類から選択された1つまたは複数の出力分類を含み得る信頼セットを生成するために、モデル出力および閾値を処理する。(分類のいずれも信頼値の条件を満たさない場合、出力信頼セットは、場合によっては空になり得る)。
【0033】
実装において、方法は、信頼セットに少なくとも部分的に基づいて、ロボットまたは乗り物(たとえば、自律型または半自律型の陸上または空中または海の乗り物)を制御すること(すなわち、命令を与えること)であって、モデル入力が、1つまたは複数のセンサー(たとえば、ロボットまたは乗り物のセンサー)によって取得されたセンサーデータ(たとえば、画像、ビデオ、および/またはオーディオデータ)を含み、分類が、物体カテゴリ(たとえば、ロボットもしくは乗り物がインタラクションもしくは操作してよい、またはロボットもしくは乗り物を取り囲む環境内に存在する物体のカテゴリ)に対応する、制御することと、1つまたは複数の医療診断を提供することであって、モデル入力が、患者の生理学的測定値などの医療データ(たとえば、医用画像)を含み、分類が、それぞれ、患者の異なる診断に対応する、提供することと、環境内でタスクを実行するようにエージェントを制御することであって、モデル入力が、環境の観測値(たとえば、環境のセンサーから取得されたセンサーデータ)を含み、分類が、それぞれ、環境の異なる状態に対応する、制御することとのうちの1つまたは複数を(自動的に)実行するステップをさらに含む場合がある。
【0034】
一部の実装において、ロボット(たとえば、静止したまたは移動する機械)は、特定のタスクを遂行するために、たとえば、環境内の関心のある物体を見つけるため、または関心のある物体を環境内の指定された場所に移動させるため、または環境内の指定された目的地にナビゲートするために、実世界の環境とインタラクションする。
【0035】
一部の実装において、エージェントは、信頼セットに少なくとも部分的に基づいて、実世界の(またはシミュレーションされた)環境内でアクションを実行してよい。環境は、たとえば、データセンター、サーバファーム、送電もしくは配水システム、または製造工場もしくはサービス施設などの施設内の機器を含む場合がある。そのとき、観測値は、工場または施設の運転に関連する場合がある。たとえば、追加的または代替的に、観測値は、機器による電力もしくは水の使用の観測値、発電もしくは配電制御の観測値、またはリソースの使用もしくは浪費の観測値を含む場合がある。エージェントは、たとえば、リソースの使用を削減すること、および/もしくはたとえば、浪費を減らすことによって環境における運転の環境への影響を減らすことによって効率を上げるために、ならびに/または安全上の理由で(たとえば、機器および/もしくはユーザへの害を防ぐために)、環境内でアクションを実行する場合がある。アクションは、工場/施設の機器を制御するかもしくは工場/施設の機器に運転条件を課すアクション、および/または工場/施設の運転の設定の変更をもたらす、たとえば、工場/施設のコンポーネントを調整するかもしくはオン/オフするためのアクションを含む場合がある。
【0036】
本明細書は、1つまたは複数のコンピュータと、1つまたは複数のコンピュータによって実行されるときに1つまたは複数のコンピュータに上述の方法を実行させる命令を記憶する1つまたは複数のストレージデバイスとを含むシステムも説明する。
【0037】
本明細書は、1つまたは複数のコンピュータによって実行されるときに1つまたは複数のコンピュータに上述の方法を実行させる命令を記憶する1つまたは複数のコンピュータストレージ媒体も説明する。
【0038】
ここで検討されたシステムがユーザについての情報を収集する、またはそのような情報を利用する場合がある状況においては、ユーザが、プログラムまたは特徴がユーザ情報を収集するかどうかを制御する機会を与えられてよい。さらに、特定の情報が、その情報から個人を特定可能な情報を削除するために、その情報が記憶されるかまたは使用される前に1つまたは複数の方法で処理される場合がある。したがって、ユーザは、どのようにして情報がユーザについて収集され、本明細書に記載のシステムによって使用されるかを制御することができる場合がある。
【0039】
本明細書に記載の主題は、以下の利点のうちの1つまたは複数を実現するように特定の実施形態に実装され得る。
【0040】
最近のディープラーニングに基づく分類器は、テストデータでは非常に高い精度を示すが、特に医療診断および自動運転などの失敗したときのリスクが大きい機械学習アプリケーションにおいて、安全なデプロイメントの保証を与えない。通常の機械学習分類モデルに関して、予測は、信頼できる不確実性の推定および明確な保証なしに取得される。コンフォーマル予測は、分類器の予測、たとえば、その確率の推定値を使用して、ユーザによって指定された確率で真のクラスを含む信頼セットを予測することによって、これらの問題に対処する。
【0041】
通常、コンフォーマル予測は、機械モデルが訓練された後、別個の処理ステップとして使用される。すなわち、機械学習モデルは、最適な信頼セットを予測する目的(objective)で訓練されない。たとえば、機械学習分類モデルは、通常、コンフォーマル予測関数によって出力される信頼セットの期待されるサイズを小さくすることなどの要因を考慮せずに、交差エントロピー損失を最小化するように訓練される。分類モデルが訓練された後、分類モデルのパラメータは、コンフォーマル予測器が信頼セットを計算するために使用されるときに固定されており、コンフォーマル予測器に、信頼セットのサイズ(非効率性)または組成(すなわち、含まれるクラス)など、予測された信頼セットを制御する余地をほとんどまたは全く残さない。
【0042】
通常のコンフォーマル予測方法の限界を克服するために、本明細書は、コンフォーマル予測器を用いて分類モデルをエンドツーエンドで訓練するための技術を提供する。コンフォーマル予測のための微分可能なモデルを開発し、予測された信頼セットに基づいて計算された目的で分類モデルを訓練することによって、説明される技術は、保証をなくすことなく、予測された信頼セットに対して定義された特定の目的の最適化を可能にする。たとえば、提供される技術は、非効率性を減らす、すなわち、予測された信頼セットのサイズを小さくし、したがって、予測された分類に基づく意思決定においてより良い手引きを提供するコンフォーマル予測を生成するために使用され得る。出力される信頼セットの非効率性の低減は、多くの実用的な応用に恩恵をもたらし得る。たとえば、医療診断においては、より小さな信頼セットが、医師および患者の混乱および不安を回避するために重要であり、最終的には、より良い診断および医療介入の改善された意思決定につながる。
【0043】
さらに、説明される技術は、訓練のために使用される非効率性損失および/または分類損失を設計することによって、応用のシナリオに応じて信頼セットを形作ることを可能にする。これは、システムが、特定の分類の重要性および/または異なる分類の間の関係などの先験的情報をよりうまく利用することを可能にする。たとえば、医療診断の文脈で、提供される技術は、特に、低リスクの疾患に関する非効率性、すなわち、不確実性を減らすために使用され得る。これは、高リスクの病気により重点を置くように医師を案内する場合がある。代替的または追加的に、説明される技術は、信頼セットが医師によって頻繁に取り違えられる2つの病気を含む、または高リスクの病気と低リスクの病気との両方を含む可能性がより低くなるように、信頼セットの組成に対する制約を強制するために使用され得る。信頼セットの最適化の目的を形作る際のこれらの柔軟性は、診断および意思決定をさらに改善するために特定のシナリオにおいて有利である可能性がある。
【図面の簡単な説明】
【0044】
図1】分類モデルを訓練するための例示的なコンフォーマル訓練システムを示す図である。
図2】分類機械学習モデルのコンフォーマル訓練を実行する例を示す図である。
図3】例示的なコンフォーマル分類システムを示す図である。
図4】分類モデルを訓練するための例示的なプロセスを示す流れ図である。
図5】コンフォーマル分類を実行するための例示的なプロセスを示す流れ図である。
図6】信頼セットの予測における、コンフォーマル訓練を使用して訓練された分類モデルと、コンフォーマル訓練を用いないベース分類モデルとの間の性能比較を示す図である。
【発明を実施するための形態】
【0045】
様々な図面における同様の参照番号および参照指示は、同様の要素を示す。
【0046】
図1は、機械学習モデル、たとえば、分類機械学習モデル120を訓練するためのコンフォーマル訓練システム100の例を示す。システム100は、以下で説明されるシステム、コンポーネント、および技術が実装され得る、1つまたは複数の場所の1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されたシステムの例である。
【0047】
概して、分類機械学習モデル120は、分類タスクを実行するように、すなわち、入力データを処理して、入力データの予測された分類情報を明示する出力データを生成するように構成される。入力データは、分析される任意の種類のデータ、たとえば、画像、テキスト、オーディオ信号、センサー測定値、イベントログなどを明示することができる。出力データは、入力データの分類情報、たとえば、入力画像によって描かれている物体の1つまたは複数の物体カテゴリ、入力テキストの1つまたは複数のテキストカテゴリ、システムの1つまたは複数のステータスカテゴリ、人の1つまたは複数の健康状態カテゴリなどを明示することができる。
【0048】
分類モデル120は、分類タスクを実行するための任意の適切な機械学習モデルであることが可能である。一部の実装において、分類モデル120は、様々な分類タスクのいずれかを実行するように構成された任意の適切なアーキテクチャを持つ分類器ニューラルネットワークであることが可能である。たとえば、分類器ニューラルネットワークは、入力を処理して、1セットの複数の分類の各々のそれぞれのスコア(たとえば、予測された確率)を含む出力を生成するために使用され得る。それぞれの予測された確率は、モデル入力の「分類」としてカテゴリのうちの1つまたは複数を選択するために使用され得る。
【0049】
コンフォーマル訓練システム100の目標は、信頼水準116に基づいて予測された信頼セットの1つまたは複数の最適化尺度に関して、分類モデル120のパラメータ(たとえば、ネットワーク重みおよびバイアス係数)を最適化することである。このプロセスは、分類モデル120のコンフォーマル訓練と呼ばれる場合がある。予測された信頼セットは、分類モデル120のモデル入力に関して、モデル入力の真の分類が信頼セットに含まれる確率が信頼水準116以上であるように1セットの複数の分類から選択された1つまたは複数の出力分類を含む。つまり、(信頼セットが真の分類を含むという意味での)信頼セットの予測精度は、特定の用途に応じてユーザによって定義され得る信頼水準を満たすことが保証される。以降で検討されるように、信頼セットの最適化尺度は、信頼水準116で真の分類の包含が保証されながら、非効率性、すなわち、信頼セットのサイズを最小化することを目指すように構成され得る。
【0050】
システム100によって実行される訓練プロセスは、通常のコンフォーマル分類プロセスにおける分類モデルの訓練とは異なる。通常のコンフォーマル分類において、分類モデルは、予測された信頼セットの特性を考慮することなく、訓練データで予め訓練される。たとえば、分類モデルは、交差エントロピー損失のみで訓練され得る。分類モデルが訓練された後、予測された分類確率に基づいて計算される適合性スコアの閾値τを決定するために、較正データセットで分類モデルに(そのモデルパラメータが訓練された値に固定されるようにして)コンフォーマル較正プロセスが適用される。適合性スコアは、所与のデータセットのデータサンプルの適合性または不適合性(または「違和感(strangeness)」)を定量化する尺度として理解され得る。閾値τは、ユーザによって指定された信頼水準に関して、較正データセット上の分類モデル出力のデータ分布を分析することによって決定され得る。それから、閾値τは、分類モデル出力に関して計算された適合性スコアと比較して、信頼セットを決定するために使用され得る。
【0051】
対照的に、システム100によって実行されるコンフォーマル訓練プロセスにおいて、分類モデル120は、(閾値τ135を決定するための)コンフォーマル較正および(信頼セットを予測するための)コンフォーマル予測でエンドツーエンドで訓練される。結果として、訓練プロセスは、予測された信頼セットの特性を直接最適化する。このプロセスは、以下で検討されるように、通常のコンフォーマル分類に優るいくつかの利点を提供する。
【0052】
システム100は、複数の訓練例110を取得する。各訓練例は、訓練モデル入力、たとえば、xiと、xiのグラウンドトゥルース分類であるそれぞれのグラウンドトゥルース分類ラベル、たとえば、yiとを含む。一部の実装において、システム100は、訓練例110のセットのミニバッチに対して確率的勾配降下法を使用して分類モデル120のコンフォーマル訓練を実行することができる。訓練例の各バッチに関して、システム100は、バッチを(たとえば、バッチをランダムにサンプリングすることによって)較正訓練例112のセットと予測訓練例114のセットとに分割することができる。概して、較正訓練例112と、予測訓練例114のセットとは、互いに素な集合である。以下で説明されるように、システム100は、適合性スコアの閾値τを決定するための較正プロセスにおいて較正訓練例112を使用してよい。システム100は、各予測訓練例114に関して予測された信頼セットを特徴付けるデータを予測するための予測プロセスにおいて、予測訓練例114を閾値τと一緒に使用してよい。予測された信頼セットは、分類モデル120のモデルパラメータを更新するための訓練損失を計算するために使用されてよい。
【0053】
較正プロセスにおいて、各較正訓練例112、たとえば、(xi,yi)に関して、システム100は、それぞれの訓練モデル入力xiに関するそれぞれの分類出力πθ(xi)を生成するために、モデルパラメータθの現在の値に従って分類モデル120、たとえば、πθを使用してそれぞれの訓練モデル入力xiを処理する。たとえば、複数の分類のセットがK個の分類[K]を含む場合、分類出力πθ(xi)は、k∈[K]に関してK個の予測された確率{πθ,k(x)}を含み得る。
【0054】
各較正訓練例(xi,yi)に関して、システム100は、グラウンドトゥルースラベルyiに基づいてモデル出力πθ(xi)の適合性スコアEθ(xi,yi)を計算する。
【0055】
一部の実装においては、閾値コンフォーマル予測器(THR:threshold conformal predictor)定式化に従って、分類モデル出力の適合性スコアは、
Eθ(x,k):=πθ,k(x) (1)
のように定義される。
【0056】
すなわち、特定の分類kに関する適合性スコアは、分類モデル出力πθ,k(x)の中の分類kに関する予測された確率πθ,k(x)として定義される場合がある。THR定式化を使用する通常のコンフォーマル分類において、信頼セットは、閾値τに対して
Cθ(x;τ):={k:Eθ(x,k):=πθ,k(x)≧τ} (2)
のように決定される。
【0057】
すなわち、特定の分類に関する予測された確率が閾値以上である場合、特定の分類は、信頼セットCθ(x;τ)に含められるために選択される。THR定式化の詳細は、Sadinleら、「Least ambiguous set-valued classifiers with bounded error levels」、Journal of the American Statistical Association (JASA)、114(525):223~234に見つけられ得る。
【0058】
やはりTHR定式化に従って、システム100は、各較正訓練例(xi,yi)に関して、グラウンドトゥルースラベルyiに関するモデル出力πθ(xi)の適合性スコアEθ(xi,yi)を、モデル入力のグラウンドトゥルース分類の分類出力における予測された確率、すなわち、
【0059】
【数1】
【0060】
として計算してよい。
【0061】
実際には、適合性スコアは、確率の代わりにロジット(THRL)または対数確率(THRLP)として定義されてもよい。
【0062】
THR定式化を使用する通常のコンフォーマル予測において、信頼水準1-α(αは予測された信頼セットの誤り率を制限する有意水準(significance level)である)に関して、閾値τは、
【0063】
【数2】
【0064】
のように計算される。
【0065】
式中、|Ical|は、較正訓練例セット112のサイズである。通常のTHRにおける分位数演算は、閾値τを分類出力πθ(xi)について微分不可能にする。
【0066】
分類モデル120およびコンフォーマル予測器をエンドツーエンドで訓練することを可能にするために、システム100は、適合性スコアに対する分位数演算の平滑化された、すなわち、微分可能な実装を実行するために滑らかな較正関数130を使用し、その結果、計算された閾値τは、較正例
【0067】
【数3】
【0068】
の分類出力について微分可能であり、したがって、モデルパラメータθについて微分可能である。これは、適切な滑らかなソート(smooth sorting)技術を使用して達成され得る。ソート技術の一例は、Blondelら、「Fast differentiable sorting and ranking」、Proc. of the International Conference on Machine Learning (ICML)、2020に記載されている。ソート技術の別の例は、Cuturiら、「Differentiable ranking and sorting using optimal transport」、Advances in Neural Information Processing Systems (NeurIPS)、2019に記載されている。これらの滑らかなソートの実装は、滑らかなソートがε→0に対して「硬(hard)」ソートを近似するような「分散(dispersion)」ハイパーパラメータεを含むことが多い。
【0069】
一部の実装においては、適応予測セット(APS:adaptive prediction set)定式化に従って、分類モデル出力の適合性スコアは、
【0070】
【数4】
【0071】
のように定義される。
【0072】
式中、
【0073】
【数5】
【0074】
であり、Uは、均衡を破るための[0,1]の一様な確率変数である。すなわち、特定の分類kに関する適合性スコアは、最小の予測された確率が一様な確率変数によってスケーリングされるようにして、(大きい方から小さい方へ)ランク付けされた予測された確率πθ,k(x)の合計として定義される。
【0075】
APS定式化を使用する通常のコンフォーマル分類において、信頼セットは、閾値τに対して
Cθ(x;τ):={k:Eθ(x,k)≦τ} (6)
のように決定される。
【0076】
すなわち、式5および式6に基づいて、1セットの分類に関する予測された確率が大きい方から小さい方へランク付けされた後、特定の分類kは、合計が閾値τ以下である上位にランク付けされた確率のサブセットに属する場合、信頼セットCθ(x;τ)に選択される。APS定式化の詳細は、Romanoら、「Classification with valid and adaptive coverage」、Advances in Neural Information Processing Systems (NeurIPS)、2020に見つけられ得る。
【0077】
APS定式化を使用する通常のコンフォーマル予測において、信頼水準1-αに関して、閾値τは、
適合性スコアEθ(xi,yi)の(1-α)(1+1/|Ical|)分位数 (7)
のように計算される。
【0078】
閾値τを計算するためのTHR定式化の平滑化された実装と同様に、システム100は、閾値τを計算するためのAPS定式化における分位数演算の平滑化された実装を実行するために滑らかな較正関数130を使用し、その結果、計算された閾値τは、較正例
【0079】
【数6】
【0080】
の分類出力およびひいてはモデルパラメータθについて微分可能である。
【0081】
THRおよびAPS定式化が上で例として説明されているが、定式化が滑らかな較正関数130によって実装される微分可能な形態に採用または変換され得る限り、コンフォーマル較正の任意のその他の好適な定式化が使用され得る。
【0082】
閾値(τ)135が較正訓練例112に基づいて滑らかな較正関数130によって決定された後、システム100は、滑らかな予測関数140を使用して、予測された信頼セットを特徴付けるデータを生成する。特に、システムは、滑らかな予測関数140を使用して、予測訓練例114および閾値135に基づいて信頼スコア145を生成することができる。信頼スコア145は、それぞれの分類が信頼セットに含まれる確率を特徴付けるものと理解され得る。
【0083】
各予測訓練例114、たとえば、(xi,yi)に関して、システム100は、それぞれの訓練モデル入力xiに関するそれぞれの分類出力πθ(xi)を生成するために、モデルパラメータθの現在の値に従って分類モデル120、たとえば、πθを使用してそれぞれの訓練モデル入力xiを処理する。それから、システム100は、滑らかな較正プロセスで選択された定式化を使用して各分類に関するそれぞれの適合性スコアEθ(xi,k)を生成し、滑らかな予測関数140を使用して信頼スコア145を生成する。
【0084】
通常のコンフォーマル予測において、信頼セットは、閾値135を超える適合性スコアに対して閾値演算を実行することによって決定される。閾値演算、および信頼セットに選択された分類を表す通常離散的な数値は、微分可能でない。
【0085】
分類モデル120およびコンフォーマル予測をエンドツーエンドで訓練することを可能にするために、システム100は、閾値演算の平滑化された、すなわち、微分可能な実装を実行する。すなわち、システム100は、適合性スコアEθ(x,k)に基づいて計算された第1の値と、閾値τに基づいて計算された第2の値との間の差に、滑らかな閾値関数を適用する。任意の適切な滑らかな閾値関数が、使用され得る。1つの特定の例においては、
Cθ,k(x;τ):=σ((Eθ(x,k)-τ)/T) (8)
のように、信頼スコア145を計算するために、差にシグモイド関数σが適用され得る。
【0086】
式中、Tは、温度ハイパーパラメータ(temperature hyper-parameter)である。
【0087】
信頼スコアCθ,k(x;τ)∈[0,1]は、信頼セットへの分類kの軟(soft)割り振りを表し、すなわち、kが信頼セットに含まれる確率と解釈され得る。T→0に対しては、「硬」信頼セットが回復され、すなわち、k∈Cθ(x;τ)に対して、Cθ,k(x;τ)=1であり、それ以外の場合、Cθ,k(x;τ)=0である。
【0088】
滑らかな閾値関数を使用して計算された上の信頼スコアCθ,k(x;τ)は、適合性スコアEθ(x,k)および閾値τについて微分可能である。したがって、信頼スコアCθ,k(x;τ)は、滑らかな較正関数130によって出力される閾値τ135が分類出力について微分可能であるので、適合性スコアE(x,k)が分類出力πθ(xi)の微分可能な関数として定義される限り、モデルパラメータθについて微分可能である。
【0089】
信頼スコア145が予測訓練例114および閾値に基づいて計算された後、システムは、パラメータ更新エンジン150を使用して、分類モデル120のモデルパラメータを更新する。たとえば、パラメータ更新エンジン150は、信頼スコアCθ,k(x;τ)に対して計算された訓練損失のモデルパラメータに関する勾配を決定し、勾配を使用する任意の適切な逆伝播手法を使用して、モデルパラメータの現在の値を更新することができる。
【0090】
図3を参照して説明されるように、分類モデル120がコンフォーマルに(conformally)訓練された、すなわち、信頼スコアに基づいて計算された訓練損失で訓練された後、訓練された分類モデル120は、ユーザによって定義された信頼水準に基づいて信頼セットを予測するために、通常のコンフォーマル較正およびコンフォーマル予測とともに使用され得る。すなわち、ユーザによって定義された信頼水準で包含が保証され得るように、ユーザによって定義された信頼水準に基づいて閾値τを決定するために、較正データセットで、(任意の適切な定式化の)通常の滑らかでないコンフォーマル較正プロセスが実行され得る。一部の実装において、閾値135は、分類モデル120を訓練するために使用されたのと同じ較正データセットに基づいて計算され得る。しかし、分類モデル120を訓練するための滑らかな較正関数の「軟」ソートを使用する代わりに、信頼セットを予測するために使用される閾値135は、包含を保証するために「硬」ソートを使用して取得される。
【0091】
概して、訓練損失は、少なくとも、各それぞれの予測訓練例に関して、それぞれの予測訓練例に関して生成されたそれぞれの予測出力内のそれぞれの予測された信頼セットのサイズを示す値を測定する非効率性損失Lineffを含む。すなわち、非効率性損失Lineffは、
Lineff=Ω(Cθ(x;τ)) (9)
のように定義され得る。
【0092】
式中、Ωは、信頼セットの期待される非効率性の「滑らかな」サイズ関数、たとえば、
【0093】
【数7】
【0094】
である。信頼スコアCπ,k(x;τ)は信頼セットCθ(x;τ)へのクラスkの軟割り振りと理解され得るので、一部の実装において、非効率性損失Lineffは、1セットの分類の信頼スコアの合計に基づいて、たとえば、
【0095】
【数8】
【0096】
のように計算され得る。
【0097】
式中、デフォルトでは、単集合(singleton)にペナルティを与えないために、κ=1である。概して、κ∈{0,1}は、ハイパーパラメータとして扱われ得る。
【0098】
一部の実装において、訓練損失は、それぞれの予測出力によって特徴付けられる予測された信頼セットに含まれる出力分類の分類エラーを測定する分類損失Lclassをさらに含む。総訓練損失は、
L=Lclass+λLineff (11)
のように計算され得る。
【0099】
式中、λは、ハイパーパラメータである。
【0100】
一部の実装において、分類損失Lclassは、包含を明示的に強制する、すなわち、グラウンドトゥルースラベルYがCθ(X;τ)に含まれることを確実にし、任意選択で、Cθに含まれないようにその他のクラスkにペナルティを与えるために、信頼セットCθに対して直接計算され得る。この目的のために、1つの実装において、分類損失Lclassは、
【0101】
【数9】
【0102】
のように定義され得る。
【0103】
式中、Ly,k[.]は、損失行列である。
【0104】
上述のように、1-Cθ(x;τ)がkがCθ(x;τ)内にない見込みと理解され得るように、信頼スコアCθ,k(x;τ)∈[0,1]である。Lclassの第1の項は、包含を促すために使用され、一方、第2の項は、その他のクラスを予測することを防止するために使用され得る。これは、損失行列Ly,k[.]によって支配される。L=IK、すなわち、K個の行および列を持つ恒等行列に関して、損失行列は、単に包含を強制する。一方、y≠kに対して任意のLy,k>0を設定することは、グラウンドトゥルースyを持つ信頼セットにクラスkを含めることからモデルにペナルティを与える。このように、Lを定義することは、特定の用途に応じた複雑な目的を定義することを可能にする。
【0105】
たとえば、皮膚の病気の分類においては、クラスのセット、たとえば、上位k個の病気を予測することは、既に、不確実性を扱うためのよくある戦略である。これらの場合、包含の保証に加えて、信頼セットの特徴も重要になり得る。予測された信頼セットの観点での制約は、通常のコンフォーマル分類によって容易に扱い得ない。一方、システム100によって実行されるコンフォーマル訓練は、予測された信頼セットに対する制約を強制するための複雑な目的を定義することを可能にする。
【0106】
たとえば、システムは、「高リスク」の病気についてのより高い非効率性、すなわち、不確実性を代償にして、「低リスク」の病気についての不確実性を減らすことができる。これは、医師によって費やされる時間を高リスクの症例に再配分することと考えられ得る。コンフォーマル訓練を使用して、システムは、重み付けされたサイズ損失Lineff=ω・Ω(C(X;τ))を使用して、グループまたはクラス条件付き非効率性(group- or class-conditional inefficiency)を操作することができ、ω:=グラウンドトゥルースYに依存するω(Y)である。
【0107】
システム100は、どのクラスが信頼セットに含まれるかをさらに考慮に入れることができる。たとえば、分類損失は、クラスのペア間の「取り違え」にペナルティを与えるように設計され得る。たとえば、2つの疾患が医師によって頻繁に取り違えられる場合、両方の疾患を含む信頼セットを避けるモデルを訓練することは理にかなっている。信頼セットにyの分類とkの分類との両方を含める確率を減らすことは、式(12)において正の成分Ly,k>0を使用することによって達成され得る。
【0108】
さらに、システム100のコンフォーマル訓練プロセスは、信頼セット内のクラスのグループ間の「重なり」に明示的にペナルティを与えることを可能にする。たとえば、医療専門家は、患者にとって無用な不安または検査を避けるために、信頼セットに低リスクの病気に混じって非常に高リスクの病気を同時に含めることを避けたい場合がある。クラスK0のいずれかを含む信頼セットにクラスの特定のグループK1からのクラスを含める確率を減らすために、システムは、式(12)においてy∈K0、k∈K1に対してLy,k>0を設定することができる。
【0109】
図2は、分類機械学習モデルのコンフォーマル訓練プロセス200を実行する例を示す。便宜上、コンフォーマル訓練プロセス200は、1つまたは複数の場所に置かれた1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、本明細書に従って適切にプログラミングされたコンフォーマル訓練システム、たとえば、図1のコンフォーマル訓練システム100が、プロセス200を実行することができる。
【0110】
図2に示されるように、分類モデル220は、訓練例のモデル入力210aを処理して分類出力225を生成するように構成される。システムは、訓練例データセットを、たとえば、50%-50%の分割で、較正バッチ212および予測バッチ214に分割することができる。
【0111】
システムは、較正バッチ212から生成された分類出力、較正バッチ212のグラウンドトゥルースラベル、およびユーザによって指定された有意水準αに滑らかな較正関数230を適用して、閾値τを生成する。閾値τは、分類出力を通じて分類モデル220のモデルパラメータについて微分可能である。
【0112】
そして、システムは、予測バッチ214から生成された分類出力および閾値τに対して滑らかな予測関数240を適用して、信頼スコアCθ(x;τ)を生成する。信頼スコアCθ(x;τ)は、分類出力および閾値τを通じて分類モデル220のモデルパラメータについて微分可能である。
【0113】
それから、システムは、予測バッチ214に基づいて予測された信頼スコアCθ(x;τ)に基づく訓練損失を計算する。訓練損失は、サイズ損失(または非効率性損失)Ωおよび分類損失Lを含み得る。245の例に示されるように、分類損失Lは、たとえば、信頼セット内のクラスのグループ(たとえば、乗り物)にペナルティを与えることによって、信頼セットに対する制約を実装するように形作られ得る。したがって、分類損失Lは、クラス「トラック」がグラウンドトゥルースラベルでないとき、そのクラスに正の数を指定し得る。
【0114】
訓練損失が予測バッチに対して計算された後、システムは、モデルパラメータに関する訓練損失の勾配を逆伝播して、モデルパラメータの値を更新する。
【0115】
図3は、入力データ310に関する信頼セット345を予測するための例示的なコンフォーマル分類システム300を示す。システム300は、以下で説明されるシステム、コンポーネント、および技術が実装され得る、1つまたは複数の場所の1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されたシステムの例である。
【0116】
概して、システム300は、入力データ310において指定されたモデル入力の真の分類が信頼セットに含まれる確率がユーザによって指定された信頼水準316、たとえば、1-α以上であるように、1セットの複数の分類から選択された1つまたは複数の出力分類を含む信頼セット345を生成する。つまり、(信頼セットが真の分類を含むという意味での)信頼セットの分類精度は、特定の用途に応じてユーザによって定義され得る信頼水準を満たすことが保証される。
【0117】
システム300は、たとえば、図1のシステム100などのコンフォーマル訓練システムによってコンフォーマルに訓練された分類モデル320を含む。すなわち、分類モデル320は、(閾値を決定する)滑らかな較正関数と、滑らかなコンフォーマル予測関数とでエンドツーエンドで訓練された。分類モデル320のパラメータは、訓練のために選択された特定の信頼水準1-α'に基づいて予測された信頼セットに対して計算される(たとえば、非効率性損失を含む)訓練損失を最小化するように最適化された。
【0118】
コンフォーマルに訓練された分類モデル320は、入力データ310をモデル入力として受け取り、入力データ310を処理して分類出力325を生成する。分類出力325は、たとえば、モデル入力が1セットの分類の各々に分類される予測された確率を含む。そのとき、システムは、分類出力325に基づいて適合性スコア326を生成する。適合性スコア326は、図1を参照して検討されたTHRまたはAPS定式化などの任意の好適なコンフォーマル予測定式化に従って定義され得る。
【0119】
一部の実装において、システム300は、分類モデル320をコンフォーマルに訓練するために使用されたのと同じコンフォーマル予測定式化(すなわち、適合性スコアに関する同じ定義)を使用する。しかし、これは、必須の要件ではない。分類モデル320がコンフォーマルに訓練された後、任意の適切なコンフォーマル予測定式化が、コンフォーマル分類システム300において使用され得る。たとえば、たとえTHR定式化が分類モデル320をコンフォーマルに訓練するために使用されたとしても、システム300は、適合性スコア326を定義し、閾値335に基づいて信頼セット345を予測するために、別のコンフォーマル予測定式化、たとえば、APS定式化を使用することがやはり可能である。
【0120】
閾値335は、較正訓練データセット312に対して較正関数330を使用する較正プロセスによって決定される。較正関数330によって実行される較正プロセスは、図1の滑らかな較正関数130を参照して説明された較正プロセスと同様である。しかし、概して、較正関数330は、入力に関して滑らかな関数ではない。むしろ、較正関数330は、概して、関数への入力、すなわち、較正セット312に関する分類出力について微分不可能な関数である。たとえば、THRまたはAPS定式化において、分位数演算は、較正関数330を使用して信頼水準316に基づいて閾値335を計算するための平滑化された分位数演算の代わりに、通常の微分不可能な分位数演算となる。
【0121】
一部の実装において、較正された閾値335を決定するための信頼水準316(1-α)は、分類モデル320をコンフォーマルに訓練するために使用された信頼水準1-α'と一致する。しかし、これは、厳密には必要とされない。一部の実装において、信頼水準316(1-α)は、分類モデル320をコンフォーマルに訓練するために使用された信頼水準1-α'と異なる値であることが可能である。したがって、分類モデル320がコンフォーマルに訓練されると、異なる種類のコンフォーマル予測定式化および異なる信頼水準を使用する様々なコンフォーマル較正および予測が、信頼セット345を予測するために、訓練された分類モデル320とともに使用され得る。
【0122】
閾値335を決定した後、システムは、分類出力325によって明示された分類の予測された確率に基づいて、予測された信頼セット345に含まれる分類を選択するために閾値を使用することができる。たとえば、THR定式化が使用される場合、システムは、式2を使用して信頼セット345を決定することができる。別の例において、APS定式化が使用される場合、システムは、式5および6を使用して信頼セット345を決定することができる。
【0123】
図4は、分類モデルのコンフォーマル訓練を実行するための例示的なプロセス400を示す流れ図である。便宜上、プロセス400は、1つまたは複数の場所に置かれた1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、本明細書に従って適切にプログラミングされたコンフォーマル訓練システム、たとえば、図1を参照して説明されたコンフォーマル訓練システム100が、プロセス400を実行することができる。
【0124】
ステップ410において、システムは、較正訓練例および予測訓練例を取得する。
【0125】
一部の実装において、システムは、訓練例のバッチを取得し、たとえば、ランダムサンプリングによって、バッチを較正訓練例と予測訓練例とに分割する。各訓練例は、それぞれの訓練モデル入力と、それぞれの訓練モデル入力のそれぞれの分類ラベルとを含む。
【0126】
ステップ420において、システムは、較正訓練例に基づいて閾値を決定する。特に、各較正訓練例に関して、システムは、それぞれの訓練モデル入力に関するそれぞれの分類出力を生成するために、モデルパラメータの現在の値に従って分類モデルを使用してそれぞれの較正訓練例のそれぞれの訓練モデル入力を処理する。それから、システムは、少なくとも、較正訓練例に関して生成された分類出力、較正訓練例の分類ラベル、および信頼水準に基づいて閾値を決定する。
【0127】
特に、閾値を決定するために、システムは、閾値を出力する滑らかな較正関数で分類出力、較正訓練例の分類ラベル、および信頼値を処理することができる。滑らかな較正関数は、分類出力について微分可能であり、したがって、分類モデルのモデルパラメータについても微分可能である。
【0128】
たとえば、システムは、各較正訓練例に関して、それぞれの分類出力およびそれぞれの分類ラベルに基づいて、適切な定式化(たとえば、THRまたはAPS定式化)を使用してそれぞれの適合性スコアを計算することができる。そして、システムは、適合性スコアおよび信頼水準に対して分位数演算の平滑化された実装を実行して、閾値を決定する。
【0129】
ステップ430において、システムは、閾値および予測訓練例に基づいて、予測された信頼セットを特徴付けるデータを生成する。
【0130】
一部の実装において、各予測訓練例に関して、システムは、それぞれの分類出力を生成するために、モデルパラメータの現在の値に従って分類モデルを使用してそれぞれの予測訓練例のそれぞれのモデル入力を処理する。そして、システムは、それぞれの予測出力を生成するために、それぞれの分類出力および閾値を含む入力を滑らかな予測関数で処理する。特に、それぞれの予測出力は、それぞれのモデル入力の真の分類が予測された信頼セットに含まれる確率が信頼水準以上であるように1セットの分類から選択された1つまたは複数の出力分類を含む予測された信頼セットを特徴付ける。
【0131】
滑らかな予測関数は、滑らかな予測関数への入力、すなわち、分類出力および閾値の各々について微分可能である。分類出力および閾値の各々が分類モデルのモデルパラメータについて微分可能であるので、予測出力も、分類モデルのモデルパラメータについて微分可能である。
【0132】
1つの特定の例においては、予測出力を生成するために、システムは、滑らかな較正プロセスで選択された定式化を使用して、各分類出力のそれぞれの適合性スコアを計算し、1セットの分類の各々が信頼セットに含まれる確率を特徴付ける信頼スコアを生成するために、滑らかな予測関数を使用して適合性スコアおよび閾値を処理する。
【0133】
ステップ440において、システムは、少なくとも予測された信頼セットに基づいて、分類モデルのモデルパラメータを更新する。
【0134】
一部の実装において、システムは、少なくともそれぞれの予測出力に基づいて計算される訓練損失のモデルパラメータに関する勾配を計算する。特に、訓練損失は、予測出力によって特徴付けられる予測された信頼セットのサイズを特徴付ける値を測定する非効率性損失を含む。たとえば、予測された信頼セットのサイズを特徴付ける値は、各分類が信頼セットに含まれる確率を特徴付ける信頼スコアの合計に基づいて計算され得る。
【0135】
一部の実装において、訓練損失は、予測された信頼セットに含まれる出力分類の分類エラーを測定する分類損失をさらに含む。
【0136】
たとえば、分類損失は、各それぞれの予測訓練例に関して、予測出力によって特徴付けられる予測された信頼セットに、それぞれの予測訓練例のそれぞれの分類ラベルによって示される真の分類を含めないエラーを測定する第1の項を含み得る。
【0137】
分類損失は、各それぞれの予測訓練例に関して、それぞれの出力信頼セットに真の分類ではない指定された分類を含めるエラーを測定する第2の項をさらに含み得る。たとえば、指定された分類は、先験的情報に基づいて分類として決定される、真の分類と相反する分類であることが可能である。
【0138】
システムは、異なる応用のシナリオに適応するために非効率性損失および/または分類損失を形作ることができる。たとえば、システムは、非効率性損失を、1セットの分類に関する重み係数によってスケーリングされたそれぞれの予測された信頼セットのサイズに基づいて計算される重み付けされたサイズとして実装し得る。たとえば、システムは、検出する重要性が比較的低い特定の分類に、重み係数の大きな値を割り振ることができる。
【0139】
別の例において、システムは、2つ以上の分類が予測された信頼セットに一緒に含まれることにペナルティを与えるために、分類損失に1つまたは複数の追加の項を含めることができる。これは、特定の分類が互いに相反する可能性があるシナリオ、または特定の分類が容易に取り違えられ得るシナリオに有用であり得る。
【0140】
訓練損失のモデルパラメータに関する勾配が決定された後、システムは、勾配を使用してモデルパラメータの現在の値を更新することができる。システムは、任意の適切な逆伝播に基づく機械学習技術を使用して、たとえば、AdamまたはAdaGradオプティマイザを使用して、分類モデル(たとえば、分類ニューラルネットワーク)のパラメータを更新することができる。一部の実装において、システムは、訓練例の複数のバッチに対して確率的勾配降下法を適用し、各バッチに関して上記ステップを繰り返すことができる。
【0141】
図5は、コンフォーマル分類を実行するための例示的なプロセスを示す流れ図である。便宜上、プロセス500は、1つまたは複数の場所に置かれた1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、本明細書に従って適切にプログラミングされたコンフォーマル分類システム、たとえば、図3を参照して説明されたコンフォーマル分類システム300が、プロセス500を実行することができる。
【0142】
ステップ510において、システムは、モデル入力を取得する。モデル入力は、分析される任意の種類のデータ、たとえば、画像、テキスト、オーディオ信号、センサー測定値、イベントログなどを含み得る。
【0143】
ステップ520において、システムは、分類出力を生成するようにコンフォーマルに訓練された分類モデルを使用してモデル入力を処理する。出力データは、モデル入力の分類情報、たとえば、入力画像によって描かれている物体の1つまたは複数の物体カテゴリ、入力テキストの1つまたは複数のテキストカテゴリ、システムの1つまたは複数のステータスカテゴリ、人の1つまたは複数の健康状態カテゴリなどを明示することができる。特に、分類出力は、1セットの分類の中のそれぞれの特定の分類に関して、特定の分類に関するモデル入力の予測された確率を示す。
【0144】
分類モデルは、たとえば、図1に関連して説明されたシステム100などのコンフォーマル訓練システムによってコンフォーマルに訓練された。すなわち、分類モデルは、(閾値を決定する)滑らかな較正関数と、滑らかなコンフォーマル予測関数とでエンドツーエンドで訓練された。分類モデルのパラメータは、訓練のために選択された特定の信頼水準1-α'に基づいて予測された信頼セットに対して計算される(たとえば、非効率性損失を含む)訓練損失を最小化するように最適化された。
【0145】
ステップ530において、システムは、信頼水準に従って滑らかでない較正関数によって予測された閾値を取得する。閾値は、較正訓練データセットに対して較正関数を使用する較正プロセスによって決定された。滑らかでない較正関数は、概して、関数への入力、すなわち、較正セットに関する分類出力について微分不可能である。たとえば、THRまたはAPS定式化において、分位数演算は、滑らかでない較正関数を使用して信頼水準に基づいて閾値を計算するために、平滑化された分位数演算の代わりに通常の分位数演算となる。
【0146】
ステップ540において、システムは、モデル出力および閾値に基づいて信頼セットを生成する。特に、システムは、閾値を、モデル出力に基づいて計算された適合性スコアと比較し、出力信頼セットに含められる、(たとえば、式2または式5および6に従って)比較結果に関する条件を満たす対応する適合性スコアを持つ分類を選択することができる。
【0147】
図6は、信頼セットの予測における、コンフォーマル訓練を使用して訓練された分類モデル(ConfTr)と、コンフォーマル訓練を用いないベースライン分類モデル(Basel.)との間の性能比較を示す。
【0148】
コンフォーマル訓練は、有意水準α=0.01のTHRLP定式化に基づく。訓練後、訓練された分類モデルは、信頼セットを予測するために、THR定式化かまたはAPS定式化かのどちらかを使用するコンフォーマル予測ラッパ(conformal prediction wrapper)とともに使用される。
【0149】
図6は、5つのテストデータセットに基づく、様々な方法の非効率性、すなわち、予測された信頼セットのサイズを示す尺度をまとめている。図6のデータによって示されるように、コンフォーマル訓練(ConfTr)は、ベースラインと比較して、予測された信頼セットの非効率性を大幅に改善する。さらに、分類損失(+Lclass)を含めることが、概して、非効率性をさらに改善することが示されている。
【0150】
さらに、図6は、たとえコンフォーマル予測ラッパで使用されるコンフォーマル予測器の定式化がコンフォーマル訓練で使用されるコンフォーマル予測器の定式化と一致しない(たとえば、THRまたはAPS対THRL)としても、コンフォーマル訓練が、非効率性の著しい改善をやはり提供することを示す。したがって、分類モデルがコンフォーマルに訓練されると、その分類モデルは、信頼セットを効果的に予測するために、用途に応じて異なるコンフォーマル予測ラッパとともに使用され得る。
【0151】
本明細書は、用語「構成される」をシステムおよびコンピュータプログラムのコンポーネントに関連して使用する。1つまたは複数のコンピュータのシステムが特定の動作またはアクションを実行するように構成されることは、システムが、動作中にシステムに動作またはアクションを実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをそのシステム上にインストール済みであることを意味する。1つまたは複数のコンピュータプログラムが特定の動作またはアクションを実行するように構成されることは、1つまたは複数のプログラムが、データ処理装置によって実行されるときに装置に動作またはアクションを実行させる命令を含むことを意味する。本明細書に記載の主題の実施形態および機能的動作は、本明細書において開示された構造およびそれらの構造的均等物を含むデジタル電子回路、有形で具現化されたコンピュータソフトウェアもしくはファームウェア、コンピュータハードウェア、またはそれらのうちの1つもしくは複数の組合せで実装されることが可能である。本明細書に記載の主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために有形の非一時的ストレージ媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装されることが可能である。コンピュータストレージ媒体は、機械可読ストレージデバイス、機械可読ストレージ基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の組合せであることが可能である。代替的または追加的に、プログラム命令は、データ処理装置による実行のために好適なレシーバ装置に送信するために情報を符号化するように生成される人為的に生成された伝播信号、たとえば、機械によって生成された電気的信号、光学的信号、または電磁的信号上に符号化されることが可能である。
【0152】
用語「データ処理装置」は、データ処理ハードウェアを指し、例として、1つのプログラミング可能なプロセッサ、1台のコンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、およびマシンを包含する。装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)もしくはASIC(特定用途向け集積回路)であることも可能であり、またはそのような専用論理回路をさらに含むことも可能である。任意選択で、装置は、ハードウェアに加えて、コンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサのファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の組合せを構成するコードを含み得る。
【0153】
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれるまたは記載される場合もあるコンピュータプログラムは、コンパイラ型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含む任意の形態のプログラミング言語で記述されることが可能であり、独立型プログラムとしての形態、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境内での使用に好適なその他のユニットとしての形態を含む任意の形態でデプロイされることが可能である。プログラムは、ファイルシステム内のファイルに対応する場合があるが、必ずしもそうであるとは限らない。プログラムは、その他のプログラムもしくはデータを保持するファイルの一部、たとえば、マークアップ言語のドキュメントに記憶された1つもしくは複数のスクリプト、問題にしているプログラムに専用の単一のファイル、または複数の組織されたファイル、たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの一部を記憶するファイルに記憶され得る。コンピュータプログラムは、1台のコンピュータ上で、または1つの場所に置かれるか、もしくは複数の場所に分散され、データ通信ネットワークによって相互に接続される複数のコンピュータ上で実行されるようにデプロイされ得る。
【0154】
本明細書において、用語「データベース」は、データの任意の集まりを指すために広く使用され、データは、いずれかの特定の方法で構造化される必要はなく、またはまったく構造化される必要がなく、1つまたは複数の場所のストレージデバイスに記憶され得る。したがって、たとえば、インデックスデータベースが、データの複数の集まりを含むことが可能であり、データの集まりの各々は、異なる方法で編成され、アクセスされる場合がある。
【0155】
同様に、本明細書において、用語「エンジン」は、1つまたは複数の特定の機能を実行するようにプログラミングされるソフトウェアに基づくシステム、サブシステム、またはプロセスを指すために広く使用される。概して、エンジンは、1つまたは複数の場所の1つまたは複数のコンピュータにインストールされた1つまたは複数のソフトウェアモジュールまたはコンポーネントとして実装される。場合によっては、1つまたは複数のコンピュータが、特定のエンジンに専用であり、その他の場合、複数のエンジンが、同じ1台のコンピュータまたは複数のコンピュータにインストールされ、実行されていることが可能である。
【0156】
本明細書に記載のプロセスおよび論理フローは、入力データに対して演算を行い、出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムを1つまたは複数のプログラミング可能なコンピュータが実行することによって実行され得る。また、プロセスおよび論理フローは、専用論理回路、たとえば、FPGAもしくはASICによって、または専用論理回路と1つもしくは複数のプログラミングされたコンピュータとの組合せによって実行され得る。
【0157】
コンピュータプログラムの実行に好適なコンピュータは、汎用マイクロプロセッサもしくは専用マイクロプロセッサもしくはそれら両方、または任意のその他の種類の中央演算処理装置に基づくことが可能である。概して、中央演算処理装置は、読み出し専用メモリ、またはランダムアクセスメモリ、またはそれら両方から命令およびデータを受け取る。コンピュータの必須の要素は、命令を遂行または実行するための中央演算処理装置、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。中央演算処理装置およびメモリは、専用論理回路によって補完されるか、または専用論理回路に組み込まれることが可能である。また、概して、コンピュータは、データを記憶するための1つもしくは複数の大容量ストレージデバイス、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、またはそれらの大容量ストレージデバイスからデータを受信するか、もしくはそれらの大容量ストレージデバイスにデータを転送するか、もしくはその両方を行うために動作可能なように結合される。しかし、コンピュータは、そのようなデバイスを有していなくてもよい。さらに、コンピュータは、別のデバイス、たとえば、ほんのいくつか例を挙げるとすれば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤー、ゲームコンソール、全地球測位システム(GPS)レシーバ、またはポータブルストレージデバイス、たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブに組み込まれることが可能である。
【0158】
コンピュータプログラム命令およびデータを記憶するのに好適なコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMディスクおよびDVD-ROMディスクを含むすべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。
【0159】
ユーザとのインタラクションを提供するために、本明細書に記載の主題の実施形態は、ユーザに対して情報を表示するためのディスプレイデバイス、たとえば、CRT(ブラウン管)またはLCD(液晶ディスプレイ)モニタ、ならびにユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールを有するコンピュータ上に実装されることが可能である。その他の種類のデバイスが、ユーザとのインタラクションを提供するためにやはり使用されることが可能であり、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることが可能であり、ユーザからの入力は、音響、スピーチ、または触覚による入力を含む任意の形態で受け取られることが可能である。加えて、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信し、そのデバイスからドキュメントを受信することによって、たとえば、ウェブブラウザから受信された要求に応答してユーザのデバイスのウェブブラウザにウェブページを送信することによってユーザとインタラクションすることができる。また、コンピュータは、メッセージングアプリケーションを実行しているパーソナルデバイス、たとえば、スマートフォンにテキストメッセージまたはその他の形態のメッセージを送信し、返報としてユーザから応答メッセージを受信することによってユーザとインタラクションすることができる。
【0160】
機械学習モデルを実装するためのデータ処理装置は、たとえば、機械学習の訓練または生成、すなわち、推論の作業負荷のよくある計算量の多い部分を処理するための専用ハードウェアアクセラレータユニットも含むことが可能である。
【0161】
機械学習モデルは、機械学習フレームワーク、たとえば、TensorFlowフレームワーク、Microsoft Cognitive Toolkitフレームワーク、Apache Singaフレームワーク、またはApache MXNetフレームワークを使用して実装され、デプロイされることが可能である。
【0162】
本明細書に記載の主題の実施形態は、バックエンドコンポーネントを、たとえば、データサーバとして含むか、またはミドルウェアコンポーネント、たとえば、アプリケーションサーバを含むか、またはフロントエンドコンポーネント、たとえば、ユーザが本明細書に記載の主題の実装とインタラクションすることができるグラフィカルユーザインターフェース、ウェブブラウザ、もしくはアプリを有するクライアントコンピュータを含むか、または1つもしくは複数のそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、もしくはフロントエンドコンポーネントの任意の組合せを含むコンピューティングシステムに実装されることが可能である。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信、たとえば、通信ネットワークによって相互に接続されることが可能である。通信ネットワークの例は、ローカルエリアネットワーク(LAN)および広域ネットワーク(WAN)、たとえば、インターネットを含む。
【0163】
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、概して互いに離れており、通常は通信ネットワークを通じてインタラクションする。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されており、互いにクライアント-サーバの関係にあるコンピュータプログラムによって生じる。一部の実施形態において、サーバは、たとえば、クライアントとして働くデバイスとインタラクションするユーザに対してデータを表示し、そのようなユーザからユーザ入力を受け取る目的でユーザデバイスにデータ、たとえば、HTMLページを送信する。ユーザデバイスにおいて生成されたデータ、たとえば、ユーザインタラクションの結果が、サーバにおいてデバイスから受信されることが可能である。
【0164】
本明細書は多くの特定の実装の詳細を含むが、これらは、いかなる発明の範囲または特許請求される可能性があるものの範囲に対する限定ともみなされるべきでなく、むしろ、特定の発明の特定の実施形態に特有である可能性がある特徴の説明とみなされるべきである。別々の実施形態の文脈で本明細書において説明されている特定の特徴が、単一の実施形態に組み合わせて実装されることも可能である。反対に、単一の実施形態の文脈で説明されている様々な特徴が、複数の実施形態に別々にまたは任意の好適な部分的組合せで実装されることも可能である。さらに、特徴は、特定の組合せで働くものとして上で説明されている場合があり、最初にそのように主張されていることさえあり得るが、主張された組合せの1つまたは複数の特徴は、場合によっては組合せから削除されることが可能であり、主張された組合せは、部分的組合せ、または部分的組合せの変形を対象とする場合がある。
【0165】
同様に、動作が特定の順序で図面に示され、特許請求の範囲に記載されているが、これは、そのような動作が示された特定の順序でもしくは逐次的順序で実行されること、または所望の結果を達成するために示されたすべての動作が実行されることを必要とするものと理解されるべきでない。特定の状況においては、マルチタスクおよび並列処理が有利である場合がある。さらに、上述の実施形態における様々なシステムモジュールおよびコンポーネントの分割は、すべての実施形態においてそのような分割を必要とするものと理解されるべきでなく、説明されたプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品に一緒に統合されるか、または複数のソフトウェア製品にパッケージングされることが可能であることが理解されるべきである。
【0166】
主題の特定の実施形態が説明された。その他の実施形態は、添付の特許請求の範囲の範囲内にある。たとえば、特許請求の範囲に記載のアクションは、異なる順序で実行され、それでも所望の結果を達成することができる。一例として、添付の図に描かれたプロセスは、所望の結果を達成するために、必ずしも、示された特定の順序または逐次的順序を必要としない。場合によっては、マルチタスクおよび並列処理が有利である可能性がある。
【符号の説明】
【0167】
100 コンフォーマル訓練システム
110 訓練例
112 較正訓練例、較正訓練例セット
114 予測訓練例
116 信頼水準
120 分類機械学習モデル
130 滑らかな較正関数
135 閾値τ
140 滑らかな予測関数
145 信頼スコア
150 パラメータ更新エンジン
200 コンフォーマル訓練プロセス
210a モデル入力
212 較正バッチ
214 予測バッチ
220 分類モデル
225 分類出力
230 滑らかな較正関数
240 滑らかな予測関数
300 コンフォーマル分類システム
310 入力データ
312 較正訓練データセット
316 信頼水準
320 分類モデル
325 分類出力
326 適合性スコア
330 較正関数
335 閾値
345 信頼セット
図1
図2
図3
図4
図5
図6
【手続補正書】
【提出日】2024-05-22
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンフォーマル分類機械学習モデルを訓練するための方法であって、
前記コンフォーマル分類機械学習モデルが、
複数の分類モデルパラメータを有する分類モデルであって、1セットの分類の中のそれぞれの特定の分類に関して、前記特定の分類に関するモデル入力の予測された確率を示す分類出力を生成するために前記モデル入力を処理するように構成される、分類モデル、および
前記モデル入力に関して、前記モデル入力の真の分類が信頼セットに含まれる確率が信頼水準以上であるように前記1セットの分類から選択された1つまたは複数の出力分類を含む前記信頼セットを特定するデータを生成するために、前記分類出力を含む入力を処理するように構成された予測関数を
含み、
前記方法が、
1セットの較正訓練例を取得するステップであって、各較正訓練例が、それぞれの訓練モデル入力、および前記それぞれの訓練モデル入力のそれぞれの分類ラベルを含む、ステップと、
前記1セットの較正訓練例の中の各それぞれの較正訓練例に関して、前記それぞれの訓練モデル入力に関するそれぞれの分類出力を生成するために、前記分類モデルパラメータの現在の値に従って前記分類モデルを使用してそれぞれの前記較正訓練例の前記それぞれの訓練モデル入力を処理するステップと、
少なくとも、前記較正訓練例に関して生成された前記分類出力、前記較正訓練例の前記分類ラベル、および前記信頼水準に基づいて閾値を決定するステップと、
1セットの予測訓練例を取得するステップであって、各予測訓練例が、それぞれの訓練モデル入力、および前記それぞれの訓練モデル入力のそれぞれの分類ラベルを含む、ステップと、
前記1セットの予測訓練例の中の各それぞれの予測訓練例に関して、
それぞれの分類出力を生成するために、前記分類モデルパラメータの前記現在の値に従って前記分類モデルを使用してそれぞれの前記予測訓練例の前記それぞれの訓練モデル入力を処理することを実行するステップと、
それぞれの予測出力を生成するために、前記それぞれの分類出力および前記閾値を含む入力を前記予測関数で処理するステップであって、前記予測関数が、前記それぞれの分類出力について微分可能である、ステップと、
少なくとも、各それぞれの予測訓練例に関して、それぞれの前記予測訓練例に関して生成された前記それぞれの予測出力内のそれぞれの出力信頼セットのサイズを示す値を測定する非効率性損失を含む訓練損失の前記分類モデルパラメータに関する勾配を決定するステップと、
前記勾配を使用して前記分類モデルパラメータのパラメータの前記現在の値を更新するステップと
を含む、方法。
【請求項2】
前記それぞれの予測出力が、前記1セットの分類の中の各分類の信頼スコアを含み、
それぞれの前記信頼スコアが、それぞれの前記分類が予測された前記信頼セットに含まれるそれぞれの確率を特徴付ける、請求項1に記載の方法。
【請求項3】
前記分類モデルが、ニューラルネットワークを含む、請求項1に記載の方法。
【請求項4】
前記訓練損失が、前記それぞれの予測出力によって特徴付けられる予測された前記信頼セットに含まれる前記出力分類の分類エラーを測定する分類損失をさらに含む、請求項1に記載の方法。
【請求項5】
前記分類損失が、各それぞれの予測訓練例に関して、前記予測出力によって特徴付けられる前記予測された信頼セットに前記真の分類を含めないエラーを測定する第1の項を含む、請求項4に記載の方法。
【請求項6】
前記分類損失が、各それぞれの予測訓練例に関して、前記それぞれの出力信頼セットに前記真の分類ではない指定された分類を含めるエラーを測定する第2の項を含む、請求項4に記載の方法。
【請求項7】
前記指定された分類が、先験的情報に基づいて、前記真の分類と相反する分類として決定される、請求項6に記載の方法。
【請求項8】
前記予測関数が、前記分類出力に基づいて計算された第1の値と前記閾値に基づいて計算された第2の値との間の差に適用される閾値関数の平滑化された実装を含む、請求項1に記載の方法。
【請求項9】
前記1セットの予測訓練例の中の各それぞれの予測訓練例に関して、前記第1の値が、特定の分類に関する前記それぞれの分類出力によって示される前記予測された確率として計算される、請求項8に記載の方法。
【請求項10】
前記1セットの予測訓練例の中の各それぞれの予測訓練例に関して、前記第1の値が、前記1セットの分類からの複数の分類に関する前記それぞれの分類出力によって示される複数の予測された確率の合計として計算される、請求項8に記載の方法。
【請求項11】
平滑化された前記閾値関数が、シグモイド関数である、請求項8に記載の方法。
【請求項12】
前記閾値を決定するステップが、
前記分類モデルからの前記分類出力、前記較正訓練例の前記分類ラベル、および信頼値を、前記閾値を出力する較正関数で処理することであって、前記較正関数が、前記分類出力について微分可能である、処理することを含む、請求項1に記載の方法。
【請求項13】
前記較正関数が、
前記1セットの較正訓練例の中の各それぞれの較正訓練例に関して、前記それぞれの分類出力および前記それぞれの分類ラベルに基づいて、それぞれの適合性スコアを計算することと、
前記適合性スコアおよび前記信頼水準に対して分位数演算の平滑化された実装を実行することと
を行うように構成される、請求項12に記載の方法。
【請求項14】
訓練例のバッチを取得するステップと、
前記1セットの較正訓練例および前記1セットの予測訓練例を生成するために、訓練例の前記バッチをランダムにサンプリングするステップと
をさらに含む、請求項1に記載の方法。
【請求項15】
訓練例の前記バッチが、訓練例の第1のバッチであり、
前記方法が、
訓練例の追加のバッチを取得するステップと、
訓練例の前記追加のバッチの各々で前記コンフォーマル分類機械学習モデルの訓練を繰り返し実行するステップと
をさらに含む、請求項14に記載の方法。
【請求項16】
前記非効率性損失が、前記1セットの分類に関する重み係数によってスケーリングされたそれぞれの予測された前記信頼セットのサイズに基づいて計算される重み付けされたサイズを測定する、請求項1に記載の方法。
【請求項17】
前記モデル入力が、センサーデータを含み、
前記分類が、物体カテゴリに対応し、
前記モデル入力が、患者の生理学的測定値を含む医療データを含み、
前記分類が、それぞれ、前記患者の異なる診断に対応し、および/または
前記モデル入力が、環境の観測値を含み、
前記分類が、それぞれ、前記環境の異なる状態に対応する、請求項1に記載の方法。
【請求項18】
コンフォーマル分類を実行するためのコンピュータにより実施される方法であって、
請求項1に記載の方法を使用して訓練された前記分類モデルを取得するステップと、
モデル入力を取得するステップと、
1セットの分類の中のそれぞれの特定の分類に関して、前記特定の分類に関する前記モデル入力の予測された確率を示す分類出力を生成するために、前記分類モデルで前記モデル入力を処理するステップと、
較正データセットに基づいて、信頼値に従って、滑らかでない較正関数によって予測された閾値を取得するステップと、
前記1セットの分類から選択された1つまたは複数の出力分類を含む信頼セットを生成するために、モデル出力および前記閾値を処理するステップと
を含む、コンピュータにより実施される方法。
【請求項19】
前記信頼セットに少なくとも部分的に基づいて、
ロボットまたは乗り物を制御することであって、前記モデル入力が、センサーデータを含み、前記分類が、物体カテゴリに対応する、制御することと、
1つまたは複数の医療診断を提供することであって、前記モデル入力が、患者の生理学的測定値を含む医療データを含み、前記分類が、それぞれ、前記患者の異なる診断に対応する、提供することと、
環境内でタスクを実行するようにエージェントを制御することであって、前記モデル入力が、前記環境の観測値を含み、前記分類が、それぞれ、前記環境の異なる状態に対応する、制御することと
のうちの1つまたは複数を実行するステップをさらに含む、請求項18に記載の方法。
【請求項20】
1つまたは複数のコンピュータと、
前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに請求項1から19のいずれか一項に記載の方法のそれぞれの動作を実行させる命令を記憶した1つまたは複数のストレージデバイスと
を含む、システム。
【請求項21】
1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに請求項1から19のいずれか一項に記載の方法のそれぞれの動作を実行させる命令を記憶した1つまたは複数のコンピュータ可読ストレージ媒体。
【国際調査報告】