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

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

▶ テレフオンアクチーボラゲット エル エム エリクソン(パブル)の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-19
(45)【発行日】2024-08-27
(54)【発明の名称】機械学習モデル及び装置
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240820BHJP
   G06N 3/092 20230101ALI20240820BHJP
【FI】
G06N20/00
G06N3/092
【請求項の数】 22
(21)【出願番号】P 2023528531
(86)(22)【出願日】2020-11-13
(65)【公表番号】
(43)【公表日】2023-11-22
(86)【国際出願番号】 EP2020082139
(87)【国際公開番号】W WO2022100856
(87)【国際公開日】2022-05-19
【審査請求日】2023-07-11
(73)【特許権者】
【識別番号】598036300
【氏名又は名称】テレフオンアクチーボラゲット エルエム エリクソン(パブル)
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】マーチン, ジャン, パウロ
(72)【発明者】
【氏名】ソウザ, リカルド, ダ, シルヴァ
(72)【発明者】
【氏名】ライザー, クラウス
(72)【発明者】
【氏名】ハタ, アルベルト
(72)【発明者】
【氏名】ジュニア, アマデウ, ド, ナシメント
【審査官】多賀 実
(56)【参考文献】
【文献】特開2020-154785(JP,A)
【文献】特開2019-175058(JP,A)
【文献】国際公開第2019/149949(WO,A1)
【文献】米国特許出願公開第2020/0302322(US,A1)
【文献】米国特許出願公開第2019/0318254(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
強化学習(RL)を実施するためのクライアントノードの動作方法であって、前記クライアントノードは、ポリシに従って環境内の行動を指示し、前記方法が、
現在のポリシが信頼できない行動を提供する、前記環境の1つ以上のクリティカル状態を識別することと、
再学習要求のサーバへの送信を開始することと、ここで前記再学習要求は、前記1つ以上のクリティカル状態に関する情報を有しており、
前記サーバから新しいポリシを受信することと、ここで前記新しいポリシは、前記1つ以上のクリティカル状態に関する前記情報に基づくRLを用いて前記サーバによって生成され、
前記新しいポリシにしたがって前記環境における行動を指示することと、を有する、方法。
【請求項2】
RLを実施するための前記クライアントノードおよび前記サーバを有するシステムの動作方法であって、前記方法は、請求項1に記載の方法の各ステップを有し、さらに、前記サーバによって、
前記クライアントノードから前記再学習要求を受信することと、
前記新しいポリシを生成するために、前記現在のポリシを担当する機械学習システム(MLS)を、前記再学習要求内の前記1つ以上のクリティカル状態に関する前記情報に基づいて再学習することと、
前記MLSによって生成された前記新しいポリシを前記クライアントノードに分配することと、を有する、方法。
【請求項3】
強化学習(RL)を実施するためのクライアントノードであって、前記クライアントノードはポリシに従って環境内の行動を指示するように構成され、前記クライアントノードは処理回路と、前記処理回路によって実行可能な命令を格納するメモリを有し、前記命令によって、前記クライアントノードは、
現在のポリシが信頼できない行動を提供する、前記環境の1つ以上のクリティカル状態を識別し、
再学習要求のサーバへの送信を開始し、ここで前記再学習要求は、前記1つ以上のクリティカル状態に関する情報を有しており、
前記サーバから新しいポリシを受信し、ここで前記新しいポリシは、前記1つ以上のクリティカル状態に関する前記情報に基づくRLを用いて前記サーバによって生成され、
前記新しいポリシにしたがって前記環境における行動を指示する、ように動作可能である、クライアントノード。
【請求項4】
前記環境のクリティカル状態は、前記現在のポリシを生成するために用いられている前記環境の状態のすべてと実質的に異なる、請求項に記載のクライアントノード。
【請求項5】
前記環境の観測結果に基づいて前記クリティカル状態を識別するように構成された、請求項に記載のクライアントノード。
【請求項6】
前記クリティカル状態を、前記環境と、前記現在のポリシを生成するために用いられている環境状態との比較を通じて識別するように構成された、請求項に記載のクライアントノード。
【請求項7】
前記比較において、ランダムネットワーク蒸留(RND)技術を用いるように構成された、請求項に記載のクライアントノード。
【請求項8】
前記クリティカル状態を、前記サーバによって供給される集約的な情報に基づいて識別するようにさらに構成された、請求項からのいずれか1項に記載のクライアントノード。
【請求項9】
状態分類モデルを用いて前記環境の前記1つ以上のクリティカル状態を識別するようにさらに構成された、請求項からのいずれか1項に記載のクライアントノード。
【請求項10】
前記再学習要求は、前記1つ以上のクリティカル状態のサンプルを含む、請求項に記載のクライアントノード。
【請求項11】
前記再学習要求の送信を開始する前に前記サンプルを暗号化するように構成された、請求項10に記載のクライアントノード。
【請求項12】
シミュレーションパラメータを推論するために前記識別された1つ以上のクリティカル状態を用い、前記推論されたシミュレーションパラメータを前記再学習要求に含めるように構成された、請求項からのいずれか1項に記載のクライアントノード。
【請求項13】
前記現在のポリシを前記サーバから受信するように構成された、または前記サーバへの接続前に前記現在のポリシをロードされるように構成された、請求項から12のいずれか1項に記載のクライアントノード。
【請求項14】
前記環境は、電気通信ネットワークの少なくとも一部である、請求項から13のいずれか1項に記載のクライアントノード。
【請求項15】
前記電気通信ネットワークの基地局内に含まれる、請求項14に記載のクライアントノード。
【請求項16】
パケット送信レートの修正と、パケットを遅延させることの少なくとも1つを含む行動を指示するように構成された、請求項14または15に記載のクライアントノード
【請求項17】
請求項から16のいずれか1項に記載のクライアントノードを有するとともに、サーバをさらに有するシステムであって、前記サーバは、処理回路と、前記処理回路によって実行可能な命令を格納するメモリとを有し、前記サーバは、
前記クライアントノードから前記再学習要求を受信し、
前記新しいポリシを生成するために、前記現在のポリシを担当する機械学習システム(MLS)を、前記再学習要求内の前記1つ以上のクリティカル状態に関する前記情報に基づいて再学習し、
前記MLSによって生成された前記新しいポリシを前記クライアントノードに分配する、ように動作可能である、システム。
【請求項18】
前記サーバは、状態分類モデルを維持し、前記MLSが再学習された場合に前記状態分類モデルを更新し、前記更新された状態分類モデルを前記新しいポリシとともに分配する、ようにさらに構成される、請求項17に記載のシステム。
【請求項19】
前記再学習要求内の前記1つ以上のクリティカル状態に関する前記情報は、推論されたシミュレーションパラメータを有し、前記サーバは前記推論されたシミュレーションパラメータを用いて前記MLSを再学習するようにさらに構成される、請求項18に記載のシステム。
【請求項20】
請求項17から19のいずれか1項に記載のシステムであって、前記新しいポリシを分配することが、
予め設定された周期で、
前記クライアントノードに要求された場合に、および/または
前記サーバとクライアントノードとの現在の状態に基づいて、実行される、システム。
【請求項21】
前記システムは複数のクライアントノードを有し、前記新しいポリシを分配することが、前記複数のクライアントノードのすべてに前記ポリシを分配することを有する、請求項17から20のいずれか1項に記載のシステム。
【請求項22】
前記サーバは、前記複数のクライアントノードから所定数の再学習要求を受信した場合に前記MLSを再学習し、前記受信した再学習要求のすべてからの前記1つ以上のクリティカル状態に関する情報を前記MLSの前記再学習に用いる、ように構成される、請求項21に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書で説明される実施形態は、機械学習モデルを実装するための方法および装置に関し、特には強化学習(RL)を用いて開発された機械学習モデルを実装するための方法および装置に関する。
【背景技術】
【0002】
電気通信ネットワーク、車両交通管理システムなどの複雑なシステムの管理は、ますます大きな課題となっている。この課題に対処するために、有効性および適応性を実現する強化学習(RL)技術を実装しうる。
【0003】
RLは、試行錯誤を利用する一連の行動に対する期待累積報酬の最大化を試みることによって、機械学習システム(MLS)が学習することを可能にする。RLエージェント(つまり、所与のタスクの性能を経時的に改善するためにRLを用いるシステム)は、典型的にはそれらをモデル化/制御に用いているシステム(環境)に密接に関連し、環境の状態を変更する動作(行動)を実行する経験を通して学習する。
【0004】
図1は、典型的なRLシステムを模式的に示している。図1に示すアーキテクチャでは、エージェントをモデル化/制御に用いている環境からエージェントがデータを受信し、エージェントが環境に行動を送信する。時刻tについて、エージェントが環境の現状Stの情報を受信する。そして、エージェントは情報Stを処理し、実行すべき行動Atを生成する。この行動はその後、環境に送信され、実行に移される。行動の結果は、環境の状態の経時変化であり、時刻t+1での環境の状態はSt+1である。行動はまた、(数値的、典型的にはスカラである)報酬Rt+1をもたらし、これは環境状態St+1をもたらす行動Atの影響の尺度である。そして、変化した環境状態St+1は、報酬Rt+1とともに環境からエージェントに送信される。図1は報酬Rtが状態Stとともにエージェントに送信されていることを示している。報酬Rtは状態St-1に実行された行動At-1がもたらす報酬である。エージェントが状態情報St+1を受信すると、次回の行動At+1などを決定するため、この情報は報酬Rt+1とともに処理される。行動は、累積報酬を最大化する目的で、エージェントが利用可能な行動からエージェントによって選択される。
【0005】
一部の複雑なシステムでは、分散強化学習(DRL)アーキテクチャを提供するために、RL技術を効果的に分散学習技術と組み合わることができる。MLモデルは、集中型データセットを用いて、サーバなどの集中型ネットワークノードで学習させることができる。そして、ポリシを生成するために学習済みMLモデルを用いることができる。ポリシは、パラメータ化された関数を用いて観察結果(observations)を行動(または行動分布)にマッピングすることができ、また、実行のためにクライアントノードにデプロイすることができる。DRLアーキテクチャでは集中型ネットワークノードおよびクライアントノードがまとまってMLエージェントとして動作しうる。集中型ネットワークノードおよびクライアントノードは、所与のタスクの性能を改善するためにRLを用いるように協働する。
【0006】
RLを用いること自体が、安全性にセンシティブな現実世界での応用に問題を引き起こす可能性がある。一般に、人工エージェントは、何らかの目的関数を最適化するか、またはシステムを所定の目標状態にするポリシを見つけるために、シミュレートされた環境においてRLによって学習されうる。シミュレータはRLエージェントが自分の行動を探索および学習できる安全な学習環境を提供するが、シミュレーションでのパフォーマンスと同様のパフォーマンスが実際に得られる保証はない。このような問題の主な原因は、学習中に観測される状態分布(つまり、MLモデルの学習に使用される環境状態)が、実稼働中に観測される状態分布(つまり、MLモデルによって生成されるポリシが実施される環境状態)と等しいことが保証されないことであり、この問題は、シミュレーションと現実とのギャップ(simulation-to-reality gap)と呼ばれうる。
【0007】
MLモデルの学習に用いる学習分布が、MLモデルからのポリシが実行されるプロダクション分布と異なる場合、ポリシに基づいてクライアントノードが実行する行動は信頼できない。MLモデルを学習するために用いられるものとは異なる環境状態にポリシが適用される場合、環境状態にポジティブな影響を与えない、あるいはネガティブな影響を与えうる行動が提案される可能性がある。電気通信ネットワークの例を用いると、ポリシを生成することを担うMLモデルを学習するために使用されるものとは異なるネットワーク状態へのポリシの適用は、ネットワーク輻輳の増加、信頼性の低下などの悪影響をもたらす可能性がある。
【0008】
実システムでRLエージェントを直接学習するだけで、学習分布とプロダクション分布との違いを回避することができる。しかしながら、安全性にセンシティブなアプリケーションでは、実システムでの学習が一般には安全ではなく、および/または実行不可能であるため、実現可能な選択肢になることはめったにない。したがって、DRLが用いられる場合、クライアントノードによって実行されるポリシが、クライアントノードが遭遇する環境状態に確実に対応することは、継続的な課題である。
【0009】
Tobin, Jらによる、2017 IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS), Vancouver, BC, 2017, pp. 23-30, doi: 10.1109/IROS.2017.8202133,「深層ニューラルネットワークをシミュレーションから実世界に移行させるための領域ランダム化」は、一般化の問題に対処するための選択肢として、領域ランダム化を提案する。適切な分布からシミュレータパラメータをサンプリングすることは、より多様な環境状況を用いてMLモデルを学習することを可能にし、それによって、本番で多様な環境状態において信頼性の高い行動を提供できる学習済みMLモデルを用いたポリシの作成を容易にすることができる。領域ランダム化には、学習中に抽出されたデータからパラメータの事後分布を学習するものがある。事後分布を学習することにより、特定のデータ分布を誘導するサンプルシミュレータパラメータを得ることができる。理想的には、学習データ分布およびプロダクションデータ分布をより近づける適切なシミュレータパラメータがサンプリングされる。
【発明の概要】
【0010】
本開示の目的は、上述の課題の1つ以上に少なくとも部分的に対処する方法、装置、およびコンピュータ可読媒体を提供することである。特に、本開示の目的は、クライアントノードのデプロイメント後にクライアントノードで実行されるポリシの継続的な更新をサポートするRLの実装を容易にすることである。
【0011】
本開示はRLを実装するためのクライアントノードの動作方法を提供し、クライアントノードは、ポリシに従って環境内の行動を指示する。方法は、現在のポリシが信頼できない行動を提供する、前記環境の1つ以上のクリティカル状態を識別することと、サーバへの再学習要求の送信を開始することとを有し、前記再学習要求は前記1つ以上のクリティカル状態に関する情報を有する。方法は、前記サーバから新しいポリシを受信することと、ここで前記新しいポリシは前記1つ以上のクリティカル状態に関する情報に基づいてRLを用いて前記サーバによって生成され、前記新しいポリシに従って前記環境における行動を指示することと、をさらに有する。クライアントノードによるクリティカル状態の識別を容易にすることで、本方法は、クライアントノードが、自身が依拠するポリシがもはや信頼できない可能性がある場合にそれを検出できるようにする。クライアントノードはまた、サーバがポリシを更新することを可能にするサーバ情報をサーバに提供することができる。そして、信頼できる行動が指示されることを確実にするため、更新されたポリシがクライアントノードに提供されうる。
【0012】
実施形態のいくつかの態様では、環境のクリティカル状態が、環境の観測結果に基づいて、特には、環境と、現在のポリシを生成するために使用された環境状態との比較を通じて識別されうる。このようにして、クライアントノードは、現在のポリシを生成するために使用された状態の知識を用いて、クリティカル状態を確実に識別することができる。ランダムネットワーク蒸留(RND)技術などの技術は、比較における使用に特に好適な可能性がある。
【0013】
実施形態のいくつかの態様では、クライアントノードが、識別したクリティカル状態の暗号化されたサンプル、または識別したクリティカル状態に基づいて推論されたシミュレーションパラメータを、サーバに提供することができる。これらのオプションはいずれも、クリティカル状態に関連する機密データのプライバシー保護を提供するのに役立ちうる。
【0014】
実施形態のいくつかの態様は、RLを実装するためのクライアントノードおよびサーバを有するシステムの動作方法を提供する。本明細書で論じるように、サーバは、クライアントノードから再学習要求を受信することができ、新しいポリシを生成するために、再学習要求内の1つ以上のクリティカル状態に関する情報に基づいて、現在のポリシを受け持つMLSを再学習することができる。そして、サーバは、MLSによって生成された新しいポリシをクライアントノードに分配することができる。新しいポリシをサーバで集中的に生成することにより、クライアントノードで必要になる計算リソースを削減することができる。
【0015】
本開示はまた、RLを実装するためのクライアントノードを提供し、クライアントノードは、ポリシに従って環境内の行動を指示するように構成される。クライアントノードは、処理回路と、処理回路が実行可能な命令を格納するメモリとを有する。クライアントノードは、以下のように動作可能である。現在のポリシが信頼できない行動を提供する、前記環境の1つ以上のクリティカル状態を識別し、サーバへ、前記1つ以上のクリティカル状態に関する情報を有する再学習要求の送信を開始する。クライアントノードはさらに、サーバから新しいポリシを受信し、ここで前記新しいポリシは前記1つ以上のクリティカル状態に関する情報に基づいてRLを用いて前記サーバによって生成され、前記新しいポリシに従って前記環境における行動を指示する、ようにさらに動作可能である。クライアントノードによって提供されるいくつかの利点は、クライアントノードによって実行される方法の文脈について上述したものでありうる。
【0016】
実施形態のいくつかの態様は、クライアントノードを有し、さらにサーバを有するシステムを提供する。サーバは、処理回路と、処理回路が実行可能な命令を格納するメモリとを有する。サーバは、クライアントノードから再学習要求を受信し、新しいポリシを生成するために、再学習要求内の1つ以上のクリティカル状態に関する情報に基づいて、現在のポリシを担当する機械学習システム(MLS)を再学習する、ように動作可能である。サーバは、MLSが生成した新しいポリシをクライアントノードに分配するようにさらに動作可能である。サーバによって提供されるいくつかの利点は、サーバによって実行される方法の文脈について上述したものでありうる。
【図面の簡単な説明】
【0017】
本開示は、単なる例示として、以下の図面に関して説明される。
図1】RLシステムの模式図である。
図2】DRLシステムの模式図である。
図3A】実施形態の態様に係るクライアントノードによって実行される方法のフローチャートである。
図3B】実施形態の態様に係るサーバによって実行される方法のフローチャートである。
図4A】実施形態の態様に係るクライアントノードの模式図である。
図4B】実施形態の態様に係るクライアントノードの模式図である。
図5A】実施形態の態様に係るサーバの模式図である。
図5B】実施形態の態様に係るサーバの模式図である。
図6A】実施形態の態様に係るポリシ更新手順の例のプロセス図である。
図6B】実施形態の態様に係るポリシ更新手順の例のプロセス図である。
図6C】実施形態の態様に係るポリシ更新手順の例のプロセス図である。
図7】は実施形態の態様に係るポリシ更新手順の概要を提供するフローチャートである。
図8】反復プロセス更新手順の模式図である。
【発明を実施するための形態】
【0018】
説明を目的として、開示された実施形態の完全な理解を提供するために、以下の記述では詳細な解説を行う。しかしながら、これらの特定の詳細なしに、あるいは同等の構成を用いて実施形態を実施しうることは当業者にとって明らかであろう。
【0019】
適応領域ランダム化技術の使用は、シミュレーションと現実とのギャップを埋めるのに役立ちうる。実世界のデータサンプルが与えられた場合、適応的領域ランダム化技術により、安全なシミュレーション環境でMLエージェントの学習が可能となる。シミュレーション環境は、実世界のデータ分布目標に近いデータ分布を有する。しかし、中央集中型の学習を用いる分散RLアーキテクチャにおいて、シミュレーションと現実とのギャップ問題をより完全に解決するためには、他にもいくつかの課題が残されている。いくつかの適用シナリオでは、実世界のデータサンプルが容易に利用可能ではない。(複数のクライアントノードにおける)同一ポリシの異なるデプロイメントは異なるデータ分布を観測する可能性があり、また、クライアントノードが経験するデータ分布を外部要因が経時的に変化させる可能性がある。さらに、いくつかのシステムでは、観測されたデータセット全体を集中型サーバに転送することは実行不可能である可能性があり、そのような転送が可能である場合であっても、観測されたデータを集中型サーバに転送するときにプライバシ制約が適用されうる。
【0020】
実施形態の態様は分散RLの使用に関するものであって、学習はサーバにおいて行われ、結果として生じるポリシのデプロイメントは1つ以上の独立したクライアントノードにおいて行われ、ポリシの推論はクライアントノードの挙動を定義する。実施形態の態様は、クライアントノードがアクティベーション前に本番のデータ分布に適応することを可能にするとともに、クライアントノードが観測したデータ分布を監視することも可能にし、ひいては継続的な学習を促進する可能性がある。したがって、実施形態の態様は、シミュレーションと現実とのギャップに関する問題への対処に役立ちうる。
【0021】
本開示の実施形態はRLを実装するためのクライアントノードの動作方法を提供し、クライアントノードはポリシに従って環境内の行動を指示する。実施形態はまた、クライアントノードとサーバとを有するシステムの動作方法も提供する。
【0022】
図2は、実施形態の態様に従って方法を実行しうるDRLシステム20の模式的な概観である。図2のDRLシステム20は、単一のサーバ21と、複数のクライアントノード22a、22b、22c、22dおよび22e(参照符号22を用いて総称される)とを有する。図2のDRLシステム20は5つのクライアントノード22を示している。より多くの、またはより少ない数のクライアントノードが使用され得ることを当業者は理解するであろう。一部のDRLシステムはまた、複数のサーバを含むことができ、これは、非常に複雑な環境をモデル化するときに特に有用でありうる。
【0023】
図2の矢印によって示されるように、クライアントノード22の各々はサーバ21と通信することができるが、通常、クライアントノード22間に直接的な通信回線は存在しない。実施形態のいくつかの態様では、サーバおよびクライアントノードが同じ場所に配置されてもよく、すなわち、同じ物理装置内に含まれてもよい。しかしながら、典型的には、サーバおよびクライアントノードが互いに別々に配置され、適切な通信手段(例えば、ワイヤレス電気通信システム、有線電気通信システムなど)を用いて互いに通信する。サーバと1つ以上のクライアントノードとが同じ場所に配置され得るか否かは、サーバとそれぞれのクライアントノードとの間の信頼モデルに依存しうる。図2に示す実施形態ではサーバーが各クライアントノードと直接通信することには信頼があるが、クライアントノード同士が直接通信することには信頼がない。クライアントノード間のプライバシーは守られるが、サーバは信頼される。サーバと1つ以上のクライアントノードが同じ場所に配置されている場合、同じ場所に配置されている1つ以上のクライアントノードは、同じ場所に配置されていないクライアントノードよりも特権を持つようになる。
【0024】
実施形態のいくつかの態様では、DRLシステム20が第3世代パートナーシッププロジェクト(3GPP)(登録商標)第4世代(4G)または第5世代(5G)ネットワークなどの無線通信ネットワークの一部を形成しうる。DRLシステム20が無線通信ネットワークの一部を形成する場合、サーバおよびクライアントノードは同じ位置に配置されうる、および/またはネットワークの任意の好適な構成要素内に配置されうる。実施形態のいくつかの態様では、サーバ21がコアネットワークノード(CNN)の一部を形成することができ、クライアントノード22はそれぞれ、基地局の一部を形成することができる(たとえば、第4世代(4G)発展型ノードB(eNB)、または第5世代(5G)次世代ノードB(gNB)であり得る)。
【0025】
実施形態の態様による方法を図3Aに示す。図3AはRLを実施するためのクライアントノードの動作方法を示すフローチャートであり、クライアントノードはポリシに従って環境内の行動を指示する。クライアントノードの性質、行動、環境、およびポリシは方法が使用される特定のシステムに依存し、環境が上記で論じたような電気通信ネットワーク(またはその部分)である例をとると、クライアントノードは基地局であってよく(または基地局に含まれてよく)、ポリシはクライアントノードに、電気通信ネットワーク内のトラフィックの再ルーティング、ネットワーク容量の増加などの行動を指示させうる。さらなる例として、環境は交通管理システム(またはその部分)であってよく、クライアントは1つ以上の交通信号灯のためのコントローラであってよく、ポリシは混雑を低減するために信号灯に使用される照明シーケンスを決定しうる。
【0026】
図3Aに示す方法は、クライアントノードによって実行される。任意の適切なクライアントノード、例えば、図2のクライアントノード22a、b、c、dまたはeを用いることができる。図4Aおよび図4Bは、実施形態の態様によるさらなるクライアントノード401、451を示す。クライアントノード401、451は、図3Aの方法を実行することができる。
【0027】
実施形態のさらなる態様による方法が、RLを実施するためのサーバの動作方法を示すフローチャートである図3Bによって示される。図3Aを参照して上述したクライアントノードと同様に、サーバの性質、行動、環境、およびポリシは方法が使用される特定のシステムに依存し、環境が上述したような電気通信ネットワーク(またはその部分)である例をとると、サーバは、コアネットワークノードであってよく(またはコアネットワークノードに含まれてよく)、ポリシはクライアントノードに、電気通信ネットワーク内のトラフィックの再ルーティング、ネットワーク容量の増加などの行動を指示させてもよい。さらなる例として、環境は交通管理システム(またはその部分)であってよく、サーバは交通管理システムのための中央制御局であってよく、ポリシは混雑を低減するために信号に使用される照明シーケンスを決定しうる。
【0028】
図3Bに示す方法は、サーバによって実行される。任意の適切なサーバ、例えば、図2のサーバ21を用いることができる。図5Aおよび図5Bは、実施形態の態様に従ったさらなるサーバ501、551を示す。サーバ501、551は、図3Bの方法を実行しうる。
【0029】
図3AのステップS301に示されるように、方法は、クライアントノード401、451において、クライアントノード401、451が用いる現在のポリシが信頼できない行動を提供する(クライアントノードが行動を指示する)環境の1つ以上のクリティカル状態を識別することを含む。環境状態は、クライアントノード401、451によって使用される現在のポリシを生成するために使用される環境状態と実質的に異なるクリティカル状態として識別されうる。この文脈における実質的な差異とは、環境が行動に応答する方法に影響を与える差異として定義されうる。クリティカル状態と現在のポリシを生成するために使用される環境状態との間に実質的な差異があることで、現在のポリシによって提供される行動が環境に望ましい効果をもたらすかどうかは定かではない。環境が電気通信ネットワークである例を用いると、環境がクリティカル状態にある場合、パケット損失を低減する意図を有する現在のポリシによって提案される行動はその効果を有さず、場合によってはパケット損失を増加させることがある。環境がクリティカルな状態にあるときに現在のポリシによって提案される行動は環境に望ましい影響を及ぼさない可能性があるので、現在のポリシによって提案される行動は信頼できない行動であると見なされる。1つ以上のクリティカル状態を識別するステップは図4Aによって示されるように、1つ以上のインターフェース403とともにプロセッサ401によって実行される、メモリ402に記憶されたコンピュータプログラムに従って実行されうる。あるいは、1つ以上のクリティカル状態を識別するステップは、図4Bに示されるように、識別器451によって実行されうる。
【0030】
クリティカル状態は任意の適切な方法で識別されうる。例えば、観測された環境状態によって、潜在的には観測された環境状態と現在のポリシを生成するために使用される環境状態との比較と組み合わせて識別されうる。観測された環境状態と、現在のポリシを生成するために使用される環境状態との比較を実行するために、任意の適切な技術が使用されうる。適切な技術の例は、ランダムネットワーク蒸留(RND)に基づくものである。RNDは、2020年11月9日現在、https://arxiv.org/abs/1810.12894で利用可能なBurda,Yらによる「Exploration by Random Network Distillation」においてより詳しく論じられている。
【0031】
RND技術のようなクリティカル状態識別技術を実施するため、(クライアントノードによって使用される)ポリシを生成するためにMLSを学習/再学習するのに用いる情報を、状態分類モデルを学習/再学習するためにも用いることができる。学習/再学習プロセスでは、状態分類モデルが学習データを本質的に記憶することができる。そして、学習/再学習済みの状態分類モデルを用いて、観測された環境状態を分類することができ、分類は「クリティカル」および「非クリティカル」を含むことができ、実施形態のいくつかの態様では、さらなる副分類を含むことができる。分類の正確な性質は、クライアントノードが行動を提供する環境(電気通信ネットワーク、トラフィック管理システムなど)に依存しうる。
【0032】
実施形態のいくつかの態様では、状態分類モデルがひとたび学習/再学習されると、サーバ501、551に接続された1つ以上のクライアントノードに、可能性としてはサーバ501、551に接続されたすべてのクライアントノードに分配されうる。状態分類モデルがクライアントノードのうちの1つ以上に分配される場合、これらのクライアントノードは、その後、(クライアントノードにおいて)モデルを用いて、クリティカル状態を識別することができる。あるいは、例えば、モデルがサーバに保持されている場合、状態分類モデルが提供されていないクライアントノードについては、観測された環境状態のサンプルをサーバに定期的に送信し、サーバーが状態分類モデルを使用してクリティカルな状態を暫定的に識別し、そのような暫定的な識別がクライアントノードによって確認されるようにしてもよい。
【0033】
環境および/または状態分類モデルの観測値を用いるクリティカル状態の識別に加えて、またはその代わりに、実施形態の態様は、クリティカル状態を識別するためにサーバによって提供される集約的な情報を利用することができる。クリティカル状態を識別する際に用いるために、任意の有用な集約的情報をクライアントノードに提供することができる。このような情報の例として、特定の実装における環境の学習状態は、あるパラメータの値が所定の範囲内にある場合がある。このあるパラメータの範囲をクライアントノードに提供することで、クリティカルな状態(あるパラメータが所定の範囲外にある状態)を簡単に識別することができる。
【0034】
最初に、クライアントノードは、サーバによってポリシを提供されうる。あるいは、クライアントノードがサーバに接続される前を含む、デプロイメント前またはデプロイメント中に、ポリシをクライアントノードにプリロードしてもよい。最初のポリシをクライアントノードに提供する厳密な方法は、システム内のノード間で異なってもよく、いずれにしてもシステムに依存しうる。ポリシは、1つ以上のクリティカル状態が識別されるまで、クライアントノードによって適用されうる。
【0035】
1つ以上のクリティカル状態が識別されると、クライアントノードは図3AのステップS302に示されるように、再学習要求の送信を開始することができる。再学習要求の送信をトリガするステップは、図4Aに示されるように、1つ以上のインターフェース403とともにプロセッサ401によって実行される、メモリ402に記憶されたコンピュータプログラムに従って実行されうる。あるいは、再学習要求の送信をトリガするステップは、図4Bに示されるように、送信器452によって実行されうる。クライアントノードは実際の送信を別の構成要素(別のノードなど)で実行することによって送信を開始してもよいし、クライアントノード自身が送信を開始および実行してもよい。再学習要求は単一のクリティカル状態の識別によってトリガされてもよく、または観測されたクリティカル状態の個数が閾値(所定の閾値であってもよく、クライアントノードによって設定されてもよく、サーバによって設定されてもよい、など)を超えるときにトリガされてもよい。再学習要求は1つ以上の識別されたクリティカル状態に関する情報を有し、図3BのステップS305に示されるように、再学習要求がサーバによって受信されると、その情報は、新しいポリシを生成するためにMLSを再学習する際にサーバによって使用されうる(図3BのステップS306を参照)。再学習要求を受信するステップは、図5Aによって示されるように、1つ以上のインターフェース503とともにプロセッサ501によって実行される、メモリ502に記憶されたコンピュータプログラムに従って実行されうる。あるいは、再学習要求を受信するステップは、図4Bに示されるように、受信器551によって実行されうる。
【0036】
サーバはクライアントノードから所定数の再学習要求を受信するとMLSの再学習を開始することができ、受信した再学習要求の一部または全部からの1つ以上のクリティカル状態に関する情報を再学習に用いることができる。あるいは、サーバは、単一の再学習要求を受信すると、その要求からの情報を用いて、再学習を開始してもよい。再学習するステップは、図5Aに示すように、1つ以上のインターフェース503とともにプロセッサ501によって実行される、メモリ502に記憶されたコンピュータプログラムに従って実行されうる。あるいは、再学習するステップは、図5Bに示されるように、学習器552によって実行されうる。
【0037】
再学習要求に含まれる情報の性質は、クライアントノードおよびサーバのそれぞれの能力に応じて異なる。実施形態のいくつかの態様では、再学習要求が、クライアントノードからの識別されたクリティカル状態のサンプルを含む。サーバは、BayesSimモデルβtなどの適応ランダム化技術に基づくパラメータ生成モデルを用いることができる。BayesSimモデルは、2020年11月9日現在https://arxiv.org/abs/1906.01728で入手可能な、Ramos, F.、Possas, R, & Fox, D.による「BayesSim: adaptive domain randomization via probabilistic inference for robotics simulators」に詳述されている。シミュレーションパラメータ生成モデルは、シミュレーションパラメータを生成した観測のサンプルが与えられると、シミュレーションパラメータを出力するように(潜在的に教師あり学習を用いて)学習されうる。そして、学習済みモデルは、観測のサンプル(この場合、クライアントノードからの観測されたクリティカル状態)が与えられると、シミュレータパラメータの推論を可能にしうる。したがって、シミュレーションパラメータ生成モデルを用いることによって、サーバは、クライアントノードによってクリティカルと識別される環境状態に近い環境状態を引き起こすシミュレーションパラメータを特定することができる。
【0038】
実施形態のいくつかの態様では、図6Aのプロセス図に示される例で示されるように、サーバは時間tにおいて1つ以上のクライアントノードiに、学習中に設定されるシステムパラメータθに基づくポリシπt θをデプロイメントする。ポリシのデプロイメントに加え、サーバは、状態分類モデルΦtを、典型的にはポリシπt θがデプロイメントされるクライアントノードと同じである、1つ以上のクライアントノードにもデプロイメントする。図6Aの例は、(時間tで)クライアント1およびクライアントnにデプロイメントされているポリシおよび状態分類モデルを示している。そして、状態分類モデルを受信したクライアントノードは、ローカルで(クライアントノードにおいて)上述したように1つ以上のクリティカル状態を識別するため、モデルを用いることができる。その後、クライアントノードがサーバに再学習要求を送信する場合、この再学習要求は、識別されたクリティカル状態のサンプルSを含むことができる。図6Aの例では、クライアント1がサーバへの再学習要求にサンプルS1を含ませ、クライアントnはサーバへの再学習要求にサンプルSnを含ませている。サンプルSは、クライアントによって識別されるクリティカル状態のうちの1つ以上(すべてでありうる)を有しうる。この例では、その後サーバがサンプルを含む再学習要求(ステップS305を参照)を受信すると、ステップS306に示すようにMLSを再学習するため、サンプルは(例えば、上述したようなパラメータ生成モデルを用いて)シミュレーションパラメータを生成するために用いられうる。そして、再学習済みのMLSは、新しいポリシを生成することができる。状態分類モデルも再学習することができる。そして、サーバは、新しいポリシπt+1 θおよび新しい状態分類モデルΦt+1をクライアントノードにデプロイメントすることができる(ステップS307を参照)。
【0039】
図6Bのプロセス図に示される例のような実施形態のさらなる態様において、サーバはここでも時間tにおいて1つ以上のクライアントノードiにシステムパラメータθに基づくポリシπt θをデプロイメントする。図6Aに示される例と同様に、クライアントノード(クライアント1およびクライアントn)は、その後、状態分類モデルを用いて、1つ以上のクリティカル状態を識別することができる。識別されたクリティカル状態のサンプルをサーバに送信するに先だって、クライアントノードは、暗号化されたサンプルを含む再学習要求をサーバに送信する前にサンプルを暗号化することができる。サンプルの暗号化には、任意の好適な方法を用いることができ、図6Bに示される例では、サンプルがサーバに送信される前に、クライアントノードにおいてサンプルを暗号化するためにエンコード関数Εが用いられる(ステップS302参照)。暗号化はまた、例えば、差分プライバシー技術を用いて、サンプル内のデータ分布を維持しつつ個人情報が不明瞭になるような方法で、識別されたクリティカル状態のサンプルを修正することをさらに有してもよい。代わりに、あるいはさらに、クリティカル状態のサンプルは、ベイジアンネットワークまたは汎用アドバーサルネットワーク(GAN)を用いてエンコードされてもよく、その結果、サーバはクリティカル状態を表すデータの取得および使用は可能だが、オリジナルデータを取得することはできない。サーバがステップS305に示すように再学習要求内の暗号化されたサンプルを受信すると、サーバはサンプルを復号してクリティカル状態を取得し、その後、復号されたサンプルを用いて新しいポリシを生成し(ステップS306)、その後、クライアントノードへの新しいポリシπt+1 θおよび新しい状態分類モデルΦt+1のデプロイメントを開始する(ステップS307)。このように送信する前にサンプルを暗号化することは、いくつかのシステム、例えば、環境の状態(ネットワーク状態)が機密情報とみなされ得る電気通信ネットワークにおいて存在し得るプライバシー保護要件を満たすのに役立ちうる。
【0040】
実施形態のさらなる態様は、プライバシー保護要件を満たすことを支援するために別の技術を用いることができる。図6Cの例に示すように、クライアントノードからサーバへの再学習要求の情報は、(図6Aおよび図6Bに示す例の場合のような)クリティカル状態のサンプル以外の情報であってもよい。図6Cの例では、サーバが時間tにおいて、1つ以上のクライアントノードiにシステムパラメータθに基づくポリシπt+1 θをデプロイメント展開する。ポリシのデプロイメントに加え、サーバは、状態分類モデルΦtを、典型的にはポリシπt θがデプロイメントされるクライアントノードと同じである、1つ以上のクライアントノードにもデプロイメントする。サーバはさらに、BayesSimモデルβtなどのパラメータ生成モデルを、、典型的にはポリシπt θがデプロイメントされるクライアントノードと同じである、1つ以上のクライアントノードにもデプロイメントする。したがって、クライアントノードは、サーバから3つの組み合わせ(πt θ, Φt, βt)を受信することができる。その後、クライアントノードが1つ以上のクリティカル状態を識別すると、これらのクリティカル状態はシミュレーションパラメータを推論するためにパラメータ生成モデルβtと併せて使用することができ、推論されたシミュレーションパラメータをサーバへの再学習要求に含めることができる。クライアントノードにおいてシミュレーションパラメータを導出することによって、識別されたクリティカル状態サンプルをサーバに送信せずにクライアントノードに保持できるため、状態情報に関するプライバシの懸念を満たすことができる。この例では、サーバが新しいポリシπt+1 θ、新しい状態分類モデルΦt+1、および新しいパラメータ生成モデルβt+1をクライアントノードにデプロイメントする(ステップS307を参照)。
【0041】
図6A図6Cに関して上述した実施形態の態様の概略は図7のフローチャートによって提供される。フローチャートは、ステップS701において、サーバがポリシπt θ(および可能性としては状態分類モデルΦtおよび/またはパラメータ生成モデルβtも)をクライアントノードに送信し、クライアントノードがポリシを適用することから始まる。続いて、ステップS702において、クライアントノードは、状態分類モデルΦtを用いて、1つ以上のクリティカル状態を識別する。クリティカル状態を暗号化するために(図6Bに示される例のように)エンコード関数または上述したような別の暗号化方法手段が用いられる場合、クリティカル状態はステップS703-真でエンコードされうる。一方、暗号化が用いられない場合(S703-偽)、方法は、暗号化されていないクリティカル状態とともにステップS704に進む。ステップS704において、パラメータ生成モデルβtがクライアントノードで利用可能であれば(図6Cに示される例のように、S704-真)、シミュレーションパラメータが推論され、推論されたシミュレーションパラメータが、再学習要求内でサーバに送信されうる。パラメータ生成モデルβt+1がクライアントノードで利用可能でない場合(S704-偽)、S703が真であったか偽であったかに応じて、クリティカル状態はエンコードされ、またはエンコードされずに再学習要求内で送信されうる。最後に、S705において、サーバは再学習要求を受信し、ポリシπt+1 θ(および可能性として状態分類モデルΦt+1および/またはパラメータ生成モデルβt+1)を生成するためにMLSを再学習する。
【0042】
新しいポリシ(および可能性として新しい状態分類モデルおよび/または新しいパラメータ生成モデル)がサーバによって生成されると、サーバはデプロイメントを実行する。新しいポリシ(および可能性として新しい状態分類モデルおよび/または新しいパラメータ生成モデル)の分配は、図3BのステップS307に示されている。新しいポリシを分配するステップは、図5Aに示されるように、1つ以上のインターフェース503とともにプロセッサ501によって実行される、メモリ502に記憶されたコンピュータプログラムに従って実行されうる。あるいは、新しいポリシを分配するステップは、図5Bに示されるように、分配器553によって実行されてもよい。デプロイメントの性質はシステム間で異なり、システム内のクライアントノード間でも異なりうる。
【0043】
いくつかのクライアントノードについて、サーバはポリシの定期的な更新を提供することができる。更新の期間はシステムの性質にも依存しうる。環境が急速に進化したシステムに対しての定期的な更新は1時間単位で提供される一方、より長い時間をかけて変化するシステムについてはポリシ更新を週単位またはさらに長い時間単位で提供することができる。定期的な更新が用いられる場合、更新タイミングを、クライアントノードの需要が一般的に比較的低い期間にスケジュールすることができる。例えば、クライアントノードが基地局であるか、基地局の一部を形成する電気通信ネットワークでは、定期的な更新は、基地局の通信トラフィックレベルが一般的にかなり低い現地時間の午前3時に実行されうる。
【0044】
いくつかのクライアントノードについて、サーバは、ポリシのオンデマンド更新を提供することができる。そして、クライアントノードがサーバにポリシを要求する場合、クライアントノードは更新されたポリシを受信することができる。クライアントノードは再学習要求を送信するときにポリシを要求することができ、例えば、クライアントノードは、将来、クライアントノードが更新されたポリシを受信するために利用可能になる機会を示すことができる。あるいは、クライアントノードは、ポリシ更新を要求する別の通信をサーバに送信してもよい。
【0045】
いくつかのクライアントノードに対し、サーバは、サーバおよびクライアントノードの現在の状態に基づいて、日和見的にポリシ更新を提供することができる。これらの日和見的更新は、サーバノードとクライアントノードの両方が適切な状態であればいつでも提供されうる。この一例として、サーバは、クライアントノードの現在の作業負荷を詳述する更新を監視してもよく、または受信してもよい。(提供するポリシ更新を有し、適切な状態にある)サーバが、クライアントノードの作業負荷が低いと判断した場合、サーバはポリシ更新を提供することができる。サーバが複数のクライアントノードに接続されている場合、ポリシ更新は、すべてのクライアントノードに同時に提供されうる。
【0046】
図3AのステップS303に示すように、1つ以上のクライアントノードは、サーバから新しいポリシを受信する。新しいポリシを受信するステップは、図4Aに示されるように、1つ以上のインターフェース403とともにプロセッサ401によって実行される、メモリ402に記憶されたコンピュータプログラムに従って実行されうる。あるいは、新しいポリシを受信するステップは、図4Bに示されるように、受信器453によって実行されてもよい。そして、ステップS304に示されるように、1つ以上のクライアントノードは、受信した新しいポリシに基づいて行動を指示する。行動を支持するステップは、図4Aに示すように、1つ以上のインターフェース403とともにプロセッサ401によって実行される、メモリ402に記憶されたコンピュータプログラムに従って実行されうる。あるいは、行動を指示するステップは、図4Bに示されるように、指示器454によって実行されうる。上述のように、指示される動作の性質は、システムが動作する環境に依存する。
【0047】
典型的には、ポリシ更新に続いて、クライアントノードはさらなるクリティカル状態、すなわち、新しいポリシに従って指示された行動が信頼できない可能性があるクリティカル状態を識別するために、環境を監視し続ける。クライアントノードがさらなるクリティカル状態を識別する場合、さらなる再学習要求がその後送信されてもよく、図3Aおよび図3Bの方法が繰り返されてもよい。本方法の反復的な性質は、図8によって説明される。簡単のため、図8は、サーバと単一のクライアントノードが存在し、クライアントノードから単一の再学習要求をサーバが受信したときに再学習が行われる実施形態の一態様を示す。図8は時刻t-1で始まり、サーバに再学習要求が送信される。サーバはMLSの再学習を実行し、ポリシを実装するクライアントiに新しいポリシπt θを提供する。ポリシπt θを実施した後のある時点で、クライアントiはクリティカル状態を識別し、さらなる再学習要求をサーバに送信し、サーバはMLSを再学習し、ポリシを実施する新しいポリシπt+1 θをクライアントiに提供する。ポリシπt+1 θを実施した後のある時点で、クライアントiはクリティカル状態を識別し、さらなる再学習要求をサーバに送信し、反復プロセスが継続する。
【0048】
実施形態の態様がどのように実装され得るかの一例として、例示的な実装では、クライアントノードは、電気通信ネットワークの環境で使用される基地局(または基地局の一部)であってもよく、サーバは、コアネットワークノードの全部または一部であってよい。クライアントノードはネットワークの現在の状態(ネットワークスループット、ラウンドトリップタイム(RTT)、パケットロスなど)の観測を可能にする測定を実行することができる。測定結果は、ネットワークの観測の全部または一部を構成することができる。そのようなクライアントノードのためのポリシを作成するとき、サーバによって考慮されるシミュレーションパラメータは、キューのサイズ、基地局リソースに関して競合するUEの数、ネットワークにおける任意のボトルネックなどを含みうる。そのようなシミュレーションパラメータの選択は、学習中にエージェントによって観察される状態分布の要因となる。したがって、シミュレーションパラメータは、エージェントがデプロイメント後に行動するための観測範囲を定義する。サーバは、観測(ネットワークスループット、ラウンドトリップタイム(RTT)、パケットロスなど)を、良好な性能につながる行動αにマッピングするポリシを生成する。パラメータ生成モデルおよび状態分類モデルの学習には、同じ観測値が使用されるであろう。その後、基地局が想定外のネットワーク状態、例えば予想よりはるかに高いRTTを観測した場合、基地局はこれをクリティカルな状態として認識し、上述した手順を実施することができる。
【0049】
クリティカルな環境状態の識別とポリシの更新の結果として、実施形態の態様に係るシステム(電気通信ネットワーク内で実施されるシステムを含む)は、進化する運用環境に適応し、長期間にわたって信頼性の高い動作を提供することができる。さらに、ポリシが複数のクライアントノード間で共有され得るので、所与のクライアントノードはそのクライアントノードによって以前には観測されていない環境状態(別のクライアントノードで観測された環境状態であって、それに応じてポリシが生成されている)に対応できる状態でありうるので、システムの回復力が改善される。また、ポリシがサーバにおいて生成されたのちにクライアントノードに分配されるので、クライアントノード自体がポリシを生成する能力を有する必要がなく、簡便な構成のクライアントノードを用いることが可能である。
【0050】
本明細書に記載の方法および手順がクラウド環境で実行され得るように、本開示の例が仮想化され得ることが理解されよう。
【0051】
本開示の方法は、ハードウェアで、または1つ以上のプロセッサ上で稼働するソフトウェアモジュールとして実施されうる。方法はまた、コンピュータプログラムの命令に従って実行されてもよく、本開示はまた、本明細書に記載の方法のいずれかを実行するためのプログラムを記憶したコンピュータ可読媒体を提供する。本開示を具現化するコンピュータプログラムはコンピュータ可読媒体に記憶されてもよく、または例えば、インターネットウェブサイトから提供されるダウンロード可能なデータ信号などの信号の形態であってもよく、または任意の他の形態であってもよい。
【0052】
一般に、様々な例示的な実施形態は、ハードウェアまたは専用回路、ソフトウェア、ロジック、またはそれらの任意の組合せによって実施されうる。例えば、いくつかの態様はハードウェアで実施されうる一方で、他の態様はコントローラ、マイクロプロセッサ、または他のコンピューティングデバイスによって実行されうるファームウェアまたはソフトウェアで実施されてもよいが、本開示はそれらに限定されない。本開示の例示的な実施形態の様々な態様は、ブロック図、フローチャート、または他の何らかの視覚的表現を用いて図示および説明され得るが、本明細書に記載されるこれらのブロック、装置、システム、技術または方法は、非限定例として、ハードウェア、ソフトウェア、ファームウェア、専用回路またはロジック、汎用ハードウェアまたはコントローラまたは他のコンピューティングデバイス、またはこれらの何らかの組み合わせで実施され得ることは十分に理解されるところである。
【0053】
したがって、本開示の例示的な実施形態の少なくともいくつかの態様は、集積回路チップおよびモジュールといった様々な部品で実施されうることを理解すべきである。したがって、本開示の例示的な実施形態は、集積回路として実施される装置で実現されてもよく、集積回路は、本開示の例示的な実施形態に従って動作するように構成可能なデータプロセッサ、デジタル信号プロセッサ、ベースバンド回路および無線周波数回路の少なくとも1つを実施するための回路(ならびに場合によってはファームウェア)を有しうることが理解されよう。
【0054】
本開示の例示的な実施形態の少なくともいくつかの態様は、1つまたは複数のコンピュータまたは他の機器によって実行される、1つまたは複数のプログラムモジュールなどのコンピュータ実行可能命令で実施されうることを理解すべきである。一般に、プログラムモジュールは、特定のタスクを実行するか、またはコンピュータまたは他の機器内のプロセッサによって実行されたときに特定の抽象データタイプを実施する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。コンピュータ実行可能命令は、ハードディスク、光ディスク、リムーバブル記憶媒体、半導体メモリ、RAMなどのコンピュータ可読媒体に格納されうる。当業者が理解するように、プログラムモジュールの機能は様々な実施形態における要求に応じて組み合わされたり分散されたりしてもよい。さらに、機能は全体的または部分的に、集積回路、フィールドプログラマブルゲートアレイ(FPGA)などのファームウェアまたはハードウェア均等物で実施されうる。
【0055】
本開示における「一実施形態」、「ある実施形態」などへの言及は、説明される実施形態が特定の特徴、構造、または特性を含みうることを示すが、すべての実施形態が特定の特徴、構造、または特性を含む必要はない。さらに、そのような語句は、必ずしも同じ実施形態に言及しているとは限らない。さらに、特定の特徴、構造、または特性が実施形態に関連して説明される場合、明示的に説明されているか否かにかかわらず、他の実施形態に関連してそのような特徴、構造、または特性を実装することが当業者の知識の範囲内であることが示唆される。
【0056】
本明細書では様々な要素を説明するために「第1の」、「第2の」などの用語が使用されうるが、これらの要素はこれらの用語によって限定されるべきではないことを理解されたい。これらの用語は、1つの要素を別の要素から区別するためにのみ使用される。例えば、本開示の範囲内で、第1の要素を第2の要素と呼ぶことができ、同様に、第2の要素を第1の要素と呼ぶことができる。本明細書において用語「および/または」は、関連する列挙された用語のうちの1つ以上の任意のおよび全ての組合せを含む。
本明細書で使用される用語は特定の実施形態を説明することのみを目的としており、本開示を限定することを意図するものではない。
【0057】
本明細書において、単数形「a」および「an」は文脈上明らかに背反する場合を除き、複数形も含むことが意図される。本明細書において、用語「含む(comprises)」、「有する(comprising)」、「有する(has)」、「有する(having)」、「含む(includes)」、および/または「含む(including)」は、述べられた特徴、要素、および/または構成要素の存在を特定するが、1つまたは複数の他の特徴、要素、構成要素、および/またはそれらの組み合わせの存在を除外しない。本明細書で使用される用語「接続(connect)」、「接続(connects)」、および/または「接続(connected)」は、2つの要素間の直接的および/または間接的な接続を包含する。
【0058】
本開示は、本明細書に明示的に開示された任意の新規な特徴または特徴の組み合わせ、あるいはその一般化された形態を含む。本開示の前述の例示的な実施形態に対する様々な修正および適応化は、添付の図面と併せて読むことにより、前述の説明を考慮して関連する技術の当業者には明らかになるであろう。しかしながら、任意のおよび全ての変更は、本開示の非限定的かつ例示的な実施形態の範囲内に依然として含まれる。誤解を避けるために、本開示の範囲は、特許請求の範囲によって定義される。
図1
図2
図3A
図3B
図4A
図4B
図5A
図5B
図6A
図6B
図6C
図7
図8