(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025002376
(43)【公開日】2025-01-09
(54)【発明の名称】演算システム
(51)【国際特許分類】
G06F 11/16 20060101AFI20241226BHJP
G06F 9/50 20060101ALI20241226BHJP
【FI】
G06F11/16 641
G06F9/50 150D
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023102515
(22)【出願日】2023-06-22
(71)【出願人】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(71)【出願人】
【識別番号】520124752
【氏名又は名称】株式会社ミライズテクノロジーズ
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】羅 炯竣
(72)【発明者】
【氏名】荒木田 英穂
(72)【発明者】
【氏名】滝澤 哲郎
(72)【発明者】
【氏名】徳江 達也
【テーマコード(参考)】
5B034
【Fターム(参考)】
5B034AA04
5B034CC01
5B034DD01
(57)【要約】
【課題】演算システムにおいて、システム構成に無駄が生じることを抑制しつつ異常の有無を検出する。
【解決手段】ニューラルネットワークモデルを利用した演算処理を実行する演算システム100は、複数のプロセッサコアPC1~PC8と、演算処理の演算負荷に応じて、演算用コアを決定し、演算処理を実行させる演算割当部11と、プロセッサコアの異常の有無を検出する異常検出部12と、を備え、演算割当部は、基本演算と並列して、演算用コアでないプロセッサコアの少なくとも一部に異常検出用演算を実行させ、異常検出部は、基本演算の演算結果である第1の演算結果と、異常検出用演算の演算結果である第2の演算結果と、の差異が予め定められた許容条件を満たす場合には、演算用コアと、異常検出用コアとに異常がないと判定し、差異が許容条件を満たさない場合には、演算用コアと異常検出用コアとの少なくとも一部に異常があると判定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ニューラルネットワークモデルを利用した演算処理を実行する演算システム(100)であって、
前記演算処理を実行する複数のプロセッサコア(PC1~PC8)と、
前記演算処理の演算負荷に応じて、前記複数のプロセッサのうち前記演算処理を実行させるプロセッサコアである演算用コアを決定し、前記演算用コアに前記演算処理を実行させる演算割当部(11)と、
前記プロセッサコアの異常の有無を検出する異常検出部(12)と、
を備え、
前記演算割当部は、前記演算用コアに実行させる前記演算処理である基本演算と並列して、前記複数のプロセッサコアのうち、前記演算用コアでないプロセッサコアの少なくとも一部に、前記基本演算に基づき得られる演算である異常検出用演算を実行させ、
前記異常検出部は、
前記基本演算の演算結果である第1の演算結果と、前記異常検出用演算の演算結果である第2の演算結果と、の差異が予め定められた許容条件を満たす場合には、前記演算用コアと、前記異常検出用演算を実行させたプロセッサコアである異常検出用コアとに異常がないと判定し、
前記差異が前記許容条件を満たさない場合には、前記演算用コアと前記異常検出用コアとの少なくとも一部に異常があると判定する、
演算システム。
【請求項2】
請求項1に記載の演算システムであって、
前記異常検出部は、前記第1の演算結果と、前記第1の演算結果と並列して出力された前記第2の演算結果と、を利用して、前記異常の有無を検出する、
演算システム。
【請求項3】
請求項1に記載の演算システムであって、
前記第1の演算結果を記憶する半導体メモリ装置をさらに備え、
前記異常検出部は、前記半導体メモリ装置から読み出した前記第1の演算結果と、前記第1の演算結果の後に出力された前記第2の演算結果と、を利用して、前記異常の有無を検出する、
演算システム。
【請求項4】
請求項1に記載の演算システムであって、
前記異常検出部は、前記第1の演算結果および前記第2の演算結果として、前記ニューラルネットワークモデルを構成する複数のレイヤのうちの最終レイヤにおける演算結果である最終演算結果と、前記複数のレイヤのうちの中間レイヤにおける演算結果である中間演算結果と、のうちの少なくともいずれか一方を利用して、前記異常の有無を検出する、
演算システム。
【請求項5】
請求項1から請求項4のいずれか一項に記載の演算システムであって、
前記演算割当部は、前記異常検出用演算として、前記基本演算と同じ前記演算処理を前記異常検出用コアに実行させ、
前記許容条件は、前記第1の演算結果と、前記第2の演算結果と、が互いに一致するとの条件を含む、
演算システム。
【請求項6】
請求項1から請求項4のいずれか一項に記載の演算システムであって、
前記演算割当部は、前記異常検出用演算として、前記基本演算よりも演算負荷が抑制されるように予め学習された軽量化演算を前記異常検出用コアに実行させ、
前記許容条件は、前記差異が予め定められた閾値未満であるとの条件を含む、
演算システム。
【請求項7】
請求項1から請求項4のいずれか一項に記載の演算システムであって、
前記ニューラルネットワークモデルは、入力データに基づいて、予め定められた複数のクラスのそれぞれについて、前記入力データが該クラスに属する確率を出力する多クラス分類器として構成されており、
前記演算割当部は、前記異常検出用演算として、前記基本演算よりも演算負荷が抑制されるように予め学習された軽量化演算を前記異常検出用コアに実行させ、
前記許容条件は、前記第1の演算結果において前記確率が高い上位N個のクラスと、前記第2の演算結果において前記確率が高い上位N個のクラスと、のそれぞれにおいて予め定められた数のクラスが互いに一致するとの条件を含む、
演算システム。
【請求項8】
請求項1から請求項4のいずれか一項に記載の演算システムであって、
前記演算割当部は、前記異常検出用演算として、予め定められた軽量化演算よりもビット数が少ない重み係数を用いて予め学習されたビット数削減演算を前記異常検出用コアに実行させる、
演算システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、演算システムに関する。
【背景技術】
【0002】
従来、プロセッサを備える演算システムの機能安全の担保のため、演算システムに異常が発生した場合に当該異常を検出する手法が求められている。特許文献1では、システムの異常検出のために、平常時に用いられるプロセッサコアに加えて、異常検出用のプロセッサコアを備え、2つのプロセッサコアによる各演算結果を互いに比較するシステムが開示されている。また、特許文献2では、システムの異常検出のために、システムの起動時におけるプロセッサコアの演算結果と予めメモリに保持された演算結果とを比較するシステムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許第6065135号明細書
【特許文献2】米国特許出願公開第2006/0062046号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
同様の構成は、ニューラルネットワークを利用した演算処理を実行するNPU(Neural network Processing Unit)を備える演算システムについても適用され得る。しかしながら、特許文献1では、平常時に用いられるプロセッサコアに加えて異常検出用のプロセッサコアを備えるので、システム構成に無駄が生じるという問題がある。また、特許文献2では、予めメモリに保持された演算結果についてシステムの起動時に比較することしかできず、新たに出力される演算結果について異常検出ができないという問題がある。
【課題を解決するための手段】
【0005】
本開示は、以下の形態として実現することが可能である。
【0006】
本開示の一形態によれば、ニューラルネットワークモデルを利用した演算処理を実行する演算システム(100)が提供される。この演算システムは、前記演算処理を実行する複数のプロセッサコア(PC1~PC8)と、前記演算処理の演算負荷に応じて、前記複数のプロセッサのうち前記演算処理を実行させるプロセッサコアである演算用コアを決定し、前記演算用コアに前記演算処理を実行させる演算割当部(11)と、前記プロセッサコアの異常の有無を検出する異常検出部(12)と、を備え、前記演算割当部は、前記演算用コアに実行させる前記演算処理である基本演算と並列して、前記複数のプロセッサコアのうち、前記演算用コアでないプロセッサコアの少なくとも一部に、前記基本演算に基づき得られる演算である異常検出用演算を実行させ、前記異常検出部は、前記基本演算の演算結果である第1の演算結果と、前記異常検出用演算の演算結果である第2の演算結果と、の差異が予め定められた許容条件を満たす場合には、前記演算用コアと、前記異常検出用演算を実行させたプロセッサコアである異常検出用コアとに異常がないと判定し、前記差異が前記許容条件を満たさない場合には、前記演算用コアと前記異常検出用コアとの少なくとも一部に異常があると判定する。
【0007】
この形態の制御装置によれば、演算処理の演算負荷に応じて、複数のプロセッサのうち演算用コアを決定し、演算用コアにおいて実行させた基本演算の演算結果と、複異常検出用コアにおいて実行させた異常検出用演算の演算結果とが一致するか否かを判定することにより、異常の有無を検出できる。このため、平常時に用いられるプロセッサコアに加えて異常検出用のプロセッサコアを備える構成と比較して、システム構成に無駄が生じることを抑制しつつ、異常の有無を検出できる。また、新たに出力される演算結果を利用して異常の有無を検出できる。
【図面の簡単な説明】
【0008】
【
図1】本実施形態の演算システムの概略構成を示すブロック図である。
【
図2】ニューラルネットワークモデルの構成の一例を示す説明図である。
【
図3】第1実施形態の異常検出処理の手順を示すフローチャートである。
【
図4】第1実施形態の異常検出処理の手順を示すフローチャートである。
【
図5】第1実施形態における演算処理の割り当ての一例を示す説明図である。
【
図6】第2実施形態の異常検出処理の手順を示すフローチャートである。
【
図7】第2実施形態の異常検出処理の手順を示すフローチャートである。
【
図8】第2実施形態における演算処理の割り当ての一例を示す説明図である。
【
図9】第3実施形態の異常検出処理の手順を示すフローチャートである。
【
図10】第3実施形態における演算処理の割り当ての一例を示す説明図である。
【
図11】他の実施形態における演算処理の割り当ての一例を示す説明図である。
【発明を実施するための形態】
【0009】
A.第1実施形態:
A-1.システム構成:
本実施形態の演算システム100は、ニューラルネットワークモデルを利用した演算処理を実行する。本実施形態では、演算システム100は、車両に搭載されたカメラにより撮像された画像データを対象として、画像データに含まれる歩行者や構造物等を判別するための演算処理を行う。本実施形態では、ニューラルネットワークモデルは、画像データに基づいて、予め定められた複数のクラスのそれぞれについて、画像データに含まれる各物体が該クラスに属する確率を出力する多クラス分類器として構成されている。なお、演算システム100は、画像データに限らず、音声データやテキストデータを対象として演算処理を実行してもよい。
【0010】
図2に、ニューラルネットワークモデルの例を示す。
図2に示すニューラルネットワークモデルは、畳み込み層L1と、プーリング層L2と、畳み込み層L3と、プーリング層L4と、全結合層L5とを有する。演算システム100は、かかる順番で各層における演算を実行する。なお、演算システム100は、
図2に示す構成のニューラルネットワークモデルに限らず、任意の構成のニューラルネットワークモデルを利用した演算処理を実行してよい。また、演算システム100は、単一の種類のニューラルネットワークモデルを利用する演算処理に限らず、複数の種類のニューラルネットワークモデルを順次使い分けて利用する演算処理を実行してよい。
【0011】
図1に示すように、演算システム100は、プロセッサコアPC1~PC8と、演算制御部10と、半導体メモリ装置20とを備える。プロセッサコアPC1~PC8と、演算制御部10と、半導体メモリ装置20とは、バスBSを介して互いに通信可能に接続されている。なお、演算システム100は、上記構成に加えてキャッシュメモリやレジスタ等を備えてもよい。
【0012】
本実施形態では、プロセッサコアPC1~PC8は、ニューラルネットワークモデルを利用した演算処理を実行するNPU(Neural network Processing Unit)として構成されている。プロセッサコアPC1~PC8の具体的な構成は、既知のNPUの構成と同様であるので詳細な説明を省略する。本実施形態では、プロセッサコアPC1~PC8は、単一の画像データを入力されて、当該画像データにおける互いに異なる領域を複数のプロセッサコアにより分担し、互いに並列して演算処理を実行する。なお、プロセッサコアPC1~PC8のうちのいずれかひとつのプロセッサコアが、単一の画像データを対象とする演算処理を実行してもよい。
【0013】
演算システム100が備えるプロセッサコアの数は8個に限らず、演算システム100において予め想定される演算負荷が最大である演算処理を予め定められた許容時間内に完了することができれば、2以上の任意の数であってもよい。「許容時間」は、例えば、車両の周囲に存在する歩行者や構造物等を判別するために許容される時間の上限時間として設定されている。以下の説明において、許容時間内に演算処理を完了するためにすべてのプロセッサコアを並列で動作させることを要する演算処理の演算負荷を「最大演算負荷」と呼ぶ。なお、「演算処理の演算負荷」は、演算処理において利用されるニューラルネットワークモデルの種類、より具体的には、ニューラルネットワークモデルを構成するレイヤの数や各レイヤにおいて実行される演算の種類等によって決定される。
【0014】
演算制御部10は、演算割当部11と異常検出部12とを備える。演算割当部11は、演算処理の演算負荷に応じて、プロセッサコアPC1~PC8のうち、演算処理を実行させるプロセッサコア(以下、「演算用コア」とも呼ぶ)を決定し、演算用コアに演算処理を実行させる。以下の説明において、演算用コアにおいて実行される演算処理を「基本演算」とも呼ぶ。本実施形態では、演算割当部11は、許容時間内に基本演算を完了するために必要となる最小限の数(以下、「最小コア数」とも呼ぶ)のプロセッサコアを演算用コアとして決定する。最小コア数は、実行される基本演算の種類ごとに予め設定されている。
【0015】
また、演算割当部11は、プロセッサコアPC1~PC8のうち、演算用コアではないプロセッサコアに異常検出用演算を実行させる。「異常検出用演算」は、プロセッサコアにおける異常の有無を検出するために実行される演算処理であって、基本演算に基づき得られる演算処理を意味する。演算割当部11は、基本演算の演算負荷に応じて、異常検出用演算を実行させるプロセッサコア(以下、「異常検出用コア」とも呼ぶ)の数を決定する。本実施形態では、演算割当部11は、異常検出用演算として、基本演算と同じ演算処理を異常検出用コアに実行させる。演算割当部11による異常検出用コアへの異常検出用演算の割り当ての具体的な方法については後述する。
【0016】
異常検出部12は、基本演算の演算結果と異常検出用演算の演算結果との差異が予め定められた許容条件を満たすか否かを判定することにより、プロセッサコアの異常の有無を検出する。なお、異常検出部12は、プログラムを実行することによりソフトウェア上で実現される機能部であってもよく、論理回路によりハードウェア上で実現される機能部であってもよい。異常検出部12による具体的な処理については後述する。
【0017】
半導体メモリ装置20は、プロセッサコアPC1~PC8において実行される演算処理においてバスBSを介して入出力される種々のデータ、例えば、画像データや演算処理において用いられる係数、演算結果等のデータを記憶する。本実施形態では、半導体メモリ装置20は、DRAM(Dynamic Random Access Memory)として構成されている。
【0018】
A-2.異常検出処理:
演算制御部10は、
図3および
図4に示す異常検出処理を実行し、演算用コアによる基本演算と並列して基本演算の演算負荷に応じて異常検出用コアに対し異常検出用演算を実行させ、プロセッサコアの異常の有無を検出する。異常検出処理は、演算システム100において基本演算が開始される都度、実行される。なお、以下の説明において、実行される演算処理は、画像データを対象とするものであるとする。
【0019】
図3に示すステップS10において、演算割当部11は、基本演算の演算負荷が最大演算負荷の1/2以下であるか否かを判定する。演算負荷が最大演算負荷の1/2より大きいと判定された場合(ステップS10:No)、演算割当部11は、演算用コアにおいて基本演算を実行させ、異常検出処理を終了する。つまり、かかる場合には、異常検出部12は、異常検出を実行しない。
【0020】
他方、演算負荷が最大演算負荷の1/2以下であると判定された場合(ステップS10:Yes)、演算割当部11は、
図4に示すステップS20において、基本演算の演算負荷が最大演算負荷の1/3以下であるか否かを判定する。
【0021】
演算負荷が最大演算負荷の1/3以下であると判定された場合(ステップS20:Yes)、ステップS30において、演算割当部11は、基本演算に加えて、異常検出用演算として基本演算と同じ演算処理を2つ並列実行するように、プロセッサコアに演算処理を割り当てる。
【0022】
ステップS30における演算処理の割り当てについて、
図5に示す例を参照してより具体的に説明する。
図5に示す例では、基本演算の最小コア数は2として設定されている。かかる場合、演算割当部11は、プロセッサコアPC1、PC2に対して基本演算を割り当て、プロセッサコアPC3、PC4に対して第1の異常検出用演算を割り当て、プロセッサコアPC5、PC6に対して第2の異常検出用演算を割り当てる。
図5に示す例では、プロセッサコアPC1、PC2が演算用コアに相当し、プロセッサコアPC3、PC4およびプロセッサコアPC5、PC6が異常検出用コアに相当する。
【0023】
図5に示す例では、演算割当部11は、プロセッサコアPC7、PC8に対して演算処理を割り当てていない。プロセッサコアPC7、PC8に対して演算処理を割り当てない構成では、プロセッサコアPC7、PC8に対して演算処理を割り当てる構成と比較して、演算システム100における電力消費および処理負荷の増大を抑制できる。なお、演算割当部11は、プロセッサコアPC7、PC8に対して演算処理を割り当ててもよい。
【0024】
図4に示すステップS40において、異常検出部12は、並列して出力される、基本演算と2つの異常検出用演算との3つの中間演算結果を取得する。「中間演算結果」は、ニューラルネットワークモデルを構成する複数のレイヤのうちの中間レイヤにおける演算結果を意味する。
図2に示す例においては、畳み込み層L1、プーリング層L2、畳み込み層L3、プーリング層L4が中間レイヤに相当し、本実施形態では、プーリング層L2における演算結果を中間演算結果として取得する。なお、異常検出部12は、複数の中間レイヤのうちのひとつに限らず、2以上の中間レイヤにおける各演算結果を中間演算結果として取得してもよい。
図5に示す例では、基本演算と2つの異常検出用演算とは、それぞれ同じ数のプロセッサコアにおいて実行されているため、互いに対応する画素についての各中間演算結果は、互いに並列して出力される。
【0025】
異常検出部12は、互いに対応する画素について、基本演算と2つの異常検出用演算との各中間演算結果が並列して出力されるごとに各中間演算結果を取得する。より具体的には、異常検出部12は、演算用コアおよび異常検出用コアから出力される各中間演算結果を直接取得する。なお、異常検出部12は、演算用コアおよび異常検出用コアから出力されて一時的に半導体メモリ装置20に記憶された各中間演算結果を半導体メモリ装置20から取得してもよい。
【0026】
図4に示すステップS50において、異常検出部12は、許容条件として、基本演算と2つの異常検出用演算との3つの中間演算結果が互いに一致するか否かを判定する。異常検出部12は、中間演算結果を利用して判定を行うので、後述する最終演算結果の出力を待つことなく早い段階でプロセッサコアにおける異常を検出することができ、異常検出処理に要する時間の増大を抑制できる。
【0027】
異常検出部12は、ステップS50における判定を、画像データにおけるすべての画素を対象として実行してよく、または、画像データにおける予め定められた一部の画素を対象として実行してもよい。すべての画素を対象として判定を実行する形態では、より精度よく異常の有無を検出できる。他方、一部の画素を対象として判定を実行する形態では、判定を実行する回数を抑制できるため、異常検出部12における処理負荷および処理時間の増大を抑制できる。いずれの判定方法を採用するかは、上述の許容時間の長さや異常検出の要求精度等を考慮して任意に決定されてよい。
【0028】
3つの中間演算結果が互いに一致しないと判定された場合(ステップS50:No)、ステップS84において、異常検出部12は、演算用コアと異常検出用コアとの少なくとも一部に異常があると判定する。「基本演算と2つの異常検出用演算との3つの中間演算結果が互いに一致しない」とは、3つの中間演算結果のうちの少なくとも1つが他の中間演算結果と一致しないことを意味する。異常検出部12は、3つの中間演算結果が互いに一致するか否かを判定するので、3つの中間演算結果が互いに一致しない場合に、異常が発生している可能性が高いプロセッサコアを特定できる。例えば、
図5に示す例において、第1の異常検出用演算と第2異常検出用演算との各中間演算が互いに一致し、基本演算の中間演算結果のみが異なる場合には、プロセッサコアPC1またはプロセッサコアPC2において異常が発生している可能性が高いことを特定できる。ステップS84の終了後、異常検出処理は終了する。
【0029】
他方、
図4において、3つの中間演算結果が互いに一致すると判定された場合(ステップS50:Yes)、ステップS60において、異常検出部12は、並列して出力される、基本演算と2つの異常検出用演算との3つの最終演算結果を取得する。「最終演算結果」は、ニューラルネットワークモデルを構成する複数のレイヤのうちの最終レイヤにおける演算結果を意味する。
図2に示す例では、L5が最終レイヤに相当する。上述の中間演算結果の場合と同様の理由により、互いに対応する画素についての各最終演算結果は、互いに並列して出力される。
【0030】
上述の中間演算結果の場合と同様に、異常検出部12は、互いに対応する画素について、基本演算と2つの異常検出用演算との各最終演算結果が並列して出力されるごとに各最終演算結果を取得する。より具体的には、異常検出部12は、演算用コアおよび異常検出用コアから出力される各最終演算結果を直接取得する。なお、異常検出部12は、演算用コアおよび異常検出用コアから出力されて一時的に半導体メモリ装置20に記憶された各最終演算結果を半導体メモリ装置20から取得してもよい。
【0031】
図4に示すステップS70において、異常検出部12は、許容条件として、基本演算と2つの異常検出用演算との3つの最終演算結果が互いに一致するか否かを判定する。異常検出部12は、最終演算結果を利用して判定を行うので、最終演算結果の信頼性を担保できる。
【0032】
3つの最終演算結果が互いに一致すると判定された場合(ステップS70:Yes)、ステップS80において、異常検出部12は、演算用コアと異常検出用コアとに異常がないと判定する。ステップS80の終了後、異常検出処理は終了する。
【0033】
他方、3つの最終演算結果が互いに一致しないと判定された場合(ステップS70:No)、ステップS84において、異常検出部12は、演算用コアと異常検出用コアとの少なくとも一部に異常があると判定する。「基本演算と2つの異常検出用演算との3つの最終演算結果が互いに一致しない」とは、3つの最終演算結果のうちの少なくとも1つが他の最終演算結果と一致しないことを意味する。異常検出部12は、3つの最終演算結果が互いに一致するか否かを判定するので、3つの最終演算結果が互いに一致しない場合に、異常が発生している可能性が高いプロセッサコアを特定できる。異常が発生している可能性が高いプロセッサコアを特定する方法は、上述のステップS50の判定結果がNoである場合と同様である。ステップS84の終了後、異常検出処理は終了する。
【0034】
上述のステップS20の判定に戻り、基本演算の演算負荷が最大演算負荷の1/3より大きいと判定された場合(ステップS20:No)、ステップS32において、演算割当部11は、基本演算に加えて、異常検出用演算として基本演算と同じ演算処理を1つ並列実行するように、プロセッサコアに演算処理を割り当てる。
【0035】
ステップS42において異常検出部12は、並列して出力される、基本演算と異常検出用演算との2つの中間演算結果を取得する。中間演算結果を取得する中間レイヤおよび中間演算結果を取得するタイミングは、上述のステップS40と同様である。
【0036】
ステップS52において、異常検出部12は、許容条件として、基本演算と異常検出用演算との2つの中間演算結果が互いに一致するか否かを判定する。2つの中間演算結果が互いに一致しないと判定された場合(ステップS52:No)、ステップS84において、異常検出部12は、演算用コアと異常検出用コアとの少なくとも一部に異常があると判定する。ステップS84の終了後、異常検出処理は終了する。
【0037】
他方、2つの中間演算結果が互いに一致すると判定された場合(ステップS52:Yes)、ステップS62において、異常検出部12は、並列して出力される、基本演算と異常検出用演算との2つの最終演算結果を取得する。最終演算結果を取得するタイミングは、上述のステップS60と同様である。
【0038】
ステップS72において、異常検出部12は、許容条件として、基本演算と異常検出用演算との2つの最終演算結果が互いに一致するか否かを判定する。2つの最終演算結果が互いに一致すると判定された場合(ステップS72:Yes)、ステップS82において、異常検出部12は、演算用コアと異常検出用コアとに異常がないと判定する。ステップS82の終了後、異常検出処理は終了する。
【0039】
他方、2つの最終演算結果が互いに一致しないと判定された場合(ステップS72:No)、ステップS84において、異常検出部12は、演算用コアと異常検出用コアとの少なくとも一部に異常があると判定する。ステップS84の終了後、異常検出処理は終了する。
【0040】
以上説明した第1実施形態の演算システム100によれば、演算処理の演算負荷に応じて、複数のプロセッサのうち演算用コアを決定し、演算用コアにおいて実行させた基本演算の演算結果と、異常検出用コアにおいて実行させた異常検出用演算の演算結果とが一致するか否かを判定することにより、異常の有無を検出できる。このため、平常時に用いられるプロセッサコアに加えて異常検出用のプロセッサコアを備える構成と比較して、システム構成に無駄が生じることを抑制しつつ、異常の有無を検出できる。
【0041】
また、異常検出部12は、互いに並列して出力された演算結果を用いて異常の有無を検出するので、リアルタイムで異常の有無を検出できる。
【0042】
また、演算割当部11は、異常検出用演算として基本演算と同じ演算処理を異常検出用コアに実行させ、異常検出部12は、基本演算の演算結果と異常検出用演算の演算結果とが互いに一致するか否かを判定することにより異常の有無を検出するので、異常の検出を容易にできる。
【0043】
また、異常検出部12は、中間演算結果を利用して異常の有無を判定するので、最終演算結果の出力を待つことなく早い段階で異常を検出でき、異常検出に要する時間の増大を抑制できる。また、異常検出部12は、最終演算結果を利用して異常の有無を判定するので、最終演算結果の信頼性を担保できる。
【0044】
B.第2実施形態:
第2実施形態の演算システム100は、
図6に示すように、
図3に示すステップS12に代えて、
図7に示す処理を実行する点において、第1実施形態の演算システム100と異なっている。第2実施形態の演算システム100のシステム構成および異常検出処理におけるその他の手順は、第1実施形態の演算システム100と同じであるので、同一の構成および同一の手順には同一の符号を付し、その詳細な説明を省略する。
【0045】
ステップS10において基本演算の演算負荷が最大演算負荷の1/2以下であると判定された場合(ステップS10:No)、
図7に示すステップS122において、基本演算に加えて、異常検出用演算として基本演算と同じ演算処理を1つ並列実行するように、プロセッサコアに演算処理を割り当てる。
【0046】
ステップS122における演算処理の割り当てについて、
図8に示す例を参照してより具体的に説明する。
図8に示す例では、基本演算の最小コア数は6として設定されている。かかる場合、演算割当部11は、プロセッサコアPC1~PC6に対して基本演算を割り当て、プロセッサコアPC7、PC8に対して異常検出用演算を割り当てる。
図8に示す例では、プロセッサコアPC1~PC6が演算用コア、プロセッサコアPC7、PC8が異常検出用コアに相当する。
【0047】
図7に示すステップS124において、異常検出部12は、基本演算の中間演算結果と、当該中間演算結果よりも遅れて出力される異常検出用演算の中間演算結果と取得する。中間演算結果を取得する中間レイヤは、上述のステップS40と同様である。
図8に示す例では、異常検出用演算を実行するプロセッサコアの数は、基本演算を実行するプロセッサコアの数よりも少ない。そのため、異常検出用演算において中間レイヤにおける演算が完了するまでの時間は、基本演算において中間レイヤにおける演算が完了するまでの時間よりも長くなる。このように、異常検出用演算の中間演算結果は、互いに対応する画素についての基本演算の中間演算結果よりも遅れて出力されることとなる。
【0048】
異常検出部12は、互いに対応する画素について、基本演算の中間演算結果が出力された後、異常検出用演算の中間演算結果が出力されるごとに各中間演算結果を取得する。より具体的には、異常検出部12は、異常検出用コアから出力される異常検出用演算の中間演算結果を直接取得し、演算用コアから出力されて一時的に半導体メモリ装置20に記憶された基本演算の中間演算結果を半導体メモリ装置20から取得する。また、異常検出部12は、異常検出用コアから出力されて一時的に半導体メモリ装置20に記憶された異常検出用演算の中間演算結果を半導体メモリ装置20から取得してもよい。
【0049】
図7に示すステップS126において、異常検出部12は、許容条件として、基本演算と異常検出用演算との2つの中間演算結果が互いに一致するか否かを判定する。2つの中間演算結果が互いに一致しないと判定された場合(ステップS126:No)、ステップS134において、異常検出部12は、演算用コアと異常検出用コアとの少なくとも一部に異常があると判定する。ステップS134の終了後、異常検出処理は終了する。
【0050】
他方、2つの中間演算結果が互いに一致すると判定された場合(ステップS126:Yes)、ステップS128において、異常検出部12は、基本演算の最終演算結果と、当該最終演算結果よりも遅れて出力される異常検出用演算の最終演算結果と取得する。上述の中間演算結果の場合と同様の理由により、異常検出用演算の最終演算結果は、互いに対応する画素についての基本演算の最終演算結果よりも遅れて出力される。
【0051】
上述の中間演算結果の場合と同様に、異常検出部12は、互いに対応する画素について、基本演算の最終演算結果が出力された後、異常検出用演算の最終演算結果が出力されるごとに各最終演算結果を取得する。より具体的には、異常検出部12は、異常検出用コアから出力される異常検出用演算の最終演算結果を直接取得し、演算用コアから出力されて一時的に半導体メモリ装置20に記憶された基本演算の最終演算結果を半導体メモリ装置20から取得する。また、異常検出部12は、異常検出用コアから出力されて一時的に半導体メモリ装置20に記憶された異常検出用演算の最終演算結果を半導体メモリ装置20から取得してもよい。
【0052】
ステップS130において、異常検出部12は、許容条件として、基本演算と異常検出用演算との2つの最終演算結果が互いに一致するか否かを判定する。2つの最終演算結果が互いに一致すると判定された場合(ステップS130:Yes)、ステップS132において、異常検出部12は、演算用コアと異常検出用コアとに異常がないと判定する。ステップS132の終了後、異常検出処理は終了する。
【0053】
他方、2つの最終演算結果が互いに一致しないと判定された場合(ステップS130:No)、ステップS134において、異常検出部12は、演算用コアと異常検出用コアとの少なくとも一部に異常があると判定する。ステップS134の終了後、異常検出処理は終了する。
【0054】
以上説明した第2実施形態の演算システム100によれば、基本演算の演算結果と、当該演算結果の後に出力された異常検出用演算の演算結果とを利用して異常の有無を検出するので、基本演算の演算負荷が大きくプロセッサコアにおいて基本演算の演算結果と異常検出用演算の演算結果とを並列して出力できない場合であっても、異常の有無を検出できる。
【0055】
C.第3実施形態:
第3実施形態の演算システム100は、異常検出処理において
図7に示す処理に代えて、
図9に示す処理を実行する点において、第2実施形態の演算システム100と異なっている。第3実施形態の演算システム100のシステム構成および異常検出処理におけるその他の手順は、第2実施形態の演算システム100と同じであるので、同一の構成および同一の手順には同一の符号を付し、その詳細な説明を省略する。
【0056】
ステップS122Aにおいて、演算割当部11は、基本演算に加えて、異常検出用演算として軽量化演算を2つ並列実行するように、プロセッサコアに演算処理を割り当てる。「軽量化演算」は、基本演算よりも演算負荷が抑制されるように予め学習されたニューラルネットワークモデルを利用する演算処理を意味する。演算負荷の抑制の手法としては、例えば、PruningやSparsityのように、演算結果への寄与度が低い一部の係数の値を0に置き換えることにより演算負荷を抑制する既知の軽量化技術を適用することが可能である。
【0057】
ステップS122Aにおける演算処理の割り当てについて、
図10に示す例を参照してより具体的に説明する。
図10に示す例では、基本演算の最小コア数は6として設定されている。かかる場合、演算割当部11は、プロセッサコアPC1~PC6に対して基本演算を割り当てる。また、
図10に示す例では、演算割当部11は、異常検出用演算として、演算負荷が基本演算の演算負荷の1/6となるように抑制された第1の軽量化演算をプロセッサコアPC7に対して割り当て、第1の軽量化演算と同じ演算処理である第2の軽量化演算をプロセッサコアPC8に対して割り当てる。
図10に示す例では、プロセッサコアPC1~PC6が演算用コアに相当し、プロセッサコアPC7およびプロセッサコアPC8が異常検出用コアに相当する。
【0058】
図9に示すステップS124Aにおいて、異常検出部12は、並列して出力される、基本演算と2つの軽量化演算との3つの中間演算結果を取得する。
図10に示す例では、各軽量化演算を実行するプロセッサコアの数は、基本演算を実行するプロセッサコアの数の1/6であるが、軽量化演算の演算負荷も基本演算の演算負荷の1/6に軽量化されている。そのため、互いに対応する画素についての各中間演算結果は、互いに並列して出力される。
【0059】
ステップS126Aにおいて、異常検出部12は、許容条件として、本実施形態では、下記条件(1)~(3)がすべて満たされるかを判定する。また、下記条件(2)(3)における閾値は、例えば、異常がないことが確認されたプロセッサコアにおいて基本演算と軽量化演算とをそれぞれ実行した場合の各中間演算結果同士の差異のように、予め実験等に特定された値を用いることができる。
(1)第1の軽量化演算と第2の軽量化演算との各中間演算結果が互いに一致すること
(2)基本演算と第1の軽量化演算との各中間演算結果同士の差異が予め定められた閾値未満であること
(3)基本演算と第2の軽量化演算との各中間演算結果同士の差異が予め定められた閾値未満であること
【0060】
上記条件(1)~(3)の少なくともひとつが満たされないと判定された場合(ステップS128A:No)、ステップS134において、異常検出部12は、演算用コアと異常検出用コアとの少なくとも一部に異常があると判定する。ステップS134の終了後、異常検出処理は終了する。
【0061】
他方、上記条件(1)~(3)がすべて満たされると判定された場合(ステップS126A:Yes)、ステップS128Aにおいて、異常検出部12は、並列して出力される、基本演算と2つの軽量化演算との3つの最終演算結果を取得する。上述の中間演算結果の場合と同様の理由により、互いに対応する画素についての各最終演算結果は、互いに並列して出力される。
【0062】
ステップS130Aにおいて、異常検出部12は、許容条件として、本実施形態では、下記条件(4)~(6)がすべて満たされるかを判定する。また、下記条件(5)(6)における閾値は、上記条件(2)(3)における閾値と同様の方法で予め定められてよい。
(4)第1の軽量化演算と第2の軽量化演算との各最終演算結果が互いに一致すること
(5)基本演算と第1の軽量化演算との各最終演算結果同士の差異が予め定められた閾値未満であること
(6)基本演算と第2の軽量化演算との各最終演算結果同士の差異が予め定められた閾値未満であること
【0063】
上記条件(4)~(6)がすべて満たされると判定された場合(ステップS130A:Yes)、ステップS132において、異常検出部12は、演算用コアと異常検出用コアとに異常がないと判定する。ステップS132の終了後、異常検出処理は終了する。
【0064】
他方、上記条件(4)~(6)の少なくともひとつが満たされないと判定された場合(ステップS130A:No)、ステップS134において、異常検出部12は、演算用コアと異常検出用コアとの少なくとも一部に異常があると判定する。ステップS134の終了後、異常検出処理は終了する。
【0065】
以上説明した第3実施形態の演算システム100によれば、異常検出用コアにおいて軽量化演算を実行させ、基本演算の演算結果と軽量化演算の演算結果との差異が予め定められた閾値未満であることを含む許容条件を満たすか否かを判定する。このため、演算用コアと異常検出用コアとにおいて、基本演算の演算負荷が大きく、基本演算と同じ演算処理を異常検出用演算として並列して実行させることができない場合であっても、基本演算と軽量化演算とを並列して実行させることにより、互いに並列して出力された演算結果を用いて異常の有無を検出でき、リアルタイムで異常の有無を検出できる。
【0066】
D.第4実施形態:
第4実施形態の演算システム100は、異常検出処理のステップS130Aにおける許容条件が異なる点において、第3実施形態の演算システム100と異なっている。第4実施形態の演算システム100のシステム構成および異常検出処理におけるその他の手順は、第3実施形態の演算システム100と同じであるので、同一の構成および同一の手順には同一の符号を付し、その詳細な説明を省略する。
【0067】
図9に示すステップS130Aにおいて、異常検出部12は、許容条件として、本実施形態では、下記条件(7)が満たされ、かつ、条件(8)と条件(9)との少なくともいずれか一方が満たされるかを判定する。
(7)第1の軽量化演算と第2の軽量化演算との各最終演算結果において、画像データに含まれる物体が属する確率が高い上位5クラスが互いに一致すること
(8)基本演算と第1の軽量化演算との各最終演算結果において、画像データに含まれる物体が属する確率が高い上位5クラスのうち互いに一致するクラスが少なくとも1つ存在すること
(9)基本演算と第2の軽量化演算との各最終演算結果において、画像データに含まれる物体が属する確率が高い上位5クラスのうち互いに一致するクラスが少なくとも1つ存在すること
【0068】
上記条件(7)~(9)において、比較対象とする上位クラスの数は5に限定されない。また、上記条件(8)(9)において、互いに一致することが要求されるクラスの数の下限は2以上であってもよい。
【0069】
以上説明した第4実施形態の演算システム100によれば、異常検出部12は、基本演算の演算結果において画像データに含まれる物体が属する確率が高い上位5クラスと、異常検出用演算の演算結果において画像データに含まれる物体が属する確率が高い上位5クラスと、のそれぞれにおいて少なくとも1つのクラスが互いに一致するか否かを含む許容条件を満たすか否かを判定することによっても、異常の有無を検出できる。
【0070】
E.第5実施形態:
第5実施形態の演算システム100は、異常検出処理のステップS122Aにおいて軽量化演算に代えてビット数削減演算を検出用コアに実行させる点において、第4実施形態の演算システム100と異なっている。第5実施形態の演算システム100のシステム構成および異常検出処理におけるその他の手順は、第4実施形態の演算システム100と同じであるので、同一の構成および同一の手順には同一の符号を付し、その詳細な説明を省略する。
【0071】
「ビット数削減演算」は、上述の軽量化演算よりもビット数が少ない重み係数を用いて予め学習されたニューラルネットワークモデルを利用する演算処理を意味する。本実施形態では、軽量化演算では重み係数のビット数が8bitとされているところ、ビット数削減演算では重み係数のビット数は、4bitに設定されている。なお、ビット数削減演算におけるビット数は4bitに限定されず、軽量化演算における重み係数のビット数よりも少ない任意のビット数として設定され得る。
【0072】
異常検出用演算として軽量化演算を実行させる形態では、基本演算において用いられる重み係数と軽量化演算において用いられる重み係数とが互いに異なるため、異常検出用演算として基本演算を実行させる形態と比較して、半導体メモリ装置20において重み係数を記憶するための記憶容量がより多く必要となる。また、基本演算と軽量化演算とで互いに異なる重み係数がそれぞれ半導体メモリ装置20から読み出されることとなるため、基本演算において用いられる重み係数のみが読み出される場合と比較してメモリ帯域が圧迫される。
【0073】
ビット数削減演算では、軽量化演算と比較してビット数が少ない重み係数が用いられるため、半導体メモリ装置20における重み係数を記憶するための記憶容量の増大を抑制できる。また、重み係数を半導体メモリ装置20から読み出す際のメモリ帯域の圧迫を抑制できる。
【0074】
以上説明した第5実施形態の演算システム100によれば、軽量化演算と比較してビット数が少ない重み係数が用いられるため、半導体メモリ装置20における重み係数を記憶するための記憶容量の増大を抑制できる。また、重み係数を半導体メモリ装置20から読み出す際のメモリ帯域の圧迫を抑制できる。
【0075】
F.他の実施形態:
(F1)上記実施形態において、異常検出部12は、中間演算結果を利用する判定と最終演算結果を利用する判定とを両方実行するが、本開示はこれに限定されない。異常検出部12は、中間演算結果を利用する判定と最終演算結果を利用する判定との一方のみを実行してもよい。
【0076】
(F2)上記実施形態において、プロセッサコアPC1~PC8は、単一の画像データを入力されて、当該画像データにおける互いに異なる領域を複数のプロセッサコアにより分担し、互いに並列して演算処理を実行するが、本開示はこれに限定されない。プロセッサコアPC1~PC8は、複数の画像データを入力されて、互いに異なる画像データを複数のプロセッサコアによりそれぞれ分担し、互いに並列して演算処理を実行してもよい。
【0077】
図11を参照してより具体的に説明する。
図11に示すように、プロセッサコアPC1、PC2は第1の画像データを対象とする第1の基本演算を実行し、プロセッサコアPC3、PC4は第2の画像データを対象とする第2の基本演算を実行し、プロセッサコアPC5、PC6は第3の画像データを対象とする第3の基本演算を実行してもよい。また、かかる場合において、プロセッサコアPC7、PC8は、プロセッサコアPC1、PC2と同じく第1の画像データを対象とする第1の基本演算と同じ演算処理を異常検出用演算として実行してもよい。このように各演算処理が実行されることにより、プロセッサコアPC1~PC6において3つの画像データについて各基本演算を並列で実行しつつ、プロセッサコアPC1、PC2、PC7、PC8における異常の有無を検出できる。さらに、上述の演算処理の終了後、プロセッサコアPC1~PC6において新たな3つの画像データについて基本演算を並列で実行する際に、プロセッサコアPC7、PC8は、プロセッサコアPC1、PC2に代えて、プロセッサコアPC3、PC4において対象とされる画像データと同じ画像データを対象とする異常検出用演算を実行してもよい。このように各演算処理が実行されることにより、新たな画像データについて演算処理を実行するごとに、前回とは異なるプロセッサコアにおける異常の発生の有無を順次検出でき、3つの画像データについて各基本演算を並列で実行しつつ、すべてのプロセッサコアについて順番に異常の発生の有無を検出できる。
【0078】
(F3)上記第3実施形態において、演算割当部11は、異常検出処理のステップS122Aにおいて、基本演算に加えて、異常検出用演算として軽量化演算を2つ実行するように、プロセッサコアに演算処理を割り当てるが、本開示はこれに限定されない。演算割当部11は、ステップS122Aにおいて、基本演算に加えて、異常検出用演算として軽量化演算を1つ実行するように、プロセッサコアに演算処理を割り当ててもよい。基本演算の演算負荷が
図10に示す例と同じである場合では、演算割当部11は、プロセッサコアPC7、PC8に対して1つの異常検出用演算を割り当ててよい。かかる場合、軽量化演算の演算負荷は、基本演算の1/3となるように軽量化されていればよい。かかる構成では、軽量化演算の演算負荷をより軽量化する構成と比較して、基本演算と軽量化演算との演算結果の差異が大きくなることを抑制でき、異常検出の精度の低下を抑制できる。
【0079】
(F4)上記第3実施形態において、演算割当部11は、軽量化演算として、演算結果への寄与度が低い一部の係数の値を0に置き換えることにより演算負荷を抑制する既知の軽量化技術を基本演算について適用した演算処理を異常検出用コアに実行させるが、本開示はこれに限定されない。演算割当部11は、軽量化演算として、基本演算において利用されるニューラルネットワークモデルとは異なるニューラルネットワークモデルを利用することにより演算負荷を抑制した演算処理を異常検出用コアに実行させてもよい。例えば、基本演算においてニューラルネットワークモデルとしてResNetが利用されている場合、ResNetと同様に画像認識を実現するニューラルネットワークモデルであるMobileNetが、軽量化演算において利用されてもよい。MobileNetのレイヤ構成は、ResNetのレイヤ構成よりも簡略であるため、軽量化演算においてMobileNetを利用することによっても、ResNetを利用する基本演算よりも演算負荷を抑制できる。
【0080】
本開示に記載の演算システム100およびその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサおよびメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の演算システム100およびその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載の演算システム100およびその手法は、一つ乃至は複数ハードウェアするようにプログラムされたプロセッサおよびメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。
【0081】
本開示は、上述の実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した形態中の技術的特徴に対応する各実施形態中の技術的特徴は、上述の課題の一部または全部を解決するために、あるいは、上述の効果の一部または全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
(形態1)
ニューラルネットワークモデルを利用した演算処理を実行する演算システム(100)であって、
前記演算処理を実行する複数のプロセッサコア(PC1~PC8)と、
前記演算処理の演算負荷に応じて、前記複数のプロセッサのうち前記演算処理を実行させるプロセッサコアである演算用コアを決定し、前記演算用コアに前記演算処理を実行させる演算割当部(11)と、
前記プロセッサコアの異常の有無を検出する異常検出部(12)と、
を備え、
前記演算割当部は、前記演算用コアに実行させる前記演算処理である基本演算と並列して、前記複数のプロセッサコアのうち、前記演算用コアでないプロセッサコアの少なくとも一部に、前記基本演算に基づき得られる演算である異常検出用演算を実行させ、
前記異常検出部は、
前記基本演算の演算結果である第1の演算結果と、前記異常検出用演算の演算結果である第2の演算結果と、の差異が予め定められた許容条件を満たす場合には、前記演算用コアと、前記異常検出用演算を実行させたプロセッサコアである異常検出用コアとに異常がないと判定し、
前記差異が前記許容条件を満たさない場合には、前記演算用コアと前記異常検出用コアとの少なくとも一部に異常があると判定する、
演算システム。
(形態2)
形態1に記載の演算システムであって、
前記異常検出部は、前記第1の演算結果と、前記第1の演算結果と並列して出力された前記第2の演算結果と、を利用して、前記異常の有無を検出する、
演算システム。
(形態3)
形態1に記載の演算システムであって、
前記第1の演算結果を記憶する半導体メモリ装置をさらに備え、
前記異常検出部は、前記半導体メモリ装置から読み出した前記第1の演算結果と、前記第1の演算結果の後に出力された前記第2の演算結果と、を利用して、前記異常の有無を検出する、
演算システム。
(形態4)
形態1から形態3のいずれか一項に記載の演算システムであって、
前記異常検出部は、前記第1の演算結果および前記第2の演算結果として、前記ニューラルネットワークモデルを構成する複数のレイヤのうちの最終レイヤにおける演算結果である最終演算結果と、前記複数のレイヤのうちの中間レイヤにおける演算結果である中間演算結果と、のうちの少なくともいずれか一方を利用して、前記異常の有無を検出する、
演算システム。
(形態5)
形態1から形態4のいずれか一項に記載の演算システムであって、
前記演算割当部は、前記異常検出用演算として、前記基本演算と同じ前記演算処理を前記異常検出用コアに実行させ、
前記許容条件は、前記第1の演算結果と、前記第2の演算結果と、が互いに一致するとの条件を含む、
演算システム。
(形態6)
形態1から形態4のいずれか一項に記載の演算システムであって、
前記演算割当部は、前記異常検出用演算として、前記基本演算よりも演算負荷が抑制されるように予め学習された軽量化演算を前記異常検出用コアに実行させ、
前記許容条件は、前記差異が予め定められた閾値未満であるとの条件を含む、
演算システム。
(形態7)
形態1から形態4のいずれか一項に記載の演算システムであって、
前記ニューラルネットワークモデルは、入力データに基づいて、予め定められた複数のクラスのそれぞれについて、前記入力データが該クラスに属する確率を出力する多クラス分類器として構成されており、
前記演算割当部は、前記異常検出用演算として、前記基本演算よりも演算負荷が抑制されるように予め学習された軽量化演算を前記異常検出用コアに実行させ、
前記許容条件は、前記第1の演算結果において前記確率が高い上位N個のクラスと、前記第2の演算結果において前記確率が高い上位N個のクラスと、のそれぞれにおいて予め定められた数のクラスが互いに一致するとの条件を含む、
演算システム。
(形態8)
形態1から形態7のいずれか一項に記載の演算システムであって、
前記演算割当部は、前記異常検出用演算として、予め定められた軽量化演算よりもビット数が少ない重み係数を用いて予め学習されたビット数削減演算を前記異常検出用コアに実行させる、
演算システム。
【符号の説明】
【0082】
11…演算割当部、12…異常検出部、100…演算システム、PC1~PC8…プロセッサコア