(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-02
(54)【発明の名称】前方互換性モデルの訓練
(51)【国際特許分類】
G06N 20/00 20190101AFI20240326BHJP
【FI】
G06N20/00
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023563193
(86)(22)【出願日】2022-03-07
(85)【翻訳文提出日】2023-10-16
(86)【国際出願番号】 JP2022009719
(87)【国際公開番号】W WO2022224600
(87)【国際公開日】2022-10-27
(32)【優先日】2021-04-20
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-07-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100181135
【氏名又は名称】橋本 隆史
(72)【発明者】
【氏名】バルソピア ヴィヴェク
(72)【発明者】
【氏名】亀田 義男
(72)【発明者】
【氏名】坂井 智哉
(57)【要約】
前方互換性モデルは、複数のサンプルを含む現在の訓練データセットを用いて学習関数を訓練して、第1のモデルを生成することと、複数の予測モデルを生成することであって、各予測モデルは、現在の訓練データセットまたは第1のモデルのうちの1つの変動に基づくことと、現在の訓練データセットの入力に応答した、複数の予測モデルのうちの1つまたは複数の予測モデルの出力に基づいて複数のサンプル重みを調整することと、現在の訓練データセットおよび複数のサンプル重みを用いて学習関数を再訓練して、第2のモデルを生成することとを含む動作によって取得される。
【特許請求の範囲】
【請求項1】
複数のサンプルを含む現在の訓練データセットを用いて学習関数を訓練して、第1のモデルを生成することと、
複数の予測モデルを生成することであって、前記複数の予測モデルの各予測モデルは、前記現在の訓練データセットまたは前記第1のモデルのうちの1つの変動に基づくことと、
前記現在の訓練データセットの入力に応答した、前記複数の予測モデルのうちの1つまたは複数の予測モデルの出力に基づいて複数のサンプル重みを調整することと、
前記現在の訓練データセットおよび前記複数のサンプル重みを用いて前記学習関数を再訓練して、第2のモデルを生成することと
を含む動作をコンピュータに実施させるために前記コンピュータによって実行可能な命令を含む、コンピュータ可読媒体。
【請求項2】
前記複数の予測モデルを生成することは、
前記現在の訓練データセットの変動に基づいて複数の予測訓練データセットを生成することと、
前記複数の予測訓練データセットのうちの各予測訓練データセットを用いて前記学習関数を訓練して、前記複数の予測モデルのうちの対応する予測モデルを生成することと
を含む、請求項1に記載のコンピュータ可読媒体。
【請求項3】
前記複数の予測モデルを生成することは、
前記第1のモデルのパラメータを変化させるためのランダムベクトルを生成することと、
前記ランダムベクトルに基づいて前記第1のモデルの前記パラメータを変化させて、前記複数の予測モデルを生成することと
を含み、
前記複数の予測モデルのうちの各予測モデルは、前記第1のモデルの前記パラメータの固有の変動に対応する、
請求項1に記載のコンピュータ可読媒体。
【請求項4】
前記複数のサンプル重みを調整することは、
前記現在の訓練データセットの入力に応答した、前記第1のモデルの出力を前記複数の予測モデルのうちの各予測モデルの出力と比較すること
を含み、
前記複数の予測モデルのうちの前記1つまたは複数の予測モデルは、前記第1のモデルに対して最も高い負フリップ率を有する、
請求項1に記載のコンピュータ可読媒体。
【請求項5】
前記複数のサンプル重みを調整することは、前記複数のサンプル重みのうちの各サンプル重みについて、
前記1つまたは複数の予測モデルのうちの、前記現在の訓練データセットにおける対応するサンプルの入力に応答した正しい出力を有する予測モデルの数を決定することと、
前記予測モデルの数に比例して前記サンプル重みを設定することと
をさらに含む、請求項4に記載のコンピュータ可読媒体。
【請求項6】
前記複数のサンプル重みを調整すること、および前記学習関数を再訓練することは、複数の反復にわたって実施され、
各後続の反復において前記複数のサンプル重みを調整することは、前記現在の訓練データセットの入力に応答した、前の反復において再訓練された前記第2のモデルの出力を前記複数の予測モデルのうちの各予測モデルの出力と比較することを含む、
請求項5に記載のコンピュータ可読媒体。
【請求項7】
前記複数のサンプル重みのうちの各サンプル重みは、前方互換性要素と、後方互換性要素とを含む、請求項1に記載のコンピュータ可読媒体。
【請求項8】
前のモデルを前記現在の訓練データセットに適用することと、
前記学習関数の訓練の前に、
前記複数のサンプル重みの前記後方互換性要素が前記現在の訓練データセットの入力に応答した前記前のモデルの出力に基づき、また
前記複数のサンプル重みの前記前方互換性要素が均一になる
ように、前記複数のサンプル重みを初期化することと
をさらに含み、
前記学習関数を訓練することは、前記複数のサンプル重みをさらに用い、
前記複数のサンプル重みを調整することは、前記複数のサンプル重みの前記前方互換性要素を設定することを含む、
請求項7に記載のコンピュータ可読媒体。
【請求項9】
前記複数のサンプル重みの前記前方互換性要素を前記設定することは、
前記現在の訓練データセットの入力に応答して、前記第1のモデルの出力を前記複数の予測モデルのうちの各予測モデルの出力と比較すること
をさらに含み、
前記複数の予測モデルのうちの前記1つまたは複数の予測モデルは、前記第1のモデルに対して最も高い負フリップ率を有する、
請求項8に記載のコンピュータ可読媒体。
【請求項10】
前記複数のサンプル重みの前記前方互換性要素を設定することは、前記複数のサンプル重みのうちの各サンプル重みについて、
前記1つまたは複数の予測モデルのうちの、前記訓練データセットにおける対応するサンプルの入力に応答して正しい出力を有する予測モデルの数を決定することと、
前記予測モデルの数に比例して前記前方互換性要素を設定することと
をさらに含む、請求項9に記載のコンピュータ可読媒体。
【請求項11】
前記複数のサンプル重みのうちの各サンプル重みは、前記前方互換性要素と前記後方互換性要素の和を含み、
前記複数のサンプル重みのうちの各サンプル重みの前記前方互換性要素または前記後方互換性要素のうちの1つには、相対的重要性係数が乗算される、
請求項7に記載のコンピュータ可読媒体。
【請求項12】
前記学習関数は、線形分類器または決定木のうちの1つを含む、請求項1に記載のコンピュータ可読媒体。
【請求項13】
複数のサンプルを含む現在の訓練データセットを用いて学習関数を訓練して、第1のモデルを生成することと、
複数の予測モデルを生成することであって、前記複数の予測モデルの各予測モデルは、前記現在の訓練データセットまたは前記第1のモデルのうちの1つの変動に基づくことと、
前記現在の訓練データセットの入力に応答して、前記複数の予測モデルのうちの1つまたは複数の予測モデルの出力に基づいて複数のサンプル重みを調整することと、
前記現在の訓練データセットおよび前記複数のサンプル重みを用いて前記学習関数を再訓練して、第2のモデルを生成することと
を含む、方法。
【請求項14】
前記複数の予測モデルを生成することは、
前記現在の訓練データセットの変動に基づいて複数の予測訓練データセットを生成することと、
前記複数の予測訓練データセットのうちの各予測訓練データセットを用いて前記学習関数を訓練して、前記複数の予測モデルのうちの対応する予測モデルを生成することと
を含む、請求項13に記載の方法。
【請求項15】
前記複数の予測モデルを生成することは、
前記第1のモデルのパラメータを変化させるためのランダムベクトルを生成することと、
前記ランダムベクトルに基づいて前記第1のモデルの前記パラメータを変化させ、前記複数の予測モデルを生成することと
を含み、
前記複数の予測モデルのうちの各予測モデルは、前記第1のモデルの前記パラメータの固有の変動に対応する、
請求項13に記載の方法。
【請求項16】
前記複数のサンプル重みを調整することは、
前記現在の訓練データセットの入力に応答した、前記第1のモデルの出力を前記複数の予測モデルのうちの各予測モデルの出力と比較すること
を含み、
前記複数の予測モデルのうちの前記1つまたは複数の予測モデルは、前記第1のモデルに対して最も高い負フリップ率を有する、
請求項13に記載の方法。
【請求項17】
前記複数のサンプル重みを調整することは、前記複数のサンプル重みのうちの各サンプル重みについて、
前記1つまたは複数の予測モデルのうちの、前記現在の訓練データセットにおける対応するサンプルの入力に応答した正しい出力を有する予測モデルの数を決定することと、
前記予測モデルの数に比例して前記サンプル重みを設定することと
をさらに含む、請求項16に記載の方法。
【請求項18】
前記複数のサンプル重みを調整すること、および前記学習関数を再訓練することは、複数の反復にわたって実施され、
各後続の反復において前記複数のサンプル重みを調整することは、前記現在の訓練データセットの入力に応答した、前の反復において再訓練された前記第2のモデルの出力を前記複数の予測モデルのうちの各予測モデルの出力と比較することを含む、
請求項17に記載の方法。
【請求項19】
前記複数のサンプル重みのうちの各サンプル重みは、前方互換性要素と、後方互換性要素とを含む、請求項13に記載の方法。
【請求項20】
現在の訓練データセットのパラメータを変化させるための摂動ベクトルを生成することと、
前記摂動ベクトルから、前記現在の訓練データセットにおける各サンプルに対応するサンプル重みを含む最も摂動されたサンプル重みセットを検出することと、
前記最も摂動されたサンプル重みセットに基づいて複数のサンプル重みを調整することと、
前記現在の訓練データセットおよび前記複数のサンプル重みを用いて前記学習関数を訓練して、第2のモデルを生成することと
を含む動作をコンピュータに実施させるために前記コンピュータによって実行可能な命令を含む、コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、前方互換性モデルの訓練に関する。
【背景技術】
【0002】
機械学習モデルは、予測を行うために使用される。そのようなモデルは、利用可能な情報が自然に増加し、パターンが逸脱するにつれて、性能を改善または維持するように更新される。モデルが更新されると、新しいモデルは古いモデルとは異なる挙動をし得る。新しいモデルが全体的により正確である場合であっても、新しいモデルは、古いモデルが正確であった特定の状況下では不正確さをもたらす可能性がある。新しいモデルによってもたらされるこのような不正確さの量は、負フリップ率(Negative Flip Rate:NFR)と呼ばれる。
【発明の概要】
【0003】
本開示の第1の例示的な態様によれば、複数のサンプルを含む現在の訓練データセットを用いて学習関数を訓練して、第1のモデルを生成することと、複数の予測モデルを生成することであって、前記複数の予測モデルの各予測モデルは、前記現在の訓練データセットまたは前記第1のモデルのうちの1つの変動に基づくことと、前記現在の訓練データセットの入力に応答した、前記複数の予測モデルのうちの1つまたは複数の予測モデルの出力に基づいて複数のサンプル重みを調整することと、前記現在の訓練データセットおよび前記複数のサンプル重みを用いて前記学習関数を再訓練して、第2のモデルを生成することとを含む動作をコンピュータに実施させるために前記コンピュータによって実行可能な命令を含む、コンピュータ可読媒体が提供される。
【0004】
本開示の第2の例示的な態様によれば、複数のサンプルを含む現在の訓練データセットを用いて学習関数を訓練して、第1のモデルを生成することと、複数の予測モデルを生成することであって、前記複数の予測モデルの各予測モデルは、前記現在の訓練データセットまたは前記第1のモデルのうちの1つの変動に基づくことと、前記現在の訓練データセットの入力に応答して、前記複数の予測モデルのうちの1つまたは複数の予測モデルの出力に基づいて複数のサンプル重みを調整することと、前記現在の訓練データセットおよび前記複数のサンプル重みを用いて前記学習関数を再訓練して、第2のモデルを生成することとを含む、方法が提供される。
【0005】
本開示の第3の例示的な態様によれば、現在の訓練データセットのパラメータを変化させるための摂動ベクトルを生成することと、前記摂動ベクトルから、前記現在の訓練データセットにおける各サンプルに対応するサンプル重みを含む最も摂動されたサンプル重みセットを検出することと、前記最も摂動されたサンプル重みセットに基づいて複数のサンプル重みを調整することと、前記現在の訓練データセットおよび前記複数のサンプル重みを用いて前記学習関数を訓練して、第2のモデルを生成することとを含む動作をコンピュータに実施させるために前記コンピュータによって実行可能な命令を含む、コンピュータ可読媒体が提供される。
【図面の簡単な説明】
【0006】
本開示の態様は、添付の図と併せて読むと、以下の詳細な説明から最もよく理解される。業界の標準的な慣行に従って、様々な特徴は縮尺通りに描かれていないことに留意されたい。実際、様々な特徴の寸法は、説明を明確にするために任意に拡大または縮小されることがある。
【
図1】本発明の少なくとも1つの実施形態による、前方互換性モデルの訓練のためのデータフローの概略図である。
【
図2】本発明の少なくとも1つの実施形態による、前方互換性モデルの訓練のための動作フローである。
【
図3】本発明の少なくとも1つの実施形態による、サンプル重みを初期化するための動作フローである。
【
図4】本発明の少なくとも1つの実施形態による、予測データセットから予測モデルを生成するための動作フローである。
【
図5】本発明の少なくとも1つの実施形態による、モデル変動から予測モデルを生成するための別の動作フローである。
【
図6】本発明の少なくとも1つの実施形態による、サンプル重みを調整するための動作フローである。
【
図7】本発明の少なくとも1つの実施形態による、前方互換性モデルの訓練のための別の動作フローである。
【
図8】本発明の少なくとも1つの実施形態による、前方互換性モデルの訓練のための例示的なハードウェア構成のブロック図である。
【発明を実施するための形態】
【0007】
以下の開示は、提供される主題の異なる特徴を実施するための多くの異なる実施形態または例を提供する。以下、本開示を簡略化するために、構成要素、値、動作、材料、配置などの具体的な例を説明する。もちろん、これらは単なる例であり、限定することを意図するものではない。他の構成要素、値、動作、材料、配置なども考えられる。加えて、本開示は、様々な例において参照番号および/または文字を繰り返すことができる。この繰り返しは、単純化および明確化のためのものであり、それ自体は、説明した様々な実施形態および/または構成の間の関係を規定するものではない。
【0008】
新しいモデルが、古いモデルが正確であった状況下で不正確である場合、モデルのユーザは、予測の新しい欠点に適応しなければならず、これは少なくとも一部のユーザを失望させるであろう。一方、モデルの少なくとも一部のユーザは、古いモデルが不正確であった状況下で新しいモデルが正確であることを歓迎する。
【0009】
更新されたモデルにおけるNFRは、新しいモデルを古いモデルと後方互換性を持たせるために新しいモデルの訓練中に対策を講じることによって低減され得る。新しいモデルを後方互換性にするための技術は、訓練中にサンプル重みを使用して、古いモデルからの正しい出力をもたらした入力に応答して新しいモデルが正しいことを促すことを含む。新しいモデルを、古いモデルが正しい場合に正しいものになるように訓練することにより、少なくとも一部のユーザのフラストレーションを回避または低減する。
【0010】
少なくともいくつかの実施形態では、古いモデルを新しいモデルと前方互換性を持たせるために、古いモデルの訓練中に対策が講じられる。少なくともいくつかの実施形態では、前方互換性訓練は、将来のモデルが後方互換性訓練を受けない場合であっても、将来のモデルにおいてNFRをさらに減少させる。
【0011】
図1は、本発明の少なくとも1つの実施形態による、前方互換性モデルの訓練のためのデータフローの概略図である。この図は、仮説クラス100、学習関数101、現在の訓練データセット102、訓練セクション103、訓練されたモデル104、サンプル重み調整セクション105、サンプル重み106、ハイパーパラメータ108、および前のモデル109を含む。
【0012】
仮説クラス100は、所与のタスクのための学習関数のクラスまたはグループである。少なくともいくつかの実施形態では、解釈可能な仮説クラス100は、決定木と、線形分類器とを含む。
【0013】
学習関数101は、解釈可能な仮説クラス100を備える複数の学習関数のうちの1つである。少なくともいくつかの実施形態では、学習関数101は、ニューラルネットワークまたは他のタイプの機械学習アルゴリズムもしくは近似関数である。少なくともいくつかの実施形態では、学習関数101は、0と1との間のランダムに割り当てられた初期値を有する重みを含む。少なくともいくつかの実施形態では、学習関数は、線形分類器および/または決定木のうちの1つである。
【0014】
現在の訓練データセット102は、複数のサンプルを含むデータセットである。各サンプルは、正しい結果を示すラベルを有する。言い換えれば、サンプルがモデルに入力されると、モデルは、対応するラベルに示される正しい結果を出力しなければならない。少なくともいくつかの実施形態では、現在の訓練データセット102は、実際の分布を表すようにするために、現在の訓練データセット102が用意およびキュレートされる。
【0015】
訓練セクション103は、現在の訓練データセット102に基づいて学習関数101を訓練し、訓練されたモデル104を生成するように構成される。少なくともいくつかの実施形態では、訓練セクション103は、学習関数101を現在の訓練データセット102に適用し、現在の訓練データセット102の入力に応答して、学習関数101の出力に基づいて学習関数101の重みを調整するように構成される。少なくともいくつかの実施形態では、訓練セクション103は、サンプル重み106にさらに基づいて学習関数101の重みを調整するように構成される。少なくともいくつかの実施形態では、訓練セクション103は、訓練の複数のエポックを実施し、線形分類モデルまたは決定木として訓練されたモデル104を生成するように構成される。少なくともいくつかの実施形態では、訓練セクション103は、訓練を実施して訓練されたモデル104の複数の反復を発生させるように構成され、訓練されたモデル104の各反復は、異なるように調整されたサンプル重みのセットで訓練される。少なくともいくつかの実施形態では、訓練セクション103は、学習関数101を予測訓練データセットに適用し、予測モデル107を生成すように構成される。
【0016】
サンプル重み調整セクション105は、訓練されたモデル104、ハイパーパラメータ108、前のモデル109、および予測モデル107のうちの1つまたは複数に基づいて、サンプル重みを訓練データセット102に割り当てるように構成される。少なくともいくつかの実施形態では、サンプル重み調整セクション105は、前のモデル109および予測モデル107のうちの1つまたは複数の正しい出力に基づいて、訓練データ102のサンプルに対する重みを調整する。少なくともいくつかの実施形態では、複数のサンプル重み106のうちの各サンプル重みは、前方互換性要素および/または後方互換性要素を含む。少なくともいくつかの実施形態では、複数のサンプル重みのうちの各サンプル重みは、前方互換性要素と後方互換性要素の和である。
【0017】
ハイパーパラメータ108は、サンプル重み調整セクション105によるサンプル重みの調整または学習関数101の訓練に影響を及ぼす値を含む。少なくともいくつかの実施形態では、ハイパーパラメータ108は、訓練中の前方互換性および後方互換性の相対的重要性に影響を及ぼすハイパーパラメータを含む。少なくともいくつかの実施形態では、複数のサンプル重みのうちの各サンプル重みの前方互換性要素および後方互換性要素のうちの1つには、相対的重要性係数(relative significance factor)が乗算される。少なくともいくつかの実施形態では、ハイパーパラメータ108は、学習係数、いくつかの予測モデルなどを含む。様々な他のハイパーパラメータは、特定の実施形態に関して以下で説明され、そのいずれも、少なくともいくつかの実施形態ではハイパーパラメータ108に含まれる。
【0018】
前のモデル109は、前の訓練データセットを使用して学習関数101から訓練される。少なくともいくつかの実施形態では、前のモデル109は、サンプル重み調整セクション105によって現在の訓練データセット102に適用され、後方互換性のための適切なサンプル重みセットを決定する。
【0019】
図2は、本発明の少なくとも1つの実施形態による、前方互換性モデルの訓練のための動作フローである。動作フローは、前方互換性モデルの訓練の方法を提供する。少なくともいくつかの実施形態では、方法は、以下に説明する
図8に示すコントローラおよび装置など、特定の動作を実施するためのセクションを含む装置のコントローラによって実施される。
【0020】
S210において、調整セクションまたはそのサブセクションは、現在の訓練データセットのサンプル重みを初期化する。少なくともいくつかの実施形態では、調整セクションは、現在の訓練データセットにおける各サンプルに対応するサンプル重みを初期化する。少なくともいくつかの実施形態では、調整セクションは、S220における学習関数の訓練の前に、複数のサンプル重みの後方互換性要素が現在の訓練データセットの入力に応答した前のモデルの出力に基づき、複数のサンプル重みの前方互換性要素が均一になるように、複数のサンプル重みを初期化する。少なくともいくつかの実施形態では、サンプル重みの初期化は、以下に説明する
図3に示すように進行する。
【0021】
S220において、訓練セクションまたはそのサブセクションは、現在の訓練データセットを用いて学習関数を訓練する。少なくともいくつかの実施形態では、訓練セクションは、現在の訓練データセットを用いて学習関数を訓練し、第1のモデルを生成し、現在の訓練データセットは、複数のサンプルを含む。少なくともいくつかの実施形態では、訓練セクションは、経験的リスク最小化(ERM:Empirical Risk Minimization)によって学習関数を訓練する。少なくともいくつかの実施形態では、訓練セクションは、損失関数を最小化することによって学習関数を訓練する:
【数1】
ここで、h^は訓練されたモデルであり、lは損失関数であり、h
θは学習関数であり、x
iは訓練データセットからのサンプルであり、h
θ(x
i)は学習関数からの出力であり、y
iは訓練データセットに従った正しい出力である。少なくともいくつかの実施形態では、訓練セクションは、後方互換性要素を用いてS210で初期化された複数のサンプル重みにより学習関数を訓練する。少なくともいくつかの実施形態では、訓練セクションは、損失関数におけるサンプル重みを使用して学習関数を訓練する:
【数2】
ここで、ω
iはサンプルx
iに対応するサンプル重みであり、Wはすべてのサンプル重みω
iを含むサンプル重みセットである。
【0022】
S230において、生成セクションまたはそのサブセクションは、複数の予測モデルを生成する。少なくともいくつかの実施形態では、生成セクションは、複数の予測モデルを生成し、各予測モデルは、現在の訓練データセットまたは第1のモデルのうちの1つの変動に基づく。少なくともいくつかの実施形態では、生成セクションは、S220で訓練されたモデルから複数の予測モデルを生成する。少なくともいくつかの実施形態では、生成セクションは、現在の訓練データセットから複数の予測モデルを生成する。
【0023】
S240において、調整セクションまたはそのサブセクションは、現在の訓練データセットのサンプル重みを調整する。少なくともいくつかの実施形態では、調整セクションは、現在の訓練データセットの入力に応答して、複数の予測モデルのうちの1つまたは複数の予測モデルの出力に基づいて複数のサンプル重みを調整する。少なくともいくつかの実施形態では、調整セクションは、予測モデルが現在の訓練データセットからの入力に応答して正しく出力しているかどうかに基づいて、各サンプル重みを調整する。少なくともいくつかの実施形態では、サンプル重みの調整は、以下に説明する
図6に示すように進行する。
【0024】
S222において、再訓練セクションは、S240で調整されたサンプル重みを使用して学習関数を再訓練する。少なくともいくつかの実施形態では、再訓練セクションは、現在の訓練データセットおよび複数のサンプル重みを用いて学習関数を再訓練し、第2のモデルを生成する。少なくともいくつかの実施形態では、再訓練セクションは、損失関数におけるサンプル重みを使用して学習関数を再訓練する:
【数3】
ここで、α
iはサンプルx
iに対応するサンプル重みであり、Hはすべての学習関数hを含む仮説クラスである。S222の各反復において、再訓練セクションは、異なるように調整されたサンプル重みセットを使用して学習関数を再訓練する。
【0025】
S224において、コントローラまたはそのセクションは、終了条件が満たされているかどうかを決定する。少なくともいくつかの実施形態では、終了条件は、S240およびS222における動作の反復回数である。少なくともいくつかの実施形態では、終了条件は、S222における再訓練の最新の反復で再訓練されたモデルの閾値NFRである。コントローラが終了条件が満たされていないと決定する場合、動作フローは、別の反復のためにS240におけるサンプル重み調整に戻る。コントローラが終了条件が満たされていると決定する場合、動作フローは終了する。
【0026】
図3は、本発明の少なくとも1つの実施形態による、サンプル重みを初期化するための動作フローである。動作フローは、サンプル重みを初期化する方法を提供する。少なくともいくつかの実施形態では、方法は、
図1のサンプル重み調整セクション105などの調整セクション、またはそれに対応して名付けられたそのサブセクションによって実施される。
【0027】
S312において、調整セクションまたはそのサブセクションは、均一なサンプル重みを生成する。少なくともいくつかの実施形態では、調整セクションは、すべてのサンプル重みが0、1、またはすべてのサンプル重みに対して均一である任意の他の値になるように、すべてのサンプル重みを生成する。
【0028】
S314において、調整セクションまたはそのサブセクションは、後方互換性を適用するかどうかを決定する。少なくともいくつかの実施形態では、調整セクションは、後方互換性が後方互換性のための基礎を提供する既存のモデルを必要とするため、前のモデルが存在するかどうかに基づいて後方互換性を適用するかどうかを決定する。調整セクションが後方互換性を適用すると決定する場合、S316において、動作フローは、前のモデル適用に進行する。調整セクションが後方互換性を適用しないと決定する場合、動作フローは終了し、均一に初期化されたサンプル重みを維持する。
【0029】
S316において、調整セクションは、前のモデルを現在の訓練データセットに適用する。少なくともいくつかの実施形態では、調整セクションは、前のモデルを現在の訓練データセットにおける各サンプルに適用し、将来の参照のために出力を記録する。
【0030】
S318において、調整セクションは、サンプル重みの後方互換性要素を調整する。少なくともいくつかの実施形態では、各サンプル重みは、後方互換性要素と、前方互換性要素とを有する。少なくともいくつかの実施形態では、各サンプル重みは、後方互換性要素と前方互換性要素の合計に等しい。少なくともいくつかの実施形態では、後方互換性要素および前方互換性要素のうちの1つには、相対的重要性係数が乗算される。
【0031】
図4は、本発明の少なくとも1つの実施形態による、予測データセットから予測モデルを生成するための動作フローである。動作フローは、予測データセットから予測モデルを生成する方法を提供する。少なくともいくつかの実施形態では、方法は、生成セクション、またはそれに対応して名付けられたそのサブセクションによって実施される。少なくともいくつかの実施形態では、生成セクションは、
図1のサンプル重み調整セクション105などの調整セクションのサブセクションである。
【0032】
S432において、生成セクションまたはそのサブセクションは、予測データセットを生成する。少なくともいくつかの実施形態では、生成セクションは、現在の訓練データセットから予測データセットを生成する。少なくともいくつかの実施形態では、生成セクションは、オーバーサンプリング、サブサンプリングなどによって現在の訓練データセットをランダムに変更する。少なくともいくつかの実施形態では、生成セクションは、モデルの適用に基づいて予測データセットを生成するための技術を使用する。少なくともいくつかの実施形態では、生成セクションは、摂動ベクトルに従って訓練データを変更することによって予測データセットを生成する。少なくともいくつかの実施形態では、S432の反復が進行するにつれて、生成セクションは、現在の訓練データセットの変動に基づいて複数の予測訓練データセットを生成する。
【0033】
S433において、生成セクションまたはそのサブセクションは、S433で生成された予測データセットを用いて学習関数を訓練し、予測モデルを生成する。少なくともいくつかの実施形態では、生成セクションは、
図1の訓練セクション103などの訓練セクションに学習関数を訓練させる。少なくともいくつかの実施形態では、生成セクションは、ERMによって学習関数を訓練する。少なくともいくつかの実施形態では、生成セクションは、
図2に示すS220で学習関数を訓練するのと実質的に同様に学習関数を訓練するが、現在の訓練データセットの代わりに予測データセットを使用する。少なくともいくつかの実施形態では、生成セクションは、前のモデルをS433で生成された予測データセットに適用することによって、後方互換性のために初期化されたサンプル重みをさらに使用して学習関数を訓練する。少なくともいくつかの実施形態では、S433の反復が進行するにつれて、生成セクションは、複数の予測訓練データセットのうちの各予測訓練データセットを用いて学習関数を訓練し、複数の予測モデルのうちの対応する予測モデルを生成する。
【0034】
S434において、生成セクションまたはそのサブセクションは、終了条件が満たされているかどうかを決定する。少なくともいくつかの実施形態では、終了条件は、S432およびS433における動作の反復回数である。生成セクションが終了条件が満たされていないと決定する場合、動作フローは、別の反復のためにS432における予測データセット生成に戻る。生成セクションが終了条件が満たされていると決定する場合、動作フローは終了する。
【0035】
図5は、本発明の少なくとも1つの実施形態による、モデル変動から予測モデルを生成するための別の動作フローである。動作フローは、モデル変動から予測モデルを生成する方法を提供する。少なくともいくつかの実施形態では、方法は、生成セクション、またはそれに対応して名付けられたそのサブセクションによって実施される。少なくともいくつかの実施形態では、生成セクションは、
図1のサンプル重み調整セクション105などの調整セクションのサブセクションである。
【0036】
S536において、生成セクションまたはそのサブセクションは、現在の訓練データセットを使用して訓練されたモデルからパラメータを抽出する。少なくともいくつかの実施形態では、生成セクションは、
図2に示すS220で訓練されたモデルからパラメータを抽出する。少なくともいくつかの実施形態では、生成セクションは、式1の損失関数を最小化することによって訓練されたモデルからパラメータθを抽出する。
【0037】
S537において、生成セクションまたはそのサブセクションは、モデルのパラメータを変化させるためのランダムベクトルを生成する。少なくともいくつかの実施形態では、生成セクションは、第1のモデルのパラメータを変化させるためのランダムベクトルを生成する。少なくともいくつかの実施形態では、生成セクションは、ランダムベクトルεを生成する。S537の反復が進行するにつれて、生成セクションは、複数のランダムベクトルを生成する。
【0038】
S538において、生成セクションまたはそのサブセクションは、S537で生成されたベクトルに基づいてモデルのパラメータを変化させる。少なくともいくつかの実施形態では、生成セクションは、ランダムベクトルに基づいて第1のモデルのパラメータを変化させ、複数の予測モデルを発生させる。少なくともいくつかの実施形態では、生成セクションは、ランダムベクトルεに基づいてパラメータθを変化させる。少なくともいくつかの実施形態では、生成セクションは、ランダムベクトルεをパラメータθに加算し、摂動モデルθεを生成する。S538の反復が進行するにつれて、生成セクションは、複数の予測モデルを生成し、複数の予測モデルのうちの各予測モデルは、第1のモデルのパラメータの固有の変動に対応する。
【0039】
S539において、生成セクションまたはそのサブセクションは、終了条件が満たされているかどうかを決定する。少なくともいくつかの実施形態では、終了条件は、S537およびS538における動作の反復回数である。生成セクションが終了条件が満たされていないと決定する場合、動作フローは、別の反復のためにS537におけるランダムベクトル生成に戻る。生成セクションが終了条件が満たされていると決定する場合、動作フローは終了する。
【0040】
図6は、本発明の少なくとも1つの実施形態による、サンプル重みを調整するための動作フローである。動作フローは、サンプル重みを調整する方法を提供する。少なくともいくつかの実施形態では、方法は、
図1のサンプル重み調整セクション105などの調整セクションによって実施される。
【0041】
S642において、調整セクションまたはそのサブセクションは、複数の予測モデルのうちの1つまたは複数の互換性のないモデルを識別する。少なくともいくつかの実施形態では、調整セクションは、
図2に示すS230で生成されたモデルのうちの1つまたは複数の最も互換性のないモデルを識別する。少なくともいくつかの実施形態では、調整セクションは、現在の訓練データセットで訓練されたモデルと比較して、各予測モデルについてのNFRを識別する。少なくともいくつかの実施形態では、調整セクションは、現在の訓練データセットの入力に応答した、第1のモデルの出力を複数の予測モデルのうちの各予測モデルの出力と比較する。少なくともいくつかの実施形態では、調整セクションは、現在の訓練データセットのサンプルの入力に応答した、予測モデルの出力を
図2に示すS220で訓練されたモデルと比較する。少なくともいくつかの実施形態では、予測モデルが正しい出力を有し、S220で訓練されたモデルが誤った出力を有する場合、負フリップが集計される。少なくともいくつかの実施形態によれば、すべての負フリップが各予測モデルについて集計されると、より負のフリップに関連付けられた予測モデルは、調整セクションによってより互換性がないと識別される。少なくともいくつかの実施形態では、複数の予測モデルの中で識別された1つまたは複数の予測モデルは、第1のモデルに対して最も高い負フリップ率を有する。少なくともいくつかの実施形態では、調整セクションは、以下の総当たり関数(brute force function)に従って最も互換性のないモデルを識別する:
【数4】
ここで、h1は重み付けされていない現在の訓練データセットを使用して訓練されたモデルであり、Hは複数の予測モデルであり、h2
~は最も互換性のないモデルであり、ω2
~は最も互換性のないモデルに対応するサンプル重みセットである。少なくともいくつかの実施形態では、
図2に示すS240における複数のサンプル重みの調整およびS222における学習関数の再訓練が複数の反復に対して実施されるため、各後続の反復でのS240における複数のサンプル重みの調整は、複数の予測モデルのうちの1つまたは複数の互換性のないモデルを識別するために、現在の訓練データセットの入力に応答した、前の反復においてS222で再訓練された第2のモデルの出力を複数の予測モデルのうちの各予測モデルの出力と比較することを含む。
【0042】
S644において、調整セクションまたはそのサブセクションは、現在の訓練データセットにおける次のサンプルを選択する。調整セクションは、S644の第1の反復において第1のサンプルを選択する。S644の反復が進行するにつれて、現在の訓練データセットにおけるすべてのサンプルが処理のために選択される。
【0043】
S646において、調整セクションまたはそのサブセクションは、S644で選択されたサンプルに対して正しい出力を有する互換性のないモデルの割合を決定する。少なくともいくつかの実施形態では、調整セクションは、1つまたは複数の予測モデルの中から、訓練データセットにおける対応するサンプルの入力に応答した正しい出力を有する予測モデルの数を決定する。少なくともいくつかの実施形態では、調整セクションは、どの互換性のないモデルが正しい出力を有するかを決定し、次いで、その数をS642で決定された互換性のないモデルの総数で除算する。1つの互換性のないモデルのみがS642で決定される少なくともいくつかの実施形態では、調整セクションによって決定される割合は、互換性のないモデルが正しいということに応答して1、または互換性のないモデルが正しくないということに応答して0のいずれかである。
【0044】
S648において、調整セクションまたはそのサブセクションは、S646で決定された割合に基づいて、S644で選択されたサンプルに対応するサンプル重みの前方互換性要素を調整する。少なくともいくつかの実施形態では、調整セクションは、複数のサンプル重みの前方互換性要素を設定する。少なくともいくつかの実施形態では、調整セクションは、予測モデルの数に比例してサンプル重みを設定する。少なくともいくつかの実施形態では、調整セクションは、転置または拡大などによってサンプル重みを調整する際、S646で決定された割合をさらに操作する。
【0045】
S649において、調整セクションまたはそのサブセクションは、現在の訓練データセットにおけるすべてのサンプルが処理されたかどうかを決定する。調整セクションが未処理のサンプルが残っていると決定する場合、動作フローは、別の反復のためにS644における次のサンプル選択に戻る。調整セクションがすべてのサンプルが処理されたと決定する場合、動作フローは終了する。
【0046】
図7は、本発明の少なくとも1つの実施形態による、前方互換性モデルの訓練のための別の動作フローである。動作フローは、前方互換性モデルの訓練の別の方法を提供する。少なくともいくつかの実施形態では、方法は、以下に説明する
図8に示すコントローラおよび装置など、特定の動作を実施するためのセクションを含む装置のコントローラによって実施される。
【0047】
S710において、調整セクションまたはそのサブセクションは、現在の訓練データセットのサンプル重みを初期化する。少なくともいくつかの実施形態では、調整セクションは、現在の訓練データセットにおける各サンプルに対応するサンプル重みを初期化する。少なくともいくつかの実施形態では、サンプル重みの初期化は、
図3に示すように進行する。
【0048】
S750において、生成セクションまたはそのサブセクションは、現在の訓練データセットについての摂動ベクトルを生成する。少なくともいくつかの実施形態では、生成セクションは、
図2に示すS240におけるサンプル重み調整の複数の反復からのサンプル重みセットなどの複数のサンプル重みセットから摂動ベクトルを導出する。
【0049】
S752において、調整セクションまたはそのサブセクションは、S750で生成された摂動ベクトルから最も摂動されたサンプル重みセットを検出する。少なくともいくつかの実施形態では、調整セクションは、摂動ベクトルを使用して、
図2に示すS220における学習関数訓練と同様に、現在の訓練データセットを使用して訓練されたモデルを現在の訓練データセットに適用することによって、最も摂動されたサンプル重みセットを検出する。
【0050】
S754において、調整セクションまたはそのサブセクションは、最も摂動されたサンプル重みセットからの対応する摂動されたサンプル重みに比例して、各サンプル重みの前方互換性要素を設定する。少なくともいくつかの実施形態では、調整セクションは、転置または拡大などによって各サンプル重みをさらに操作する。
【0051】
S756において、訓練セクションまたはそのサブセクションは、S754で調整されたサンプル重みを有する現在の訓練データセットを使用して学習関数を訓練する。少なくともいくつかの実施形態では、訓練セクションは、損失関数におけるサンプル重みを使用して学習関数を訓練する:
【数5】
ここで、φ(ω、u)は重み付けされていない現在の訓練データセットuと重み付けされている現在の訓練データセットωとの間のカルバックライブラー発散(Kullback-Leibler divergence)であり、Wはδによって制限される摂動ベクトルに従ってすべての可能なサンプル重みセットを表す。
【0052】
図8は、本発明の少なくとも1つの実施形態による、前方互換性モデルの訓練のための例示的なハードウェア構成のブロック図である。
【0053】
例示的なハードウェア構成は、ネットワーク869と通信し、入力デバイス867と相互作用する装置860を含む。装置860は、入力デバイス867から入力またはコマンドを受信するコンピュータまたは他のコンピューティングデバイスであってもよい。装置860は、入力デバイス867に直接的に接続するホストサーバであってもよいし、ネットワーク869を通じて間接的に接続するホストサーバであってもよい。いくつかの実施形態では、装置860は、2つ以上のコンピュータを含むコンピュータシステムである。いくつかの実施形態では、装置860は、装置860のユーザのためのアプリケーションを実行するパーソナルコンピュータである。
【0054】
装置860は、コントローラ862と、記憶ユニット864と、通信インターフェース868と、入出力インターフェース866とを含む。いくつかの実施形態では、コントローラ862は、命令を実行するプロセッサまたはプログラマブル回路を含み、命令は、プロセッサまたはプログラマブル回路に命令に従って動作を実施させる。いくつかの実施形態では、コントローラ862は、アナログもしくはデジタルプログラマブル回路、またはそれらの任意の組み合わせを含む。いくつかの実施形態では、コントローラ862は、通信を通して相互作用する物理的に分離された記憶装置または回路を含む。いくつかの実施形態では、記憶ユニット864は、命令の実行中にコントローラ862がアクセスするための実行可能データおよび実行不可能データを記憶することが可能な不揮発性コンピュータ可読媒体を含む。通信インターフェース868は、ネットワーク869との間でデータの送受信を行う。入出力インターフェース866は、パラレルポート、シリアルポート、キーボードポート、マウスポート、モニタポートなどを介して様々な入出力ユニットに接続し、コマンドを受け付けたり情報を提示したりする。
【0055】
コントローラ862は、訓練セクション872を含み、訓練セクション872は、再訓練セクション874と、生成セクション876と、調整セクション875とを含む。記憶ユニット864は、訓練データセット882と、一般パラメータ884と、モデルパラメータ886と、サンプル重み888とを含む。
【0056】
訓練セクション872は、学習関数を訓練するように構成されたコントローラ862の回路または命令である。少なくともいくつかの実施形態では、訓練セクション872は、
図1の学習関数101などの学習関数を訓練し、
図1の訓練されたモデル104および予測モデル107などのモデルを生成するように構成される。少なくともいくつかの実施形態では、訓練セクション872は、訓練データセット882、一般パラメータ884に含まれる損失関数およびハイパーパラメータ、モデルパラメータ886に含まれる学習関数および訓練されたモデル、ならびにサンプル重み888などの記憶ユニット864内の情報を利用する。少なくともいくつかの実施形態では、訓練セクション872は、前述のフローチャートで説明したように、追加の機能を実施するためのサブセクションを含む。少なくともいくつかの実施形態では、そのようなサブセクションは、再訓練セクション873など、それらの機能に関連付けられた名前によって参照され得る。
【0057】
再訓練セクション874は、サンプル重みに基づいて学習関数を再訓練するように構成されたコントローラ862の回路または命令である。少なくともいくつかの実施形態では、再訓練セクション874は、
図1の学習関数101などの学習関数を再訓練し、
図1の訓練されたモデル104などのような訓練されたモデルを生成するように構成される。少なくともいくつかの実施形態では、再訓練セクション874は、訓練データ882、一般パラメータ884に含まれる損失関数およびハイパーパラメータ、モデルパラメータ886に含まれる学習関数および訓練されたモデル、ならびにサンプル重み888などの記憶ユニット864内の情報を利用する。少なくともいくつかの実施形態では、再訓練セクション874は、前述のフローチャートで説明したように、追加の機能を実施するためのサブセクションを含む。少なくともいくつかの実施形態では、そのようなサブセクションは、それらの機能に関連付けられた名前によって参照され得る。
【0058】
生成セクション876は、予測モデルを生成するように構成されたコントローラ862の回路または命令である。少なくともいくつかの実施形態では、生成セクション876は、
図4などの予測データセットから、
図5などのモデルパラメータ変動などから予測モデルを生成するように構成される。少なくともいくつかの実施形態では、生成セクション876は、一般パラメータ884に含まれるハイパーパラメータ、モデルパラメータ886に含まれる訓練されたモデル、およびサンプル重み888などの記憶ユニット864内の情報を利用する。少なくともいくつかの実施形態では、生成セクション876は、前述のフローチャートで説明したように、追加の機能を実施するためのサブセクションを含む。少なくともいくつかの実施形態では、そのようなサブセクションは、それらの機能に関連付けられた名前によって参照され得る。
【0059】
調整セクション878は、サンプル重みを調整するように構成されたコントローラ862の回路または命令である。少なくともいくつかの実施形態では、調整セクション878は、モデルパラメータ886に含まれる訓練されたモデルおよび1つまたは複数の予測モデル、ならびに一般パラメータ884に含まれるハイパーパラメータに基づいて、サンプル重みを訓練データセット882に調整するように構成される。少なくともいくつかの実施形態では、調整セクション878は、サンプル重み888に値を記録する。少なくともいくつかの実施形態では、調整セクション878は、前述のフローチャートで説明したように、追加の機能を実施するためのサブセクションを含む。少なくともいくつかの実施形態では、そのようなサブセクションは、対応する機能に関連付けられた名前によって参照される。
【0060】
少なくともいくつかの実施形態では、装置は、本明細書の動作を実施するために論理機能を処理することが可能な別のデバイスである。少なくともいくつかの実施形態では、コントローラおよび記憶ユニットは、完全に別々のデバイスである必要はなく、いくつかの実施形態では回路または1つまたは複数のコンピュータ可読媒体を共有する。少なくともいくつかの実施形態では、記憶ユニットは、コンピュータ実行可能命令とコントローラによってアクセスされるデータの両方を記憶するハードドライブを含み、コントローラは、中央処理装置(CPU)とRAMとの組み合わせを含み、コンピュータ実行可能命令は、本明細書の動作の実施中にCPUによる実行のために全体的または部分的にコピーすることができる。
【0061】
装置がコンピュータである少なくともいくつかの実施形態では、コンピュータにインストールされたプログラムは、コンピュータに本明細書に記載の実施形態の装置として機能させるか、または装置に関連付けられた動作を実施させることが可能である。少なくともいくつかの実施形態では、そのようなプログラムは、コンピュータに本明細書に記載のフローチャートおよびブロック図のブロックの一部またはすべてに関連付けられた特定の動作を実施させるためにプロセッサによって実行可能である。
【0062】
本発明の様々な実施形態は、フローチャートおよびブロック図を参照して説明され、そのブロックは、(1)動作が実施されるプロセスのステップ、または(2)動作の実施を担当するコントローラのセクションを表すことができる。特定のステップおよびセクションは、専用回路、コンピュータ可読媒体に記憶されたコンピュータ可読命令を供給されるプログラマブル回路、および/またはコンピュータ可読媒体に記憶されたコンピュータ可読命令を供給されるプロセッサによって実施される。いくつかの実施形態では、専用回路は、デジタルおよび/またはアナログハードウェア回路を含み、集積回路(IC)および/またはディスクリート回路を含んでもよい。いくつかの実施形態では、プログラマブル回路は、論理AND、OR、XOR、NAND、NOR、および他の論理演算、フリップフロップ、レジスタ、メモリ要素など、例えばフィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理アレイ(PLA)などを備える再構成可能ハードウェア回路を含む。
【0063】
本発明の様々な実施形態は、システム、方法、および/またはコンピュータプログラム製品を含む。いくつかの実施形態では、コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(複数可)を含む。
【0064】
いくつかの実施形態では、コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持および記憶することができる有形のデバイスを含む。いくつかの実施形態では、コンピュータ可読記憶媒体は、例えば、限定はしないが、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、または上記の任意の適切な組み合わせを含む。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブル読み出し専用メモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読み出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、パンチカードまたは命令が記録された溝内の隆起構造などの機械的にエンコードされたデバイス、および上記の任意の適切な組み合わせを含む。本明細書で使用されるコンピュータ可読記憶媒体は、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体(例えば、光ファイバケーブルを通過する光パルス)を通って伝搬する電磁波、またはワイヤを通して伝送される電気信号などの一時的な信号自体であると解釈されるべきではない。
【0065】
いくつかの実施形態では、本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、またはネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、および/もしくは無線ネットワークを介して外部コンピュータもしくは外部記憶デバイスにダウンロード可能である。いくつかの実施形態では、ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、および/またはエッジサーバを含むことができる。各コンピューティング/処理デバイス内のネットワークアダプタカードまたはネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
【0066】
いくつかの実施形態では、上述の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくは同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組み合わせで記述されるソースコードもしくはオブジェクトコードのいずれかである。いくつかの実施形態では、コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンソフトウェアパッケージとして、部分的にユーザのコンピュータ上でかつ部分的にリモートコンピュータ上で、または完全にリモートコンピュータもしくはサーバ上で実行される。いくつかの実施形態では、後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)もしくはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続されるか、または外部コンピュータ(例えば、インターネットサービスプロバイダを使用してインターネットを通じて)に接続されてもよい。いくつかの実施形態では、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行して電子回路を個別化する。
【0067】
以上、本発明の実施形態について説明したが、特許請求の範囲に記載の技術的範囲は、上述の実施形態に限定されない。様々な改変および改良を上述の実施形態に加えることができることは、当業者には明らかであろう。このような改変または改良を加えた実施形態が本発明の技術的範囲に含まれることもまた、特許請求の範囲の記載から明らかである。
【0068】
特許請求の範囲、実施形態、または図中において示す装置、システム、プログラム、および方法によって実施される動作、手順、ステップ、および各プロセスの段階は、順序が「よりも前に」、「先立って」などによって示されておらず、また、前のプロセスからの出力を後のプロセスで使用するのでない限り、任意の順序で実施することができる。プロセスの流れが、特許請求の範囲、実施形態、または図中において「まず」または「次に」などの語句を使用して説明されるとしても、これは必ずしもプロセスがこの順序で実施されなければならないことを意味するものではない。
【0069】
本発明の少なくとも1つの実施形態によれば、前方互換性モデルは、現在の訓練データセットを用いて学習関数を訓練し、第1のモデルを生成することであって、現在の訓練データセットは、複数のサンプルを含むことと、複数の予測モデルを生成することであって、各予測モデルは、現在の訓練データセットまたは第1のモデルのうちの1つの変動に基づくことと、現在の訓練データセットの入力に応答した、複数の予測モデルのうちの1つまたは複数の予測モデルの出力に基づいて複数のサンプル重みを調整することと、現在の訓練データセットおよび複数のサンプル重みを用いて学習関数を再訓練し、第2のモデルを発生させることとを含む動作によって取得される。
【0070】
いくつかの実施形態は、コンピュータプログラム内の命令、コンピュータプログラムの命令を実行するプロセッサによって実施される方法、および方法を実施する装置を含む。いくつかの実施形態では、装置は、命令内の動作を実施するように構成された回路を含むコントローラを含む。
【0071】
上記は、当業者が本開示の態様をよりよく理解することができるように、いくつかの実施形態の特徴を概説している。当業者は、本明細書に導入された実施形態と同じ目的を実行し、かつ/または同じ利点を達成するための他のプロセスおよび構造を設計または修正するための基礎として本開示を容易に使用することができることを理解するべきである。当業者はまた、そのような同等の構成が本開示の精神および範囲から逸脱するものではなく、本開示の精神および範囲から逸脱することなく本明細書において様々な変更、置換、および改変を行うことができることを認識するべきである。
【0072】
上述の例示的な実施形態の一部またはすべては、以下の付記のように記載することができるが、これに限定されるものではない。
【0073】
(付記1)
複数のサンプルを含む現在の訓練データセットを用いて学習関数を訓練して、第1のモデルを生成することと、
複数の予測モデルを生成することであって、前記複数の予測モデルの各予測モデルは、前記現在の訓練データセットまたは前記第1のモデルのうちの1つの変動に基づくことと、
前記現在の訓練データセットの入力に応答した、前記複数の予測モデルのうちの1つまたは複数の予測モデルの出力に基づいて複数のサンプル重みを調整することと、
前記現在の訓練データセットおよび前記複数のサンプル重みを用いて前記学習関数を再訓練して、第2のモデルを生成することと
を含む動作をコンピュータに実施させるために前記コンピュータによって実行可能な命令を含む、コンピュータ可読媒体。
【0074】
(付記2)
前記複数の予測モデルを生成することは、
前記現在の訓練データセットの変動に基づいて複数の予測訓練データセットを生成することと、
前記複数の予測訓練データセットのうちの各予測訓練データセットを用いて前記学習関数を訓練して、前記複数の予測モデルのうちの対応する予測モデルを生成することと
を含む、付記1に記載のコンピュータ可読媒体。
【0075】
(付記3)
前記複数の予測モデルを生成することは、
前記第1のモデルのパラメータを変化させるためのランダムベクトルを生成することと、
前記ランダムベクトルに基づいて前記第1のモデルの前記パラメータを変化させて、前記複数の予測モデルを生成することと
を含み、
前記複数の予測モデルのうちの各予測モデルは、前記第1のモデルの前記パラメータの固有の変動に対応する、
付記1に記載のコンピュータ可読媒体。
【0076】
(付記4)
前記複数のサンプル重みを調整することは、
前記現在の訓練データセットの入力に応答した、前記第1のモデルの出力を前記複数の予測モデルのうちの各予測モデルの出力と比較すること
を含み、
前記複数の予測モデルのうちの前記1つまたは複数の予測モデルは、前記第1のモデルに対して最も高い負フリップ率を有する、
付記1に記載のコンピュータ可読媒体。
【0077】
(付記5)
前記複数のサンプル重みを調整することは、前記複数のサンプル重みのうちの各サンプル重みについて、
前記1つまたは複数の予測モデルのうちの、前記現在の訓練データセットにおける対応するサンプルの入力に応答した正しい出力を有する予測モデルの数を決定することと、
前記予測モデルの数に比例して前記サンプル重みを設定することと
をさらに含む、付記4に記載のコンピュータ可読媒体。
【0078】
(付記6)
前記複数のサンプル重みを調整すること、および前記学習関数を再訓練することは、複数の反復にわたって実施され、
各後続の反復において前記複数のサンプル重みを調整することは、前記現在の訓練データセットの入力に応答した、前の反復において再訓練された前記第2のモデルの出力を前記複数の予測モデルのうちの各予測モデルの出力と比較することを含む、
付記5に記載のコンピュータ可読媒体。
【0079】
(付記7)
前記複数のサンプル重みのうちの各サンプル重みは、前方互換性要素と、後方互換性要素とを含む、付記1に記載のコンピュータ可読媒体。
【0080】
(付記8)
前のモデルを前記現在の訓練データセットに適用することと、
前記学習関数の訓練の前に、
前記複数のサンプル重みの前記後方互換性要素が前記現在の訓練データセットの入力に応答した前記前のモデルの出力に基づき、また
前記複数のサンプル重みの前記前方互換性要素が均一になる
ように、前記複数のサンプル重みを初期化することと
をさらに含み、
前記学習関数を訓練することは、前記複数のサンプル重みをさらに用い、
前記複数のサンプル重みを調整することは、前記複数のサンプル重みの前記前方互換性要素を設定することを含む、
付記7に記載のコンピュータ可読媒体。
【0081】
(付記9)
前記複数のサンプル重みの前記前方互換性要素を前記設定することは、
前記現在の訓練データセットの入力に応答して、前記第1のモデルの出力を前記複数の予測モデルのうちの各予測モデルの出力と比較すること
をさらに含み、
前記複数の予測モデルのうちの前記1つまたは複数の予測モデルは、前記第1のモデルに対して最も高い負フリップ率を有する、
付記8に記載のコンピュータ可読媒体。
【0082】
(付記10)
前記複数のサンプル重みの前記前方互換性要素を設定することは、前記複数のサンプル重みのうちの各サンプル重みについて、
前記1つまたは複数の予測モデルのうちの、前記訓練データセットにおける対応するサンプルの入力に応答して正しい出力を有する予測モデルの数を決定することと、
前記予測モデルの数に比例して前記前方互換性要素を設定することと
をさらに含む、付記9に記載のコンピュータ可読媒体。
【0083】
(付記11)
前記複数のサンプル重みのうちの各サンプル重みは、前記前方互換性要素と前記後方互換性要素の和を含み、
前記複数のサンプル重みのうちの各サンプル重みの前記前方互換性要素または前記後方互換性要素のうちの1つには、相対的重要性係数が乗算される、
付記7に記載のコンピュータ可読媒体。
【0084】
(付記12)
前記学習関数は、線形分類器または決定木のうちの1つを含む、付記1に記載のコンピュータ可読媒体。
【0085】
(付記13)
複数のサンプルを含む現在の訓練データセットを用いて学習関数を訓練して、第1のモデルを生成することと、
複数の予測モデルを生成することであって、前記複数の予測モデルの各予測モデルは、前記現在の訓練データセットまたは前記第1のモデルのうちの1つの変動に基づくことと、
前記現在の訓練データセットの入力に応答して、前記複数の予測モデルのうちの1つまたは複数の予測モデルの出力に基づいて複数のサンプル重みを調整することと、
前記現在の訓練データセットおよび前記複数のサンプル重みを用いて前記学習関数を再訓練して、第2のモデルを生成することと
を含む、方法。
【0086】
(付記14)
前記複数の予測モデルを生成することは、
前記現在の訓練データセットの変動に基づいて複数の予測訓練データセットを生成することと、
前記複数の予測訓練データセットのうちの各予測訓練データセットを用いて前記学習関数を訓練して、前記複数の予測モデルのうちの対応する予測モデルを生成することと
を含む、付記13に記載の方法。
【0087】
(付記15)
前記複数の予測モデルを生成することは、
前記第1のモデルのパラメータを変化させるためのランダムベクトルを生成することと、
前記ランダムベクトルに基づいて前記第1のモデルの前記パラメータを変化させ、前記複数の予測モデルを生成することと
を含み、
前記複数の予測モデルのうちの各予測モデルは、前記第1のモデルの前記パラメータの固有の変動に対応する、
付記13に記載の方法。
【0088】
(付記16)
前記複数のサンプル重みを調整することは、
前記現在の訓練データセットの入力に応答した、前記第1のモデルの出力を前記複数の予測モデルのうちの各予測モデルの出力と比較すること
を含み、
前記複数の予測モデルのうちの前記1つまたは複数の予測モデルは、前記第1のモデルに対して最も高い負フリップ率を有する、
付記13に記載の方法。
【0089】
(付記17)
前記複数のサンプル重みを調整することは、前記複数のサンプル重みのうちの各サンプル重みについて、
前記1つまたは複数の予測モデルのうちの、前記現在の訓練データセットにおける対応するサンプルの入力に応答した正しい出力を有する予測モデルの数を決定することと、
前記予測モデルの数に比例して前記サンプル重みを設定することと
をさらに含む、付記16に記載の方法。
【0090】
(付記18)
前記複数のサンプル重みを調整すること、および前記学習関数を再訓練することは、複数の反復にわたって実施され、
各後続の反復において前記複数のサンプル重みを調整することは、前記現在の訓練データセットの入力に応答した、前の反復において再訓練された前記第2のモデルの出力を前記複数の予測モデルのうちの各予測モデルの出力と比較することを含む、
付記17に記載の方法。
【0091】
(付記19)
前記複数のサンプル重みのうちの各サンプル重みは、前方互換性要素と、後方互換性要素とを含む、付記13に記載の方法。
【0092】
(付記20)
現在の訓練データセットのパラメータを変化させるための摂動ベクトルを生成することと、
前記摂動ベクトルから、前記現在の訓練データセットにおける各サンプルに対応するサンプル重みを含む最も摂動されたサンプル重みセットを検出することと、
前記最も摂動されたサンプル重みセットに基づいて複数のサンプル重みを調整することと、
前記現在の訓練データセットおよび前記複数のサンプル重みを用いて前記学習関数を訓練して、第2のモデルを生成することと
を含む動作をコンピュータに実施させるために前記コンピュータによって実行可能な命令を含む、コンピュータ可読媒体。
【0093】
本出願は、2021年4月20日に出願された米国仮特許出願第63/177,355号明細書の利益を主張し、その全体が参照により本明細書に組み込まれる。さらに、本出願は、2021年7月29日に出願された米国特許出願第17/389,237号明細書の利益を主張し、その全体が参照により本明細書に組み込まれる。
【手続補正書】
【提出日】2023-10-16
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
複数のサンプルを含む現在の訓練データセットを用いて学習関数を訓練して、第1のモデルを生成することと、
複数の予測モデルを生成することであって、前記複数の予測モデルの各予測モデルは、前記現在の訓練データセットまたは前記第1のモデルのうちの1つの変動に基づくことと、
前記現在の訓練データセットの入力に応答した、前記複数の予測モデルのうちの1つまたは複数の予測モデルの出力に基づいて複数のサンプル重みを調整することと、
前記現在の訓練データセットおよび前記複数のサンプル重みを用いて前記学習関数を再訓練して、第2のモデルを生成することと
を含む動作をコンピュータに実施させるため
のプログラム。
【請求項2】
前記複数の予測モデルを生成することは、
前記現在の訓練データセットの変動に基づいて複数の予測訓練データセットを生成することと、
前記複数の予測訓練データセットのうちの各予測訓練データセットを用いて前記学習関数を訓練して、前記複数の予測モデルのうちの対応する予測モデルを生成することと
を含む、請求項1に記載の
プログラム。
【請求項3】
前記複数の予測モデルを生成することは、
前記第1のモデルのパラメータを変化させるためのランダムベクトルを生成することと、
前記ランダムベクトルに基づいて前記第1のモデルの前記パラメータを変化させて、前記複数の予測モデルを生成することと
を含み、
前記複数の予測モデルのうちの各予測モデルは、前記第1のモデルの前記パラメータの固有の変動に対応する、
請求項1に記載の
プログラム。
【請求項4】
前記複数のサンプル重みを調整することは、
前記現在の訓練データセットの入力に応答した、前記第1のモデルの出力を前記複数の予測モデルのうちの各予測モデルの出力と比較すること
を含み、
前記複数の予測モデルのうちの前記1つまたは複数の予測モデルは、前記第1のモデルに対して最も高い負フリップ率を有する、
請求項1に記載の
プログラム。
【請求項5】
前記複数のサンプル重みを調整することは、前記複数のサンプル重みのうちの各サンプル重みについて、
前記1つまたは複数の予測モデルのうちの、前記現在の訓練データセットにおける対応するサンプルの入力に応答した正しい出力を有する予測モデルの数を決定することと、
前記予測モデルの数に比例して前記サンプル重みを設定することと
をさらに含む、請求項4に記載の
プログラム。
【請求項6】
前記複数のサンプル重みを調整すること、および前記学習関数を再訓練することは、複数の反復にわたって実施され、
各後続の反復において前記複数のサンプル重みを調整することは、前記現在の訓練データセットの入力に応答した、前の反復において再訓練された前記第2のモデルの出力を前記複数の予測モデルのうちの各予測モデルの出力と比較することを含む、
請求項5に記載の
プログラム。
【請求項7】
前記複数のサンプル重みのうちの各サンプル重みは、前方互換性要素と、後方互換性要素とを含む、請求項1に記載の
プログラム。
【請求項8】
前のモデルを前記現在の訓練データセットに適用することと、
前記学習関数の訓練の前に、
前記複数のサンプル重みの前記後方互換性要素が前記現在の訓練データセットの入力に応答した前記前のモデルの出力に基づき、また
前記複数のサンプル重みの前記前方互換性要素が均一になる
ように、前記複数のサンプル重みを初期化することと
をさらに含み、
前記学習関数を訓練することは、前記複数のサンプル重みをさらに用い、
前記複数のサンプル重みを調整することは、前記複数のサンプル重みの前記前方互換性要素を設定することを含む、
請求項7に記載の
プログラム。
【請求項9】
複数のサンプルを含む現在の訓練データセットを用いて学習関数を訓練して、第1のモデルを生成することと、
複数の予測モデルを生成することであって、前記複数の予測モデルの各予測モデルは、前記現在の訓練データセットまたは前記第1のモデルのうちの1つの変動に基づくことと、
前記現在の訓練データセットの入力に応答して、前記複数の予測モデルのうちの1つまたは複数の予測モデルの出力に基づいて複数のサンプル重みを調整することと、
前記現在の訓練データセットおよび前記複数のサンプル重みを用いて前記学習関数を再訓練して、第2のモデルを生成することと
を含む、方法。
【請求項10】
現在の訓練データセットのパラメータを変化させるための摂動ベクトルを生成することと、
前記摂動ベクトルから、前記現在の訓練データセットにおける各サンプルに対応するサンプル重みを含む最も摂動されたサンプル重みセットを検出することと、
前記最も摂動されたサンプル重みセットに基づいて複数のサンプル重みを調整することと、
前記現在の訓練データセットおよび前記複数のサンプル重みを用いて前記学習関数を訓練して、第2のモデルを生成することと
を含む動作をコンピュータに実施させるため
のプログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0003
【補正方法】変更
【補正の内容】
【0003】
本開示の第1の例示的な態様によれば、複数のサンプルを含む現在の訓練データセットを用いて学習関数を訓練して、第1のモデルを生成することと、複数の予測モデルを生成することであって、前記複数の予測モデルの各予測モデルは、前記現在の訓練データセットまたは前記第1のモデルのうちの1つの変動に基づくことと、前記現在の訓練データセットの入力に応答した、前記複数の予測モデルのうちの1つまたは複数の予測モデルの出力に基づいて複数のサンプル重みを調整することと、前記現在の訓練データセットおよび前記複数のサンプル重みを用いて前記学習関数を再訓練して、第2のモデルを生成することとを含む動作をコンピュータに実施させるためのプログラムが提供される。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0005
【補正方法】変更
【補正の内容】
【0005】
本開示の第3の例示的な態様によれば、現在の訓練データセットのパラメータを変化させるための摂動ベクトルを生成することと、前記摂動ベクトルから、前記現在の訓練データセットにおける各サンプルに対応するサンプル重みを含む最も摂動されたサンプル重みセットを検出することと、前記最も摂動されたサンプル重みセットに基づいて複数のサンプル重みを調整することと、前記現在の訓練データセットおよび前記複数のサンプル重みを用いて前記学習関数を訓練して、第2のモデルを生成することとを含む動作をコンピュータに実施させるためのプログラムが提供される。
【国際調査報告】