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

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

▶ エスアールアイ インターナショナルの特許一覧

<>
  • 特許-ニューラル記号コンピューティング 図1
  • 特許-ニューラル記号コンピューティング 図2
  • 特許-ニューラル記号コンピューティング 図3
  • 特許-ニューラル記号コンピューティング 図4
  • 特許-ニューラル記号コンピューティング 図5
  • 特許-ニューラル記号コンピューティング 図6
  • 特許-ニューラル記号コンピューティング 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-24
(45)【発行日】2023-12-04
(54)【発明の名称】ニューラル記号コンピューティング
(51)【国際特許分類】
   G06N 3/042 20230101AFI20231127BHJP
   G06N 3/084 20230101ALI20231127BHJP
【FI】
G06N3/042
G06N3/084
【請求項の数】 19
(21)【出願番号】P 2022529036
(86)(22)【出願日】2021-03-15
(65)【公表番号】
(43)【公表日】2023-03-14
(86)【国際出願番号】 US2021022401
(87)【国際公開番号】W WO2021184013
(87)【国際公開日】2021-09-16
【審査請求日】2022-10-06
【早期審査対象出願】
(73)【特許権者】
【識別番号】501228071
【氏名又は名称】エスアールアイ インターナショナル
【氏名又は名称原語表記】SRI International
【住所又は居所原語表記】333 Ravenswood Avenue, Menlo Park, California 94025, U.S.A.
(74)【代理人】
【識別番号】100098899
【弁理士】
【氏名又は名称】飯塚 信市
(74)【代理人】
【識別番号】100163865
【弁理士】
【氏名又は名称】飯塚 健
(72)【発明者】
【氏名】バーンズ, ジョン
(72)【発明者】
【氏名】ロワー, リチャード
(72)【発明者】
【氏名】シルバーファーブ, アンドリュー
【審査官】山本 俊介
(56)【参考文献】
【文献】特開2018-041445(JP,A)
【文献】米国特許出願公開第2007/0239632(US,A1)
【文献】米国特許出願公開第2012/0158685(US,A1)
【文献】SIKKA, Karan et al.,Deep Adaptive Semantic Logic (DASL): Compiling Declarative Knowledge into Deep Neural Networks,arXiv [online],2020年03月16日,https://arxiv.org/abs/2003.07344v1 [2023年4月4日検索]
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
i)知識表現、およびii)課題を解決するための推論、に対し機械学習を使用する1または複数の勾配ベースの機械学習モデルを作成するために互いに連携するように構成された2以上のモジュールを有するニューラル記号コンピューティングエンジンを備え、前記ニューラル記号コンピューティングエンジンにおけるモデル表現モジュールは、前記ニューラル記号コンピューティングエンジンの言語モジュールから供給された1次論理要素からの真値に、少なくともロジット変換を含む1または複数の数学関数を適用するように構成され
前記ニューラル記号コンピューティングエンジンにおける学習者アルゴリズムモジュールは、前記知識表現が、固定ルールとして用いられる前記1次論理を使用して第1の勾配ベースの機械学習モデルのフレームワーク内のフレキシブルゲートとしての役割を果たすためのアーキテクチャを提供するように構成されたサイドルール構成要素を有し、いくつかの状況において、前記サイドルール構成要素は、前記第1の勾配ベースの機械学習モデルにおける学習に影響を及ぼすように、これらの固定ルールの適用を変更する、装置。
【請求項2】
前記2以上のモジュールは、人によって前記ニューラル記号コンピューティングエンジンの理論モジュールに対し供給された情報から、前記知識表現および前記推論の、第1の勾配ベースの機械学習モデルへのエンコードを引き起こすように更に連携する、請求項1に記載の装置。
【請求項3】
前記ニューラル記号コンピューティングエンジンにおける理論表現モジュールは、勾配ベースの学習を受ける第1の勾配ベースの機械学習モデルとしてニューラルネットワークをコンパイルするように構成される、請求項1に記載の装置。
【請求項4】
勾配ベースの学習を受ける前記第1の勾配ベースの機械学習モデルは、ルールを可能な限り真にする解釈を得るために、i)制約として機能する前記ルールのセットの異なる定数に関連付けられたベクトルを適応させ、ii)異なる関数および述語に関連付けられたネットワークのパラメータのベクトルを適応させるように構成される、請求項3に記載の装置。
【請求項5】
前記モデル表現モジュールは、第1の勾配ベースの機械学習モデルにおけるネットワークの真値を乗算する結果として得られる勾配の消失を回避するために、前記真値の前記ロジット変換を使用する前記第1の勾配ベースの機械学習モデルを作成するように更に構成される、請求項1に記載の装置。
【請求項6】
前記真値は、前記ネットワーク構造のボトムから前記ネットワーク構造のトップレベルまでの複数の中間レベルを有する前記ネットワークにおけるネットワーク構造に由来する、請求項5に記載の装置。
【請求項7】
機械学習を使用する前記1または複数の勾配ベースの機械学習モデルは、1または複数のニューラルネットワークであり、前記ニューラル記号コンピューティングエンジンは、前記1次論理における前記知識表現および前記推論を表すように構成され、前記知識表現および前記推論の用語集を構成する関係および関数は、任意のネットワーク構造を有することができる前記1または複数のニューラルネットワークにおいてその後実装され、前記知識表現および前記推論における論理結合子は、前記ネットワーク構造のボトムから前記ネットワーク構造のトップレベルまでの複数の中間レベルを有する単一の深層ネットワークへと組み立てられ、これは、前記知識表現および前記推論の真実性の程度を最大にするようにトレーニングされる、請求項1に記載の装置。
【請求項8】
前記ニューラル記号コンピューティングエンジンにおける前記モデル表現モジュールは、前記1次論理要素からの真値に前記ロジット変換を適用するように更に構成され、それによって、第1の勾配ベースの機械学習モデルは、課題を全体として学習し、解決しながら、特徴の任意の量の結合を検討することができ、解決されているその課題の部分をより小さな部分問題に分解する必要がない、請求項1に記載の装置。
【請求項9】
1または複数のプロセッサにより実行されると、ニューラル記号コンピューティングシステムに、以下の動作、すなわち、
i)知識表現、およびii)課題を解決するための推論、に対し機械学習を使用する1または複数の勾配ベースの機械学習モデルを作成することと、
少なくともロジット変換を含む1または複数の数学関数を1次論理要素からの真値に適用することと、
前記知識表現が、固定ルールとして用いられる前記1次論理を使用して第1の勾配ベースの機械学習モデルのフレームワーク内のフレキシブルゲートとしての役割を果たすためのアーキテクチャを提供するためのサイドルールを構成することであって、いくつかの状況において、前記サイドルールは、前記第1の勾配ベースの機械学習モデルにおける学習に影響を及ぼすように、これらの固定ルールの適用を変更する、ことと、
を含む動作を実行させる実行可能命令を含む、非一時的コンピュータ可読媒体。
【請求項10】
ニューラル記号コンピューティングのための方法であって、
i)知識表現、およびii)課題を解決するための推論、に対し機械学習を使用する1または複数の勾配ベースの機械学習モデルを作成するようにニューラル記号コンピューティングエンジンを構成することであって、前記ニューラル記号コンピューティングエンジンは、少なくともロジット変換を含む1または複数の数学関数を1次論理要素からの真値に適用する、ことと、
前記知識表現が、固定ルールとして用いられる前記1次論理を使用して第1の勾配ベースの機械学習モデルのフレームワーク内のフレキシブルゲートとしての役割を果たすためのアーキテクチャを提供するためのサイドルールを構成することであって、いくつかの状況において、前記サイドルールは、前記第1の勾配ベースの機械学習モデルにおける学習に影響を及ぼすように、これらの固定ルールの適用を変更する、ことと、を含む方法。
【請求項11】
人によって前記ニューラル記号コンピューティングエンジンに対し供給された情報から、前記知識表現および前記推論の、第1の勾配ベースの機械学習モデルへのエンコードを引き起こすことを更に含む、請求項10に記載の方法。
【請求項12】
前記ニューラル記号コンピューティングエンジンは、勾配ベースの学習を受ける第1の勾配ベースの機械学習モデルとしてニューラルネットワークをコンパイルするように構成される、請求項10に記載の方法。
【請求項13】
ルールを可能な限り真にする解釈を得るために、i)制約として機能する前記ルールのセットの異なる定数に関連付けられたベクトルを適応させ、ii)異なる関数および述語に関連付けられたネットワークのパラメータのベクトルを適応させるように、勾配ベースの学習を受ける前記第1の勾配ベースの機械学習モデルを構成することを更に含む、請求項12に記載の方法。
【請求項14】
第1の勾配ベースの機械学習モデルにおけるネットワークの真値を乗算する結果として得られる勾配の消失を回避するために、前記真値の前記ロジット変換を使用する前記第1の勾配ベースの機械学習モデルを作成することを更に含む、請求項10に記載の方法。
【請求項15】
前記真値は、前記ネットワーク構造のボトムから前記ネットワーク構造のトップレベルまでの複数の中間レベルを有する前記ネットワークにおけるネットワーク構造に由来する、請求項14に記載の方法。
【請求項16】
機械学習を使用する前記1または複数の勾配ベースの機械学習モデルは、1または複数のニューラルネットワークであり、前記ニューラル記号コンピューティングエンジンは、前記1次論理における前記知識表現および前記推論を表すように構成され、前記知識表現および前記推論の用語集を構成する関係および関数は、任意のネットワーク構造を有することができる前記1または複数のニューラルネットワークにおいてその後実装され、前記知識表現および前記推論における論理結合子は、前記ネットワーク構造のボトムから前記ネットワーク構造のトップレベルまでの複数の中間レベルを有する単一の深層ネットワークへと組み立てられ、これは、前記知識表現および前記推論の真実性の程度を最大にするようにトレーニングされる、請求項10に記載の方法。
【請求項17】
前記1次論理要素からの真値に前記ロジット変換を適用するように前記ニューラル記号コンピューティングエンジンを構成し、それにより、第1の勾配ベースの機械学習モデルが、前記課題を全体として学習および解決しながら、特徴の任意の量の結合を検討することが可能になり、各々が特徴の結合の独自のサブセットを有する、より小さな部分問題になるように、その解決されている課題の部分を分解する必要がなく、これらの部分問題のうちの各1つを個々に学習およびトレーニングして解決する必要がなく、その後、前記部分問題の組み合わされた出力を使用して前記課題を全体として解決するようにトレーニングする必要がない、ことを更に含む、請求項10に記載の方法。
【請求項18】
1または複数のプロセッサにより実行されると、ニューラル記号コンピューティングシステムに、以下の動作、すなわち、
i)知識表現、およびii)課題を解決するための推論、に対し機械学習を使用する1または複数の勾配ベースの機械学習モデルを作成することと、
少なくともロジット変換を含む1または複数の数学関数を1次論理要素からの真値に適用することと、
前記1次論理を使用して、第1の勾配ベースの機械学習モデルにおける学習を誘導する固定ルールを作成するように前記ニューラル記号コンピューティングエンジンを構成することと、
前記第1の勾配ベースの機械学習モデルにおける学習に影響を及ぼす前記固定ルールに対する指定の状況における指定の情報をマスキングするようにサイドルールを構成することと、
を含む動作を実行させる実行可能命令を含む、非一時的コンピュータ可読媒体。
【請求項19】
ニューラル記号コンピューティングのための方法であって、
i)知識表現、およびii)課題を解決するための推論、に対し機械学習を使用する1または複数の勾配ベースの機械学習モデルを作成するようにニューラル記号コンピューティングエンジンを構成することであって、前記ニューラル記号コンピューティングエンジンは、少なくともロジット変換を含む1または複数の数学関数を1次論理要素からの真値に適用する、ことと、
前記1次論理を使用して、第1の勾配ベースの機械学習モデルにおける学習を誘導する固定ルールを作成するように前記ニューラル記号コンピューティングエンジンを構成することと、
前記第1の勾配ベースの機械学習モデルにおける学習に影響を及ぼす前記固定ルールに対する指定の状況における指定の情報をマスキングするようにサイドルールを構成することと、を含む方法。
【発明の詳細な説明】
【技術分野】
【0001】
相互参照
本出願は、その開示の全体が参照により本明細書に組み込まれる、2020年3月10日に出願した米国仮特許出願第62/987,687号、表題「Numeric architecture for neural-symbolic computing」に対して米国特許法第119条に基づく優先権を主張する。
【0002】
本明細書における概念の一実施形態は、ニューラル記号コンピューティング(neural-symbolic computing)における技法およびツールに関する。
【背景技術】
【0003】
深層ニューラルネットワークは、単独では、強力な一般化、例えば、新たな規則性、不規則性等を発見し、次にトレーニングセットを越えて外挿する能力が欠如している可能性がある。深層ニューラルネットワークは、既に既知であることを補間し、近似しているため、本質的に創造的になり得ず、取り込んだデータにおいて変動する、創造的に見える作業を生じることができるが、人間ができる意味での新たな発見を行うことができない。ニューラルネットワークは、通例、タスクの達成に個々に組み込まれた全ての部分問題をトレーニングし、次に全ての部分問題を組み合わせて全体として解決されるようにするための非常に長いトレーニング時間も有し得る。
【0004】
機械学習は更なる問題を有する。例えば、多数の入力を有する勾配は、大きな誤差勾配が蓄積し、トレーニング中のニューラルネットワークモデルの重みにおける不正確性につながるときに問題である。問題は、ニューラルネットワークにおける構造を構成するネットワーク層を通じて真値を繰り返し乗算することによる成長により、ゼロ(「0」)に向かう限界において全ての勾配情報が本質的に除去され、それによって学習の勾配が非常に僅かとなることを通じて生じる。これは、結果として得られるモデルが不安定であり、トレーニングデータから学習することが不可能であるという影響を有する。
【0005】
また、古典的AIおよびニューラル記号コンピューティングの双方の知識表現は、計算複雑性を低減するために、1次論理の言語を多くの場合に制約する(例えば固定ルール)。
【発明の概要】
【0006】
人工知能ベースの推論エンジンのための様々な方法、装置およびシステム、ならびにその推論プロセスの説明が本明細書に提供される。
【0007】
ニューラル記号コンピューティングエンジンが、i)知識表現、およびii)課題を解決するための推論、に対し機械学習を使用する1または複数の勾配ベースの機械学習モデルを作成するために互いに連携する2以上のモジュールを有する。ニューラル記号コンピューティングエンジンにおけるモデル表現モジュールが、少なくともロジット変換を含む1または複数の数学関数を、ニューラル記号コンピューティングエンジンの言語モジュールから供給された1次論理要素からの真値に適用することができる。
【0008】
これらのおよび多数の他の実施形態が論じられる。
【図面の簡単な説明】
【0009】
図1】i)知識表現、およびii)課題を解決するための推論、に対し機械学習を使用する1または複数の勾配ベースの機械学習モデルを作成するために互いに連携するように構成された2以上のモジュールを有する例示的なニューラル記号コンピューティングエンジンの一実施形態のブロック図である。
【0010】
図2】クエリサポートモジュールを有する例示的なニューラル記号コンピューティングエンジンの一実施形態であり、クエリサポートモジュールは、クエリ結果に説明可能性を与えるために、クエリされるコンパイルされた機械学習モデルが、機械学習モデル内のニューラルネットワークによってどのように決定が行われるかを表すことを可能にする、一実施形態の図である。
【0011】
図3】理論モジュールによってエンコードされ、勾配ベースの学習を受ける勾配ベースの機械学習モデルにおいて実施されるネットワークパラメータに関連付けられた例示的な定数および関数および述語のブロック図の一実施形態を示す図である。
【0012】
図4】i)理論モジュールを介して専門知識から提供された表現および推論における知識アサーションと、ii)データでの反復トレーニングから導出された機械学習アサーションとの両方でトレーニングされている深層適応的意味論論理ネットワークの概念の一実施形態の図をグラフィックで示す図である。ステートメントのセットは、機械学習モデルの構造を作成するならびに表現および理由を最初に検査するためのルールのセットを作成する。
【0013】
図5】勾配ベースの機械学習モデルにおける学習に影響を及ぼすように固定ルールに対し指定の状況において指定の情報をマスキングするためのフレキシブルゲートとして機能するように構成されたサイドルール構成要素を有する例示的なニューラル記号コンピューティングエンジンの一実施形態のブロック図である。
【0014】
図6】ニューラル記号コンピューティングエンジンの一実施形態によるネットワーク環境において互いに通信するいくつかの電子システムおよびデバイスの図である。
【0015】
図7】本明細書で論じられるニューラル記号コンピューティングエンジンと連携する説明エンジンに関連付けられたシステムの一部とすることができる1または複数のコンピューティングデバイスの一実施形態の図である。
【0016】
設計には、様々な修正形態、同等物、および代替形式があり得るが、その特定の実施形態が、例として図に示されており、ここで詳細に説明されることになる。設計は、開示される特定の実施形態に限定されず、反対に、特定の実施形態を用いる全ての修正形態、同等物、および代替形式を包含することが意図されていることを理解されたい。
【発明を実施するための形態】
【0017】
以下の説明では、本設計の完全な理解を提供するために、特定のデータ信号、言及された構成要素、モデル数の例等の、多数の特定の詳細が記載され得る。しかしながら、当業者には、これらの特定の詳細がなくても本設計を実施することができることが明白となろう。他の事例として、本設計を不必要に不明瞭にすることを防ぐために、よく知られている構成要素または方法は詳細には記載されておらず、むしろブロック図に示されている。さらに、第1のサーバ等の特定の数に言及する可能性がある。しかしながら、数に関する特定の言及を、文字通りの順序として解釈すべきではなく、むしろ、第1のサーバは第2のサーバとは異なると解釈すべきである。このように、記載された特定の詳細は、単なる例であり得る。それらの特定の詳細は、本設計の趣旨および範囲から変動する可能性があるが、それでも、本設計の趣旨および範囲内に含まれることを企図することができる。用語「結合された」は、その構成要素に直接に接続されていること、または別の構成要素を介してその構成要素に間接的に接続されていることを意味すると定義される。
【0018】
図1は、i)知識表現(knowledge representation)、およびii)課題(issue)(例えば、タスク、問題(problem)または他の課題)を解決するための推論(reasoning)、に対し適応的意味論学習(adaptive semantic learning)等の機械学習を使用する、ニューラルネットワーク等の1または複数の勾配ベースの機械学習モデルを作成するために互いに連携するように構成された2以上のモジュールを有する例示的なニューラル記号コンピューティングエンジン(neural-symbolic computing engine)(深層適応的意味論論理(DASL)等)の一実施形態のブロック図を示す。例示的なニューラル記号コンピューティングエンジン100は、以下の例示的なモジュール、すなわち、理論モジュール、言語モジュール、モデル表現モジュール、理論表現モジュールおよび学習者アルゴリズムモジュールを含むことができる。ニューラル記号コンピューティングエンジン100は、記号的推論をニューラルネットワーク技法と組み合わせて、各技法が単独で用いられるときに有する制限を克服する。
【0019】
ニューラル記号コンピューティングエンジン100は、互いに連携して、理論モジュールからの知識表現および推論を、専門家等の人によってニューラル記号コンピューティングエンジン100の理論モジュールに供給された論理仕様等の情報から理論表現モジュールにおいてコンパイル(compile)された勾配ベースの機械学習モデルにエンコードさせる、2以上のモジュールを有する。
【0020】
理論モジュールは、ユーザが仕様を供給するための入力、ならびに機械学習および推論によって解決される課題に関する他の問題固有の入力を有する。理論モジュールは、i)問題に関する領域に固有の既知の用語、ならびにii)問題に関するその領域内の既知の規則および関係、の領域固有のデータベースと連携し、これを参照することもできる。このため、理論モジュールは、専門知識データベースおよび/または個別の専門用語の直接ユーザ入力を含む1または複数のソースから、人間が述べる知識表現および推論の入力を可能にする。表現および推論は、科学者がシステムを説明および理解することを可能にする用語集を提供するための構造体の定性的および定量的要素にラベルを付けるために導入される。
【0021】
理論モジュールは、作成されている例示的なニューラルネットワークが、問題/課題を解決する方式を学習するために、他のモジュールと協働して、このユーザが提供した専門知識を、トレーニングデータと統合する。理論モジュールは、アサーションと、述語、関数および定数/エンティティの原子論理式とをエンコードし、パーサーモジュールを介して言語モジュールに送るように構成される。
【0022】
言語モジュールは、他のモジュールと連携して機械学習を使用し、専門用語に関連する意味の分散型ベクトル表現を発見することによって、フォーマル科学言語を計算アルゴリズムに理解可能にさせるために、1次論理要素を使用する。言語モジュールによって使用される1次論理要素は、ルールが1次論理、例えば、次の3つ:i)オントロジまたは知識基盤、ii)OWL、KIF、SWRL、および、iii)形式化することができる構造化された知識(例えば、フローチャート)のうちのいずれか、において表現可能なように、論理定数、述語、関数、およびエンティティを含むことができる。言語モジュールはまた、専門家のステートメントから導出され、パーサーモジュールによって解析された、全ての記号、定数、関数および述語のインベントリを含むように構成される。
【0023】
ニューラル記号コンピューティングアーキテクチャにおけるモデル表現モジュール(例えば、人工知能エンジン)は、ニューラル記号コンピューティングエンジン100の言語モジュールから供給された、述語、シンボル、関数およびエンティティ等の1次論理要素からの真値に、数学関数(ロジット変換、固定微分関数、算術演算等)を適用することができる。モデル表現モジュールは、言語モジュールからのステートメントにおける全てのシンボルを取り込み、次に、それらの各々を、勾配ベースの機械学習モデルの独自のサブグラフ/ネットワーク構造に関連付けることができる。モデル表現モジュールはまた、ステートメント内の全ての定数を取り込み、それらを勾配ベースの機械学習モデルのサブグラフへの入力として意味論的ベクトルにマッピングするように構成される。モデル表現モジュールはまた、供給されたステートメント内の全ての述語を取り込み、それらをニューラルネットワークのサブグラフにマッピングするように構成される(例えば、図3を参照)。
【0024】
モデル表現モジュールは、式内の言語モジュールから、∧および→等の論理記号を組み込むことができ、∧および→はそれぞれ、「論理積」と「論理包含」とを指すことができる。
【0025】
ニューラル記号コンピューティングエンジン100は、言語モジュール内の1次論理における知識表現および推論を表すことができる。知識表現および推論の用語集を形成する関係および関数は、次に、機械推論ツリー等の任意のネットワーク構造を有することができる1または複数のニューラルネットワークにおいて実施される。知識表現および推論における論理結合子は、任意選択で、ネットワーク構造のボトムからネットワーク構造のトップレベルまでの複数の中間レベルを有する単一の深層ネットワークになるように組み立てられ、これは知識表現および推論の真実性の程度を最大にするようにトレーニングされる。
【0026】
このため、モデル表現モジュールは、勾配ベースの機械学習モデルにおけるネットワークの真値を乗算する結果として得られる勾配の消失を回避するために、真値のロジット変換を使用する勾配ベースの機械学習モデルを作成することができる。真値は「0」~「1」の範囲を取り、ネットワーク構造のボトムからネットワーク構造のトップレベルまでの複数の中間レベルを有するネットワークにおける深層ネットワーク構造に由来する。逆伝播(backpropagation)をサポートする微分可能関数を生成するために、本明細書における手法は、真および偽のための「0」および「1」の純粋なブール値を、「0」~「1」の連続値と置き換える。
【0027】
モデル表現モジュールは、結果として得られる勾配ベースの機械学習モデル内のネットワークにおける真値に適用することができる多くの異なる数学関数を有することができる。最新技術の下で、真の測定値は、結合の真の測定値を計算するために乗算される。0.01の5つの真値を所与として、この積は、t=(0.01)=10-10である。1-tは、標準的な4バイト算術において厳密に1として表される。真値が全て0.02まで増大された場合、積はt=(0.02)=32*10-10となるが、1-tはここでも厳密に1として表される。このため、1-tがトレーニングのための損失関数の一部である場合、真値の増大は検出可能でない。これが「勾配消失」問題である。本発明の一実施形態において、真値に対するロジット変換は、真の測定値0.01をlog(0.01/0.99)=-4.6として表す。5つの値の結合は(概ね)それらの和であり、-23.0である。真の測定値が0.02まで増大する場合、ロジット表現はlog(0.02/0.98)=-3.9であり、それらの5つを合算すると-19.5になる。これらの数は、1.0に加えられるとき、丸め誤差につながらないため、勾配が容易に検出可能であり、学習を行うことができる。これにより、生成された勾配ベースの機械学習モデルが、問題を全体として学習および解決しながら、特徴/要因の更なる(より大量の)結合を検討することが可能になり、各々が特徴の結合の小さなセットを有する、より小さな部分問題になるように、その解決されている課題の部分を分解する必要がなく、これらの部分問題のうちの各1つを個々に学習およびトレーニングして解決する必要がなく、その後、部分問題の組み合わされた出力を使用して課題を全体として解決するようにトレーニングする必要がない。したがって、ニューラル記号コンピューティングエンジン100におけるモデル表現モジュールは、1次論理要素からの真値にロジット変換を適用することができ、それによって、勾配ベースの機械学習モデルは、課題を全体として学習し、解決しながら、特徴の任意の量の結合を検討することができる。これによって、機械学習モデルのトレーニングデータ要件全体が低減し、問題/タスクを解決するようにトレーニングされる必要があるニューラルネットワークの量が大幅に低減される。これにより、トレーニング時間の全体量が大幅に低減される。例えば、互いに供給し合ういくつかのネットワーク構造から構成されたニューラルネットワークは、同じトレーニングセッション中に共にトレーニングすることができる(例えば、図5を参照)。
【0028】
ニューラル記号コンピューティングエンジン100のモジュールは、知識表現および推論からエンコードされたルールのセットを解釈するように構成される。また、ニューラル記号コンピューティングエンジン100は、ルールの初期セットの異なる定数に関連付けられたベクトルを変更することによって、エンコードされたルールの初期セットの解釈を変更する。モデル表現モジュールは、ルールを可能な限り真にする、より最適な解釈を得るために、i)制約として機能するルールのそのセットに対し、異なる定数に関連付けられたベクトルを適応させ、ii)異なる関数および述語に関連付けられたネットワークのパラメータのベクトルを適応させる、ことができる勾配ベースの学習を受ける勾配ベースの機械学習モデルをサポートする。真値は、ルールを可能な限り真にする最適な解釈を反映する。個々の真値が「1.0」により近いことは、より真であるとみなされ、「0.0」に値がより近いことは、より偽であるとみなされる。
【0029】
ニューラル記号コンピューティングエンジン100は、例えば、この課題を解決するためのニューラルネットワークをコンパイルすることができる。理論表現モジュールは、例えば、1次論理において表される知識から、領域固有のニューラル構成要素と共に深層ニューラルネットワークをコンパイルする。この例示的な深層ニューラルネットワークは、データおよび宣言型知識に対し同時にモデルを当てはめることによって、逆伝播を用いてトレーニングすることができる。ここで、ニューラル記号コンピューティングエンジン100は、常識的な知識を課題(例えば、問題、タスク等)、例えば視覚関係検出タスクに適用する。
【0030】
理論表現モジュールは、学習者アルゴリズムモジュールによって誘導された勾配ベースの学習を受ける勾配ベースの機械学習モデルとしてニューラルネットワークをコンパイルすることができる。
【0031】
学習者アルゴリズムモジュールは、トレーニング中、ルールおよびサイドルールを使用することができる。
【0032】
ここでもまた、言語モジュールは、知識アサーションを、学習されるネットワークを誘導する1次論理(例えば、固定論理)として配置し、これらを、背景知識アサーションに一致する挙動を学習するように制限することができる。しかしながら、このニューラル記号コンピューティングエンジン100は、いくつかの知識アサーションがトレーニングデータを用いて学習するときにネットワークを誘導するための単なる安定したルールと対照的に、1次論理を変更および/または変形するフレキシブルゲートとしての役割を果たすサイドルールが供給されることも可能にする。ニューラル記号コンピューティングエンジン100における学習者アルゴリズムモジュールは、知識表現が、学習中、ニューラルネットワークの「上」の固定ルールとして用いられる1次論理を使用して、勾配ベースの機械学習モデルのフレームワーク内のフレキシブルゲートとしての役割を果たすためのアーキテクチャを提供し、これらを、この背景知識と一致する挙動を学習するように制限するように構成された、サイドルール構成要素を有する。(図5を参照。)ルールは、単独では、独立して評価される構成要素ネットワークの性能を最適化するために良好に機能するが、ハイブリッド学習および推論システムを構築する観点において必ずしも制約的でないため、このシステムはサイドルール構成要素も使用することができる。
【0033】
いくつかの状況において、サイドルール構成要素を用いる学習者アルゴリズムモジュールは、これらの固定ルールの適用を変更して、第1の勾配ベースの機械学習モデルにおける学習に影響を及ぼし、重要なタスクに集中することによって性能を改善する。
【0034】
ルールのセットは制約として機能し、ベクトルを適応させるためにトレーニングデータから導出される、統計的に駆動された結論を使用する機械学習モデルのネットワークにグラフ化される。サイドルールは、これらの制約のためのフレキシブルゲートとして機能する。知識表現および推論を表すエンコードされたルールの解釈を機械学習モデルにおいて利用することができる。
【0035】
図2は、クエリサポートモジュールを有する例示的なニューラル記号コンピューティングエンジンの一実施形態であり、クエリサポートモジュールは、クエリ結果に説明可能性を与えるために、クエリされるコンパイルされた機械学習モデルが、機械学習モデル内のニューラルネットワークによってどのように決定が行われるかを表すことを可能にする。
【0036】
例示的なニューラル記号コンピューティングエンジン100は、理論モジュール、言語モジュール、モデル表現モデル、理論表現モジュール、学習者アルゴリズムモジュール、クエリサポートモジュール等の類似のモジュールを含むことができる。
【0037】
例示的な理論モジュールは、i)機械学習モデルをトレーニングするために使用されるデータ内で発見された意味論的に類似の専門用語がモジュールによって論理的に関連付けられることを可能にすることと、ii)ユーザによって供給された意味論的に類似の用語のリストがニューラル記号コンピューティングエンジン100のモジュールによって論理的に関連付けられることを可能にすることと、iii)意味論的に類似の専門用語を論理的に関連付けるためにモジュールによって使用されることになるこれらの2つの任意の組合せとによって、エンコードされたルールの初期セットを変更するように構成することができることに留意されたい。
【0038】
パーサーモジュールの例示的な実施形態が、理論モジュールと別個であるが、依然として、各ステートメントを解析してそのステートメント内の定数、記号、述語および/または関数のカテゴリへの解析ストリームを生み出すように構成される。また、パーサーモジュールは、各ステートメントを独自の木構造のノードに、次にそのステートメント内の各述語および/または関数のノードのレイヤに向けるために、ノードモジュールの理論有向アクリルグラフ(theory directed acrylic graph)(理論DAG)と連携して各ステートメントを経由するように構成される。
【0039】
理論表現モジュールは、ニューラルネットワーク等の勾配ベースの機械学習モデルをアセンブルして、コンパイルする。コンパイルすることができるニューラルネットワークの例示的なタイプは、フィードフォワードニューラルネットワーク、深層ニューラルネットワーク、放射基底関数ニューラルネットワーク、コホーネン自己組織化ニューラルネットワーク、リカレントニューラルネットワーク、畳込みニューラルネットワーク等およびこれらの組合せを含むことができる。同様に、ニューラル記号コンピューティングエンジン100は、1または複数のニューラルネットワークにおいて実施される特定のニューラル記号コンピューティングエンジンではなく、任意の人工知能ベースの微分可能な論理エンジンとして実施することができる。
【0040】
一実施形態において、例示的な推論エンジンが、ユーザの問題の記述を、機械ベースの推論プロセスの階層アーキテクチャを構成する層に変換する方式に関する更なる詳細を、参照により本明細書に組み込まれる、2020年6月18日に公開された米国特許出願公開第2020/0193286号である、表題「DEEP ADAPTIVE SEMANTIC LOGIC NETWORK」の2019年11月5日に出願された米国特許出願第16/611,177号に見ることができる。
【0041】
理論表現モジュールは、開発者が、領域知識を機械学習システムの設計およびトレーニングに組み込むことを可能にする。システムは、結果として、より少ないデータからより良好な性能を学習することができる。勾配ベースの機械学習モデルは、所与のアサーションがより真であるか(「1」により近いことによって表される)またはより偽であるか(「0」により近いことによって表される)を計算するように学習することができる。ニューラル記号コンピューティングエンジン100によって作成されるニューラルネットワークは、推論の中間レベルのために「0」と「1」との間の複数の値を使用してアサーションされた知識が真になるようにトレーニングすることができる。一実施形態において、ニューラル記号コンピューティングエンジン100が、課題が解決されるには、いくつかの要素しか必要とされないと判断すると、ニューラル記号コンピューティングエンジン100は、ロジット変換を用いないニューラルネットワークをコンパイルすることができる。僅かな量のレベルの推論を用いて作成されたニューラルネットワークにおいて、ネットワークは以下のようにトレーニングすることができる。システム全体をトレーニングするために、従来のシステムについて論じたように、「0」と「1」との間の真値は、大域真値を得るように数学的に乗算される。例えば、事実Aについて50%確信があり、事実Bについて50%確信があり、かつ事実Cについて50%確信がある場合、3つ全ての事実についてどれだけ確信があるか?答えは、50%×50%×50%=12.5%である。これらのシステムがデータに関するアサーションを行うとき、各ステートメントはデータ点ごとに真でなくてはならない。上記で論じたように、乗算される値の数は、データのサイズと共に増大する。論じたように、共に乗算される、「0」と「1」との間の多数の実数の数学的積は「0」に近づき、その導関数についても同様である。導関数が「0」に近づくとき、学習はノイズを受けるようになり、極度に低速に行われるかまたは全く行われなくなる。このため、単に真値を乗算して学習する技法を用いる従来のシステムは、そのニューラルネットワークによって検討される大きなデータセット/大量の特徴と共に機能することができなかった。しかしながら、図1に論じられるように、ニューラル記号コンピューティングエンジン100は、より大きな課題を解決するニューラルネットワークを作成するようにロジット変換を使用することができる。
【0042】
例えば、深層ネットワーク構造は、ニューラルネットワークにおける課題(例えば、タスク、問題)を解決するために、例えば、構造のボトムから構造のトップまで向かう、例えば5つを超えるレベルを有する決定木とすることができる。
【0043】
ここでもまた、これらの深層ネットワーク構造の場合、モデル表現モジュールは、勾配ベースの機械学習モデルにおいて検討されている特徴の2以上の結合からの真値の表現に対しロジット変換(確率のオッズの対数)を適用して、タスク/問題/課題を解決することができ、これによって、大規模な勾配情報の評価が可能になり、推論構造において複数の中間レベルを有する勾配ベースの機械学習モデルにおける学習がそのトップレベルの結果に到達することを可能にすることができる。一実施形態において、ニューラルネットワークにおける勾配は、正しい方向および正しい量でネットワークの重みを更新するために使用されるニューラルネットワークのトレーニング中に計算される方向および大きさを示す誤差勾配であり得る。
【0044】
使用することができる例示的なロジット変換
ロジット変換は、勾配の消失を軽減するためにニューラル記号コンピューティングにおいて適用される数学演算とすることができる。単純なロジット変換を使用することができる。Logit(x)=log(x)-log(1-x)。全ての実数はこの変換の範囲内にある。真値の積は、ロジットの和に変換される。和の各項は、どれだけ多くの更なる項が加算されるかに関わらずその導関数を保持するため、データに対する制限が取り除かれる。
【0045】
特徴結合に対し更に複雑なロジット変換を適用することができる。真値t1およびt2ならびに対応するロジットI1およびI2について、否定演算子(¬)および連結演算子(∧)を以下のように定義する。
¬|1=-|1
および
l1∧l2=logit(t1・t2)=logt1+logt2-log(l-t1・t2)
【0046】
ロジット変換の例示的な近似
特殊な事例は、時として、上記の数学的近似対ロジット変換式全体を使用する。ロジット変換の近似は以下とすることができる。
l1*l2~-ln(e-l1+e-l2
【0047】
近似は、検討されている特徴の積(t1・t2)が「1」であるかまたは「1」に近いときに使用され得る。
【0048】
ニューラル記号コンピューティングエンジン100は、限定ではないが、トレーニングデータからの学習を改善するためにユーザが提供した形式知識を組み込むニューラルネットワークを含む、勾配ベースの機械学習モデルの生成を自動化するためのフレームワークを提供する。ニューラル記号コンピューティングエンジン100は、1次論理に捕捉された知識表現を使用することができ、この知識表現は、無限領域からの有限サンプリングを使用し、正しい真値に収束することができる。ニューラル記号コンピューティングエンジン100は、勾配の消失を回避するためにロジット変換に適用する能力を加えることによって、従来のニューラル記号の機能を改善し、タスク/課題/問題を解決するときにより多くの特徴を計算に入れるようにより深い論理構造を作成することを可能にし、知識と学習構成要素との間のより豊富なインタラクションを可能にする。
【0049】
ニューラル記号コンピューティングエンジン100は、より最適な解釈を伝達するための確信度スコアによって示される、表現および推論のアサーションを可能な限り真にすること、および機械学習モデルをトレーニングするために使用されるデータと一致することを目標として、定数に関連付けられたベクトル値を適応させ、ニューラルネットワークのパラメータを適応させる。より高い確信度スコアは、推論が真であり、第1の機械学習モデルをトレーニングするために用いられるデータと一致していることを伝達する。
【0050】
ニューラル記号コンピューティングエンジン100は、サイドルールを適用する能力を加えることによって、従来のニューラル記号の機能を改善する。
【0051】
一実施形態において、ニューラル記号コンピューティングエンジン100は、知識表現および推論のために適応的セマンティック学習を使用する1または複数の勾配ベースの機械学習モデルを作成するために、2以上のモジュールを互いに連携させる。
【0052】
図3は、理論モジュールによってエンコードされ、勾配ベースの学習を受ける勾配ベースの機械学習モデルにおいて実施されるネットワークパラメータに関連付けられた例示的な定数および関数および述語のブロック図の一実施形態を示す。
【0053】
言語モジュールからの例示的なルールの初期セットは以下とすることができる:
(∀x,y)(friends(x,y)→friends(y,x))
(∀x,y)((smokes(x)∧friends(x,y))→smokes(y))
(∀x)(smokes(x)→hasCancer(x))
xおよびyベクトルがルールにおいて変化するとき、それらのルールの解釈は変化する。
【0054】
加えて、ステートメントからの、ボブ、ピーター、ヒューイ、またはルイ等の各定数は、ステートメントから、癌である、喫煙する、友達である等の述語および/または関数を有することができる。例示的述語は、癌である、喫煙する、友達である等を含む。
【0055】
言語モジュールは、ボブ、ピーター、ルイ等の各人/定数をパラメータ化されたベクトルにマッピングする。言語モジュールは、各述語を、パラメータ化されたネットワーク/論理推論構造にマッピングする。モジュール表現モジュールは、公式解析木から各パラメータ化されたネットワークの完全なネットワークを構築する。例示的な論理推論構造は特徴の4つの結合を有する。ここで、ニューラルネットワークは合成的(compositional)であるため、言語モジュールは、モジュール表現モジュールと連携して、機能ごとに独立したネットワークを構築する。次に、モジュール表現モジュールは、解析木に基づいて、これらを単一のネットワークに組み立てる。これにより、ニューラル記号コンピューティングエンジン100は合成的になり、ここで、例えば、深層ニューラルネットワークは、ユーザによって供給された理論に基づいてオンザフライで組み立てられる。
【0056】
このため、モデル表現モジュール(例えば、タルスキーモデル)および/または言語モジュールは、全ての定数をステートメントに取り込み、これらをニューラルネットワークのサブグラフへの入力として意味論的ベクトルにマッピングすることができる。また、モジュールは全ての述語を供給されたステートメントに取り込み、これらをニューラルネットワークのサブグラフにマッピングし、次にステートメントの解析木から完全なニューラルネットワークを構築する。
【0057】
ニューラル記号コンピューティングエンジン100は、勾配の消失を回避し、勾配ベースの機械学習モデルにおけるより深層の構造上の論理構造の作成を可能にすることによって更に機能し、これにより、知識と学習構成要素との間のより豊富なインタラクションが可能になる。論理推論構造において、データは下から上にネットワークを流れ、出力が生成されてネットワークのトップから出る。ニューラル記号コンピューティングエンジン100は、損失を最小限にしてモデルパラメータを学習するために、解析木を通じた逆伝搬も用いる。
【0058】
図4は、i)理論モジュールを介して専門知識から提供された表現および推論における知識アサーションと、ii)データでの反復トレーニングから導出された機械学習アサーションとの両方でトレーニングされている深層適応的意味論論理ネットワークの概念の一実施形態をグラフィックで示す。ステートメントのセットは、機械学習モデルの構造を作成し、表現および理由を最初に検査するためのルールのセットを作成する。続いて、トレーニングされているデータが、ルールのセットの現在の解釈を作成するために、そのルールのセットで使用される言語/専門用語の理解を訂正するためのフィードバックとして使用される。このため、1次論理は、第1の勾配ベースの機械学習モデルにおける学習を誘導する固定ルールを作成し、サイドルール構成要素は、第1の勾配ベースの機械学習モデルにおける学習に影響を及ぼすように、固定ルールに対し逆伝播された指定の状況において指定の情報をマスキングする。
【0059】
図5は、勾配ベースの機械学習モデルにおける学習に影響を及ぼすように固定ルールに対し指定の状況において指定の情報をマスキングするためのフレキシブルゲートとして機能するように構成されたサイドルール構成要素を有する例示的なニューラル記号コンピューティングエンジンの一実施形態のブロック図を示す。
【0060】
図5を参照すると、論じたように、専門知識をニューラル記号コンピューティングエンジンに供給することができる。専門知識表現は、例えば以下であり得る。1.人→バイクに乗ることができる;2.バイク→乗ることができる状態にある;3.人「A」→バイク「B」に乗ることができ、このため乗っている。示すように、ニューラル記号コンピューティングエンジン100は上記の特徴を解析し、検討されている特徴の2以上の結合を用いて計算解析木をコンパイルする。ニューラル記号コンピューティングエンジン100は、自身のモジュールに、損失関数;データタイプ-ブール、実数インデックス;述語および関数;ならびにシンボルを含む論理演算子を調べさせる。サイドルールは、このモデルにおける学習を制御するフレキシブルゲートとして用いることができる。
【0061】
ラベル付けされたトレーニングサンプルから学習することに加えて、この例におけるニューラル記号コンピューティングエンジン100は、専門家からの知識表現を組み込む。表された知識表現「CanRide」は、「riding」に対する関係を有する。常識的な知識表現は、予測関係が「Riding」であるとき、(1)主語は乗ることが可能でなくてはならず、(2)目的語は乗ることができなくてはならず、(3)主語は目的語の上になくてはならない。このため、ルールRiding(l)→CanRide(s)は、乗ることができる主語のインデックスにおいてTrueである複数の真値(例えば、0;0;1;:::;0;1;0i)のベクトルとしてCanRideを定義することによって予測器とインタラクトすることができる。そのような知識表現をルールとして組み込む結果として、トレーニングデータにおける一般化を改善する、例えば新規の例を認識するための高レベルの意味論を用いるより頑健なモデルが得られる。これを達成することは、ニューラルネットワークにおける連続表現と、専門知識を定式化するのに使用される不連続表現との融合を必要とする。ニューラル記号コンピューティングエンジン100のフレームワークは、専門知識(1次論理によって表される)を解析して連続関数の解析木に入れることによってこれを達成する。そして次に、ネットワーク構造(例えば、解析木)を通じた結果の逆伝播/フィードバックによって、機械学習モデルがモデルパラメータを共同でトレーニングし、データおよび専門知識を整合させる。サイドルール構成要素は、学習に影響を及ぼす固定ルールに対する指定の状況における指定の情報をマスキングするためのフレキシブルゲートとして機能する。機械学習は、i)述語および関数のための関係分類器、ii)主語の分類器、およびiii)知識表現および推論において論理結合を通じて結合された目的語分類器、の3つの個々のネットワーク構造を組み合わせるニューラルネットワークにおいて達成可能であり、これらは、ネットワーク構造のボトムから、ネットワーク構造のトップレベルまでの複数の中間レベルを有する単一の深層ネットワークになるように組み立てられ、これは知識表現および推論の真実性の程度を最大にするようにトレーニングされる。
【0062】
バイクの例では、例示的なネットワークは、例えば、ニューラル記号コンピューティングエンジン100によって作成された画像分類ネットワーク構成要素の組み立てを通じて設定された単純なルールを実施する。
【0063】
ニューラル記号コンピューティングエンジン100は、この乗る課題を解決するためのニューラルネットワークを構築する。図5に示す課題は、主語および目的語を含むバウンディングボックス間の関係を予測する。ラベル付けされたトレーニングサンプルから学習することに加えて、ニューラルネットワークは、予測される関係が「Riding」である場合、主語は乗ることが可能でなくてはならず、目的語(例えば、バイク)は乗ることができなくてはならず、主語は目的語の上になくてはならないという常識的知識を組み込む。そのような知識表現を組み込む結果として、一般化を改善し、少ない数の例から学習する、高レベルの意味論を用いるより頑健なモデルが得られる。ニューラル記号コンピューティングエンジン100は、知識のアサーションからニューラルネットワークをコンパイルし、構成要素ネットワークにおける領域の用語集の基礎となることによって、このニューラルネットワークにおける連続表現と、知識表現のために一般的に用いられる離散表現との統合を達成し、モデルパラメータの勾配ベースの学習を可能にする。
【0064】
ニューラル記号コンピューティングエンジン100は、データに関するラベル状のアサーションを扱い、知識とデータとの間の任意の区別を取り除く。これによって、教師あり、半教師あり、教師なし、および遠隔教師あり学習を、単一のトレーニング体制下で単一のネットワークにおいて同時に行うことができるメカニズムが提供される。
【0065】
サイドルール構成要素
学習アルゴリズムモジュールと連携する言語モジュールは、追加の制約を強制し、重要な部分問題に集中することによって性能を改善するのではなく、生成された機械学習モデルに対する制約を緩和するために、供給された知識表現が、生成された機械学習モデルにおける検討からの知識表現に基づいて論理的に可能でない可能性を除去および/または補正するための安定したフィルタとして用いられる、構成要素ネットワークに逆伝播する情報を制限する生成された勾配ベースの機械学習モデル内のサイドルール構成要素の生成を引き起こすことができる。
【0066】
言語モジュールは、情報が特定の状況において流れることを可能にし、他の状況においてその流れをブロックするフレキシブルゲートとして動作するサイドルールを作成するために、理論モジュールからの、例えば「besides」の宣言型知識をサポートすることができる。ここでもまた、ニューラル記号コンピューティングエンジン100は、1次論理を使用して、ニューラルネットワークの学習等の勾配ベースの機械学習モデルにおける学習を誘導する固定ルールを作成する。サイドルール構成要素は、勾配ベースの機械学習モデルにおける学習に影響を及ぼす固定ルールに対する指定の状況における指定の情報をマスキングするためのフレキシブルゲートとして機能する。サイドルール構成要素は、1次論理制約に違反することなく述語および関数に対する制限された定量化を可能にする構文拡張を提供する。単に特定の状況をマスキング除去する副知識は、システムの全体学習性能を改善する。サイドルールは、状況の第1のセットにおけるいくつかの可能性をフィルタリング除去し、かつ/または分析されている特徴の同じセットについて状況の第2のセットにおける可能性を補正することができる。このため、サイドルール構成要素はゲートとして動作し、情報が特定の状況において流れることを可能にし、他の状況においてその情報の流れをブロックする。これを使用して、ネットワークが学習することができるものを単に制限するのではなく、現在未知の関係および情報を学習するための更なる自由度をニューラルネットワークに与えることができる。ニューラルネットワークは、その出力がいくつかの状況において無視されることにより、もはやこれらの状況に対処する必要がないため、更なる自由度を有する。これにより、ニューラルネットワークが、タスクの最も重要な態様を最も良好に学習するために自身の限られたリソースを自由に配分できるようにしておく。状況のセットにおけるフレキシブルゲートとしての役割を果たすサイドルールは、既存の安定したルールを変更して、領域において知られている知識と、ユーザによって供給される情報と、学習構成要素との間のより豊富なインタラクションを可能にする。サイドルール構成要素は、学習の性能(正確性)を改善するために、ユーザおよび/または領域固有のデータベースが、例えば、常識的知識の第1の状況を追加して、固定ルールを変更し、かつ/またはニューラルネットワークの出力を無視することを可能にすることができる。ネットワークは、その出力がいくつかの状況において無視されることにより、もはやこれらの状況に対処する必要がないため、更なる自由度を有する。これにより、ネットワークが、タスクの最も重要な態様を最も良好に学習するために自身の限られたリソースを自由に配分できるようにしておく。
【0067】
複数の中間レベルを有するネットワーク構造
図5におけるネットワーク構造は、ネットワーク構造のボトムからネットワーク構造のトップレベルまで複数の中間レベルを有する。ニューラルネットワークは、i)述語および関数の関係分類器、ii)主語の分類器、およびiii)目的語分類器、の3つの個々のネットワーク構造(各々がいくつかのレベルから構成される)を組み合わせ、これらは次に知識表現および推論における論理結合子を通じて連結され、特定の人が特定のバイクである/に乗ることができるか否かのトップレベルの結果までの複数の中間レベルを有する単一の深層ネットワークに組み立てられる。ニューラル記号コンピューティングエンジン100は、スケーリングするためのロジット技法を使用して、より大きなデータセットに適用し、より良好な解決(トレーニングにおける誤差がより少ない)になるようにトレーニングする。この影響は、第1に元の0-1表現の下で、第2にロジット表現下で所与のトレーニングデータセットで所与のニューラルネットワークをトレーニングし、結果を比較することによって、直接測定することができる。結果は、機械学習タスクにおける性能(正確性)を増大させる。ロジット変換およびサイドルールを学習におけるフレキシブルゲートとして使用することは、より高速な学習、より正確な学習、およびより大きなデータセットを用いて作業する能力の利点を有する。
【0068】
ネットワーク
図6は、ニューラル記号コンピューティングエンジンの一実施形態によるネットワーク環境において互いに通信するいくつかの電子システムおよびデバイスの図を示す。ネットワーク環境800は、通信ネットワーク820を有する。ネットワーク820は、光ネットワーク、セルラネットワーク、インターネット、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、衛星ネットワーク、ファイバネットワーク、ケーブルネットワーク、およびその組合せから選択される1または複数のネットワークを含み得る。一実施形態において、通信ネットワーク820は、インターネットである。図示するように、多数のサーバコンピューティングシステムと、通信ネットワーク820を介して互いに接続された多数のクライアントコンピューティングシステムとが存在し得る。しかしながら、例えば、単一クライアントコンピューティングシステムはまた単一サーバコンピューティングシステムに接続され得ることを理解されたい。したがって、サーバコンピューティングシステムおよびクライアントコンピューティングシステムの任意の組合せが、通信ネットワーク820を介して互いに接続し得る。
【0069】
ニューラル記号コンピューティングエンジンは、このようなネットワークを使用して、ニューラルネットワークを作成およびトレーニングするためのトレーニングデータを供給することができる。ニューラル記号コンピューティングエンジンは、このネットワーク環境、例えば、サーバ804Aおよびデータベース806Aのクラウドプラットフォーム、ローカルサーバ804Bおよびデータベース806B、ラップトップ802D等のデバイス上、スマート自動車802D等のスマートシステム、および他の類似のプラットフォームに存在し、これらにおいて実装することもできる。
【0070】
通信ネットワーク820は、少なくとも第1のサーバコンピューティングシステム804Aおよび第2のサーバコンピューティングシステム804Bから選択された1または複数のサーバコンピューティングシステムを、互いに、そして更に少なくとも1または複数のクライアントコンピューティングシステムに接続することができる。サーバコンピューティングシステム804Aは、例えば、1または複数のサーバシステム220であってもよい。サーバコンピューティングシステム804Aおよび804Bは、データベース806Aおよび806B等の系統的なデータ構造体を任意選択で各々含むことができる。1または複数のサーバコンピューティングシステムの各々は、1または複数の仮想サーバコンピューティングシステムを有することができ、複数の仮想サーバコンピューティングシステムは、設計によって実装され得る。1または複数のサーバコンピューティングシステムの各々は、データ完全性を保護するために、1または複数のファイヤーウォールを有することができる。
【0071】
少なくとも1または複数のクライアントコンピューティングシステムは、第1のモバイルコンピューティングデバイス802A(例えば、アンドロイドベースのオペレーティングシステムを有するスマートフォン)、第2のモバイルコンピューティングデバイス802E(例えば、iOSベースのオペレーティングシステムを有するスマートフォン)、第1のウェアラブル電子デバイス802C(例えば、スマートウォッチ)、第1のポータブルコンピュータ802B(例えば、ラップトップコンピュータ)、第3のモバイルコンピューティングデバイスまたは第2のポータブルコンピュータ802F(例えば、アンドロイドまたはiOSベースのオペレーティングシステムを有するタブレット)、第1のスマート自動車802Dに組み込まれたスマートデバイスまたはシステム、第1のスマート自転車に組み込まれたスマートデバイスまたはシステム、第1のスマートテレビジョン802H、第1の仮想現実または拡張現実ヘッドセット804C等から選択することができる。クライアントコンピューティングシステム802Bは、例えば、1または複数のクライアントシステム210のうちの1つであってもよく、他のクライアントコンピューティングシステム(例えば、802A、802C、802D、802E、802F、802G、802H、および/または804C)のうちの任意の1または複数は、例えば、ソフトウェアアプリケーション、または人工知能のトレーニングをその中で行いかつ/またはその中に配備することができるハードウェアベースのシステムを含むことができる。1または複数のクライアントコンピューティングシステムの各々は、データ完全性を保護するための1または複数のファイヤーウォールを有することができる。
【0072】
「クライアントコンピューティングシステム」および「サーバコンピューティングシステム」という用語の使用は、一般に通信を開始するシステムおよび一般に通信に応答するシステムを示すことが意図されていることを理解されたい。例えば、クライアントコンピューティングシステムは、一般に通信を開始することができ、サーバコンピューティングシステムは、一般に通信に応答する。明示的に記述されていない限り、階層は暗示されていない。両方の機能は、単一通信システムまたはデバイス内でもよく、その場合、クライアント-サーバおよびサーバ-クライアントの関係はピアツーピアとしてみることができる。したがって、第1のポータブルコンピュータ802B(例えば、クライアントコンピューティングシステム)およびサーバコンピューティングシステム804Aが両方とも通信を開始し、これに応答することができる場合、それらの通信は、ピアツーピアと見ることができる。加えて、サーバコンピューティングシステム804Aおよび804Bは、ネットワーク820を通して互いに通信することを可能にする回路およびソフトウェアを含む。サーバ804Bは、例えば、シミュレータデータをサーバ804Aに送ることができる。
【0073】
サーバコンピューティングシステムの任意の1または複数をクラウドプロバイダとすることができる。クラウドプロバイダは、クラウド(例えば、インターネット等のネットワーク820)内にアプリケーションソフトウェアをインストールし、動作させることができ、クラウドユーザは、クライアントコンピューティングシステムのうちの1または複数からアプリケーションソフトウェアにアクセスすることができる。一般に、クラウド内にクラウドベースのサイトを有するクラウドユーザは、アプリケーションソフトウェアが実行されるクラウドインフラストラクチャまたはプラットフォームを1人で管理することはできない。したがって、サーバコンピューティングシステムおよびその系統的なデータ構造体は、共用リソースでもよく、各クラウドユーザは、共用リソースの或る特定の量の専用使用を与えられる。各クラウドユーザのクラウドベースのサイトは、クラウド内の仮想量の専用空間および帯域幅を与えられ得る。クラウドアプリケーションは、変化する作業需要を満たすために実行時間に複数の仮想機械にタスクをコピーすることによって達成することができる、拡張可能性で他のアプリケーションとは異なり得る。ロードバランサは、仮想機械のセットで作業を分散する。このプロセスは、単一アクセスポイントのみを見るクラウドユーザに対して透過的である。
【0074】
クラウドベースのリモートアクセスは、クライアントコンピューティングシステムに常駐するウェブブラウザアプリケーション等のクライアントコンピューティングシステム上のアプリケーションとの要求および応答周期に従事するためにハイパーテキスト転送プロトコル(「HTTP」)等のプロトコルを利用するためにコード化することができる。クラウドベースのリモートアクセスは、いつでもおよび/またはどこでも、スマートフォン、デスクトップコンピュータ、タブレット、または任意の他のクライアントコンピューティングシステムによってアクセスされ得る。クラウドベースのリモートアクセスは、1)全てのウェブブラウザベースのアプリケーションからの要求および応答周期と、3)専用オンラインサーバからの要求および応答周期と、4)クライアントデバイス上に常駐するネイティブアプリケーションと、別のクライアントコンピューティングシステムへのクラウドベースのリモートアクセスとの間の直接の要求および応答周期と、5)これらの組合せとに従事するようにエンコードされる。
【0075】
一実施形態において、サーバコンピューティングシステム804Aは、サーバエンジン、ウェブページ管理構成要素または直接アプリケーション構成要素、コンテンツ管理構成要素、およびデータベース管理構成要素を含み得る。サーバエンジンは、基本の処理およびオペレーティングシステムレベルのタスクを実行することができる。ウェブページ管理構成要素は、ブラウザを介して、デジタルコンテンツおよびデジタル広告の受信および提供に関連するウェブページまたは画面の作成および表示またはルーティングを処理することができる。同様に、直接アプリケーション構成要素は、ユーザのデバイスに常駐するクライアントアプリと連動することができる。ユーザ(例えば、クラウドユーザ)は、それに関連するユニフォームリソースロケータ(「URL」)を用いてサーバコンピューティングシステムのうちの1または複数にアクセスすることができる。コンテンツ管理構成要素は、本明細書に記載の実施形態において機能のほとんどを処理することができる。データベース管理構成要素は、データベースに関する記憶および取得タスクと、データベースへのクエリと、データの記憶とを含み得る。
【0076】
一実施形態において、サーバコンピューティングシステムは、ウインドウ、ウェブページ等に情報を表示するように構成され得る。任意のプログラムモジュール、アプリケーション、サービス、プロセス、および、他の類似の実行可能なソフトウェアを含むアプリケーションは、例えばサーバコンピューティングシステム804Aで実行されると、サーバコンピューティングシステム804Aに表示画面空間の一部においてウインドウおよびユーザインターフェース画面を表示させることができる。
【0077】
各アプリケーションは、所望の情報の詳細を取得するためのフィールドの提示等、実行するためにソフトウェア構成要素がコード化される機能を実行するために記述されたコードを有する。例えばサーバコンピューティングシステム804A内の、アルゴリズム、ルーチン、およびエンジンは、提示フィールドから情報を取得し、データベース(例えば、データベース806A)等の適切な記憶媒体にその情報を配置することができる。比較ウィザードは、データベースを参照するために記述することができ、そのようなデータを活用することができる。アプリケーションは、例えば、サーバコンピューティングシステム804Aでホストされてもよく、例えば、クライアントコンピューティングシステム802Bの、特定のアプリケーションまたはブラウザに供されてもよい。アプリケーションは、そのとき、詳細の入力を可能にするウインドウまたはページを供する。
【0078】
コンピューティングシステム
図7は、本明細書で論じられるニューラル記号コンピューティングエンジンに関連付けられたシステムの一部とすることができる1または複数のコンピューティングデバイスの一実施形態の図を示す。コンピューティングデバイス900は、命令を実行するための1または複数のプロセッサまたは処理ユニット920、情報を記憶するための1または複数のメモリ930~932、コンピューティングデバイス900のユーザからデータ入力を受け付けるための1または複数のデータ入力構成要素960~963、管理モジュールを含む1または複数のモジュール、コンピューティングデバイス外部の他のコンピューティングデバイスと通信するための通信リンクを確立するためのネットワークインターフェース通信回路970、センサからの出力が特定のトリガ条件を検知してこれに応じて1または複数の事前にプログラムされたアクションを生成するために使用される、1または複数のセンサ、1または複数のメモリ930~932および他の構成要素に記憶された情報の少なくとも一部を表示するための表示画面991を含み得る。ソフトウェア944、945、946に実装されたこのシステムの部分は、1または複数のメモリ930~932に記憶されてもよく、1または複数のプロセッサ920によって実行されることに留意されたい。
【0079】
システムメモリ930は、読み取り専用メモリ(ROM)931およびランダムアクセスメモリ(RAM)932等の揮発性および/または不揮発性メモリの形でコンピュータ記憶媒体を含む。これらのコンピューティング機械可読媒体は、コンピューティングシステム900によってアクセスされ得る任意の入手可能な媒体でもよい。限定ではなく例として、コンピューティング機械可読媒体の用途は、コンピュータ可読命令、データ構造体、他の実行可能ソフトウェア、または他のデータ等の情報の記憶を含む。コンピュータ記憶媒体は、限定ではないが、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)もしくは他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または、所望の情報を記憶するために使用することができ、コンピューティングデバイス900によってアクセスすることができる任意の他の有形媒体を含む。ワイヤレスチャネル等の一時的媒体は、機械可読媒体に含まれない。通信媒体は、通常は、コンピュータ可読命令、データ構造体、他の実行可能ソフトウェア、または他の移送機構を実施し、任意の情報配信媒体を含む。
【0080】
システムは、起動中等、コンピューティングシステム900内の要素間での情報の転送を助ける基本ルーチンを含み、通常はROM931に記憶される、基本入力/出力システム933(BIOS)を更に含む。RAM932は、通常は、処理ユニット920に直ちにアクセス可能なおよび/または処理ユニット920によって現在動作させられているデータおよび/またはソフトウェアを含む。限定ではなく例として、RAM932は、オペレーティングシステム934の一部分、アプリケーションプログラム935、他の実行可能ソフトウェア936、およびプログラムデータ937を含み得る。
【0081】
コンピューティングシステム900はまた、他の取り外し可能な/取り外し不可能な揮発性/不揮発性コンピュータ記憶媒体も含み得る。単に一例として、システムは、ソリッドステートメモリ941を有する。ソリッドステートメモリ941は通常は、インターフェース940等の取り外し不可能なメモリインターフェースを介してシステムバス921に接続され、USBドライブ951は通常は、インターフェース950等の取り外し可能なメモリインターフェースによってシステムバス921に接続される。
【0082】
ユーザは、キーボード、タッチ画面、またはソフトウェアもしくはハードウェア入力ボタン962、マイクロフォン963、マウス、トラックボールもしくはタッチバッド等のポインティングデバイスおよび/またはスクロール入力構成要素等の入力デバイスを介してコンピューティングシステム900にコマンドおよび情報を入力することができる。これらのおよび他の入力デバイスは、多くの場合、システムバス921に連結されたユーザ入力インターフェース960を介して処理ユニット920に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)等の他のインターフェースおよびバス構造体によって接続することができる。表示モニタ991または他のタイプの表示画面デバイスはまた、表示インターフェース990等のインターフェースを介してシステムバス921に接続される。モニタ991に加えて、コンピューティングデバイスはまた、出力周辺インターフェース995を介して接続され得る、スピーカ997、振動器999、および他の出力デバイス等の他の周辺出力デバイスを含み得る。
【0083】
コンピューティングシステム900は、リモートコンピューティングシステム980等の1または複数のリモートコンピュータ/クライアントデバイスへの論理接続を使用するネットワーク化された環境において動作することができる。リモートコンピューティングシステム980は、パーソナルコンピュータ、モバイルコンピューティングデバイス、サーバ、ルータ、ネットワークPC、ピアデバイスまたは他の共通ネットワークノードでもよく、通常は、コンピューティングシステム900に関連して前述した要素の多数または全てを含む。論理接続は、パーソナルエリアネットワーク(PAN)972(例えば、Bluetooth(登録商標))、ローカルエリアネットワーク(LAN)971(例えば、Wi-Fi)、およびワイドエリアネットワーク(WAN)973(例えば、セルラネットワーク)を含むことができるが、パーソナルエリアネットワーク(例えば、Bluetooth(登録商標))等の他のネットワークも含み得る。そのようなネットワーク環境は、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットでは普通に存在する。ブラウザアプリケーションは、コンピューティングデバイスにおいて共振し得、メモリに記憶され得る。
【0084】
LANネットワーク環境において使用されるとき、コンピューティングシステム900は、例えばBluetooth(登録商標)またはWi-Fiアダプタであり得る、ネットワークインターフェース970を介してLAN971に接続される。WANネットワーク環境(例えば、インターネット)において使用されるとき、コンピューティングシステム900は通常、WAN973を介する通信を確立するための何らかの手段を含む。モバイル電気通信技術に関して、例えば、内部または外部であり得る無線インターフェースは、ネットワークインターフェース970、または他の適切な機構を介して、システムバス921に接続され得る。ネットワーク化された環境では、コンピューティングシステム900に関連して図示された他のソフトウェア、またはその部分は、リモートメモリストレージデバイスに記憶され得る。限定ではなく例として、システムは、リモートコンピューティングデバイス980に常駐するものとしてリモートアプリケーションプログラム985を有する。図示されたネットワーク接続は、使用され得るコンピューティングデバイス間の通信リンクの確立の例および他の手段であることが理解されよう。
【0085】
論じられたように、コンピューティングシステム900は、処理ユニット920、メモリ(例えば、ROM931、RAM932等)、コンピューティングデバイスに電力を供給するための内蔵型バッテリ、バッテリを充電するためのAC電源入力、表示画面、ネットワークに接続されたリモートコンピューティングデバイスとワイヤレスで通信するための内蔵型Wi-Fi回路を有するモバイルデバイスを含み得る。
【0086】
本設計は、本明細書に示されることに関して記述されたもの等のコンピューティングシステムで実施され得ることに留意されたい。しかしながら、本設計は、サーバ、メッセージ処理専用のコンピューティングデバイス、または本設計の異なる部分が分散型コンピューティングシステムの異なる部分で実施される分散型システムで実施することができる。
【0087】
いくつかの実施形態では、本明細書において論じられるアルゴリズムを円滑化するために使用されるソフトウェアは、非一時的機械可読媒体に組み込まれ得る。機械可読媒体は、機械(例えば、コンピュータ)によって読み取り可能な形で情報を記憶する任意の機構を含む。例えば、非一時的機械可読媒体は、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、デジタル多用途ディスク(DVDの)、EPROM、EEPROM、フラッシュメモリ、磁気もしくは光カード、または、電子命令の記憶に適した任意のタイプの媒体を含み得る。
【0088】
本明細書に記載のアプリケーションは、限定ではないが、ソフトウェアアプリケーション、モバイルアプリケーション、およびオペレーティングシステムアプリケーションの一部であるプログラムを含むことに留意されたい。本明細書のいくらかの部分は、コンピュータメモリ内のデータビットでの動作のアルゴリズムおよび象徴表現に関して提示される。これらのアルゴリズム的記述および表現は、データ処理技術の当業者によって他の当業者に彼らの作業の要旨を最も効果的に伝達するために使用される手段である。アルゴリズムは、ここでは、そして一般に、所望の結果をもたらすステップの自己矛盾のないシーケンスであると考えられている。ステップは、物理量の物理的操作を必要とするものである。通常は、ただし必ずではなく、これらの物理量は、記憶、転送、結合、比較、および他の方法で操作することができる電気または磁気信号の形をとる。それは、主に共通使用を理由として、これらの信号をビット、値、要素、記号、文字、用語、数等として参照することが、時には便利であると証明した。これらのアルゴリズムは、C、C++、HTTP、Java、Python、または他の類似の言語等のいくつかの異なるソフトウェアプログラミング言語で書かれ得る。また、アルゴリズムは、ソフトウェア内のコードライン、ソフトウェア内の構成された論理ゲート、またはその両方の組合せにおいて実装され得る。一実施形態において、論理は、ブール論理のルールに従う電子回路、命令のパターンを含むソフトウェア、またはその両方の任意の組合せから成る。ソフトウェアに実装されるアルゴリズムの任意の部分が、メモリの一部において実行可能なフォーマットで記憶され得、1または複数のプロセッサによって実行される。
【0089】
しかしながら、これらのおよび類似の用語の全ては、適切な物理量に関連付けられることになり、これらの物理量に適用される単なる便宜的ラベルであることに留意されたい。具体的に別段の指示のない限り、前述の論考から明らかなように、本明細書全体を通して、「処理」または「計算」または「算出」または「決定」または「表示」等の用語を利用する論考は、コンピュータシステムまたはコンピュータシステムのレジスタおよびメモリ内の物理(電子)物理量として表されたデータを操作し、コンピュータシステムメモリもしくはレジスタまたは他のそのような情報記憶、伝送もしくは表示デバイス内の物理量として同様に表される他のデータに変換する、類似の電子コンピューティングデバイスのアクションおよびプロセスを参照することが理解されよう。
【0090】
電子ハードウェア構成要素によって実行される多数の機能は、ソフトウェアエミュレーションによって重複して行われ得る。したがって、それらの同じ機能を達成するために書かれたソフトウェアプログラムは、入力-出力回路内のハードウェア構成要素の機能をエミュレートすることができる。したがって、前述のシステムのコンピューティングデバイス上の1または複数のプロセッサによって実行されるときに、本明細書に記載のように概説される動作をコンピューティングデバイスに実行させる、命令およびデータを記憶するように構成された1または複数の非一時的機械可読媒体が、本明細書では提供される。
【0091】
本明細書における「実施形態」、「例」等の参照は、記載された実施形態または例が特定の特徴、構造、または特性を含み得ることを示すが、あらゆる実施形態が特定の特徴、構造、または特性を必ずしも含まなくてもよい。そのような語句は、必ずしも同じ実施形態を参照していなくてもよい。さらに、特定の特徴、構造、または特性が一実施形態に関して記載されるとき、それは、明示的に指示されていてもいなくても、他の実施形態に関するそのような特徴、構造、または特性に影響を及ぼすことが当業者の知識内にあると考えられる。
【0092】
前述の設計およびその実施形態は、かなり詳細に提供されているが、本明細書で提供される設計および実施形態についての本出願の意図は限定することではない。追加の適応および/または修正形態が可能であり、そして、より広い側面では、これらの適応および/または修正形態もまた包含される。したがって、以下の特許請求の範囲によって与えられる範囲を逸脱せずに前述の設計および実施形態からの逸脱が行われ得、その範囲は、適切に解釈されるとき、特許請求の範囲によってのみ限定される。
図1
図2
図3
図4
図5
図6
図7