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

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

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

<>
  • 特許-弾性重心ベースのクラスタリング 図1A
  • 特許-弾性重心ベースのクラスタリング 図1B
  • 特許-弾性重心ベースのクラスタリング 図2
  • 特許-弾性重心ベースのクラスタリング 図3A
  • 特許-弾性重心ベースのクラスタリング 図3B
  • 特許-弾性重心ベースのクラスタリング 図4
  • 特許-弾性重心ベースのクラスタリング 図5
  • 特許-弾性重心ベースのクラスタリング 図6
  • 特許-弾性重心ベースのクラスタリング 図7
  • 特許-弾性重心ベースのクラスタリング 図8
  • 特許-弾性重心ベースのクラスタリング 図9
  • 特許-弾性重心ベースのクラスタリング 図10
  • 特許-弾性重心ベースのクラスタリング 図11
  • 特許-弾性重心ベースのクラスタリング 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-30
(45)【発行日】2024-08-07
(54)【発明の名称】弾性重心ベースのクラスタリング
(51)【国際特許分類】
   G06F 18/2325 20230101AFI20240731BHJP
   G06F 16/55 20190101ALI20240731BHJP
   G06N 3/049 20230101ALI20240731BHJP
   G06N 3/088 20230101ALI20240731BHJP
   G06N 20/00 20190101ALI20240731BHJP
   G06T 7/00 20170101ALI20240731BHJP
   G06V 10/762 20220101ALI20240731BHJP
   G06F 123/02 20230101ALN20240731BHJP
