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

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

▶ モロコ,インコーポレイテッドの特許一覧

特許7492541機械学習サービスを提供するための方法及びシステム
<>
  • 特許-機械学習サービスを提供するための方法及びシステム 図1
  • 特許-機械学習サービスを提供するための方法及びシステム 図2
  • 特許-機械学習サービスを提供するための方法及びシステム 図3
  • 特許-機械学習サービスを提供するための方法及びシステム 図4
  • 特許-機械学習サービスを提供するための方法及びシステム 図5
  • 特許-機械学習サービスを提供するための方法及びシステム 図6
  • 特許-機械学習サービスを提供するための方法及びシステム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-21
(45)【発行日】2024-05-29
(54)【発明の名称】機械学習サービスを提供するための方法及びシステム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240522BHJP
   G06N 3/08 20230101ALI20240522BHJP
【FI】
G06N20/00 130
G06N3/08
【請求項の数】 20
(21)【出願番号】P 2021575051
(86)(22)【出願日】2020-06-17
(65)【公表番号】
(43)【公表日】2022-08-25
(86)【国際出願番号】 US2020038148
(87)【国際公開番号】W WO2020257292
(87)【国際公開日】2020-12-24
【審査請求日】2023-06-02
(31)【優先権主張番号】62/862,986
(32)【優先日】2019-06-18
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/893,725
(32)【優先日】2019-08-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521548825
【氏名又は名称】モロコ,インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】デン,ジアン ゴン
(72)【発明者】
【氏名】アン,イクジン
(72)【発明者】
【氏名】イム,デソプ
(72)【発明者】
【氏名】チェ,ボギョン
(72)【発明者】
【氏名】オー,セチャン
(72)【発明者】
【氏名】カナーン,ウィリアム
【審査官】宮司 卓佳
(56)【参考文献】
【文献】特開2018-173711(JP,A)
【文献】特開2019-040335(JP,A)
【文献】国際公開第2018/217635(WO,A1)
【文献】特開2019-040542(JP,A)
【文献】米国特許出願公開第2017/0374089(US,A1)
【文献】国際公開第2019/069618(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 3/08
G06F 21/60-21/62
(57)【特許請求の範囲】
【請求項1】
機械学習モデルサービスを提供する方法であって、
(a)第1の機械学習モデルを使用することにより第1の出力データを第1の計算システムにより生成することであって、前記第1の機械学習モデルは第1のトレーニングデータセットでトレーニングされる、生成すること;
(b)前記第1の出力データを第2の計算システムへ送信することであって、前記第1のトレーニングデータセット及び前記第1の機械学習モデルは前記第2の計算システムにアクセス不能である、送信すること;
(c)前記第1の出力データと前記第2の計算システムにアクセス可能な選択された組の入力特徴とを連結することにより入力データを生成すること;及び
(d)前記入力データを処理するために第2の機械学習モデルを使用して第2の出力データを生成することであって、前記第2の機械学習モデル及び前記選択された組の入力特徴は前記第1の計算システムにアクセス不能である、生成することを含む方法。
【請求項2】
前記第1の出力データは予測値を含む、請求項1に記載の方法。
【請求項3】
前記第1の出力データは1つ又は複数の共通特徴に従って前記選択された組の入力特徴と連結される、請求項1に記載の方法。
【請求項4】
前記1つ又は複数の共通特徴は共通特徴識別子を含む、請求項3に記載の方法。
【請求項5】
前記第2の機械学習モデルは教師有り学習を使用してトレーニングされ、前記第2の機械学習モデルをトレーニングするためのラベル付きデータセットは前記第1の機械学習モデルにより生成されたデータを含む、請求項1に記載の方法。
【請求項6】
前記第1の機械学習モデルは畳み込みニューラルネットワークであり、前記第1の機械学習により生成される前記データは、前記畳み込みニューラルネットワークの最上層の出力を含む、請求項5に記載の方法。
【請求項7】
前記選択された組の入力特徴は、前記第2の機械学習モデルの性能を評価することにより決定される、請求項1に記載の方法。
【請求項8】
前記第2の機械学習モデルの性能メトリックが閾値より良くなるまで、異なる組の入力特徴が選択される、請求項7に記載の方法。
【請求項9】
前記第1の出力データを生成するための要求を、前記第1の計算システムにより受信することをさらに含む、請求項1に記載の方法。
【請求項10】
前記要求は予測サービスに関係する1つ又は複数の共通特徴を含む、請求項9に記載の方法。
【請求項11】
(a)第1の機械学習モデルを使用して第1の出力データを生成するように構成された第1の計算システムであって、前記第1の機械学習モデルは第1のトレーニングデータセットでトレーニングされる、第1の計算システム;
(b)入力データを処理するために第2の機械学習モデルを使用することにより第2の出力データを生成するように構成された第2の計算システム;及び
(c)前記第1の出力データと前記第2の計算システムにアクセス可能な選択された組の入力特徴とを連結することにより前記入力データを生成するように構成された集積コンポーネントを含み、
前記第1のトレーニングデータセット及び前記第1の機械学習モデルは前記第2の計算システムにアクセス不能であり、前記第2の機械学習モデル及び前記選択された一組の入力特徴は前記第1の計算システムにアクセス不能である、
連続機械学習システム。
【請求項12】
前記第1の出力データは予測値を含む、請求項11に記載の連続機械学習システム。
【請求項13】
前記第1の出力データは1つ又は複数の共通特徴に従って、前記選択された組の入力特徴と連結される、請求項11に記載の連続機械学習システム。
【請求項14】
前記1つ又は複数の共通特徴は共通特徴識別子を含む、請求項13に記載の連続機械学習システム。
【請求項15】
前記第2の機械学習モデルは教師有り学習を使用してトレーニングされ、前記第2の機械学習モデルをトレーニングするためのラベル付きデータセットは前記第1の機械学習モデルにより生成されたデータを含む、請求項11に記載の連続機械学習システム。
【請求項16】
前記第1の機械学習モデルは畳み込みニューラルネットワークであり、前記第1の機械学習により生成される前記データは、前記畳み込みニューラルネットワークの最上層の出力を含む、請求項15に記載の連続機械学習システム。
【請求項17】
前記選択された組の入力特徴は、前記第2の機械学習モデルの性能を評価することにより決定される、請求項11に記載の連続機械学習システム。
【請求項18】
前記第2の機械学習モデルの性能メトリックが閾値より良くなるまで、異なる組の入力特徴が選択される、請求項17に記載の連続機械学習システム。
【請求項19】
前記第1の計算システムは、前記第1の出力データを生成するための要求をさらに受信するように構成される、請求項11に記載の連続機械学習システム。
【請求項20】
前記要求は予測サービスに関係する1つ又は複数の共通特徴を含む、請求項19に記載の連続機械学習システム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
[0001] 本出願は、参照のためその全体を本明細書に援用する2019年6月18日出願の米国暫定特許出願第62/862,986号及び2019年8月29日出願の米国暫定特許出願第62/893,725号からの優先権及び利益を主張する。
【背景技術】
【0002】
背景
[0002] 高度にアクセス可能であり且つ費用効率の高い機械学習プラットホーム(例えばTensorFlow、Amazonの機械学習、MicrosoftのAzure機械学習、OpenAI、SciKit-Learn、Matlabなど)の最近の成長により、ユーザは、大きなデータセットの自動解析を行うためのユーザに利用可能な無数の既成選択肢を有する。機械学習サービスプロバイダは、深層学習技術の成功がトレーニングのために利用可能なデータ量に直接比例するので、大規模にユーザデータを通常収集する。しかし、このような大量データ収集及び/又は機械学習モデルをサービスすることはプライバシー問題に悩まされる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
概要
[0003] ユーザがモデルトレーニング及び予測と相互作用するための既存手法及び方法が存在するが、このような方法及びシステムに付随する制限がここでは認識される。例えば、連合学習は、すべてのトレーニングデータをデバイス上に維持し、データをクラウド内に格納する必要性から機械学習を行う能力を切り離す一方で、モバイルフォンが共有予測モデルを連携して学習することを可能にする。連合学習では、中央システム及び分散されたデバイスが共通モデルを共有する一方で、分散されたデバイスは、モデルの重み付けをプライベートトレーニングデータセットによりローカルに更新し、及び更新された重み付けを中央システムへ送信し得る。中央システムは、分散デバイスからの更新を統合し、延いては分散デバイスへ送信され得る共通モデルの重み付けを更新し得る。しかし、このような連合手法では、中央モデルは可視であり、及び分散デバイスへ露出され、各デバイスからの更新されたモデルもまた中央システムへ露出される。別の例として、転移学習(transfer learning)は、トレーニング済み深層ニューラルネットワークのアーキテクチャ及び重み付けの一部(又は全体)を第2の深層ニューラルネットワークの開始点として使用することにより、情報を1つの深層ニューラルネットワークから別のネットワークへ転送するための技術である。転移学習では、基本ネットワークは、基本データセット及びタスクに関し最初にトレーニングされ、次に、学習された特徴は再利用されるか、又は学習された特徴は、標的データセット及びタスクに関しトレーニングされる第2の標的ネットワークへ転送される。しかし、このような転移学習では、特徴は通常、一般的(基本タスクに固有である代わりに基本タスク及び標的タスクの両方に好適であることを意味する)となることが要求され、及び基本モデルもまた、第2のネットワークに対して露出されて可視となる。
【0004】
[0004] ここで認識されるのは、機械学習サービスを提供する際の改善されたプライバシー保存能力を有する方法及びシステムの必要性である。本開示は、フィールド内データ、ローカルモデル、及びプロバイダモデルをプライベート且つ安全なままにする一方で個人/消費者がフィールド内データ及び別のモデル(プロバイダモデル)から転送されたデータの両方を使用することにより予測を生成することができる機械学習モデルを構築、開発、及び実施することを可能にする方法及びシステムを提供する。ローカル入力データとモデルコンテンツとを複数(例えば2つ以上)の別個のシステムにおいて分離状態にする一方で別の基本/プロバイダ機械学習モデルを使用することにより機械学習モデルに対する改善を達成し得る方法及びシステムが提供される。
【課題を解決するための手段】
【0005】
[0005] 一態様では、機械学習モデルサービスを提供する方法が提供される。本方法は、(a)第1の機械学習モデルを使用することにより第1の出力データを第1の計算システムにより生成することであって、第1の機械学習モデルは第1のトレーニングデータセットでトレーニングされる、生成すること;(b)第1の出力データを第2の計算システムへ送信することであって、第1のトレーニングデータセット及び第1の機械学習モデルは第2の計算システムにアクセス不能である、送信すること;(c)第1の出力データと第2の計算システムにアクセス可能な選択された組の入力特徴とを連結することにより入力データを生成すること;及び(d)入力データを処理するために第2の機械学習モデルを使用して第2の出力データを生成することであって、第2の機械学習モデル及び選択された組の入力特徴は第1の計算システムにアクセス不能である、生成することを含む。
【0006】
[0006] いくつかの実施形態では、第1の出力データは予測値を含む。いくつかの実施形態では、第1の出力データは、1つ又は複数の共通特徴に従って、選択された組の入力特徴と連結される。いくつかのケースでは、1つ又は複数の共通特徴は共通特徴識別子を含む。いくつかの実施形態では、第2の機械学習モデルは教師有り学習を使用してトレーニングされ、第2の機械学習モデルをトレーニングするためのラベル付きデータセットは第1の機械学習モデルにより生成されたデータを含む。いくつかのケースでは、第1の機械学習モデルは畳み込みニューラルネットワークであり、第1の機械学習により生成されるデータは、畳み込みニューラルネットワークの最上層の出力を含む。
【0007】
[0007] いくつかの実施形態では、選択された組の入力特徴は、第2の機械学習モデルの性能を評価することにより決定される。いくつかのケースでは、第2の機械学習モデルの性能メトリックが閾値より良くなるまで、異なる組の入力特徴が選択される。いくつかの実施形態では、本方法はさらに、第1の出力データを生成するための要求を、第1の計算システムにより受信することを含む。いくつかのケースでは、要求は予測サービスに関係する1つ又は複数の共通特徴を含む。
【0008】
[0008] 別の態様では、連続機械学習システムが提供される。本システムは、(a)第1の機械学習モデルを使用して第1の出力データを生成するように構成された第1の計算システムであって、第1の機械学習モデルは第1のトレーニングデータセットでトレーニングされる、第1の計算システム;(b)入力データを処理するために第2の機械学習モデルを使用することにより第2の出力データを生成するように構成された第2の計算システム;及び(c)第1の出力データと第2の計算システムにアクセス可能な選択された組の入力特徴とを連結することにより入力データを生成するように構成された集積コンポーネントを含み、第1のトレーニングデータセット及び第1の機械学習モデルは第2の計算システムにアクセス不能であり、第2の機械学習モデル及び選択された一組の入力特徴は第1の計算システムにアクセス不能である。
【0009】
[0009] いくつかの実施形態では、第1の出力データは予測値を含む。いくつかの実施形態では、第1の出力データは、1つ又は複数の共通特徴に従って、選択された組の入力特徴と連結される。いくつかのケースでは、1つ又は複数の共通特徴は共通特徴識別子を含む。
【0010】
[0010] いくつかの実施形態では、第2の機械学習モデルは教師有り学習を使用してトレーニングされ、第2の機械学習モデルをトレーニングするためのラベル付きデータセットは第1の機械学習モデルにより生成されたデータを含む。いくつかのケースでは、第1の機械学習モデルは畳み込みニューラルネットワークであり、第1の機械学習により生成されるデータは、畳み込みニューラルネットワークの最上層の出力を含む。
【0011】
[0011] いくつかの実施形態では、選択された組の入力特徴は、第2の機械学習モデルの性能を評価することにより決定される。いくつかのケースでは、第2の機械学習モデルの性能メトリックが閾値より良くなるまで、異なる組の入力特徴が選択される。いくつかの実施形態では、第1の計算システムは、第1の出力データを生成するための要求をさらに受信するように構成される。いくつかのケースでは、要求は予測サービスに関係する1つ又は複数の共通特徴を含む。
【0012】
[0012] 本開示の追加の態様及び利点は、本開示の例示的実施形態だけが示され説明される以下の詳細説明から当業者に容易に明らかになる。理解されることになるように、本開示は他の実施形態及び様々な実施形態に対応することが可能であり、そのいくつかの詳細はすべて本開示から逸脱することなく様々な明白な方式で修正可能である。したがって、添付図面と本明細書は、本来例示的であり、限定的ではないとみなされるべきである。
【0013】
参照による援用
[0013] 本明細書で述べられるすべての刊行物、特許、及び特許出願は、各個々の刊行物、特許、又は特許出願が参照により援用されるように具体的且つ個々に指示される限りにおいて、参照により本明細書に援用される。参照により援用される刊行物及び特許又は特許出願が本明細書に含まれる開示と矛盾する限りにおいて、本明細書は、いかなるこのような矛盾する資料をも代替する及び/又は優先する。
【0014】
図面の簡単な説明
[0014] 本発明の新規な特徴は添付の特許請求の範囲において具体的に示される。本発明の特徴及び利点のさらなる理解は、本発明の原理が利用される例示的実施形態を示す以下の詳細説明と添付図面(本明細書では「図」)とを参照することにより得られることになる。
【図面の簡単な説明】
【0015】
図1】[0015]2つのエンティティ(例えばプロバイダ及び消費者)間でデータを活用する従来のアーキテクチャを示す。
図2】[0016]いくつかの実施形態によるプロバイダシステムと消費者システムとの間でデータを活用する方法を概略的に示す。
図3】[0017]いくつかの実施形態による連続機械学習システムを概略的に示す。
図4】[0018]本明細書に記載の連続機械学習システムにおいて行われる例示的トレーニングプロセスを示す。
図5】[0019]例示的予測プロセスを示す。
図6】[0020]いくつかの実施形態による連続機械学習システムの例を示す。
図7】[0021]連続機械学習システムを実現するようにプログラムされるか又はそうでなければ構成されたコンピュータシステムを示す。
【発明を実施するための形態】
【0016】
詳細な説明
[0022] 本明細書では本発明の様々な実施形態が示され説明されるが、このような実施形態が単に一例として提供されることは当業者にとって明白である。本発明から逸脱することなく非常に多くの変形、変更、及び置換が当業者に思い浮かび得る。本明細書に記載の本発明の実施形態の様々な代替案が採用され得るということが理解されるべきである。
【0017】
[0023] 本発明は、入力データとモデルコンテンツとをそれぞれの別個のシステムにおいて分離されたままにする一方で、別の基本機械学習モデルを使用することにより機械学習モデルを改善するための、方法及びシステムを提供する。特に、プロバイダからの機械学習モデル出力を消費者機械学習モデルへの入力として使用することにより、消費者機械学習モデルに対する改善を達成し得る、安全であり且つ保護されたシステムアーキテクチャが提供される。データセット及びモデルは、それぞれの消費者及びプロバイダシステムに関し分離され、プライベート、且つ安全なままである。提供される方法は、生成中にデータを消費者又はプロバイダシステムと共有することなく消費者データセット及びプロバイダデータセットを活用することを可能にする。提供される方法及びシステムは、消費者システム及びプロバイダシステムが、緩い接続(例えば集積点)により、分離された方式で働くことを可能にする。例えば、生成中、消費者システムは、プロバイダモデルにより生成されるモデル出力を受信し、及び消費者モデルが、増強された予測を行うように、集積点を介してモデル出力とローカル消費者データとを連結し得る。プロバイダモデルコンテンツ及びデータセット、並びに消費者モデルコンテンツ及びデータセットは、消費者モデルのトレーニング、開発、検証、生産化及び配備全体にわたり、分離されたままであり得る。提供される方法及びシステムは、クラウド環境又は構内環境などの様々なシナリオにおいて適用され得る。
【0018】
[0024] 本明細書で説明する、本発明の様々な態様は、以下に記載される具体的アプリケーションのうちの任意のものへ適用され得る。本発明は、サービスとして機械学習予測を提供するものとして実現され得る。本発明の様々な態様は、個々に、集合的に、又は互いに組み合わせて認識され得るということが理解されるべきである。
【0019】
[0025] 本明細書において利用される用語「プロバイダ」は一般的には、機械学習モデル出力を提供する当事者、エンティティ又は会社を指す。機械学習出力は、第2の機械学習予測のために別のシステムへ提供され得る。いくつかのケースでは、プロバイダは、別のシステムへ提供される出力を生成する機械学習モデルの所有者であり得る。機械学習出力は、トレーニング段階中に第2の機械学習モデルをトレーニングするための及び/又は第2の機械学習モデルの配備後に予測を行うための別のシステムへ提供され得る。
【0020】
[0026] 本明細書において利用される用語「消費者」は一般的には、プロバイダシステムの機械学習出力から恩恵を受けている当事者、エンティティ又は会社を指す。消費者は、自身の機械学習モデルを改善するために、プロバイダシステムの機械学習出力を使用し得る。いくつかのケースでは、消費者は、別の機械学習モデルにより生成される出力を使用する機械学習モデルの所有者であり得る。例えば、消費者は、トレーニング段階中に消費者の機械学習モデルをトレーニングするための、及び/又は生産段階において又はモデルの配備後に予測を行うための、プロバイダシステムにより提供される出力を受信し及び使用し得る。
【0021】
[0027] 本明細書において利用されるように、用語「コンポーネント」、「システム」「インターフェース」、「ユニット」などは、コンピュータ関連エンティティ、ハードウェア、ソフトウェア(例えば実行中の)、及び/又はファームウェアを指すように意図されている。例えば、コンポーネントは、プロセッサ、プロセッサ上で実行するプロセス、オブジェクト、実行ファイル、プログラム、ストレージデバイス、及び/又はコンピュータであり得る。例示として、サーバ上で実行するアプリケーション及びサーバはコンポーネントであり得る。1つ又は複数のコンポーネントがプロセス内に常在し得、1つのコンポーネントは1つのコンピュータ上に局所化され得る及び/又は2つ以上のコンピュータ間に分散され得る。
【0022】
[0028] さらに、これらのコンポーネントは、その上に格納された様々なデータ構造を有する様々なコンピュータ可読媒体から実行し得る。コンポーネント同士は、1つ又は複数のデータパケットを有する信号に従ってローカル及び/又はリモートプロセスを介し通信し得る(例えば、1つのコンポーネントからのデータは、ローカルシステム内の、分散システム内の、及び/又はネットワーク(例えばインターネット、ローカルエリアネットワーク、広域ネットワークなど)上の別のコンポーネントと相互作用する、例えば信号を介し他のシステムと相互作用する)。
【0023】
[0029] 別の例として、コンポーネントは、電気的又は電子的回路構成により操作される機械コンポーネントにより提供される特別な機能性を有する装置であり得;電気的又は電子的回路構成は、1つ又は複数のプロセッサにより実行されるソフトウェアアプリケーション又はファームウェアアプリケーションにより操作され得る;1つ又は複数のプロセッサは装置の内部また外部にあり得、ソフトウェア又はファームウェアアプリケーションの少なくとも一部を実行し得る。さらに別の例として、コンポーネントは機械部品無しに電子コンポーネントを介し特別な機能性を提供する装置であり得;電子コンポーネントは、電子コンポーネントの機能性を少なくとも部分的に与えるソフトウェア及び/又はファームウェアを実行するために1つ又は複数のプロセッサを含み得る。いくつかのケースでは、コンポーネントは仮想機械(例えばクラウド計算システム内の)を介し電子コンポーネントをエミュレートし得る。
【0024】
[0030] データセットをトレーニングすることは制限され得、且つ稀であり得る。上述のように、機械学習モデルの性能は得トレーニングデータセットの量により制限され得る。本開示の方法及びシステムは、プロバイダ機械学習モデルからの出力(例えば予測、スコア)によりトレーニングするための入力特徴セットを増強することにより、消費者機械学習モデルの精度、品質及び性能を改善し得る。いくつかのケースでは、プロバイダシステムにより生成される出力は、消費者モデルをトレーニングするために設定される最適入力特徴を形成するために、ローカル/プライベートデータの選択された入力特徴と連結され得る。消費者モデルの性能は、ローカルデータだけを使用するモデルの性能又はプロバイダモデルの性能を越えて改善され得る。
【0025】
[0031] プロバイダモデルにより生成されるモデル出力を利用することは有益には、消費者システム及びプロバイダシステムの両方が、それ自身のデータセットをプライベート、分離、及び安全状態に維持することを可能にする。消費者システム及びプロバイダシステムは、安全且つプライベートである。例えば、消費者システム及びプロバイダシステム上のデータ、モデル設計、モデル重み付け又はコードは可視でない、すなわち互いにアクセス不能である。
【0026】
[0032] 安全性及びプライバシーは、消費者機械学習モデルのトレーニング、開発、検証、生産化及び配備全体にわって維持され得る。モデル生成時又は予測時に、消費者システムは、プロバイダモデルにより生成される出力及び消費者ローカルデータの両方を入力として取り入れることにより予測を行い得る。トレーニング段階と同様に、データ、モデル設計、モデル重み付け又はコードは、それぞれ消費者システム及びプロバイダシステム上で分離され且つ安全にされたままであり得る。
【0027】
[0033] モデル出力は、集積点(integration point)を介し、プロバイダシステムから消費者システムへ渡され得る。集積点は、消費者機械学習モデルをトレーニングするための入力特徴(トレーニングデータ)の一部としてプロバイダシステムからのモデル出力を自動的に集積し得る。集積点はまた、推測又は予測段階中に予測を行うための入力特徴の一部としてプロバイダシステムから消費者モデルへ転送されるモデル出力を自動的に集積し得る。これは、プロバイダのデータ又はモデルコンテンツを露出することなく、適応的且つ普遍的方式で機械学習モデル出力をサービスすることを可能にするので有益である。プロバイダ機械学習モデルからのモデル出力を消費者機械学習モデルへ渡すように構成された集積点は、一方向性であり得る。集積点は、データ処理装置による実行のために又はデータ処理デバイスの操作を制御するためにコンピュータストレージ媒体上で符号化される1つ又は複数のコンピュータプログラム(すなわちコンピュータプログラム命令の1つ又は複数のモジュール)として実現され得る。集積点に関する詳細は本明細書の後で説明される。
【0028】
[0034] 上述のように、モデル出力はトレーニング及び予測中にプロバイダシステムから消費者システムへ送信され得る。プロバイダシステムから消費者システムへ渡されるモデル出力は、例えば確率スコア、ニューラルネットワークの最上(すなわちロジット)層出力、又はこれら両方の組み合わせを含み得る。いくつかのケースでは、データはまたプロバイダ入力特徴を含み得る。例えば、プロバイダ入力特徴及びプロバイダ機械学習モデルにより生成される対応予測は、ペアのデータセットを形成し得る。ペアのデータセットは、教師有り学習のために消費者システムへ転送され得る。スコア(又は予想値)などのモデル出力は、プロバイダ機械学習モデル設計とプロバイダ機械学習モデル入力データタイプとに依存して、多くの異なるフォーマットのものであり得る。例えば、分類モデルに関して、モデル出力はクラスの予想値だけでなく予想値の確率も含み得る;回帰モデルに関して、モデル出力は予測数値を含み得る;画像分類モデルに関して、モデル出力は、画像内のオブジェクトのクラス、又は特定特徴が発見されたかどうかを示すブーリアンを含み得る。
【0029】
[0035] 図1は、2つのエンティティ(例えばプロバイダ及び消費者)間でデータを活用する従来のアーキテクチャを示す。従来のアーキテクチャでは、データ(例えば消費者データ、プロバイダデータ)の少なくとも1つ、モデル設計(例えば、モデルアーキテクチャ)、モデル重み付け(例えば消費者機械学習モデルの重み付け、プロバイダ機械学習モデルの重み付け)又はコードは1つのエンティティ又は両エンティティへ露出される。
【0030】
[0036] 図2は、本発明のいくつかの実施形態による、プロバイダシステムと消費者システムとの間でデータを活用する方法を概略的に示す。上述のように、プロバイダ機械学習モデル203により生成されるモデル出力205は、消費者機械学習モデル213をトレーニングするために、又は消費者機械学習モデル213の配備後に予測を行うための入力特徴として消費者データ211と組み合わせて使用されるために、消費者システムへ渡され得る。消費者機械学習モデル213の性能、精度又は品質は、増強されたモデル出力215が生成されるように改善され得る。プロバイダデータ201及び消費者データ211は、消費者機械学習モデルのトレーニング、開発、検証、生産化及び配備全体にわたり、プロバイダシステム及び消費者システムそれぞれの上で分離され且つ安全にされたままであり得る。
【0031】
[0037] プロバイダデータ201は、プロバイダシステムへアクセス可能であるデータストレージユニット207(又はデータレポジトリ)内に格納され得る。データストレージユニット207は、消費者システムへアクセス可能でなくてもよい、すなわちアクセス不能であってもよい。データレポジトリ207は、プロバイダデータを格納するためのローカルストレージレポジトリ又はクラウドストレージであり得る。プロバイダデータは、プロバイダ機械学習モデルをトレーニングするためのトレーニングデータセット(例えば特徴ベクトル、ラベル付きデータなど)、モデル設計(例えばモデルアーキテクチャ)、モデル重み付け(例えばハイパーパラメータ、プロバイダ機械学習モデルの重み付け)、プロバイダモデルシステムのコンポーネントの入力データ及び出力データ、歴史的データ、プロバイダシステムに関連付けられたコード、及び本明細書の他の箇所で説明される様々な他のデータを含み得る。
【0032】
[0038] 同様に、消費者データ211は、消費者システムへアクセス可能であるデータストレージユニット217(又はデータレポジトリ)内に格納され得る。データストレージユニット217は、プロバイダシステムへアクセス可能でなくてもよい、すなわちアクセス不能であってもよい。データレポジトリ217は、消費者データを格納するためのローカルストレージレポジトリ又はクラウドストレージであり得る。消費者データは、ローカル又はプライベートデータ、消費者機械学習モデルをトレーニングするためのトレーニングデータセット(例えば特徴ベクトル、ラベル付きデータ、プロバイダシステムからの出力データなど)、モデル設計(例えばモデルアーキテクチャ)、モデル重み付け(例えばハイパーパラメータ、消費者機械学習モデルなどの重み付け)、消費者モデルシステムのコンポーネントの入力データ及び出力データ、歴史的データ(例えばフィールド内データ、予測結果、評価データ、性能メトリックなど)、消費者機械学習モデルをトレーニングするためのパラメータ(例えば性能メトリックのための閾値等)、消費者システムに関連付けられたコード、及び本明細書の他の菓舗で説明される様々な他のデータを含み得る。
【0033】
[0039] プロバイダシステムから消費者システムへ渡されるモデル出力205は、例えば確率スコア、ニューラルネットワークの最上(例えばロジット)層出力、又はこれら両方の組み合わせを含み得る。いくつかのケースでは、モデル出力205はまた、プロバイダ入力特徴を含み得る。このようなプロバイダ入力特徴は、消費者機械学習モデルをトレーニングするために使用され得る。例えば、プロバイダ入力特徴は、消費者機械学習モデルをトレーニングするためのラベル付きデータ、又は入力特徴として使用され得るグラウンドトゥルースデータ(例えばラベル付きデータ)を含み得る。このような場合、モデル出力と共に、ラベル付きデータは教師有り学習のために消費者システムへ転送され得る。スコア(又は予想値)などのモデル出力は、プロバイダ機械学習モデル設計とプロバイダ機械学習モデル入力データタイプとに依存して、多くの異なるフォーマットであり得る。例えば、分類モデルに関し、モデル出力はクラスの予想値だけでなく予想値の確率も含み得る;回帰モデルに関し、モデル出力は予測数値を含み得る;画像分類モデルに関し、モデル出力は、画像内のオブジェクトのクラス、又は特定特徴が発見されたかどうかを示すブーリアンを含み得る。
【0034】
[0040] 図3は、本発明の実施形態による連続機械学習システム300を概略的に示す。いくつかの実施形態では、連続機械学習システム300は、1つ又は複数のプロバイダシステム301及び1つ又は複数の消費者システム311を含み得る。1つ又は複数のプロバイダシステム301により生成されるモデル出力307は、集積点を介し、1つ又は複数のプロバイダシステム301から1つ又は複数の消費者システム311へ渡され得る。
【0035】
[0041] 集積点は、消費者機械学習モデル313をトレーニングするための入力特徴として、モデル出力307と消費者データセット315とを自動的に集積し得る。集積点は一方向性であり得る。集積点は、モデル出力をプロバイダシステム301から消費者システム311へ渡すように構成され得る。集積点は、ソフトウェア、ハードウェア、ファームウェア、埋め込み型ハードウェア、スタンドアロンハードウェア、特殊用途ハードウェア又はこれらの任意の組み合わせで実現され得る。集積点はプロバイダシステム、消費者システム、又はこれら両システム上に設けられ得る。集積点は、プロバイダデータ305及び消費者データ315それぞれがプロバイダシステム及び消費者システム上で分離され且つ安全にされたままとなるように、プロバイダシステム301と消費者システム311との間の緩い接続として機能し得る。データ(例えば消費者データ、プロバイダデータ)、モデル設計(例えばモデルアーキテクチャ)、モデル重み付け(例えば消費者機械学習モデルの重み付け、プロバイダ機械学習モデルの重み付け)並びにプロバイダ及び消費者に関連付けられたコードなどの情報は、互いに不可視である。
【0036】
[0042] 集積点は、プロバイダシステムにより提供される出力データ又はトレーニングサンプルデータと消費者システムのローカルデータとを連結するように構成され得る。いくつかのケースでは、プロバイダシステムにより提供されるデータと消費者システムのローカルデータは、共通特徴識別子(ID)などのいくつかの共通特徴により連結され得る。これは、プロバイダのデータ又はモデルコンテンツを露出することなく、適応的且つ普遍的方式で機械学習モデル出力をサービスすることを可能にするので有益である(逆も同様である)。集積点は、下位機械学習モデル/アルゴリズムのアーキテクチャ又はタイプにかかわらず、プロバイダシステムから出力されるモデルを消費者システムのローカルデータへ適応的に集積し得る。例えば、モバイル広告アプリケーションでは、消費者プライベートデータとプロバイダシステムにより提供されるトレーニングサンプルデータとを連結するための、モバイルデバイス広告(Ad)ID及び発行者名などの共通特徴IDが使用され得る。例えば、クリックスルー率(ctr:click-through rate)予測では、プロバイダシステムから転送される1つのサンプルデータセットは以下のものを含み得る:(i)モバイルデバイスAd ID、(ii)Ad押下がなされた発行者の名前、(iii)プロバイダモデルの予測ctr、及び(iv)変換結果(例えば、ユーザがクリックしたか否か、ユーザがランディングウェブページに名前を登録したか否か等)。いくつかのケースでは、サンプルデータセット毎に、消費者システム又は集積点は、消費者のトレーニングデータセットを生成するために、消費者プライベート/ローカルデータ(例えば、各モバイルAd IDが獲得された製品、モバイルAd IDを使用するeコマースアプリ)に由来するプライベート特徴を付加し得る。例えば、プライベート特徴及び(iii)プロバイダモデルの予測ctrが入力特徴を形成し得、及び(iv)プロバイダシステムから転送される変換結果は消費者機械学習モデルをトレーニングするためのラベル付きデータとして使用され得る。集積点は、図6に関して本明細書で後にさらに説明される。
【0037】
[0043] プロバイダ機械学習モデル303及び消費者機械学習モデル313は、同じ目的を持たなくてもよい。例えば、消費者機械学習モデルは、Adクリック、製品購入及びアプリケーションインストールなどの標的変換の確率を予測するようにトレーニングされ得、プロバイダ機械学習モデルは、クリックスルー率(ctr)及び獲得率を介し、クリックなどの予測を行い得る。例えば、プロバイダ機械学習モデルがctrを予測し得、消費者機械学習モデルはアプリインストール確率を予測し得る。この場合、消費者システムにアクセス可能であるがプロバイダシステムにアクセス不能であるプライベート又はローカルデータは少なくともアプリインストールラベル(例えば、ユーザが広告アプリをインストールしたか否か)を含み得る。代わりに又は加えて、プロバイダ機械学習モデル303及び消費者機械学習モデル313は同じ目的を持ってもよい。例えば、プロバイダ機械学習モデル及び消費者機械学習モデルの両方は、クリックラベルを使用すること(例えば、ユーザがクリックしたか否か)によりctrを予測し得、予測性能(例えば精度)は、プライベートデータ及びプロバイダデータの両方を利用することにより改善され得る。
【0038】
[0044] プロバイダ機械学習モデル303及び消費者機械学習モデル313は、同じアーキテクチャ、パラメータ、又は他のモデル設計パラメータを有しても有しなくてもよい。プロバイダ機械学習モデル303により提供されるデータ(例えば機械学習モデル出力)はそれぞれの機械学習モデルのアーキテクチャ、タイプ又はコンテンツにかかわらず、普遍的方式で消費者機械学習モデル313により使用され得る。例えば、プロバイダ機械学習モデル303がCNNアーキテクチャを有し得、消費者機械学習モデル313はランダムフォレストアーキテクチャを有し得る。別の例では、プロバイダ機械学習モデル303は教師無し学習手法を使用することによりトレーニングされ得、消費者機械学習モデル313は教師有り学習技術を使用することによりトレーニングされ得る。
【0039】
[0045] 図4は、本明細書において提供される連続機械学習システムにおいて行われるトレーニングプロセス400の一例を示す。プロバイダシステムは、消費者システムへ転送されるデータ(消費者機械学習モデルをトレーニングするための)を生成するように構成され得る(操作401)。いくつかのケースでは、転送されるデータはプロバイダ機械学習モデル出力を含み得る。いくつかのケースでは、データは、プロバイダ入力特徴とプロバイダ機械学習モデルにより生成されるモデル出力との両方を含み得る。例えば、プロバイダ入力特徴及び対応予測はペアのデータセットを形成し得、並びにペアのデータセットは教師有り学習のために消費者システムへ転送され得る。いくつかのケースでは、プロバイダ機械学習モデルにより生成される出力は、教師有り学習のためのラベル付きデータとして使用され得る。いくつかのケースでは、プロバイダのトレーニングデータセットのラベル付きデータは、消費者機械学習モデルをトレーニングするためのラベル付きデータとして使用され得る。代替的に、プロバイダ機械学習モデルにより提供されるデータはラベル付きデータを含まなくてもよく、したがってこのデータは消費者機械学習モデルのための入力特徴を生成するために使用され得る。いくつかのケースでは、消費者システムへ転送されるデータは、プロバイダのニューラルネットワークの最上(例えばロジット)層の出力を含み得る。ニューラルネットワークアーキテクチャの場合、Kレベルニューラルネットワークの層kにおけるニューロンの出力ベクトルはa_k=f_k(W_k’a_{k-1})として定義され得、ここで、f_k(.)は層kの活性化関数であり、W_kはモデル重み付けの行列であり、及びa_0は入力層(符号化された入力特徴)である。プロバイダモデルの出力すなわち最終予測(例えば予測ctr)は、次にシグモイド(a_K’w_K)として計算され、ここでw_Kは最上層の重みベクトルである。この例では、予測ctrの代わりに/又はこれに加えて、最上層の出力a_Kが消費者システムへ転送され得る。
【0040】
[0046] いくつかのケースでは、消費者システムへ転送されるデータは、サービス要求を受信することに応答して生成され得る。サービス要求は所望モデル出力又は転送されるデータを指示し得る。いくつかのケースでは、サービス要求は、モデル出力が送信される送付先に関する情報(例えば消費者システムID/アドレス、消費者機械学習モデルIDなど)、要求の目的(例えば、モデルをトレーニングするため、予測を行うための)、要求データのタイプ(例えばモデル出力、モバイルデバイス広告(Ad)ID、データを連結するための発行者名などの特徴)、データセットの量(例えば転送されるデータの量)等を含み得る。
【0041】
[0047] 次に、消費者機械学習モデルをトレーニングするためのトレーニングデータセットを生成するために使用されるデータが、消費者システムへ転送され得る(操作402)。このデータは、定期的又はオンデマンド方式で転送され得る。例えば、このデータは、プロバイダシステムにデータを消費者システムへ提供することを要求する命令を受信すると転送され得る。
【0042】
[0048] プロバイダシステムから転送されるデータは、トレーニングデータセット又は評価データセットを形成するために消費者プライベートデータと連結され得る(操作404)。消費者機械学習モデルをトレーニングするためのトレーニングデータセット及び/又は評価データセットは、転送されたデータ(プロバイダ)及び消費者入力特徴の両方からの入力特徴を含み得る。本明細書の他のどこかで説明されるように、いくつかのケースでは、プロバイダ機械学習モデルにより提供されるデータの少なくとも一部は、消費者モデルをトレーニングする(例えば教師有り学習の)ためのラベル付きデータとして使用され得る。代替的に、プロバイダ機械学習モデルにより提供されるデータは、ラベル付きデータを含まなくてもよく、したがって転送されたデータは、消費者機械学習モデルのための入力特徴を生成するために使用され得る。
【0043】
[0049] 転送されたデータと連結される消費者入力特徴は複数の入力特徴から選択され得る(操作403)。いくつかのケースでは、消費者データは複数の入力特徴(各モバイルAd IDが獲得される製品、モバイルAd IDを使用するeコマースアプリなど)を抽出するために前処理され得る。トレーニングデータセット又は評価データセットはまた、ウェブサイト変換(例えば広告クリック、製品購入、アプリケーションインストール等)などの消費者プライベートデータに由来するラベル付きデータを含み得る。いくつかのケースでは、初期組の1つ又は複数の消費者入力特徴が選択され得る。消費者機械学習モデルの性能が十分でなければ(例えば、性能が閾値をパスしなければ)、新しいトレーニングデータセットを生成するために転送データと組み合わせるための異なる組の消費者入力特徴が選択され得る。このプロセスは、モデル評価が基本評価(最適組の入力特徴が判断され得る)を越えて改善されるまで反復され得る。
【0044】
[0050] トレーニングデータセットは、プロバイダシステムにより提供されるデータと選択された消費者入力特徴とを連結することにより生成され得る。いくつかのケースでは、これらのデータは共通特徴識別子(ID)により連結され得る。例えば、消費者入力特徴データとプロバイダシステムにより提供されるトレーニングサンプルデータとを連結するためのモバイルデバイス広告(Ad)ID及び発行者名などの共通特徴IDが使用され得る。例えば、クリックスルー率(ctr)予測では、プロバイダシステムから転送される1つのサンプルデータセットは以下のものを含み得る:(i)モバイルデバイスAd ID、(ii)Ad押下がなされた発行者の名前、(iii)プロバイダモデルの予測ctr、及び(iv)変換結果(例えば、ユーザがクリックしたか否か、ウェブサイト変換率など)。いくつかのケースでは、サンプルデータセット毎に、選択された消費者入力特徴(例えば各モバイルAd IDが獲得される製品、モバイルAd IDを使用するeコマースアプリ)が、消費者のトレーニングデータセットを生成するためにサンプルデータセットへ付加され得る。例えば、プライベート特徴及び(iii)プロバイダモデルの予測ctrが入力特徴を形成し得、及び(iv)プロバイダシステムから転送される変換結果は、消費者機械学習モデルをトレーニングするためのラベル付きデータとして使用され得る。
【0045】
[0051] トレーニングプロセス(操作405)中、モデルが評価され得(操作406)、及び1つ又は複数の性能メトリックが計算され得る。いくつかのケースでは、評価は、性能が十分かどうかを判断する(操作407)ために基本評価又は閾値(プロバイダモデル評価)と比較され得る。任意の好適なメトリックが、評価の性能メトリックとして選択され得る。メトリックは、モデル及びデータタイプ、目的、アプリケーションなどに基づき選択され得る。例えば、入力データが画像データを含めば、評価メトリックは、限定しないがピーク信号対雑音比(PSNR:Peak-Signal-to-Noise-Ratio)、正規化二乗平均平方根誤差(RMSE:Root-Mean-Squared-Error)、構造類似性指標(SSIM:Structural Similarity Index)、ソフトマックスエントロピー(softmax cross entropy)等を含み得る。
【0046】
[0052] いくつかのケースでは、性能メトリックが計算され及び閾値と比較され得る(操作407)。例えば、トレーニングされた分類器の性能メトリックはソフトマックス(softmax)エントロピーであり得、閾値はプロバイダシステムの分類器のソフトマックスエントロピーであり得る。閾値は固定値又は所定閾値であってもよいし動的に判断されてもよい。
【0047】
[0053] モデル評価が基本評価より良ければ、又はトレーニングされたモデルの性能が閾値をパスすれば、トレーニングされたモデルが予測のために配備され得る(操作408)。モデル評価が基本評価より良くなければ、転送されたデータと組み合わせるための異なる組の消費者入力特徴が、新しいトレーニングデータセットを生成するために選択され得る。このプロセスは、モデル評価が基本評価を越えて改善されるまで反復され得る(例えば、操作403~407が反復される)。
【0048】
[0054] 消費者機械学習モデルをトレーニングするための入力特徴は連続的に更新され得る。例えば、プロバイダシステムは、モデル出力を連続的に生成し、消費者システムへ渡し得る。いくつかのケースでは、消費者システム上で行われるトレーニングプロセス中に使用される入力特徴は定期的に更新され得る。代わりに又は加えて、モデル出力は、オンデマンド方式で消費者システムへ渡され得る。
【0049】
[0055] 図5はいくつかの実施形態による方法を示すが、当業者は様々な実施形態のための多くの適応化が存在するということを認識することになる。例えば、これらの操作は任意の順番で行われ得る。これらの操作のいくつかは排除され得る、これらの操作のいくつかは一工程内に同時に行われ得る、これらの操作のいくつかは反復され得、及びこれらの操作のいくつかは他の操作の副工程を含み得る。例えば、教師無し学習又は準教師有り学習がプロバイダ機械学習モデル及び/又は消費者機械学習モデルをトレーニングするために使用され得る。このような場合、トレーニングプロセスはラベル付きデータをほとんど必要としなくてもよい。本方法はまた、本明細書において提供される開示の他の態様に従って修正され得る。
【0050】
[0056] 図5は、予測プロセス500の一例を示す。提供される方法及びシステムは、プロバイダから受信されるデータに応答して動的に更新される消費者モデル予測を可能にし得る。消費者モデルは、プロバイダシステムにより提供されるデータ及び消費者プライベートデータに基づき予測を行い得る。
【0051】
[0057] プロバイダシステムは、サービス要求に応答して消費者システムへサービスされる入力特徴を生成し得る(操作501)。サービス要求は所望モデル出力を指示し得る。いくつかのケースでは、サービス要求は、モデル出力が送信される送付先に関する情報(例えば消費者システムID、消費者機械学習モデルIDなど)、要求の目的(例えば、モデルをトレーニングするための、予測を行うための)、要求データのタイプ(例えばモデル出力、最上層出力、プロバイダ入力特徴、モバイルデバイス広告(Ad)ID、データを連結するための発行者名などの特徴などの1つ又は複数の共通特徴)等を含み得る。サービス要求は予測を行うための任意のサービス要求であり得る。例えば、サービスは、クラウドクライアントのキャンペーンを広告するためのAd押下入札要求(押下機会)であり得る。入札要求は、ユーザ及び広告インベントリに関する情報(ユーザの広告ID、ユーザのジオロケーション、発行者名、及び広告創作フォーマットなど)を含み得る。サービス要求は、サービス要求のキー属性又は特徴データ(入札ID、ユーザ広告ID、広告インベントリID、ユーザロケーション及び発行者名など)を含み得る。
【0052】
[0058] プロバイダは、プロバイダ機械学習モデルを使用することにより予測を生成し得る(操作502)。いくつかのケースでは、予測は消費者システムにアクセス可能であるプロバイダデータに基づき生成され得る。次に、プロバイダ機械学習モデル出力(例えば予測)が消費者システムへ渡され得る(操作503)。消費者システムは、プロバイダシステムから送信されたデータを共通特徴IDなどの公開入力特徴と共に受信し得る(操作504)。次に、消費者システムは、消費者入力特徴を操作504において受信されたデータへ付加し、及び消費者機械学習モデルを使用することにより予測を生成し得る(操作505)。
【0053】
[0059] プロバイダ機械学習モデルにより生成された出力は、任意の好適な頻度で消費者システムへ提供され得る。例えば、予測毎に新しいモデル出力が要求され及び提供され得る。別の例では、複数予測のための新しいモデル出力が要求され及び提供され得る。
【0054】
[0060] 本開示の方法及びシステムは、任意のタイプの機械学習アルゴリズム、アーキテクチャ又は手法へ適用され得るということに注意すべきである。プロバイダシステム及び消費者システムは同じ機械学習アルゴリズムを使用し得る。プロバイダシステム及び消費者システムは異なる機械学習アルゴリズムを使用し得る。機械学習アルゴリズムはニューラルネットワークなどの任意のタイプにより実現され得る。ニューラルネットワークの一例は深層ニューラルネットワーク、畳み込みニューラルネットワーク、(CNN:convolutional neural network)、及び再帰型ニューラルネットワーク(RNN:recurrent neural network)を含む。機械学習アルゴリズムは以下のうちの1つ又は複数を含み得る:サポートベクトル機械(SVM:support vector machine)、単純ベイズ分類(naive Bayes classification)、線形回帰、分位点回帰、ロジスティック回帰(ランダムフォレスト)、ニューラルネットワーク、CNN、RNN、勾配ブースト型(gradient-boosted)分類器又は抑制器、又は別の教師有り又は教師無し機械学習アルゴリズム(例えば敵対的生成ネットワーク(GAN:generative adversarial network)、サイクルGANなど)。
【0055】
[0061] 本開示の方法及びシステムは様々なシナリオへ適用され得る。一例では、プロバイダは、クラウドサービスとしてプログラム式入札プラットホームをゲーム発行者及びeコマース会社などのクライアントへ提供するオンライン広告会社であり得る。消費者は、広告クラウドサービスプロバイダと共有し得ないプロプライエタリユーザデータを有する1つ又は複数のクライアント、ゲーム発行者及びeコマース会社を含み得る。広告クラウドサービスプロバイダは、クライアント(消費者)が広告キャンペーンを設定し及び運営し得るプラットホームを提供し、機械学習モデルを使用することによりリアルタイム入札交換から広告インベントリを購入し、並びに広告キャンペーンの結果を追跡し得る。このようなオンライン広告キャンペーンでは、どのように適切ユーザを標的とするか及びどのように様々な広告インベントリを値付けするか(広告押下)についての決定は、広告クリック、製品購入及びアプリケーションインストールなどの標的変換の確率を予測し得る機械学習モデルにより行われる。精確な機械学習モデルを構築することは、ユーザ振る舞い及び広告インベントリの有効性に関する大量のデータを必要とし得る。オンライン広告に対するユーザの応答及び広告インベントリの有効性は(大量の)広告キャンペーンを実行することにより学習され得るので、このようなデータを取得するために時間だけでなく多くの(広告)支出を要する。広告クラウドクライアント(消費者)がこの挑戦的課題を克服するのを助け、及び機械学習モデル及び広告業務を始めから成功裏に構築するために、広告クラウドサービスプロバイダはサービスとして機械学習予測を提供し得る。プロバイダは、オンライン広告キャンペーンの成功ための大量のデータ及び先進的機械学習モデルを既に有する。プロバイダのプロプライエタリデータ(消費者プロプライエタリデータ無し)及び機械学習モデルを使用することにより、プロバイダは、クリックスルー率及び広告クラウドクライアントのキャンペーンを広告するための入力入札要求(押下機会)の獲得率などの予測を行い得る。次に、プロバイダのシステムは、深層ニューラルネットワークの最上層の予測クリックスルー率及び/又は出力などのプロバイダの機械学習モデルからの出力と共に広告インベントリID、ユーザロケーション、並びにユーザIDなどの入札要求のキー属性を消費者のシステムへ送信する。消費者のシステムは、プロバイダの予測結果を取り入れ、これとそのプロプライエタリユーザデータとを連結し、及び連結されたデータセットを第2の機械学習モデルへの入力として使用する。第2の機械学習モデルの精度はプロバイダの第1の機械学習モデルを越えて改善され得る。第2の機械学習モデルの性能は、プロバイダの機械学習モデルの性能と、消費者システムのプロプライエタリユーザデータだけを使用することによりトレーニングされた機械学習モデルの性能とを超えて改善され得る。プロバイダのプロプライエタリデータ及びモデル設計は消費者のシステムに対して可視ではなく、且つ消費者のプロプライエタリデータ及びモデル設計はプロバイダのシステムに対して可視ではない。
【0056】
[0062] 図6は、連続機械学習システム600内の消費者システム610及びプロバイダシステム620とインターフェースする集積コンポーネント630の一例を示す。プロバイダシステム620は、集積コンポーネント630を介しモデル出力622,622-Nを1つ又は複数の消費者システム610,610-Nへ提供し得る。1つ又は複数の消費者システム610,610-Nへ提供されるモデル出力622,622-Nは同じでなくてもよい。例えば、1つ又は複数の消費者システム610,610-Nへ提供されるモデル出力622,622-Nは異なる消費者モデルをトレーニングするために使用され得る。集積コンポーネント630は本明細書の他のどこかで説明した集積点と同じであり得る。いくつかのケースでは、集積コンポーネント630は、消費者機械学習モデルをトレーニングするための及び予測を行うための入力データ632,632-Nを形成するためにモデル出力622,622-Nと消費者プライベートデータとを連結するように構成され得る。
【0057】
[0063] プロバイダシステム620は、複数のコンポーネントを含み得る。いくつかの実施形態では、複数のコンポーネントは、限定しないがモデル予測モジュール621、モデルトレーニングモジュール623、ユーザインターフェースモジュール625及びデータ通信モジュール627を含み得る。
【0058】
[0064] モデル予測モジュール621は、トレーニングされたモデルを使用することにより予測を行うように構成され得る。次に、消費者学習モジュールをトレーニングするための及び/又は図4及び図5に関する本開示方法に準拠する推測を行うためのモデル出力(例えば予測)622が、消費者システム610へ転送され得る。例えば、消費者機械学習モデルが予測を行うために配備される場合、モデル予測モジュール621は、消費者機械学習モデルによりさらに処理される入力データ632を生成するために使用されるモデル出力を生成するためにプロバイダ機械学習モデルを実行し得る。
【0059】
[0065] モデルトレーニングモジュール623は1つ又は複数のプロバイダ機械学習モデルをトレーニングするように構成され得る。1つ又は複数のプロバイダ機械学習モデルはプロバイダデータに基づきトレーニングされ得る。プロバイダデータはデータベース629などのデータレポジトリ内に格納され得る。
【0060】
[0066] ユーザインターフェースモジュール625は、ユーザデバイス上で実行するユーザインターフェースを提供するように構成され得る。いくつかのケースでは、ユーザ又は消費者は、モデル出力サービスを取得するためにプロバイダモデルセットからモデルを選択することを許可され得る。例えば、ユーザは、要求されたアプリケーションフィールド(例えばクリックスルー率予測)、要求されたデータタイプのモデル出力、又は適切なプロバイダ機械学習モデルを選択するための他の情報を入力し得る。ユーザはグラフィックユーザインターフェース(GUI)及びウェブベースユーザインターフェースを介しサービスを選択し得る。
【0061】
[0067] グラフィックユーザインターフェース(GUI)は、テキストベースインターフェース、タイプされる命令ラベル又はテキストナビゲーションとは対照的に、グラフィックアイコン並びに二次表記法などの視覚的指示子を介しユーザが電子デバイスと相互作用することを可能にするタイプのインターフェースである。GUIにおける行為は通常、グラフィック要素の直接操作を介し行われる。コンピュータに加えて、GUIは、MP3プレーヤなどの携帯デバイス、ポータブル媒体プレーヤ、ゲームデバイス並びに小型家庭、オフィス及び工業機器内に見出され得る。GUIは、ソフトウェア、ソフトウェアアプリケーション、ウェブブラウザなど内に提供され得る。GUIは、ユーザデバイス又は消費者システム(例えばモバイルデバイス、パーソナルコンピュータ、パーソナルデジタルアシスタント、クラウド計算システムなど)上に表示され得る。GUIはモバイルアプリケーション又はウェブアプリケーションを介し提供され得る。
【0062】
[0068] いくつかのケースでは、グラフィックユーザインターフェース(GUI)又はユーザインターフェースはディスプレイ上に提供され得る。ディスプレイはタッチスクリーンであってもなくてもよい。ディスプレイは、発光ダイオード(LED)画面、有機発光ダイオード(OLED)画面、液晶ディスプレイ(LCD)画面、プラズマ画面又は任意の他のタイプの画面であり得る。ディスプレイはアプリケーションを介し(例えばユーザデバイス又は消費者システム上又はクラウド上で実行されるアプリケーションプログラムインターフェース(API)を介し)描写されるユーザインターフェース(UI)又はグラフィックユーザインターフェース(GUI)を示すように構成され得る。
【0063】
[0069] データ通信モジュール627はデータをプロバイダシステムから消費者システムへ送信するように構成され得る。いくつかのケースでは、データ通信モジュールは一組の送信規則に基づきデータを送信し得る。例えば、モデル出力622,622-Nをサービスするための1つ又は複数の規則が設定され得る。一組の送信規則は、送信頻度、送信されるデータ(例えばデータの選択、データの量、バッチデータ、ストリームデータなど)、送信の送付先等に関する情報を含み得る。例えば、要求に応答してモデル出力を送信する頻度が送信規則内に設定され得る。モデル出力又はデータの送信は、消費者機械学習モデルにより行われる各予測に関し又は所定数の予測に関し行われ得る。別の例では、モデル出力又はデータが送信される送付先(例えば消費者モデルID、消費者システム、ID/アドレスなど)が規則内に設定され得る。送信規則はまた、どのように(バッチデータ(例えばトレーニングするための)の形式で又はデータストリーム(例えば予測を行うための)の形式で)データが送信されるべきかを指示し得る。いくつかのケースでは、一組の送信規則はプロバイダシステムにより自動的に設定され得る。代わりに又は加えて、1つ又は複数の送信規則は、ユーザデバイス上で実行するGUI又はウェブブラウザを介するなどして消費者又はユーザにより設定され得る。
【0064】
[0070] データベース629はプロバイダシステム620にアクセス可能であり得る。データベース629は消費者システム610にアクセス不能であり得る。データベース629は、プロバイダ機械学習モデルをトレーニングするためのトレーニングデータセット(例えば特徴ベクトル、ラベル付きデータなど)、モデル設計(例えばモデルアーキテクチャ)、モデル重み付け(例えばハイパーパラメータ、プロバイダ機械学習モデルの重み付けなど)、プロバイダモデルシステムのコンポーネントの入力データ及び出力データ、歴史的データ(例えばモバイルデバイスAd ID、発行者、変換結果などの名前)、又はプロバイダシステムに関連付けられたコードなどのプロバイダデータを格納し得る。いくつかのケースでは、データベースはまた、上述のような送信規則に関するデータを格納し得る。
【0065】
[0071] 消費者システム610は複数のコンポーネントを含み得る。いくつかの実施形態では、複数のコンポーネントは、限定しないがモデル予測モジュール611、モデルトレーニングモジュール613及びデータ通信モジュール615を含み得る。
【0066】
[0072] モデル予測モジュール611はトレーニングされた消費者モデルを使用して予測を行うように構成され得る。モデル予測モジュールは、図4及び図5に関する本開示方法に準拠する推論を行うためのプロバイダシステムにより提供されるモデル出力(例えば予測)622を受信し得る。例えば、消費者機械学習モデルが予測を行うために配備される場合、モデル出力622,622-Nに基づき生成された入力データ632,632-N及び消費者プライベートデータの両方は、予測を行うために、トレーニングされた消費者機械学習モデルへ供給され得る。
【0067】
[0073] モデルトレーニングモジュール613は1つ又は複数の消費者機械学習モデルをトレーニングするように構成され得る。1つ又は複数の消費者機械学習モデルは、プロバイダシステムにより提供されるデータ及び本明細書の他のどこかで説明した消費者ローカルデータに基づきトレーニングされ得る。プライベート消費者又はローカルデータはデータベース617などのデータレポジトリ内に格納され得る。
【0068】
[0074] 消費者システム610はデータ通信モジュール615を任意選択的に含み得る。データ通信モジュール615はデータをプロバイダシステムから受信するように構成され得る。データ通信モジュール615はまた集積モジュール630に一体化されてもよいしその一部であってもよいということに注意すべきである。
【0069】
[0075] 本システムのデータベース629、617及びデータレポジトリ207、217は任意の好適なデータベース技術を利用し得る。例えば、構造化照会言語(SQL:structured query language)すなわち「NoSQL」データベースが、照会データ、トレーニングデータセット、歴史的データ、予測モデル又はアルゴリズムを格納するために利用され得る。データベースのいくつかは、アレイ、ハッシュ、(リンクされた)リスト、構造体、構造化テキストファイル(例えばXML)、表、JavaScriptオブジェクト表記法(JSON:JavaScript Object Notation)、NOSQL等の様々な標準データ構造を使用して実現され得る。このようなデータ構造はメモリ内及び/又は(構造化)ファイス内に格納され得る。別の代替案では、オブジェクト指向型データベースが使用され得る。オブジェクトデータベースは、共通属性によりグループ分け及び/又は連結される多くのオブジェクト集合を含み得る;すなわち、いくつかの共通属性により他のオブジェクト集合へ関係付けられ得る。オブジェクト指向型データベースは、オブジェクトが単なるデータではないということを除いてリレーショナルデータベースと同様に行うが、所与のオブジェクト内にカプセル化された他のタイプの機能性を有し得る。いくつかの実施形態では、データベースは、データを表し格納するためにノード、エッジ及び特性に関し照会するためのグラフ構造を使用するグラフデータベースを含み得る。本発明のデータベースがデータ構造として実装されれば、本発明のデータベースの使用は、本発明のコンポーネントなどの別のコンポーネント内へ集積化され得る。また、データベースは、データ構造、オブジェクト、及び関係構造の混合として実装され得る。データベースは標準データ処理技術を介し変形形態で統合及び/又は分散され得る。データベースの一部(例えば表)はエキスポート及び/又はインポートされしたがって分散化及び/又は一体化され得る。
【0070】
[0076] 集積コンポーネント630は、消費者機械学習モデルをトレーニングするために及び予測を行うために使用される得る入力データ632,632-Nを形成するためにモデル出力622,622-Nと消費者プライベートデータとを連結し得る。集積コンポーネントは上述のような方法を使用することによりデータを連結するように構成され得る。例えば、トレーニング段階中、プロバイダシステムにより提供されるデータは選択された消費者入力特徴と連結され得る。集積コンポーネント630はプロバイダシステムから転送されるデータと連結される1つ又は複数の消費者入力特徴を選択するように構成され得る。いくつかのケースでは、これらのデータは共通特徴識別子(ID)により連結され得る。例えば、消費者入力特徴データとプロバイダシステムにより提供されるトレーニングサンプルデータとを連結するためのモバイルデバイス広告(Ad)ID及び発行者名などの共通特徴IDが使用され得る。例えば、クリックスルー率(ctr)予測では、プロバイダシステムから転送される1つのサンプルデータセットは以下のものを含み得る:(i)モバイルデバイスAd ID、(ii)Ad押下がなされた発行者の名前、(iii)プロバイダモデルの予測ctr、及び(iv)変換結果(例えば、ユーザがクリックしたか否か、ウェブサイト変換率など)。いくつかのケースでは、サンプルデータセット毎に、選択された消費者入力特徴(例えば各モバイルAd IDが獲得される製品、モバイルAd IDを使用するeコマースアプリ)が、消費者のトレーニングデータセットを生成するためにサンプルデータセットへ付加され得る。例えば、プライベート特徴及び(iii)プロバイダモデルの予測ctrが入力特徴を形成し得、及び(iv)プロバイダシステムから転送される変換結果は消費者機械学習モデルをトレーニングするためのラベル付きデータとして使用され得る。
【0071】
[0077] 集積コンポーネントはプロバイダシステム及び消費者システムの両方をインターフェースするスタンドアロンコンポーネントとして示されるがプロバイダシステム及び/又は消費者システムの一部であり得るということに注意すべきである。
【0072】
[0078] 集積コンポーネント、消費者システム、プロバイダシステム、消費者システム又はプロバイダシステムのコンポーネントは、ソフトウェア、ハードウェア、ファームウェア、埋め込み型ハードウェア、スタンドアロンハードウェア、特殊用途ハードウェア、又はこれらの任意の組み合わせで実装され得る。集積コンポーネント、プロバイダシステム及びそのコンポーネント、消費者システム及びそのコンポーネント、並びに本明細書において説明される技術は、ディジタル電子回路構成、集積回路構成、特別設計ASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実現され得る。これらのシステム、デバイス、及び技術は、データ及び命令をストレージシステム、少なくとも1つの入力装置、及び少なくとも1つの出力デバイスと送受信するように結合された特殊用途又は汎用であり得る少なくとも1つのプログラム可能プロセッサを含むプログラマブルシステム上で実行可能及び/又は解釈可能である1つ又は複数のコンピュータプログラムにおける実装を含み得る。これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、又はコードとしても知られる)は、プログラム可能プロセッサの機械語命令を含み得、及びハイレベル手順及び/又はオブジェクト指向プログラミング言語において及び/又はアセンブリ/機械語において実現され得る。本明細書で使用されるように、用語「機械可読媒体」及び「コンピュータ可読媒体」は、機械語命令及び/又はデータをプログラム可能プロセッサへ提供するために使用される任意のコンピュータプログラム製品、装置及び/又はデバイス(磁性ディスク、光ディスク、メモリ、又はプログラマブルロジックデバイス(PLD)など)を指す。
【0073】
[0079] いくつかのケースでは、本明細書において説明した方法に準拠する1つ又は複数の機能又は操作はクラウドサービス(ウェブサービスモデルなど)として配備され得るソフトウェアアプリケーションとして提供され得る。クラウド計算資源は物理的又は仮想的コンピュータ資源(例えば仮想機械)であり得る。いくつかの実施形態では、クラウド計算資源は、ストレージ資源(例えばストレージエリアネットワーク(SAN:Storage Area Network)、ネットワークファイルシステム(NFS:Network File System)、又はAmazon S3.RTM)、ネットワーク資源(例えばファイアウォール、ロードバランサ(load-balancer)、又はプロキシサーバ)、内部プライベート資源、外部プライベート資源、安全な公開資源(インフラストラクチャ・アズ・ア・サービス(IaaS:infrastructure-as-a-service)資源、プラットホーム・アズ・ア・サービス(PaaS:platform-as-a-service)資源、又はソフトウェア・アズ・ア・サービス(SaaS:software-as-a-service)資源である。したがって、いくつかの実施形態では、提供されるクラウド計算サービスは、プライベート又は商用(例えば、公開)クラウドサービスプロバイダにより提供されるIaaS、PaaS、又はSaaSを含み得る。
【0074】
コンピュータシステム
[0080] 本明細書において説明されるプロバイダシステム、消費者システム、集積コンポーネント、又はプロセスは1つ又は複数のプロセッサにより実現され得る。いくつかの実施形態では、1つ又は複数のプロセッサは、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、及び/又は1つ又は複数のアドバンストRISC機械(ARM:Advanced RISC Machine)プロセッサなどの密粒度空間的アーキテクチャの形式のプログラム可能プロセッサ(例えば中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、汎用処理ユニット、又はマイクロコントローラ)であり得る。いくつかの実施形態では、プロセッサはコンピュータシステムの処理ユニットであり得る。図7は連続機械学習システムを実現するようにプログラム又はそうでなければ構成されたコンピュータシステム701を示す。コンピュータシステム701は本開示の様々な態様を規制し得る。
【0075】
[0081] コンピュータシステム701は、シングルコア若しくはマルチコアプロセッサ又は並列処理のための複数のプロセッサであり得る中央処理ユニット(CPU、また本明細書では「プロセッサ」及び「コンピュータプロセッサ」)705を含む。コンピュータシステム701はまた、メモリ又はメモリロケーション710(例えばランダムアクセスメモリ、読み出し専用メモリ、フラッシュメモリ)、電子ストレージユニット715(例えばハードディスク)、1つ又は複数の他のシステムと通信するための通信インターフェース720(例えばネットワークアダプタ)、及びキャッシュ、他のメモリ、データストレージ及び/又は電子表示アダプタなどの周辺デバイス725を含む。メモリ710、ストレージユニット715、インターフェース720及び周辺デバイス725はマザーボードなどの通信バス(実線)を介しCPU705と通信状態にある。ストレージユニット715はデータを格納するためのデータストレージユニット(又はデータレポジトリ)であり得る。コンピュータシステム701は通信インターフェース720の助けを借りてコンピュータネットワーク(「ネットワーク」)730へ作動可能に結合し得る。ネットワーク730はインターネット、インターネット及び/又はエクストラネット、又はインターネットと通信状態にあるイントラネット及び/又はエクストラネットであり得る。いくつかのケースでは、ネットワーク730はリモート通信及び/又はデータネットワークである。ネットワーク730は、クラウド計算などの分散計算を可能にし得る1つ又は複数のコンピュータサーバを含み得る。ネットワーク730(いくつかのケースではコンピュータシステム701の助けを借りる)は、コンピュータシステム701へ結合されるデバイスがクライアント又はサーバとして振る舞うことを可能にし得るピア・ツー・ピアネットワークを実現し得る。
【0076】
[0082] CPU705はプログラム又はソフトウェアで具現化され得る一連の機械可読命令を実行し得る。命令はメモリ710などのメモリロケーション内に格納され得る。本開示の方法を実施するようにCPU705をその後にプログラムし得る又は構成し得る命令はCPU705へ向けられ得る。CPU705により行われる操作の一例は、フェッチ、復号、実行、及び書き戻しを含み得る。
【0077】
[0083] CPU705は集積回路などの回路の一部であり得る。システム701の1つ又は複数の他のコンポーネントは同回路内に含まれ得る。いくつかのケースでは、同回路は特定用途向け集積回路(ASIC)である。
【0078】
[0084] ストレージユニット715は、ドライバ、ライブラリ、及び保存されたプログラムなどのファイルを格納し得る。ストレージユニット715はユーザデータ(例えばユーザ嗜好、ユーザプログラム)を格納し得る。いくつかのケースにおけるコンピュータシステム701は、コンピュータシステム701の外側にある(例えば、イントラネット又はインターネットを介しコンピュータシステム701と通信状態にあるリモートサーバ上に在る)1つ又は複数の追加データストレージユニットを含み得る。
【0079】
[0085] コンピュータシステム701はネットワーク730を介し1つ又は複数のリモートコンピュータシステムと通信し得る。例えば、コンピュータシステム701は、ユーザ(例えばユーザデバイス)のリモートコンピュータシステムと通信し得る。リモートコンピュータシステムの例は、パーソナルコンピュータ(例えばポータブルPC)、スレート又はタブレットPC(例えばApple(登録商標)iPad、Samsung(登録商標)Galaxy Tab)、電話、スマートフォン(例えばApple(登録商標)iPhone、アンドロイド使用可能デバイス、Blackberry(登録商標))、又はパーソナルデジタルアシスタントを含む。ユーザはネットワーク730を介しコンピュータシステム701にアクセスし得る。
【0080】
[0086] 本明細書において説明される方法は、コンピュータシステム701の電子ストレージロケーション上(例えばメモリ710又は電子ストレージユニット715上など)に格納される機械(例えばコンピュータプロセッサ)実行可能コードにより実施され得る。機械実行ファイル又は機械可読コードはソフトウェアの形式で提供され得る。使用中、コードはプロセッサ705により実行され得る。いくつかのケースでは、コードは、ストレージユニット715から取り出され、及びプロセッサ705によるレディアクセス(ready access)のためにメモリ710上に格納され得る。いくつかの状況では、電子ストレージユニット715は排除され得、したがって機械実行可能命令はメモリ710上に格納される。
【0081】
[0087] コードは、コードを実行するように適合化されたプロセッサを有する機械による使用のために事前コンパイルされ及び構成されてもよいし、実行時中にコンパイルされてもよい。機械実行可能コードは、コードがコンパイル又は事前コンパイルされる方式で実行されることを可能にするように選択され得るプログラミング言語で提供され得る。
【0082】
[0088] コンピュータシステム701など、本明細書で提供されるシステム及び方法の態様は、プログラミングで具現化され得る。本技術の様々な態様は、通常は機械(又はプロセッサ)実行可能コードの形式で及び/又はあるタイプの機械可読媒体で実行又は具現される関連データの形式の「製品」又は「製造物品」と考えられ得る。機械実行可能コードは、メモリ(例えば、読み出し専用メモリ、ランダムアクセスメモリ、フラッシュメモリ)又はハードディスクなどの電子ストレージデバイス上に格納され得る。「ストレージ」型媒体は、コンピュータ、プロセッサなど、又はその関連モジュール(ソフトウェアプログラミングのためにいつでも非一時的ストレージを提供し得る様々な半導体メモリ、テープドライブ、ディスクドライブなど)の有形なメモリのうちの任意のもの又はすべてを含み得る。ソフトウェアのすべて又は一部は、インターネット又は様々な他の通信ネットワークを介し適宜伝達される。このような通信は例えば、1つのコンピュータ又はプロセッサから別のものへ(例えば、管理サーバ又はホストコンピュータからアプリケーションサーバのコンピュータプラットフォームへ)のソフトウェアのローディングを可能にし得る。したがって、ソフトウェア要素を有し得る別の型の媒体が、ローカルデバイス間の物理インターフェースにわたって、有線及び光学的地上通信線ネットワークを介し、及び様々なエアリンク上で使用されるような光学的、電気的、電磁的波を含むソフトウェア要素を運び得る。有線又は無線リンク、光リンクなどのこのような波を運ぶ物理要素もまたソフトウェアを運ぶ媒体と考えられ得る。本明細書で使用されるように、非一時的、有形「ストレージ」媒体に限定されない限り、コンピュータ又は機械「可読媒体」などの用語は、実行のためにプロセッサへ命令を提供することに関与する任意の媒体を指す。
【0083】
[0089] したがって、コンピュータ実行可能コードなどの機械可読媒体は、限定しないが有形ストレージ媒体、搬送波媒体、又は物理的送信媒体を含む多くの形態を取り得る。不揮発性ストレージ媒体は例えば、図に示されるデータベースなどを実現するために使用され得るような任意のコンピュータ内のストレージデバイスの任意のものなどの光学的又は磁気的ディスクを含む。揮発性ストレージ媒体はこのようなコンピュータプラットフォームの主メモリなどのダイナミックメモリを含む。有形送信媒体は同軸ケーブル、すなわちコンピュータシステム内のバスを含む配線を含む銅線及び光ファイバを含む。搬送波送信媒体は、電気的又は電磁気的信号、又は無線周波数(RF)及び赤外線(IR)データ通信中に生成されるような音波又は光波の形態を取り得る。したがって、コンピュータ可読媒体の一般的形式は、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、CD-ROM、DVD又はDVD-ROM、任意の他の光媒体、パンチカード、紙テープ、孔のパターンを有する任意の他の物理的ストレージ媒体、RAM、ROM、PROM及びEPROM、FLASH-EPROM、任意の他のメモリチップ又はカートリッジ、搬送波輸送データ又は命令、搬送波を輸送するケーブル又はリンク、又はコンピュータがプログラミングコード及び/又はデータを読み出し得る任意の他の媒体を含む。これらのコンピュータ可読媒体の形態の多くは、1又は複数のシーケンスの1つ又は複数の命令を実行するためにプロセッサへ運ぶことに関与し得る。
【0084】
[0090] コンピュータシステム701は、本明細書の他のどこかで説明した例えばグラフィックユーザインターフェースを提供するためのユーザインターフェース(UI)740を含む電子ディスプレイ735を含み得る又はそれと通信状態にあり得る。UIの例は、限定しないがグラフィックユーザインターフェース(GUI)及びウェブベースユーザインターフェースを含む。
【0085】
[0091] 本開示の方法及びシステムは、1つ又は複数のアルゴリズムにより実施され得る。アルゴリズムは、中央処理ユニット705により実行されるソフトウェアにより実現され得る。アルゴリズムは、例えば予測モデルなどの、トレーニングされたモデルであり得る。
【0086】
[0092] 特定の実施形態が示され説明されたが、それらに対して様々な修正がなされ得、且つ本明細書において企図されるということが、上記説明から理解されるべきである。本発明が本明細書内に提供される具体例により制限され得るということも意図されていない。本発明は、前述の明細書を参照して説明されたが、本明細書に記載の好ましい実施形態の説明及びイラストは、限定的意味で解釈されることを意味しない。さらに、本発明のすべての態様は、多種多様な条件及び変数に依存する本明細書に記載された特定の描写、構成、又は相対的比率に限定されないということが理解されるべきである。本発明の実施形態の形式と詳細における様々な修正は、当業者にとって明らかである。したがって、本発明はまた、任意のこのような修正、変形、及び等価物をカバーするものと考えられる。
図1
図2
図3
図4
図5
図6
図7