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

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

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

特許7427011センサ入力信号からのコグニティブ・クエリへの応答
<>
  • 特許-センサ入力信号からのコグニティブ・クエリへの応答 図1
  • 特許-センサ入力信号からのコグニティブ・クエリへの応答 図2
  • 特許-センサ入力信号からのコグニティブ・クエリへの応答 図3
  • 特許-センサ入力信号からのコグニティブ・クエリへの応答 図4
  • 特許-センサ入力信号からのコグニティブ・クエリへの応答 図5
  • 特許-センサ入力信号からのコグニティブ・クエリへの応答 図6
  • 特許-センサ入力信号からのコグニティブ・クエリへの応答 図7
  • 特許-センサ入力信号からのコグニティブ・クエリへの応答 図8
  • 特許-センサ入力信号からのコグニティブ・クエリへの応答 図9
  • 特許-センサ入力信号からのコグニティブ・クエリへの応答 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-25
(45)【発行日】2024-02-02
(54)【発明の名称】センサ入力信号からのコグニティブ・クエリへの応答
(51)【国際特許分類】
   G06N 5/025 20230101AFI20240126BHJP
   G06N 3/02 20060101ALI20240126BHJP
【FI】
G06N5/025
G06N3/02
【請求項の数】 21
(21)【出願番号】P 2021547178
(86)(22)【出願日】2020-02-14
(65)【公表番号】
(43)【公表日】2022-04-06
(86)【国際出願番号】 IB2020051259
(87)【国際公開番号】W WO2020174311
(87)【国際公開日】2020-09-03
【審査請求日】2022-07-25
(31)【優先権主張番号】16/284,322
(32)【優先日】2019-02-25
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】ケルビーニ、ジョヴァンニ
(72)【発明者】
【氏名】エレフセリウー、エヴァンゲロス、スタブロス
【審査官】円子 英紀
(56)【参考文献】
【文献】特開2005-190429(JP,A)
【文献】特表2018-536244(JP,A)
【文献】特開2018-165926(JP,A)
【文献】特開2001-052175(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 18/00-18/40
G06T 7/00- 7/90
G06V 10/00-20/90
G06V 30/418
G06V 40/16
G06V 40/20
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
センサ入力信号からのコグニティブ・クエリに応答するための方法であって、前記方法が、
複数の隠れニューロン層および出力ニューラル層を含む人工ニューラル・ネットワークの入力層にセンサ入力信号を供給することと、
前記複数の隠れニューロン層の各々からの隠れ層出力信号および前記出力ニューラル層からの出力信号を決定することと、
前記出力ニューラル層の前記出力信号および前記隠れニューロン層の前記隠れ層出力信号を1つのマッピング関数の入力データとして使用してマッピング関数のセットを適用することによって擬似ランダム・ビット・シーケンスのセットを生成することと、
前記擬似ランダム・ビット・シーケンスのセットを使用してハイパー・ベクトルを決定することと、
前記ハイパー・ベクトルを連想メモリに格納することであり、異なるハイパー・ベクトルの間の距離が決定可能である、前記格納することと
を含む、方法。
【請求項2】
前記センサ入力信号からそれぞれ得られる前記コグニティブ・クエリと候補応答とを導出するために、前記連想メモリに格納された異なるハイパー・ベクトルを組み合わせること
をさらに含む、請求項1に記載の方法。
【請求項3】
前記コグニティブ・クエリを表す前記ハイパー・ベクトルと、前記候補応答を表す前記ハイパー・ベクトルとの間の距離を測定すること
をさらに含む、請求項2に記載の方法。
【請求項4】
前記コグニティブ・クエリを表す前記ハイパー・ベクトルから最小距離を有する前記候補応答に関連する前記ハイパー・ベクトルを選択すること
をさらに含む、請求項3に記載の方法。
【請求項5】
人工ニューラル・ネットワークの入力層にセンサ入力データを前記供給することが、
複数の人工ニューラル・ネットワークの入力層に前記センサ入力データを供給すること
をさらに含む、
請求項2に記載の方法。
【請求項6】
前記ニューラル・ネットワークの訓練の終了時に前記連想メモリに格納されるべきロール・ベクトルとして複数のランダム・ハイパー・ベクトルを生成すること
をさらに含む、請求項1から請求項5のいずれか一項に記載の方法。
【請求項7】
新しいセンサ入力データのセットごとに、前記複数のニューラル・ネットワークの出力データに基づいてフィラー・ベクトルとして複数の擬似ランダム・ハイパー・ベクトルを連続的に生成することであり、前記擬似ランダム・ハイパー・ベクトルが前記連想メモリに格納される、前記生成すること
をさらに含む、請求項5に記載の方法。
【請求項8】
前記組み合わせることが、
異なるハイパー・ベクトルを、ベクトル要素ごとのバイナリXOR演算によってバインドすること
を含む、請求項2に記載の方法。
【請求項9】
前記組み合わせることが、
異なるハイパー・ベクトルを、ベクトル要素ごとのバイナリ平均によってバンドルすること
を含む、請求項2に記載の方法。
【請求項10】
前記ニューラル・ネットワークへの前記センサ入力信号の入力ベクトルの2つのセット間で決定された確率的勾配降下値が、事前定義された閾値より下回ったままである場合、前記ロール・ベクトルが、前記人工ニューラル・ネットワークの訓練の前記終了時に、前記連想メモリに格納される、請求項6に記載の方法。
【請求項11】
センサ入力信号からのコグニティブ・クエリに応答するための機械学習システムであって、前記機械学習システムが、
複数の隠れニューロン層および出力ニューラル層を含む人工ニューラル・ネットワークの入力層にセンサ入力信号を供給するように構成されたセンサと、
前記複数の隠れニューロン層の各々からの隠れ層出力信号および前記出力ニューラル層からの出力信号を決定するように構成された第1の決定ユニットと、
前記出力ニューラル層の前記出力信号および前記隠れニューロン層の前記隠れ層出力信号を1つのマッピング関数の入力データとして使用してマッピング関数のセットを適用することによって擬似ランダム・ビット・シーケンスのセットを生成するように構成された発生器ユニットと、
前記擬似ランダム・ビット・シーケンスのセットを使用してハイパー・ベクトルを決定するように構成された第2の決定ユニットと、
前記ハイパー・ベクトルを連想メモリに格納するように構成されたストレージ・モジュールであり、異なるハイパー・ベクトルの間の距離が決定可能である、前記ストレージ・モジュールと
を含む、機械学習システム。
【請求項12】
前記センサ入力信号からそれぞれ得られる前記コグニティブ・クエリと候補応答とを導出するために、前記連想メモリに格納された異なるハイパー・ベクトルを組み合わせるように構成された組合せユニット
をさらに含む、請求項11に記載の機械学習システム。
【請求項13】
前記コグニティブ・クエリを表す前記ハイパー・ベクトルと、前記候補応答を表す前記ハイパー・ベクトルとの間の距離を測定するように構成された距離測定ユニット
をさらに含む、請求項12に記載の機械学習システム。
【請求項14】
前記コグニティブ・クエリを表す前記ハイパー・ベクトルから最小距離を有する前記候補応答に関連する前記ハイパー・ベクトルを選択するように構成された選択モジュール
をさらに含む、請求項13に記載の機械学習システム。
【請求項15】
人工ニューラル・ネットワークの入力層にセンサ入力データを供給するための前記センサが、
複数の人工ニューラル・ネットワークの入力層に前記センサ入力データを供給する
ようにさらに構成される、請求項12に記載の機械学習システム。
【請求項16】
前記ニューラル・ネットワークの訓練の終了時に前記連想メモリに格納されるべきロール・ベクトルとして複数のランダム・ハイパー・ベクトルを生成するように構成されたロール・ベクトル発生ユニット
をさらに含む、請求項11から請求項15のいずれか一項に記載の機械学習システム。
【請求項17】
新しいセンサ入力データのセットごとに、前記複数のニューラル・ネットワークの出力データに基づいてフィラー・ベクトルとして複数の擬似ランダム・ハイパー・ベクトルを連続的に生成するように構成されたフィラー・ベクトル発生ユニットであり、前記擬似ランダム・ハイパー・ベクトルが前記連想メモリに格納される、前記フィラー・ベクトル発生ユニット
をさらに含む、請求項15に記載の機械学習システム。
【請求項18】
前記組合せユニットが、異なるハイパー・ベクトルを、ベクトル要素ごとのバイナリXOR演算によってバインドするようにさらに構成される、請求項12に記載の機械学習システム。
【請求項19】
前記組合せユニットが、異なるハイパー・ベクトルを、ベクトル要素ごとのバイナリ平均によってバンドルするようにさらに構成される、請求項12に記載の機械学習システム。
【請求項20】
前記ニューラル・ネットワークへの前記センサ入力信号の入力ベクトルの2つのセット間で決定された確率的勾配降下値が、事前定義された閾値より下回ったままである場合、前記ロール・ベクトルが、前記人工ニューラル・ネットワークの訓練の前記終了時に、前記連想メモリに格納される、
請求項16に記載の機械学習システム。
【請求項21】
少なくとも1つのプロセッサに、請求項1から請求項10のいずれか一項に記載の方法を実行させる、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、機械学習に関し、より具体的には、センサ入力信号からのコグニティブ・クエリに応答するためのコンピュータ実施方法に関する。本開示は、さらに、センサ入力信号からのコグニティブ・クエリに応答するための関連する機械学習システム、および関連するコンピュータ・プログラム製品に関する。
【背景技術】
【0002】
機械学習は、科学ならびに企業情報技術(IT)組織における最新のトピックのうちの1つである。過去数年間に企業によって収集された膨大な量のデータは、絶えず増加しており、ますます高度な分析ツールを必要としている。伝統的なビジネス・インテリジェンス/ビジネス分析ツールは、情報技術(IT)およびビジネス・ユーザにとって非常に有用であることが証明されている。しかしながら、半構造化データまたは非構造化データの分析は、従来の分析手法ではますます困難になってきている。
【0003】
ストレージならびにコンピューティング能力は、過去数年間に著しく成長しており、これにより、スタンド・アロン・システムの人工知能(AI)システムまたはあらゆるタイプのアプリケーションに統合された人工知能(AI)システムのどちらも比較的容易な実現が可能である。これらの(AI)システムは、手続き的にプログラムされる必要はないが、例えば未知のデータを認識または分類あるいはその両方を行うためのモデルを開発するのに例示のデータを用いて訓練することができる。
【0004】
したがって、今日、我々は依然として狭いAIの時代におり、それは、AIシステムが訓練データで訓練された後にパターンを学習および認識することができるものの、極めて狭い境界内に限られていることを意味する。産業界は、依然として、抽象的知識をあるドメインから別のドメインに移送することができる可能性がある汎用AIから遠く離れている。したがって、様々な知識ドメイン間の類似性を見つけることは、従来のフォンノイマン・コンピューティング・アーキテクチャに課せられた課題のうちの1つである。
【0005】
類推を行い、コグニティブ・クエリに応答する人工ニューラル・システムの能力は、そのようなシステムの表現能力に大きく依存する。類推は、既存の人工ニューラル・ネットワークでは容易に得られないコグニティブ構造の複雑な関係表現を必要とする。ベクトル記号アーキテクチャは、コグニティブ構造を表現し操作することができることが示されている分散表現方式のクラスである。
【0006】
しかしながら、欠落しているステップは、センサ・データから直接にコグニティブ構造を符号化することであり、それは、既存の文献では、「符号化問題」と広く呼ばれている。
【0007】
1つの態様における本開示は、人工ニューラル・ネットワークの能力を向上させ、情報ボトルネックに対処し、例えば、レーヴン漸進的マトリクス・テストなどの明確に定義された古典的知能テストに合格することができる。
【発明の概要】
【0008】
本発明の1つの態様によれば、センサ入力信号からのコグニティブ・クエリに応答するためのコンピュータ実施方法を提供することができる。この方法は、複数の隠れニューロン層および出力ニューラル層を含む人工ニューラル・ネットワークの入力層にセンサ入力信号を供給することと、複数の隠れニューロン層の各々からの隠れ層出力信号および出力ニューラル層からの出力信号を決定することと、出力層の出力信号および隠れニューロン層のうちの1つの隠れ層出力信号を1つのマッピング関数の、特に少なくとも1つのマッピング関数の入力データとして使用してマッピング関数のセットを適用することによって擬似ランダム・ビット・シーケンスのセットを生成することとを含むことができる。
【0009】
追加として、この方法は、擬似ランダム・ビット・シーケンスのセットを使用してハイパー・ベクトルを決定することと、ハイパー・ベクトルを連想メモリに格納することであり、異なるハイパー・ベクトルの間の距離が決定可能であり得る、格納することとを含むことができる。
【0010】
本発明の別の態様によれば、センサ入力信号からのコグニティブ・クエリに応答するための関連する機械学習システムを提供することができる。機械学習システムは、複数の隠れニューロン層および出力ニューラル層を含む人工ニューラル・ネットワークの入力層にセンサ入力信号を供給するように構成されたセンサと、複数の隠れニューロン層の各々からの隠れ層出力信号および出力ニューラル層からの出力信号を決定するように構成された第1の決定ユニットと、出力層の出力信号および隠れニューロン層のうちの1つの隠れ層出力信号を1つのマッピング関数の、特に少なくとも1つのマッピング関数の入力データとして使用してマッピング関数のセットを適用することによって擬似ランダム・ビット・シーケンスのセットを生成するように構成された発生器ユニットとを含むことができる。
【0011】
機械学習システムは、擬似ランダム・ビット・シーケンスのセットを使用してハイパー・ベクトルを決定するように構成された第2の決定ユニットと、ハイパー・ベクトルを連想メモリに格納するように構成されたストレージ・モジュールであり、異なるハイパー・ベクトルの間の距離が決定可能である、ストレージ・モジュールとをさらに含むことができる。
【0012】
センサ入力信号からのコグニティブ・クエリに応答するための提案するコンピュータ実施方法は、多数の利点および技術的効果を提供することができる。
【0013】
このシステムは、センサ・データから直接に合成構造の超次元(Hyper Dimensional、HD)バイナリ・ベクトルを符号化するという今まで未解決の問題に対処する手際のよい方法を可能にすることができる。この問題は、広く「符号化問題」と呼ばれている。着想は、連想メモリへの入力としてのHDベクトルを形成するために人工ニューラル・ネットワークの様々な層からのセンサ・データの情報を使用することである。それによって、同じクラスの要素を表すことができるセンサ・データは、類似のバイナリ・ハイパー・ベクトルをもたらす情報に変換され得る。類似性は、ここでは、連想メモリ内で互いに比較的短い距離を有することを意味することができる。これらの距離は、クエリと潜在的な応答との間のメトリック値によって測定することができる。HDベクトルが互いに近いほど、潜在的応答(候補応答を含むグループから選択された)は良好になり、距離はより短くなり得る。距離は、ハミング距離関数を使用して手際よく測定することができる。コグニティブ・クエリと候補応答の間の最短距離は、所与のクエリへの最良の応答として使用することができる。
【0014】
ここで提案する解決策は、連想メモリのアドレス指定をするためのHDベクトルを導出するために、訓練された人工ニューラル・ネットワークの暗黙の固有状態を利用する。それによって、2つの異なる時間フレームが使用される。最初の時間フレームは、ニューラル・ネットワークの訓練の終了によって定義することができる。これは、ニューラル・ネットワークの層に適用された勾配降下手法によって決定されて、訓練セッションの終了を決定することができる。生成されたHDロール・ベクトルは、1回のみ、すなわち、訓練期間の終了時に生成される。ロール・ベクトルは、コグニティブ・クエリの構成表現要素に関連づけられるニューラル・ネットワークの基底状態を表す。
【0015】
訓練の後、コグニティブ・クエリおよび候補応答を表すセンサ入力信号がシステムに供給される限り、フィラーHDベクトルは、連続的に生成され得る。各候補応答は、連想メモリに供給することができる少なくとも1つのHDフィラー・ベクトルを作り出すことができる。組み合わされたHDロールと、候補応答を表すフィラー・ベクトルとの間の距離から、クエリへの回答を導出することができる。
【0016】
したがって、合成構造の超次元(HD)ベクトルをセンサ・データから直接に符号化するという問題を解決することによって、コグニティブ・クエリに対する応答を決定することが手際よく可能になる。
【0017】
提案する非フォンノイマン・ベクトル記号アーキテクチャは、さらに、全体的変換を可能にする、すなわち、HDベクトルの情報は、位置に関係なく、欠陥のビットの数に関連して優雅に劣化する。その上、それは、センサ信号表現をコンポーネントに分解する必要なしに、簡単な二項演算によって他の合成構造の上に合成構造をマッピングすることによって特徴づけられる効率的なHDコンピューティングを採用する。
【0018】
以下において、発明の概念の追加の実施形態が記載される。
【0019】
1つの実施形態によれば、この方法は、各々がセンサ入力信号から得られるコグニティブ・クエリおよび候補応答を導出するために、連想メモリに格納された異なるハイパー・ベクトルを組み合わせること(すなわち、バインディング演算子またはバンドリング演算子あるいはその両方を使用すること)を含むことができる。したがって、クエリの処理および候補応答の処理は、比較と最終決定プロセスとを暗黙に比較的容易に行うことができる同様の方法で達成することができる。
【0020】
別の実施形態によれば、この方法は、コグニティブ・クエリを表すハイパー・ベクトルと候補応答を表すハイパー・ベクトルとの間の距離を測定することを含むことができる。バイナリ・ハイパー・ベクトル間の距離を測定する1つのオプションは、2つのバイナリ・ハイパー・ベクトル間のハミング距離を使用することにあり得る。他のベクトル距離方法も首尾よく実施することができる。重要なのは、距離関数を用いて、良好な比較が、制御可能な計算能力により達成できることである。完全性の理由のために、ハイパー・ベクトルおよび超次元ベクトルという用語は、本明細書では交換可能に使用することができることに留意されたい。
【0021】
1つの実施形態によれば、この方法は、コグニティブ・クエリを表すハイパー・ベクトルから最小距離を有する候補応答に関連するハイパー・ベクトルを選択することをさらに含むことができる。所与のコグニティブ・クエリへの応答を選択するこの比較的簡単な方法は、所与のコグニティブ・クエリへの潜在的な応答のオプション・ルーム(option room)において最良のあり得る応答を導出するかなり手際のよい方法を表すことができる。
【0022】
この方法のさらなる実施形態によれば、人工ニューラル・ネットワークの入力層にセンサ入力データを供給することは、複数の人工ニューラル・ネットワークの入力層にセンサ入力データを供給することをさらに含むことができる。この追加の機能により、学習速度および応答プロセスの信頼性は、著しく向上することができる。
【0023】
この方法の1つの実施形態によれば、擬似ランダム・ビット・シーケンスのセットを生成することは、出力層の出力信号および複数の隠れニューロン層の隠れ層出力信号を少なくとも1つのマッピング関数の入力データとして使用することをさらに含むことができる。ニューラル・ネットワークの出力層だけでなく隠れニューロン層も使用して、さらに複雑な構造(特に、ハイパー・ベクトルの1つ)が、比較的容易に生成され得るが、その理由は、マッピング関数(実際には、複数の個々のマッピング関数とすることができる)が、さらに、ニューラル・ネットワークの中間状態から、すなわち、隠れ層から情報を受け取ることができるからである。これは、連想メモリをアドレス指定するバイナリHDベクトルを形成するための非常に良好な基本的データ・セットを表すことができる。
【0024】
この方法の1つの許容できる実施形態によれば、ニューラル・ネットワークは、畳み込みニューラル・ネットワークとすることができる。畳み込みニューラル・ネットワークは、画像を認識すること(すなわち、画像に関する予測を行うこと)、または例えば話し言葉の形態の音声を処理することにおいて非常に成功していることが証明されている。畳み込みの1つまたは複数のステージ(一般に、隠れニューロン層のシーケンスの初めに位置づけられる)は、1つのニューラル・ネットワーク層から次の層へのニューロンの数を極めて迅速に低減させることができる。したがって、それらは、ニューラル・ネットワークの計算能力要件を軽減するのに役立つ。
【0025】
1つのさらなる実施形態によれば、この方法は、ニューラル・ネットワークの訓練の終了時に連想メモリに格納されるべきロール・ベクトルとして複数のランダム・ハイパー・ベクトル(HDベクトル)を生成することをさらに含むことができる。「終了時に」という用語は、ニューラル・ネットワークの訓練が終了に近づいていることを示唆することができる。この終了は、教師あり訓練セッションにおける訓練データの結果とラベルとの間の差によって決定されたエラーに依拠する勾配降下手法によって決定することができる。SGD(確率的勾配降下法)アルゴリズムの使用および勾配統計値のモニタは、ロール・ベクトルを生成するために訓練セッションの終了を決定するための1つのオプションとすることができる。当業者は、学習セッションの終了が近づいていることを決定するために、SGDアルゴリズム以外の複数の他の決定方法を知っている可能性がある。2つの異なる訓練データ・セットを用いた2つの訓練サイクル間の確率的勾配分散の差を簡単に決定し、閾値と比較することにより、ロール・ベクトルの生成をトリガすることができる。
【0026】
追加の実施形態によれば、この方法は、新しいセンサ入力データのセットごとに、複数のニューラル・ネットワークの出力データに基づいてフィラー・ベクトルとして複数の擬似ランダム・ハイパー・ベクトルを連続的に生成することであり、擬似ランダム・ハイパー・ベクトルが連想メモリに格納される、生成することをさらに含むことができる。これらの擬似ランダム・ベクトルは、(ロール・ベクトルとは対照的に)コグニティブ・クエリおよび候補応答を表すセンサ入力信号が、関連する機械学習システムに供給される限り、連続的に生成され得る。
【0027】
この方法の1つの実施形態によれば、組み合わせることは、異なるハイパー・ベクトルを、ベクトル要素ごとのバイナリXOR演算によってバインドすることを含むことができる。そのような演算は、異なるハイパー・ベクトル間のバインディングを構築するために、計算能力に関して低コストで高効率のデジタル関数を表すことができる。
【0028】
この方法の別の関連する実施形態によれば、組み合わせることは、異なるハイパー・ベクトルを、ベクトル要素ごとのバイナリ平均によってバンドルすることをさらに含むことができる。要素ごとのバイナリXOR演算として定義されたバインディング演算子
【数1】
とは対照的に、バンドリング演算子<・>は、HDベクトルの要素ごとのバイナリ平均、すなわち、多数決原理として定義することができる。したがって、簡単なバイナリ計算が、異なるハイパー・ベクトルのバインディングおよびバウンディングを定義するために使用されてもよく、したがって、限定された計算能力しか必要とされない。
【0029】
この方法のさらなる実施形態によれば、ニューラル・ネットワークへのセンサ入力信号の入力ベクトルの2つのセット間で決定された確率的勾配降下値が、事前定義された閾値より下回ったままである場合、ロール・ベクトルは、人工ニューラル・ネットワークの訓練の終了時に、連想メモリに格納され得る。言い換えれば、隣接するSGD値間の差は非常に小さいので、さらなる訓練労力は、重要性が次第に小さくなる可能性がある。そのような方法のステップは、訓練時間をできるだけ短く保つために、訓練データ・セットを妥当なサイズまで切り詰めるのに使用することもできる。
【0030】
さらに、実施形態は、コンピュータまたは任意の命令実行システムによってまたはそれに関連して使用されるためのプログラム・コードを備える、コンピュータ使用可能またはコンピュータ可読媒体からアクセス可能な関連するコンピュータ・プログラム製品の形態をとることができる。本明細書の目的のために、コンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによってまたはそれに関連して使用されるためのプログラムを格納するか、通信するか、伝搬させるか、または転送するための手段を含むことができる任意の装置とすることができる。
【0031】
本発明の実施形態が様々な主題を参照して説明されることに留意すべきである。特に、ある実施形態は方法タイプの請求項を参照して説明され、一方、他の実施形態は装置タイプの請求項を参照して説明される。しかしながら、当業者は、上述および以下の説明から、特に通知されない限り、1つのタイプの主題に属する特徴の任意の組合せに加えて、異なる主題に関連する特徴間の、特に、方法タイプの請求項の特徴と装置タイプの請求項の特徴との間の任意の組合せも本明細書内で開示されているものと見なされることが推測するであろう。
【0032】
上述で定義された態様、および本発明のさらなる態様は、以下に記載される実施形態の例から明らかであり、実施形態の例を参照して説明されるが、本発明はそれに限定されない。
【0033】
本発明の好ましい実施形態が、単に例として、以下の図面を参照して説明される。
【図面の簡単な説明】
【0034】
図1】センサ入力信号からのコグニティブ・クエリに応答するための本発明のコンピュータ実施方法の一実施形態のブロック図である。
図2図1による方法をサポートおよび拡張する追加のステップの一実施形態のブロック図である。
図3】ニューラル・ネットワークの一部の一実施形態のブロック図である。
図4】一般に提案されている基本的概念の一実施形態のブロック図である。
図5】ここで提案する概念およびさらなる詳細の一実施形態のブロック図である。
図6】提案する概念の完全なシステムの実施形態のブロック図である。
図7】(A)~(C)は、バインディングおよびバンドリング式、潜在的入力データ、ならびに正しい決定の平均ならびに誤った決定の平均のメトリック値の結果の例を示す図である。
図8】センサ入力信号からのコグニティブ・クエリに応答するための機械学習システムの一実施形態のブロック図である。
図9】提案する方法の一部を実行するのに役立ち、または図8による機械学習システムを含み、あるいはその両方であるコンピューティング・システムの一実施形態のブロック図である。
図10】レーヴン漸進的マトリクス・テストの例示の形態を示す図である。
【発明を実施するための形態】
【0035】
本明細書の文脈において、以下の規則、用語、または式、あるいはその組合せが使用され得る。
【0036】
「コグニティブ・クエリ」という用語は、機械学習システムへのクエリを意味し、そのクエリは、SQL(構造化クエリ言語)ステートメント、または別の形式のクエリ言語として定式化されていなくともよく、センサ入力データから直接導出されてもよい。一連の候補応答は、学習された文脈内で最良のあり得る回答を決定するために、すなわち、基礎をなす訓練されたニューラル・ネットワークから(またはさらに訓練されたニューラル・ネットワークから)必要な情報を得るために、機械学習システム(すなわち、関連する方法)を使用してコグニティブ・クエリに対してテストされる。
【0037】
「センサ入力信号」という用語は、視覚データ(人間によっても認識可能な)のためのセンサから直接導出されたデータ、例えば、カメラなどのようなイメージ・センサからの画像データを指すことができる。代替として、さらに、音響データもまたマイクロホンからのセンサ・データとなり得る。
【0038】
「人工ニューラル・ネットワーク」(ANN)という用語(または手短に言えばニューラル・ネットワーク(両方の用語は本明細書の全体にわたって交換可能に使用されることがある))は、人間の脳を構成する生物学的ニューラル・ネットワークによって漠然と示唆された回路またはコンピューティング・システムを指すことができる。ニューラル・ネットワーク自体は、アルゴリズムではなく、むしろ多くの異なる機械学習アルゴリズムが協力し合って複雑なデータ入力を処理するためのフレームワークである。そのようなシステムは、一般に任意のタスク特有のルールによりプログラムされることなしに例を考慮することによって、例えば、処理される学習材料からの識別特性を自動的に生成することによって、タスクを実行することを「学習する」ことができる。
【0039】
ANNは、人工ニューロンと呼ばれる接続されたユニットまたはノードの集合と、ある人工ニューロンから別の人工ニューロンに信号を伝送するように構成された、生物学的脳のシナプシスのような接続とに基づく。信号を受け取る人工ニューロンは、信号を処理し、次いで、それに接続された追加の人工ニューロンに信号を送ることができる。
【0040】
一般のANN実施態様では、人工ニューロン間の接続での信号は、実数で表すことができ、各人工ニューロンの出力は、その入力の合計の非線形関数(活性化関数を使用する)によって計算することができる。人工ニューロン間の接続は通常「エッジ」と呼ばれる。人工ニューロンを接続するエッジは、一般に、学習が進むにつれて適応する重みを有する。重みは、接続での信号の強度を増減させる。人工ニューロンは、閾値を有することができ、その結果、信号は、総計の信号がその閾値を超える場合のみ送られ得る。一般に、人工ニューロンは、入力層、隠れ層、および出力層のような層に集められる。信号は、第1の層(入力層)から、おそらくは層を複数回通過した後、最後の層(出力層)に進む。
【0041】
「隠れニューロン層」という用語は、入力層または出力層でないニューラル・ネットワークにおける層を指すことができる。
【0042】
「擬似ランダム・ビット・シーケンス」(PRBS)という用語は、決定論アルゴリズムにより生成されるが、予測することが困難であることがあり、実際のランダム・シーケンスに類似した統計的挙動を示すバイナリ・シーケンスを指すことができる。
【0043】
「マッピング関数」という用語は、ここでは、所与の入力からPRBSを生成するために使用されるアルゴリズムを指すことができる。一般に、生成されたPRBSは(ベクトルとして見た場合)、対応する入力ベクトルよりも非常に高い次元を有する。
【0044】
「ハイパー・ベクトル」という用語は、多数の次元を有するベクトルを指すことができる。ここで提案する概念では、次元は、10000の範囲にあり得る。したがって、さらに、「ハイパー次元ベクトル」(HDベクトル)という用語が、本明細書では交換可能に使用され得る。
【0045】
「連想メモリ」またはコンテントアドレサブル・メモリ(CAM)または連想ストレージという用語は、例えば、特定の超高速検索アプリケーションで使用される特別なタイプのコンピュータ・メモリを指すことができる。連想メモリは、入力データ(例えば、HDベクトル)を格納データと比較することができ、一致するデータのアドレスを返すことができる。
【0046】
ユーザがメモリ・アドレスを与え、RAMがそのアドレスに格納されたデータ・ワードを返す標準のコンピュータ・メモリ(ランダム・アクセス・メモリ、またはRAM)と異なり、CAMは、ユーザがデータ・ワードを与え、CAMが、そのデータ・ワードがCAMのどこかに格納されているかどうかを調べるためにそのメモリ全体を検索するように設計される。データ・ワードまたは類似のデータ・ワード(すなわち、データ・ベクトル)が見つかった場合、CAMは、そのワードが見つかった1つまたは複数のストレージ・アドレスのリストを返す(いくつかのアーキテクチャ実施態様では、さらに、そのストレージ・アドレスのコンテンツ、または他の関連するデータを返す)。言い換えれば、連想メモリは通常のコンピュータ・メモリに類似している可能性がある、すなわち、HDベクトルXが、アドレスとして別のHDベクトルAを使用して格納されている場合、Xは、後で、Aを用いて連想メモリをアドレス指定することによって検索することができる。さらに、Xは、Aに類似するHDベクトルA’を用いてメモリをアドレス指定することによっても検索することができる。
【0047】
「異なるハイパー・ベクトル間の距離」という用語は、距離として示される値を提供する関数の結果を指すことができる。ハイパー・ベクトルが文字列と見なされる場合、2つの(等しい長さの)HDベクトル間の距離は、文字列における対応する記号が異なっている位置の数(ハミング距離)に等しくすることができる。言い換えれば、それは、ある文字列を他の文字列に変えるのに必要とされる置換の最小数、または、代替として、ある文字列を他の文字列に変換することができるエラーの最小数を測定することができる。その結果、「最小距離」という用語は、所与のベクトルと他のベクトルのグループとの間の最短距離を指すことができる。
【0048】
「候補応答」という用語は、クエリまたはコグニティブ・クエリとして示された機械学習システムへの入力に対してテストされ得る回答パターンのグループからの1つの回答パターンを指すことができる。機械学習システムは、適切な回答として最も近い(すなわち、クエリからの最短距離を有する)1つの候補応答を決定するために、HDベクトルを介して組み合わされる少なくとも1つのニューラル・ネットワークと連想メモリとの組合せを使用して、クエリに対して候補応答の各々をテストすることができる。
【0049】
「ロール・ベクトル」という用語は、システムのニューラル・ネットワークの訓練の終了時に1回決定されるHDベクトルのセットを指すことができる。ロール・ベクトルは、コグニティブ・クエリの構成表現要素に関連づけることができる。ロール・ベクトルは、隠れ層および出力層からのデータをランダム(または擬似ランダム)ビット・シーケンス発生器への入力として使用して、ロール・ベクトルとして機能するランダム・ビット・シーケンスを生成することによって生成され得る。
【0050】
「フィラー・ベクトル」という用語は、ロール・ベクトルと同じ次元を有するHDベクトルを指すことができる。ロール・ベクトルとの違いは、フィラー・ベクトルが、コグニティブ・クエリおよび候補応答を表すセンサ入力信号を機械学習システムの少なくとも1つのニューラル・ネットワークに供給している間に連続的に生成され得ることである。フィラー・ベクトルは、擬似ランダム・ビット・シーケンスとして生成されてもよい。
【0051】
「MNISTデータベース」(修正された国立標準技術研究所データベース)という用語は、様々な画像処理システムを訓練するために一般に使用される手書き数字の大きいデータベースである。このデータベースは、機械学習の分野での訓練およびテストにも広く使用されている。それは、NISTのオリジナルのデータ・セットからのサンプルを「再混合する」ことによって作成された。作成者は、NISTの訓練データ・セットが米国国勢調査局の従業員から取得され、一方、テストデータ・セットが米国の高校生から取得されたので、それは機械学習実験には適切でないと感じた。さらに、NISTからの白黒画像は、28×28ピクセル・バウンディング・ボックスに収まるように正規化され、アンチエイリアシングされ、それにより、グレイスケール・レベルが導入された。
【0052】
個別の実施形態を説明することによって実施形態のより詳細を論じる前に、より理論的な背景の短い説明が与えられるべきであり、それは部分的に実施形態において実現されることが分かる。
【0053】
個別のエントロピーH(X)、H(T)と結合エントロピーH(X,T)とを有するランダム・ベクトルXとTとの間の相互情報量は、
【数2】

として表すことができる。
【0054】
提案する方法の文脈において、Tは、Xの量子化されたコードブックであり、条件付き分布p(t|x)によって特徴づけられ、Xのソフトパーティショニングを誘導することを仮定することができる。Xのカーディナリティが増加するにつれて、Xを表現する複雑さも一般に増加する。圧縮表現の品質を決定するために、ランダム変数Xと新しい表現Tとの間の「距離」を測定する歪み関数d(X,T)を導入することができる。この量の標準的な尺度は、XとTとの間を「送信する」チャネルに関するコードのレート、すなわち、最大許容平均歪みDによって制約される相互情報量によって与えることができる。したがって、レート歪み関数の定義は、
【数3】

として表すことができる。
【0055】
レート歪み関数を見いだすには、歪み制約を満たすことができるすべての正規化条件付き分布p(t|x)の凸集合に対して凸関数の最小化問題を解くことを必要とすることがある。この問題は、ラグランジェ乗数を導入し、関連する最小化タスクを解くことによって解くことができる。
【0056】
したがって、Xの圧縮表現の品質を測定するレート歪み手法による情報ボトルネック(上述を参照)法には、3つの欠点がある。
(i)歪み尺度が、問題設定の一部である。
(ii)Xの圧縮表現Tのカーディナリティの選択が任意である。
(iii)Xに含まれる情報の関連性の概念が、全く存在しない。これは、欠点のリストの主要な要素を表している可能性がある。
【0057】
すべての欠点を取り除くことができる解決策は、いわゆる情報ボトルネック法によって、すなわち、ユーザの注目する情報を定義する「関連する」ランダム・ベクトルYと、XとYとの間の結合統計値p(x,y)とを導入することによって得ることができる。したがって、問題は、TとYとの間の相互情報量I(T;Y)を最大にするXの圧縮表現Tを見いだすこととして定式化される。次いで、所与の結合分布p(x,y)の関連性圧縮関数は、
【数4】

として定義することができ、ここで、Tは、Xが与えられるYから条件付きで独立し(マルコフ条件)、最小化は、制約が満たされるすべての正規化条件付き分布p(t|x)にわたって行われる。
【0058】
関連性圧縮関数^R(^D)は、今では、ラグランジェ乗数を再度用い、次に、正規化を条件とし、マルコフ条件p(t|x,y)=p(t|x)を仮定して関連関数を最小化することによって見つけることができる。
【0059】
次に、人工ニューラル・ネットワークに移ると、人工ニューラル・ネットワークの異なる層に関連づけられるランダム・ベクトルは、入力Xの連続内部表現のマルコフ連鎖と考えることができる。次いで、任意のTの表現は、符号器P(T|X)および関連する復号器P(^Y|T)によって定義することができ、それぞれ、情報平面座標I=I(X;T)およびI=I(T;Y)によって定量化することができる。
【0060】
情報ボトルネック境界は、所望の出力Yに関する所与の相互情報量のために入力Xを最大に圧縮する最適表現Tを特徴づける。
【0061】
完全に接続されている人工ニューラル・ネットワークを実際の出力^Yを用いて訓練した後、比I(Y;^Y)/I(X;Y)は、関連情報のうちのどれだけを人工ニューラル・ネットワークが捕捉できるかを定量化する。それによって、完全に接続されたニューラル・ネットワークでは、ニューラル・ネットワーク内の層の各ニューロンは、関連する重み係数を用いてニューラル・ネットワークの次の下流の層の各ニューロンに接続され得る、すなわち、リンクされ得る。
【0062】
さらに、「符号化問題」という用語が、ここで対処されることがあり、センサ・データから直接、合成構造の超次元(HD)ベクトルを符号化すること、すなわち、長いバイナリ・シーケンスとしてコグニティブ要素を符号化することは、これまで未解決の問題であり、広く「符号化問題」と呼ばれている。ここで提案する解決策は、この符号化問題に対処している。
【0063】
基本的に、着想は、連想メモリへのハイパー・ベクトル入力を形成するために人工ニューラル・ネットワークの様々な層からのセンサ・データの情報を使用することである。それによって、同じクラスのコグニティブ要素を表すセンサ・データが、類似のハイパー・ベクトルをもたらすバイナリ情報に変わると推測される。これは、後で説明する図4から認識することができる。
【0064】
次に、完全な概念の縮小した説明を表す、固定長の高次元ベクトル、すなわちマッピング・ベクトルに関する演算子のセットに基づくベクトル記号アーキテクチャ(VSA)の話題に移る。表現するためのベクトルの固定長は、新しい合成構造が、表現サイズを増加させることなく、しかしながら、雑音のレベルの増加を犠牲にして、より簡単な構造から形成され得ることを意味することができる。
【0065】
縮小した表現およびコグニティブ・モデルは、「バインディング」機能および「バンドリング」機能を実行する2つの演算子により本質的に扱われ、バイナリ・ベクトルでは以下の通りである。
(i)要素ごとのバイナリXOR演算として定義されたバインディング演算子
【数5】

および
(ii)要素ごとのバイナリ平均として定義されたバンドリング演算子<・>。
【0066】
次いで、マッピング・ベクトルの概念を連想メモリのスパース分散メモリ(SDM)モデルと組み合わせて、簡単な方法でマッピングの学習を可能にするアナログ・マッピング・ユニット(AMU)にすることができる。例えば、「円が正方形の上にある」という概念は、関係
【数6】

によって符号化することができ、ここで、「a」は関係名(の上に)であり、a1およびa2は関係のロール(変数)であり、幾何学的形状は、何が関係づけられているかを示すフィラー(値)である。ロール・ベクトルおよびフィラー・ベクトルの概念は、追って、図6において後で説明されることになる。
【0067】
次に、スパース分散メモリ(SDM)を調べると、SDMは、類似したマッピング例をよく組織化されたマッピング・ベクトルに自動的にバンドルするアナロジカル・マッピング・ベクトルを格納するための好適なメモリである。基本的に、SDMは、2つの部分、以下のように初期化されるバイナリ・アドレス・マトリクスAおよび整数コンテンツ・マトリクスCから構成され、
(i)マトリクスAは、0および1でランダムに投入され、Aの行はアドレス・ベクトルを表し、
(ii)マトリクスCはゼロに初期化され、Cの行はカウンタ・ベクトルである。
【0068】
この設定により、アドレス・ベクトルとカウンタ・ベクトルとの間に1対1のリンクがあり、その結果、活性化されたアドレス・ベクトルは、常に、活性化されたカウンタ・ベクトルが伴う。それによって、アドレス・ベクトルおよびカウンタ・ベクトルは、一般に、約10000の次元Dを有する。アドレス・ベクトルおよびカウンタ・ベクトルの数は、必要なメモリSのサイズを規定することがある。次いで、クエリ(クエリ・ベクトル)とアドレスとの間のハミング距離(相関を表す)が閾値θよりも小さい場合、アドレスは活性化され、ここで、θは0.1にほぼ等しい。
【0069】
AMUを含むベクトル記号アーキテクチャは、重要なコグニティブ機能を表すシステム・モデリング類似性を構築するために使用することができることを示すことができる。SDMを含むAMUは、所与のシーケンスの新規のパターンを予測することを可能にする合成構造の非可換バインディングを可能にする。そのようなシステムは、レーヴン漸進的マトリクスと呼ばれる、一般に使用される知能テストを解くために適用することができる(図10と比較)。
【0070】
タイプ
【数7】

のいくつかのマッピング例をバンドルする場合、ロール/フィラー関係の合成構造は、マッピング・ベクトルに統合され、その結果、新しい合成構造
【数8】

が正しく一般化される。実験結果は、3つの三角形を表す記号が、他の候補記号よりも著しく高い相関値を経験できることを明確に示している。
【0071】
一般に、アナロジカル・マッピング・ユニット(AMU)は、追加の入力/出力回路をもつSDMから構成される。したがって、AMUは、学習回路とマッピング回路とを含み、例からタイプx→yのマッピングを学習し、SDMに格納されているバンドルされたマッピング・ベクトルを使用して、出力ベクトルy’を計算する。
【0072】
以下では、すべてをまとめて、図の詳細な説明を与える。図におけるすべての命令は概略である。最初に、センサ入力信号からのコグニティブ・クエリに応答するための本発明のコンピュータ実施方法の一実施形態のブロック図が与えられる。その後、さらなる実施形態、ならびにセンサ入力信号からのコグニティブ・クエリに応答するための機械学習システムの実施形態を説明する。
【0073】
図1は、センサ入力信号からのコグニティブ・クエリに応答するための方法100の一実施形態のブロック図を示す。それによって、テストは、類似を用いて応答を決定することを必要とする。センサ入力データまたはセンサ入力信号は、一般に、画像データ、すなわち、特定の解像度のラスタ化された画像と見なすことができる。代替として、さらに、音声ファイル(音声、または他の音響データ)が、センサ入力データとして使用されてもよい。
【0074】
方法100は、複数の(最小は1つである)隠れニューロン層と出力ニューラル層とを含む人工ニューラル・ネットワーク(少なくとも1つ)の入力層にセンサ入力信号を供給すること102と、複数の隠れニューロン層の各々からの隠れ層出力信号および出力ニューラル層からの出力信号を決定すること104とを含む。
【0075】
次のステップとして、方法100は、出力層の出力信号および少なくとも1つのまたはすべての隠れニューロン層の隠れ層出力信号を少なくとも1つのマッピング関数の入力データとして使用してマッピング関数のセットを適用することによって擬似ランダム・ビット・シーケンスのセットを生成すること106を含む。それによって、人工ニューロンごとに1つの信号を使用して、ニューラル・ネットワークの層の1つのサブ信号を表すことができる。したがって、ニューラル・ネットワークの各層は、特定の層の人工ニューロンの数に応じて、異なる次元の信号ベクトルを表すことができる。
【0076】
さらに、方法100は、例えば、人工ニューラル・ネットワークの信号ベクトル・ソースを連結することにより生成または導出された擬似ランダム・ビット・シーケンスのセットを使用してハイパー・ベクトルを決定すること108と、ハイパー・ベクトルを連想メモリに格納すること110、すなわち、ハイパー・ベクトルをその値により与えられる位置に格納することであり、異なるハイパー・ベクトル間の距離が、決定可能であり、すなわち、測定可能であり、例えば、ハミング距離値である、格納することとを含む。
【0077】
図2は、方法100を表す図1の流れ図の続きの一実施形態のブロック図200を示す。追加のステップは、コグニティブ・クエリおよび候補応答を導出するために、連想メモリに格納された異なるハイパー・ベクトルを組み合わせること202、ならびにコグニティブ・クエリと候補応答との間の距離を測定すること204、および最後に、最小距離、例えば最小ハミング距離を有する候補応答に関連するハイパー・ベクトル、すなわち、関連ハイパー・ベクトルを選択すること206を含むことができる。
【0078】
この設定により、関連するニューラル・ネットワークが、クエリのドメインならびに候補応答に関連するデータ・セットを用いて訓練されているという前提条件の下で、クエリ、すなわち、コグニティブ・クエリに一致する候補応答の所与のセットにおいて正しい応答である確率が最も高い候補応答を選択することが可能である。それによって、クエリならびに候補応答の両方が、ハイパー・ベクトルによって表される。
【0079】
図3は、ニューラル・ネットワーク300の一部の一実施形態のブロック図を示す。例えば、入力層として解釈することができる図示の第1の層302の400個のニューロンxからx400が存在する。例えば、400個の入力ニューロンを使用することができる場合、20×20ピクセルによる画像のセンサ・データをニューラル・ネットワーク300への入力として使用することができる。「+a」という項を示す層302のニューロンは、層302へのバイアス因子として解釈することができる。隠れ層304の「+b」という項に対して同じことを仮定することができる。最終層306は、バイアス因子を含まず、それゆえに、10個のニューロンh2,1からh2,10を含む出力層としても解釈することができ、それは、例示的なニューラル・ネットワーク300が、10個の異なる選択肢、すなわち、上記の画像に示された10個の異なる入力記号の分類を区別するように設計され得ることを示す。
【0080】
ニューラル・ネットワーク300の図示の例示的な部分は、完全に接続されたニューラル・ネットワークの概念を示す、すなわち、層(例えば、層302)の各ノードは次の下流の層、ここでは、層304のニューロンの各々に接続されることにも留意されたい。各々のそのようなリンクは重み係数を有することができる。
【0081】
図4は、一般に提案されている基本的概念の一実施形態400のブロック図を示す。センサ・データ402が、ニューラル・ネットワーク404の入力層に供給される。ニューラル・ネットワーク404の各隠れ層および出力層から、バイナリ情報が、PRBS1(擬似ランダム・バイナリ・シーケンス)発生器406またはPRBS2発生器408に供給されて、シーケンスS1およびS2が生成される。PRBSx発生器への入力信号は、それぞれの初期状態を表す。ニューラル・ネットワーク404が畳み込みニューラル・ネットワークである場合、畳み込みステップは、一般に、必要なニューロンの数を著しく減少させるために、入力層と第1の隠れ層との間で行われることになる。
【0082】
シーケンスS1およびS2は、CATユニット410において組み合わせる、例えば、連結させることができ、CATユニット410の出力は超次元ベクトルvであり、それは、連想メモリ412への入力として使用される。ニューラル・ネットワーク404の隠れ層および出力層からの入力信号はまた、関連する層のニューロンごとに、一般には1つの値、すなわち、1つの次元をもつベクトル・データであることにも留意されたい。
【0083】
図5は、ここで提案する概念およびさらなる詳細の一実施形態500のブロック図を示す。センサ・データ502は、図4の文脈で既に説明したようにニューラル・ネットワーク504に供給される。ニューラル・ネットワーク504は、入力層518と、隠れ層520、522、524、526と、ニューラル・ネットワーク504の決定506 Y^を示すための出力層528とを有する。ここで、ニューラル・ネットワーク504のニューラル・ネットワーク層ごとのノードの数は、一例として理解されるべきであり、現実的なニューラル・ネットワークは、層ごとにさらに多くの人工ニューロン、例えば、何百または何千の人工ニューロンと、その上、さらに多くの隠れ層とを有する場合があることにも留意されたい。
【0084】
図示のように、決定情報506 Y^は、マッパーMAP(Y^)510、MAP(.;Y^)512、最大でMAP(.;Y^)514までにライン508を介して供給される。追加として、ニューラル・ネットワーク504の隠れ層520、522、524、526から導出されたベクトル情報は、マッパー510、512、最大で514までへの追加のベクトル入力として使用される。次いで、生成されたビット・シーケンスS、S、最大でSまでが、連結ユニットCAT516によって組み合わされて、連想メモリ518の入力としてハイパー・ベクトルvの形態で使用され得る。
【0085】
ここで使用される効果は、類似パターンを示すセンサ・データ502が、互いに比較的近い、すなわち、互いに短い距離のみを有し、任意の2つのハイパー・ベクトル間の距離関数から、例えば、ハミング距離を使用して導出することができる、連想メモリに格納されるハイパー・ベクトルに変換され得ることである。
【0086】
図6は、提案する概念の完全なシステムの実施形態600のブロック図を示す。センサ・データ入力602は、分類器1 604、分類器2 606,最大で分類器n 608までとして示された複数のニューラル・ネットワークに供給される。基本的には、これらの分類器604、606、608は、勾配降下訓練エラーをモニタするためのユニット610に入力信号を送り出す。勾配降下値(例えば、SGD-確率的勾配降下)が事前定義された閾値を下回った場合、訓練の終了を信号で伝えることができ、それにより、ユニット612、614、616が連想メモリ618に格納されるべきロール・ベクトルのロール1、ロール2、最大でロールnまでを構築するにより、数万(例えば、10000)の次元をもつ複数の超次元ランダム・ベクトル1からnが生成されることになる。これは、ニューラル・ネットワーク604、606、最大で608までの訓練完了の一種の確認を表すことができる。
【0087】
他の側では、超次元擬似ランダム・ベクトル生成ユニット620、622、624によって生成されるフィラー・ベクトル1、2、最大でnまでのシーケンスは、センサ入力データ602からの入力信号のシーケンスに基づく。象徴的に、クエリ入力626、および候補応答入力のシーケンスからの入力値628も示されている。いずれの場合も、回答630は、クエリ626を超次元ベクトル入力として、および超次元ベクトルのシーケンスとしての候補応答のシーケンス628を入力として利用して生成される。(各々超次元ベクトルとしても表される)クエリ626を表す超次元ベクトルと候補応答628のシーケンスの1つとの間の連想メモリ618におけるハミング距離に基づいて、候補応答628のシーケンスからの最も確実な正しいHDベクトルが、クエリ626までの最短距離を有する候補応答628のなかから回答630を構築する。
【0088】
この一般的な実施形態を使用して、ここで提案する概念の能力を示すためにより具体的な実施形態を使用することができる。分類器として、3つの異なるタイプの分類器が使用される。第1の分類器(例えば、分類器604)は、MNISTデータベースにより訓練される、第2の分類器(例えば分類器606)として、数値分類器は、何桁が入力データの特定フィールドに見られるかを識別するように訓練され得る(入力データの例については、図7の(A)を参照)、第3の分類器(例えば、分類器608)として、位置カウンタが使用され、位置カウンタは1桁、2桁、または、3桁が検出されるべきかどうかを識別することができる。このうち、ロール・ベクトルとして、r_shape、r_num、およびr_pos HDベクトルが、ユニット612、614、および616によって生成されて、連想メモリに格納され得る。さらに、f_shape、f_num、およびf_posベクトルのシーケンスがユニット620、622、624から生成されて、さらに、連想メモリに供給され得る。この設定のためのメトリック値の結果が、図7の(C)に示される。
【0089】
図7の(A)~(C)は、バインディングおよびバンドリング式、潜在的な入力データ、ならびに正しい決定ならびに誤った決定の平均メトリック値の結果を示す。結局のところ、これらの2つの選択肢間には著しい違いがあり、それは、ここで提案する概念の能力を示している。
【0090】
図7の(A)は、1桁、2桁、または3桁のグループにおける桁(すなわち、整数)1、5、9の潜在的な入力、ならびにランダムパターンの空の入力を示す。図7の(B)は、最後に説明された実施形態に関連する式のセットにおける関連するバインディングおよびバンドリング組合せ、ならびに候補応答および潜在的な回答をもたらす組合せを示す。バインディングおよびバンドリング機能ユニットは連想メモリ618に統合されてもよいことにも留意されたい。
【0091】
図7の(C)は、そのような設定の結果をx-y図で示しており、メトリック値がy軸に示され、100%の正確度(100回を超えるトライアル)がx軸に示される。誤った決定の平均マトリクス値702が正しい決定の平均メトリック値704と著しく異なることが分かる。追加として、正しい決定の分散は非常に小さい。
【0092】
完全性の理由のために、図8は、センサ入力信号からのコグニティブ・クエリに応答するための機械学習システム800の一実施形態のブロック図を示す。機械学習システム800は、複数の隠れニューロン層および出力ニューラル層を含む人工ニューラル・ネットワークの入力層にセンサ入力信号を供給するように構成されたセンサ802、ならびに複数の隠れニューロン層の各々からの隠れ層出力信号および出力ニューラル層からの出力信号を決定するように構成された第1の決定ユニット804を、出力層の出力信号および隠れニューロン層のうちの1つの隠れ層出力信号を1つのマッピング関数の入力データとして使用してマッピング関数のセットを適用することによって擬似ランダム・ビット・シーケンスのセットを生成するように構成された発生器ユニット806と一緒に含む。
【0093】
さらに、機械学習システム800は、擬似ランダム・ビット・シーケンスのセットを使用してハイパー・ベクトルを決定するように構成された第2の決定ユニット808と、ハイパー・ベクトルを連想メモリに格納するように構成されたストレージ・モジュール810であり、異なるハイパー・ベクトルの間の距離が決定可能である、ストレージ・モジュール810とを含む。上記のように、ハミング距離は、上述で論じたように、ストレージ・モジュール、すなわち、連想メモリにおける超次元ベクトル間の距離を決定するための適した手段であり得る。
【0094】
本発明の実施形態は、プログラム・コードを格納または実行あるいはその両方を行うのに適するプラットホームに関係なく、事実上任意のタイプのコンピュータとともに実施することができる。図9は、一例として、提案する方法に関連するプログラム・コードを実行するのに適するコンピューティング・システム900を示す。
【0095】
コンピューティング・システム900は、適切なコンピュータ・システムの単なる1つの例であり、コンピュータ・システム900が上で記載された機能のうちのいずれかを実施または実行あるいはその両方を行うことができるかどうかにかかわらず、本明細書に記載される本発明の実施形態の使用または機能の範囲に関していかなる限定も示唆するものではない。コンピュータ・システム900には、多数の他の汎用または専用のコンピューティング・システムの環境または構成により動作する構成要素が存在する。コンピュータ・システム/サーバ900とともに使用するのに適することができるよく知られているコンピューティングのシステム、環境、または構成、あるいはその組合せの例には、限定はしないが、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンド・ヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベース・システム、セット・トップ・ボックス、プログラマブル家庭用電化製品、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および上述のシステムまたはデバイスのうちのいずれかを含む分散型クラウド・コンピューティング環境などが含まれる。コンピュータ・システム/サーバ900は、コンピュータ・システム900によって実行されるプログラム・モジュールなどのコンピュータ・システム実行命令の一般的文脈において説明され得る。一般に、プログラム・モジュールは、特定のタスクを実行するまたは特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含むことができる。コンピュータ・システム/サーバ900は、通信ネットワークを通してリンクされるリモート処理デバイスによってタスクが実行される分散型クラウド・コンピューティング環境で実践され得る。分散型クラウド・コンピューティング環境では、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカルおよびリモートの両方のコンピュータ・システム・ストレージ媒体に配置することができる。
【0096】
図に示されるように、コンピュータ・システム/サーバ900は、汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム/サーバ900の構成要素は、限定はしないが、1つまたは複数のプロセッサまたは処理ユニット902と、システム・メモリ904と、システム・メモリ904を含む様々なシステム構成要素をプロセッサ902に結合するバス906とを含むことができる。バス906は、メモリ・バスまたはメモリ・コントローラ、周辺バス、アクセラレーテッド・グラフィック・ポート、およびプロセッサ、または様々なバス・アーキテクチャのうちのいずれかを使用するローカル・バスを含む、いくつかのタイプのバス構造のうちのいずれかの1つまたは複数を表す。例として、限定ではなく、そのようなアーキテクチャは、産業標準アーキテクチャ(ISA)バス、マイクロチャネル・アーキテクチャ(MCA)バス、拡張型ISA(EISA)バス、ビデオ電子装置規格化協会(VESA)ローカル・バス、および周辺コンポーネント相互接続(PCI)バスを含む。コンピュータ・システム/サーバ900は、一般に、様々なコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム/サーバ900によってアクセス可能な任意の利用可能な媒体とすることができ、揮発性および不揮発性媒体、取り外し可能および取り外し不能媒体の両方を含む。
【0097】
システム・メモリ904は、ランダム・アクセス・メモリ(RAM)908またはキャッシュ・メモリ910あるいはその両方などの揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム/サーバ900は、他の取り外し可能/取り外し不能、揮発性/不揮発性のコンピュータ・システム・ストレージ媒体をさらに含むことができる。単に例として、ストレージ・システム912は、取り外し不能な不揮発性の磁気媒体(図示せず、一般に「ハード・ドライブ」と呼ばれる)との間の読出しおよび書込みのために設けることができる。図示されていないが、取り外し可能な不揮発性の磁気ディスク(例えば、「フロッピー(R)ディスク」)との間の読出しおよび書込みのための磁気ディスク・ドライブ、ならびにCD-ROM、DVD-ROM、または他の光媒体などの取り外し可能な不揮発性の光ディスクとの間の読出しおよび書込みのための光ディスク・ドライブを設けることができる。そのような場合では、各々は、1つまたは複数のデータ媒体インターフェースによってバス906に接続することができる。以下でさらに図示および説明されるように、メモリ904は、本発明の実施形態の機能を実行するように構成されたプログラム・モジュールのセット(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含むことができる。
【0098】
プログラム・モジュール916のセット(少なくとも1つ)を有するプログラム/ユーティリティ、ならびにオペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データは、例として、限定ではなく、メモリ904に格納することができる。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データ、またはそれらの組合せの各々は、ネットワーキング環境の実施態様を含むことができる。プログラム・モジュール916は、一般に、本明細書で説明されるような本発明の実施形態の機能または方法あるいはその両方を実行する。
【0099】
コンピュータ・システム/サーバ900はまた、キーボード、ポインティング・デバイス、ディスプレイ920などのような1つまたは複数の外部デバイス918、ユーザがコンピュータ・システム/サーバ900と対話できるようにする1つまたは複数のデバイス、またはコンピュータ・システム/サーバ900が1つまたは複数の他のコンピューティング・デバイスと通信できるようにする任意のデバイス(例えば、ネットワーク・カード、モデムなど)、あるいはその組合せと通信することができる。そのような通信は、入力/出力(I/O)インターフェース914を介して行うことができる。さらにまた、コンピュータ・システム/サーバ900は、ネットワーク・アダプタ922を介して、ローカル・エリア・ネットワーク(LAN)、汎用ワイド・エリア・ネットワーク(WAN)、またはパブリック・ネットワーク(例えば、インターネット)、あるいはその組合せなどの1つまたは複数のネットワークと通信することができる。図示のように、ネットワーク・アダプタ922は、バス906を介してコンピュータ・システム/サーバ900の他の構成要素と通信することができる。図示されていないが、他のハードウェアまたはソフトウェア・コンポーネントあるいはその両方が、コンピュータ・システム/サーバ900とともに使用されてもよいことを理解されたい。例は、限定はしないが、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスクドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどを含む。
【0100】
追加として、センサ入力信号からのコグニティブ・クエリに応答するための機械学習システム800は、バスシステム906に取り付けることができる。コンピューティング・システム900は、入力/出力デバイスとして使用することができる。
【0101】
本発明の様々な実施形態の説明は、例証の目的のために提示されたが、網羅的であることまたは開示された実施形態に限定されることを意図されていない。説明された実施形態の範囲および思想から逸脱することなく、多くの変形および変更が当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、実際の用途、もしくは市場で見いだされる技術に対する技術的な改善を最もよく説明するために、または当業者が本明細書で開示された実施形態を理解できるようにするために選ばれた。
【0102】
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せとして具現化され得る。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有する1つのコンピュータ可読ストレージ媒体(または複数の媒体)を含むことができる。
【0103】
媒体は、伝搬媒体のための電子、磁気、光学、電磁気、赤外線、または半導体のシステムとすることができる。コンピュータ可読媒体の例は、半導体またはソリッド・ステート・メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、読出し専用メモリ(ROM)、剛体の磁気ディスクおよび光ディスクを含むことができる。光ディスクの現在の例には、コンパクト・ディスク読出し専用メモリ(CD-ROM)、コンパクト・ディスク読出し/書込み(CD-R/W)、DVD、およびブルーレイ・ディスクが含まれる。
【0104】
コンピュータ可読ストレージ媒体は、命令実行デバイスで使用される命令を保持および格納することができる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、限定はしないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述のものの任意の適切な組合せとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストには、以下のもの、すなわち、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読出し専用メモリ(ROM)、消去可能プログラマブル読出し専用メモリ(EPROMまたはフラッシュメモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、機械的に符号化されたデバイス、例えば、パンチカード、または命令が記録された溝内の隆起構造など、および前述のものの任意の適切な組合せが含まれる。コンピュータ可読ストレージ媒体は、本明細書で使用されるとき、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を通って伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを通して伝送される電気信号などのそれ自体一過性信号であるとして解釈されるべきでない。
【0105】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、あるいはネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワーク、あるいはその組合せを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルーター、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを含むことができる。各コンピューティング/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
【0106】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、Smalltalk(R)、C++などのようなオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくは類似のプログラミング言語などの従来の手続きプログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードのいずれかとすることができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にスタンド・アロン・ソフトウェア・パッケージとしてユーザのコンピュータ上で、部分的にユーザのコンピュータ上でおよび部分的にリモート・コンピュータ上で、または完全にリモート・コンピュータもしくはサーバ上で実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを通してユーザのコンピュータに接続されてもよく、または外部コンピュータへの接続がなされてもよい(例えば、インターネット・サービス・プロバイダを使用してインターネットを通して)。いくつかの実施形態では、例えば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路が、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個人専用にすることによってコンピュータ可読プログラム命令を実行することができる。
【0107】
本発明の態様は、本明細書において、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品の流れ図またはブロック図あるいはその両方を参照して説明されている。流れ図またはブロック図あるいはその両方の各ブロックと、流れ図またはブロック図あるいはその両方のブロックの組合せとは、コンピュータ可読プログラム命令によって実現できることが理解されるであろう。
【0108】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置を介して実行する命令が流れ図またはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実施するための手段を作成するように、汎用コンピュータ、専用コンピュータ、または機械を作り出すための他のプログラマブル・データ処理装置のプロセッサに提供され得る。これらのコンピュータ可読プログラム命令はまた、命令が格納されたコンピュータ可読ストレージ媒体が流れ図またはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作の態様を実施する命令を含む製品を構成するように、コンピュータ、プログラマブル・データ処理装置、または他のデバイス、あるいはその組合せに、特定のやり方で機能するように指示することができるコンピュータ可読ストレージ媒体に格納されてもよい。
【0109】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル装置、または別のデバイスで実行される命令が流れ図またはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実施するように、コンピュータ、他のプログラマブル・データ処理装置、または別のデバイスにロードされて、一連の動作ステップをコンピュータ、他のプログラマブル装置、または他のデバイスで実行させて、コンピュータ実施プロセスを作り出すことができる。
【0110】
図における流れ図またはブロック図あるいはその両方は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施態様のアーキテクチャ、機能、および動作を示す。これに関しては、流れ図またはブロック図の各ブロックは、指定された論理機能を実施するための1つまたは複数の実行可能命令を含む命令のモジュール、セグメント、または一部分を表すことができる。いくつかの代替の実施態様では、ブロックに記された機能は、図に記された順序から外れて行われてもよい。例えば、連続して示された2つのブロックは、実際には、実質的に同時に実行されてもよく、またはブロックは、時には、関連する機能に応じて逆の順序で実行されてもよい。ブロック図または流れ図あるいはその両方の各ブロックと、ブロック図または流れ図あるいはその両方のブロックの組合せとは、指定された機能もしくは動作を実行するかまたは専用ハードウェアとコンピュータ命令の組合せを実行する専用ハードウェア・ベース・システムで実施することができることにも留意されたい。
【0111】
本明細書で使用される用語は、特定の実施形態のみを説明するためのものであり、本発明を限定するようには意図されていない。本明細書で使用されるとき、「1つの(a)」、「1つの(an)」、および「その(the)」という単数形は、文脈が明確にそうでないことを示さない限り、複数形を同様に含むように意図されている。「含む(comprises)」または「含んでいる(comprising)」あるいはその両方の用語は、本明細書で使用される場合、記述された特徴、整数、ステップ、動作、要素、または構成要素、あるいはその組合せの存在を明示するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、またはそれらのグループ、あるいはその組合せの存在または追加を排除しないことがさらに理解されよう。
【0112】
以下の特許請求の範囲における、すべての手段またはステップに機能を加えた要素の対応する構造、材料、動作、および均等物は、明確に請求されている他の請求された要素と組み合わせて機能を実行するための任意の構造、材料、または動作を含むように意図されている。本発明の説明は、例証および説明の目的のために提示されたが、網羅的であることまたは本発明を開示された形態に限定することを意図したものではない。本発明の範囲および思想から逸脱することなく、多くの変形および変更が当業者には明らかであろう。実施形態は、本発明の原理および実際の用途を最もよく説明するために、および当業者が、企図した特定の用途に適するような様々な変形を伴う様々な実施形態に関して本発明を理解できるようにするために選ばれ説明されている。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10