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

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

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

<>
  • 特許-選好フィードバックによる強化学習 図1
  • 特許-選好フィードバックによる強化学習 図2
  • 特許-選好フィードバックによる強化学習 図3
  • 特許-選好フィードバックによる強化学習 図4
  • 特許-選好フィードバックによる強化学習 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2025-06-16
(45)【発行日】2025-06-24
(54)【発明の名称】選好フィードバックによる強化学習
(51)【国際特許分類】
   G06N 3/092 20230101AFI20250617BHJP
   G06N 3/045 20230101ALI20250617BHJP
【FI】
G06N3/092
G06N3/045
【請求項の数】 20
【外国語出願】
(21)【出願番号】P 2024058938
(22)【出願日】2024-04-01
【審査請求日】2024-04-26
(31)【優先権主張番号】18/441,920
(32)【優先日】2024-02-14
(33)【優先権主張国・地域又は機関】US
【新規性喪失の例外の表示】特許法第30条第2項適用 (1)令和5年12月1日にウェブサイトに公開された論文「Nash Learning from Human Feedback」(掲載アドレス1:https://arxiv.org/abs/2312.00886v1,掲載アドレス2:https://arxiv.org/pdf/2312.00886v1.pdf) (2)令和5年12月5日にウェブサイトに公開された論文「Nash Learning from Human Feedback」(掲載アドレス1:https://arxiv.org/abs/2312.00886v2,掲載アドレス2:https://arxiv.org/pdf/2312.00886v2.pdf) (3)令和5年12月6日にウェブサイトに公開された論文「Nash Learning from Human Feedback」(掲載アドレス1:https://arxiv.org/abs/2312.00886,掲載アドレス2:https://arxiv.org/pdf/2312.00886.pdf)
(73)【特許権者】
【識別番号】517030789
【氏名又は名称】ディープマインド テクノロジーズ リミテッド
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ムハンマド・ゲシュラギ・アザール
(72)【発明者】
【氏名】ジャオハン・グオ
(72)【発明者】
【氏名】ビラル・ピオット
(72)【発明者】
【氏名】マーク・ダニエル・ローランド
(72)【発明者】
【氏名】レミ・ムニョス
【審査官】千葉 久博
(56)【参考文献】
【文献】特開2023-109726(JP,A)
【文献】特表2023-545021(JP,A)
【文献】特表2023-534518(JP,A)
【文献】中国特許出願公開第112766315(CN,A)
【文献】中国特許出願公開第111046394(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/092
G06N 3/045
(57)【特許請求の範囲】
【請求項1】
1つまたは複数のコンピュータによって実行される、ターゲットニューラルネットワークをトレーニングするための方法であって、前記ターゲットニューラルネットワークが、複数のターゲットニューラルネットワークの重みを有し、ネットワーク出力を生成するために前記ターゲットニューラルネットワークの重みに従ってネットワーク入力を処理するように構成され、複数のトレーニングステップの各々において、
1つまたは複数のネットワーク入力を受信するステップと、
前記1つまたは複数のネットワーク入力の各々について、
第1のネットワーク出力を生成するために、前記ターゲットニューラルネットワークを使用して前記ネットワーク入力を処理するステップと、
第2のネットワーク出力を生成するために、前記トレーニングステップのための代替ニューラルネットワークを使用して前記ネットワーク入力を処理するステップと、
前記第1のネットワーク出力が前記第2のネットワーク出力よりも高品質の出力である尤度を示す選好スコアを生成するために、前記第1のネットワーク出力および前記第2のネットワーク出力に選好関数を適用するステップと、
前記選好スコアに従って、対応する前記第2のネットワーク出力よりも前記第1のネットワーク出力を優先するように促す第1の項を含む目的関数を使用して、前記ターゲットニューラルネットワークの重みを更新するステップと
を含む、方法。
【請求項2】
前記複数のトレーニングステップの各々において、および前記1つまたは複数のネットワーク入力の各々について、
前記ネットワーク入力が与えられると、前記ターゲットニューラルネットワークによって前記第1のネットワーク出力に割り当てられる第1の尤度スコアを決定するステップと、
前記ネットワーク入力が与えられると、前記トレーニングステップのための参照ニューラルネットワークによって前記第1のネットワーク出力に割り当てられる第2の尤度スコアを決定するステップと
をさらに含み、
前記目的関数が、対応する第2の尤度スコアから逸脱する第1の尤度スコアを生成するために前記ターゲットニューラルネットワークにペナルティを課す第2の項を含む、
請求項1に記載の方法。
【請求項3】
前記複数のトレーニングステップの各々において、前記トレーニングステップのための前記参照ニューラルネットワークが、前記トレーニングステップのための前記代替ニューラルネットワークである、請求項2に記載の方法。
【請求項4】
前記第1のネットワーク出力が前記第2のネットワーク出力よりも高品質の出力である前記尤度を示す前記選好スコアを生成するために、前記第1のネットワーク出力および前記第2のネットワーク出力に前記選好関数を適用するステップが、
選好ネットワーク出力を生成するために、選好モデルニューラルネットワークを使用して前記第1のネットワーク出力および前記第2のネットワーク出力を処理するステップであって、前記選好モデルニューラルネットワークが、ニューラルネットワーク出力のペアを処理し、前記処理されたペアの一方のメンバーが前記処理されたペアの他方のメンバーよりも高品質の出力である尤度を示す、ニューラルネットワーク出力の処理されたペアごとの対応する選好ネットワーク出力を生成するようにトレーニングされている、ステップと、
前記選好ネットワーク出力に基づいて、前記第1のネットワーク出力が前記第2のネットワーク出力よりも高品質の出力である前記尤度を示す前記選好スコアを生成するステップと
を含む、請求項1に記載の方法。
【請求項5】
前記複数のトレーニングステップの各々において、および前記1つまたは複数のネットワーク入力の各々について、前記ネットワーク入力が与えられると、前記トレーニングステップのための参照ニューラルネットワークによって前記第1のネットワーク出力に割り当てられる前記第2の尤度スコアを決定するステップが、
前記第1のネットワーク出力の前記第1の尤度スコアと、固定参照分布下での前記第1のネットワーク出力の尤度スコアとの幾何学的混合に基づいて、および前記トレーニングステップのための正規化定数に基づいて、前記第1のネットワーク出力に割り当てられる前記第2の尤度スコアを決定するステップ
を含む、請求項2に記載の方法。
【請求項6】
前記複数のトレーニングステップの各々において、
前記トレーニングステップのための前記代替ニューラルネットワークが、前記トレーニングステップのための複数の代替ニューラルネットワークの重みを有するとともに、前記ターゲットニューラルネットワークと同じアーキテクチャを有し、
前記トレーニングステップのための前記代替ニューラルネットワークの重みが、現在および前の前記トレーニングステップにわたる前記ターゲットニューラルネットワークの重みの指数移動平均によって決定される、
請求項1に記載の方法。
【請求項7】
前記目的関数が、各ネットワーク入力ならびに対応する第1および第2のネットワーク出力について、
前記第1のネットワーク出力が前記第2のネットワーク出力よりも高品質の出力である尤度を示す、前記選好関数によって決定される選好スコアと、
前記ターゲットニューラルネットワークによって決定される、前記第1のネットワーク出力の第1の尤度スコアと、
固定参照分布によって決定される、前記第1のネットワーク出力の第2の尤度スコアと
に基づく、請求項1に記載の方法。
【請求項8】
前記選好スコアに従って、対応する第2のネットワーク入力よりも第1のネットワーク入力を優先するように促す第1の項を含む前記目的関数を使用して、現在の前記ターゲットニューラルネットワークの重みを更新するステップが、
前記ターゲットニューラルネットワークの重みに関する前記目的関数の勾配を決定するステップと、
前記目的関数の前記勾配に基づいて前記ターゲットニューラルネットワークの重みを更新するステップと
を含む、請求項1に記載の方法。
【請求項9】
前記現在のターゲットニューラルネットワークの重みに関する前記目的関数の前記勾配を決定するステップが、各ネットワーク入力ならびに対応する第1および第2のネットワーク出力について、
前記現在のターゲットニューラルネットワークの重みに関する、前記ターゲットニューラルネットワークによって決定される、前記第1のネットワーク出力の第1の尤度スコアの勾配と、
前記第1のネットワーク出力が前記第2のネットワーク出力よりも高品質の出力である尤度を示す、前記選好関数によって決定される選好スコアと、
前記ターゲットニューラルネットワークによって決定される、前記第1のネットワーク出力の前記第1の尤度スコアと、
固定参照分布によって決定される、前記第1のネットワーク出力の尤度スコアと
を計算するステップを含む、請求項8に記載の方法。
【請求項10】
前記ターゲットニューラルネットワークが大規模な言語モデルである、請求項1に記載の方法。
【請求項11】
前記選好モデルニューラルネットワークが大規模な言語モデルである、請求項4に記載の方法。
【請求項12】
前記第1のネットワーク出力が、第1のネットワーク出力シーケンスを含み、
前記第2のネットワーク出力が、第2のネットワーク出力シーケンスを含み、
前記第2のネットワーク出力を生成するために前記代替ニューラルネットワークを使用して前記ネットワーク入力を処理するステップが、前記代替ニューラルネットワークを使用して前記第2のネットワーク出力シーケンスを自己回帰的に生成するステップを含む、
請求項2に記載の方法。
【請求項13】
前記複数のトレーニングステップの各々において、および前記1つまたは複数のネットワーク入力の各々について、前記ネットワーク入力が与えられると、前記トレーニングステップのための参照ニューラルネットワークによって前記第1のネットワーク出力に割り当てられる前記第2の尤度スコアを決定するステップが、
前記第1のネットワーク出力シーケンスの各出力要素について、
前記ネットワーク入力が与えられると、前記ターゲットニューラルネットワークを使用して、前記出力要素の第1の尤度スコアを決定するステップと、
前記出力要素の前記第1の尤度スコアと、固定参照分布下での前記出力要素の尤度スコアとの幾何学的混合に基づいて、および前記トレーニングステップのための正規化定数に基づいて、前記出力要素の第2の尤度スコアを決定するステップと、
前記第1のネットワーク出力シーケンス内の前記出力要素の前記第2の尤度スコアに基づいて、前記第1のネットワーク出力に割り当てられる前記第2の尤度スコアを決定するステップと
を含む、請求項12に記載の方法。
【請求項14】
前記選好関数が非推移的選好関係をモデル化することができる、請求項1に記載の方法。
【請求項15】
1つまたは複数のコンピュータと、
前記1つまたは複数のコンピュータに通信可能に結合された1つまたは複数のストレージデバイスとを備え、前記1つまたは複数のストレージデバイスが、前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、ターゲットニューラルネットワークをトレーニングするための動作を実行させる命令を記憶し、前記ターゲットニューラルネットワークが、複数のターゲットニューラルネットワークの重みを有し、ネットワーク出力を生成するために前記ターゲットニューラルネットワークの重みに従ってネットワーク入力を処理するように構成され、前記動作が、複数のトレーニングステップの各々において、
1つまたは複数のネットワーク入力を受信することと、
前記1つまたは複数のネットワーク入力の各々について、
第1のネットワーク出力を生成するために、前記ターゲットニューラルネットワークを使用して前記ネットワーク入力を処理することと、
第2のネットワーク出力を生成するために、前記トレーニングステップのための代替ニューラルネットワークを使用して前記ネットワーク入力を処理することと、
前記第1のネットワーク出力が前記第2のネットワーク出力よりも高品質な出力である尤度を示す選好スコアを生成するために、前記第1のネットワーク出力および前記第2のネットワーク出力に選好関数を適用することと、
前記選好スコアに従って、対応する前記第2のネットワーク出力よりも前記第1のネットワーク出力を優先するように促す第1の項を含む目的関数を使用して、前記ターゲットニューラルネットワークの重みを更新することとを含む、
システム。
【請求項16】
1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、ターゲットニューラルネットワークをトレーニングするための動作を実行させる命令を記憶する1つまたは複数の非一時的コンピュータ記憶媒体であって、前記ターゲットニューラルネットワークが、複数のターゲットニューラルネットワークの重みを有し、ネットワーク出力を生成するために前記ターゲットニューラルネットワークの重みに従ってネットワーク入力を処理するように構成され、前記動作が、複数のトレーニングステップの各々において、
1つまたは複数のネットワーク入力を受信することと、
前記1つまたは複数のネットワーク入力の各々について、
第1のネットワーク出力を生成するために、前記ターゲットニューラルネットワークを使用して前記ネットワーク入力を処理することと、
第2のネットワーク出力を生成するために、前記トレーニングステップのための代替ニューラルネットワークを使用して前記ネットワーク入力を処理することと、
前記第1のネットワーク出力が前記第2のネットワーク出力よりも高品質な出力である尤度を示す選好スコアを生成するために、前記第1のネットワーク出力および前記第2のネットワーク出力に選好関数を適用することと、
前記選好スコアに従って、対応する前記第2のネットワーク出力よりも前記第1のネットワーク出力を優先するように促す第1の項を含む目的関数を使用して、前記ターゲットニューラルネットワークの重みを更新することと
を含む、1つまたは複数の非一時的コンピュータ記憶媒体。
【請求項17】
前記動作が、前記複数のトレーニングステップの各々において、および前記1つまたは複数のネットワーク入力の各々について、
前記ネットワーク入力が与えられると、前記ターゲットニューラルネットワークによって前記第1のネットワーク出力に割り当てられる第1の尤度スコアを決定することと、
前記ネットワーク入力が与えられると、前記トレーニングステップのための参照ニューラルネットワークによって前記第1のネットワーク出力に割り当てられる第2の尤度スコアを決定することをさらに含み、
前記目的関数が、対応する第2の尤度スコアから逸脱する第1の尤度スコアを生成するために前記ターゲットニューラルネットワークにペナルティを課す第2の項を含む、
請求項16に記載の1つまたは複数の非一時的コンピュータ記憶媒体。
【請求項18】
前記第1のネットワーク出力が前記第2のネットワーク出力よりも高品質の出力である前記尤度を示す前記選好スコアを生成するために、前記第1のネットワーク出力および前記第2のネットワーク出力に前記選好関数を適用することが、
選好ネットワーク出力を生成するために、選好モデルニューラルネットワークを使用して前記第1のネットワーク出力および前記第2のネットワーク出力を処理することであって、前記選好モデルニューラルネットワークが、ニューラルネットワーク出力のペアを処理し、前記処理されたペアの一方のメンバーが前記処理されたペアの他方のメンバーよりも高品質の出力である尤度を示す、ニューラルネットワーク出力の処理されたペアごとの対応する選好ネットワーク出力を生成するようにトレーニングされている、処理することと、
前記選好ネットワーク出力に基づいて、前記第1のネットワーク出力が前記第2のネットワーク出力よりも高品質の出力である前記尤度を示す前記選好スコアを生成することと
を含む、請求項16に記載の1つまたは複数の非一時的コンピュータ記憶媒体。
【請求項19】
前記目的関数が、各ネットワーク入力ならびに対応する第1および第2のネットワーク出力について、
前記第1のネットワーク出力が前記第2のネットワーク出力よりも高品質の出力である尤度を示す、前記選好関数によって決定される選好スコアと、
前記ターゲットニューラルネットワークによって決定される、前記第1のネットワーク出力の第1の尤度スコアと、
固定参照分布によって決定される、前記第1のネットワーク出力の第2の尤度スコアと
に基づく、請求項16に記載の1つまたは複数の非一時的コンピュータ記憶媒体。
【請求項20】
前記選好関数が非推移的選好関係をモデル化することができる、請求項16に記載の1つまたは複数の非一時的コンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、機械学習モデルを使用してデータを処理することに関する。
【背景技術】
【0002】
機械学習モデルは、入力を受信し、受信した入力に基づいて出力、たとえば予測される出力を生成する。いくつかの機械学習モデルは、パラメトリックモデルであり、受信した入力およびモデルのパラメータの値に基づいて出力を生成する。
【0003】
一部の機械学習モデルは、受信した入力に対する出力を生成するために、複数のモデル層を使用するディープモデルである。たとえば、ディープニューラルネットワークは、出力層と、各々受信した入力に非線形変換を適用して出力を生成する1つまたは複数の隠れ層とを含むディープ機械学習モデルである。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本明細書では、ネットワーク出力間の品質の尺度を比較する選好関数を使用してニューラルネットワークをトレーニングすることができる、1つまたは複数の場所にある1つまたは複数のコンピュータ上でコンピュータプログラムとして実装されるシステムおよび方法について説明する。
【課題を解決するための手段】
【0005】
第1の態様によれば、1つまたは複数のコンピュータによって実行され、複数のターゲットニューラルネットワークの重みを有し、ネットワーク出力を生成するためにターゲットニューラルネットワークの重みに従ってネットワーク入力を処理するように構成されたターゲットニューラルネットワークをトレーニングするための方法が提供される。複数のトレーニングステップの各々において、この方法は、1つまたは複数のネットワーク入力を受信するステップを含む。ネットワーク入力の各々について、この方法は、第1のネットワーク出力を生成するために、ターゲットニューラルネットワークを使用してネットワーク入力を処理するステップと、第2のネットワーク出力を生成するために、トレーニングステップのための代替ニューラルネットワークを使用してネットワーク入力を処理するステップと、第1のネットワーク出力が第2のネットワーク出力よりも高品質の出力である尤度を示す選好スコアを生成するために、第1のネットワーク出力および第2のネットワーク出力に選好関数を適用するステップとを含む。各トレーニングステップについて、この方法は、選好スコアに従って、対応する第2のネットワーク出力よりも第1のネットワーク出力を優先するように促す第1の項を含む目的関数を使用して、ターゲットニューラルネットワークの重みを更新することを含む。
【0006】
いくつかの実装形態では、方法は、複数のトレーニングステップの各々において、および1つまたは複数のネットワーク入力の各々について、(i)ネットワーク入力が与えられると、ターゲットニューラルネットワークによって第1のネットワーク出力に割り当てられる第1の尤度スコアを決定するステップと、(ii)ネットワーク入力が与えられると、トレーニングステップのための参照ニューラルネットワークによって第1のネットワーク出力に割り当てられる第2の尤度スコアを決定するステップとをさらに含み、目的関数は、対応する第2の尤度スコアから逸脱する第1の尤度スコアを生成するためにターゲットニューラルネットワークにペナルティを課す第2の項を含む。
【0007】
いくつかの実装形態では、複数のトレーニングステップの各々において、トレーニングステップのための参照ニューラルネットワークは、トレーニングステップのための代替ニューラルネットワークである。
【0008】
いくつかの実装形態では、第1のネットワーク出力が第2のネットワーク出力よりも高品質の出力である尤度を示す選好スコアを生成するために、第1のネットワーク出力および第2のネットワーク出力に選好関数を適用するステップは、(i)選好ネットワーク出力を生成するために、選好モデルニューラルネットワークを使用して第1のネットワーク出力および第2のネットワーク出力を処理するステップであって、選好モデルニューラルネットワークは、ニューラルネットワーク出力のペアを処理し、処理されたペアの一方のメンバーが処理されたペアの他方のメンバーよりも高品質の出力である尤度を示す、ニューラルネットワーク出力の処理されたペアごとの対応する選好ネットワーク出力を生成するようにトレーニングされる、ステップと、(ii)選好ネットワーク出力に基づいて、第1のネットワーク出力が第2のネットワーク出力よりも高品質の出力である尤度を示す選好スコアを生成するステップとを含む。
【0009】
いくつかの実装形態では、複数のトレーニングステップの各々において、および1つまたは複数のネットワーク入力の各々について、ネットワーク入力が与えられると、トレーニングステップのための参照ニューラルネットワークによって第1のネットワーク出力に割り当てられる第2の尤度スコアを決定するステップは、第1のネットワーク出力の第1の尤度スコアと、固定参照分布下での第1のネットワーク出力の尤度スコアとの幾何学的混合に基づいて、およびトレーニングステップのための正規化定数に基づいて、第1のネットワーク出力に割り当てられる第2の尤度スコアを決定するステップを含む。
【0010】
いくつかの実装形態では、複数のトレーニングステップの各々において、トレーニングステップのための代替ニューラルネットワークは、トレーニングステップのための複数の代替ニューラルネットワークの重みを有し、ターゲットニューラルネットワークと同じアーキテクチャを有し、トレーニングステップのための代替ニューラルネットワークの重みは、現在および前のトレーニングステップにわたるターゲットニューラルネットワークの重みの指数移動平均によって決定される。
【0011】
いくつかの実装形態では、目的関数は、各ネットワーク入力ならびに対応する第1および第2のネットワーク出力について、第1のネットワーク出力が第2のネットワーク出力よりも高品質の出力である尤度を示す、選好関数によって決定される選好スコアと、ターゲットニューラルネットワークによって決定される、第1のネットワーク出力の第1の尤度スコアと、固定参照分布によって決定される、第1のネットワーク出力の第2の尤度スコアとに基づく。
【0012】
いくつかの実装形態では、選好スコアに従って、対応する第2のネットワーク入力よりも第1のネットワーク入力を優先するように促す第1の項を含む目的関数を使用して、現在のターゲットニューラルネットワークの重みを更新するステップは、ターゲットニューラルネットワークの重みに関する目的関数の勾配を決定するステップと、目的関数の勾配に基づいてターゲットニューラルネットワークの重みを更新するステップとを含む。
【0013】
いくつかの実装形態では、現在のターゲットニューラルネットワークの重みに関する目的関数の勾配を決定するステップは、各ネットワーク入力ならびに対応する第1および第2のネットワーク出力について、現在のターゲットニューラルネットワークの重みに関する、ターゲットニューラルネットワークによって決定される、第1のネットワーク出力の第1の尤度スコアの勾配と、第1のネットワーク出力が第2のネットワーク出力よりも高品質の出力である尤度を示す、選好関数によって決定される選好スコアと、ターゲットニューラルネットワークによって決定される、第1のネットワーク出力の第1の尤度スコアと、固定参照分布によって決定される、第1のネットワーク出力の尤度スコアとを計算するステップを含む。
【0014】
いくつかの実装形態では、ターゲットニューラルネットワークは、大規模な言語モデルである。
【0015】
いくつかの実装形態では、選好ニューラルネットワークは、大規模な言語モデルである。
【0016】
いくつかの実装形態では、第1のネットワーク出力は、第1のネットワーク出力シーケンスであり、第2のネットワーク出力は、第2のネットワーク出力シーケンスであり、第2のネットワーク出力を生成するために代替ニューラルネットワークを使用してネットワーク入力を処理するステップは、代替ニューラルネットワークを使用して第2のネットワーク出力シーケンスを自己回帰的に生成するステップを含む。
【0017】
いくつかの実装形態では、複数のトレーニングステップの各々において、および1つまたは複数のネットワーク入力の各々について、ネットワーク入力が与えられると、トレーニングステップのための参照ニューラルネットワークによって第1のネットワーク出力に割り当てられる第2の尤度スコアを決定するステップは、第1のネットワーク出力シーケンスの各出力要素について、ネットワーク入力が与えられると、ターゲットニューラルネットワークを使用して、出力要素の第1の尤度スコアを決定するステップと、出力要素の第1の尤度スコアと、固定参照分布下での出力要素の尤度スコアとの幾何学的混合に基づいて、およびトレーニングステップのための正規化定数に基づいて、出力要素の第2の尤度スコアを決定するステップと、第1のネットワーク出力シーケンス内の出力要素の第2の尤度スコアに基づいて、第1のネットワーク出力に割り当てられる第2の尤度スコアを決定するステップとを含む。
【0018】
いくつかの実装形態では、選好関数は非推移的選好関係をモデル化することができる。
【0019】
別の態様によれば、1つまたは複数のコンピュータと、1つまたは複数のコンピュータに通信可能に結合された1つまたは複数のストレージデバイスとを備え、1つまたは複数のストレージデバイスが、1つまたは複数のコンピュータによって実行されると、1つまたは複数のコンピュータに、前述の方法の動作を実行させる命令を記憶する、システムが提供される。
【0020】
別の態様によれば、1つまたは複数のコンピュータによって実行されると、1つまたは複数のコンピュータに、前述の方法の動作を実行させる命令を記憶する1つまたは複数の非一時的コンピュータ記憶媒体が提供される。
【0021】
本明細書に記載される主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するように実施することができる。
【0022】
記載されたシステムは、選好スコアを決定するためにネットワーク出力のペアを処理するターゲットニューラルネットワークをトレーニングするために、ペアワイズ選好関数を使用することができる。いくつかの実装形態では、記載されたシステムは、ペアワイズ選好関数をモデル化するために選好モデルをトレーニングすることができる。選好に合わせた個々のネットワーク出力に数値を割り当てるための報酬モデルの当てはめに依存することが多かった、選好に基づいてニューラルネットワークをトレーニングするための従来の方法とは異なり、記載されたシステムは非推移的選好をモデル化することができる。ペアワイズ選好関数を使用することによって、従来の方法よりも正確に推移的選好をモデル化することもできる。したがって、記載されたシステムは、従来の方法よりも幅広い用途(たとえば、人間の選好のモデル化、対戦ゲームの結果予測など)の選好に基づいてニューラルネットワークを正確にトレーニングすることができる。
【0023】
条件付き生成タスクの選好をより正確にモデル化するためにペアワイズ選好関数を使用することによって、記載されたシステムは、従来の方法よりも少ないトレーニング反復で、条件付き生成タスクにおけるパフォーマンスの特定のしきい値(たとえば、選好関数に基づいて決定される)を達成するようにターゲットニューラルネットワークをトレーニングすることができる。したがって、記載されたシステムは、従来の方法よりも効率的に(たとえば、トレーニング時間、計算リソースなどに関して)選好に基づいてニューラルネットワークをトレーニングすることができる。
【0024】
従来の方法は、選好データに基づいて適合された報酬モデルを最適化するようにニューラルネットワークをトレーニングすることが多く、報酬ハッキングの影響を受けやすい可能性があり、報酬ハッキングでは、報酬モデル下で報酬を最大化するネットワーク出力は、より悪い報酬を受けるネットワーク出力よりも優先されない。対照的に、記載されたシステムは、代替ニューラルネットワークのセットに関して選好のナッシュ均衡に近づくように(たとえば、代替ニューラルネットワークのセットによって生成されるネットワーク出力と比較して、少なくとも同じくらい好ましいネットワーク出力を生成するように)、ターゲットニューラルネットワークをトレーニングすることができる。
【0025】
特に、記載されたシステムは、ターゲットニューラルネットワークからの出力と代替ニューラルネットワークの対応する出力とを比較することによって、ターゲットニューラルネットワークをトレーニングすることができる。記載されたシステムは、対応する代替ニューラルネットワーク出力と比較した場合の、ターゲットニューラルネットワーク出力の選好を示す項を含む目的関数を使用することができる。ターゲットニューラルネットワークをトレーニングしながら、記載されたシステムは、ターゲットニューラルネットワークのトレーニングに基づいて、各トレーニングステップにおいて代替ニューラルネットワークを更新することができる。ターゲットニューラルネットワーク出力の選好を、各トレーニングステップで更新された代替ニューラルネットワークからの対応するネットワーク出力と比較することによって、記載されたシステムの目的関数は、ターゲットニューラルネットワークが代替ニューラルネットワークのセットに関する選好のナッシュ均衡に近づくように促すことができる。選好のナッシュ均衡に近づくようにターゲットニューラルネットワークをトレーニングすることによって、記載されたシステムは、従来の方法と比較して、報酬ハッキングの影響を受けにくくなり得る。
【0026】
記載されたシステムはまた、参照ニューラルネットワークに関してターゲットニューラルネットワークのトレーニングを正則化することもできる。特に、記載されたシステムは、ターゲットニューラルネットワークが参照ニューラルネットワークとあまりにも大きく異なることにペナルティを課す項を含む目的関数を使用することができる。たとえば、参照ニューラルネットワークは、既知の安全なまたは望ましい出力を生成することができ、記載されたシステムは、参照ニューラルネットワークのものと同様の出力を生成しながら、選好に基づいてターゲットニューラルネットワークをトレーニングすることができる。
【0027】
したがって、記載されたシステムは、ターゲットニューラルネットワークが優先出力を生成できることを確実にしながら、選好に基づいてニューラルネットワークのより正確で効率的なトレーニングを可能にすることができる。
【0028】
本明細書の主題の1つまたは複数の実施形態の詳細は、添付の図面および以下の説明に記載されている。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0029】
図1】例示的なトレーニングシステムのブロック図である。
図2】例示的なターゲットニューラルネットワークのブロック図である。
図3】ターゲットニューラルネットワークをトレーニングするための例示的なプロセスのフロー図である。
図4】選好モデルニューラルネットワークをトレーニングするための例示的なプロセスのフロー図である。
図5】トレーニングステップのための目的関数を決定するための例示的なプロセスのフロー図である。
【発明を実施するための形態】
【0030】
様々な図面における同様の参照番号および名称は同様の要素を示す。
【0031】
図1は、例示的なトレーニングシステム100を示す。トレーニングシステム100は、以下に記載されるシステム、コンポーネント、および技法が実装される1つまたは複数の場所にある1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されるシステムの一例である。
【0032】
トレーニングシステム100は、条件付き生成タスクを実行するように、トレーニングデータ104のセットを使用してターゲットニューラルネットワーク102をトレーニングすることができる。特に、システム100は、タスクの選好に合わせた条件付き生成タスクを実行するようにターゲットニューラルネットワーク102をトレーニングすることができる。ターゲットニューラルネットワーク102は、たとえば、ターゲットニューラルネットワークの層の重みおよび任意選択でバイアスを含むターゲットニューラルネットワークの重みのセットを有する。ターゲットニューラルネットワーク102は、条件付き生成タスクを実行するようにトレーニングされた(たとえば、事前にトレーニングされた)ニューラルネットワークとすることができ、システム100は、タスクの選好に合わせた条件付き生成タスクを実行するようにターゲットニューラルネットワーク102をさらにトレーニングする(たとえば、微調整する)ことができる。
【0033】
トレーニングシステム100は、一連のトレーニングステップにわたって、ターゲットニューラルネットワーク102をトレーニングするためにターゲットニューラルネットワークの重みを更新することができる重み更新システム106を含む。各トレーニングステップにおいて、トレーニングシステム100は、ネットワーク入力108のセット(たとえば、ミニバッチ)において条件付き生成タスクを実行するようにターゲットニューラルネットワーク102をトレーニングすることができる。
【0034】
ターゲットニューラルネットワーク102は、ネットワーク入力108に基づいて出力サンプルを生成するのに適した任意の生成モデルとすることができる。ターゲットニューラルネットワーク102については、図2を参照しながら以下でより詳細に説明する。
【0035】
条件付き生成タスクは、様々なタスクのいずれでもよい。一例として、ネットワーク入力108は、テキストプロンプトとすることができ、条件付き生成タスクは、テキストプロンプトによって記述されるように出力サンプルを生成することができる。さらなる例として、ターゲットニューラルネットワーク102は、ネットワーク入力108からのテキストプロンプトによって記述されるように、たとえば、サンプル画像、サンプルビデオ、サンプルオーディオなどを出力するように構成することができる。
【0036】
条件付き生成タスクは、ネットワーク入力108によって指定された、たとえば画像、ビデオ、オーディオなどのスタイルに一致させるためのスタイル転送タスクとすることができる。たとえば、ターゲットニューラルネットワーク102は、ネットワーク入力108のスタイルに一致する、たとえば、サンプル画像、サンプルビデオ、サンプルオーディオなどを出力するように構成することができる。
【0037】
条件付き生成タスクは、ターゲットニューラルネットワーク102が、ネットワーク入力108によって指定された、たとえば、ビデオ、オーディオなどのテキストの転写を生成するように構成される、転写タスクとすることができる。
【0038】
条件付き生成タスクは、ターゲットニューラルネットワーク102が、ネットワーク入力108によって指定された、たとえば、テキスト、画像、ビデオ、オーディオなどのテキスト要約を生成するように構成される要約タスクとすることができる。
【0039】
条件付き生成タスクは、自然言語処理(NLP)タスクとすることができ、ターゲットニューラルネットワーク102は、言語処理タスクを実行するように構成された大規模言語モデルとすることができる。たとえば、ターゲットニューラルネットワーク102は、ユーザによって提供されたネットワーク入力108に対するテキスト応答を生成するように構成することができる。別の例として、ターゲットニューラルネットワーク102は、ユーザによって提供されたネットワーク入力108によって指定されたタスクを実行するためのコンピュータプログラム用のコードを(たとえば、Python、Java、C++などのプログラミング言語で)生成するように構成することができる。
【0040】
条件付き生成タスクは、環境と対話するエージェントのアクション選択タスクとすることができる。たとえば、ネットワーク入力108は、たとえば、環境の観察を特徴付ける、エージェントのセンサデータ、環境内の他のエージェントの観察された軌道などとすることができ、ターゲットニューラルネットワーク102は、環境の観察に基づいてエージェントのアクションをサンプリングするように構成することができる。さらなる例として、ネットワーク入力108は、たとえば、自律走行車両について収集されたLIDARデータ、カメラデータなどとすることができ、ターゲットニューラルネットワーク102は、自律走行車両を制御するためのアクションを選択するように構成することができる。別の例として、ネットワーク入力108はゲームの状態を特徴付けることができ、ターゲットニューラルネットワーク102はゲームのプレーヤーのアクションを選択するように構成することができる。
【0041】
トレーニングシステム100は、ペアワイズ選好関数109を使用して、条件付き生成タスクを実行するようにターゲットニューラルネットワーク102をトレーニングする。ペアワイズ選好関数109は、ターゲットニューラルネットワーク102からの所与の出力サンプルと代替ニューラルネットワーク110からの対応する出力サンプルとを比較して、ターゲットニューラルネットワーク102からの出力サンプルが代替ニューラルネットワーク110からの出力サンプルよりも高品質の出力である尤度を示す選好スコア111を生成することができる。
【0042】
代替ニューラルネットワーク110は、条件付き生成タスクの(ターゲットニューラルネットワーク102に対する)代替出力サンプルを提供することができる様々なネットワークのいずれかとすることができる。代替ニューラルネットワーク110の例について、図5を参照して以下に説明する。
【0043】
一例として、選好スコア111は、ターゲットニューラルネットワーク102からの出力サンプル、または代替ニューラルネットワーク110からの対応する出力サンプルのいずれが、グランドトゥルース分布から引き出される可能性がより高いかを示すことができる。
【0044】
別の例として、選好スコア111は、条件付き生成タスクについて、ターゲットニューラルネットワーク102からの出力サンプル、または代替ニューラルネットワーク110からの対応する出力サンプルのいずれが、たとえば、より少ない歪み、知覚歪みなどを有する可能性がより高いかを示すことができる。
【0045】
別の例として、選好スコア111は、ターゲットニューラルネットワーク102からの出力サンプル、または代替ニューラルネットワーク110からの対応する出力サンプルのいずれが、条件付き生成タスクについてのより大きい報酬を受け取る可能性がより高いかを示すことができる。
【0046】
さらに別の例として、選好スコア111は、ターゲットニューラルネットワーク102からの出力サンプルと代替ニューラルネットワーク110からの対応する出力サンプルとの間の人間の選好を定量化することができる。
【0047】
特に、選好関数109は、ネットワーク出力間の非推移的選好をモデル化することができる。すなわち、ネットワーク出力A、B、Cについて、選好関数が、AがBよりも好ましい(すなわち、高品質の出力である可能性がより高い)と決定し、BがCよりも好ましいと決定したとき、選好関数109は、CがAよりも好ましいと決定することができる。上記の例では、推移的選好のモデル化に限定されたモデルでは、必然的に、AがCよりも好ましいと決定される。非推移的選好は、様々な用途(たとえば、人間の選好のモデル化、対戦ゲームにおけるプレーヤーのパフォーマンス予測など)に見られる。したがって、選好関数109は、推移的選好のモデル化に限定されたモデルと比較して、より幅広い用途の選好を正確にモデル化することができる。
【0048】
各トレーニングステップにおいて、システム100は、ペアワイズ選好関数109を使用して、ターゲットニューラルネットワーク102からの出力サンプルを含むターゲットネットワーク出力112と、代替ニューラルネットワーク110からの出力サンプルを含む対応する代替ネットワーク出力114とを比較して、トレーニングステップのための選好スコア111を生成する。選好スコア111に基づいて、重み更新システム106はターゲットニューラルネットワーク102の重みの更新116および代替ニューラルネットワーク110の更新118を生成する。重み更新システム106は、条件付き生成タスクを実行するようにターゲットニューラルネットワーク102をトレーニングするように、重み更新116および118を生成することができる。ターゲットニューラルネットワーク102をトレーニングするプロセスについては、図3を参照しながら以下でより詳細に説明する。
【0049】
図2は、例示的なターゲットニューラルネットワーク102を示す。
【0050】
ターゲットニューラルネットワーク102は、条件付き生成タスクを実行するために、ネットワーク入力108を処理し、出力サンプル204を生成することができる生成モデル202を含む。
【0051】
生成モデル202は、条件付き生成タスクを実行するために、ネットワーク入力108を処理し、出力サンプル204を生成するための任意の適切なアーキテクチャを有することができる。一例として、生成モデル202は、ネットワーク入力108に基づいて出力サンプル204としてシーケンスを自己回帰的に生成することができる自己回帰生成モデル(たとえば、トランスフォーマ、リカレントニューラルネットワークなど)とすることができる。生成モデルは、たとえば、テキストデータのトークン化された表現を自己回帰的に生成できる大規模言語モデル(LLM)、画像またはビデオデータのトークン化された表現を自己回帰的に生成できる視覚言語モデル(VLM)、テキストデータのトークン化された表現を自己回帰的に生成できるオーディオ言語モデルなどとすることができる。
【0052】
別の例として、生成モデル202は、一連の反復にわたってネットワーク入力108に基づいてノイズ分布(たとえば、ガウス分布)からサンプルを繰り返し変換することによって出力サンプル204を生成することができる拡散モデル(たとえば、ノイズ除去拡散モデル、スコアベース拡散モデル、潜在拡散モデルなど)とすることができる。たとえば、生成モデル202は、任意の適切なアーキテクチャ(たとえば、畳み込みニューラルネットワーク、リカレントニューラルネットワークなど)を有するノイズ除去ニューラルネットワークを使用して、ノイズ分布からサンプルを変換する拡散モデルとすることができる。
【0053】
別の例として、生成モデル202は、ノイズ分布(たとえば、ガウス分布)からサンプルを変換することによって出力サンプル204を生成することができるニューラルネットワークとすることができる。生成モデル202は、たとえば、生成敵対的ネットワークの生成器ネットワーク、変分オートエンコーダのデコーダ、正規化フローなどとすることができる。
【0054】
生成モデル202は、対応するネットワーク入力108が与えられた場合の出力サンプル204のそれぞれの条件付き確率または尤度を定義するネットワーク出力208を生成することができる。たとえば、ネットワーク出力208は、対応するネットワーク入力が与えられた場合の出力サンプル204の各々に対する値のセットについての条件付き確率を含むことができる。別の例として、ネットワーク出力208は、対応するネットワーク入力108が与えられた場合の出力サンプル204の各々についての条件付き分布に関する統計的特性(たとえば、平均、分散など)を決定することができる。別の例として、生成モデル202は、複数の処理層および複数の層活性化関数を含むことができ、ネットワーク出力208は、生成モデル202が対応するネットワーク入力108を処理したことから生じる処理層および層活性化関数からの出力値を含むことができる。
【0055】
ターゲットニューラルネットワーク102は、サンプル尤度システム206を含むことができる。サンプル尤度システム206は、条件付き分布208を指定するデータを処理して、対応するネットワーク入力108が与えられた場合の条件付き分布208下での出力サンプル204の各々の尤度を指定する尤度スコア210を生成することができる。
【0056】
尤度スコア210は、対応するネットワーク入力108が与えられた場合の出力サンプル204の尤度の条件付き確率を示す様々な数値のいずれかとすることができる。たとえば、尤度スコア210は、対応するネットワーク入力108が与えられた場合の出力サンプル204の条件付き確率または尤度とすることができる。別の例として、尤度スコア210は、ネットワーク入力108が与えられた場合の出力サンプル204の条件付き確率または尤度(たとえば、対数確率、対数尤度、負の対数尤度、非正規値など)の変換とすることができる。別の例として、サンプル尤度システム206は、対応するネットワーク入力108が与えられると、出力サンプル204の条件付き分布を近似する補助分布を決定することができ、尤度スコア210は、補助分布下での出力サンプル204の確率または尤度とすることができる。
【0057】
サンプル尤度システム206は、様々な方法のいずれかによって、ネットワーク出力208に基づいて尤度スコア210を決定することができる。たとえば、ネットワーク出力208は、出力サンプル204の条件付き確率のセットを含むことができ、サンプル尤度システムは、出力サンプル204の条件付き確率を尤度スコア210として返すことができる。別の例として、ネットワーク出力208は、出力サンプル204の条件付き分布を指定するデータを含むことができ、サンプル尤度システム206は、指定された条件付き分布下での出力サンプル204の尤度を尤度スコア210として返すことができる。別の例として、ネットワーク出力208は、出力サンプル204の条件付き分布を指定するデータを含むことができ、サンプル尤度システム206は、指定された条件付き分布下での出力サンプル204の近似尤度を決定し、尤度スコア210として返すことができる。特定の例として、ネットワーク出力208は、生成モデル202からのレイヤ出力を指定するデータを含むことができ、サンプル尤度システムは、尤度スコア210として返すための近似尤度を(たとえば、重要度重みを使用して、条件付き分布の近似を決定することによって)決定することができる。別の特定の例として、サンプル尤度システム206は、ネットワーク入力108が与えられると、出力サンプル204の条件付き分布を近似するようにトレーニングされたニューラルネットワークを含むことができ、尤度スコア210として返すための出力サンプル204の近似尤度を決定するようにネットワーク入力108を処理することができる。
【0058】
図3は、条件付き生成タスクを実行するためにターゲットニューラルネットワークをトレーニングするための例示的なプロセスのフロー図である。便宜上、プロセス300は、1つまたは複数の場所に位置する1つまたは複数のコンピュータのシステムによって実行されるものとして説明する。たとえば、本明細書に従って適切にプログラムされた図1のトレーニングシステム100などのトレーニングシステムは、プロセス300を実行することができる。
【0059】
トレーニングシステムは、複数のトレーニングステップにわたってターゲットニューラルネットワークをトレーニングすることができる。
【0060】
各トレーニングステップにおいて、トレーニングシステムは、トレーニングステップのための1つまたは複数のネットワーク入力のセットを受信することができる(ステップ302)。たとえば、システムは、トレーニングデータのセットからネットワーク入力のミニバッチを受信することができる。
【0061】
システムは、ターゲットニューラルネットワークを使用してトレーニングステップのためのネットワーク入力を処理して、対応するネットワーク出力を生成することができる(ステップ304)。特に、ターゲットニューラルネットワークは、ネットワーク入力の各々を処理して、条件付き生成タスクを実行するための対応する出力サンプルを生成することができる。
【0062】
システムは、トレーニングステップのための代替ニューラルネットワークを使用してトレーニングステップのためのネットワーク入力を処理して、対応するネットワーク出力を生成することができる(ステップ306)。特に、代替ニューラルネットワークは、ネットワーク入力の各々を処理して、条件付き生成タスクを実行するための対応する出力サンプルを生成することができる。
【0063】
ネットワーク入力の各々について、システムは、ターゲットニューラルネットワークおよび代替ニューラルネットワークからの対応するネットワーク出力に選好関数を適用して、ネットワーク出力を比較する選好スコアを決定することができる(ステップ308)。ターゲットニューラルネットワークおよび代替ニューラルネットワークからのネットワーク出力の各ペアについて、選好スコアは、ターゲットニューラルネットワークからのネットワーク出力が代替ニューラルネットワークからのネットワーク出力よりも高品質の出力である尤度を示す。
【0064】
いくつかの実装形態では、選好関数は、選好モデルニューラルネットワークである。選好モデルニューラルネットワークは、ニューラルネットワーク出力のペアを処理し、処理されたペアの一方のメンバーが処理されたペアの他方のメンバーよりも高品質の出力である尤度を示す、ニューラルネットワーク出力の処理されたペアごとの対応する選好ネットワーク出力を生成するようにトレーニングすることができる。選好モデルニューラルネットワークをトレーニングするための例示的なプロセスについては、図4を参照しながら以下でより詳細に説明する。
【0065】
システムは、トレーニングステップが完了したかどうかを決定することができる(ステップ310)。たとえば、システムは、ネットワーク入力のセット内のすべてのネットワーク入力を処理したときに、トレーニングステップが完了したと決定することができる。トレーニングステップが完了していない場合、システムはトレーニングステップのための次のネットワーク入力を処理することができる。
【0066】
トレーニングステップが完了すると、システムは、トレーニングステップのために決定された選好スコアに基づいて、ターゲットニューラルネットワークの重みを更新することができる(ステップ312)。特に、システムは、選好スコアに従って、代替ニューラルネットワークからの対応するネットワーク出力よりもターゲットニューラルネットワークからのネットワーク出力を優先するように促す項を含むトレーニングステップのための目的関数を使用して、ターゲットニューラルネットワークの重みを更新することができる。トレーニングステップのための例示的な目的関数については、図5を参照しながら以下でより詳細に説明する。
【0067】
図4は、選好モデルニューラルネットワークをトレーニングするための例示的なプロセスのフロー図である。便宜上、プロセス400は、1つまたは複数の場所に位置する1つまたは複数のコンピュータのシステムによって実行されるものとして説明する。たとえば、本明細書に従って適切にプログラムされた図1のトレーニングシステム100などのトレーニングシステムは、プロセス400を実行することができる。
【0068】
システムは、トレーニングデータのセットを受信する(ステップ402)。トレーニングデータは、条件付き生成タスクを実行するためにターゲットニューラルネットワークをトレーニングするための例示的なネットワーク入力を含む。トレーニングデータは、ネットワーク出力の選好関数を指定するデータを含むことができる。たとえば、トレーニングデータは、例示的なネットワーク入力ごとに、例示的なネットワーク出力のペア、およびそのペアの一方のネットワーク出力が他方のネットワーク出力よりも高品質であるという対応する指示を含むことができる。特定の例として、トレーニングデータは、例示的なネットワーク出力のペアごとに、ペアのネットワーク出力がペアの他方の出力よりも高品質であるターゲット尤度を含むことができる。別の特定の例として、トレーニングデータは、例示的なネットワーク出力のペアごとに、そのペアのうちのどのネットワーク出力がより高品質の出力であるかのターゲット分類を含むことができる。
【0069】
システムは、トレーニングデータによって指定された選好関数をモデル化するために、選好モデルニューラルネットワークをトレーニングする(ステップ404)。上述したように、システムは、ニューラルネットワーク出力のペアを処理し、処理されたペアの一方のメンバーが処理されたペアの他方のメンバーよりも高品質の出力である尤度を示す、ニューラルネットワーク出力の処理されたペアごとの対応する選好ネットワーク出力を生成するように選好モデルニューラルネットワークをトレーニングすることができる。一例として、システムは、選好ネットワーク出力と対応するターゲット尤度との間の回帰損失関数(たとえば、L2損失)を最適化することによって、トレーニングデータセットからターゲット尤度を複製するように選好モデルニューラルネットワークをトレーニングすることができる。別の例として、システムは、選好ネットワーク出力と対応するターゲット分類との間の分類損失関数(たとえば、クロスエントロピー損失)を最適化することによって、ネットワーク出力のペアについてターゲット分類を複製するように選好モデルニューラルネットワークをトレーニングすることができる。
【0070】
選好モデルニューラルネットワークは、ネットワーク出力のペアを処理するのに適した様々なネットワークアーキテクチャのいずれかを有することができる。たとえば、ネットワーク出力が画像である場合、選好モデルニューラルネットワークは、画像データの処理に適したニューラルネットワーク(たとえば、畳み込みニューラルネットワーク、視覚変換器など)を含むことができる。他の例として、ネットワーク出力が値のシーケンス(たとえば、時系列データ、テキストシーケンス、ビデオシーケンス、オーディオシーケンスなど)である場合、選好モデルニューラルネットワークは、シーケンスの処理に適したニューラルネットワーク(たとえば、リカレントニューラルネットワーク、トランスフォーマネットワークなど)を含むことができる。特定の例として、選好モデルニューラルネットワークは、大規模な言語モデルとすることができる。
【0071】
システムは、ネットワーク出力の様々な選好関数のいずれかをモデル化するように選好モデルニューラルネットワークをトレーニングすることができる。たとえば、ネットワーク出力の各ペアについて、選好関数は、何らかの品質尺度によって決定されるように、ペアの一方のネットワーク出力が他方のネットワーク出力よりも高品質である尤度を示すことができる。さらなる例として、選好関数は、ペアの一方の出力がより低い、たとえば歪み、知覚歪みなどを有する尤度を示すことができる。別のさらなる例として、ネットワーク出力が環境と対話するエージェントのアクションであるとき、選好関数は、ペアの一方の出力がより大きい報酬を受け取る尤度を示すことができる。
【0072】
選好関数は、人間または人間のグループの選好を表すことができる。たとえば、選好関数は、ネットワーク出力の各ペアについて、ネットワーク出力の一方についての人間の選好を、そのペアのより高品質の出力として示すことができる。別の例として、選好関数は、ネットワーク出力の一方がペアのより高品質の出力である可能性がより高いという人間の信念または確信を示すことができる。
【0073】
特に、選好関数は、非推移的選好関数とすることができる。たとえば、y1、y2、およびy3がネットワーク出力である場合、選好関数は、人間がy2よりもy1を好み、y3よりもy2を好むが、y1よりもy3を好むことも示すことができる。別の例として、ネットワーク出力が、環境内で対話するエージェントによって実行されるアクションを表す場合、選好関数は、競合するエージェントによって実行されたときの出力アクションの成功の非推移的尤度を示すことができる。
【0074】
上述したように、システムは次いで、トレーニングデータセットおよびトレーニングされた選好モデルニューラルネットワークを使用して、条件付き生成タスクを実行するためにターゲットニューラルネットワークをトレーニングすることができる(ステップ406)。
【0075】
図5は、条件付き生成タスクを実行するためにターゲットニューラルネットワークをトレーニングするための目的関数を決定する例示的なプロセスのフロー図である。便宜上、プロセス500は、1つまたは複数の場所に位置する1つまたは複数のコンピュータのシステムによって実行されるものとして説明する。たとえば、本明細書に従って適切にプログラムされた図1のトレーニングシステム100などのトレーニングシステムは、プロセス500を実行することができる。
【0076】
上述のように、システムは、一連のトレーニングステップにわたってターゲットニューラルネットワークをトレーニングする。各トレーニングステップにおいて、システムは、ネットワーク入力のセットを受信する。
【0077】
システムは、ターゲットニューラルネットワークからのネットワーク出力のセット、およびトレーニングステップのための代替ニューラルネットワークからの対応するネットワーク出力のセットを生成するようにネットワーク入力のセットを処理する(ステップ502)。
【0078】
各タイムステップの代替ニューラルネットワークは、ターゲットニューラルネットワークに基づいて決定することができる。上述したように、代替ニューラルネットワークは、条件付き生成タスクの(ターゲットニューラルネットワークに対する)代替出力サンプルを提供することができる様々なネットワークのいずれかとすることができる。
【0079】
たとえば、代替ニューラルネットワークは、ターゲットニューラルネットワークと比較して異なるネットワークアーキテクチャで条件付き生成タスクを実行するようにトレーニングされたネットワークであり得る。別の例として、代替ニューラルネットワークは、ターゲットニューラルネットワークと同じネットワークアーキテクチャを有することができる。さらなる例として、代替ニューラルネットワークは、たとえば、ネットワークサイズ、ネットワーク深度、入力数、学習速度など、異なるハイパーパラメータ(たとえば、異なるハイパーパラメータでトレーニングされた、異なるハイパーパラメータを使用して推論を実行したなど)を有するターゲットニューラルネットワークと同じアーキテクチャを有することができる。さらなる例として、代替ニューラルネットワークは、異なるネットワークの重みを有するターゲットニューラルネットワークの再パラメータ化とすることができ、または代替ニューラルネットワークのための特定のトレーニングデータのセットにおいて微調整されたターゲットニューラルネットワークのコピーとすることもできる。さらなる例として、代替ニューラルネットワークは、ターゲットニューラルネットワークと比較して変更されたネットワーク入力を処理することができる(たとえば、ターゲットニューラルネットワークとは異なるスタイルで出力を生成することを指定する変更されたニューラルネットワーク入力に基づいて、ネットワーク出力を条件付きで生成することによって、ターゲットニューラルネットワークと比較して変更された入力プロンプトを処理することによって、など)。
【0080】
特に、代替ニューラルネットワークは、ターゲットニューラルネットワークと同じネットワークアーキテクチャを有することができ、現在および前のトレーニングステップにおけるターゲットニューラルネットワークの重みに基づいて決定された代替ニューラルネットワークの重みを有することができる。一例として、代替ニューラルネットワークの重みは、前のタイムステップからのターゲットニューラルネットワークの重みとすることができる(たとえば、T番目のトレーニングステップにおける代替ニューラルネットワークの重み、
【0081】
【数1】
【0082】
はθT-Kとなり得、T-K番目のタイムステップにおけるターゲットニューラルネットワークの重みである)。
【0083】
別の例として、代替ニューラルネットワークの重みは、現在および前のトレーニングステップにおけるターゲットニューラルネットワークの重みの移動平均によって決定することができる。すなわち、代替ニューラルネットワークは、条件付き分布
【0084】
【数2】
【0085】
をモデル化することができ、T番目のトレーニングステップにおける代替ニューラルネットワークの重み
【0086】
【数3】
【0087】
は、移動平均によって決定される。
【0088】
【数4】
【0089】
K>0はウィンドウ長であり、θiはi番目のトレーニングステップにおけるターゲットニューラルネットワークの重みである。
【0090】
別の例として、代替ニューラルネットワークの重みは、現在および前のトレーニングステップにおけるターゲットニューラルネットワークの重みの指数移動平均によって決定することができる。すなわち、代替ニューラルネットワークは、条件付き分布
【0091】
【数5】
【0092】
をモデル化することができ、T番目のトレーニングステップにおける代替ニューラルネットワークの重み
【0093】
【数6】
【0094】
は、指数移動平均によって決定される。
【0095】
【数7】
【0096】
α∈[0,1]は重み付けパラメータであり、θiは、i番目のトレーニングステップにおけるターゲットニューラルネットワークの重みである。
【0097】
システムは、ペアの選好スコアを決定するために、ペアワイズ選好関数を使用して、ターゲットニューラルネットワークからの各ネットワーク出力、およびタイムステップでの代替ニューラルネットワークからの対応するネットワーク出力を処理する(ステップ504)。
【0098】
いくつかの実装形態では、システムは、ターゲットニューラルネットワークに従って、各ネットワーク出力の尤度スコアを決定することができる(ステップ506)。ターゲットニューラルネットワークによる特定のネットワーク出力に対する尤度スコアは、特定のネットワーク出力に対応するネットワーク入力が与えられた場合、ターゲットニューラルネットワークによってモデル化された条件付き分布下でのネットワーク出力の尤度を示す。たとえば、ターゲットニューラルネットワークが、条件付き分布pθを使用して、ネットワーク入力xに基づいてネットワーク出力yをサンプリングする場合、θはターゲットニューラルネットワークの重みであり(たとえば、y~pθ(・|x))、ターゲットニューラルネットワークに従ったyの尤度スコアは以下の通りであり得る。
pθ(y|x)
【0099】
いくつかの実装形態では、ネットワーク出力は出力シーケンスであり得る。たとえば、特定のネットワーク出力、yは、N個の要素のシーケンスy=(y1,…,yN)であってもよい。ターゲットニューラルネットワークは出力シーケンスを自己回帰的に生成することができ、出力y=(y1,…,yN)についてのターゲットニューラルネットワークによる尤度スコアは以下の通りであり得る。
【0100】
【数8】
【0101】
式中、pθ(yi|x,yj<i)は、ネットワーク入力x、および出力シーケンスの先行要素yj<iを与えられた場合のターゲットニューラルネットワークによる、i番目の要素yiの尤度スコアである。
【0102】
いくつかの実装形態では、システムは、トレーニングステップのための参照ニューラルネットワークに従って、各ネットワーク出力の尤度スコアを決定することができる(ステップ508)。参照ニューラルネットワークは、ネットワーク入力を条件としてネットワーク出力をサンプリングするのに適した任意の生成モデルであり得る。
【0103】
たとえば、参照ニューラルネットワークは、ターゲットニューラルネットワークと比較して異なるネットワークアーキテクチャで条件付き生成タスクを実行するようにトレーニングされたネットワークであり得る。別の例として、参照ニューラルネットワークは、ターゲットニューラルネットワークと同じネットワークアーキテクチャを有することができる。さらなる例として、参照ニューラルネットワークは、たとえば、ネットワークサイズ、ネットワーク深度、入力数、学習速度など、異なるハイパーパラメータ(たとえば、異なるハイパーパラメータでトレーニングされた、異なるハイパーパラメータを使用して推論を実行したなど)を使用して、ターゲットニューラルネットワークと同じアーキテクチャを有することができる。さらなる例として、参照ニューラルネットワークは、異なるネットワークの重みを有するターゲットニューラルネットワークの再パラメータ化とすることができ、または参照ニューラルネットワークのための特定のトレーニングデータのセットにおいて微調整されたターゲットニューラルネットワークのコピーとすることもできる。さらなる例として、参照ニューラルネットワークは、ターゲットニューラルネットワークと比較して変更されたネットワーク入力を処理することができる(たとえば、ターゲットニューラルネットワークとは異なるスタイルで出力を生成することを指定する変更されたニューラルネットワーク入力に基づいて、ネットワーク出力を条件付きで生成することによって、ターゲットニューラルネットワークと比較して変更された入力プロンプトを処理することによって、など)。
【0104】
タイムステップの参照ニューラルネットワークによる特定のネットワーク出力に対する尤度スコアは、特定のネットワーク出力に対応するネットワーク入力が与えられた場合、参照ニューラルネットワークによってモデル化された条件付き分布下でのネットワーク出力の尤度を示す。たとえば、qが参照ニューラルネットワークによってモデル化された条件付き分布を示す場合、参照ニューラルネットワークに従ってネットワーク入力xが与えられた場合のネットワーク出力yの尤度スコアは以下の通りであり得る。
q(y|x)
【0105】
各タイムステップの参照ニューラルネットワークは、ターゲットニューラルネットワークに基づいて決定することができる。特に、参照ニューラルネットワークは、ターゲットニューラルネットワークと同じネットワークアーキテクチャを有することができ、現在および前のトレーニングステップにおけるターゲットニューラルネットワークの重みに基づいて決定された代替ニューラルネットワークの重みを有することができる。一例として、参照ニューラルネットワークの重みは、前のタイムステップからのターゲットニューラルネットワークの重みとすることができる(たとえば、T番目のトレーニングステップにおける参照ニューラルネットワークの重み、
【0106】
【数9】
【0107】
はθT-Kとなり得、T-K番目のタイムステップにおけるターゲットニューラルネットワークの重みである)。
【0108】
別の例として、参照ニューラルネットワークの重みは、現在および前のトレーニングステップにおけるターゲットニューラルネットワークの重みの移動平均によって決定することができる。すなわち、参照ニューラルネットワークは、条件付き分布
【0109】
【数10】
【0110】
をモデル化することができ、T番目のトレーニングステップにおける参照ニューラルネットワークの重み
【0111】
【数11】
【0112】
は、移動平均によって決定される。
【0113】
【数12】
【0114】
K>0はウィンドウ長であり、θiはi番目のトレーニングステップにおけるターゲットニューラルネットワークの重みである。
【0115】
別の例として、参照ニューラルネットワークの重みは、現在および前のトレーニングステップにおけるターゲットニューラルネットワークの重みの指数移動平均によって決定することができる。すなわち、参照ニューラルネットワークは、条件付き分布
【0116】
【数13】
【0117】
をモデル化することができ、T番目のトレーニングステップにおける参照ニューラルネットワークの重み
【0118】
【数14】
【0119】
は、指数移動平均によって決定される。
【0120】
【数15】
【0121】
α∈[0,1]は重み付けパラメータであり、θiは、i番目のトレーニングステップにおけるターゲットニューラルネットワークの重みである。
【0122】
参照ニューラルネットワークは、固定参照分布μ(y|x)によって決定される分布をモデル化することができる。参照ニューラルネットワークが固定参照分布μ(y|x)によって決定されるとき、システムは参照ニューラルネットワークを使用してターゲットニューラルネットワークのトレーニングを正則化することができる。たとえば、固定参照分布は、安全または望ましいネットワーク出力を生成することが検証された、以前にトレーニングされたニューラルネットワークとすることができる。
【0123】
参照ニューラルネットワークは、ターゲットニューラルネットワークと固定参照分布μ(y|x)の混合に基づく分布をモデル化することができる。
【0124】
一例として、参照ニューラルネットワークは、ターゲットニューラルネットワークと固定参照分布μ(y|x)との間の加法混合として決定することができる。たとえば、重み付けパラメータA∈[0,1]を使用して、参照ニューラルネットワークは以下のように決定される。
q(y|x)=Apθ(y|x)+(1-A)μ(y|x)
【0125】
別の例として、参照ニューラルネットワークは、ターゲットニューラルネットワークと固定参照分布μ(y|x)との間の幾何学的混合として決定することができる。たとえば、重み付けパラメータβ∈[0,1]を使用して、参照ニューラルネットワークは以下のように決定することができる。
【0126】
【数16】
【0127】
式中、c(x)は、ネットワーク入力xに基づく正規化定数である。特に、c(x)は、以下のように定義することができる。
【0128】
【数17】
【0129】
ネットワーク出力が出力シーケンスであるとき、参照ニューラルネットワークは出力シーケンスを自己回帰的に処理することができ、出力y=(y1,…,yN)についての参照ニューラルネットワークによる尤度スコアは以下の通りであり得る。
【0130】
【数18】
【0131】
式中、q(yi|x,yj<i)は、ネットワーク入力xおよび出力シーケンスの先行要素yj<iが与えられた場合の参照ニューラルネットワークによるi番目の要素yiの尤度スコアである。
【0132】
たとえば、重み付けパラメータβ∈[0,1]を使用して、参照ニューラルネットワークが、ターゲットニューラルネットワークと固定参照分布μ(x|y)との間の幾何分布であるとき、参照ニューラルネットワークによるi番目の要素yiの尤度スコアを以下のように決定することができる。
【0133】
【数19】
【0134】
式中、c(x,yj<i)は、ネットワーク入力x、および先行要素yj<iに基づく正規化定数である。特に、c(x)は、以下のように定義することができる。
【0135】
【数20】
【0136】
いくつかの実装形態では、参照ニューラルネットワークは、代替ニューラルネットワークである。
【0137】
次いで、システムは、条件付きサンプリングタスクを実行するために、目的関数を使用してターゲットニューラルネットワークを更新する(ステップ510)。
【0138】
目的関数は、選好スコアに従って、代替ニューラルネットワークからの対応するネットワーク出力よりもターゲットニューラルネットワークからのネットワーク出力を優先するように促す第1の項を含む。
【0139】
いくつかの実装形態では、目的関数は、参照ニューラルネットワークによる対応する尤度スコアから逸脱する、ターゲットニューラルネットワークによる尤度スコアを有するネットワーク出力を生成するために、ターゲットニューラルネットワークにペナルティを課す第2の項を含むことができる。
【0140】
たとえば、重み付けパラメータη∈[0,1]を使用すると、目的関数は以下の通りであり得る。
【0141】
【数21】
【0142】
式中、xはネットワーク入力、pθはターゲットニューラルネットワークによってモデル化された条件付き分布、p'は代替ニューラルネットワークによってモデル化された条件付き分布、qは参照ニューラルネットワークによってモデル化された条件付き分布、
【0143】
【数22】
【0144】
は代替ネットワーク出力y'に対するターゲットネットワーク出力yについて決定された選好スコア、KLはカルバックライブラー情報量である。
【0145】
システムは、各ネットワーク入力xの損失項の総和として目的関数を決定することができる。一例として、システムは、以下のように、ネットワーク入力xが与えられた場合のターゲットニューラルネットワーク出力y、および代替ニューラルネットワーク出力y'の損失項を決定することができる。
【0146】
【数23】
【0147】
損失項
【0148】
【数24】
【0149】
は、ターゲットニューラルネットワークが、代替ニューラルネットワークによって生成される出力よりも優先される出力を生成するように促す。損失項
【0150】
【数25】
【0151】
は、参照ニューラルネットワークによる対応する尤度スコアから逸脱する、ターゲットニューラルネットワークによる尤度スコアを有するネットワーク出力を生成するために、ターゲットニューラルネットワークにペナルティを課す。
【0152】
いくつかの実装形態では、システムは、ターゲットニューラルネットワークの重みθに関する目的関数の勾配を計算することによって、ターゲットニューラルネットワークを更新することができる。たとえば、システムは、目的関数の勾配を、各ネットワーク入力の損失項の勾配の和として、以下のように決定することができる。
【0153】
【数26】
【0154】
特定の例として、選好スコア
【0155】
【数27】
【0156】
が、yがy'よりも高品質の出力である尤度を示す0と1の間の値であり、参照ニューラルネットワークが、重み付けパラメータβを有するターゲットニューラルネットワークと固定参照分布μ(y|x)との間の幾何学的混合であるとき、システムは、各ネットワーク入力の損失項の勾配を以下のように決定することができる。
【0157】
【数28】
【0158】
システムは、代替および参照ニューラルネットワークの重みを更新することができる(ステップ512)。システムは、様々な基準のいずれかに基づいて、代替および参照ニューラルネットワークの重みを更新するかどうかを決定することができる。たとえば、システムは、トレーニングステップごとに、代替および参照のニューラルネットワークの重みを更新することができる。
【0159】
特に、システムは、トレーニングステップのための更新されたターゲットニューラルネットワークの重みを使用して、代替および参照ニューラルネットワークの重みを更新することができる。たとえば、代替ニューラルネットワークが複数のタイムステップにわたるターゲットニューラルネットワークの重みの平均に基づいて決定される場合、システムは、更新されたターゲットニューラルネットワークの重みを含むように代替ニューラルネットワークの重みを更新することができる。別の例として、参照ニューラルネットワークが複数のタイムステップにわたるターゲットニューラルネットワークの重みの平均に基づいて決定される場合、システムは、更新されたターゲットニューラルネットワークの重みを含むように参照ニューラルネットワークの重みを更新することができる。別の例として、参照ニューラルネットワークが、ターゲットニューラルネットワークと固定参照分布との間の混合分布に基づいて決定される場合、システムは、更新されたターゲットニューラルネットワークを含むように参照ニューラルネットワークの混合分布を更新することができる。
【0160】
本明細書は、システムおよびコンピュータプログラムコンポーネントに関して「構成される」という用語を使用する。1つまたは複数のコンピュータのシステムが特定の動作またはアクションを実行するように構成されるとは、システムがコンピュータに、動作中、システムに動作またはアクションを実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをインストールしていることを意味する。1つまたは複数のコンピュータプログラムが特定の動作またはアクションを実行するように構成されるとは、1つまたは複数のプログラムが、データ処理装置によって実行されると、装置に動作またはアクションを実行させる命令を含むことを意味する。
【0161】
本明細書に記載された主題および機能的動作の実施形態は、デジタル電子回路、有形に実施されたコンピュータソフトウェアもしくはファームウェア、本明細書に開示される構造およびそれらの構造的均等物を含むコンピュータハードウェア、またはそれらの1つもしくは複数の組合せに実装することができる。本明細書に記載される主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置によって実行される、またはデータ処理装置の動作を制御するための有形の非一時的記憶媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装することができる。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらの1つもしくは複数の組合せとすることができる。代替または追加として、プログラム命令は、人工的に生成された伝搬信号、たとえば、データ処理装置によって実行するための適切な受信機装置への送信のために情報を符号化するために生成された機械生成電気、光学、または電磁信号上で符号化することができる。
【0162】
「データ処理装置」という用語は、データ処理ハードウェアを指し、たとえば、プログラム可能プロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのあらゆる種類の装置、デバイスおよび機械を包含する。装置は、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路でもよく、またはそれをさらに含むことができる。装置は、任意選択で、ハードウェアに加えて、コンピュータプログラムの実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つもしくは複数の組合せを構成するコードを含むことができる。
【0163】
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードとも呼ばれる、または記述されることもあるコンピュータプログラムは、コンパイルもしくはインタープリタ型言語、宣言型言語もしくは手続き型言語を含む、任意の形式のプログラミング言語で記述することができ、それは、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境での使用に適した他のユニットとしてなど、あらゆる形式で展開できる。プログラムは、必ずしも必要はないが、ファイルシステム内のファイルに対応し得る。プログラムは、たとえばマークアップ言語文書に記憶された1つもしくは複数のスクリプトなどの他のプログラムまたはデータを保持するファイルの一部に、当該プログラム専用のファイルに、あるいはたとえば1つもしくは複数のモジュール、サブプログラム、またはコードの一部を記憶するファイルなどの複数のコーディネートされたファイルに記憶することができる。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに位置するか、もしくは複数のサイトに分散され、データ通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように配備することができる。
【0164】
本明細書では、「エンジン」という用語は、1つまたは複数の特定の機能を実行するようにプログラムされているソフトウェアベースのシステム、サブシステム、またはプロセスを指すために広く使用されている。一般に、エンジンは、1つまたは複数の場所にある1つまたは複数のコンピュータにインストールされた1つまたは複数のソフトウェアモジュールまたはコンポーネントとして実装される。いくつかの場合には、1つまたは複数のコンピュータが特定のエンジンに専用であり、他の場合には、複数のエンジンを、同じ1つまたは複数のコンピュータにインストールし、そこにおいて実行することができる。
【0165】
本明細書で記述されたプロセスおよび論理フローは、入力データ上で動作し、出力を生成することによって機能を実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能コンピュータによって実行することができる。プロセスおよび論理フローは、たとえばFPGAもしくはASICなどの専用論理回路によって、または専用論理回路と1つもしくは複数のプログラムされたコンピュータとの組合せによっても実行することができる。
【0166】
コンピュータプログラムの実行に適したコンピュータは、汎用マイクロプロセッサもしくは専用マイクロプロセッサ、またはその両方、あるいは任意の他の種類の中央処理ユニットに基づき得る。一般に、中央処理ユニットは、読取り専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実施または実行するための中央処理ユニット、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。中央処理ユニットおよびメモリは、専用論理回路によって補うまたはそこに組み込むことができる。一般に、コンピュータは、たとえば磁気、光磁気ディスク、または光ディスクなど、データを記憶するための1つまたは複数の大容量記憶デバイスも含み、あるいは、1つまたは複数の大容量記憶デバイスからデータを受信する、それにデータを転送する、またはその両方のために動作可能に結合される。しかしながら、コンピュータはそのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、たとえば、ほんのいくつかの例を挙げれば、携帯電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはユニバーサルシリアルバス(USB)フラッシュドライブなどのポータブル記憶デバイス中に組み込むことができる。
【0167】
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、一例として、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、たとえば内部ハードディスクまたはリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含むすべての形態の不揮発性メモリ、メディアおよびメモリデバイスを含む。
【0168】
ユーザとの対話を提供するために、本明細書に記載される主題の実施形態は、ユーザに情報を表示するための、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタなどのディスプレイデバイス、ならびにキーボードおよび、ユーザがコンピュータに入力を提供することができる、たとえば、マウスまたはトラックボールなどのポインティングデバイスを有するコンピュータ上に実装することができる。他の種類のデバイスを使用して、ユーザとの対話を提供することもでき、たとえば、ユーザに提供されるフィードバックは、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックなど、任意の形態の感覚フィードバックとすることができ、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信することができる。さらに、コンピュータは、たとえば、ウェブブラウザから受信された要求に応答して、ユーザのデバイス上のウェブブラウザにウェブページを送信することによってなど、ユーザによって使用されるデバイスとの間でドキュメントを送受信することによって、ユーザと対話することができる。また、コンピュータは、テキストメッセージまたは他の形態のメッセージをパーソナルデバイス、たとえば、メッセージングアプリケーションを実行しているスマートフォンに送信し、代わりに、ユーザから応答メッセージを受信することによって、ユーザと対話することができる。
【0169】
機械学習モデルを実装するためのデータ処理装置は、たとえば、機械学習のトレーニングまたは製作、すなわち推論、作業負荷の共通部分および計算集約的部分を処理するための専用ハードウェアアクセラレータユニットも含むことができる。
【0170】
機械学習モデルは、機械学習フレームワーク、たとえば、TensorFlowフレームワーク、またはJaxフレームワークを使用して実装および展開することができる。
【0171】
本明細書に記載される主題の実施形態は、たとえばデータサーバとしてのバックエンドコンポーネントを含む、またはアプリケーションサーバなどのミドルウェアコンポーネントを含む、またはたとえば、ユーザが本明細書に記載された主題の実装と対話することができる、グラフィカルユーザインタフェース、ウェブブラウザ、またはアプリを有するクライアントコンピュータなどのフロントエンドコンポーネントを含む、あるいは1つまたは複数のそのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合せを含むコンピューティングシステムにおいて実装することができる。システムのコンポーネントは、たとえば、通信ネットワークなど、任意の形式または媒体のデジタルデータ通信によって相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)、たとえばインターネットがある。
【0172】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントとサーバとは、一般に、互いに遠隔であり、典型的には、通信ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行され、互いにクライアントサーバ関係を有するコンピュータプログラムによって生じる。いくつかの実施形態では、サーバは、たとえば、クライアントとして動作するデバイスと対話しているユーザにデータを表示し、ユーザからユーザ入力を受信するために、データ、たとえば、HTMLページをユーザデバイスに送信する。たとえば、ユーザ対話の結果など、ユーザデバイスにおいて生成されたデータは、デバイスからサーバにおいて受信することができる。
【0173】
本明細書は、多くの具体的な実施の詳細を含むが、これらは、任意の発明の範囲または特許請求される可能性のある範囲に対する限定ではなく、むしろ特定の発明の特定の実施形態に固有であり得る特徴の説明として解釈されるものとする。別個の実施形態の文脈において本明細書で説明されるいくつかの特徴は、単一の実施形態において組み合わせて実装することもできる。逆に、単一の実施形態の文脈で記載されている様々な特徴は、複数の実施形態で別々にまたは任意の適切な部分組合せで実装することもできる。さらに、特徴は、いくつかの組合せで作用するものとして上述されており、当初はそのように請求されているが、いくつかの場合、請求された組合せからの1つまたは複数の特徴を、組合せから削除することができ、請求された組合せは、部分組合せ、または部分組合せの変形を対象とし得る。
【0174】
同様に、動作が図面に示され、特許請求の範囲に特定の順序で記載されているが、これは、そのような動作が、示された特定の順序で、または順番に実行されること、あるいは望ましい結果を達成するために、図示されたすべての動作が実行されることを必要とするものとして理解されないものとする。いくつかの状況では、マルチタスキングおよび並列処理が有利であり得る。さらに、上述した実施形態における様々なシステムモジュールおよびコンポーネントの分離は、すべての実施形態においてそのような分離を必要とするものと理解されないものとし、記述されたプログラムコンポーネントおよびシステムを、一般に、単一のソフトウェア製品に一緒に組み入れることができ、または複数のソフトウェア製品にパッケージ化することができることを理解されたい。
【0175】
主題の特定の実施形態が記載されている。他の実施形態は、以下の特許請求の範囲内にある。たとえば、特許請求の範囲に列挙されたアクションは、異なる順序で実行され、依然として望ましい結果を達成することができる。一例として、添付の図面に示されるプロセスは、望ましい結果を達成するために、示された特定の順序または逐次的な順序を必ずしも必要としない。いくつかの場合には、マルチタスキングおよび並列処理が有利であり得る。
【符号の説明】
【0176】
100 トレーニングシステム
102 ターゲットニューラルネットワーク
106 重み更新システム
108 ネットワーク入力
109 ペアワイズ選好関数
110 代替ニューラルネットワーク
111 選好スコア
112 ターゲットネットワーク出力
114 代替ネットワーク出力
116 重み更新
202 生成モデル
204 出力サンプル
206 サンプル尤度システム
208 ネットワーク出力
210 尤度スコア
300 プロセス
400 プロセス
500 プロセス
【要約】      (修正有)
【課題】ネットワーク出力間の品質を比較してニューラルネットワークをトレーニングするシステム装置、方法及びプログラムを提供する。
【解決手段】方法は、1つ以上のネットワーク入力を受信するステップと;ネットワーク入力の各々について、第1のネットワーク出力を生成するために、ターゲットニューラルネットワークを使用してネットワーク入力を処理するステップと、第2のネットワーク出力を生成するために、代替ニューラルネットワークを使用してネットワーク入力を処理するステップと、第1のネットワーク出力と第2のネットワーク出力とを比較する選好スコアを生成するために、第1のネットワーク出力および第2のネットワーク出力に選好関数を適用するステップと;第2のネットワーク出力よりも第1のネットワーク出力を優先するように促す目的関数を使用して、ターゲットニューラルネットワークの重みを更新するステップと、を含む。
【選択図】図3
図1
図2
図3
図4
図5