(57)【要約】  カーネルを使用してデータにクラス分類演算を実行するカーネルベースの機械学習システムに対する入力を生成する技術は、構造化直交ランダム特徴(SORF)と呼ばれる新しいフレームワークに従ってガウスカーネルに対する不偏推定量を生成することを伴う。カーネルへの不偏推定量KSORFは、行列の対の集まりの積を使用して計算される線形変換行列WSORFを伴い、各対は直交行列と指定された確率分布に従う実数である要素を有するそれぞれの対角行列とを含む。典型的には、直交行列は、ウォルシュアダマール行列であり、指定された確率分布は、ラーデマッヘル分布であり、線形変換行列WSORFを形成するために掛け合わされる行列の対が少なくとも2つ、通常は3つある。
2019533867.tif 000002
【特許請求の範囲】
【請求項１】
カーネルを使用してデータにクラス分類演算を実行するカーネルベースの機械学習システムに対する入力を生成する方法であって、
前記カーネルベースの機械学習システムの処理回路によって、対角行列の集まりを生成するステップであって、対角行列の前記集まりの各々は、ゼロである非対角要素と、指定された確率分布関数に従って分布する値を有する対角要素とを有する、ステップと、
前記処理回路によって、直交行列の集まりを生成するステップであって、直交行列の前記集まりの各々は、相互に直交する行を有する、ステップと、
対角行列の前記集まりの各々について、前記処理回路によって、行列の対の集まりを形成するステップであって、行列の対の前記集まりの各々は、(i)その対角行列と、(ii)直交行列の前記集まりのそれぞれの直交行列とを含む、ステップと、
線形変換行列を生成するために、前記処理回路によって、行列の対の前記集まりの各々の積を生成するステップであって、前記線形変換行列は、前記カーネルベースの機械学習システムによって使用される前記カーネルの不偏推定量である、ステップとを含む方法。
【請求項２】
行列の対の前記集まりの各々の前記積を生成するステップは、対角行列の前記集まりの各々について、前記それぞれの直交行列にその対角行列を右乗算するステップを含む請求項1に記載の方法。
【請求項３】
直交行列の前記集まりを生成するステップは、前記それぞれの直交行列として、前記データの指定された次元に基づくサイズを有するウォルシュアダマール行列を生成するステップを含む請求項1に記載の方法。
【請求項４】
前記ウォルシュアダマール行列を生成するステップは、前記データの前記指定された次元より大きい2の最小の冪乗に等しい次元を有する前記ウォルシュアダマール行列を形成するステップを含み、
前記方法は、前記線形変換行列に、データを表すベクトルを、(i)前記ベクトルにゼロを付加して前記データの前記指定された次元より大きい2の最小の冪乗に等しい長さを有するゼロパディングベクトルを生成し、(ii)前記線形変換行列の各行および前記ゼロパディングベクトルに対して内積計算を実行して中間特徴ベクトルを生成し、(iii)前記中間特徴ベクトルの端から要素を取り除いて前記データの前記指定された次元に等しい長さを有する最終特徴ベクトルを生成することによって乗算するステップをさらに含む請求項3に記載の方法。
【請求項５】
対角行列の前記集まりの各々の前記非対角要素の各々は、1および-1のうちの一方に等しい請求項1に記載の方法。
【請求項６】
対角行列の前記集まりの各々の前記非対角要素は、ラーデマッヘル分布に従って分布する請求項5に記載の方法。
【請求項７】
対角行列の前記集まりは、少なくとも2つの対角行列を有する請求項1に記載の方法。
【請求項８】
非一時的記憶媒体を含むコンピュータプログラム製品であって、カーネルを使用してデータに対してクラス分類演算を実行するカーネルベースの機械学習システムに対する入力を生成するように構成されている音声レンダリングコンピュータの処理回路によって実行されたときに、前記処理回路に、
対角行列の集まりを生成するステップであって、対角行列の前記集まりの各々は、ゼロである非対角要素と、指定された確率分布関数に従って分布する値を有する対角要素とを有する、ステップと、
直交行列の集まりを生成するステップであって、直交行列の前記集まりの各々は、相互に直交する行を有する、ステップと、
対角行列の前記集まりの各々について、行列の対の集まりを形成するステップであって、行列の対の前記集まりの各々は、(i)その対角行列と、(ii)直交行列の前記集まりのそれぞれの直交行列とを含む、ステップと、
線形変換行列を生成するために、行列の対の前記集まりの各々の積を生成するステップであって、前記線形変換行列は、前記カーネルベースの機械学習システムによって使用される前記カーネルの不偏推定量である、ステップとを含む方法を実行させるコードを含むコンピュータプログラム製品。
【請求項９】
行列の対の前記集まりの各々の前記積を生成するステップは、対角行列の前記集まりの各々について、前記それぞれの直交行列にその対角行列を右乗算するステップを含む請求項8に記載のコンピュータプログラム製品。
【請求項１０】
直交行列の前記集まりを生成するステップは、前記それぞれの直交行列として、前記データの指定された次元に基づくサイズを有するウォルシュアダマール行列を生成するステップを含む請求項8に記載のコンピュータプログラム製品。
【請求項１１】
前記ウォルシュアダマール行列を生成するステップは、前記データの前記指定された次元より大きい2の最小の冪乗に等しい次元を有する前記ウォルシュアダマール行列を形成するステップを含み、
前記方法は、前記線形変換行列に、データを表すベクトルを、(i)前記ベクトルにゼロを付加して前記データの前記指定された次元より大きい2の最小の冪乗に等しい長さを有するゼロパディングベクトルを生成し、(ii)前記線形変換行列の各行および前記ゼロパディングベクトルに対して内積計算を実行して中間特徴ベクトルを生成し、(iii)前記中間特徴ベクトルの端から要素を取り除いて前記データの前記指定された次元に等しい長さを有する最終特徴ベクトルを生成することによって乗算するステップをさらに含む請求項10に記載のコンピュータプログラム製品。
【請求項１２】
対角行列の前記集まりの各々の前記非対角要素の各々は、1および-1のうちの一方に等しい請求項8に記載のコンピュータプログラム製品。
【請求項１３】
対角行列の前記集まりの各々の前記非対角要素は、ラーデマッヘル分布に従って分布する請求項12に記載のコンピュータプログラム製品。
【請求項１４】
対角行列の前記集まりは、少なくとも2つの対角行列を有する請求項8に記載のコンピュータプログラム製品。
【請求項１５】
カーネルを使用してデータにクラス分類演算を実行するカーネルベースの機械学習システムに対する入力を生成するように構成されている電子装置であって、
メモリと、
前記メモリに結合されている制御回路であって、
対角行列の集まりを生成することであって、対角行列の前記集まりの各々は、ゼロである非対角要素と、指定された確率分布関数に従って分布する値を有する対角要素とを有する、生成することと、
直交行列の集まりを生成することであって、直交行列の前記集まりの各々は、相互に直交する行を有する、生成することと、
対角行列の前記集まりの各々について、行列の対の集まりを形成することであって、行列の対の前記集まりの各々は、(i)その対角行列と、(ii)直交行列の前記集まりのそれぞれの直交行列とを含む、形成することと、
線形変換行列を生成するために、行列の対の前記集まりの各々の積を生成することであって、前記線形変換行列は、前記カーネルベースの機械学習システムによって使用される前記カーネルの不偏推定量である、生成することと
を行うように構成される制御回路とを備える電子装置。
【請求項１６】
行列の対の前記集まりの各々の前記積を生成するように構成されている前記制御回路は、対角行列の前記集まりの各々について、前記それぞれの直交行列にその対角行列を右乗算するようにさらに構成される請求項15に記載の電子装置。
【請求項１７】
直交行列の前記集まりを生成するように構成されている前記制御回路は、前記それぞれの直交行列として、前記データの指定された次元に基づくサイズを有するウォルシュアダマール行列を生成するようにさらに構成される請求項15に記載の電子装置。
【請求項１８】
前記ウォルシュアダマール行列を生成するように構成されている前記制御回路は、前記データの前記指定された次元より大きい2の最小の冪乗に等しい次元を有する前記ウォルシュアダマール行列を形成するようにさらに構成され、
前記制御回路は、前記線形変換行列に、データを表すベクトルを、(i)前記ベクトルにゼロを付加して前記データの前記指定された次元より大きい2の最小の冪乗に等しい長さを有するゼロパディングベクトルを生成し、(ii)前記線形変換行列の各行および前記ゼロパディングベクトルに対して内積計算を実行して中間特徴ベクトルを生成し、(iii)前記中間特徴ベクトルの端から要素を取り除いて前記データの前記指定された次元に等しい長さを有する最終特徴ベクトルを生成することによって乗算するようにさらに構成される請求項17に記載の電子装置。
【請求項１９】
対角行列の前記集まりの各々の前記非対角要素の各々は、1および-1のうちの一方に等しい請求項15に記載の電子装置。
【請求項２０】
対角行列の前記集まりの各々の前記非対角要素は、ラーデマッヘル分布に従って分布する請求項19に記載の電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、その開示全体が参照により本明細書に組み込まれている、2016年10月26日に出願した米国仮出願第62/413,011号の利益を主張する、2017年10月25日に出願した米国出願第15/793,455号の継続出願であり優先権を主張するものである。
【背景技術】
【０００２】
多くのシステムは、大規模な機械学習を使用して、音声認識、コンピュータビジョン、画像および音声ファイル検索およびカテゴリ化などの困難な問題を達成する。多層ニューラルネットワークのディープラーニングは、有効な大規模アプローチである。カーネル法、たとえば、ガウスおよび多項式カーネルも、より小規模な問題に対して使用されてきているが、カーネル法をスケーリングすることは困難であることが分かっている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
実装形態では、ガウスカーネルに対して、コンパクト、高速、正確であるカーネル近似法を提供する。これらの実装形態は、構造化直交ランダム特徴(Structured Orthogonal Random Features)(SORF)と呼ばれる新しいフレームワークに従ってガウスカーネルに対する不偏推定量を生成する。カーネルへの不偏推定量KSORFは、行列の対の集まりの積を使用して計算される線形変換行列WSORFを伴い、各対は直交行列と指定された確率分布に従う実数である要素を有するそれぞれの対角行列とを含む。典型的には、直交行列は、ウォルシュアダマール行列であり、指定された確率分布は、ラーデマッヘル分布であり、線形変換行列WSORFを形成するために掛け合わされる行列の対が少なくとも2つ、通常は3つある。
【課題を解決するための手段】
【０００４】
一態様により、カーネルを使用してデータにクラス分類演算を実行するカーネルベースの機械学習システムに対する入力を生成する方法は、カーネルベースの機械学習システムの処理回路によって、対角行列の集まりを生成するステップであって、対角行列の集まりの各々は、ゼロである非対角要素と、指定された確率分布関数に従って分布する値を有する対角要素とを有する、ステップを含むことができる。この方法は、処理回路によって、直交行列の集まりを生成するステップであって、直交行列の集まりの各々は、相互に直交する行を有する、ステップも含むことができる。この方法は、対角行列の集まりの各々について、処理回路によって、行列の対の集まりを形成するステップであって、行列の対の集まりの各々は、(i)その対角行列と、(ii)直交行列の集まりのそれぞれの直交行列とを含む、ステップとをさらに含むことができる。この方法は、線形変換行列を生成するために、処理回路によって、行列の対の集まりの各々の積を生成するステップであって、線形変換行列は、カーネルベースの機械学習システムによって使用されるカーネルの不偏推定量である、ステップをさらに含むことができる。
【０００５】
1つまたは複数の実装形態の詳細は、添付図面と以下の説明とで述べられる。他の特徴は、説明と図面、さらには特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【０００６】
【図１】開示されている主題による例示的な電子環境を例示する図である。
【図２】カーネルを使用してデータにクラス分類演算を実行するカーネルベースの機械学習システムに対する入力を生成するための例示的なプロセスを示す流れ図である。
【図３Ａ】開示されている主題の利益を示す、様々な次元のガウスカーネルへの様々な近似の平均平方誤差(MSE)の例示的なプロットを示す図である。
【図３Ｂ】開示されている主題の追加の利益を示す、様々な次元のガウスカーネルへの様々な近似の平均平方誤差(MSE)の追加の例示的なプロットを示す図である。
【図４】開示されている主題の追加の利益を示す、様々な例示的なカーネルへの様々な近似の表である。
【図５】開示されている主題による、クラス分類エンジンにより構造化直交ランダム特徴を使用するための例示的なプロセスのフローチャートである。
【図６】説明されている技術を実装するために使用され得るコンピュータデバイスの一例を示す図である。
【図７】説明されている技術を実装するために使用され得る分散コンピュータデバイスの一例を示す図である。
【発明を実施するための形態】
【０００７】
様々な図面内の類似の参照記号は、類似の要素を示す。
【０００８】
カーネル法は、非線形学習において使用される。カーネルは、2つのd次元データベクトルの間の類似関数を表す。カーネル法は、第1のデータベクトルxおよび第2のデータベクトルyにおけるカーネルk(x,y)を第1のデータベクトルの特徴ベクトル関数φ(x)と第2のデータベクトルの特徴ベクトル関数φ(y)との内積として近似的に表現することを伴う。特徴ベクトル関数は、典型的には2D>dである2D次元ベクトルである。カーネルを近似する乱択化フーリエ特徴(RFF)アプローチにより、カーネルが正定値およびシフト不変であるときに、特徴ベクトル関数は、
【０００９】
【数１】
2019533867.tif 000003
【００１０】
の形で表され、
ベクトルの各々wj, j∈{1,2, ...,D}は独立同分布に従い、カーネルk(x-y)のフーリエ変換、すなわち
【００１１】
【数２】
2019533867.tif 000004
【００１２】
として定義される確率分布関数p(w)からサンプリングされる。
W=[w1,w2,...,wD]Tを定義する。近似カーネルの計算に必要なリソースは、線形変換Wxによって支配される。したがって、ガウスカーネル
【００１３】
【数３】
2019533867.tif 000005
【００１４】
は、線形変換行列
【００１５】
【数４】
2019533867.tif 000006
【００１６】
を使用して近似されるものとしてよく、Gは正規分布からサンプリングされる要素を有するd×d行列である。(D<dのときに、結果の最初のD次元が使用され、D>dのときに、複数の独立に生成されるランダム特徴が使用され、結果は連結される。)線形変換行列WRFFは、ガウスカーネルに対する不偏推定量KRFFをもたらす。
【００１７】
しかし残念なことに、カーネルを近似するRFFアプローチにはいくつかの不利点がある。たとえば、空間と時間における線形変換行列Gの計算コストはO(Dd)であり、これは高次元データの場合に高く付く。さらに、カーネルのこの近似における誤差は、不偏推定量KRFFの分散として表現されたときに、比較的大きなものとなる。
【００１８】
上で説明されているRFFアプローチとは対照的に、改善された技術は、構造化直交ランダム特徴(SORF)と呼ばれる新しいフレームワークに従ってガウスカーネルに対する不偏推定量を生成することを伴う。カーネルへの不偏推定量KSORFは、行列の対の集まりの積を使用して計算される線形変換行列WSORFを伴い、各対は直交行列と指定された確率分布に従う実数である要素を有するそれぞれの対角行列とを含む。典型的には、直交行列は、ウォルシュアダマール行列であり、指定された確率分布は、ラーデマッヘル分布であり、線形変換行列WSORFを形成するために掛け合わされる行列の対が少なくとも2つ、通常は3つある。
【００１９】
有利には、線形変換行列WSORFは、空間ではO(D)であり、時間ではOD(D log D)である計算コストを有する。さらに、KSORFの分散は、KRFFの分散よりも著しく小さい。
【００２０】
図1は、例示的な実装形態による大規模学習システムのブロック図である。システム100は、より正確であり、サポートベクターマシン(SVM)または他のタイプのカーネルベースの機械学習システムの計算効率の高い訓練およびテストを可能にする入力ベクトルの非線形マップを生成するために使用される。ベクトルは、クラス分類システム、クラスタ化システム、回帰システムなどの、様々な機械学習問題への入力として使用されることもあり得る、ガウスカーネルの近似である。たとえば、クラス分類システムはこれらの近似を使用し、線形クラス分類器を使用してデータ項目をクラスに分類することができる。図1におけるシステム100の描写は、サーバベースのクラス分類器システムとして説明されている。しかしながら、他の構成およびアプリケーションも使用され得る。たとえば、システム100は、クラスタ化システム、回帰システム、異常検出システムなどであってもよい。
【００２１】
大規模学習システム100は、多数の異なるデバイスの形態をとる1つまたは複数のコンピューティングデバイス、たとえば、標準的なサーバ、そのようなサーバのグループ、またはカーネルベースの機械学習サーバ120などのラックサーバシステムであってもよい。それに加えて、システム100は、パーソナルコンピュータ、たとえば、ラップトップコンピュータで実装されてもよい。カーネルベースの機械学習サーバ120は、図6に示されているようなコンピュータデバイス600または図7に示されているようなコンピュータデバイス700の一例であってよい。
【００２２】
カーネルベースの機械学習サーバ120は、ネットワークインターフェース122と、1つまたは複数の処理ユニット124と、メモリ126とを備える。ネットワークインターフェース122は、ネットワーク170から受信された電子的および/または光学的信号を、カーネルベースの機械学習サーバ120による使用のため電子的形態に変換するための、たとえば、イーサネット（登録商標）アダプタ、トークンリングアダプタ、および同様のものを備える。一組の処理ユニット124は、1つもしくは複数の処理チップおよび/またはアセンブリを備える。メモリ126は、1つまたは複数のROM、ディスクドライブ、ソリッドステートドライブ、および同様のものなどの、揮発性メモリ(たとえば、RAM)および不揮発性メモリの両方を含む。一組の処理ユニット124およびメモリ126は合わさって、本明細書で説明されているような様々な方法および機能を実行するように構成され配置される、制御回路を形成する。
【００２３】
いくつかの実施形態において、カーネルベースの機械学習サーバ120のコンポーネントのうちの1つまたは複数は、メモリ126に記憶されている命令を処理するように構成されたプロセッサ(たとえば、処理ユニット124)であり得るか、または含むことができる。図1に示されているような命令の例は、直交行列マネージャ130、対角行列マネージャ140、および機械学習マネージャ150を含む。さらに、図1に例示されているように、メモリ126は、そのようなデータを使用するそれぞれのマネージャに関して説明されている、様々なデータを記憶するように構成される。
【００２４】
カーネルベースの機械学習サーバ120は、データ項目から抽出された特徴ベクトルを使用し、たとえば、ガウスカーネルを介して、特徴の近似を生成するランダム化特徴マップを生成し得る。特徴ベクトルは、dの次元を有する浮動小数点数の配列、または言い換えると、d個の位置を有する配列と考えられ得る。データ項目は、たとえばファイルまたは検索項目のデータベースであってよい。たとえば、データ項目は、文書、画像、音声ファイル、動画ファイル、などの任意の種類のファイルであってよく、特徴ベクトルは、ファイルから抽出され得る。データ項目は、データベースレコードであってもよく、特徴は、データベース内の項目に関係するデータから抽出され得る。
【００２５】
直交行列マネージャ130は、直交行列データ132を生成するように構成される。直交行列データ132は、直交基底を形成する行を有する1つまたは複数の行列を定義する数を含む。直交行列マネージャ132によって生成される直交行列のサイズは、次元dに基づく。たとえば、いくつかの実装形態において、直交行列マネージャ130は、ウォルシュアダマール行列を生成するように構成される。そのような行列は、以下の規則、
【００２６】
【数５】
2019533867.tif 000007
【００２７】
【数６】
2019533867.tif 000008
【００２８】
に従って生成され、
ただし、
【００２９】
【数７】
2019533867.tif 000009
【００３０】
は、クロネッカー積を表す。したがって、ウォルシュアダマール行列は、2の冪乗の次元を有する正方行列である。受け取ったことに応答して、直交行列マネージャ130は、次いで、dより大きい2の最小の冪乗である次元を有するウォルシュアダマール行列を生成する。
【００３１】
対角行列マネージャ140は、対角行列データ144を生成するように構成される。対角行列データ144は、非対角要素としてゼロを有する行列を定義する数を含む。対角要素の値は、指定された確率分布関数142を介して定義される。対角行列の次元は、直交行列データ132の直交行列の次元と同じである。いくつかの実装形態において、対角要素の値は-1または1のいずれかであり、確率分布142はラーデマッヘル分布(すなわち、コイン投げ分布)である。
【００３２】
カーネルベースの機械学習サーバ120は、直交行列データ132および対角行列データ144から線形変換行列データ146を形成するように構成される。このようにして、対角行列データ132がN個の対角行列D1,D,...,DNを定義する数を含むときに、線形変換行列データ146を定義する線形変換行列WSORFは
【００３３】
【数８】
2019533867.tif 000010
【００３４】
に等しく、
nはdより大きい2の最小の冪乗の指数であり、σはガウスカーネルの幅である。いくつかの実装形態において、Nは少なくとも2であり、典型的な実装形態では、Nは3に等しい。
【００３５】
システム100は、機械学習マネージャ150を使用して、ベクトルデータ152に対して画像検索、音声認識などを実行し得る。システム100は、ベクトルデータ152からベクトルを抽出するために従来の方法を使用するか、または抽出された特徴ベクトルデータ154に対して提供されてよい。いくつかの例として、抽出された特徴ベクトル154は、データ項目または音声波形における画像ファイルからのピクセルであってもよい」。
【００３６】
いくつかの実装形態において、メモリ126は、ランダムアクセスメモリ、ディスクドライブメモリ、フラッシュメモリ、および/または同様のものなどの任意のタイプのメモリであってよい。いくつかの実装形態において、メモリ126は、カーネルベースの機械学習サーバ120のコンポーネントに関連付けられている複数のメモリコンポーネント(たとえば、複数のRAMコンポーネントまたはディスクドライブメモリ)として実装され得る。いくつかの実装形態において、メモリ126は、データベースメモリであってよい。いくつかの実装形態において、メモリ126は、非ローカルメモリであるか、含むことができる。たとえば、メモリ126は、複数のデバイス(図示せず)によって共有されるメモリであり得るか、または含むことができる。いくつかの実装形態において、メモリ126は、ネットワーク内のサーバデバイス(図示せず)に関連付けられ、カーネルベースの機械学習サーバ120のコンポーネントにサービスを提供するように構成され得る。
【００３７】
圧縮コンピュータ120のコンポーネント(たとえば、モジュール、処理ユニット124)は、1つまたは複数のタイプのハードウェア、ソフトウェア、ファームウェア、オペレーティングシステム、ランタイムライブラリ、および/または同様のものを含むことができる1つまたは複数のプラットホーム(たとえば、1つまたは複数の類似のもしくは異なるプラットホーム)に基づき動作するように構成され得る。いくつかの実装形態において、カーネルベースの機械学習サーバ120のコンポーネントは、デバイスのクラスタ(たとえば、サーバファーム)内で動作するように構成され得る。そのような実装形態において、カーネルベースの機械学習サーバ120のコンポーネントの機能および処理は、デバイスのクラスタの複数のデバイスに分散させることができる。
【００３８】
カーネルベースの機械学習サーバ120のコンポーネントは、属性を処理するように構成されている任意のタイプのハードウェアおよび/またはソフトウェアであり得るか、または含むことができる。いくつかの実装形態において、図1のカーネルベースの機械学習サーバ120のコンポーネント内に示されているコンポーネントの1つまたは複数の部分は、ハードウェアベースのモジュール(たとえば、デジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、メモリ)、ファームウェアモジュール、および/またはソフトウェアベースのモジュール(たとえば、コンピュータコードのモジュール、コンピュータで実行できるコンピュータ可読命令のセット)であり得るか、または含むことができる。たとえば、いくつかの実装形態において、カーネルベースの機械学習サーバ120のコンポーネントの1つまたは複数の部分は、少なくとも1つのプロセッサ(図示せず)により実行されるように構成されているソフトウェアモジュールであり得るか、または含むことができる。いくつかの実装形態において、コンポーネントの機能は、図1に示されているものと異なるモジュールおよび/または異なるコンポーネントに含まれ得る。
【００３９】
図示されていないけれども、いくつかの実装形態において、カーネルベースの機械学習サーバ120(またはその一部)のコンポーネントは、たとえば、データセンター(たとえば、クラウドコンピューティング環境)、コンピュータシステム、1つまたは複数のサーバ/ホストデバイス、および/または同様のものの中で動作するように構成され得る。いくつかの実装形態において、カーネルベースの機械学習サーバ120(またはその一部)のコンポーネントは、ネットワーク内で動作するように構成され得る。したがって、カーネルベースの機械学習サーバ120(またはその一部)のコンポーネントは、1つまたは複数のデバイスおよび/または1つまたは複数のサーバデバイスを備えることができる様々なタイプのネットワーク環境内で機能するように構成され得る。たとえば、ネットワークは、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、および/または同様のものであり得るか、または含むことができる。ネットワークは、ワイヤレスネットワークおよび/またはたとえば、ゲートウェイデバイス、ブリッジ、スイッチ、および/または同様のものを使用して実装されるワイヤレスネットワークであり得るか、または含むことができる。ネットワークは、インターネットプロトコル(IP)および/または専用プロトコルなどの様々なプロトコルに基づく1つまたは複数のセグメントを含むことができ、および/または部分を有することができる。ネットワークは、インターネットの少なくとも一部を含むことができる。
【００４０】
いくつかの実施形態において、圧縮コンピュータ120のコンポーネントのうちの1つまたは複数は、メモリに記憶されている命令を処理するように構成されたプロセッサであり得るか、または含むことができる。たとえば、直交行列マネージャ130(および/またはその一部)、対角行列マネージャ140(および/またはその一部)、ならびに機械学習マネージャ150(および/またはその一部)は、1つまたは複数の機能を実装するプロセスに関係する命令を実行するように構成されているプロセッサとメモリとの組合せであり得る。
【００４１】
図2は、カーネルを使用して図1に示されているデータにクラス分類演算を実行するカーネルベースの機械学習システムに対する入力を生成する例示的な方法200を示すフローチャートである。方法200は、カーネルベースの機械学習サーバ120のメモリ126に常駐し、一組の処理ユニット124によって実行される、図1に関連して説明されているソフトウェア構成要素によって実行され得る。
【００４２】
202において、カーネルベースの機械学習サーバ120は、ガウスカーネルを使用してクラス分類されるべきベクトルデータの次元dを受け取る。
【００４３】
204において、カーネルベースの機械学習サーバ120は、dより大きい2の最小の冪乗である、すなわち
【００４４】
【数９】
2019533867.tif 000011
【００４５】
である、次元2nを有するウォルシュアダマール行列Hnを生成する。
【００４６】
206において、カーネルベースの機械学習サーバ120は、対角行列D1,D2,...,DNの集まりを生成し、各対角行列は-1または1のいずれかに等しい対角要素を有し、ラーデマッヘル分布に従ってランダムにサンプリングされる。
【００４７】
208において、カーネルベースの機械学習サーバ120は、行列積HnD1HnD2...HnDNを形成する。
【００４８】
210において、カーネルベースの機械学習サーバ120は、行列積に量
【００４９】
【数１０】
2019533867.tif 000012
【００５０】
を掛けて線形変換行列WSORFを形成する。
【００５１】
図3Aは、ガウスカーネルおよび他の近似の正確な計算に関して、平均平方誤差(MSE)に関する上で説明されている構造化直交ランダム特徴(SORF)近似の結果を示している。結果内にプロットされている他の近似は以下を含む。
【００５２】
上で説明されている乱択化フーリエ特徴(RFF)近似:
【００５３】
【数１１】
2019533867.tif 000013
【００５４】
Gは、ガウスカーネルのフーリエ変換である正規分布に従ってサンプリングされた要素を有する行列である。
【００５５】
直交ランダム特徴(ORF)近似。これは
【００５６】
【数１２】
2019533867.tif 000014
【００５７】
の形式の近似であり、
Qはグラム・シュミットの正規直交化法によってランダムサンプリングされたガウス行列Gから導出された直交行列であり、Sは、カイ分布に従ってランダムに生成される要素を有する対角行列である。
【００５８】
準モンテカルロ(QMC)近似。これはサンプルが決定論的低変位ランクシーケンス(deterministic, low-displacement rank sequence)に従って選択されることを除きORFに類似している。
【００５９】
ファストフードは、
【００６０】
【数１３】
2019533867.tif 000015
【００６１】
の形式のカーネルへの構造化行列近似であり、
Hはアダマール行列であり、Gは正規分布に従って分布する値を有するランダムガウス行列であり、Πは置換行列であり、Bはランダム2値行列であり、Sは線形変換行列の行が規定されている挙動に従うノルムを有することを確実にするスケーリング行列である。
【００６２】
循環は、コンパクト非線形マップに基づくカーネルへの近似である。
【００６３】
プロット302、304、306、308、310、および312において、次元dはプロットとプロットとの間で2倍に増える。各プロットは、D>dについてMSE対特徴ベクトル長さDの挙動を示している。SORF近似は、上で説明されている近似のうちの他のものよりも著しく小さいMSEを有し、他の近似に関するSORFに対するMSEにおける減少は増大するdとともにより明らかになることに留意されたい。
【００６４】
図3Bは、様々な近似に対するMSEの追加のプロットを示している。プロット314および316において、SORF、ORF、およびRFFに対するMSEは、d=1024において2つの異なるガウス幅について比較される。これらの場合において、SORFおよびORFは、RFFに関する幅のより大きい値に対してより良好なMSE値を有する。プロット318では、ウォルシュアダマール行列と対角行列との積の少なくとも2つの対が望ましいMSE値に必要であることは明らかである。
【００６５】
図4は、変化するdおよびDに対するSORF、ORF、およびRFFカーネル近似に基づく線形SVMクラス分類器によるクラス分類精度の表を示している。この表から、SORF近似が競合的であるか、またはRFFよりよいが、時間および空間/メモリのリソース要求条件は大幅に下がる。ここでもまた、線形変換行列WSORFは、空間ではO(D)であり、時間ではO(D log D)である計算コストを有することが推論され得る。
【００６６】
図5は、開示されている主題による、クラス分類エンジンにより球面ランダム特徴を使用するための例示的なプロセス500のフローチャートである。プロセス500は、図1のシステム100などの、大規模学習システムによって実行され得る。プロセス500は、図1のカーネルベースの機械学習サーバ120を使用して、入力ベクトルを、入力ベクトルの非線形近似である、第2のベクトルに変換する一例である。プロセス400は、大規模学習システムが入力データ項目を受け取ること(502)から始まるものとしてよい。入力データ項目は、特徴ベクトルの抽出元となる任意の項目であってよい。例は、画像、文書、動画ファイル、音声ファイル、メタデータを含む実体、ユーザプロファイルなどを含む。システムは、従来の技術を使用して入力データ項目から特徴を抽出し得る(504)。システムは、特徴ベクトルを単位l2ノルムに正規化する(506)ものとしてよい。システムは、ガウスランダム化特徴マップ(たとえば、図2のプロセス200の一部として生成される)を使用して、入力データ項目に対する近似された特徴ベクトルを生成する(508)ものとしてよい。近似された特徴ベクトルは、入力特徴ベクトルと異なる次元を有する非線形近似であってもよい。
【００６７】
システムは、クラス分類器への入力として近似された特徴ベクトルを提供し得る(510)。クラス分類器は、データ項目の大きなストアへのアクセス権を有し得る。データ項目は、対応する近似された特徴ベクトルをすでに有し得るか、またはデータ項目に対する近似された特徴ベクトルの生成を開始し得る。いくつかの実装形態において、クラス分類器は、入力データ項目に対する近似された特徴ベクトルとデータ項目のストアとの間のドット積を計算するものとしてよい。いくつかの実装形態において、クラス分類器は、このドット積を使用して入力データ項目に対してラベル、クラス分類などを決定し得る。たとえば、クラス分類器は、画像を動物、人、建物などのクラスに分類するものとしてよい。いくつかの実装形態において、クラス分類器は、その入力データ項目に最も類似するデータストア内の項目を決定し得る。したがって、システムは、クラス分類器から入力データ項目に対するクラス分類を取得し得る(512)。次いで、プロセス500は終了する。
【００６８】
図5のプロセスは、構造化直交ランダム特徴を使用する一例である。特徴マップ(たとえば、カーネルベースの機械学習サーバ120からの出力)は、限定はしないが、クラスタ化、回帰、異常分析などを含む、任意の機械学習アプリケーションにおいて使用され得る。したがって、たとえば、交互ステップ512は、入力データ項目に対するクラスタ割り当てを取得すること、入力データ項目に対する回帰分析を取得することなどを含み得る。さらに、球面ランダム特徴は、機械学習クラス分類器の訓練例として、たとえば、プロセス500が実行される前に行われる訓練モードで使用され得る。
【００６９】
図6は、一般的なコンピュータデバイス600の例を示しており、これは本明細書において説明されている技術とともに使用され得る、カーネルベースの機械学習サーバ120、および/または図1のクライアント170であってよい。コンピューティングデバイス600は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、携帯電話、スマートフォン、タブレット、サーバ、およびウェアラブルデバイスを含む、他のコンピューティングデバイスなどの様々な例示的な形態のコンピューティングデバイスを表すことが意図されている。ここに示されているコンポーネント、それらの接続および関係、ならびにそれらの機能は、例示であることのみを意図されており、本明細書において説明され、および/または請求されている発明の実装を制限することを意図されていない。
【００７０】
コンピューティングデバイス600は、プロセッサ602と、メモリ604と、記憶装置デバイス606と、インターフェース608を介して接続されている拡張ポート610とを備える。いくつかの実装形態において、コンピューティングデバイス600は、インターフェース608を介して接続される、コンポーネントは他にもあるがとりわけ、トランシーバー646、通信インターフェース644、およびGPS(全地球測位システム)受信機モジュール648を備え得る。デバイス600は、必要ならば、デジタル信号処理回路を備えることができる、通信インターフェース644を通じてワイヤレス方式で通信し得る。コンポーネント602、604、606、608、610、640、644、646、および648の各々は、共通マザーボード上に取り付けられるか、または適宜他の仕方で取り付けられ得る。
【００７１】
プロセッサ602は、ディスプレイ616などの、外部入力/出力デバイス上にGUIに対するグラフィック情報を表示するためメモリ604内に、または記憶装置デバイス606上に、記憶されている命令を含む、コンピューティングデバイス600内で実行する命令を処理することができる。ディスプレイ616は、モニターまたはフラットタッチスクリーンディスプレイであってよい。いくつかの実装形態において、複数のプロセッサおよび/または複数のバスが、適宜、複数のメモリおよび複数の種類のメモリとともに使用され得る。また、複数のコンピューティングデバイス600が、必要な操作の一部を提供する各のデバイスと接続され得る(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)。
【００７２】
メモリ604は、コンピューティングデバイス600内の情報を記憶する。一実装形態において、メモリ604は、1つまたは複数の揮発性メモリユニットである。別の実装形態では、メモリ604は、1つまたは複数の不揮発性メモリユニットである。メモリ604は、磁気ディスクまたは光ディスクなどのコンピュータ可読媒体の他の形態のものであってもよい。いくつかの実装形態において、メモリ604は、拡張インターフェースを通じて用意される拡張メモリを備え得る。
【００７３】
記憶装置デバイス606は、コンピューティングデバイス600用の大容量記憶装置を構成することができる。一実装形態において、記憶装置デバイス606は、ストレージエリアネットワークまたは他の構成のデバイスを含む、フロッピィディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の類似のソリッドステートメモリデバイス、またはデバイスアレイなどのコンピュータ可読媒体であり得るか、または含むことができる。コンピュータプログラム製品は、そのようなコンピュータ可読媒体で有形に具現化され得る。コンピュータプログラム製品は、実行されたときに、上で説明されているような1つまたは複数の方法を実行する命令も含み得る。コンピュータまたは機械可読媒体は、メモリ604、記憶装置デバイス606、またはプロセッサ602上のメモリなどの記憶装置デバイスである。
【００７４】
インターフェース608は、コンピューティングデバイス600に対して帯域幅集約的オペレーションを管理する高速コントローラ、または低帯域幅集約オペレーションを管理する低速コントローラ、またはそのようなコントローラの組合せであってよい。デバイス600と他のデバイスとの近距離通信を行うことを可能にするために外部インターフェース640が用意されてもよい。いくつかの実装形態において、コントローラ608は、記憶装置デバイス606および拡張ポート614に結合され得る。様々な通信ポート(たとえば、USB、Bluetooth（登録商標）、イーサネット（登録商標）、ワイヤレスイーサネット（登録商標）)を含み得る、拡張ポートは、キーボード、ポインティングデバイス、スキャナ、またはたとえば、ネットワークアダプタを通じて、スイッチまたはルータなどネットワーキングデバイスなどの1つまたは複数の入力/出力デバイスに結合され得る。
【００７５】
コンピューティングデバイス600は、図に示されているように、数多くの異なる形態で実装され得る。たとえば、標準的なサーバ630として、またはそのようなサーバのグループにおいて何倍もの数で実装され得る。これは、また、ラックサーバシステムの一部としても実装され得る。それに加えて、ラップトップコンピュータ622などのパーソナルコンピュータ、またはスマートフォン636で実装されてもよい。システム全体は、互いに通信する複数のコンピューティングデバイス600から構成されてもよい。他の構成も可能である。
【００７６】
図7は、一般的なコンピュータデバイス700の例を示しており、これは本明細書において説明されている技術とともに使用され得る、図1のサーバ110であってよい。コンピューティングデバイス700は、サーバ、ブレードサーバ、データセンター、メインフレーム、および他の大規模コンピューティングデバイスなどの様々な例示的な形態の大規模データ処理デバイスを表すことが意図されている。コンピューティングデバイス700は、1つまたは複数の通信ネットワークによって相互接続される、ネットワーク接続ストレージノードを場合によっては含む、複数のプロセッサを有する分散システムであってもよい。ここに示されているコンポーネント、それらの接続および関係、ならびにそれらの機能は、例示であることのみを意図されており、本明細書において説明され、および/または請求されている発明の実装を制限することを意図されていない。
【００７７】
分散コンピューティングシステム700は、任意の数のコンピューティングデバイス780を備え得る。コンピューティングデバイス780は、ローカルもしくはワイドエリアネットワーク、専用光リンク、モデム、ブリッジ、ルータ、有線もしくはワイヤレスネットワークなどの上で通信するサーバまたはラックサーバ、メインフレームなどを含み得る。
【００７８】
いくつかの実装形態において、各コンピューティングデバイスは複数のラックを備え得る。たとえば、コンピューティングデバイス780aは、複数のラック758a〜758nを備える。各ラックは、プロセッサ752a〜752nおよび762a〜762nなどの、1つまたは複数のプロセッサを備え得る。プロセッサは、データプロセッサ、ネットワーク接続ストレージデバイス、および他のコンピュータ制御デバイスを含み得る。いくつかの実装形態において、1つのプロセッサは、マスタプロセッサとして動作し、スケジューリングおよびデータ分配タスクを制御し得る。プロセッサは1つまたは複数のラックスイッチ758を通じて相互接続されるものとしてよく、1つまたは複数のラックはスイッチ778を通じて接続されるものとしてよい。スイッチ778は、複数の接続されているコンピューティングデバイス700の間の通信を処理し得る。
【００７９】
各ラックは、メモリ754およびメモリ764などのメモリ、ならびに756および766などの記憶装置を備え得る。記憶装置756および766は、大容量記憶装置を実現するものとしてよく、ストレージエリアネットワークまたは他の構成のデバイスを含む、ネットワーク接続ディスク、フロッピィディスク、ハードディスク、光ディスク、テープ、フラッシュメモリもしくは他の類似のソリッドステートメモリデバイス、またはデバイスアレイなどの揮発性または不揮発性記憶装置を含み得る。記憶装置756または766は、複数のプロセッサ、複数のラック、または複数のコンピューティングデバイスの間で共有されてよく、プロセッサのうちの1つまたは複数によって実行可能な命令を記憶するコンピュータ可読媒体を含むものとしてよい。メモリ754および764は、たとえば、1つもしくは複数の揮発性メモリユニット、1つもしくは複数の不揮発性メモリユニット、および/または磁気もしくは光ディスク、フラッシュメモリ、キャッシュ、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、およびこれらの組合せなどの他の形態のコンピュータ可読媒体を含み得る。メモリ754などのメモリは、プロセッサ752a〜752nの間で共有されてもよい。インデックスなどのデータ構造体は、たとえば、記憶装置756とメモリ754とにまたがって記憶され得る。コンピューティングデバイス700は、コントローラ、バス、入出力デバイス、通信モジュールなどの、図示されていない他のコンポーネントを含み得る。
【００８０】
システム100などの、システム全体は、互いに通信する複数のコンピューティングデバイス700から構成されてもよい。たとえば、デバイス780aは、デバイス780b、780c、および780dと通信するものとしてよく、これらはシステム100と総称されてよい。別の例として、図1のシステム100は、1つまたは複数のコンピューティングデバイス700を備え得る。コンピューティングデバイスのうちのいくつかは、互いに地理的に近い場所に配置されてよく、他のデバイスは地理的に離れた場所に配置されてよい。システム700のレイアウトは、一例にすぎず、他のレイアウトまたは構成を取ってもよい。
【００８１】
様々な実装は、記憶装置システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、記憶装置システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスにデータおよび命令を送信するように結合された、専用または汎用のものとしてよい、少なくとも1つのプログラム可能なプロセッサを備えるプログラム可能なシステム上で実行可能であり、および/または解釈可能である1つまたは複数のコンピュータプログラムによる実装を含むことができる。
【００８２】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとも呼ばれる)は、プログラム可能なプロセッサ用の機械語命令を含み、高水準手続き型および/またはオブジェクト指向プログラミング言語で、および/またはアセンブリ/機械語で実装され得る。本明細書で使用されているように、「機械可読媒体」、「コンピュータ可読媒体」という用語は、機械語命令および/またはデータをプログラム可能なプロセッサに供給するために使用される任意の非一時的コンピュータプログラム製品、装置、および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ(リードアクセスメモリを含む)、プログラム可能論理デバイス(PLD))を指す。
【００８３】
本明細書で説明されているシステムおよび技術は、バックエンドコンポーネントを含む(たとえば、データサーバとして)、またはミドルウェアコンポーネントを含む(たとえば、アプリケーションサーバとして)、またはフロントエンドコンポーネントを含む(たとえば、ユーザと本明細書で説明されているシステムおよび技術の実装とのインタラクティブな操作に使用されるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータ)コンピューティングシステム、またはそのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合せで実装され得る。システムのコンポーネントは、デジタルデータ通信の任意の形態または媒体(たとえば、通信ネットワーク)によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、およびインターネットを含む。
【００８４】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、互いに隔てられており、典型的には、通信ネットワークを通じてインタラクティブな操作を行う。クライアントとサーバとの関係は、コンピュータプログラムが各コンピュータ上で実行され、互いとの間にクライアント-サーバ関係を有することによって発生する。
【００８５】
これで多数の実装形態が説明された。それにもかかわらず、本発明の趣旨と範囲とから逸脱することなく、様々な修正を加えられ得る。それに加えて、図に示されている論理の流れは、望ましい結果を達成するために、図示されている特定の順序、または順番を必要としない。それに加えて、他のステップが提示されるか、または説明されているフローから、ステップが取り除かれてもよく、他のコンポーネントが説明されているシステムに追加されるか、または取り除かれてもよい。したがって、他の実装形態は、以下の請求項の範囲内に収まる。
【符号の説明】
【００８６】
100  システム
110  サーバ
120  カーネルベースの機械学習サーバ、圧縮コンピュータ
122  ネットワークインターフェース
124  処理ユニット
126  メモリ
130  直交行列マネージャ
132  直交行列データ
140  対角行列マネージャ
142  確率分布関数
144  対角行列データ
146  線形変換行列データ
150  機械学習マネージャ
152  ベクトルデータ
154  特徴ベクトルデータ
170  ネットワーク、クライアント
200  方法、プロセス
302、304、306、308、310、312、314、316、318  プロット
400  プロセス
500  プロセス
512  交互ステップ
600  コンピュータデバイス、一般的なコンピュータデバイス、コンピューティングデバイス、デバイス
602  プロセッサ、コンポーネント
604  メモリ、コンポーネント
606  記憶装置デバイス、コンポーネント
608  インターフェース、コントローラ、コンポーネント
610  拡張ポート、コンポーネント
614  拡張ポート
616  ディスプレイ
622  ラップトップコンピュータ
630  標準的なサーバ
636  スマートフォン
640  外部インターフェース、コンポーネント
644  通信インターフェース、コンポーネント
646  トランシーバー、コンポーネント
648  GPS(全地球測位システム)受信機モジュール、コンポーネント
700  コンピュータデバイス、一般的なコンピュータデバイス、コンピューティングデバイス、分散コンピューティングシステム、システム
752a〜752n、762a〜762n  プロセッサ
754  メモリ
756、766  記憶装置
758  ラックスイッチ
758a〜758n  ラック
764  メモリ
778  スイッチ
780  コンピューティングデバイス
780a  コンピューティングデバイス、デバイス
780b、780c、780d  デバイス
【図１】
2019533867.tif 000016
【図２】
2019533867.tif 000017
【図３Ａ】
2019533867.tif 000018
【図３Ｂ】
2019533867.tif 000019
【図４】
2019533867.tif 000020
【図５】
2019533867.tif 000021
【図６】
2019533867.tif 000022
【図７】
2019533867.tif 000023
【手続補正書】
【提出日】令和1年6月26日(2019.6.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
カーネルを使用してデータにクラス分類演算を実行するカーネルベースの機械学習システムに対する入力を生成する方法であって、
前記カーネルベースの機械学習システムの処理回路によって、対角行列の集まりを生成するステップであって、対角行列の前記集まりの各々は、ゼロである非対角要素と、指定された確率分布関数に従って分布する値を有する対角要素とを有する、ステップと、
前記処理回路によって、直交行列の集まりを生成するステップであって、直交行列の前記集まりの各々は、相互に直交する行を有する、ステップと、
対角行列の前記集まりの各々について、前記処理回路によって、行列の対の集まりを形成するステップであって、行列の対の前記集まりの各々は、(i)その対角行列と、(ii)直交行列の前記集まりのそれぞれの直交行列とを含む、ステップと、
線形変換行列を生成するために、前記処理回路によって、行列の対の前記集まりの各々の積を生成するステップであって、前記線形変換行列は、前記カーネルベースの機械学習システムによって使用される前記カーネルの不偏推定量である、ステップとを含む方法。
【請求項２】
行列の対の前記集まりの各々の前記積を生成するステップは、対角行列の前記集まりの各々について、前記それぞれの直交行列にその対角行列を右乗算するステップを含む請求項1に記載の方法。
【請求項３】
直交行列の前記集まりを生成するステップは、前記それぞれの直交行列として、前記データの指定された次元に基づくサイズを有するウォルシュアダマール行列を生成するステップを含む請求項1に記載の方法。
【請求項４】
前記ウォルシュアダマール行列を生成するステップは、前記データの前記指定された次元より大きい2の最小の冪乗に等しい次元を有する前記ウォルシュアダマール行列を形成するステップを含み、
前記方法は、前記線形変換行列に、データを表すベクトルを、(i)前記ベクトルにゼロを付加して前記データの前記指定された次元より大きい2の最小の冪乗に等しい長さを有するゼロパディングベクトルを生成し、(ii)前記線形変換行列の各行および前記ゼロパディングベクトルに対して内積計算を実行して中間特徴ベクトルを生成し、(iii)前記中間特徴ベクトルの端から要素を取り除いて前記データの前記指定された次元に等しい長さを有する最終特徴ベクトルを生成することによって乗算するステップをさらに含む請求項3に記載の方法。
【請求項５】
対角行列の前記集まりの各々の前記非対角要素の各々は、1および-1のうちの一方に等しい請求項1に記載の方法。
【請求項６】
対角行列の前記集まりの各々の前記非対角要素は、ラーデマッヘル分布に従って分布する請求項5に記載の方法。
【請求項７】
対角行列の前記集まりは、少なくとも2つの対角行列を有する請求項1に記載の方法。
【請求項８】
非一時的記憶媒体を含むコンピュータプログラムであって、カーネルを使用してデータに対してクラス分類演算を実行するカーネルベースの機械学習システムに対する入力を生成するように構成されている音声レンダリングコンピュータの処理回路によって実行されたときに、前記処理回路に、
対角行列の集まりを生成するステップであって、対角行列の前記集まりの各々は、ゼロである非対角要素と、指定された確率分布関数に従って分布する値を有する対角要素とを有する、ステップと、
直交行列の集まりを生成するステップであって、直交行列の前記集まりの各々は、相互に直交する行を有する、ステップと、
対角行列の前記集まりの各々について、行列の対の集まりを形成するステップであって、行列の対の前記集まりの各々は、(i)その対角行列と、(ii)直交行列の前記集まりのそれぞれの直交行列とを含む、ステップと、
線形変換行列を生成するために、行列の対の前記集まりの各々の積を生成するステップであって、前記線形変換行列は、前記カーネルベースの機械学習システムによって使用される前記カーネルの不偏推定量である、ステップとを含む方法を実行させるコードを含むコンピュータプログラム。
【請求項９】
行列の対の前記集まりの各々の前記積を生成するステップは、対角行列の前記集まりの各々について、前記それぞれの直交行列にその対角行列を右乗算するステップを含む請求項8に記載のコンピュータプログラム。
【請求項１０】
直交行列の前記集まりを生成するステップは、前記それぞれの直交行列として、前記データの指定された次元に基づくサイズを有するウォルシュアダマール行列を生成するステップを含む請求項8に記載のコンピュータプログラム。
【請求項１１】
前記ウォルシュアダマール行列を生成するステップは、前記データの前記指定された次元より大きい2の最小の冪乗に等しい次元を有する前記ウォルシュアダマール行列を形成するステップを含み、
前記方法は、前記線形変換行列に、データを表すベクトルを、(i)前記ベクトルにゼロを付加して前記データの前記指定された次元より大きい2の最小の冪乗に等しい長さを有するゼロパディングベクトルを生成し、(ii)前記線形変換行列の各行および前記ゼロパディングベクトルに対して内積計算を実行して中間特徴ベクトルを生成し、(iii)前記中間特徴ベクトルの端から要素を取り除いて前記データの前記指定された次元に等しい長さを有する最終特徴ベクトルを生成することによって乗算するステップをさらに含む請求項10に記載のコンピュータプログラム。
【請求項１２】
対角行列の前記集まりの各々の前記非対角要素の各々は、1および-1のうちの一方に等しい請求項8に記載のコンピュータプログラム。
【請求項１３】
対角行列の前記集まりの各々の前記非対角要素は、ラーデマッヘル分布に従って分布する請求項12に記載のコンピュータプログラム。
【請求項１４】
対角行列の前記集まりは、少なくとも2つの対角行列を有する請求項8に記載のコンピュータプログラム。
【請求項１５】
カーネルを使用してデータにクラス分類演算を実行するカーネルベースの機械学習システムに対する入力を生成するように構成されている電子装置であって、
メモリと、
前記メモリに結合されている制御回路であって、
対角行列の集まりを生成することであって、対角行列の前記集まりの各々は、ゼロである非対角要素と、指定された確率分布関数に従って分布する値を有する対角要素とを有する、生成することと、
直交行列の集まりを生成することであって、直交行列の前記集まりの各々は、相互に直交する行を有する、生成することと、
対角行列の前記集まりの各々について、行列の対の集まりを形成することであって、行列の対の前記集まりの各々は、(i)その対角行列と、(ii)直交行列の前記集まりのそれぞれの直交行列とを含む、形成することと、
線形変換行列を生成するために、行列の対の前記集まりの各々の積を生成することであって、前記線形変換行列は、前記カーネルベースの機械学習システムによって使用される前記カーネルの不偏推定量である、生成することと
を行うように構成される制御回路とを備える電子装置。
【請求項１６】
行列の対の前記集まりの各々の前記積を生成するように構成されている前記制御回路は、対角行列の前記集まりの各々について、前記それぞれの直交行列にその対角行列を右乗算するようにさらに構成される請求項15に記載の電子装置。
【請求項１７】
直交行列の前記集まりを生成するように構成されている前記制御回路は、前記それぞれの直交行列として、前記データの指定された次元に基づくサイズを有するウォルシュアダマール行列を生成するようにさらに構成される請求項15に記載の電子装置。
【請求項１８】
前記ウォルシュアダマール行列を生成するように構成されている前記制御回路は、前記データの前記指定された次元より大きい2の最小の冪乗に等しい次元を有する前記ウォルシュアダマール行列を形成するようにさらに構成され、
前記制御回路は、前記線形変換行列に、データを表すベクトルを、(i)前記ベクトルにゼロを付加して前記データの前記指定された次元より大きい2の最小の冪乗に等しい長さを有するゼロパディングベクトルを生成し、(ii)前記線形変換行列の各行および前記ゼロパディングベクトルに対して内積計算を実行して中間特徴ベクトルを生成し、(iii)前記中間特徴ベクトルの端から要素を取り除いて前記データの前記指定された次元に等しい長さを有する最終特徴ベクトルを生成することによって乗算するようにさらに構成される請求項17に記載の電子装置。
【請求項１９】
対角行列の前記集まりの各々の前記非対角要素の各々は、1および-1のうちの一方に等しい請求項15に記載の電子装置。
【請求項２０】
対角行列の前記集まりの各々の前記非対角要素は、ラーデマッヘル分布に従って分布する請求項19に記載の電子装置。
【国際調査報告】
2019533867.tif 000024
2019533867.tif 000025