(57)【要約】  本発明は、少なくとも２つの被乗数（ｃ，ｄ）を乗算する計算ユニット及び方法（１０）に関する。被乗数（ｃ，ｄ）は、指数表現で存在しており、即ち、被乗数（ｃ，ｄ）にはそれぞれ指数と底とが割り当てられている。計算ユニットは、被乗数（ｃ，ｄ）の乗算を実行するように構成されており、少なくとも１つのビットシフトユニットと算術ユニットとメモリとを含む。ビットシフトユニットは、２進数を事前に設定可能な桁数だけ、特に左へシフトさせ、算術ユニットは、２つの入力変数の加算と、２つの入力変数の減算とを実行する。本発明はさらに、この方法（１０）を実施するために構成されているコンピュータプログラム及びこのコンピュータプログラムが格納されている機械可読メモリ素子に関する。
2021528756.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２つの被乗数（ｃ，ｄ）の乗算を実行するように構成されている計算ユニットであって、
前記被乗数（ｃ，ｄ）は、それぞれ第１の指数
【数１】
2021528756.tif 000057
と第１の底（Ｂｃ，Ｂｄ）とを有しており、
前記被乗数（ｃ，ｄ）、特に前記第１の底（Ｂｃ，Ｂｄ）は、それぞれ第２の底と第２及び第３の指数（ｚｃ，ｚｄ）とを有しており、
前記計算ユニットは、少なくとも１つのビットシフトユニットと算術ユニットとメモリとを含み、
前記ビットシフトユニットは、２進数を事前に設定可能な桁数だけ、特に左へシフトさせ、前記算術ユニットは、前記第３の指数（ｚｃ，ｚｄ）の減算を実行し、
前記ビットシフトユニットは、前記被乗数（ｃ，ｄ）の前記第１の指数のうちの１つの指数
【数２】
2021528756.tif 000058
の２進数を、減算された前記指数（ｚｄ−ｚｃ）の値の桁数だけシフトさせる第１のシフトを実行し、
前記算術ユニットは、前記第１のシフトの結果を、前記被乗数（ｃ，ｄ）の他の第１の指数
【数３】
2021528756.tif 000059
で加算し、
前記加算の結果は、前記第３の指数（ｚｃ，ｚｄ）のうちの小さい方の指数（ｚｂ）に関連して、整数部（英語：ｉｎｔｅｇｅｒ  ｐａｒｔ）と小数部（英語：ｆｒａｃｔｉｏｎａｌ  ｐａｒｔ）とに分けられ、
前記小数部の２進数が、前記メモリから読み取られ、さらに、
前記ビットシフトユニットは、前記小数部の前記２進数を、前記整数部の値の桁数だけシフトさせる第２のシフトを実行する、
計算ユニット。
【請求項２】
前記ビットシフトユニットは、前記第３の指数（ｚｃ，ｚｄ）の減算の値に関連して、複数の「０」で右側を埋めることによって、前記第１のシフトを実行する、請求項１に記載の計算ユニット。
【請求項３】
前記メモリは、少なくとも２ｎのエントリを有しており、ここで、ｎは、前記第３の指数（ｚｃ，ｚｄ）のうちの小さい方の指数の絶対値に等しく、
前記小数部は、前記メモリから前記小数部の二値を読み取るために、アドレスとして使用される、請求項１又は２に記載の計算ユニット。
【請求項４】
前記計算ユニットはさらに、それぞれ少なくとも２つの被乗数の複数の乗算の結果を累積する累積ユニットを含む、請求項１乃至３のいずれか一項に記載の計算ユニット。
【請求項５】
前記累積ユニットは、加算器ツリーによって実現されている、請求項４に記載の計算ユニット。
【請求項６】
前記第２のシフトの結果を指数表現に変換する換算ユニット（４１１）、特にプライオリティエンコーダを有している、請求項１乃至５のいずれか一項に記載の計算ユニット。
【請求項７】
計算ユニット上で少なくとも２つの被乗数（ｃ，ｄ）を乗算する方法（１０）であって、前記被乗数（ｃ，ｄ）は、それぞれ第１の指数
【数４】
2021528756.tif 000060
と第１の底（Ｂｃ，Ｂｄ）とを有しており、
前記被乗数（ｃ，ｄ）、特に前記第１の底（Ｂｃ，Ｂｄ）は、それぞれ第２の底と第２及び第３の指数（ｚｃ，ｚｄ）とを有している、方法において、
・前記被乗数（ｃ，ｄ）の前記第１の指数
【数５】
2021528756.tif 000061
と前記第３の指数（ｚｃ，ｚｄ）とを提供するステップであって、提供された各前記指数
【数６】
2021528756.tif 000062
は、量子化されている、ステップと、
・前記第３の指数（ｚｃ，ｚｄ）を減算するステップと、
・前記被乗数（ｃ，ｄ）の前記第１の指数のうちの１つの指数
【数７】
2021528756.tif 000063
の２進数を、減算された前記指数（ｚｄ−ｚｃ）の値の桁数だけシフトさせる第１のシフトを実行するステップと、
・前記第１のシフトの結果を、前記被乗数（ｃ，ｄ）の他の第１の指数
【数８】
2021528756.tif 000064
で加算するステップと、
・前記加算の結果を、前記第３の指数（ｚｃ，ｚｄ）のうちの小さい方の指数（ｚｂ）に関連して、整数部（英語：ｉｎｔｅｇｅｒ  ｐａｒｔ）と小数部（英語：ｆｒａｃｔｉｏｎａｌ  ｐａｒｔ）とに分けるステップと、
・前記小数部の２進数を、前記整数部の値の桁数だけシフトさせる第２のシフトを実行するステップと、
を含む、
少なくとも２つの被乗数（ｃ，ｄ）を乗算する方法（１０）。
【請求項８】
前記小数部の前記２進数をメモリ、特にルックアップテーブルから読み取り、
前記小数部を、前記小数部の前記２進数を読み取るために、メモリのアドレスとして使用する、請求項７に記載の方法。
【請求項９】
前記第２のシフトの結果を、指数と事前に設定可能な底とに分解する、請求項７又は８に記載の方法。
【請求項１０】
各前記第２の底は、値２を有しており、各前記第２の指数は、値２を有している、請求項７乃至９のいずれか一項に記載の方法。
【請求項１１】
前記提供された指数を、最大１０ビットを使用して表す、請求項７乃至１０のいずれか一項に記載の方法。
【請求項１２】
機械学習システムの動作方法であって、
前記機械学習システムの複数のパラメータ及び中間変数を指数表現によって被乗数としてメモリに格納し、
格納された前記被乗数の乗算を、請求項６乃至１１のいずれか一項に記載の方法に従って実行する
機械学習システムの動作方法。
【請求項１３】
前記機械学習システムのトレーニングの際に、少なくとも前記中間変数及び前記パラメータの前記指数表現に対する前記底を求める、請求項１２に記載の方法。
【請求項１４】
前記機械学習システムの前記トレーニングの後に、少なくとも、前記機械学習システムの前記中間変数及び前記パラメータの前記指数表現に対する前記底を求める、請求項１２に記載の方法。
【請求項１５】
伝達された量子化誤差に関連して前記底を求め、
前記伝達された量子化誤差は、２つの被乗数と量子化された指数との乗算の結果と、前記２つの被乗数と特に実数の指数との乗算の結果との差を表す、請求項１３又は１４に記載の方法。
【請求項１６】
前記指数表現の求められた前記底に関連して前記指数を求め、求められた前記指数を量子化し、
前記指数の前記量子化の際、１０ビットによる前記指数の量子化の分解能から始めて、量子化誤差を表す変数が事前に設定可能な変数よりも小さい場合に、前記分解能を１ビットずつ段階的に減らす、請求項１３乃至１５のいずれか一項に記載の方法。
【請求項１７】
前記機械学習システムの前記入力変数は、センサによって検出された変数であり、
前記機械学習システムの出力変数に関連して制御変数を求める、請求項１２乃至１６のいずれか一項に記載の方法。
【請求項１８】
コンピュータ上における実行の際に、前記コンピュータに、請求項７乃至１７のいずれか一項に記載の方法を実施させるための命令を含むコンピュータプログラム。
【請求項１９】
請求項１８に記載のコンピュータプログラムが格納されている機械可読メモリ素子。
【請求項２０】
請求項１３乃至１６のいずれか一項に記載の方法のうちの１つの方法によって得られる製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビット単位のシフトによって少なくとも２つの被乗数を乗算するための計算ユニットに関する。本発明はまた、ビット単位のシフトによって少なくとも２つの被乗数を乗算する方法、この方法を実施するために構成されているコンピュータプログラム及びこのコンピュータプログラムが格納されている機械可読メモリ素子に関する。
【背景技術】
【０００２】
従来技術
独国特許出願公開第１０２０１３２２０４３２号明細書は、組み込まれた制御モジュール用のモデル計算ユニットを開示している。この制御モジュールには、データに基づいた関数モデル、特にガウス過程モデルを計算するために、純粋なハードウェアに基づく実装によって、指数機能、加算機能及び乗算機能が少なくとも１つの内部ループ及び外部ループにおいて備えられている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】独国特許出願公開第１０２０１３２２０４３２号明細書
【発明の概要】
【課題を解決するための手段】
【０００４】
発明の開示
第１の態様においては、本発明は、独立請求項１に記載されている計算ユニットに関する。計算ユニットは、少なくとも２つの被乗数の乗算を実行するように構成されている。被乗数は、それぞれ第１の指数と第１の底とを有している。被乗数、特に第１の底は、それぞれ第２の底と第２及び第３の指数とを有している。
【０００５】
計算ユニットは、特に、以下の特徴、即ち、２進数を事前に設定可能な桁数だけ、特に左へシフトさせる少なくとも１つのビットシフトユニットを含む。さらに、計算ユニットは、２つの入力変数の加算及び２つの入力変数の減算を実行する算術ユニットと、メモリとを含む。メモリは、レジスタ又はルックアップテーブルであるものとしてよい。
【０００６】
算術ユニットとビットシフトユニットとは、算術ユニットが最初に、第３の指数の減算を実行するように、互いに接続されている。
【０００７】
計算ユニットの算術ユニットとビットシフトユニットとはさらに、ビットシフトユニットが、被乗数の第１の指数のうちの１つの指数の２進数を、減算された指数の値の桁数だけシフトさせる第１のシフトを実行し、これによって、算術ユニットが、第１のシフトの結果を、被乗数の他の第１の指数で加算するように、互いに接続されている。
【０００８】
この加算の結果は、第３の指数のうちの小さい方の指数の値に関連して、整数部（英語：ｉｎｔｅｇｅｒ  ｐａｒｔ）と小数部（英語：ｆｒａｃｔｉｏｎａｌ  ｐａｒｔ）とに分けられる。
【０００９】
整数部（英語：ｉｎｔｅｇｅｒ  ｐａｒｔ）と小数部（英語：ｆｒａｃｔｉｏｎａｌ  ｐａｒｔ）とへの分割を、加算の結果を、第３の指数のうちの小さい方の指数の値の桁数だけシフトさせることによって行うことができる。なぜなら、このようなシフトにおいては、各比率への分割を決定する、加算の結果の小数点がシフトされるからである。
【００１０】
次に、小数部の２進数がメモリから読み取られる。
【００１１】
小数部の２進数は、有利には、小数部の累乗された２進数であり、特に、底２対して求められた小数部の累乗の２進数である。
【００１２】
次に、ビットシフトユニットは、小数部の２進数を、整数部の値の桁数だけシフトさせる第２のシフトを実行する。
【００１３】
小数部を、メモリから読み取るために、アドレスとして利用することができる。
【００１４】
小数部は、１０進小数点、２進小数点又は小数点に続く数の一部として理解される。従って、整数部は、１０進小数点の前の数の一部である。選択的に、整数部を、１０進小数点の前の数の一部の整数として理解することもできる。
【００１５】
計算ユニットは、被乗数の指数の２進数をシフトさせることによって乗算が実行され、２進数のこのシフトがハードウェアにおいて、特にリソース効率良くかつエネルギー効率良く実行可能であるという利点を有している。さらに、複雑なハードウェア実装された乗算装置（例えば、浮動小数点乗算器又は固定小数点乗算器）を省略することができるので、計算ユニットを、比較的小さいチップ面積上に実装することができる。さらに、２進数をシフトさせるために必要な演算は、複雑な乗算装置と比較して、乗算を実行する際に消費するエネルギーが少ないので、この計算ユニットは、より省エネルギーである。従って、この計算ユニットは、エネルギー、計算時間及びチップ面積等の乗算を実行するために必要なリソースを特に節約する。
【００１６】
さらに、本発明の第１の態様においては、このシフトをそれぞれビット単位で実行することができる。
【００１７】
さらに、本発明の第１の態様においては、ビットシフトユニットが、第３の指数のうちの大きい方の指数に相当する複数の「０」、特にその指数で右側を埋めることよって、第３の指数の減算の値に関連して、第１のシフトを実行するように設定されているものとしてよい。合理的には、これらの複数の「０」はそれぞれ、二値「０」を表す。このような手法は、以下において、ビット調整と称される。
【００１８】
ここでの利点は、第１の指数の分解能が異なる場合（即ち、固定小数点表現が異なる場合）に、それらのバイナリ表現が相互に調整可能であり、これによって、例えば、２進数のその後の加算を直接的に実行することができるということである。
【００１９】
さらに、メモリが少なくとも２ｎのエントリを有するように設定されているものとしてよく、ここで、ｎは、第３の指数のうちの小さい方の指数の絶対値に等しい。有利には、メモリ内に、第３の指数のうちの小さい方の指数が有し得る総ての潜在的な種々の値に対してそれぞれ、累乗された小数部の結果に相当するエントリがそれぞれ格納されている。小数部は、メモリから各２進数を読み取るために、アドレスとして利用可能である。
【００２０】
ここでの利点は、累乗された小数部の２進数がメモリアクセスによって求められ、これによって、極めて計算コストのかかる指数計算をハードウェアにおいて実行する必要がないということである。
【００２１】
さらに、計算ユニットが、それぞれ少なくとも２つの被乗数の複数の乗算の結果を累積する累積ユニットを含むように設定されているものとしてよい。
【００２２】
利点は、これによって、特に機械学習システムの動作時に発生し、その算出のために、加算が続く乗算が実行される、例えば行列ベクトル積又は畳み込みを、特に少ないリソースで実行することができるということである。なぜなら、各乗算の結果を個別に一時記憶し、その後で足し合わせる必要はなく、直接的に累積することができるからである。
【００２３】
乗算の結果を指数表現に変換する換算ユニット、特にプライオリティエンコーダを設けることができる。指数表現においては、数は、第１の指数と第１の底とによって表される。第１の底は、所定の値を有することができる。指数表現において、数が同様に、第２の底と第２及び第３の指数とを有することも可能である。
【００２４】
指数表現への変換は、結果を被乗数として計算ユニットに再び提供することができるようにするために、結果が適当なフォーマットで存在するので、有利である。
【００２５】
第２の態様においては、計算ユニット上で少なくとも２つの被乗数を乗算する方法が提示される。被乗数は、それぞれ第１の指数と第１の底とを有している。被乗数、特に第１の底は、それぞれ第２の底と第２及び第３の指数とを有している。
【００２６】
この方法は、特に、以下のステップを含む。
【００２７】
最初に、被乗数の第１の指数と第３の指数とが提供される。提供された各指数、特に２進数が量子化される。
【００２８】
次に、第３の指数が相互に減算される。その後、被乗数の第１の指数のうちの１つの指数の２進数を、減算された指数の値の桁数だけシフトさせる第１のシフトが実行される。次に、この第１のシフトの結果が、被乗数の他の第１の指数で加算される。この加算の結果は、第３の指数のうちの小さい方の指数の値に関連して、整数部（英語：ｉｎｔｅｇｅｒ  ｐａｒｔ）と小数部（英語：ｆｒａｃｔｉｏｎａｌ  ｐａｒｔ）とに分けられる。
【００２９】
加算の結果を第３の指数のうちの小さい方の指数の値に関連して、桁数だけシフトさせることによっても、このような分割を行うことができる。
【００３０】
次に、小数部の２進数を、整数部の値の桁数だけシフトさせる第２のシフトが実行される。
【００３１】
個々のステップは、有利には、計算ユニットのプロセッサ又は算術ユニット（英語：ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ，ＡＬＵ）によって実行される。有利には、少なくとも第１のシフトは、ビットシフトユニット又はビット調整によって実行され、第２のシフトは、ビットシフトユニットによって実行される。
【００３２】
本発明の第２の態様の利点は、このような方法によって、乗算を、計算ユニット上でリソース節約して実行することができるということである。
【００３３】
さらに、シフトがそれぞれビット単位で実行されることが提案される。
【００３４】
第２の態様においては、小数部の２進数がメモリ、特にレジスタ又はルックアップテーブルから読み取られるように設定されているものとしてよい。この場合には、小数部は、小数部の２進数を読み取るために、メモリのアドレスとして使用可能である。
【００３５】
さらに、第２のシフトの結果が、指数と事前に設定可能な底とに分解され、特に、指数表現に変換されるように設定されているものとしてよい。
【００３６】
これによって、本発明の第２の態様による方法を用いて、結果を、新たな乗算のために容易に再利用することが可能になる。さらなる利点は、指数表現を使用することによって、指数は結果自体よりも強く量子化可能であるので、結果が要求するメモリ容量が少なくなるということである。これによって、この方法を実施する際に必要なメモリ容量も低減させることができる。
【００３７】
第２の底及び第２の指数がそれぞれ値２を有することが有利である。なぜなら、２の累乗により、被乗数の与えられた指数と底とからの容易な再構築が可能になるからである。さらに、２の累乗は、ハードウェアとの親和性が高く、その結果、特に、ビット単位のシフトによって、この方法をハードウェアにおいて特に容易に写し取ることができる。
【００３８】
さらに、提供される指数が、最大１０ビットを使用して表されることが提案される。これによって、メモリが大幅に削減され、必要なメモリ帯域幅も大幅に削減される。
【００３９】
ここでの利点は、メモリ容量を大幅に削減することができることである。なぜなら、通常は少なくとも３２ビットで記憶される被乗数を、乗算の結果の精度を大幅に損なうことなく、指数ごとにそれぞれ１０ビットのみを用いて記憶することが可能だからである。これによって、個々の被乗数を記憶するために必要なメモリコストが大幅に削減される。
【００４０】
本発明のさらなる態様においては、機械学習システムの動作方法が提示される。通常、機械学習システムの動作中に被乗数として使用される、機械学習システムの複数のパラメータ及び中間変数は、それぞれ指数表現によって、特に、他のメモリに格納されている。これらの被乗数の乗算は、本発明の第２の態様の方法の１つに従って実行される。
【００４１】
機械学習システムにおいては、パラメータと中間変数とを互いに乗算することができる。機械学習システムの求められた中間結果が中間変数として理解される。中間結果は、機械学習システムの多数のパラメータに関連して、かつ、入力変数及び／又は以前の求められた中間結果に関連して、求められるものとしてよい。中間結果は、機械学習システムによって頻繁に、中間結果に関連して、機械学習システムが出力変数を求めるまで、さらに処理されるものとしてよい。
【００４２】
機械学習システムにおいて基本的な計算演算は乗算であり、これは機械学習システムの動作時に極めて頻繁に実行されるので、本発明の第２の態様による方法によって、計算ユニットの計算能力効率と計算速度の大幅な向上を達成することができ、それによって、また、機械学習システムの性能は、より高くなる。
【００４３】
乗算の複数の結果が、特に、アキュムレータによって累積されるように設定されているものとしてよい。乗算の他に、機械学習システムの動作時に頻繁に加算が実行されるので、結果の累積によって、加算、ひいては機械学習システムの計算を、特に計算効率良くかつ時間効率良く、計算ユニットで実行することができる。これによって、さらに、機械学習システムの性能を高めることができる。
【００４４】
さらなる態様においては、機械学習システムのトレーニング時に、少なくとも中間変数及びパラメータの指数表現の底が求められるように設定されているものとしてよい。
【００４５】
利点は、トレーニング時に既に被乗数の適当な底が求められていることであり、これによって、機械学習システムは、トレーニングの間、機械学習システムのパラメータを求める際に、指数表現を考慮することができる。
【００４６】
機械学習システムのトレーニングとは、提供されたトレーニングデータに基づいて機械学習システムが事前に設定可能な課題を解決すること、例えば、検出された画像等の入力変数を分類又はセグメント化することを学習することであると理解される。
【００４７】
選択的に、機械学習システムのトレーニング後に、少なくとも、機械学習システムの中間変数及びパラメータの指数表現に対する底が求められるように設定されているものとしてよい。
【００４８】
利点は、第１の底の値を任意に選択することができるため、変換されたパラメータを使用して新たにトレーニングを実行する必要がないということである。少なくとも、機械学習システムのパラメータの第１の底が２よりも小さい値を有しており、それによって、新たにトレーニングを実行する必要がないことは、機械学習システムにとって、特に有利であることが判明している。
【００４９】
さらに、伝達された量子化誤差に関連して底が求められるように設定されているものとしてよい。伝達された量子化誤差は、２つの被乗数と量子化された指数との乗算の結果と、これらの２つの被乗数と有利には実数の指数又は高い分解能で量子化された指数、例えば、３２ビットで量子化された指数との乗算の結果との差を表す。
【００５０】
数が指数表現で存在しており、指数が量子化されている場合、以下においては、量子化された指数表現と称される。伝達された量子化誤差の利点は、必要とされるものが、ラベル及び属性が与えられていない入力トレーニングデータだけであるということである。
【００５１】
選択的に、伝達された量子化誤差が、（非）間接的に後続する乗算の量子化を伴う結果と、量子化を伴わない結果との差を表すものとしてよい。非間接的に後続する乗算の被乗数は、ここで、量子化された指数表現における被乗数の乗算の結果であり、ここでは、少なくとも、指数表現における被乗数のうちの１つの被乗数の第１の底が求められる。
【００５２】
間接的に後続する乗算の被乗数は、ここでは、量子化された指数表現における被乗数の乗算の結果に関連している。ここでは、指数表現における被乗数のうちの１つの被乗数の第１の底が求められる。
【００５３】
特に、（非）間接的に後続する乗算は、同様に、量子化された指数又は実数の指数によって実行される。
【００５４】
機械学習システムがディープニューラルネットワークを含む場合、伝達された量子化誤差は、ディープニューラルネットワークの非間接的／間接的に後続するレイヤの中間変数の差を表すものとしてよい。中間変数は、ここで、少なくとも、その第１の底が求められる被乗数に関連している。
【００５５】
さらに、指数が指数表現の求められた底に関連して求められ、これらの求められた指数が量子化され、特に、２進数に変換されるように設定されているものとしてよい。指数を量子化する際に、又は、指数を２進数に変換する際に、１０ビットによる指数の最初の分解能から始めて、この分解能は、１ビットずつ段階的に低減される。これは、量子化誤差を表す変数が事前に設定可能な変数よりも小さい場合である。最初の分解能が、少なくとも５ビットから３０ビット以上の間において任意に選択可能であるということに留意されたい。既に最初に、不正確な指数を受け取ることなく、最適な分解能を迅速に見出すことができるため、１０ビットで開始することが機械学習システムにとって有利であるということが判明している。
【００５６】
本発明のさらなる態様においては、機械学習システムの入力変数は、センサによって検出された変数であることが提案される。機械学習システムの出力変数に関連して、制御変数を求めることができる。
【００５７】
技術的なシステムのアクチュエータを制御するために、この制御変数を使用することができる。技術的なシステムとは、例えば、少なくとも部分的に自律している機械、少なくとも部分的に自律している車両、ロボット、ツール、作業機械又はドローン等の飛行物体であるものとしてよい。例えば、ロボット若しくは車両の動きを制御することができ、又は、制御変数に関連してアクチュエータを制御することができる。
【００５８】
入力変数を、選択的に、例えば、検出されたセンサデータに関連して求めて、機械学習システムに提供することができる。センサデータは、技術的なシステムのセンサ、例えばカメラによって検出されるものとしてよく、又は、外部から受信されるものとしてよい。
【００５９】
本発明のさらなる態様においては、コンピュータプログラムが提案される。このコンピュータプログラムは、上述した方法のうちの１つの方法を実施するために構成されている。このコンピュータプログラムは、コンピュータ上でこのコンピュータプログラムが実行されるときに、コンピュータに、これらの上述した方法のうちの１つの方法を、その総てのステップを伴って実施させるための命令を含む。さらに、このコンピュータプログラムが記憶されている機械可読メモリモジュールが提案される。
【００６０】
本発明のさらなる態様においては、少なくとも機械学習システムのトレーニングを含む、第２の態様の方法のうちの１つの方法を実施することによって得られる製品が提案される。
【００６１】
上述した態様の実施例は、添付の図面に示されており、以下の明細書においてより詳細に説明されている。
【図面の簡単な説明】
【００６２】
【図１】ビット単位のシフトによって２つの被乗数の乗算を求める方法の概略図である。
【図２】機械学習システムのために被乗数の底を求める方法の概略図である。
【図３】機械学習システムの動作方法の概略図である。
【図４】ビット単位のシフトによって２つの被乗数の乗算を求める計算ユニットの実施形態の概略図である。
【図５】機械学習システムのトレーニングのために使用可能な装置の実施形態の概略図である。
【図６】機械学習システムを含む、部分的に自律している車両の実施形態の概略図である。
【発明を実施するための形態】
【００６３】
図１は、２つの被乗数を乗算する方法（１０）の概略図を示している。この方法は、特に、２進システムにおいて、被乗数ａと他の被乗数ｂとの乗算が、ｂが指数表現によって、ここでは、２の累乗、
【数１】
2021528756.tif 000003
として表現され得る場合に、ビット単位のシフト（英語：Ｂｉｔｓｈｉｆｔ）によって実行可能であるという数学的な特性を使用する。
【００６４】
ここで、被乗数ａの２進数を
【数２】
2021528756.tif 000004
桁だけ左へビット単位でシフトさせることによって乗算を求めることができる。
【数３】
2021528756.tif 000005
【００６５】
演算子＜＜は、２進システムにおいて、被乗数ａを、値
【数４】
2021528756.tif 000006
の桁数だけ左へビットシフトさせることを表す。
【００６６】
被乗数ａを同様に、２の累乗
【数５】
2021528756.tif 000007
によって表現することができる場合、
【数６】
2021528756.tif 000008
が当てはまる。
【００６７】
被乗数ａ及びｂを指数表現に換算することによって、これらの値を記憶するために、元来の被乗数ａ，ｂよりも少ないビットで保存可能な指数
【数７】
2021528756.tif 000009
だけが記憶されれば足りるようになるということに留意されたい。有利には、被乗数ａ，ｂは、３２ビットで保存されるが、これに対して指数
【数８】
2021528756.tif 000010
は、有利には、８ビット以下で保存される。さらに、指数表現のためにどのような底が選択されたかという情報も既知なはずであるということに留意されたい。これは、指数の強力な量子化を選択し得ることを意味しており、これによって、メモリ容量が節約される。さらに、上記の式（１）、（２）うちの１つの式による乗算は、ハードウェア数値表現フォーマット、例えばｆｉｘｅｄ−ｐｏｉｎｔに関連していないということに留意されたい。なぜなら、この乗算は、２進システムで実行されるからである。
【００６８】
条件Ｂ≠２を有する一般的な底Ｂの場合には、任意の数ｃが、指数表現において規定される。
【数９】
2021528756.tif 000011
ここで、
【数１０】
2021528756.tif 000012
は、有利には、量子化されている指数である。
【００６９】
さらに、以下においては、底Ｂは、次のように選択され、式を満たす。
【数１１】
2021528756.tif 000013
ここで、ｚは、整数のセット
【数１２】
2021528756.tif 000014
に由来し、有利には、負の値を有する。
【００７０】
底Ｂの与えられた量子化された指数
【数１３】
2021528756.tif 000015
と、底２の与えられた指数ｚとに対して与えられた
【数１４】
2021528756.tif 000016
における値ｃの再構築は、次のように計算される。
【数１５】
2021528756.tif 000017
【００７１】
ｚ＜０の場合、ビット単位での右へのシフトが行われ、指数において、ｚの小数位を有する２進数が生じる。
【００７２】
式（５）をさらに簡略化することができる。
【数１６】
2021528756.tif 000018
【００７３】
上述したように、小数部は、ｚの桁を含むため、小数部を数
【数１７】
2021528756.tif 000019
から直接的に導き出すことができるということに留意されたい。
【００７４】
有利には、式（６）は、ハードウェアにおいてのみ実行される。ここで、値
【数１８】
2021528756.tif 000020
がルックアップテーブル（ＬＵＴ）に格納されていることが可能である。ＬＵＴには２Ｚのエントリが含まれているため、表現
【数１９】
2021528756.tif 000021
に必要な総ての値が格納されている。
【００７５】
従って、表現
【数２０】
2021528756.tif 000022
の桁の値だけ、ＬＵＴから読み取られた数を左へビット単位でシフトさせることによって、数ｃが効率的に再構築される。ＬＵＴから読み取られた値も、有利には、５ビットから３０ビットの量子化分解能で量子化されているということに留意されたい。
【００７６】
図１による方法（１０）は、ステップ１１によって開始する。ステップ１１においては、被乗数（ｃ，ｄ）が、指数表現において提供される。ここで、この提供には、被乗数（ｃ，ｄ）の指数
【数２１】
2021528756.tif 000023
と、少なくとも、これらの被乗数（ｃ，ｄ）の底（Ｂｃ，Ｂｄ）とが提供されることが含まれる。有利には、これらの底（Ｂｃ，Ｂｄ）は、同様に既に指数表現において提供される。選択的に、提供された底（Ｂｃ，Ｂｄ）が、合理的には値２を有する事前に設定可能な底に関連して指数表現に変換されるものとしてよい。式（４）を参照されたい。
【００７７】
指数表現においては、乗算は、次のように求められる。
【数２２】
2021528756.tif 000024
【００７８】
ここで、
【数２３】
2021528756.tif 000025
かつ
【数２４】
2021528756.tif 000026
とすると、即ち、ｚｃ＜ｚｄの場合には、
【数２５】
2021528756.tif 000027
となる。
【００７９】
このような例においては、ｚｄ−ｚｃ＞０が当てはまるので、指数の加算を、ハードウェアにおいて、ビット調整によって行うことができ、即ち、二値のゼロによって右側を埋めることによって、又は、差ｚｄ−ｚｃに関連したビットシフトによって行うことができる。
【００８０】
ｚｃ＜ｚｄの場合、
【数２６】
2021528756.tif 000028
との乗算は、右へのシフトに相当し、式（８）の括弧内の加算の結果が右へシフトされ、これによって、指数における小数位の数が、
【数２７】
2021528756.tif 000029
によって定義される。
【００８１】
式（８）を次のように簡略化することができる。
【数２８】
2021528756.tif 000030
【００８２】
ステップ１１が終了すると、ステップ１２に進む。ここでは、式（９）の２行目に示されているように、指数の減算（ｚｄ−ｚｃ）が行われる。
【００８３】
次に、ステップ１２において、この減算（ｚｄ−ｚｃ）の結果の値の桁数だけ指数のうちの１つの指数
【数２９】
2021528756.tif 000031
をビット単位でシフトさせる第１のビット単位のシフトが実行される。式（８）に関して述べたように、この第１のビット単位のシフトは、有利には、ビット調整としてハードウェアにおいて実行される。次に、この第１のビット単位のシフトの結果が他の指数
【数３０】
2021528756.tif 000032
に加算される。
【００８４】
後続のステップ１３においては、この加算の結果が、ｚｂの値の桁数だけ（特に右へ）第２のシフトによってシフトされる。ここで、
【数３１】
2021528756.tif 000033
が、結果として存在する。ここで、ｚｄ＜０の場合には、この第２のシフトによって、
【数３２】
2021528756.tif 000034
における
【数３３】
2021528756.tif 000035
の小数位が生じるということに留意されたい。
【００８５】
ステップ１３の後にステップ１４が続く。ここでは、ステップ１３から求められた結果
【数３４】
2021528756.tif 000036
が、式（６）におけるように、小数部と整数部とに分けられる。選択的に、ステップ１３を省略することができ、ステップ１４において、ステップ１２からの加算の結果が、値ｚｂに関連して、小数部と整数部とに直接的に分けられる。
【００８６】
ここで、ｃ・ｄ＝ｐに対する乗算の最終的な結果は、次のようになる。
【数３５】
2021528756.tif 000037
【００８７】
これは、ステップ１４において、小数部の値が、整数部の値の桁数だけシフトされることを意味している。
【００８８】
有利には、表現
【数３６】
2021528756.tif 000038
の値は、ＬＵＴに格納されており、結果ｃ・ｄを求めるために、値がＬＵＴから読み取られる。このようなＬＵＴは、
【数３７】
2021528756.tif 000039
のエントリを含むので、
【数３８】
2021528756.tif 000040
の可能な各値に対して、対応する値
【数３９】
2021528756.tif 000041
が格納されている。ＬＵＴのエントリは、最初に、この方法（１０）の開始時に求められ、格納されるものとしてよい。
【００８９】
この方法が、２つより多くの被乗数（ａ，ｂ，ｃ，．．．）でも実行可能であるということに留意されたい。このために、ＬＵＴには、
【数４０】
2021528756.tif 000042
のエントリが含まれている。２つより多くの被乗数において、この方法を使用する場合には、さらなる被乗数の指数を追加することによって、上述した式を相応に拡張しなければならない。被乗数が複数の指数で記述されることも可能であり、これは、同様に上述した式において考慮可能である。
【００９０】
方法（１０）を、少なくとも１つの負の被乗数を用いて実行することもできるということに留意されたい。被乗数の一方又は両方が負の符号を有する場合、他の実施形態においては、方法（１０）を、被乗数の符号を無視して、ステップ１４まで実行することができる。ステップ１４が終了した後、この実施形態においては、次にステップ１５が実行される。ステップ１５において、ｐ＝ｃ・ｄの乗算の結果の符号は、各被乗数（ｃ，ｄ）の符号に対応して適合させられる。例えば、被乗数が負である場合、乗算の結果は、同様に負になる。両方の被乗数が負である場合、乗算の結果は、正である。
【００９１】
これによって、方法（１０）は、終了する。この方法は、ハードウェアにおいて若しくはソフトウェアにおいて、又は、ソフトウェアとハードウェアとの混合形態において、実装されることが可能である。
【００９２】
図２は、機械学習システムのために被乗数の指数表現の底（Ｂｃ，Ｂｄ）を求める方法（２０）の概略図を示している。このような実施形態においては、機械学習システムは、ディープニューラルネットワークを含む。
【００９３】
方法（２０）は、ステップ２１によって開始する。ここで、トレーニングされた機械学習システムが提供される。即ち、機械学習システムのパラメータ化は、既にトレーニングの際に求められている。機械学習システムは、提供されたトレーニングデータに基づいて、最適化方法、特に最急降下法によってトレーニングされているものとしてよい。選択的に、ステップ２１において機械学習システムがトレーニングされるものとしてよい。
【００９４】
後続のステップ２２においては、指数表現に変換される、機械学習システムのパラメータ、及び、付加的に又は選択的に中間結果が、選択される。これらのパラメータ及び／又は中間結果に対して、最適化される式（以下の式（１３）及び（１４）を参照）が作成される。次に、最適化の結果によって、指数表現におけるパラメータ及び／又は中間結果の適当な表現に適した底が得られる。
【００９５】
機械学習システムが、例えば、ニューラルネットワークを含む場合、パラメータ、特に中間結果が、レイヤ単位で指数表現に変換されるものとしてよい。有利には、各レイヤのパラメータ及び／又は中間結果は、それぞれ同一の底によって表される。有利には、底を求める際に、底が２より小さい値を有するという二次的条件が考慮される。
【００９６】
付加的に、機械学習システムのパラメータ及び中間結果の指数が指数表現で量子化されるものとしてよい。
【００９７】
量子化された指数表現
【数４１】
2021528756.tif 000043
における、レイヤ
【数４２】
2021528756.tif 000044
の中間結果
【数４３】
2021528756.tif 000045
に対して
【数４４】
2021528756.tif 000046
が当てはまる。
【００９８】
式（１１）に示されている関係は、機械学習システムのパラメータの表現にも当てはまり、特に、中間結果等の他の値と乗算されるパラメータに対して当てはまる。
【００９９】
底（Ｂｙ，Ｂｗ）は、量子化誤差
【数４５】
2021528756.tif 000047
に関連して求められる。
【０１００】
選択的に、底（Ｂｙ，Ｂｗ）を求めるために、伝達された量子化誤差を使用することができる。伝達された量子化誤差は、量子化を伴う乗算の結果と、量子化を伴わない乗算の結果との間の差を表し、又は、このような結果がさらなる乗算の被乗数として再利用される、さらなる乗算との間の差を表す。
【０１０１】
伝達された量子化誤差ｑｐは、次の式によって得られる。
【数４６】
2021528756.tif 000048
【０１０２】
ここでは、機械学習システム、特にニューラルネットワークのレイヤ
【数４７】
2021528756.tif 000049
の出力変数
【数４８】
2021528756.tif 000050
は、レイヤ
【数４９】
2021528756.tif 000051
の入力変数ｘとして記述されている。付加的に又は選択的に、量子化誤差を求めるために、
【数５０】
2021528756.tif 000052
番目のレイヤも使用することができる。機械学習システムのトレーニングのために使用されるトレーニングデータが、機械学習システムの入力変数として使用されるものとしてよい。
【０１０３】
伝達された量子化誤差に対するＢｙ、Ｂｗの最適な選択は、次のように得られる。
【数５１】
2021528756.tif 000053
【０１０４】
式（１３）、（１４）が確立された後、これらの式は、続いて、各底を求めるために、ステップ２２において解かれる。
【０１０５】
式（１３）及び（１４）は、底の種々の値の組合せのテストによって、選択的に最急降下法によって、最小化され得る。
【０１０６】
ステップ２２の終了後、ステップ２３が実行され得る。ステップ２３において、求められた底は、各パラメータ及び／又は中間結果に割り当てられる。
【０１０７】
後続のステップ２４においては、割り当てられた底に関連して、パラメータ及び／又は中間結果が指数表現に変換され得る。
【０１０８】
有利には、次に、ステップ２５が実行される。ここでは、指数
【数５２】
2021528756.tif 000054
の量子化が最適化される。指数の量子化のビット幅の選択を、繰り返し実行することができる。有利には、指数は、最初は８ビットで量子化され、最大１０ビットで量子化され、選択的に、１０ビット以上でも量子化される。次に、機械学習システムが、例えば、最初の量子化による機械学習システムの予測品質と比較して十分に良好な結果を提供する限り、使用されるビットが１ビットずつ段階的に減少させられる。
【０１０９】
任意選択的に、ステップ２６において、パラメータ及び／又は中間結果が指数表現でメモリに格納される。このために、底と指数とが保存される。選択的に、底が同様に指数表現で格納されるものとしてよい。有利には、これらの底の指数表現において底２が使用される。
【０１１０】
中間結果及びパラメータに対して底を求めるステップが、機械学習システムのトレーニング中にも実行されるものとしてよいということに留意されたい。これは、いわゆるシャドウウェイトによって実行可能である。これに関しては、Ｐ．Ｇｙｓｅｌ等著「Ｈａｒｄｗａｒｅ−ｏｒｉｅｎｔｅｄ  Ａｐｐｒｏｘｉｍａｔｉｏｎ  ｏｆ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ」（２０１６年、ａｒｘｉｖ．ｏｒｇ、［オンライン］ｈｔｔｐｓ：／／ａｒｘｉｖ．ｏｒｇ／ｐｄｆ／１６０４．０３１６８．ｐｄｆ）における第３頁のパラグラフ「ｆｉｎｅ−ｔｕｎｉｎｇ」を参照されたい。
【０１１１】
この方法（２０）は、ステップ２６によって終了する。
【０１１２】
図３は、合理的には計算機、例えばコンピュータ上における機械学習システムの動作方法（３０）の概略図を示している。
【０１１３】
方法（３０）は、ステップ３１によって開始する。このステップにおいては、機械学習システムがトレーニングされる。ステップ３１は、任意選択的に、続けて複数回実行されるものとしてよい。
【０１１４】
機械学習システムがトレーニングされた後、ステップ３２が実行される。ここでは、機械学習システムの複数のパラメータ及び／又は中間結果が指数表現に変換される。このために、最初に、底が、例えば、図２における方法（２０）に従って求められるものとしてよい。次に、求められた底に関連して指数が定められる。
【０１１５】
ステップ３２が終了した後、ステップ３３に進む。ステップ３３において、機械学習システムは、自身のパラメータと提供された入力変数とに関連して、中間結果を求める。少なくとも２つの被乗数の乗算によって求められる中間結果が、図１の方法（１０）に従って求められる。乗算は、例えば、行列乗算又は畳み込み演算によって行われる。付加的に、方法（１０）によって実行された個々の乗算、特に行列乗算又は畳み込み演算の結果が累積されるものとしてよい。
【０１１６】
任意選択的に、指数の減算（ｚｄ−ｚｃ）の結果が、機械学習システムのレイヤごとに格納されているものとしてよい。これは、各結果を迅速に提供することによって減算を求めることができるという有利な効果を有している。
【０１１７】
後続するステップ３４においては、技術的なシステムのアクチュエータの制御変数を、機械学習システムの出力変数に関連して求めることができる。
【０１１８】
図４は、ビット単位のシフトによって乗算を実行するように構成されている計算ユニットの概略図を示している。
【０１１９】
第１及び第２のデータ線路（４０１，４０２）はそれぞれ、計算ユニットのレジスタ（４０３，４０４）に接続されているものとしてよい。レジスタ（４０３，４０４）には、被乗数（ｃ，ｄ）がロードされる。このような実施形態の被乗数は、量子化された指数、有利には、二値の指数である。
【０１２０】
第１の被乗数は、ビット単位で左へシフトさせられるため、これによって、ビット調整は、減算（ｚｄ−ｚｃ）（式（８）及び（９）を参照）に関連して、ハードウェアリソース効率良く実行される。任意選択的に、ビットシフト又はレジスタの幅を、有利には、それぞれ、機械学習システムのレイヤに対して設定することができる。図４によれば、このようなビット単位のシフトは、ゼロでレジスタの右側を埋める（４０５）ことによって実行可能である。合理的には、各ゼロは、それぞれ二値「０」を表す。
【０１２１】
次に、第１の論理ユニット（４０６）において、式（９）からの指数
【数５３】
2021528756.tif 000055
の計算が実行される。第１の論理ユニット（４０６）は、このために、式（９）に従って各指数を加算する少なくとも１つの加算装置（合理的にはＡＬＵ）と、最小の指数（ｚｂ）に関連して加算の結果をシフトさせる少なくとも１つのビットシフトユニットとを含む。指数（ｚｃ，ｚｄ）が、例えば、論理ユニット（４０６）の他のデータ線路によって提供されるものとしてよいということに留意されたい。ここで、第１の論理ユニット（４０６）の結果は、式（９）に従って、
【数５４】
2021528756.tif 000056
に相当する。
【０１２２】
次に、論理ユニット（４０６）の結果が、整数部（４０７）と小数部（４０８）とに分けられる。小数部（４０８）は、有利には、小数位の数を定める最小の指数（ｚｂ）に関連して求められる。
【０１２３】
他の実施例においては、特に、最小の指数（ｚｂ）が負の値を有する場合、第１の論理ユニット（４０６）は加算装置のみを有する。次に加算の結果が、最小の指数（ｚｂ）に関連した小数点の虚構のシフトによって、整数部（４０７）と小数部（４０８）とに分解される。この小数点の虚構のシフトによって、ビットシフトユニットによる加算の結果のシフトを省略することができる。
【０１２４】
次に、小数部（４０８）が、ＬＵＴ（４０９）のアドレスとして使用される。次に、与えられたアドレスに対する、ＬＵＴの格納されている値が、第２の論理ユニット（４１０）に転送される。
【０１２５】
第２の論理ユニット（４１０）は、ＬＵＴの値の他に付加的に、第１の論理ユニット（４０６）の結果の整数部（４０７）を受け取る。第２の論理ユニット（４１０）は、整数部（４０７）の値の桁数だけ、ＬＵＴの値をビット単位でシフトさせる。有利には、このために、論理ユニット（４１０）は、他のビットシフトユニットを含み、又は、選択的に、論理ユニット（４０６）のビットシフトユニットを使用する。
【０１２６】
第２の論理ユニット（４１０）からの結果は、指数表現で出力されないので、変換ユニット（４１１）がこのために、自身の入力変数を量子化された指数表現に変換するように構成されているものとしてよい。変換ユニット（４１１）の出力側は、第３のデータ線路（４１２）に接続されているものとしてよい。第３のデータ線路（４１２）のビット幅を、量子化された指数のビット幅に合わせることができ、これによって、実効帯域幅が増加する。変換ユニット（４１１）は、有利には、プライオリティエンコーダ（英語：Ｐｒｉｏｒｉｔｙ  Ｅｎｃｏｄｅｒ）である。
【０１２７】
任意選択的に、計算ユニットの第２の論理ユニット（４１０）と変換ユニット（４１１）との間に累積ユニットが挿入されているものとしてよい。累積ユニットは、乗算が続けて複数回実行される場合に、乗算の結果を累積ユニットにおいて累積するように構成されている。ここで、累積ユニットのこのような結果を使用して、活性化、特にニューロンの活性化を求めることができる。求められた活性化が、畳み込み演算の結果であってもよいということに留意されたい。即ち、計算ユニットは、累積ユニットによって、行列乗算の他に、例えば、畳み込みニューラルネットワーク（英語：Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ）で生じるような畳み込みも求めることができる。
【０１２８】
他の実施例においては、計算ユニットを使用して、機械学習システムの動作をサポートすることができる。このような計算ユニットは、ここでは、例えば、その上で機械学習システムが動作する計算機に接続されているものとしてよい。この場合には、計算機上における機械学習システムの動作時に実行されるべき乗算を、計算ユニットに外注することができる。
【０１２９】
図５は、機械学習システムをトレーニングする装置（５０）、特に機械学習システムをトレーニングするためのステップ、例えば、方法（３０）のステップ３１を実行する装置（５０）の概略図を示している。装置（５０）は、トレーニングモジュール（５１）と、トレーニングされるモジュール（５２）とを含む。トレーニングされるモジュール（５２）には、機械学習システムが含まれる。機械学習システムをトレーニングする装置（５０）は、機械学習システムの出力変数に関連して、有利には、事前に設定可能なトレーニングデータを用いて、機械学習システムをトレーニングする。合理的には、トレーニングデータは、それぞれラベル付けされている複数の検出された画像を含む。トレーニングの間に、メモリ（５３）に格納されている機械学習システムのパラメータが調整される。
【０１３０】
図６は、少なくとも部分的に自律している車両（６０）の概略図を示している。他の実施例においては、少なくとも部分的に自律している車両（６０）は、整備ロボット、組立ロボット又は据付けの生産ロボットであるものとしてよく、選択的に、ドローン等の自律した飛行物体であるものとしてよい。少なくとも部分的に自律している車両（６０）は、検出ユニット（６１）を含むものとするとよい。検出ユニット（６１）は、例えば、車両（６０）の周辺を検出するカメラであるものとしてよい。検出ユニット（６１）は、機械学習システム（６２）に接続されているものとしてよい。機械学習システム（６２）は、提供された入力変数に関連して、例えば、検出ユニット（６１）によって提供された入力変数に関連して、かつ、機械学習システム（６２）の複数のパラメータに関連して、出力変数を求める。この出力変数は、アクチュエータ制御ユニット（６３）に転送されるものとしてよい。アクチュエータ制御ユニット（６３）は、機械学習システム（６２）の出力変数に関連してアクチュエータを制御し、これは有利には、車両（６０）が衝突のない操縦を実行するようにアクチュエータを制御する。このような実施例においては、アクチュエータは、車両（６０）のエンジン又はブレーキシステムであるものとしてよい。
【０１３１】
さらに、車両（６０）は、計算機（６４）及び機械可読メモリ素子（６５）を含む。命令を含むコンピュータプログラムがメモリ素子（６５）上に記憶されているものとしてよく、この命令は、計算機（６４）上でこの命令が実行されるときに、計算機（６４）に上述した方法（１０，２０，３０）のうちの１つの方法を実施させる。コンピュータプログラムがそれぞれ含み得るダウンロード製品又は人工的に生成された信号が、車両（６０）の受信装置における受信後に、計算機（６４）にこれらの方法のうちの１つの方法を実施させることも可能である。
【０１３２】
選択的な実施例においては、機械学習システム（６２）が、建築物制御に使用可能である。ユーザの行動がセンサ、例えば、カメラ又は人感センサによって検出され、アクチュエータ制御ユニットが、例えば、機械学習システム（６２）の出力変数に関連して暖房のヒートポンプを駆動制御する。ここで、機械学習システム（６２）は、検出されたセンサ変数に関連して、このようなユーザの行動に基づいて、建築物制御のいずれの動作モードが望まれているのかを求めるように構成されているものとしてよい。
【０１３３】
他の実施例においては、アクチュエータ制御ユニット（６３）は、イネーブルシステムを含む。イネーブルシステムは、機械学習システム（６２）の出力変数に関連して、対象物、例えば、検出されたロボット又は検出された人物が、ある領域にアクセスし得るか否かを判断する。有利には、アクチュエータ、例えばドア開放機構が、アクチュエータ制御ユニット（６３）によって駆動制御される。建築物制御の上述した実施例のアクチュエータ制御ユニット（６３）は、付加的に、このようなイネーブルシステムを含み得る。
【０１３４】
選択的な実施例においては、車両（６０）は、ツール又は作業機械又は製造ロボットであるものとしてよい。機械学習システム（６２）によって、ワークピースの材料を分類することができる。ここでは、アクチュエータは、例えば、研削ヘッドを動作させるモータであるものとしてよい。
【０１３５】
他の実施形態においては、機械学習システム（６２）は、図示されていない測定システムにおいて使用される。測定システムは、測定システムがアクチュエータ制御ユニット（６３）を含まないという点において、図１に示された車両（６０）とは異なっている。測定システムは、機械学習システム（６２）の出力変数を、それらをアクチュエータ制御ユニット（６３）に転送する代わりに、例えば、後の再利用のために保存することができ、又は、付加的に若しくは選択的に、例えば、視覚的表現若しくは聴覚的表現によって表すことができる。
【０１３６】
測定システムの発展形態において、検出ユニット（６１）が、人体又は動物の体若しくはその一部の画像を検出することも可能である。例えば、これは、光信号によって、超音波信号によって、又は、ＭＲＴ／ＣＴ法によって、行われるものとしてよい。測定システムは、このような発展形態において、入力変数に関連して、分類、例えば、このような入力変数に基づいてどのような病状が存在し得るのかを出力するようにトレーニングされている機械学習システム（６２）を含むものとするとよい。
【図１】
2021528756.tif 000065
【図２】
2021528756.tif 000066
【図３】
2021528756.tif 000067
【図４】
2021528756.tif 000068
【図５】
2021528756.tif 000069
【図６】
2021528756.tif 000070
【国際調査報告】
2021528756.tif 000071
2021528756.tif 000072
2021528756.tif 000073
2021528756.tif 000074
2021528756.tif 000075
2021528756.tif 000076