【FI】
G06F18/2325
G06F16/55
G06N3/049
G06N3/088
G06N20/00 160
G06T7/00 350C
G06V10/762
G06F123:02
【請求項の数】 19
(21)【出願番号】P 2022511303
(86)(22)【出願日】2020-08-25
(65)【公表番号】
(43)【公表日】2022-11-07
(86)【国際出願番号】 IB2020057928
(87)【国際公開番号】W WO2021044251
(87)【国際公開日】2021-03-11
【審査請求日】2023-01-20
(31)【優先権主張番号】16/563,811
(32)【優先日】2019-09-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】モライティス,ティモレオン
(72)【発明者】
【氏名】セバスチャン,アブ
【審査官】多賀 実
(56)【参考文献】
【文献】国際公開第2011/080282(WO,A1)
【文献】米国特許第10325223(US,B1)
【文献】米国特許出願公開第2019/0042930(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/55
G06F 18/00-18/40
G06N 3/00-99/00
G06T 7/00
G06V 10/762
(57)【特許請求の範囲】
【請求項1】
弾性クラスタリング・アルゴリズムを用いたパターン認識のためのコンピュータ実装方法であって、
K個のクラスタのうちの特定のクラスタに対し、前記特定のクラスタの中心を表す重心kからの距離に基づいて、データ群を表すデータ点の系列の1以上の入力データ点を割り当てるステップと、
前記K個のクラスタの各々において、
前記重心kに対するそれぞれの位置に基づいて前記データ点をクラスタリングするステップと、
第1の位置から、所定の時間間隔にわたり、前記特定のクラスタに割り当てられた前記入力データ点の系列に対して前記第1の位置よりも近いと判定された第2の位置へ、前記重心kをシフトするステップであって、前記シフトすることは、前記入力データ点の系列と前記重心kとの間の距離に基づく、シフトするステップと、
前記重心kの位置を、前記第2の位置から前記特定のクラスタにおける平衡点に向かって緩和するステップであって、前記重心kの位置を前記第2の位置から前記特定のクラスタにおける前記平衡点に向かって緩和することは、弾性プル要因に従って起こる、緩和するステップと
を含む、コンピュータ実装方法。
【請求項2】
前記弾性プル要因は、Fが、時刻tにおける前記特定のクラスタの前記重心kからの距離依存の短期成分であるとしてdF/dtを含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記第1の位置から前記第2の位置への前記重心kをシフトすることは、時刻tにおいて前記特定のクラスタに割り当てられた前記入力データ点の系列の各自の位置から前記重心kの近接P(t)に比例する振幅を利用して計算される、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記重心kの位置が前記第2の位置から前記平衡点へ緩和する速度は、Fが、時刻tにおける前記特定のクラスタの前記重心kからの距離依存の短期成分であるとしてdFのサイズによって決定される、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記弾性クラスタリング・アルゴリズムは、短期スパイクタイミング依存可塑性(ST-STDP)ニューラル・ネットワークにおいて実装される、請求項1に記載のコンピュータ実装方法。
【請求項6】
訓練フェーズの間に、
時間連続体上でグループ化されたデータの系列を含む訓練セットを解析し、
主題エキスパート(SME)によって前記系列の各々をラベル付け
するように構成された機械学習モデルを含み、ここで、前記データの系列は、動的なデータを含む、請求項1に記載のコンピュータ実装方法。
【請求項7】
重心トレースCi(0,…,t)に対する時空間入力X(0,…,t)の近接P0を計算することによって、クラスタ割り当て近接P0(X,C)を割り当てるステップと、
更新近接メトリックP1により前記重心トレースCiを移動させることによって前記クラスタを更新するステップと
を含む、請求項1に記載のコンピュータ実装方法。
【請求項8】
前記近接メトリックP1は、前記入力の強度の尺度によってスケーリングされた近接メトリックP0と等しい、請求項に記載のコンピュータ実装方法。
【請求項9】
前記クラスタ割り当て近接P0(X,C)は、ユークリッド距離を含む、請求項に記載のコンピュータ実装方法。
【請求項10】
前記クラスタ割り当て近接P0(X,C)は、積分入力またはリーク電流のうちの少なくとも1つの活性化関数を含む、請求項に記載のコンピュータ実装方法。
【請求項11】
前記クラスタ割り当て近接P0(X,C)は、前記K個のクラスタの重心からの積分再帰入力を含む、請求項に記載のコンピュータ実装方法。
【請求項12】
実行される場合に、弾性クラスタリング・アルゴリズムを用いたパターン認識を実行するための方法をコンピュータ・デバイスに実行させるコンピュータ可読命令を有するコンピュータ可読プログラム・コードを有形的に具体化した非一時的なコンピュータ可読記憶媒体であって、前記方法は、
K個のクラスタのうちの特定のクラスタに対し、前記特定のクラスタの中心を表す重心kからの距離に基づいて、データ群を表すデータ点の系列の1以上の入力データ点を割り当てるステップと、
前記重心kに対するそれぞれの位置に基づいて前記データ点をクラスタリングするステップと、
第1の位置から、所定の時間間隔にわたり、前記K個のクラスタの前記特定のクラスタに割り当てられた前記入力データ点の系列から前記第1の位置よりも近いと判定された第2の位置へ、前記K個のクラスタの各々における前記重心kをシフトするステップと、
前記K個のクラスタの各々における前記重心kの位置を、前記第2の位置から、前記K個のクラスタの前記特定のクラスタにおける平衡点に向けて緩和するステップと
を含む、非一時的なコンピュータ可読記憶媒体。
【請求項13】
前記弾性クラスタリング・アルゴリズムは、短期スパイクタイミング依存可塑性(ST-STDP)ニューラル・ネットワークにおいて実装され、
前記重心kの位置を前記第2の位置から前記特定のクラスタにおける前記平衡点に向かって緩和するステップは、Fが、時刻tにおける前記特定のクラスタの前記重心kからの距離依存の短期成分であるとして、弾性プル要因dF/dtに従って起こる、請求項12に記載の非一時的なコンピュータ可読記憶媒体。
【請求項14】
前記重心kの位置が前記第2の位置から前記平衡点へ緩和する速度は、Fが、時刻tにおける前記特定のクラスタの前記重心kからの距離依存の短期成分であるとして、dFのサイズによって決定される、請求項12に記載の非一時的なコンピュータ可読記憶媒体。
【請求項15】
コンピューティング・デバイスであって、
プロセッサと、
前記プロセッサに結合されたストレージ・デバイスと、
前記ストレージ・デバイスに格納された弾性クラスタリング・アルゴリズムを用いるパターン認識モジュールであって、前記プロセッサによる前記パターン認識モジュールの実行が、前記コンピューティング・デバイスに、
K個のクラスタのうちの特定のクラスタに対し、前記特定のクラスタの中心を表す重心kからの距離に基づいて、データ群を表すデータ点の系列の1以上の入力データ点を割り当てさせ、
前記重心kに対するそれぞれの位置に基づいて前記データ点をクラスタリングさせ、
第1の位置から、所定の時間間隔にわたり、前記K個のクラスタの前記特定のクラスタに割り当てられた前記入力データ点の系列から前記第1の位置よりも近いと判定された第2の位置へ、前記重心kをシフトさせ、
前記重心の位置を、前記第2の位置から、前記K個のクラスタの前記特定のクラスタにおける平衡点に向かって緩和させる
ように構成され、ここで、前記重心kの位置は、時刻tにおける前記重心kの間の距離に基づいて、弾性プル要因に従って、前記第2の位置から、前記K個のクラスタの前記特定のクラスタにおける前記平衡点に向かって緩和される、コンピューティング・デバイス。
【請求項16】
前記弾性プル要因は、Fが、時刻tにおける前記特定のクラスタの前記重心kからの距離依存の短期成分であるとしてdF/dtを含む、請求項15に記載のコンピューティング・デバイス。
【請求項17】
前記K個のクラスタ各々における前記重心kを前記第2の位置へシフトすることは、時刻tにおいて前記特定のクラスタに割り当てられた前記入力データ点の系列の各自の位置から前記重心kの近接P(t)に比例する振幅を利用して計算される、請求項15に記載のコンピューティング・デバイス。
【請求項18】
入力ノードおよび出力ノードを含む回路と、
前記入力ノードに結合される少なくとも1つのシナプス前ニューロンと、
前記出力ノードに結合される少なくとも1つのシナプス後ニューロンと、
短期スパイクタイミング依存可塑性(ST-STDP)モジュールの学習関数と連携して短期成分F(t)を制御するよう構成された第1のシナプスと、
長期標準可塑性(LT-STDP)モジュールの学習関数と連携して重みW(t)を制御するよう構成された第2のシナプスと、
重みW(t)および短期成分F(t)を受信し、前記シナプス後ニューロンに対し効率を出力する構成された加算器と
を含む、請求項15に記載のコンピューティング・デバイス。
【請求項19】
訓練フェーズの間に、
時間連続体上でグループ化されたデータの系列を含む訓練セットを解析し、
主題エキスパート(SME)によって前記系列の各々をラベル付け
するように構成された機械学習モデルを含み、ここで、前記データの系列は、動的な画像を含む、請求項15に記載のコンピューティング・デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コグニティブ・コンピューティングに関し、より詳細には、部分パターンからオブジェクト/データを認識するために機械学習を利用することに関する。
【背景技術】
【0002】
機械学習においては、K-meansクラスタリングは、データセット内のクラスタの数kを識別することにより静的パターンの認識に利用される教師無しアルゴリズムである。クラスタは、ある共通属性を理由とした点の集約を表す。重心は、クラスタの中心を表す実在または仮想の位置である。動的なパターンの場合、パターン認識の精度は、時間の継続とともに低下し、ここで、オブジェクトは、回転、線形、直線、非線形の動き、視線のパス内の他の物体の動きなど、様々なタイプの動きによって、または、聴覚データ(音)、財務データ、生物学的信号、医療データシーケンスなどの視覚以外の入力パターンのドメインにおける同様の変換によって、変形したり、少なくとも部分に遮蔽(partly occluded)されたりする。
【発明の概要】
【0003】
種々の実施形態によれば、弾性クラスタリングを利用してパターン認識を実行するコンピューティング・デバイス、非一時的なコンピュータ可読記憶媒体およびコンピュータ実装方法が提供される。
【0004】
一実施形態においては、弾性クラスタリング・アルゴリズムを用いたパターン認識のコンピュータ実装方法は、K個のクラスタのうちの特定のクラスタに対し、特定のクラスタの中心を表す重心kからの距離に基づいて、データ群を表すデータ点の系列の1以上の入力データ点を割り当てることを含む。データ点をクラスタリングすることが、重心kに対するそれぞれの位置に基づいて実行される。重心kは、特定の時刻において、第1の位置から、特定のクラスタに割り当てられた入力データ点の系列から第1の位置よりも近いと判定された第2の位置へシフトされる。重心kの位置は、第2の位置から、K個のクラスタのうちの特定のクラスタにおける平衡点に向かって緩和される。重心kの位置を第2の位置からK個のクラスタのうちの特定のクラスタにおける平衡点に向かって緩和することは、弾性プル要因に従って起こる。
【0005】
一実施形態においては、弾性プル要因は、Fが、時刻tの間の特定のクラスタの重心kからの距離依存の短期成分であるとしてdF/dtを含む。
【0006】
一実施形態においては、機械学習モデルが作成され、時間連続体上でグループ化されたデータの系列を含む訓練セットを解析し、主題エキスパート(SME(Subject Matter Expert),内容領域専門家)によって系列の各々をラベル付けする。データの系列は、動的な画像を含む。
【0007】
一実施形態においては、コンピューティング・デバイスは、プロセッサと、プロセッサに結合されたストレージ・デバイスと、ストレージ・デバイスに格納された弾性クラスタリング・アルゴリズムを用いるパターン認識モジュールとを含み、パターン認識モジュールの実行は、コンピューティング・デバイスに、K個のクラスタのうちの特定のクラスタに対し、特定のクラスタの中心を表す重心kからの距離に基づいて、データ群を表すデータ点の系列の1以上の入力データ点を割り当てさせ、重心kに対するそれぞれの位置に基づいてデータ点をクラスタリングさせ、第1の位置から、所定の時間間隔にわたり、K個のクラスタの特定のクラスタに割り当てられた入力データ点の系列から第1の位置よりも近いと判定された第2の位置へ重心kをシフトさせ、重心kの位置を、第2の位置から、K個のクラスタの特定のクラスタにおける平衡点に向かって緩和させるよう構成する。重心kの位置は、第2の位置から、K個のクラスタの特定のクラスタにおける平衡点に向かって緩和され、これは、時刻tにおける重心kの間の距離に基づいて、弾性プル要因に従って起こる。
【0008】
一実施形態においては、コンピューティング・デバイスは、入力ノードおよび出力ノードを含む回路を含む。少なくとも1つのシナプス前ニューロンが入力ノードに結合され、少なくとも1つのシナプス後ニューロンが出力ノードに結合される。第1のシナプスは、短期スパイクタイミング依存可塑性(ST-STDP)モジュールの学習関数と連携して短期成分F(t)を制御するよう構成され、第2のシナプスは、長期標準可塑性(LT-STDP)モジュールの学習関数と連携して、重みW(t)を制御するよう構成される。加算器が、重みW(t)および短期成分F(t)を受信し、シナプス後ニューロンに対し効率を出力するよう構成される。
【0009】
一実施形態においては、実行される場合に、弾性クラスタリング・アルゴリズムを用いたパターン認識を実行するための方法をコンピュータ・デバイスに実現させるコンピュータ可読命令を有するコンピュータ可読プログラム・コードを有形的に具体化した非一時的なコンピュータ可読記憶媒体が提供される。K個のクラスタのうちの特定のクラスタに対し、特定のクラスタの中心を表す重心kからの距離に基づいて、画像を表すデータ点の系列の入力データ点の系列の1以上が割り当てられる。重心kが、第1の位置から、所定の時間間隔にわたり、K個のクラスタの特定のクラスタに割り当てられた入力データ点の系列から第1の位置よりも近いと判定された第2の位置へシフトされる。重心kの位置が、第2の位置から、K個のクラスタの特定のクラスタにおける平衡点に向けて緩和される。
【0010】
これらの特徴および他の特徴は、添付する図面に関連して読み取られるべき、その例示的な実施形態の以下の詳細な説明から明らかになるであろう。
【0011】
図面は、例示的な実施形態のものである。これらは、全ての実施形態を図示しない。他の実施形態が、加えて、または代替して使用されてもよい。紙面を節約するために、またはより効果的な例証を提供するために、明らかであるかあるいは不必要な詳細が省略される可能性がある。いくつかの実施形態は、追加の構成要素またはステップととともに、もしくは、例示される全ての構成要素またはステップを伴わずに、またはこれらの両方で、実施される可能性がある。同一符号が異なる図面に現れる場合には、これは、同一または類似の構成要素またはステップを参照する。
【図面の簡単な説明】
【0012】
図1A図1Aは、例示的な実施形態と一致する、スパイキング・ニューラル・ネットワークにおける弾性クラスタリング・アルゴリズムにおいてパターン認識を実装するように構成された回路のブロック図のアーキテクチャの例を示す。
図1B図1Bは、時間連続性に基づく複数のビューのパターン認識テストセットの出力を示す。
図2図2は、例示的な実施形態と一致する、単一時間ステップでクラスタ化されている入力の例示的な概略図である。
図3A図3Aは、例示的な実施形態と一致する、クラスタリング実装における動作のリストである。
図3B図3Bは、例示的な実施形態と一致する、ニューラル実装のための動作のリストである。
図4図4は、例示的な実施形態と一致する、弾性クラスタリング・アルゴリズムの実装のための基礎となる方程式の図である。
図5図5は、例示的な実施形態と一致する、スパイキング・ニューラル・ネットワークとの弾性クラスタリング・アルゴリズムの使用の、畳み込みニューラル・ネットワーク、多層ニューラル・ネットワークまたはリカレント・ニューラル・ネットワークに対する比較を示す。
図6図6は、畳み込みニューラル・ネットワーク(CNN)、多層パーセプトロン(MLP)、リカレント・ニューラル・ネットワーク(RNN)および例示的な実施形態と一致するスパイキング・ニューラル・ネットワーク(SNN)についての正解フレームの百分率を示すグラフである。
図7図7は、例示的な実施形態と一致する、部分パターン認識における遮蔽ロバストネスに関する短期塑性(STP)の効果を示す。
図8図8は、例示的な実施形態と一致する、手書き数字の変更アメリカ国立標準技術研究所(MNIST)データベースおよび手書き数字の遮蔽MNIST(OMNIST)データベースのCNN、MLPおよびSNNネットワークについての手書き数字の正しく識別された性能の百分率のグラフ表示である。
図9図9は、例示的な実施形態と一致するフローチャートである。
図10図10は、例示的な実施形態と一致する、弾性クラスタリング・アルゴリズムを実装するように構成されたコンピュータ・ハードウェア・プラットフォームの機能ブロック図である。
図11図11は、例示的な実施形態と一致するクラウド・コンピューティング環境を示す。
図12図12は、例示的な実施形態と一致する抽象化モデル・レイヤを示す。
【発明を実施するための形態】
【0013】
概要
以下の詳細な説明では、関連する教示を完全に理解するために、例として多数の具体的な詳細が示されている。しかしながら、本教示は、このような詳細なしに実施することができることは明らかであろう。他の例では、本教示の側面を不必要にあいまいにすることを回避するために、周知の方法、手順、構成要素もしくは回路またはこれらの組み合わせが、細部なしで、比較的に高水準で記述されている。
【0014】
機械学習システムにおいては、パターン認識の速度および精度を増大させるためには、物体の複数のビューである画像の導入が訓練プロセスの一部にあってもよい。しかしながら、機械学習システムは、例えば、物体の位置または構造が訓練サンプルのうちの1つと一致しないか、または部分的に一致しない場合に、パターンを識別するために推論を適用することができる。このような場合、同一パターンの各面を別個のパターンとする網羅的なトレーニングおよびトレーニング・セットが用いられる。各面は、独立して認識されてもよい。しかしながら、網羅的な訓練なしでは、例えば、識別された2以上の面が、同一の物体からのものであるか、または異なる物体からのものであるかについて不明である可能性がある。
【0015】
スパイキング・ニューラル・ネットワーク(SNN)は、中枢神経系をin silicoでエミュレートするように構成されていることが理解される。SNNにおいて、スパイキング・ニューロンは、しばしば、そのタイミングで情報を運ぶ電圧スパイクを利用することによって通信を行う。シナプスは、シナプス前およびシナプス後電圧スパイクのタイミングに応じてシナプス効率(synaptic efficacy)を動的に変化させる、スパイクタイミング依存可塑性(STDP)および短期可塑性(STP)を含むニューロン間の接続である。
【0016】
STDPおよび(STP)に関して、STDPにおいては、シナプス前およびシナプス後スパイク間のタイミング差に基づいて、シナプス強度に変化があることが理解される。一方、STPは、シナプス強度の過渡的な、一時的な変化として特徴付けられる。また、ST-STDPは、STDPにおけるようなシナプス変化を有するが、一過性の効果を有する。
【0017】
したがって、一実施形態においては、時間並びに貴重なネットワークおよび計算リソースを節約するために機械学習を使用する方法およびシステムが提供される。以下、添付の図面に示され、以下で説明される例に対して参照が詳細になされる。
アーキテクチャの例
【0018】
図1Aは、例示的な実施形態と一致する、スパイキング・ニューラル・ネットワークにおける弾性クラスタリング・アルゴリズムにおけるパターン認識を実装するための例示的なアーキテクチャのブロック図を示す。長期STDPおよび短期STDP(ST-STDP)の両方が利用される。
【0019】
図1Aを参照すると、ネットワーク100Aは、少なくとも1つのシナプス前ニューロン105と1つのシナプス後ニューロン150とを含む。第1のシナプス110は、短期スパイクタイミング依存可塑性(ST-STDP)120の学習と連携して短期成分F(t)を制御するように構成され、第2のシナプス115は、長期標準可塑性STDP125の学習と連携して重みW(t)を制御するように構成される。一緒に、加算器130における重みW(t)およびF(t)の加算は、シナプス後ニューロン150に出力される効率(efficacies)を構成する。この実施形態においては、ST-STDP120は、教師なしであり、遮蔽された画像を含む静止画像およびビデオを用いて訓練され得る。図1Aに示すような機械学習モジュールを訓練するために使用されるエポック数は、わずか1であってもよく、従来の機械学習環境での訓練に対しエポックの大幅な減少をもたらす。エポックの減少は、遮蔽された画像の認識のための訓練の場合に特に重要である。
【0020】
教師なし学習では、容認可能な分類についてのラベル無しで履歴データが提供され得る。このようなアルゴリズムは、厳密な静的な基準に従うのではなく、むしろ、データ駆動型の予測または決定(または閾値条件を提供する)を行って通信スレッドが所定のクラスタに属しているか否かを示すために、保存された事前入力またはベースラインからモデルを構築することによって動作することができる。機械学習に基づいて、識別されたパターンおよびトレンド、並びにクラスタに属さないと識別される外れ値が存在し得る。
【0021】
種々の実施形態においては、機械学習は、教師あり学習、教師なし学習、半教師あり学習、ナイーブ・ベイズ、ベイズ・ネットワーク、決定木、ニューラル・ネットワーク、ファジー論理モデルもしくは確率分類モデルまたはこれらの組み合わせを含む技術を使用してもよい。
【0022】
図1Bは、時間連続性に基づいてパターン認識のテストセットの出力を示す。オブジェクトAのビューの系列150-1,150-2,150-3がある。従来の訓練セットにおいては、訓練フェーズの間にすべてのビューが提供されるべきであろう。例えば、図示の訓練セットでは、訓練フェーズの間に、画像155-1,155-2,155-3が提供される。テストセット1は、画像認識パスが160-1,160-2,160-3として訓練セットの全ての部分であることを示している。しかしながら、テストセット2に示すように、165-1,165-2,165-3は認識されるものの、135度回転したオブジェクトAの画像を予め学習していないため、テストに失敗する。本開示の側面に従えば、時間的連続性の使用を通じて、訓練セット1からの推論に基づいて、例えばテストセット2におけるビューの系列の全てが認識される可能性がある。
【0023】
図2は、例示的な実施形態と一致する、単一の時間ステップでクラスタ化されている入力の例示的な例200である。図2に示すように、平衡点212を有する第1クラスタ重心210および平衡点217を有する第2クラスタ重心215に近接して新たな入力205が示される。新たな入力205は、クラスタ重心210,215をそれに向けて引き付ける。バネ214,219は、両方とも新しい入力205に向かう第1クラスタ重心210および第2クラスタ重心215それぞれの弾性を表し、各自の平衡点212,217に向かって緩和し、戻される。図2に示すように、距離依存のプル(引く力)dF(Fは、矢印で示す短期成分である。)および弾性のプルは、dF/dtによって計算することができる。また、図2においてGで表される第1クラスタ重心210の位置は、Wが重みであるとし、Fが短期間成分であるとして、G=W+Fで算出することができる。弾性プルは、その平衡点からの重心の変位に例えば指数関数的に依存する可能性があり、dF/dt=F/τ、この場合、カーネルf(t)は、時定数τで指数関数的に減衰するカーネルである可能性がある。
【0024】
図2に関し、入力は、データ群として実現されてもよいことに理解されたい。データは、画像データ、オーディオ・データ、医療データ、金融データなどの種々のタイプのものであってもよいが、これに限定されるものではない。データは、動画などの動的データであってもよい。上記の非限定的な例のデータは、部分的に遮蔽されていてもよいし、例えば、画像データの場合、正面ビューまたは側面ビューであってもよい。
【0025】
図3Aは、例示的な実施形態と一致するクラスタリング実装における動作300Aのリストである。この例では、初期の弾性クラスタリング・アルゴリズムをクラスタリング動作において用いる。最初から4つのバレットは、クラスタリング実装の動作をセット・アップするために提供される。例えば、N個の空間次元の入力が、0と1との間で正規化されたX(t)={Xi(t)…Xn(t)}である。K個のクラスタの重心は、Ci={Gi(t)…Gn(t)},Gi=Wi+Fiであり、(例えば、k-means法で発見される)K個の平衡点は、Qi={Wi(t)…Wn(t)}である。重心Ciへの時空間入力X(0…t)のクラスタリングが存在する。
【0026】
図3Aを継続して参照すると、アルゴリズムは、dFにより平衡に向けて重心の位置を緩和するための弾性関数を実行することを含む。アルゴリズムは、時空間入力X(0,…,t)の重心トレースCi(0,…,t)に対する近接P0を計算することによってクラスタを割り当てることをさらに含む。クラスタ割り当て近接(cluster assignment proximity)P0(X,C)は、任意のメトリック関数、例えばユークリッド距離、または(積分入力(Integrated input)+リーク)の活性化関数であってよい。任意選択で、自己または他の重心からの積分再帰入力(integration recurrent input)が存在してもよい。
【0027】
アルゴリズムは、さらに、更新近接メトリックP1によりCiを移動させることによってクラスタを更新することを含み、更新近接メトリックP1は、P0と同一であってもよいし、異なるもの、例えばP1=f(P0)であってもよい。加えて、P1は、入力の強度の尺度(例えばST-STDPのSTDP曲線部分)でスケールされたP0であってもよい。
【0028】
図3Bは、例示的な実施形態と一致する、ニューラル実装のための動作300Bのリストである。この例示的な実施形態においては、弾性クラスタリング・アルゴリズムは、ニューラル・ネットワーク実装において使用される。最初の3つのバレットは、ニューラル実装をセット・アップするために提供される。例えば、0と1との間で正規化されたN個の空間次元Xi(t)={Xi(t)…Xn(t)}をとする。シナプス効率Giを有するK個のニューロンがあり、Fは短期成分であり、Wiは、例えばSTDP/後方伝播によって学習されるシナプス重みであり、時空間入力のパターン認識である。
【0029】
図3Bを継続して参照すると、アルゴリズムは、短期塑性dF/dt(例えば、指数関数的)を決定することを含む。図3Bのアルゴリズムは、また、時空間入力Xi(0,…,t)の重心トレースCi(0…t)に対する近接P0を計算することによって、ニューロンを活性化することを含む。クラスタ割り当て近接P0(X,C)は、任意のメトリック関数、例えばユークリッド距離、P0=ReLu/ステップ/スパイキング活性化関数(積分入力+リーク、任意選択的に再帰接続を含む。)とすることができる。図3Bのアルゴリズムは、さらに、入力の積分表現(例えば、指数関数的な時間的カーネルを用いた畳み込み)によってスケーリングされたP0によりシナプス効率を更新することを含む。
【0030】
図4は、例示的な実施形態と一致する、弾性クラスタリング・アルゴリズムの実装の基礎となる方程式400の図である。図4には、数式(1)~(5)が示されている。V(X1,t)は、時間tにおける入力Xに起因したニューロンがとる状態の数学的基礎である。V(X1,∞)は、同一入力X1を受信した場合に、以前の任意の入力から無限に離れた時点でニューロンがとるであろう状態である。状態Vは、スパイキング・ニューロンの膜電位である可能性がある。この状態は、ニューロンの活性O(V)を決定し、これは、スパイキング・ニューロンの場合における出力スパイクまたは他の場合はアナログ値である可能性がある。数式(1)は、したがって、ニューロンの状態が、弾性クラスタリングまたはST-STDP無しでニューロンがとるニューロンの状態V(X1,∞)であり、かつ、最近の出力O(t-dt)、最近の入力X0(t-dt)および現在の入力X1に依存する成分によって変化する、可能な実装を記述する。式(3)は、より一般的であり、依存性は、最も最近の入力だけでなく、過去のすべての入力に依存し、時間的カーネルv(τ)に従ってそれぞれ重み付けされる。式(4)および式(5)は、弾性クラスタリング・アルゴリズムを説明するやり方である。式(5)は、式(3)をさらに一般化することによって導出され、最も最近のものO(t-dt)だけとは対照的に、さらに過去の出力Oへの依存性を拡張する。ニューロンの状態は、重みWと短期成分Fを入力に掛けたもので与えられる。数式(5)においては、Oは、t-tauでのニューロンの出力を表し、Xは、t-tauでの入力であり、時間的カーネルvおよびfである。図4の描写は、入力Xおよびニューロンの活性化への依存性を理解するために用いることができ、これは、例えば、上記で議論した近接メトリクスへの類似物を含む。時間依存のダイナミクスに関し、図4においては、2つの依存性v(τ)およびf(τ)が示されており、ここで、f(τ)は、緩和ダイナミクスであり、v(τ)は、過去の入力に対する最近の入力の引き付ける力(attraction)に関する時間への依存性である。よって、入力は、クラスタ化され、順序付けられ得る。図4に示す方程式は、例示の目的のみで提供されるものであり、本開示の発明コンセプトは、示され、かつ説明された具体例に限定されるものではない。
【0031】
図5は、例示的な実施形態と一致する、スパイキング・ニューラル・ネットワーク(SNN)を有する弾性クラスタリング・アルゴリズムの使用の、畳み込みニューラル・ネットワーク(CNN)、多層ニューラル・ネットワーク(MLN)またはリカレント・ニューラル・ネットワーク(RNN)に対する比較500を示す。図5に示すように、CNN/MLP/RNNは、訓練中は教師有りであり、この例では、遮蔽された画像の認識に対する訓練のために約20000エポックを行ったが、ST-STDP(SNN)は、訓練中は教師無しであり、その訓練中には、リアルタイムで単一のエポックが使用された。CNN/MLP/RNNは、静止画像および遮蔽されたビデオで訓練されたが、ST-STDP(SNN)は、静止画像だけで訓練された。
【0032】
最終的に、CNN/MLP/RNNは、クロックベースの動作を有する人工ニューラル・ネットワークとして実現されていたが、ST-STDP(SNN)は、実際の神経系がイベントベース動作においてどのように動作するかに近い機能を果たす。実際の生物学的神経系は、機械ベースの認識、特に推論を利用するものよりも優れており、ST-STDP(SNN)は、CNN/MLP/RNNよりもこのようなタイプのパターン認識に近いことが、当業者には認められている。
【0033】
図6は、CNN、MLP、RNNおよび例示的な実施形態と一致するSNNについての正解フレームの百分率のグラフ600を示す。上述した図5に関する議論を参照すると、図6において、SNNが、CNN/MLP/RNNと比較した場合に、正解フレームの百分率(パーセンテージ)に関して優れた結果を有することが示されている。
【0034】
図7は、例示的な実施形態と一致する、部分的なパターン700を認識する際の遮蔽ロバスト性に関する短期塑性(STP)の効果を示す。入力は、第1の画像707-1から707-nの遮蔽された部分が増大する行から開始され得る。STP無し709の場合は、707-1から707-nまで遮蔽(occlusion)が増大すると、707-nの下にある”STP”における減少された出力によって示されるように、減少した画像の認識が存在する。しかしながら、出力のSTP711ラインを有する行に示されているように、増大して遮蔽される画像を認識するかなりロバストな量の出力が存在する。シナプス715は、最下段の行に示されている。
【0035】
図8は、例示的な実施形態と一致する、手書きの数字の変更アメリカ国立標準技術研究所(MNIST)データベースおよび手書き数字の遮蔽MNIST(OMNIST)データベースの、CNN、MLPおよびSNNネットワークについての手書き数字の正確に識別された百分率の性能のグラフ表現600である。図8に示すように、SNNネットワークは、手書き文字の遮蔽された認識(OMNIST)において優れた性能を有し、正解率は90%の範囲に近く、これは、CNNおよびMLPを使用した場合よりも有意に増大している。
【0036】
本明細書で議論されるコンセプトによれば、本開示の種々の側面は、コンピュータ動作および他の技術(例えば、部分的に遮蔽され得る物体/データの認識、または、サンプルからの変形または変化した視点を有する物体/データの認識)における改善を提供する。コンピュータの動作の改善は、従来の訓練フェーズで後続する認識のために提供されるであろう運動中の物体の多数のビューを提供するために数千にも達する可能性のある複数のエポックの実行に関連するリソースの利用率を大幅に削減し、または排除することを含む。したがって、種々の側面は、本明細書で議論されるように、ドメイン固有の探索に関連するリソースの利用率を減少することによって、コンピュータの動作を改善する。削減されたCPUサイクル、削減されたメモリ使用量および低減されたネットワーク利用率が提供される。
プロセスの例
【0037】
図1Aのアーキテクチャの例の前述の概要とともに、ここでは、例示的なプロセスの高度な議論を検討することが有用である可能性がある。この目的で、図9は、例示的な実施形態と一致する、パターンを認識することに関連した例示的なプロセスを提示する。プロセス900は、ハードウェア、ソフトウェアまたはそれらの組み合わせにおいて実装することができる一連の動作を表す、論理フローチャートにおけるブロックの集合として示されている。ソフトウェアの文脈において、ブロックは、1以上のプロセッサによって実行される場合に、詳述された動作を実行するコンピュータ実行可能命令を表す。一般的に、コンピュータ実行可能命令は、機能を実行し、または抽象的なデータ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含んでもよい。各プロセスにおいては、動作が記載された順序は、制限として解釈されることを意図するものではなく、任意の数の上記ブロックを任意の順序で組み合わせてもよく、もしくは、上記プロセスを実装するために並行に実行されてもよく、またはこれらの両方であってもよい。
【0038】
905においては、弾性クラスタリング・アルゴリズムを用いてパターン認識を実行するように構成されたコンピューティング・デバイスのプロセッサは、K個のクラスタのそれぞれのクラスタに対し、各クラスタの中心を表す重心kからの距離に基づいて、入力データ点の系列の1以上を割り当てる。入力の系列は、画像または他のタイプのデータであってもよい。例えば、猫の経時的な一連の画像は、動的な動きを含む。
【0039】
910においては、重心kは、K個のクラスタの各自のクラスタ毎について、第1の位置から、所定の時間間隔にわたり、第1の位置よりもKクラスタのそれぞれのクラスタに割り当てられた入力データ点の系列から近接していると判定された第2の位置へシフトされる。915においては、K個のクラスタの各自のクラスタにおける重心kの位置が、第2の位置から、K個のクラスタの各自のクラスタ内の平衡点に向かって緩和される。動作915に関して、第2の位置からK個のクラスタの各自のクラスタ内の平衡点に向かって重心kの位置が緩和されることは、Fが、時間tの間の特定のクラスタの重心kからの距離依存の短期成分であるとして、弾性プルdF/dtに従って生じる。
コンピュータ・プラットフォームの例
【0040】
上記で議論したように、図1に示したように、また、図9のプロセス900および図3Aおよび図3Bの実装に従って、無線または有線通信を介してデータ通信のために接続された1以上のコンピューティング・デバイスを用いて、予期される受信者に基づいて電子通信の内容の調整することに関係する機能を実行することができる。
【0041】
図10は、例示的な実施形態と一致する、図1Aに示された弾性クラスタリングの動作のために構成されたブロック図の例とともに動作する、特定の構成されたコンピューティング・デバイスを実装するために使用することができる、コンピュータ・ハードウェア・プラットフォームの機能ブロック図である。特に、図10は、適切に構成されたサーバを実装するために使用することができる、ネットワークまたはホスト・コンピュータ・プラットフォーム1000を示す。
【0042】
コンピュータ・プラットフォーム1000は、中央処理ユニット(CPU)1004と、ハード・ディスク・ドライブ(HDD)1006と、ランダム・アクセス・メモリ(RAM)もしくはリード・オンリー・メモリ(ROM)またはこれらの両方1008と、キーボード1010と、マウス1012と、ディスプレイ1014と、通信インターフェース1016とを含んでもよく、これらは、システム・バス1002に接続される。
【0043】
一実施形態においては、HDD1006は、パターン認識システム1025のような、種々の処理を実行可能なプログラムを格納することを含む能力を有し、パターン認識システム1025は、本明細書に記載の方法で弾性クラスタリング・アルゴリズムを実行する、弾性クラスタリング・モジュール1030を含む。追加のモジュールが、異なる機能を実行するように構成されてもよい。例えば、本明細書で議論されるように、パターン認識のための静止画像およびビデオ画像を含む、種々のソースからの電子データを受信するように動作する、相互作用モジュール1035が存在してもよい。
【0044】
一実施形態においては、弾性クラスタリング・モジュール1030は、各電子通信の内容を決定するように動作する。その目的で、弾性クラスタリング・モジュール1030は、本明細書で議論されるように、長期STDPと組み合わせて、ST-STDPのような種々の技術を使用してもよい。
【0045】
訓練フェーズ中に、履歴データから学習して、パターンを認識するために使用することができる1以上の機械学習モデルを構築するように動作する、機械学習モジュール1040が存在してもよい。
【0046】
一実施形態においては、システムをWebサーバとして動作させるためのApache(登録商標)のようなプログラムが格納されていてもよい。一実施形態においては、HDD1006は、JVM(Java(登録商標)仮想マシン)を実現するためのJava(登録商標)実行環境プログラム用のもののような1以上のライブラリ・ソフトウェア・モジュールを含む実行アプリケーションを格納してもよい。
クラウド・プラットフォームの例
【0047】
上記で議論したように、1以上のクライアント・ドメインのコンプライアンスを管理することに関係する機能は、クラウドを含んでもよい。本開示は、クラウド・コンピューティングについての詳細な説明を含むが、本明細書で詳述される教示の実装は、クラウド・コンピューティング環境に限定されないことに理解されたい。むしろ、本開示の実施形態は、現時点で知られた、または今後開発される他の任意のタイプのコンピューティング環境とともに実装可能である。
【0048】
クラウド・コンピューティングは、最小の管理労力またはサービス・プロバイダとの対話で迅速にプロビジョニングおよびリリースされ得る、構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシンおよびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能とする、サービス配布のモデルである。このクラウド・モデルは、少なくとも5つの特性、少なくとも3つのサービス・モデルおよび少なくとも4つのデプロイメント・モデルを含む可能性がある。
特性は、以下の通りである。
【0049】
オンデマンド・セルフ・サービス:クラウド・コンシューマは、サービス・プロバイダとの人的な対話を必要とせずに自動的に必要なだけ、サーバ時間およびネットワーク・ストレージなどのコンピュータ能力を一方的にプロビジョニングすることができる。
【0050】
広帯域ネットワーク・アクセス:能力は、ネットワーク越しに利用可能であり、異種シン・クライアントまたはシック・クライアント・プラットフォーム(例えば、モバイルフォン、ラップトップ、PDA)による使用を促進する標準的なメカニズムを介して、アクセスされる。
【0051】
リソース・プーリング:プロバイダのコンピューティング・リソースは、マルチ・テナント・モデルを用いて複数のコンシューマに提供するためにプールされ、種々の物理的および仮想的リソースが需要に従って動的に割り当てられ、また、再割り当てられる。コンシューマは、一般的に、提供されるリソースの正確な場所を管理したり、知識を有したりせず、しかし、より高度な抽象レベル(例えば国、州、またはデータセンタ)にて場所を指定することが可能であるという意味で、場所の独立感がある。
【0052】
迅速な弾力性:能力は、迅速かつ柔軟に、いくつかの場合では自動的に、プロビジョニングされて素早くスケール・アウトすることができ、また、迅速にリリースされて素早くスケール・インすることができる。コンシューマにとって、プロビジョニング利用可能な能力は、しばしば外面的には無制限のように見え、任意の時間に任意の量を購入することができる。
【0053】
測量されたサービス:クラウドシステムは、サービスのタイプにとって適切なある抽象レベル(例えば、ストレージ、処理、帯域幅、アクティブ・ユーザ数)での計量能力を利用することによって、自動的にリソース使用を制御し、また最適化する。リソース使用量は、監視され、制御されおよび報告されて、利用サービスのプロバイダおよびコンシューマの双方に対する透明性を提供する。
サービス・モデルは、以下の通りである。
【0054】
ソフトウェア・アズ・ア・サービス(SaaS):コンシューマに提供される能力は、クラウド・インフラストラクチャ上で稼働するプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(例えばウェブベースの電子メール)などのシン・クライアント・インタフェースを介して種々のクライアント・デバイスからアクセス可能である。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または、限定されたユーザ固有のアプリケーション構成設定の潜在的な例外を除いて個々のアプリケーション能力すらも含む下層のインフラストラクチャを管理または制御しない。
【0055】
プラットフォーム・アズ・ア・サービス(PaaS):コンシューマに提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを用いて作成された、コンシューマ作成または獲得のアプリケーションをクラウド・インフラストラクチャ上にデプロイすることである。コンシューマは、ネットワーク、サーバ、オペレーティング・システムまたはストレージを含む下層のクラウド・インフラストラクチャを管理または制御しないが、デプロイされたアプリケーションおよび場合によってはアプリケーション・ホスティング環境の構成への制御を有する。
【0056】
インフラストラクチャ・アズ・ア・サービス(IaaS):コンシューマに提供される能力は、処理、ストレージ、ネットワーク、および、コンシューマが、オペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアをデプロイし、稼働させることができる他の基本的なコンピューティング・リソースを提供することである。コンシューマは、下層のクラウド・インフラストラクチャを管理または制御しないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションに対する制御、および、場合によっては、選択したネットワーキング・コンポーネント(例えば、ホストファイアウォール)の限定された制御を有する。
デプロイメント・モデルは、以下の通りである。
【0057】
プライベート・クラウド:クラウド・インフラストラクチャは、1つの組織のためだけに使用される。これは、組織または第三者によって管理されてもよく、オンプレミスまたはオフプレミスが存在し得る。
【0058】
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織により共有され、共通の懸念(例えば、ミッション、セキュリティ要件、ポリシーおよびコンプライアンスに関する考慮事項)を有する特定のコミュニティをサポートする。これは、組織または第三者によって管理されてもよく、オンプレミスまたはオフプレミスが存在し得る。
【0059】
パブリック・クラウド:クラウド・インフラストラクチャは、一般公衆、または、大きな業界団体が利用可能であり、クラウド・サービスを販売する組織によって所有される。
【0060】
ハイブリッド・クラウド:クラウド・インフラストラクチャは、2以上のクラウド(プライベート、コミュニティまたはパブリック)の混成であり、これらのクラウドは、固有のエンティティのままであるが、しかし、データおよびアプリケーションのポータビリティを可能とする標準化されたまたは独自の技術(例えばクラウド間の負荷分散のためのクラウド・バースティング)によって結合される。
【0061】
クラウド・コンピューティング環境は、ステートレス性、低結合、モジュール性および意味論的な相互運用性に重点を置いたサービス指向である。クラウド・コンピューティングの核心は、相互接続された複数のノードのネットワークを含むインフラストラクチャである。
【0062】
図11は、例示的な実施形態に一致するクラウド・コンピューティング環境を示す。図11を参照すると、例示的なクラウド・コンピューティング環境1100が示されている。図示されるように、クラウド・コンピューティング環境1100は、1以上のクラウド・コンピューティング・ノード1110を含み、これと、例えば、PDAまたは携帯電話1114A、デスクトップ・コンピュータ1114B、ラップトップ・コンピュータ1114Cもしくは自動車コンピュータ・システム1114Nまたはこれらの組み合わせなどのクラウド・コンシューマによって使用されるローカル・コンピューティング・デバイスが通信してもよい。ノード1110は、互いに通信してもよい。これらは、プライベート、コミュニティ、パブリックもしくはハイブリッド・クラウドなど上述したような、またはこれらの組み合わせなどの1以上のネットワークにおいて、物理的にまたは仮想的にグループ化(図示しない)されてもよい。これは、クラウド・コンピューティング環境1150が、インフラストラクチャ、プラットフォームもしくはソフトウェアまたはこれらの組み合わせをサービスとして提供することを可能とし、これらについては、クラウド・コンシューマは、リソースをローカル・コンピューティング・デバイス上で維持する必要がない。図11に示されるコンピューティング・デバイス1154A~1154Nのタイプは、説明する目的のみであり、コンピューティング・ノード1110およびクラウド・コンピューティング環境1150が、任意のタイプのネットワークもしくはネットワーク・アドレス可能な接続(例えば、ウェブ・ブラウザを使用して)またはこれらの両方を介して、任意のタイプのコンピュータ化されたデバイスと通信することができることが理解される。
【0063】
ここで、図12を参照すると、クラウド・コンピューティング環境1150(図11)によって提供される機能抽象レイヤのセットが示される。図12に示すコンポーネント、レイヤおよび機能が、説明する目的のみであり、本開示の実施形態は、これらに限定されないことを事前に理解されるべきである。示すように、以下の層および対応する機能が提供される。
【0064】
ハードウェアおよびソフトウェア・レイヤ1260は、ハードウェアおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例には、メインフレーム1261、RISC(縮約命令セットコンピュータ)アーキテクチャに基づくサーバ1262、サーバ1263、ブレードサーバ1264、ストレージ・デバイス1265およびネットワークおよびネットワーキング・コンポーネント1266を含む。いくつかの実施形態においては、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア1267およびデータベース・ソフトウェア1268を含む。
【0065】
仮想化レイヤ1270は、抽象化レイヤを提供し、そこから仮想化サーバ1271、仮想化ストレージ1272、バーチャル・プライベート・ネットワークを含む仮想化ネットワーク1273、仮想化アプリケーションおよびオペレーティング・システム1274、および仮想クライアント1275などの仮想化エンティティの例が提供される。
【0066】
一例においては、管理レイヤ1280は、以下に説明する機能を提供してもよい。リソース・プロビショニング1281は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソースおよび他のリソースの動的な調達を提供する。メータリングおよびプライシング1282は、リソースがクラウド・コンピューティング環境内で利用されるコストの追跡およびこれらのソースの消費に対する請求またはインボイスの送付を提供する。一例においては、これらのリソースは、アプリケーション・ソフトウェアのライセンスを含んでもよい。セキュリティは、クラウド・コンシューマおよびタスクについての本人確認、並びに、データおよび他のリソースに対する保護を提供する。ユーザポータル1283は、コンシューマおよびシステム管理者に対しクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル・マネジメント1284は、要求されるサービス・レベルを満たすようにクラウド・コンピューティング・リソースの割り当ておよび管理を提供する。サービス・レベル合意(SLA)の計画と履行1285は、SLAに従って、将来の要求が予期されるクラウド・コンピューティグ・リソースの事前配置および調達を提供する。
【0067】
ワークロード・レイヤ1290は、クラウド・コンピューティング環境が利用される機能性の例を提供する。ワークロードおよびこのレイヤから提供される機能の例には、マッピングおよびナビゲ―ション1291、ソフトウェア開発およびライフサイクル管理1292、仮想クラスルーム教育配信1293、データ・アナリティクス処理1294、トランザクション処理1295、本明細書で議論される弾性クラスタリング・アルゴリズム1296が含まれる。
【0068】
本教示の種々の実施形態について説明されたが、説明を目的としており、開示される実施形態を網羅または限定することを意図するものではない。多数の変更例および変形例が、説明する実施形態の範囲および精神を逸脱することなく、当業者にとって明白となるであろう。本明細書で使用される用語は、実施形態の原理、実際の応用、または、市場において見られる技術を超えた技術向上を最も良く説明し、または、他の当業者が本明細書に開示の実施形態を理解することができるように選ばれたものである。
【0069】
例えば、当業者は、図1Aに示される例が、本開示の弾性クラスタリング・アルゴリズムを実施することができる多数の方法の1つであることを理解すべきである。例えば、ST-STDPの任意の変形例を有するニューラル・ネットワークが、シナプス・ダイナミクスとともに、CPU、GPUおよびAIアクセラレータのようなハードウェア・プラットフォーム上でソフトウェアにおいてシミュレートすることができ、また、ニューロモーフィック・ハードウェア上でプログラム可能なシナプスを更新するシミュレートされた学習によって、シミュレートすることができることを理解すべきである。
【0070】
加えて、ST-STDPは、例えば、短期シナプス・ダイナミクスと組み合わされたアナログCMOSまたはデジタルCMOSにおいて、スパイクタイミング依存性ダイナミクスを有するニューロモーフィック・ハードウェアにおいてエミュレートされてもよい。加えて、ハードウェア・エミュレーションは、相変化メモリ(PCM)、抵抗メモリを含んでもよく、ここで、不揮発性メモリ素子が、短期減衰の形態に一致する揮発特性を有する。揮発性は、短期成分(f)に、不揮発性は、長期STDPの重みストレージ(w)のために用いられてもよい。さらに、ST-SDTPのハードウェア・エミュレーションは、3端子のメモリスタにおいて利用されてもよい。例えば、シナプス後ニューロンの出力(図1Aに示す回路を含むが、これに限定されない。)は、入力およびSTPパラメータに沿ったSTP制御電圧回路に出力されてもよい。
【0071】
上記では、最良の状態であると考えられるものもしくは他の例またはこれらの両方について説明してきたが、これらにおいて種々の修正を行ってもよく、また、本明細書で開示される主題を種々の形態および実施例において実装してもよく、また、教示を多数の応用に適用してもよく、そのうちのいくつかを本明細書において説明したに過ぎないことが理解される。以下の特許請求の範囲によって、本教示の真の範囲内に置かれるあらゆる全ての応用、修正および変形を特許請求することが意図される。
【0072】
本明細書において議論した構成要素、ステップ、特徴、目的、利益および利点は、単なる例示に過ぎない。これらのまたはこれらに関連した議論はいずれも、保護の範囲を限定することを意図するものではない。本明細書において種々の利点について議論したが、必ずしもすべての実施形態がすべての利点を含むわけではないことが理解されるであろう。特に断りがない場合、以下の特許請求の範囲を含めて本明細書において明らかにしたすべての測定、値、レーティング、位置、大きさ、サイズ、および他の仕様は、近似であり、厳密なものではない。これらは、それらに関連した機能およびそれらが属する分野において慣習的であるもの合致する、合理的な範囲を有することが意図される。
【0073】
多数の他の実施形態もまた企図される。これらは、より少ない、追加のもしくは異なるまたはこれらの組み合わせの構成要素、ステップ、特徴、目的、利益および利点を有する実施形態を含む。これらは、また、構成要素もしくはステップまたはこれらの両方が異なって配置され、もしくは異なって順序付けされ、またはこれらの両方がされた実施形態も含む。
【0074】
本開示の側面は、本明細書において、本開示の実施形態に従った方法、装置(システム)およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはこれらの両方を参照しながら説明される。フローチャート図もしくはブロック図またはこれらの両方の各ブロック、および、フローチャート図もしくはブロック図またはこれらの両方における複数のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装されてもよいことが理解されるであろう。
【0075】
これらのコンピュータ可読プログラム命令は、適切に構成されたコンピュータ、特定用途コンピュータのプロセッサまたは他のプログラマブル・データ処理装置に提供され、コンピュータのプロセッサまたは他のプログラマブル・データ処理装置を介して実行される命令が、フローチャート図もしくはブロック図またはこれらの両方のブロックまたは複数のブロックにおいて特定される機能/作用を実装するための手段を作成するように、マシンを生成する。これらのコンピュータ可読プログラム命令は、また、コンピュータ、プログラマブル・データ処理装置もしくは他のデバイスまたはこれらの組み合わせに所定のやり方で機能するよう指示できるコンピュータ可読ストレージ媒体に格納され、それに格納された命令を有するコンピュータ可読ストレージ媒体に、フローチャート図もしくはブロック図またはこれらの両方のブロックまたは複数のブロックで特定される機能/作用の側面を実装する命令を含む製品が含まれるようにする。
【0076】
コンピュータ可読プログラム命令は、また、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラマブル・データ処理装置または他のデバイス上で一連の動作ステップを実行させて、コンピュータ、他のプログラマブル・データ処理装置または他のデバイス上で実行される命令が、フローチャート図もしくはブロック図またはその両方のブロックまたは複数のブロックで特定される機能/作用の側面を実装するように、コンピュータ実装処理を生成することもできる。
【0077】
本明細書における図面におけるコール・フロー、フローチャートおよびブロック図は、本開示の種々の実施形態に従ったシステム、方法およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能性および動作を示す。この点に関して、フローチャート図またはブロック図の各ブロックは、特定の論理機能を実装するための1以上の実行可能な命令を含む、モジュール、セグメントまたは命令の部分を表す可能性がある。いくつかの代替の実装では、ブロックにおいて言及された機能は、図面に示された順序から外れて生じる可能性がある。例えば、連続して示される2つのブロックは、実際には、実質的に同時に実行されてもよく、あるいは、複数のブロックは、関与する機能性に応じて逆の順序で実行されてもよい。ブロック図もしくはフローチャート図またはこれらの両方の各ブロックおよびブロック図もしくはフローチャート図またはこれらの両方の複数のブロックの組み合わせが、特定の機能または作用を実行し、または、特別な目的のハードウェアおよびコンピュータ命令の組み合わせを実施する、特定目的ハードウェアベースのシステムによって実装されてもよいことに留意されたい。
【0078】
上記について例示的な実施形態と併せて説明したが、用語「例示的な」は、最良であることまたは最適であることではなく、単に1つの例として意味することが理解される。直前に明言されたものを除き、明言されたものまたは図示されたものは、それが特許請求の範囲内に記載されるかまたは記載されないかにかかわらず、任意のコンポーネント、ステップ、特徴、オブジェクト、利益、利点、または同等物の公衆への開放をもたらすよう意図するものではなくまたは解釈すべきではない。
【0079】
本明細書で使用される用語および表現は、本明細書で他に特定の意味が述べられる場合を除いて、その対応するそれぞれの研究および学問の領域に関して、こうした用語および表現に従うような通常の意味を有することが理解されるであろう。第1および第2などのような関係語は、必ずしも、任意の実際のそのようなエンティティまたはアクション間の関係または順序を必要とするのでもまたは暗示するものでもなく、単に、あるエンティティまたはアクションを別のものから区別するために使用される可能性がある。用語「含む(comprise)」もしくは「含んでいる(comprising)」またはこれらのいずれかの他の変形は、非網羅的な含有をカバーすることを意図しており、要素のリストを含むプロセス、方法、製品または装置は、それらの要素のみを含むのではなく、このようなプロセス、方法、製品または装置に明白にリスト化されていないまたは固有ではない他の要素を含んでもよい。「1つ(a)」または「1つ(an)」で始まる要素は、さらなる制約なしに、要素を含むプロセス、方法、製品または装置における付加的な同一の要素の存在を妨げるものではない。
【0080】
本開示の要約は、読者が技術的開示の本質を素早く確かめるのを可能にするために提供される。これは、請求項の範囲または意味を解釈または制限するために用いられるのものではないとの理解とともに提出される。加えて、上記詳細な説明において、開示を合理化するために、種々の実施形態において、種々の特徴が互いにグループ化されるように見える可能性がある。この開示の方法は、特許請求される実施形態が、各請求項中で明白に記述されるよりも多くの特徴を有する意図を反映するように解釈されるものではない。むしろ、以下の特許請求の範囲が反映するように、本発明主題は、開示される単一の実施形態の全ての特徴よりも少ない特徴にある。よって、以下の特許請求の範囲は、これにより詳細な説明の中に組み入れられ、各請求項は、それ別個に特許請求される主題として独立している。
本明細書は、以下も開示する。
(付記1)
弾性クラスタリング・アルゴリズムを用いたパターン認識のためのコンピュータ実装方法であって、
K個のクラスタのうちの特定のクラスタに対し、前記特定のクラスタの中心を表す重心kからの距離に基づいて、データ群を表すデータ点の系列の1以上の入力データ点を割り当てるステップと、
前記K個のクラスタの各々において、
前記重心kに対するそれぞれの位置に基づいて前記データ点をクラスタリングするステップと、
第1の位置から、所定の時間間隔にわたり、前記特定のクラスタに割り当てられた前記入力データ点の系列に対して前記第1の位置よりも近いと判定された第2の位置へ、前記重心kをシフトするステップであって、前記シフトすることは、前記入力データ点の系列と前記重心kとの間の距離に基づく、シフトするステップと、
前記重心kの位置を、前記第2の位置から前記特定のクラスタにおける平衡点に向かって緩和するステップであって、前記重心kの位置を前記第2の位置から前記特定のクラスタにおける前記平衡点に向かって緩和することは、弾性プル要因に従って起こる、緩和するステップと
を含む、コンピュータ実装方法。
(付記2)
前記弾性プル要因は、Fが、時刻tにおける前記特定のクラスタの前記重心kからの距離依存の短期成分であるとしてdF/dtを含む、付記1に記載のコンピュータ実装方法。
(付記3)
緩和の時定数を、入力データ点の時定数に一致するように設定し、
dF/dtを、Rが入力データ点の変化の割合であるとして1/Rに設定する、付記2に記載のコンピュータ実装方法。
(付記4)
前記第1の位置から前記第2の位置への前記重心kをシフトすることは、時刻tにおいて前記特定のクラスタに割り当てられた前記入力データ点の系列の各自の位置から前記重心kの近接P (t)に比例する振幅を利用して計算される、付記1に記載のコンピュータ実装方法。
(付記5)
前記重心kの位置が前記第2の位置から前記平衡点へ緩和する速度は、dFのサイズによって決定される、付記1に記載のコンピュータ実装方法。
(付記6)
前記弾性クラスタリング・アルゴリズムは、短期スパイクタイミング依存可塑性(ST-STDP)ニューラル・ネットワークにおいて実装される、付記1に記載のコンピュータ実装方法。
(付記7)
訓練フェーズの間に、
時間連続体上でグループ化されたデータの系列を含む訓練セットを解析し、
主題エキスパート(SME)によって前記系列の各々をラベル付け
するように構成された機械学習モデルを含み、ここで、前記データの系列は、動的なデータを含む、付記1に記載のコンピュータ実装方法。
(付記8)
重心トレースCi(0,…,t)に対する時空間入力X(0,…,t)の近接P0を計算することによって、クラスタ割り当て近接P0(X,C)を割り当てるステップと、
更新近接メトリックP1により前記重心トレースCiを移動させることによって前記クラスタを更新するステップと
を含む、付記1に記載のコンピュータ実装方法。
(付記9)
前記近接メトリックP1は、前記入力の強度の尺度によってスケーリングされた近接メトリックP0と等しい、付記8に記載のコンピュータ実装方法。
(付記10)
前記クラスタ割り当て近接P0(X,C)は、ユークリッド距離を含む、付記8に記載のコンピュータ実装方法。
(付記11)
前記クラスタ割り当て近接P0(X,C)は、積分入力またはリーク電流のうちの少なくとも1つの活性化関数を含む、付記8に記載のコンピュータ実装方法。
(付記12)
前記クラスタ割り当て近接P0(X,C)は、前記K個のクラスタの重心からの積分再帰入力を含む、付記8に記載のコンピュータ実装方法。
(付記13)
実行される場合に、弾性クラスタリング・アルゴリズムを用いたパターン認識を実行するための方法をコンピュータ・デバイスに実行させるコンピュータ可読命令を有するコンピュータ可読プログラム・コードを有形的に具体化した非一時的なコンピュータ可読記憶媒体であって、前記方法は、
K個のクラスタのうちの特定のクラスタに対し、前記特定のクラスタの中心を表す重心kからの距離に基づいて、データ群を表すデータ点の系列の1以上の入力データ点を割り当てるステップと、
前記重心kに対するそれぞれの位置に基づいて前記データ点をクラスタリングするステップと、
第1の位置から、所定の時間間隔にわたり、前記K個のクラスタの前記特定のクラスタに割り当てられた前記入力データ点の系列から前記第1の位置よりも近いと判定された第2の位置へ、前記K個のクラスタの各々における前記重心kをシフトするステップと、
前記K個のクラスタの各々における前記重心kの位置を、前記第2の位置から、前記K個のクラスタの前記特定のクラスタにおける平衡点に向けて緩和するステップと
を含む、非一時的なコンピュータ可読記憶媒体。
(付記14)
前記弾性クラスタリング・アルゴリズムは、短期スパイクタイミング依存可塑性(ST-STDP)ニューラル・ネットワークにおいて実装され、
前記重心kの位置を前記第2の位置から前記特定のクラスタにおける前記平衡点に向かって緩和するステップは、Fが、時刻tにおける前記特定のクラスタの前記重心kからの距離依存の短期成分であるとして、弾性プル要因dF/dtに従って起こる、付記13に記載の非一時的なコンピュータ可読記憶媒体。
(付記15)
前記重心kの位置が前記第2の位置から前記平衡点へ緩和する速度は、dFのサイズによって決定される、付記13に記載の非一時的なコンピュータ可読記憶媒体。
(付記16)
コンピューティング・デバイスであって、
プロセッサと、
前記プロセッサに結合されたストレージ・デバイスと、
前記ストレージ・デバイスに格納された弾性クラスタリング・アルゴリズムを用いるパターン認識モジュールであって、前記プロセッサによる前記パターン認識モジュールの実行が、前記コンピューティング・デバイスに、
K個のクラスタのうちの特定のクラスタに対し、前記特定のクラスタの中心を表す重心kからの距離に基づいて、データ群を表すデータ点の系列の1以上の入力データ点を割り当てさせ、
前記重心kに対するそれぞれの位置に基づいて前記データ点をクラスタリングさせ、
第1の位置から、所定の時間間隔にわたり、前記K個のクラスタの前記特定のクラスタに割り当てられた前記入力データ点の系列から前記第1の位置よりも近いと判定された第2の位置へ、前記重心kをシフトさせ、
前記重心の位置を、前記第2の位置から、前記K個のクラスタの前記特定のクラスタにおける平衡点に向かって緩和させる
ように構成され、ここで、前記重心kの位置は、時刻tにおける前記重心kの間の距離に基づいて、弾性プル要因に従って、前記第2の位置から、前記K個のクラスタの前記特定のクラスタにおける前記平衡点に向かって緩和される、コンピューティング・デバイス。
(付記17)
前記弾性プル要因は、Fが、時刻tにおける前記特定のクラスタの前記重心kからの距離依存の短期成分であるとしてdF/dtを含む、付記16に記載のコンピューティング・デバイス。
(付記18)
前記K個のクラスタ各々における前記重心kを前記第2の位置へシフトすることは、時刻tにおいて前記特定のクラスタに割り当てられた前記入力データ点の系列の各自の位置から前記重心kの近接P (t)に比例する振幅を利用して計算される、付記16に記載のコンピューティング・デバイス。
(付記19)
入力ノードおよび出力ノードを含む回路と、
前記入力ノードに結合される少なくとも1つのシナプス前ニューロンと、
前記出力ノードに結合される少なくとも1つのシナプス後ニューロンと、
短期スパイクタイミング依存可塑性(ST-STDP)モジュールの学習関数と連携して短期成分F(t)を制御するよう構成された第1のシナプスと、
長期標準可塑性(LT-STDP)モジュールの学習関数と連携して重みW(t)を制御するよう構成された第2のシナプスと、
重みW(t)および短期成分F(t)を受信し、前記シナプス後ニューロンに対し効率を出力する構成された加算器と
を含む、付記16に記載のコンピューティング・デバイス。
(付記20)
訓練フェーズの間に、
時間連続体上でグループ化されたデータの系列を含む訓練セットを解析し、
主題エキスパート(SME)によって前記系列の各々をラベル付け
するように構成された機械学習モデルを含み、ここで、前記データの系列は、動的な画像を含む、付記16に記載のコンピューティング・デバイス。
図1A
図1B
図2
図3A
図3B
図4
図5
図6
図7
図8
図9
図10
図11
図12