JP6605573B2 - 並列ディシジョン・ツリー・プロセッサー・アーキテクチャ - Google Patents
並列ディシジョン・ツリー・プロセッサー・アーキテクチャ Download PDFInfo
- Publication number
- JP6605573B2 JP6605573B2 JP2017501068A JP2017501068A JP6605573B2 JP 6605573 B2 JP6605573 B2 JP 6605573B2 JP 2017501068 A JP2017501068 A JP 2017501068A JP 2017501068 A JP2017501068 A JP 2017501068A JP 6605573 B2 JP6605573 B2 JP 6605573B2
- Authority
- JP
- Japan
- Prior art keywords
- decision tree
- decision
- feature
- node
- processors
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Multi Processors (AREA)
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
[0019] 本明細書の実施形態は、ディシジョン・ツリー採点(scoring)のハードウェア実施態様を含み、従来のソフトウェアに基づくディシジョン・ツリー採点よりも速いディシジョン・ツリー採点を可能にする。ハードウェアの実施態様は、ディシジョン・ツリー・プログラムを実行する、回路として実装された1つ以上のディシジョン・ツリー・プロセッサーを含む。ディシジョン・ツリー・プログラムとは、ディシジョン・ツリー・プロセッサーによって実行可能なプログラムまたは他のデーターに変換されたディシジョン・ツリーのことである。ディシジョン・ツリー・プログラムは、ディシジョン・ツリー・テーブルを含み、このディシジョン・ツリー・テーブルは、種々のディシジョン・ノード、特徴識別子、閾値、およびディシジョン・ツリーに対する出力値を含む。ディシジョン・ツリー・プロセッサーのある実施形態は、マルチステージおよび/またはマルチスレッドの様式でディシジョン・ツリーを探索する。マルチスレッドの実施形態では、ディシジョン・ツリー・プロセッサーの各ステージが異なるディシジョン・ツリー・スレッドを実行する。つまり、n段マルチスレッドディシジョン・ツリー・プロセッサーは、サイクル当たりn個までのディシジョン・ツリーの部分を同時に実行する。
ディシジョン・ツリー採点システムの例
[0024] 図1は、種々の実施形態による、1つ以上のハードウェア実装型ディシジョン・ツリー・スコアラー102を含むディシジョン・ツリー採点システム例100のブロック図である。ホスト104は、ディシジョン・ツリーを、ディシジョン・ツリー・スコアラー102上における実行のためのモデル・コンテキスト108にコード化するディシジョン・ツリー・コーダー106を含む。以下で更に詳しく説明するが、ディシジョン・ツリー・コーダー106は、可変長ノードを使用するディシジョン・ツリーを表し、サブツリー・ポインターは隣接性(adjacency)およびオフセットによって排除され、リーフ値がノード表現に含まれ、閾値が閾値インデックス値としてコード化される。ディシジョン・ツリー・コーダー106は、ディシジョン・ツリー・スコアラー102にロードされるディシジョン・ツリーを増やすことを可能にするために、ディシジョン・ツリーのサイズを縮小する。加えてまたは代わりに、ディシジョン・ツリー・コーダー106は、他の圧縮技法を使用して、モデル・コンテキスト108のディシジョン・ツリー・データー(またはコード化ディシジョン・ツリー・データー)を圧縮することもできる。これらの実施形態では、ディシジョン・ツリー・スコアラー102または他のオンチップ・ロジックは、ディシジョン・ツリー・スコアラー102上における採点のために、圧縮されたディシジョン・ツリーまたはコード化されたディシジョン・ツリー・データーを伸長するように構成されている。
特徴ベクトル1/モデル・コンテキストA
特徴ベクトル2/モデル・コンテキストB
特徴ベクトル3/モデル・コンテキストA
特徴ベクトル4/モデル・コンテキストB
を含む。
特徴ベクトル3/モデル・コンテキストA
特徴ベクトル2/モデル・コンテキストB
特徴ベクトル4/モデル・コンテキストB
[0028] 検索の分野では、モデル・コンテキストは、実行されるあるタイプの検索に関連付けられた1組のディシジョン・ツリーとなる。異なる複数組のディシジョン・ツリーを利用する検索コンテキストの例には、言語(英語のクエリーでの検索は、ドイツ語クエリーで検索が実行される異なるモデル・コンテキストを使用して、実行することもできる)、画像検索、ニュース検索、ビデオ検索等がある。他の検索コンテキストには、別個のモデル・コンテキストを必要とするものもある。
拡張命令セットを有する汎用プロセッサー
[0037] ある実施形態では、汎用プロセッサーの命令セット・アーキテクチャが、ディシジョン・ツリー横断、採点命令、および状態を含むように拡張される。ある実施形態では、拡張命令セットは、ディシジョン・ツリーにおいて1つのノードを探索する命令を含む。ある実施形態では、拡張命令セットは、複数のノードを探索する命令、またはルート(最上位ノード)からリーフまでディシジョン・ツリー全体を探索する命令を含む。
[0044] この実施形態では、ディシジョン・ツリーは、その最初のNODE命令を実行することによって採点される。NODE命令は、リーフに到達するまで、次の左または右NODE命令等にジャンプする。ルートNODE命令のビット・フィールドは、特徴識別子(10)、閾値(41)、左サブツリー(「left」)、右サブツリー(nil)、左リーフ値(nil)、および右リーフ値(c)をエンコードする。この例では、識別された特徴が閾値t1以下である場合、制御はアドレス「left」における第2NODE命令に移る。この命令のビット・フィールドは、その特徴識別子(20)、閾値(t2)、左および右サブツリー(nil)、ならびに左および右リーフ出力値(それぞれ、aおよびb)をエンコードする。ノード命令がリーフまで進んだ場合、指定されたアドレス(end)に制御を移し、リーフ・インデックスまたは出力値が出力レジスターにおいて得られる。
ディシジョン・ツリー・コード化の例
[0049] 図2は、本開示の種々の実施形態によるディシジョン・ツリー・コード化を示す。ディシジョン・ツリー例200を図2に示す。これは、複数のディシジョン・ノード202および複数のリーフ・ノード204を含む。ディシジョン・ノード202は、種々の特徴を含み、特徴識別子を含む。特徴識別子は、アドレス、インデックス数、参照番号、またはディシジョン・ノード202において比較される特徴を識別する他の識別子であってもよい。また、ディシジョン・ノード202は、特徴値(特徴識別子によって参照される)が比較される閾値も含む。また、ディシジョン・ノード202は、左ブランチ・ポインターおよび右ブランチ・ポインターも含み、次のノードが位置する場所を示す。各ディシジョン・ノード202は比較を表す。例えば、ノード番号7は、特徴「F1」として識別される特徴値が閾値番号10と比較されることを示す。実施形態の範囲から逸脱することなく、他の比較も可能である。
[0062] 所与のディシジョン・ツリー内、またはモデル・コンテキスト108内というような、複数のディシジョン・ツリー内部において、ディシジョン・ノードは特徴識別子および閾値を含む。ディシジョン・ツリー・ノード実行の一例では、特徴値(特徴識別子feat_adによってインデックス化された位置における特徴ベクトルから読み出される)が閾値と比較される。この比較は、特徴値が閾値以下であるか否かの判定であることも可能である。yesの場合、左ブランチが選択され、noの場合、右ブランチが選択される。未満、超過、または以上というような、他のタイプの比較も、実施形態の範囲から逸脱することなく可能である。以下で説明する特徴値および閾値エンコードの種々の例は、ディシジョン・ツリー比較が、特徴値が閾値以下であるか否か判定することを含むと仮定するが、実施形態の範囲から逸脱することなく、他のタイプのディシジョン・ツリー比較に基づいて、特徴値および閾値に対して同様のコード化を実行することができる。
[0068] 更に一般的には、
ここで、compareは、ディシジョン・ツリーの実行中に実行される比較関数を表す(例えば、≦、≧、<、または>の内の1つ)。図3に示す例では、特徴インデックス値fviiは、
ここで、#tsiは、特定のモデル・コンテキスト内における特定の特徴fiに関連付けられた閾値tiの総数である(例えば、特徴fiを参照するノードにおける全ての閾値tvi)。言い換えると、特徴インデックス値fviiは、(1)特徴値fvi以上である閾値tviの内最も小さいものに対応する閾値インデックス値tvii、または全ての閾値tviが特徴値fviよりも小さい場合には、(2)最も大きな閾値インデックス値tviiよりも大きな数のいずれかとなるように選択される。以上で示した例では、対応するfviiが、閾値tviの総数に等しい数となるように選択され、これは最も大きいtviiよりも1大きいが、最も大きなtviiよりも大きい任意の数を選択してもよい。
・lg(#tsi)<4の場合、tviおよびfviを4ビットに記録する。ここでlg(x)は基底2に対するxの対数である。
・または、lg(#tsi)<8の場合、tviおよびfviを8ビットに記録する。
・または、tviおよびfviiが#tsi>255回の閾値比較である場合、そのいずれも(#tsi)/255個の別個のfiとして記録する。
というように選択される。
f1が(#tsi)/255個の別個のfiに記録される場合、ディシジョン・ノードは、ディシジョン・ツリー・コード106によって、(#tsi)/255個の別個のfiの内の1つを示すために記録され、それに応じて、ノードの対応する閾値tviが記録される。具体的な例では、tsi内部に合計1259個のtviがあるf1では、特定のfiに関連付けられたノードが、5つの異なるノードの内1つに記録され、各々別個のfiおよび8ビット閾値を有する。つまり、fvii=0は(0,0,0,0,0)としてコード化される(例えば、元のfiが分解される別個のfiの全てに対して0としてコード化される)。fvii=255は(255,0,0,0,0)としてコード化される(例えば、別個のfiの内最初のものに255、別個のfiの他の全てに0)。fvii=256は(255,1,0,0,0)としてコード化される(例えば、別個のfiの内最初のものに255,2番目の別個のfiに1、そして他の全てに0)。fvii=1258は(255,255,255,255,238)としてコード化される。別個のfiに対する閾値tviも、同様にコード化される。
並列アーキテクチャ
[0071] 図4は、種々の実施形態による特殊集積回路またはプログラマブル集積回路上に実装されたディシジョン・ツリー・スコアラー102のアーキテクチャ400を示す。アーキテクチャ400は、格子状に配列された複数のディシジョン・ツリー・クラスター(DTC)122を含む。DTC122は、モデル・コンテキスト108および特徴ベクトル112をディシジョン・ツリー・スコアラー102から受け取るように構成されている。DTC122は、複数のディシジョン・ツリー・プロセッサー124の部分集合、および特徴ストレージ126の部分集合を含む。ディシジョン・ツリー・プロセッサー124の部分集合には、ディシジョン・ツリー・プロセッサーの他の部分集合と同じまたは異なるディシジョン・ツリー・テーブルがロードされてもよい、および/またはロード可能でもよく、特徴ストレージ126の部分集合には、同じまたは異なる特徴ベクトルがロードされてよく、あるいはロード可能でもよい(例えば、共通の特徴ベクトルがロードされてもよい)。
マルチステージ・ツリー探索パイプライン
[0092] ある実施形態では、ディシジョン・ツリー・プロセッサーはパイプライン状アーキテクチャを含む。図6は、種々の実施形態による、ディシジョン・ツリー・プロセッサーのマルチステージ、マルチスレッド、パイプライン状ツリー探索回路600を示す。回路600は、ディシジョン・ツリー・プロセッサー内部のロジック回路上に実装される。スレッド回路(またはスレッド・ステージ)(図6では「TH」で示す)は、次のスレッドTH_THDをNEXT_THDSテーブル602から受け取る。図6に示す例では、NEXT_THDSテーブル602は32×5ビットであり、つまり32個までの5ビットの次位スレッド番号を格納し、したがって32個までのスレッドを回路600によって処理することができる。NEXT_THDSテーブル602は、スレッドのリンク・リスト(linked list)であり、初期状態では全てのスレッドがNEXT_THDSテーブル602に列挙される。スレッドが完了するに連れて(リーフ値を出力することによって)、スレッドはNEXT_THDSテーブル602から解放される(de-linked)。一旦全てのスレッドがNEXT_THDSテーブル602から解放されると、ディシジョン・ツリー・プロセッサーは完了信号をディシジョン・ツリー・クラスターに出力し、全てのスレッドが終了したことを示す。スレッド回路は、NEXT_THDSテーブル602からの次のスレッド識別子を使用して、ノード・アドレス・テーブル、NODE_ADSテーブル604およびリーフ・テーブル、LEAFSテーブル606から次のスレッドの次位ノード・アドレスのためにリード(read)を発行する。NODE_ADSテーブル604は32×13ビットであり、つまり32個までの13ビット次位ノード・アドレスをスレッド毎に1つずつ格納する。
[00100] 図7は、種々の実施形態にしたがってディシジョン・ツリーを実行するプロセス例700を示すフロー・グラフを表す。702において、ディシジョン・ツリー・プロセッサー、例えば、ディシジョン・ツリー・プロセッサー・パイプラインのスレッド回路またはステージが、プロセッサーによって実行する次のスレッドを決定し、次のスレッドの次位ノード・アドレスを決定するために、ノード・テーブルにリードを発行する。
[00128] 図12は、本明細書において説明した種々の方法を実行するために使用可能な計算システム例1200のブロック図である。計算システム1200は、ホスト104のようにな、ディシジョン・ツリー採点システムの全部または一部を実現することが可能な任意の適した計算デバイスとして構成することができる。非限定的な種々の例によれば、適した計算デバイスは、パーソナル・コンピューター(PC)、ハンドヘルド・デバイス、ウェアラブル・スマート・デバイス、スマートフォン、タブレット・コンピューター、ラップトップ・コンピューター、デスクトップ・コンピューター、ゲーミング・システム、電子メディア・プレーヤ(mp3プレーヤおよび電子書籍リーダーのような)、サーバー、サーバー・ファーム、データーセンター、特殊目的コンピューター、これらの組み合わせ、あるいは本明細書において説明したディシジョン・ツリー採点システムの全部または一部を格納および実行することができる任意の他の計算デバイス(1つまたは複数)を含むことができる。
[00131] 使用する計算デバイスの構成およびタイプに応じて、図12における計算システム1200のメモリー1204は、揮発性メモリー(ランダム・アクセス・メモリー(RAM)のような)および/または不揮発性メモリー(リード・オンリー・メモリー(ROM)、フラッシュ・メモリー等のような)を含むことができる。また、メモリー1204は、追加のリムーバブル・ストレージおよび/または非リムーバブル・ストレージも含むことができ、フラッシュ・メモリー、磁気ストレージ、光ストレージ、および/またはコンピューター読み取り可能命令、データー構造、プログラム・モジュール、および計算システム1200のための他のデーターの不揮発性格納を提供することができるテープ・ストレージを含むが、これらに限定されるのではない。
[00133] 本開示では、構造的特徴および/または方法論的アクトに特定的な文言を使用したが、本発明は、説明した具体的な特徴やアクトに限定されるのではない。逆に、具体的な特徴およびアクトは、本発明を実現する実証的な形態として開示したまでである。
Claims (10)
- プログラマブル集積回路上に格子状に配列された複数のディシジョン・ツリー・クラスターを備えるディシジョン・ツリー採点ハードウェア・システムであって、
前記複数のディシジョン・ツリー・クラスターの各々は、
各々が並列に実行可能な1又は複数のディシジョン・ツリーを有する複数のディシジョン・ツリー・プロセッサーと、
二重バッファ型特徴ストレージであって、第1の組の共通特徴ベクトルを前記二重バッファ型特徴ストレージに書き込むことと、前記複数のディシジョン・ツリー・プロセッサーの各々に対して、前記二重バッファ型特徴ストレージに格納された第2の組の共通特徴ベクトルへのアクセスを提供することとを、同時に行うように構成された二重バッファ型特徴ストレージと、
を備え、
各々が第1の複数の全体ディシジョン・ツリーを有する前記複数のディシジョン・ツリー・クラスターの部分集合は、前記複数のディシジョン・ツリー・クラスターのうちの隣接する少なくとも1つから、第2の複数の全体ディシジョン・ツリーの実行によって生成されたスコア・データーを受け取るように構成され、
前記複数のディシジョン・ツリー・クラスターの前記部分集合の各々は、前記受け取られたスコア・データーを前記ディシジョン・ツリー・クラスター内の前記第1の複数の全体ディシジョン・ツリーから生成されたスコア・データーとともに処理して、総合スコア・データーを生成するように構成される、
ディシジョン・ツリー採点ハードウェア・システム。 - 前記複数のディシジョン・ツリー・プロセッサーのうちの第1のものが、更に、前記第2の組の共通特徴ベクトルに関する前記ディシジョン・ツリーのうちの第1のものを、前記ディシジョン・ツリー・プロセッサーのうちの第2のものによる前記第2の組の共通特徴ベクトルに関する前記ディシジョン・ツリーのうちの第2のものの実行と同時に実行する、請求項1に記載のディシジョン・ツリー採点ハードウェア・システム。
- 前記複数のディシジョン・ツリー・プロセッサーの第2の部分集合と、前記第2の組の共通特徴ベクトルを格納するための特徴ストレージとを備えたディシジョン・ツリー・クラスターを更に備え、前記特徴ストレージは、前記ディシジョン・ツリー・クラスター内の前記複数のディシジョン・ツリー・プロセッサーの前記第2の部分集合によってアクセス可能である、請求項1に記載のディシジョン・ツリー採点ハードウェア・システム。
- 第1のディシジョン・ツリー・クラスター及び第2のディシジョン・ツリー・クラスターを更に備え、
前記第1のディシジョン・ツリー・クラスターは、
前記複数のディシジョン・ツリー・プロセッサーの第1の部分集合と、
前記複数のディシジョン・ツリー・プロセッサーの前記第1の部分集合によってアクセス可能な、前記第2の組の共通特徴ベクトルを格納するための第1の特徴ストレージと、
を備え、
前記第2のディシジョン・ツリー・クラスターは、
前記複数のディシジョン・ツリー・プロセッサーの第2の部分集合と、
前記複数のディシジョン・ツリー・プロセッサーの前記第2の部分集合によってアクセス可能な、前記第2の組の共通特徴ベクトルを格納するための第2の特徴ストレージと、
を備える、請求項1に記載のディシジョン・ツリー採点ハードウェア・システム。 - 前記ディシジョン・ツリー・プロセッサーの少なくとも1つが、前記1又は複数のディシジョン・ツリーの実行の結末に基づいてスコアを出力し、前記ディシジョン・ツリー採点ハードウェア・システムが、更に、前記ディシジョン・ツリー・プロセッサーによって出力されたスコアを収集するためのスコア集計ネットワークを備える、請求項1に記載のディシジョン・ツリー採点ハードウェア・システム。
- ディシジョン・ツリー・プロセッサーの部分集合を備えるディシジョン・ツリー・クラスターの第2の部分集合であって、前記ディシジョン・ツリー・クラスターの第2の部分集合のうちの第1のものが、前記ディシジョン・ツリー・クラスターの第2の部分集合のうちの第2のものから共通の1組の特徴を受け取り、前記共通の1組の特徴を前記ディシジョン・ツリー・クラスターの第2の部分集合のうちの第3のものに伝搬させる、ディシジョン・ツリー・クラスターの第2の部分集合と、
前記共通の1組の特徴を前記複数のディシジョン・ツリー・プロセッサーの各々に供給するように前記複数のディシジョン・ツリー・プロセッサーに結合された特徴ネットワークと、
のうちの一方又は両方を更に備える、請求項1に記載のディシジョン・ツリー採点ハードウェア・システム。 - プログラマブル集積回路上に格子状に配列された複数のディシジョン・ツリー・クラスターの各々において、当該各々が有する二重バッファ型特徴ストレージに第1の共通特徴ベクトルを同時に書き込むステップであって、前記複数のディシジョン・ツリー・クラスターの各々は、オンチップ・ディシジョン・ツリー採点システム内に実装された複数のディシジョン・ツリー・プロセッサーを有する、ステップと、
前記複数のディシジョン・ツリー・プロセッサーの各々において、第2の共通特徴ベクトルを受け取るステップと、
前記複数のディシジョン・ツリー・プロセッサーの各々において、前記第2の共通特徴ベクトルを参照して、1又は複数のディシジョン・ツリーを並列に実行するステップと、
各々が第1の複数の全体ディシジョン・ツリーを有する前記複数のディシジョン・ツリー・クラスターの部分集合によって、前記複数のディシジョン・ツリー・クラスターのうちの隣接する少なくとも1つから、第2の複数の全体ディシジョン・ツリーの実行によって生成されたスコア・データーを受け取るステップと、
前記複数のディシジョン・ツリー・クラスターの前記部分集合の各々によって、前記受け取られたスコア・データーを前記ディシジョン・ツリー・クラスター内の前記第1の複数の全体ディシジョン・ツリーから生成されたスコア・データーとともに処理して、総合スコア・データーを生成するステップと、
を含む方法。 - 前記複数のディシジョン・ツリー・クラスターの少なくとも1つにおいて、前記複数のディシジョン・ツリーを実行したことの結末に基づく前記複数のディシジョン・ツリーの少なくとも1つに対するスコアを、スコア集計ネットワークに出力するステップを更に含む、請求項7に記載の方法。
- 前記ディシジョン・ツリー・プロセッサーの少なくとも1つによって、前記二重バッファ型特徴ストレージに第3の共通特徴ベクトルをロードするステップと、
前記ディシジョン・ツリー・プロセッサーの少なくとも1つによって、前記複数のディシジョン・ツリーの少なくとも1つを実行するステップであって、前記実行するステップは、前記二重バッファ型特徴ストレージから前記第3の共通特徴ベクトルの1又は複数の特徴を読み出すステップを含む、ステップと、
を同時に行うことを更に含む、請求項7に記載の方法。 - 複数のディシジョン・ツリー・クラスターにわたって前記第1の共通特徴ベクトルを伝搬させるステップであって、前記伝搬させるステップは、前記複数のディシジョン・ツリー・クラスターの少なくとも1つによって、第1近隣ディシジョン・ツリー・クラスターから前記第1の共通特徴ベクトルを受け取るステップを含む、ステップと、
前記複数のディシジョン・ツリー・クラスターの少なくとも1つによって、前記第1の共通特徴ベクトルを第2近隣ディシジョン・ツリー・クラスターに受け渡すステップと、
を更に含む、請求項7に記載の方法。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/216,990 US10332008B2 (en) | 2014-03-17 | 2014-03-17 | Parallel decision tree processor architecture |
| US14/216,990 | 2014-03-17 | ||
| PCT/US2015/020050 WO2015142595A1 (en) | 2014-03-17 | 2015-03-12 | Parallel decision tree processor architecture |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2017517082A JP2017517082A (ja) | 2017-06-22 |
| JP2017517082A5 JP2017517082A5 (ja) | 2018-04-19 |
| JP6605573B2 true JP6605573B2 (ja) | 2019-11-13 |
Family
ID=52774572
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017501068A Active JP6605573B2 (ja) | 2014-03-17 | 2015-03-12 | 並列ディシジョン・ツリー・プロセッサー・アーキテクチャ |
Country Status (14)
| Country | Link |
|---|---|
| US (1) | US10332008B2 (ja) |
| EP (1) | EP3120262A1 (ja) |
| JP (1) | JP6605573B2 (ja) |
| KR (1) | KR102376117B1 (ja) |
| CN (1) | CN106133721B (ja) |
| AU (1) | AU2015231828A1 (ja) |
| CA (1) | CA2939959A1 (ja) |
| CL (1) | CL2016002294A1 (ja) |
| IL (1) | IL247166A0 (ja) |
| MX (1) | MX2016011670A (ja) |
| PH (1) | PH12016501639A1 (ja) |
| RU (1) | RU2016136985A (ja) |
| SG (1) | SG11201607431XA (ja) |
| WO (1) | WO2015142595A1 (ja) |
Families Citing this family (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150262062A1 (en) * | 2014-03-17 | 2015-09-17 | Microsoft Corporation | Decision tree threshold coding |
| US20170004455A1 (en) * | 2015-06-30 | 2017-01-05 | Linkedin Corporation | Nonlinear featurization of decision trees for linear regression modeling |
| US10699213B2 (en) * | 2016-03-07 | 2020-06-30 | Micron Technology, Inc. | Space efficient random decision forest models implementation utilizing automata processors |
| CN108319991B (zh) * | 2017-01-16 | 2021-02-09 | 航天信息股份有限公司 | 一种节点工程布线图确定方法及装置 |
| CN106971528A (zh) * | 2017-03-31 | 2017-07-21 | 上海智觅智能科技有限公司 | 一种压缩红外空调遥控码库的算法 |
| EP3422245B1 (en) * | 2017-06-28 | 2022-02-16 | NXP USA, Inc. | Methods, processing engines, and microprocessors for classifying data according to decision trees |
| US11216431B2 (en) * | 2017-09-12 | 2022-01-04 | Apple Inc. | Providing a compact representation of tree structures |
| CN108170769A (zh) * | 2017-12-26 | 2018-06-15 | 上海大学 | 一种基于决策树算法的装配制造质量数据处理方法 |
| JP7069898B2 (ja) * | 2018-03-16 | 2022-05-18 | 株式会社リコー | 学習識別装置および学習識別方法 |
| US11534917B2 (en) * | 2018-03-29 | 2022-12-27 | Intel Corporation | Methods, systems, articles of manufacture and apparatus to improve resource utilization for binary tree structures |
| CN109086815B (zh) * | 2018-07-24 | 2021-08-31 | 中国人民解放军国防科技大学 | 基于fpga的决策树模型中的浮点数离散化方法 |
| US10602207B2 (en) * | 2018-08-03 | 2020-03-24 | Facebook, Inc. | Neural network based content distribution in an online system |
| JP7095479B2 (ja) * | 2018-08-10 | 2022-07-05 | 株式会社リコー | 学習装置および学習方法 |
| CN109376590A (zh) * | 2018-09-07 | 2019-02-22 | 百度在线网络技术(北京)有限公司 | 基于无人车的障碍物分类方法、装置、设备以及存储介质 |
| JP7176359B2 (ja) * | 2018-11-05 | 2022-11-22 | 株式会社リコー | 学習装置および学習方法 |
| JP7196542B2 (ja) * | 2018-11-05 | 2022-12-27 | 株式会社リコー | 学習装置および学習方法 |
| US20200160450A1 (en) * | 2018-11-19 | 2020-05-21 | Jpmorgan Chase Bank, N.A. | Systems and methods for decision tree-based management of market risk stress scenarios |
| US11206287B2 (en) * | 2019-01-29 | 2021-12-21 | Battelle Memorial Institute | Evaluating cyber-risk in synchrophasor systems |
| US10657603B1 (en) * | 2019-04-03 | 2020-05-19 | Progressive Casualty Insurance Company | Intelligent routing control |
| CN111027435B (zh) * | 2019-12-02 | 2022-12-02 | 清华大学 | 一种基于梯度提升决策树的识别系统、装置和方法 |
| US10998047B1 (en) | 2020-01-15 | 2021-05-04 | Hewlett Packard Enterprise Development Lp | Methods and systems for an analog CAM with fuzzy search |
| WO2021255171A1 (en) * | 2020-06-19 | 2021-12-23 | Albert-Ludwigs-Universität Freiburg | Architecture for classification of a decision tree ensemble and method |
| US11615827B2 (en) * | 2020-10-15 | 2023-03-28 | Hewlett Packard Enterprise Development Lp | Hardware accelerator with analog-content addressable memory (a-CAM) for decision tree computation |
| US12443891B2 (en) | 2021-08-25 | 2025-10-14 | International Business Machines Corporation | Vector processing of decision trees to form inferences |
| CN113935633B (zh) * | 2021-10-19 | 2025-06-17 | 京东科技控股股份有限公司 | 特征评估方法和装置、计算机可读存储介质、电子设备 |
| CN117851399A (zh) * | 2022-09-30 | 2024-04-09 | 戴尔产品有限公司 | 数据读取方法、数据更新方法、电子设备和程序产品 |
Family Cites Families (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5020059A (en) | 1989-03-31 | 1991-05-28 | At&T Bell Laboratories | Reconfigurable signal processor |
| EP0443130A3 (en) * | 1990-02-22 | 1992-12-30 | International Business Machines Corporation | Processor allocation method and apparatus for multiprocessor execution of a constraint satisfaction search |
| US5146540A (en) | 1990-02-22 | 1992-09-08 | International Business Machines Corp. | Processor allocation method and apparatus for multiprocessor execution of a constraint satisfaction search |
| US6212628B1 (en) * | 1998-04-09 | 2001-04-03 | Teranex, Inc. | Mesh connected computer |
| US6571210B2 (en) | 1998-11-13 | 2003-05-27 | Microsoft Corporation | Confidence measure system using a near-miss pattern |
| US8195705B2 (en) | 2001-12-11 | 2012-06-05 | International Business Machines Corporation | Hybrid search memory for network processor and computer systems |
| US7246102B2 (en) | 2001-12-21 | 2007-07-17 | Agere Systems Inc. | Method of improving the lookup performance of three-type knowledge base searches |
| US6938049B2 (en) | 2002-06-11 | 2005-08-30 | The Regents Of The University Of California | Creating ensembles of decision trees through sampling |
| US8117137B2 (en) | 2007-04-19 | 2012-02-14 | Microsoft Corporation | Field-programmable gate array based accelerator system |
| US8650144B2 (en) | 2008-02-14 | 2014-02-11 | Yahoo! Inc. | Apparatus and methods for lossless compression of numerical attributes in rule based systems |
| US7877724B2 (en) | 2008-05-09 | 2011-01-25 | Lsi Corporation | Decision tree representation of a function |
| US8533129B2 (en) | 2008-09-16 | 2013-09-10 | Yahoo! Inc. | Efficient data layout techniques for fast machine learning-based document ranking |
| US8687893B2 (en) | 2011-03-31 | 2014-04-01 | Microsoft Corporation | Classification algorithm optimization |
| US9384278B2 (en) | 2011-04-07 | 2016-07-05 | Ebay Inc. | Methods and systems for assessing excessive accessory listings in search results |
| US8879831B2 (en) | 2011-12-15 | 2014-11-04 | Microsoft Corporation | Using high-level attributes to guide image processing |
| US9292767B2 (en) * | 2012-01-05 | 2016-03-22 | Microsoft Technology Licensing, Llc | Decision tree computation in hardware utilizing a physically distinct integrated circuit with on-chip memory and a reordering of data to be grouped |
| US10152674B2 (en) * | 2012-01-16 | 2018-12-11 | Texas Instruments Incorporated | Accelerated decision tree execution |
| CN103532908B (zh) | 2012-07-02 | 2017-06-16 | 清华大学 | 一种基于二级决策树的p2p协议识别方法 |
| CN102902871A (zh) | 2012-07-03 | 2013-01-30 | 成都中医药大学 | 针灸临床循证决策支持系统及其应用方法 |
| CN103546441B (zh) | 2012-07-16 | 2016-12-21 | 清华大学 | 基于多级决策树的协议识别方法 |
| EP2746991A1 (en) | 2012-12-21 | 2014-06-25 | Nederlandse Organisatie voor toegepast -natuurwetenschappelijk onderzoek TNO | Image pattern recognition system and method |
| US20150262063A1 (en) | 2014-03-17 | 2015-09-17 | Microsoft Corporation | Decision tree processors |
| US20150262062A1 (en) | 2014-03-17 | 2015-09-17 | Microsoft Corporation | Decision tree threshold coding |
-
2014
- 2014-03-17 US US14/216,990 patent/US10332008B2/en active Active
-
2015
- 2015-03-12 CN CN201580014613.3A patent/CN106133721B/zh active Active
- 2015-03-12 RU RU2016136985A patent/RU2016136985A/ru not_active Application Discontinuation
- 2015-03-12 KR KR1020167025570A patent/KR102376117B1/ko not_active Expired - Fee Related
- 2015-03-12 WO PCT/US2015/020050 patent/WO2015142595A1/en not_active Ceased
- 2015-03-12 CA CA2939959A patent/CA2939959A1/en not_active Abandoned
- 2015-03-12 SG SG11201607431XA patent/SG11201607431XA/en unknown
- 2015-03-12 EP EP15713082.4A patent/EP3120262A1/en not_active Ceased
- 2015-03-12 AU AU2015231828A patent/AU2015231828A1/en not_active Abandoned
- 2015-03-12 JP JP2017501068A patent/JP6605573B2/ja active Active
- 2015-03-12 MX MX2016011670A patent/MX2016011670A/es unknown
-
2016
- 2016-08-08 IL IL247166A patent/IL247166A0/en unknown
- 2016-08-17 PH PH12016501639A patent/PH12016501639A1/en unknown
- 2016-09-13 CL CL2016002294A patent/CL2016002294A1/es unknown
Also Published As
| Publication number | Publication date |
|---|---|
| CN106133721A (zh) | 2016-11-16 |
| JP2017517082A (ja) | 2017-06-22 |
| AU2015231828A1 (en) | 2016-09-08 |
| EP3120262A1 (en) | 2017-01-25 |
| US10332008B2 (en) | 2019-06-25 |
| CA2939959A1 (en) | 2015-09-24 |
| CN106133721B (zh) | 2019-10-01 |
| WO2015142595A1 (en) | 2015-09-24 |
| SG11201607431XA (en) | 2016-10-28 |
| KR102376117B1 (ko) | 2022-03-17 |
| RU2016136985A3 (ja) | 2018-10-24 |
| KR20160132853A (ko) | 2016-11-21 |
| MX2016011670A (es) | 2016-11-07 |
| CL2016002294A1 (es) | 2017-03-24 |
| PH12016501639A1 (en) | 2016-10-03 |
| IL247166A0 (en) | 2016-09-29 |
| US20150262064A1 (en) | 2015-09-17 |
| RU2016136985A (ru) | 2018-03-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6605573B2 (ja) | 並列ディシジョン・ツリー・プロセッサー・アーキテクチャ | |
| US20150262062A1 (en) | Decision tree threshold coding | |
| Mitchell et al. | Xgboost: Scalable GPU accelerated learning | |
| JP5995409B2 (ja) | コンピュータ解析のためにテキスト文書を表現するためのグラフィカル・モデル | |
| CN109791492B (zh) | 流水线相关树查询优化器和调度器 | |
| US10025773B2 (en) | System and method for natural language processing using synthetic text | |
| US20150262063A1 (en) | Decision tree processors | |
| US8762655B2 (en) | Optimizing output vector data generation using a formatted matrix data structure | |
| US20110066806A1 (en) | System and method for memory bandwidth friendly sorting on multi-core architectures | |
| US20120143932A1 (en) | Data Structure For Tiling And Packetizing A Sparse Matrix | |
| US9823911B2 (en) | Method and apparatus for compiling code based on a dependency tree | |
| US11288266B2 (en) | Candidate projection enumeration based query response generation | |
| US9213548B2 (en) | Code generation method and information processing apparatus | |
| Jiang et al. | A parallel fp-growth algorithm based on gpu | |
| CN110852046B (zh) | 一种文本后缀索引的分块归纳排序方法及系统 | |
| US10990073B2 (en) | Program editing device, program editing method, and computer readable medium | |
| US9182960B2 (en) | Loop distribution detection program and loop distribution detection method | |
| KR102890191B1 (ko) | 패턴 기반 캐시 블록 압축 | |
| US20130173647A1 (en) | String matching device based on multi-core processor and string matching method thereof | |
| Lee et al. | G-kway: Multilevel gpu-accelerated k-way graph partitioner using task graph parallelism | |
| Quirino et al. | Efficient filter-based algorithms for exact set similarity join on GPUs | |
| CN115964164A (zh) | 计算机实现的方法、硬件加速器以及存储介质 | |
| CN112100446B (zh) | 搜索方法、可读存储介质和电子设备 | |
| HK1226839A1 (en) | Parallel decision tree processor architecture | |
| Lu et al. | Frequent item set mining algorithm based on bit combination |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180312 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180312 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190426 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190510 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190813 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190917 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191016 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6605573 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |
