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

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

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特許7667623抽象的特性を学習することを含む、認知的タスクを解決するコンピュータ実装方法、コンピュータ制御化されたシステム、コンピュータプログラム(抽象的理由付けに関するニューラルネットワークシステム)
<>
  • 特許-抽象的特性を学習することを含む、認知的タスクを解決するコンピュータ実装方法、コンピュータ制御化されたシステム、コンピュータプログラム(抽象的理由付けに関するニューラルネットワークシステム) 図1
  • 特許-抽象的特性を学習することを含む、認知的タスクを解決するコンピュータ実装方法、コンピュータ制御化されたシステム、コンピュータプログラム(抽象的理由付けに関するニューラルネットワークシステム) 図2A
  • 特許-抽象的特性を学習することを含む、認知的タスクを解決するコンピュータ実装方法、コンピュータ制御化されたシステム、コンピュータプログラム(抽象的理由付けに関するニューラルネットワークシステム) 図2B
  • 特許-抽象的特性を学習することを含む、認知的タスクを解決するコンピュータ実装方法、コンピュータ制御化されたシステム、コンピュータプログラム(抽象的理由付けに関するニューラルネットワークシステム) 図2C
  • 特許-抽象的特性を学習することを含む、認知的タスクを解決するコンピュータ実装方法、コンピュータ制御化されたシステム、コンピュータプログラム(抽象的理由付けに関するニューラルネットワークシステム) 図2D
  • 特許-抽象的特性を学習することを含む、認知的タスクを解決するコンピュータ実装方法、コンピュータ制御化されたシステム、コンピュータプログラム(抽象的理由付けに関するニューラルネットワークシステム) 図3
  • 特許-抽象的特性を学習することを含む、認知的タスクを解決するコンピュータ実装方法、コンピュータ制御化されたシステム、コンピュータプログラム(抽象的理由付けに関するニューラルネットワークシステム) 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-04-15
(45)【発行日】2025-04-23
(54)【発明の名称】抽象的特性を学習することを含む、認知的タスクを解決するコンピュータ実装方法、コンピュータ制御化されたシステム、コンピュータプログラム(抽象的理由付けに関するニューラルネットワークシステム)
(51)【国際特許分類】
   G06N 3/08 20230101AFI20250416BHJP
   G06N 3/04 20230101ALI20250416BHJP
   G06F 18/2433 20230101ALI20250416BHJP
【FI】
G06N3/08
G06N3/04
G06F18/2433
【請求項の数】 20
(21)【出願番号】P 2021158545
(22)【出願日】2021-09-28
(65)【公開番号】P2022056413
(43)【公開日】2022-04-08
【審査請求日】2024-02-15
(31)【優先権主張番号】17/036,124
(32)【優先日】2020-09-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】ケルビーニ ジョバンニ
(72)【発明者】
【氏名】ジョンソン ハライナー フレイアー
(72)【発明者】
【氏名】エレフテリオウ エバンゲロス スタブロス
【審査官】福西 章人
(56)【参考文献】
【文献】特表2019-509551(JP,A)
【文献】特開平04-080890(JP,A)
【文献】米国特許出願公開第2016/0321522(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 18/00-18/40
(57)【特許請求の範囲】
【請求項1】
抽象的特性を学習することを含む、認知的タスクを解決するコンピュータ実装方法であって、方法は、プロセッサを使用して、
入力ユニットからデータセットにアクセスする段階であって、前記データセットは前記抽象的特性を特徴づけ、前記データセットは複数のデータを含む、段階と、
アクセスされたデータセットをニューラルネットワークモジュールの第1ニューラルネットワークへ入力する段階と、
前記第1ニューラルネットワークを実行し、前記複数のデータのデータごとに第1埋め込みを生成する段階と、
生成された前記第1埋め込みのペアを形成する段階であって、形成された前記ペアは、前記複数のデータのデータごとの、前記複数のデータのうちの他の各データとのペアに対応する前記第1埋め込みのペアである、段階と、
前記形成されたペアに対応するデータを前記ニューラルネットワークモジュールの第2ニューラルネットワークへ入力する段階と、
前記第2ニューラルネットワークを実行して、前記第1埋め込みの前記ペアの関連的特性を捕捉する第2埋め込みを前記複数のデータのデータごとに生成する段階と、
前記第2埋め込みに基づいて、前記ニューラルネットワークモジュールの第3ニューラルネットワークを実行して、前記複数のデータのデータごとの出力値を取得する段階と、
取得された前記複数のデータのデータごとの前記出力値に基づいて、前記データセットの1または複数の抽象的特性を学習して、認知的タスクを解決する段階と、
を含む、方法。
【請求項2】
前記第1ニューラルネットワークは畳み込みニューラルネットワークである、請求項1に記載の方法。
【請求項3】
前記第2ニューラルネットワークおよび前記第3ニューラルネットワークのそれぞれは完全接続されたニューラルネットワークである、請求項2に記載の方法。
【請求項4】
相互情報ベースの正則化手段を使用して、前記第1ニューラルネットワークおよび前記第2ニューラルネットワークのうち少なくとも1つを正則化する段階をさらに含む、請求項3に記載の方法。
【請求項5】
前記相互情報ベースの正則化手段を使用する段階が、相互情報ベースの関数を最小化することによって判断される正則化項を適用する段階を含む、請求項4に記載の方法。
【請求項6】
適用される前記正則化項が、情報ボトルネック関数への変分近似に従って判断される、請求項5に記載の方法。
【請求項7】
前記畳み込みニューラルネットワークは少なくとも5つの層を含む、請求項2から6のいずれか一項に記載の方法。
【請求項8】
前記第2ニューラルネットワークは4つの層を含む、請求項3から7のいずれか一項に記載の方法。
【請求項9】
前記第3ニューラルネットワークは3つの層を含む、請求項3から8のいずれか一項に記載の方法。
【請求項10】
前記第1埋め込みの前記ペアを形成する段階が、第1埋め込みの前記ペアを連結する段階を含み、
前記形成されたペアに対応するデータが、第1埋め込みの前記ペアとに単一ベクトルを形成する連結された値を含む、
請求項1から9のいずれか一項に記載の方法。
【請求項11】
前記データセットのうちの同じ1つに対応する第2ニューラルネットワークからの全ての出力が、それらの実行のために前記第3ニューラルネットワークに入力される前に、合計される、請求項1から10のいずれか一項に記載の方法。
【請求項12】
前記アクセスされたデータセットは、前記抽象的特性を特徴づけるフレームにそれぞれ対応する、請求項1から11のいずれか一項に記載の方法。
【請求項13】
前記認知的タスクは視覚的オディティのタスクであり、前記アクセスされたフレームのうちの1つがオディティを表す、請求項12に記載の方法。
【請求項14】
前記1または複数の抽象的特性を学習する段階は、各フレームがオディティである確率を判断するように、取得された出力値にわたってソフトマックス関数を適用する段階を含む、請求項13に記載の方法。
【請求項15】
前記第1ニューラルネットワーク、前記第2ニューラルネットワーク、および前記第3ニューラルネットワークのそれぞれは、1または複数の以前の異なる認知的タスクを解決するために、前記第1ニューラルネットワーク、前記第2ニューラルネットワーク、および前記第3ニューラルネットワークの実行の際に学習されるようなニューラルネットワークパラメータに基づいて実行される、請求項1から14のいずれか一項に記載の方法。
【請求項16】
抽象的特性の学習を含む、認知的タスクを解決するコンピュータ制御化されたシステムであって、前記システムは、
前記抽象的特性を特徴づけるデータセットにアクセスするように適合された入力ユニットと、
前記入力ユニットに接続されるニューラルネットワークモジュールであって、前記ニューラルネットワークモジュールは第1ニューラルネットワークと、構造的オペレーションユニットと、第2ニューラルネットワークと、第3ニューラルネットワークとを含み、
前記データセットは複数のデータを含み、
前記第1ニューラルネットワークは、前記入力ユニットによってアクセスされるようなデータセットに基づく実行の際に、前記複数のデータのデータごとに第1埋め込みを生成するように構成され、
前記構造的オペレーションユニットは、前記第1ニューラルネットワークによって生成される前記第1埋め込みのペアを形成するように構成され、前記ペアは、前記複数のデータのデータごとの、前記複数のデータのうちの他の各データとのペアに対応する前記第1埋め込みのペアであり
前記第2ニューラルネットワークは、前記構造的オペレーションユニットによって形成されるようなペアに対応するデータに基づく実行の際に、前記データセットの前記ペアの関連的特性を捕捉する第2埋め込みを前記複数のデータのデータごとに生成するように構成され、
前記第3ニューラルネットワークは、前記第2ニューラルネットワークによって生成されるような第2埋め込みに基づく実行の際に、前記複数のデータのデータごとの出力値を作成するように構成される、ニューラルネットワークモジュールと、
前記ニューラルネットワークモジュールに接続され、前記第3ニューラルネットワークから取得されるような前記複数のデータのデータごとの前記出力値に基づくデータセットの1または複数の抽象的特性を学習するように構成され、前記認知的タスクを解決する、出力ユニットと、
を形成するように動作可能である、システム。
【請求項17】
前記システムは、畳み込みニューラルネットワークとして前記第1ニューラルネットワークを形成し、完全接続されたニューラルネットワークとして、前記第2ニューラルネットワークおよび前記第3ニューラルネットワークのそれぞれを形成するようにさらに動作可能である、請求項16に記載のシステム。
【請求項18】
前記ニューラルネットワークモジュールは、相互情報ベースの正則化手段を使用して、前記第1ニューラルネットワークおよび前記第2ニューラルネットワークのうちの少なくとも1つを正則化するようにさらに構成される、請求項17に記載のシステム。
【請求項19】
前記ニューラルネットワークモジュールが、前記第1ニューラルネットワークおよび前記第2ニューラルネットワークのうち少なくとも1つを正則化する際に、情報ボトルネック関数への変分近似に従って判断される正則化項を適用するようにさらに構成される、請求項18に記載のシステム。
【請求項20】
抽象的特性を学習することを含む、認知的タスクを解決するコンピュータプログラムであって、前記コンピュータプログラムは、それにより具現化されるプログラム命令を含み、前記プログラム命令は1または複数のプロセッサによって実行可能であり、
前記抽象的特性を特徴づけるデータセットにアクセスすることであって、前記データセットは複数のデータを含む、アクセスすることと、
前記アクセスされたデータセットを第1ニューラルネットワークへ入力し、第1ニューラルネットワークを実行し、前記複数のデータのデータごとに第1埋め込みを生成することと、
生成された前記第1埋め込みのペアを形成することであって、形成された前記ペアは、前記複数のデータのデータごとの、前記複数のデータのうちの他の各データとのペアに対応する前記第1埋め込みのペアである、形成することと、
前記形成されたペアに対応するデータを第2ニューラルネットワークへ入力し、前記第2ニューラルネットワークを実行して前記データセットの前記ペアの関連的特性を捕捉する第2埋め込みを前記複数のデータのデータごとに生成することと、
前記第2埋め込みに基づいて、第3ニューラルネットワークを実行して、前記複数のデータのデータごとの出力値を取得することと、
取得された前記複数のデータのデータごとの前記出力値に基づいて、前記データセットの1または複数の抽象的特性を学習して、前記認知的タスクを解決することと、
を生じさせる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は一般的に、抽象的特性の学習を要する認知的タスクを解決するための、コンピュータ実装方法およびシステムの分野に関する。
【背景技術】
【0002】
特に、本開示は、入力データセット(例えば、フレーム)のペアの関連的特性を捕捉する埋め込みを生成する結合ニューラルネットワークに依存する方法へと導かれ、そのようなデータセットは、学習されるべき抽象的特性を特徴づける。いくつかの実施形態において、ニューラルネットワークは、相互情報ベースの正則化手段を使用して有利に正則化され得る。
【0003】
1948年のEDVACシステムの開発は、コンピュータ時代の始まりとしてしばしば言及される。その時以来、コンピュータシステムは極度に複雑なデバイスへと発展してきた。今日のコンピュータシステムは通常、洗練されたハードウェアおよびソフトウェアコンポーネント、アプリケーションプログラム、オペレーティングシステム、プロセッサ、バス、メモリ、入力/出力デバイス、などの組み合わせを含む。半導体プロセッシングおよびコンピュータアーキテクチャの進歩が性能をより高く押し上げるにつれ、より一層進歩したコンピュータソフトウェアが、それらの能力のより高い性能の利点を取るように発展してきて、数年前よりはるかに力のある今日のコンピュータシステムをもたらしている。
【0004】
これらの新しい能力の1つのアプリケーションが機械学習である。機械学習は、ほとんどは人工ニューラルネットワーク(ANNs)に依存し、それらは概して、人間または動物の脳における生物学的ニューラルネットワークに触発された計算モデルを指す。そのようなシステムは通常、進歩的におよび自律的に、例によってタスクを学習する。すなわち、それらは、多くのタスクの中で特に、音声認識、テキスト処理、およびコンピュータビジョンへの適用に成功してきた。
【0005】
フィードフォワードニューラルネットワーク(FFNNs)に始まり、多層パーセプトロン、ディープニューラルネットワーク(DNNs)、および畳み込みニューラルネットワーク(CNNs)など、多くのタイプのANNが知られている。ANNは通常、ソフトウェアに実装され、ANNの実装の大多数はソフトウェア実装に関連する。しかしながら、ANNはまた、例えば、抵抗処理ユニットまたは光神経形態システムとして、ハードウェアにおいても実装され得る。
【発明の概要】
【発明が解決しようとする課題】
【0006】
視覚的オディティのタスクは、概して、点、線、平行、および対称などの幾何学の基本概念をテストするように設計されたタスクのセットを指す。それはまず、幾何学の概念的な原則の知識をテストする、神経科学実験の一部として紹介される。各タスクは6つのフレームを有し、そのうち5つは、テストされている幾何学的概念を含む。フレームのうちの1つは幾何学的概念を妨害し、オディティと呼ばれる。タスクの目標は、6つのフレームのうちいくつがオディティであるかを分類することである。
【課題を解決するための手段】
【0007】
第1の態様によれば、抽象的特性を学習する必要がある認知的タスクを解決するコンピュータ実装方法がある。方法はまず、抽象的特性を特徴づけるデータセット(例えば、イメージフレーム)にアクセスすることを含む。アクセスされたデータセットは次に、第1ニューラルネットワーク(例えば、CNN)へと入力され、従って、それは第1埋め込みを生成するように実行される。次に、生成された第1埋め込みのペアが形成され、それはデータセットのペアに対応する。形成されたペアに対応するデータ(例えば、第1埋め込みのペアを連結することによって取得されたデータ)は次に、第2ニューラルネットワークへと入力され、第2埋め込みを生成するように実行される。後者は、データセットのペアの関連的特性を捕捉する。第3ニューラルネットワークは、その後、生成された第2埋め込みに基づいて、アクセスされたデータセットの間の距離または類似度として通常は解釈可能である出力値を取得するように実行される。第2ニューラルネットワークおよび第3ニューラルネットワークのそれぞれは、完全接続されたニューラルネットワークであってよい。最後に、データセットの1または複数の抽象的特性が、認知的タスクを解決すべく、取得された出力値に基づいて学習される。
【0008】
いくつかの実施形態において、方法はさらに、例えば、情報ボトルネック関数への変分近似に従って、例えば、相互情報ベースの関数を最小化することによって判断される正則化項を適用することによる、相互情報ベースの正則化手段を使用して、第1ニューラルネットワークと第2ニューラルネットワークのうち少なくとも1つを正則化することを含む。
【0009】
いくつかの実施形態において、アクセスされたデータセットはそれぞれ、抽象的特性を特徴づけるフレームに対応し、認知的タスクは、視覚的オディティのタスクであり、これにより、アクセスされるフレームのうちの1つはオディティを表す。
【0010】
いくつかの実施形態において、第1、第2、および第3ニューラルネットワークのそれぞれは、1または複数の、以前の異なる認知的タスクを解決している間に、1または複数の、以前のフェーズの最中に学習していたようなパラメータに基づいて実行される。
【0011】
別の態様によれば、コンピュータ制御化されたシステムが、本方法と整合して、抽象的特性を学習することを含む認知的タスクを解決するように、提供される。動作中に、システムは、入力ユニット、ニューラルネットワークモジュール、および出力ユニットを動作させるように適合される。入力ユニットは、抽象的特性を特徴づけるデータセットにアクセスするように適合される。ニューラルネットワークモジュールは入力ユニットに接続される。モジュールは、第1ニューラルネットワーク、構造的オペレーションユニット、第2ニューラルネットワーク、および第3ニューラルネットワークを含む。第1ニューラルネットワークは、入力ユニットによってアクセスされるようなデータセットに基づく実行の際に、第1埋め込みを生成するように構成される。構造的オペレーションユニットは、第1ニューラルネットワークによって生成される第1埋め込みのペアを形成するように構成され、そのペアは、前記データセットのペアに対応して形成される。第2ニューラルネットワークは、動作中に構造的オペレーションユニットによって形成されるようなペアに対応するデータに基づく実行の際に、データセットのペアの関連的特性を捕捉する第2埋め込みを生成するように構成される。第3ニューラルネットワークは、第2ニューラルネットワークによって生成されるような第2埋め込みに基づく実行の際に、出力値(例えば、アクセスされたデータセットの距離または類似度として解釈可能)を作成するように構成される。最後に、出力ユニットはニューラルネットワークモジュールに接続され、第3ニューラルネットワークから取得されるような出力値に基づいてデータセットの1または複数の抽象的特性を学習して、認知的タスクを解決するように構成される。
【0012】
別の態様によれば、(これもまた、抽象的特性を学習することを含む認知的タスクを解決するための)コンピュータプログラム製品がある。コンピュータプログラム製品は、それによって具現化されるプログラム命令を有するコンピュータ可読記憶媒体を含み、プログラム命令は、本方法に係る実装動作を生じさせるように、1または複数のプロセッサによって実行可能である。
【0013】
本開示が具現化する、コンピュータ制御化されたシステム、方法、およびコンピュータプログラム製品が、限定的ではない例によって、および添付図面を参照して説明されるであろう。
【図面の簡単な説明】
【0014】
添付の図では、類似の参照符号は、個々の図の初めから終わりまで、同一の、または機能的に同様の要素を指し、以下の詳細な説明と一緒に、本明細書に組み込まれ、その一部を形成し、様々な実施形態をさらに示すように機能し、本開示による様々な原則および全ての利点を説明する。
【0015】
図1】実施形態に係るコンピュータ制御化されたシステムの高レベルコンポーネント、ならびに、実施形態における、このシステムを動作させて認知的タスクを解決する方法の動作を示すフローチャートである。
図2A】実施形態における、図1に図示されたものなどのシステムのニューラルネットワークモジュールへの入力として使用されて、視覚的オディティのタスクを解決し得る、異なるセットのフレーム(すなわち、イメージ)を示す図である。
図2B】実施形態における、図1に図示されたものなどのシステムのニューラルネットワークモジュールへの入力として使用されて、視覚的オディティのタスクを解決し得る、異なるセットのフレーム(すなわち、イメージ)を示す図である。
図2C】実施形態における、図1に図示されたものなどのシステムのニューラルネットワークモジュールへの入力として使用されて、視覚的オディティのタスクを解決し得る、異なるセットのフレーム(すなわち、イメージ)を示す図である。
図2D】実施形態における、図1に図示されたものなどのシステムのニューラルネットワークモジュールへの入力として使用されて、視覚的オディティのタスクを解決し得る、異なるセットのフレーム(すなわち、イメージ)を示す図である。
【0016】
図3】実施形態における、図1に図示されたものなどのシステムのニューラルネットワークへの入力、およびそこから取得された出力、および最終出力をどのように組み合わせて視覚的オディティのタスクを解決するかを概略的に示す図である。
【0017】
図4】本開示の実施形態に関連するような1または複数の方法の動作を実装するのに適した、汎用コンピュータ制御化されたシステムを概略的に表す図である。
【0018】
添付図面は、実施形態に関連するような、コンピュータ制御化されたシステムまたはそれらの一部の簡略化された表現を示す。図における、同様の、または機能的に同様の要素は、そうでないと明示されない限り、同じ参照符号を割り当てられている。
【発明を実施するための形態】
【0019】
本開示は、視覚的オディティのタスク、より一般的には、比喩の形成を要する認知的タスクの解決策を説明する。
【0020】
ANNは、一般的に、接続されたユニットまたはノードのセットを含み、それは動物の脳における生物学的なニューロンと同等であるとされ、したがって人工ニューロンと呼ばれる。信号は、シナプスと同様に、人工ニューロンの間の接続(また、エッジとも呼ばれる)に沿って送信され得る。総合すれば、信号を受け取る人工ニューロンはそれを処理し得、次に、接続されたニューロンに信号を送り得る。
【0021】
接続重み(また、シナプティック重みとも呼ばれる)は、接続と関連付けられ得、そのような重みは、学習が進行するにつれて順応し得る。各ニューロンは、いくつかの入力を有し得、接続重みは、各入力(特定の接続の重み)に起因する。接続重みは、訓練フェーズの最中の訓練アルゴリズムによって学習され得、それによって、更新され得る。学習過程は反復的であり、データケースは、通常一回に1つ、ネットワークに与えられ得、入力値に関連付けられた重みは、各時間ステップで調整され得る。
【0022】
図1から図3を参照すると、抽象的特性の学習を要する認知的タスクを解決するコンピュータ実装方法に関係する開示の態様が説明される。本方法およびその変形例はまとめて「本方法」と呼ばれることに留意すべきである。全ての参照Sijは、図1および図3に図示された方法の動作を指し、参照符号はシステム1のコンポーネントおよびそれによって消費されるかまたは作成されるデジタルオブジェクトを指す。
【0023】
図1に示されるように、方法はまず、データセット10にアクセスS10することを含み得る。データセット10は、例えば、フレーム(例えば、イメージ)を含み得る。より一般的には、データセットは、所与の認知的タスクを解決すべく、学習されるべき抽象的特性を特徴づけるデータファイルまたはデータを含み得る。以下においては、しかしながら、データセット10は、表示のために、図2Aから図2Dに図示されたものなどのフレームであると想定される。
【0024】
アクセスされたフレーム10は、第1ニューラルネットワーク21へと入力S20され得、それはCNNであってもよい。このネットワークは、第1埋め込み31を生成S30すべく、入力フレーム10に基づいて実行され得る。第1埋め込み31は、第1ニューラルネットワーク21から出力され得る。そのような埋め込みは、通常はベクトル、例えば1次元(1D)アレイの数値的値を特徴づける。
【0025】
次に、第1埋め込み31のペア32が形成S40され得る。また、埋め込みのペア32は、フレーム10のペアに対応し得る。このタスクは、構造的オペレーションユニット21aによって行われ得、それは、以下に説明されるように、3つのニューラルネットワークのパイプラインを実装するニューラルネットワークモジュール21-23の一部を形成する。ペア32は、埋め込み31の各ペアに対応するデータを連結することによって単に形成S40され得、例えば、形成されたペアに対応するデータは、埋め込み31のペアごとに単一ベクトル32を最終的に形成する連結された値を含み得る。図3に図示された埋め込み31のペア32は、故に、それぞれ単一のアレイから成り得ることに留意すべきである。
【0026】
形成されたペア32に対応するデータは、次に、第2ニューラルネットワーク22へと入力S40され、それは完全接続されたネットワークであり得る。述べたように、入力データは単に、ペアとされた埋め込み31の連結されたデータから成ってよく、それにより、データの1次元アレイは第2ネットワーク22へと入力S40され得る。ネットワーク22は、次に、第2埋め込み33、34を生成S50すべく、そのようなデータに基づいて実行され得る。第2埋め込み33、34は、第2ニューラルネットワーク22からの出力であり得、それはフレーム10のペアの関連的特性を捕捉する。
【0027】
次に、第2埋め込み33、34に基づいて、第3ニューラルネットワーク23が実行される。ネットワーク22からの直接の出力33は、第3ネットワーク23に供給S50される前に、トランスフォームされたデータ34をもたらす、いくつかの数学的動作に影響されることがある。いくつかの実施形態において、同じフレームに対応する第2ニューラルネットワーク22からの全ての出力33は、それらの実行のために第3ニューラルネットワーク23に入力S50される前に、合計され得る。第3ネットワーク23もまた、完全接続されたネットワークであってよい。第3ネットワーク23の実行は、アクセスされたフレーム10の間の距離または類似度として通常は解釈され得る、出力値35を提供S60し得る。
【0028】
次に、フレーム10の1または複数の抽象的特性が、認知的タスクを解決するように、動作S60において取得される出力値35に基づいて学習され得る。認知的タスクは、例えば、視覚的オディティのタスクであり得、これにより、例えば図2Aから図2Dを参照するように、他のフレームと比較するとき、動作S10においてアクセスされるフレーム10のうちの1つが、オディティを表す。その場合において、(動作S60において取得された出力値35に基づく)フレームの抽象的特性の学習は、各フレームから判断される特性に基づく入力フレームのうちの1つを判別することにより、認知的タスクを解決することを可能にする。
【0029】
視覚的オディティのタスクおよび他の視覚的タスクを超えて、本開示の実施形態は、入力データセット10によって特徴づけられ得るある認知的タスクの解決策が、第2ネットワーク22および第3ニューラルネットワーク23によって形成される関係ネットワークによって、効率的に解決されることを可能にし得る。これらの実施形態の背後にある考えは、まず、入力データセット10から埋め込み31を計算し、次に、埋め込みのペア32を形成し、第2ニューラルネットワーク22に供給され得るデータ32(例えば、連結されたベクトル)を取得する。このように、第2埋め込み33、34が生成され得、それはフレーム10のペアの関連的特性を捕捉し得る。そのような関連的特性を取り扱うように設計されたネットワークパイプライン22、23を使用して、第2埋め込み33から取得されたデータ34は、次に、出力35を取得するように第3ネットワーク23へと供給され得、後でより詳細に説明されるように、それは単に、所望の抽象的特性を学習するように評価されることができ、それによって、認知的タスクを解決することができる。
【0030】
いくつかの実施形態において、方法はさらに、第1ニューラルネットワーク21と第2ニューラルネットワーク22の少なくとも一方(場合によってはそれぞれ)を正則化することを含み得る。ネットワーク正則化は、相互情報ベースの正則化手段を使用して行われてよい。一般的に、相互情報は、2つのランダム変数の相互的な従属性の測定を指し、本質的には、そのような変数の間の関係を測定するように使用され得る。相互情報は、他の変数に関して利用可能な知識を考慮すると、ランダム変数における不確実性の現象とみなされ得る。それはビットで測定され得、またシャノンとも呼ばれる。この文脈において、相互情報は、隠された層と、ニューラルネットワークの入力および出力の間の情報を含み得る。
【0031】
いくつかの実施形態において、正則化は、ネットワークに特徴的な損失関数における追加項として、相互情報推定を採用することによって実現され得る。正則化項は、交差エントロピーと共に、損失関数全体への追加の損失貢献として追加され得る。本開示の著者によって行われたテストは、そのような正則化が、テスト精度を安定化させ得、分散を著しく減少させ得ることを示した。個々のタスク上で実現される精度の比較は、ネットワークパイプライン21-23が、相互情報ベースの正則化手段によって拡張されたとき、人間の精度を実質的に超える視覚的オディティのタスク上での全体の実行を実現し得ることを示す。
【0032】
正則化項は、いくつかの実施形態において、相互情報ベースの関数を最小化することによって判断されてよい。例えば、正則化項は、知られている情報ボトルネック(IB)方法への変分近似に従って判断されてよい。
【0033】
IB方法の目標は、入力ランダム変数Xの最大圧縮表現を発見することであり、Xは、関連ランダム変数Yの関数として取得され得、それにより、関連ランダム変数Y上で、可能な限り多くの情報を維持する。ニューラルネットワークにおいて知られている代替の相互情報推定方法は、IB方法への変分近似であり、変分情報ボトルネック(VIB)と呼ばれ、この文脈で利用され得る。VIB方法は、ネットワーク圧縮のために畳み込みニューラルネットワークの複数の層に適用され得る。連続的な層の間の相互情報の近似は、正則化手段としての目的の機能の一部として追加され得る。
【0034】
例えば、VIBベースの正則化手段は、畳み込みニューラルネットワークおよび第2ニューラルネットワーク22の畳み込み層(例えば、それを構成する4つの完全接続された層)に追加され得る。VIBベースの正則化手段は、視覚的オディティのタスクに関しては特に、ネットワーク構造によって取得される精度を向上させ、および安定させ得る。
【0035】
より早く誘発されるものとして、第1ネットワークはCNNであり得、最終出力までの完全接続された層が後に続く。CNNの1つの特徴および利点は、センサのイメージデータの便益である。いくつかの実施形態において、第1ネットワーク21はCNNであり、4、5、またはより多い層を含み得る。第2ネットワーク22もしくは第3ネットワーク23またはその両方は、そして、完全接続されたネットワークであり得る。ネットワーク22は、例えば、4つの層を含み得、第3ニューラルネットワークは3つの層を含み得る。第2ネットワークの4つの層は、例えば、それぞれ512のニューロンを含み得、第3ネットワークの3つの層は、例えば、それぞれ、256、256および1のニューロンを含み得る。より一般的には、連続的なネットワークは、連続的に圧縮されたデータ(例えば、入力データセット10から第1埋め込み31へ、そして第2埋め込み33、34へ、そして最終出力35へ)に適応するように設計されてよい。
【0036】
第2および第3ネットワーク22、23は、関係ネットワークモジュールとして実装されてよく、それは、開示の別の態様を参照して後で説明されるように、ネットワークモジュール21-23全体の一部を形成する。
【0037】
実施形態の第1のクラスにおいて、各初期イメージフレーム10が、4層からなるCNN21へと入力S20される。各畳み込み層は、例えば、カーネルサイズ5×5の32個のフィルタを有し得る。各イメージに関する、畳み込みニューラルネットワークからの畳み込まれた出力S30は、次に、チャネルに従って連結S40され得、それによって、ベクトル(すなわち、1次元アレイ)へと平坦化され得る。平坦化された出力は、4層からなる完全接続されたネットワーク22へと入力S40され得る。
【0038】
この第1のクラスの実施形態のいくつかにおいて、バッチ正規化が、全ての畳み込み層に関して使用され得る。さらに、ドロップアウト正則化が、プーリング層に先行しない(例えば、ドロップアウト率0.3の)全ての畳み込み層の後に、および、第2ネットワーク22の(例えば、ドロップアウト率0.5の)第1の完全接続された層の後に、適用され得る。
【0039】
全体として、3つのネットワーク21-23を実装するニューラルネットワークモジュール21-23は、視覚的オディティのタスクを解決するように、関係ネットワークとして構成されてよい。そのようなネットワークは、有利には、知られているワイルドリレーションネットワーク(WReN)を拡張するように設計されてよく、それはレーヴンのプログレッシブ行列RPMを解決するようにもたらされる。しかしながら、WReNモデルはRPMパネルのペアに従った関係を直接計算し、すなわち、コンテキストパネルと選択パネルの間のペアに従った関係を判断する。視覚的オディティのタスクなどの認知的タスクに関して、全てのフレームとしてのいかなるコンテキストパネルまたは選択パネルも、オディティとして分類され得る可能性はない。
【0040】
第2のクラスの実施形態において、視覚的オディティのタスクの各フレーム10は、5層のCNN21へと入力S20され得、対応するフレーム埋め込み31を出力し得る。図3に示されるように、このタスクは、例えば、6つのフレームの所与のセットから、非四辺形を識別することを含み得る。また、図2Aも参照。例えば、すべてのフレームk∈[1,2,...,6]に関して、CNN21は、図3において参照符号31で示される、フレーム埋め込みyを出力し得る。次に、各フレーム埋め込みyに関して、個別にパターン化された形状31、32を使用して図3に図示されるように、埋め込み31のペア32が、他の5つのフレームの埋め込みと順序立てて連結されることにより生成S40され得る。例示として、第1フレーム(フレーム1)に関して、ペアは{y,y},{y,y},…,および{y,y}である。故に、30のペア32の全体が、生成され得る。各ペア32は次に、第2ネットワーク22へと供給S40され得る。異なるように述べると、図3のアーキテクチャは、各ペア32が、ニューラルネットワーク22によってパラメータ化される関数gθの引数として使用され得、これがフレームごとに行われ得ることを想定している。所与のフレームに対応するgθの出力33は合計され、データ34のアレイをもたらし、同様のタイプの計算がフレームごとに行われ得る。図3に示されるように、各フレーム10に対応する合計された出力34のベクトルは、次に、第3ニューラルネットワーク23(例えば、それはネットワーク23によってパラメータ化された第2の関数fφの引数として使用される)へと供給S50され得、最終スコア35を算出し、次に、取得された全ての最終スコアに基づいて、オディティを識別する。
【0041】
実施形態において、抽象的特性の学習は、図3でさらに想定されるように、各フレームがオディティである確率を判断するようにfφから取得された全ての出力値35にわたってソフトマックス関数を適用することによって、単に完了し得、オディティは、この例示では、最大値0.970に対応する。
【0042】
他の可能な視覚的オディティのタスクは、例えば、凸形状から凸でない形状を区別すること(図2B)、回転によって取得され得ない形状のペアを、取得され得る他のペアから識別すること(図2C)、または、等辺の三角形から不等辺三角形を区別すること(図2D)を含み得る。各オディティフレームは、図2Aから図2Dに示されるデータセット10a-10dにおいて破線で境界づけられる。
【0043】
ネットワーク21、22、23は、訓練または推測の目的で計算されてよく、推測を行う前に訓練されてもよい。所与のタスクに関して学習されたネットワークパラメータは、場合によっては、さらなるタスクへと転送され得る。特に、本方法においては、第1ニューラルネットワーク21、第2ニューラルネットワーク22、および第3ニューラルネットワーク23のそれぞれは、1または複数の以前の異なる認知的タスクを解決ために、同じネットワークを実行する際に学習されたとして、ネットワークパラメータに基づいて実行され得る。例えば、45のタスクのうちの44で初期に訓練することによって、タスク当たりに提供された限られた量のデータによって、データ転送学習は、視覚的オディティのタスクのために顕著に研究され、以前には見えなかった少ない数のサンプルのタスクで訓練されていた、モデルの平均のテスト精度は、著しく増加する。例えば、タスク当たり50のみの訓練サンプルが提供される場合、転送学習モデルの精度は、45.3%から73.8%へ上昇する。
【0044】
上記実施形態は、添付図面を参照して簡潔に説明されており、多くの変形例に適応し得る。上記特徴のいくつかの組み合わせが予期され得る。
【0045】
これらの実施形態において、ニューラルネットワークアーキテクチャは認知的タスクを解決するように活用されることができ、それは追加で、特に、多くの数の訓練エポックに関して、ネットワークに特徴的な損失関数における追加項として相互情報推定を採用することにより、ネットワーク正則化からの便益がある。そのような正則化は、テスト精度を安定させ、その分散を著しく低減させることによって、便益を提供し得る。いくつかの実施形態におけるニューラルネットワーク構造は、さらに、抽象的理由付けの障害の解決策のために、相互情報の推定によって介在する要素によってさらに拡張され得る。監修された学習技術は、視覚的オディティのタスクを解決するように使用され得、96.5%の平均タスク精度を実現する。相互情報推定に基づく正則化によって、精度はさらに97.1%に向上する。最後に、提案されたモデルは、転送学習から便益があり、もしくは、転送学習を可能にし、またはその両方である。
【0046】
次に、別の態様に係る本開示の実施形態が、コンピュータ制御化されたシステム1として具現化され得、それは概して、抽象的特性を学習し得る認知的タスクを解決するために設計される。このシステム1の動作的態様は、本方法を参照してすでに暗黙に説明されている。システム1は、以下では簡潔にのみ説明される。
【0047】
いくつかの実施形態に整合して、システム1はプロセッサおよびメモリを備えてよく、図1および4を参照すると、後者は、システム1に、動作中に入力ユニット20、ニューラルネットワークモジュール21-23、および出力ユニット24の形成を可能にする、コンピュータ制御化された方法を含む。
【0048】
入力ユニット20は、抽象的特性を特徴づけるフレーム10にアクセスするように設計され得る。ニューラルネットワークモジュール21-23は、入力ユニット20に接続され得る。ニューラルネットワークモジュール21-23は、以前に説明されたように、第1ニューラルネットワーク21、構造的オペレーションユニット21a、第2ニューラルネットワーク22、および第3ニューラルネットワーク23を含み得る。
【0049】
より詳細には、第1ニューラルネットワーク21は、入力ユニット20によってアクセスされるようなフレーム10に基づく実行の際に、第1埋め込み31を生成するように構成され得る。構造的オペレーションユニット21aは、第1ニューラルネットワーク21によって生成される第1埋め込み31のペア32を形成するように設計され得る。形成されるペア32は、フレーム10のペアに対応し得る。第2ニューラルネットワーク22は、構造的オペレーションユニット21aによって形成されるようなペア32に対応するデータに基づく実行の際に、フレーム10のペア32の関連的特性を捕捉し得る第2埋め込み33、34を生成するように構成され得る。第3ニューラルネットワーク23は、第2ニューラルネットワーク22によって生成されるような第2埋め込み33、34に基づく実行の際に、(アクセスされたフレーム10の間の距離または類似度として解釈可能であり得る)出力値35を作成するように設計され得る。最後に、出力ユニット24は、ニューラルネットワークモジュール21-23に接続され得、第3ニューラルネットワーク23から取得され得るような出力値35に基づいてフレーム10の1または複数の抽象的特性を学習し、認知的タスクを解決するように構成され得る。
【0050】
実施形態において、システム1はさらに、CNNとして第1ニューラルネットワーク21を形成するように動作可能であり得、第2ニューラルネットワーク22、もしくは第3ニューラルネットワーク23またはその両方は、完全接続されたニューラルネットワークとして形成され得る。および、以前に説明されたように、ニューラルネットワークモジュール21-23はさらに、相互情報ベースの正則化手段を使用して、例えば、VIB方法によって判断される正則化項を適用することによって、第1ニューラルネットワーク21および第2ニューラルネットワーク22の一方またはそれぞれを正則化するように構成され得る。
【0051】
コンピュータ制御化されたシステムは、本明細書で説明されるような本開示の実施形態を実装するように好適に設計され得る。それに関して、本明細書で説明されたいくつかの実施形態は、大変に非インタラクティブであり、自動的である。しかしながら、本明細書で説明された方法はまた、いくつかの実施形態において、インタラクティブ、部分的インタラクティブ、または非インタラクティブなシステムのいずれか一方において実装されてもよい。追加で、本明細書で説明された方法は、ソフトウェア(例えば、ファームウェア)、汎用ハードウェア、専用ハードウェア(例えば、グラフィカル処理ユニット)、またはそれらの組み合わせにおいて実装されてもよい。いくつかの実施形態において、本明細書で説明された方法は、実行可能プログラムとして、ソフトウェアにおいて実装されてもよく、後者は好適なデジタル処理デバイスによって実行される。より一般的には、本開示の実施形態は、パーソナルコンピュータ、ワークステーション等のような汎用デジタルコンピュータを使用して実装されてもよい。
【0052】
例えば、図4に図示されたシステム1は、コンピュータ制御化されたユニット101、例えば、汎用コンピュータを概略的に表す。いくつかの実施形態において、ハードウェアアーキテクチャに関して、図4に示されるように、ユニット101はプロセッサ105、メモリコントローラ115に結合されたメモリ110、および、入出力コントローラ135を介して通信可能に結合された1または複数の入力もしくは出力またはその両方(I/O)デバイス145、150、155(またはペリフェラル)を含み得る。入出力コントローラ135は、1または複数のバスまたは他の有線または無線接続であり得るが、限定されるものではない。入出力コントローラ135もまた、通信を可能にするコントローラ、バッファ(キャッシュ)、ドライバ、リピータ、および受信機などの追加要素を有し得、それらは簡略化のために省略される。さらに、ローカルインタフェースは、上記コンポーネントの間での適切な通信を可能にする、アドレス、制御、もしくはデータ接続またはその組み合わせを含み得る。
【0053】
いくつかの実施形態において、プロセッサ105は、特にメモリ110に格納される、ソフトウェアを実行するためのハードウェアデバイスであり得る。プロセッサ105は、任意のカスタムメイドまたは市販のプロセッサ、中央処理装置(CPU)、コンピュータ101に関連付けられたいくつかのプロセッサの間の補助プロセッサ、半導体ベースのマイクロプロセッサ(マイクロチップまたはチップセットの形態)、または、一般的にソフトウェア命令を実行するための任意のデバイスであり得る。
【0054】
メモリ110は、いくつかの実施形態において、揮発性メモリ要素(例えば、ランダムアクセスメモリ)および不揮発性メモリ要素の任意の1つまたは組み合わせであり得る。また、メモリ110は、電子、磁気、光、もしくは他のタイプのストレージ媒体、またはその組み合わせを組み込み得る。メモリ110が、様々なコンポーネントが互いから離れて位置し得るがプロセッサ105によってアクセス可能な、分散されたアーキテクチャであり得ることに留意する。
【0055】
メモリ110におけるソフトウェアは、1または複数の個別のプログラムを含み得、そのそれぞれは、論理的機能を実装するためのプログラム命令を実行可能な順序立てたリストを含む。図4の例において、メモリ110のソフトウェアは、いくつかの実施形態によって本明細書で説明された方法のいくつかまたは全てと、適切なオペレーティングシステム(OS)111を含む。OS111は、他のコンピュータプログラムの実行を本質的に制御し得、スケジューリング、入力-出力制御、ファイルおよびデータ管理、メモリ管理、および通信制御および関連するサービスを提供し得る。
【0056】
本明細書で説明される方法は、実行されるプログラム命令のセットを含む、ソースプログラム、実行可能プログラム(オブジェクトコード)、スクリプト、または任意の他のエンティティの形態であり得る。ソースプログラムの形態にあるとき、次に、プログラムはコンパイラ、アセンブラ、インタプリタなどを介して翻訳され得、それはまた、メモリ110内に含まれても含まれなくてもよいが、OS111に接続されて正確に動作する。さらに、方法はオブジェクト指向プログラミング言語として書き込まれてもよく、それはデータおよび方法のクラスを有し、またはプロシージャ指向プログラミング言語として書き込まれてもよく、それはルーチン、サブルーチン、もしくは機能、またはその組み合わせを有する。
【0057】
場合によっては、従来のキーボード150およびマウス155が、入出力コントローラ135に結合され得る。他のI/Oデバイス145-155は、カメラ、マイクロフォン、プリンタ等のような他のハードウェアデバイスを含み得る。
【0058】
また、I/Oデバイス145-155はさらに、入力および出力の両方を通信するデバイスを含む。システム100はさらに、ディスプレイ130に結合されるディスプレイコントローラ125を含み得る。いくつかの実施形態において、システム100はさらに、ネットワーク(示されない)に結合するためのネットワークインタフェースまたは送受信機160を含み得る。
【0059】
いくつかの実施形態において、ネットワークはユニット101と外部システムとの間でデータを送信および受信する。ネットワークは、例えば、WiFi、WiMax等のような、無線プロトコルおよびテクノロジを使用した、無線様式で実装され得る。ネットワークは固定された無線ネットワーク、無線ローカルエリアネットワーク(LAN)、無線ワイドエリアネットワーク(WAN)、パーソナルエリアネットワーク(PAN)、バーチャルプライベートネットワーク(VPN)、インターネット、または他の適切なネットワークシステムであり得、信号を受信および送信する機器を含む。
【0060】
ネットワークはまた、ユニット101と任意の外部サーバ、クライアントなどの間をブロードバンド接続を介して通信するための、IPベースネットワークでもあり得る。いくつかの実施形態において、ネットワークは、サービスプロバイダによって運営される、管理されたIPネットワークであってもよい。また、ネットワークは、LAN、WAN、インターネットネットワーク等のようなパケット交換ネットワークであり得る。
【0061】
ユニット101がパーソナルコンピュータ(PC)、ワークステーション、インテリジェントデバイスなどである場合、メモリ110におけるソフトウェアは、入力出力システム(BIOS)をさらに含み得る。BIOSは、コンピュータ101が起動されるときにBIOSが実行され得るように、リードオンリメモリ(ROM)構造に格納され得る。
【0062】
ユニット101が動作中のとき、プロセッサ105は、メモリ110内に格納されたプログラム命令を実行し、メモリ110へ、およびメモリ110からデータを通信し、ソフトウェアおよびOS111に従ってコンピュータ101の動作を一般的に制御するように構成され得る。本明細書で説明された方法およびOS111は、全部または一部において、プロセッサ105によって読み込まれ、通常はプロセッサ105内にバッファされ、次に実行される。本明細書に説明された方法がソフトウェアにおいて実装されるとき、方法は、任意のコンピュータ関連のシステムまたは方法による使用のために、またはそれと結合されて、ストレージ120などの任意のコンピュータ読み取り可能媒体上に格納され得る。
【0063】
本開示の態様もまた、コンピュータプログラム製品として具現化され得る。概して言えば、コンピュータプログラム製品は、そこで具現化されるプログラム命令を有するコンピュータ可読記憶媒体を含み得、プログラム命令は、コンピュータシステム1に、上で説明された動作、例えば、フレーム10にアクセスする、そのような入力フレームに基づいて第1埋め込み31を生成するように第1ニューラルネットワーク21を実行する、得られた埋め込み31のペア32を形成する、対応するデータを第2ニューラルネットワーク22に入力する、後者を実行して第2埋め込み33、34を生成する、などの動作を実装させる、1または複数のプロセッサによって実行可能であり得る。埋め込み33、34は、フレーム10のペア32の関連的特性を捕捉し得る。最後に、第3ニューラルネットワーク23は、第2埋め込み33、34に基づいて計算されて出力値35を取得し、それに基づいて、フレーム10の1または複数の抽象的特性が、認知的タスクを解決するように学習され得る。
【0064】
故に、本開示の態様は、任意の可能な統合の技術的詳細レベルで、システム、方法、もしくはコンピュータプログラム製品、またはその組み合わせを含み得る。コンピュータプログラム製品は、プロセッサに、本開示の態様を実行させるために、コンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(または複数の媒体)を含み得る。コンピュータ可読記憶媒体は、命令実行デバイスによる使用のためにプログラム命令を保持および保存し得る有形デバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子ストレージデバイス、磁気ストレージデバイス、光ストレージデバイス、光磁気ストレージデバイス、半導体ストレージデバイス、または上記の任意の好適な組み合わせであり得るが、それに限定されるものではない。コンピュータ可読記憶媒体のより具体的な例の非網羅的な列挙は、以下を含む:ポータブルコンピュータディスケット、ハードディスク、ソリッドステートドライブ(SSD)、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラム可能リードオンリメモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、上に命令が記録された、パンチカードまたは溝内で盛り上がった構造のような機械的にエンコードされたデバイス、および上記の任意の好適な組み合わせ。
【0065】
本明細書で使用されるようなコンピュータ可読記憶媒体は、無線波または他の自由に伝搬する電磁波、導波路を伝搬する電磁波、または他の伝送媒体(例えば、光ファイバケーブルを介して通る光パルス)、または有線を介して送信される電気信号などの、それ自身一時的な信号を含むと解釈されるべきではないが、そうでなければ本開示を限定する、とは意図されない。
【0066】
プログラム命令および、非一時的形態でコンピュータ可読記憶媒体上に格納されたデータはさらに、ネットワークもしくは無線リンクまたはその組み合わせのような通信媒体を介して運搬され得る、電気的、電磁気的、またはデジタル信号などの、伝送媒体または信号によって伝送され得る。本明細書で説明されたコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスへ、または外部コンピュータまたは外部ストレージデバイスへ、ネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、もしくは無線ネットワークまたはその組み合わせを介してダウンロードされ得る。ネットワークは、銅線伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、もしくはエッジサーバまたはその組み合わせを含み得る。各コンピューティング/処理デバイスにおけるネットワークアダプタカードまたはネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令をそれぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に格納のために転送する。
【0067】
本開示の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態セットデータ、集積回路のためのコンフィギュレーションデータ、または、Smalltalk(登録商標)、C++などのオブジェクト指向プログラミング言語、および、"C"プログラミング言語などのプロシージャ指向プログラミング言語または同様のプログラミング言語などの、1または複数のプログラミング言語の任意の組み合わせに書き込まれたソースコードまたはオブジェクトコードのいずれか一方であり得る。コンピュータ可読プログラム命令は、全体がユーザのコンピュータ上で実行され得るか、スタンドアロンのソフトウェアパッケージとして部分的にユーザのコンピュータ上で実行され得るか、部分的にユーザのコンピュータ上で、部分的にリモートコンピュータ上で実行され得るか、または、全体がリモートコンピュータまたはサーバ上で実行され得る。後者のシナリオにおいて、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを通してユーザのコンピュータに接続されてもよく、または外部コンピュータ(例えばインターネットサービスプロバイダを使用してインターネットを通して)接続が行われてもよい。いくつかの実施形態において、例えばプログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブルロジックアレイ(PLA)を含む電子回路が、本開示の態様を実行するべく、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個人設定することにより、コンピュータ可読プログラム命令を行ってよい。
【0068】
本開示の態様は、開示の実施形態に記載の方法、装置(システム)およびコンピュータプログラム製品の、フローチャート図及び/またはブロック図を参照して本明細書に説明される。フローチャート図及び/またはブロック図の各ブロック、およびフローチャート図及び/またはブロック図におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実装され得ることが理解されるであろう。
【0069】
これらのコンピュータ可読プログラム命令は、コンピュータのプロセッサまたは他のプログラム可能なデータ処理装置を介して実行する命令が、フローチャート及び/またはブロック図のブロックまたは複数のブロックにおいて特定される機能/動作を実装する手段を生成するように、コンピュータ、または機械を生じさせる他のプログラム可能なデータ処理装置のプロセッサに提供され得る。また、これらのコンピュータ可読プログラム命令は、格納された命令を有するコンピュータ可読記憶媒体が、フローチャート及び/またはブロック図のブロックまたは複数のブロックにおいて特定される機能/動作の態様を実装する命令を含む製品を有するように、コンピュータ、プログラム可能なデータ処理装置、もしくは他のデバイスまたはその組み合わせが特定の方法で機能するように導き得るコンピュータ可読記憶媒体に格納され得る。
【0070】
また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラム可能な装置、または、他のデバイス上で行われる命令が、フローチャート及び/またはブロック図のブロックまたは複数のブロックにおいて特定される機能/動作を実装するように、一連の動作段階を、コンピュータ、他のプログラム可能な装置、またはコンピュータに実装される処理を作成する他のデバイス上で実行させるように、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイス上にロードされ得る。
【0071】
図におけるフローチャートおよびブロック図は、本開示の様々な実施形態に記載のシステム、方法、およびコンピュータプログラム製品の可能な実装のアーキテクチャ、機能性、および動作を示す。これに関して、フローチャートまたはブロック図における各ブロックは、特定される(1または複数の)論理機能を実装するための1または複数の実行可能命令を含む命令のモジュール、セグメント、または部分を表す場合がある。いくつかの代替的な実装において、ブロックに記載された機能は、図に記載された順序から外れて生じてもよい。例えば、連続的に示される2つのブロックは、実際には、一動作として遂行されるか、同時に、実質的に同時に、部分的に、または全体的に一時的に重なる態様で実行されてよく、あるいは、これらブロックは、関連する機能性に依存して、逆順序で実行される場合があってもよい。また、ブロック図及び/またはフローチャート図の各ブロック、ならびにブロック図及び/またはフローチャート図におけるブロックの組み合わせは、特定される機能もしくは行為を実行するまたは専用ハードウェアとコンピュータ命令との組み合わせを実行する専用ハードウェアベースのシステムによって実装され得ることに留意されたい。
【0072】
本開示は限られた数の実施形態、変形例、および添付図面を参照して説明されてきたが、本開示の範囲から逸脱することなく、様々な変更が行われ得、同等物が代替され得ることが、当業者には理解されるであろう。特に、所与の実施形態、変形例に記載された、または図面において示された特徴(デバイスのような、または方法のような)は、本開示の範囲から逸脱することなく、別の実施形態、変形例または図面における別の特徴と組み合わせられ得るか置換され得る。従って、上記実施形態または変形例の任意のものに関して説明された特徴の様々な組み合わせが予期され、それは添付された特許請求の範囲の範囲内にとどまる。また、多くの微細な修正が、その範囲から逸脱することなく本開示の教示の特定の状況または材料に適合するよう行われ得る。したがって、それは、本開示が開示された特定の実施形態に限定されることを意図したものではなく、本開示が、添付された特許請求の範囲の範囲内にある全て実施形態を含むであろうことを意図したものである。また、上記で明示的に触れたもの以外に多くの他の変形例が予期され得る。
図1
図2A
図2B
図2C
図2D
図3
図4