JP2013205998A - 行列ベクトル積演算装置、行列ベクトル積演算方法、及び行列ベクトル積演算プログラム - Google Patents

行列ベクトル積演算装置、行列ベクトル積演算方法、及び行列ベクトル積演算プログラム Download PDF

Info

Publication number
JP2013205998A
JP2013205998A JP2012072524A JP2012072524A JP2013205998A JP 2013205998 A JP2013205998 A JP 2013205998A JP 2012072524 A JP2012072524 A JP 2012072524A JP 2012072524 A JP2012072524 A JP 2012072524A JP 2013205998 A JP2013205998 A JP 2013205998A
Authority
JP
Japan
Prior art keywords
data
node
matrix
storage areas
vector product
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.)
Granted
Application number
JP2012072524A
Other languages
English (en)
Other versions
JP5736336B2 (ja
Inventor
Masaaki Nishino
正彬 西野
Yoshihito Yasuda
宜仁 安田
Ryoji Kataoka
良治 片岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012072524A priority Critical patent/JP5736336B2/ja
Publication of JP2013205998A publication Critical patent/JP2013205998A/ja
Application granted granted Critical
Publication of JP5736336B2 publication Critical patent/JP5736336B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

【課題】ZDDを用いた行列とベクトルの乗算において、処理速度を高速にする。
【解決手段】N行M列の二値行列XとM次元の実数ベクトルqとの積Xqを計算する行列ベクトル積演算装置において、行分割単位Lで分割した前記二値行列Xに対応するZDDを、ノードIDをインデックスとする配列として表した配列データを格納するデータ記憶手段と、行列ベクトル積演算時の演算データを記憶する演算データ記憶手段と、前記演算データ記憶手段において出力データを格納するN個の記憶領域と、一時的な計算結果を格納するN×L+1個の記憶領域を用意し、前記配列データに基づいて、前記N個の記憶領域と前記N×L+1個の記憶領域を利用することにより、前記積Xqを算出する演算実行手段と、前記演算実行手段により算出された前記積Xqの値である前記N個の記憶領域に格納されたデータを出力する出力手段とを備える。
【選択図】図1

Description

本発明は、0または1を要素としてとる二値行列と、実数ベクトルとの乗算に必要な処理時間を削減するための技術に関するものである。なお、本明細書で扱う乗算とは、N行M列(N、Mはともに1以上の整数)の二値行列Xと、M次元の実数ベクトルqを受け取り、p = XqとしてN次元の実数ベクトルpを求める処理のことをいう。
二値行列と実数ベクトルの乗算は、さまざまな場面で実行される基本的な演算である。この演算の計算回数を削減するための手法として、二値行列をゼロサプレス型二分決定グラフ(Zero-Suppressed Binary Decision Diagrams、ZDD) を用いて表現し、そのうえで行列とベクトルの乗算を行う手法がある(非特許文献1)。なお、上記の演算は、キャッシュメモリを搭載した中央演算処理装置(CPU)上で実行される。
西野正彬、安田宜仁、小林透、"ZDDを用いた効率的な集合拡張の計算"、人工知能学会第25回全国大会、2011
非特許文献1に開示された手法では、行列とベクトルの乗算のためにはZDDのノードの個数個の実数を保持するための記憶領域を用意し、それに対して読み込み/書き出しを行う必要があった。キャッシュメモリを搭載した中央演算処理装置を用いて演算を実行する際に、大量のメモリに対する読み込み/書き出しがあると、CPUキャッシュメモリを有効に利用できないため、処理速度が低下する問題があった。
本発明は上記の問題点に鑑みてなされたものであり、ZDDを用いた行列とベクトルの乗算において、計算途中にアクセスする必要がある記憶領域を削減し、CPUキャッシュヒット率を高めることで、処理速度を高速にすることを目的とする。
上記の課題を解決するために、本発明は、N行M列(N、Mはともに1以上の整数)の二値行列XとM次元の実数ベクトルqとの積Xqを計算する行列ベクトル積演算装置であって、
行分割単位L(Lは1以上かつMより小さい整数)で分割した前記二値行列Xに対応するZDD(ゼロサプレス型二分決定グラフ)を、ノードIDをインデックスとする配列として表した配列データを格納するデータ記憶手段と、
行列ベクトル積演算時の演算データを記憶する演算データ記憶手段と、
前記演算データ記憶手段において出力データを格納するN個の記憶領域と、一時的な計算結果を格納するN×L+1個の記憶領域を用意し、前記配列データに基づいて、前記N個の記憶領域と前記N×L+1個の記憶領域を利用することにより、前記積Xqを算出する演算実行手段と、
前記演算実行手段により算出された前記積Xqの値である前記N個の記憶領域に格納されたデータを出力する出力手段とを備えることを特徴とする行列ベクトル積演算装置として構成される。
また、本発明は、行列ベクトル積演算装置が実行する行列ベクトル積演算方法として構成することもできる。また、本発明は、前記データ記憶手段と前記演算データ記憶手段を備えるコンピュータを、前記演算実行手段、前記出力手段として機能させるための行列ベクトル積演算プログラムとして構成することもできる。
本発明によれば、二値行列を表現したZDDの節点の個数分の記憶領域を用意する代わりに、(N + N×L+1)だけの記憶領域を用意して計算を行うので、使用する記憶領域が削減され、CPUキャッシュヒット率が上昇するため、処理速度を高速にできる。
本発明の実施の形態に係る行列ベクトル積演算装置の機能構成図である。 ZDDによって組み合わせ集合を表した例を示す図である。 行列ベクトル積演算装置の処理を示すフローチャートである。 行分割単位Lを3としたときの二値行列の例を示す図である。 図4Aに示す二値行列に対応するZDDを示す図である。 図4Bに示すZDDの配列上の表現を示す図である。 先頭ノードマーク処理のフローチャートである。 行列とベクトルの積を計算する処理のフローチャートである。
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
(装置構成)
図1に、本実施の形態に係る行列ベクトル積演算装置の機能構成図を示す。図1に示すように、本実施の形態の行列ベクトル積演算装置は、ベクトル入力部(M2)、行列演算実行部(M3)、計算結果出力部(M4) 、データ入力部(M5)、ZDD構築部(M6)、データ記憶部(M7)を有する。
ベクトル入力部(M2)では、乗算の対象となる実数ベクトルを外部から受け取り行列演算実行部(M3)に渡す。行列演算実行部(M3)では、データ記憶部(M7)に格納された二値行列と、ベクトル入力部(M2)から与えられたベクトルとの積を計算する。
なお、図1に示すように、行列ベクトル積演算装置は、ハードウェア的にはキャッシュメモリを備えた中央演算装置(M1)を含み、二値行列とベクトルとの積の演算を含む各種の演算は当該中央演算装置(M1)で実行される。行列演算実行部(M3)は、この中央演算装置(M1)により実現される二値行列とベクトルとの積の演算機能を有する機能部である。
行列演算実行部(M3)により計算された結果は、計算結果出力部(M4)から外部に出力される。データ入力部(M5)は、二値行列を受け取る。ZDD構築部(M6)は、データ入力部(M5)から受け取った二値行列をZDDに変換し、それをデータ記憶部(M7)に保管する機能を有する。
行列ベクトル積演算装置は、上記中央演算装置(M1)及びデータ記憶部(M7)等を備えたコンピュータに、本実施の形態で説明する処理に対応するプログラムを実行させることにより実現可能である。当該プログラムは、可搬メモリ等の記憶媒体に格納して配布し、上記装置にインストールして用いてもよいし、ネットワーク上のサーバからダウンロードして上記装置にインストールしてもよい。
また、図1に示す行列ベクトル積演算装置は、複数のコンピュータで実現してもよい。例えば、ZDD構築部(M6)を別のコンピュータに備え、当該別のコンピュータで算出したZDDの配列データを、行列演算実行部(M3)とデータ記憶部(M7)を含むコンピュータ(これを行列ベクトル積演算装置と呼んでもよい)におけるデータ記憶部(M7)に格納して行列ベクトル積の演算を行ってもよい。
(ZDDについて)
本実施の形態に係る処理を説明する前に、まず、ZDDについて簡単に説明しておく。なお、ZDD自体は既存技術である。
ZDDは、組み合わせ集合を二分グラフの形で保持するデータ構造である。ここで、組み合わせ集合とは、あるアイテムの集合A= {a1, a2, ..., }に対して、e⊆Aであるようなeを要素とする集合のことである。例えば、集合B = {a, b, c}に対し、集合{{a,c}, {b}, {c}}はBの組み合わせ集合である。
ZDDによって組み合わせ集合を表した例を図2に示す。ZDDは指向性をもったグラフ構造であり、ノードには0または1のラベルをもった終端ノードと、対応するアイテムのラベルをもった中間ノードの2種類がある。各中間ノードはHIリンク、LOリンクとよばれる2つの子ノードを指すリンクを持つ。また、ひとつのZDDには先頭のノードを表すポインタがある。図2(a)は組み合わせ集合{{a,c}, {b}, {c}}を表すZDDである。図中では、終端ノードは四角のノード、中間ノードは丸いノード、HIリンクは実線の矢印、LOリンクは破線の矢印、先頭ノードを表すポインタは実線の矢印でそれぞれ表現される。各ノード中の文字は、ノードのラベルを表す。ある組み合わせeが、ZDDが表す組み合わせ集合に含まれるかどうかは、以下の手続きによって知ることができる。まず、ZDDの先頭ノードを表すポインタに沿って、先頭ノードに遷移する。そこで、先頭ノードのラベルが表すアイテムがeに含まれているならHIリンクが指すノードに遷移し、そうでないならLOリンクが指すノードに遷移する。以上の手続きを最終的に終端ノードにたどり着くまで実行し、最終的にラベル1をもつ終端ノードに遷移し、かつeに含まれるすべてのアイテムに対応するノードを遷移してきているなら、eは組み合わせ集合に含まれる。そうでないならeは組み合わせ集合に含まれない。
図2(a)のZDDは、計算機上では、図2(b)のように、ノードIDをインデックスとする配列として表現される。配列の一つの要素には、ノードのラベル、HIリンク先のノードID、LOリンク先のノードIDが格納されている。以下、ノードIDがiであるノードのラベルをv(i)、HIリンク先のノードのノードIDをHI(i)、LOリンク先ノードのノードIDをLO(i) と表す。ある組み合わせ集合をZDDとして表すときには、アイテム間にあらかじめ順序を定められており、ZDD中ではあるノードのラベルであるアイテムとその子ノードのラベルであるアイテムとを比較したときに、必ず子ノードのアイテムのほうが、順序が後になるという制約がある。本実施の形態のZDDでは、アイテムa, b, cの間にa, b, cの順で順序が定められているものとする。また、配列中では、i > 2のときに常にHI(i) < i, LO(i) < iが成り立つように構成されているものとする。
(行列ベクトル積演算装置の処理動作)
以下、本実施の形態に係る行列ベクトル積演算装置の処理を図3のフローチャートに示す手順に沿って説明する。
まず、ステップS01において、データ入力部(M5)より行列を受け取る。行例はZDD構築部(M6)に渡され、ステップS02で、ZDD構築部(M6)は、行列から対応するZDDを構築する。このZDDの構築自体は既存技術であり、非特許文献1に開示された手法を用いることができる。また、本実施の形態では、非特許文献1に開示されているように、行分割による節点数削減も行っている。
行分割単位L(Lは1以上であり、行列の列数Mよりも小さい整数)を3としたときの、二値行列と対応するZDD、およびその配列上の表現について、図4A〜4Cに示す。図4Aの二値行列に対応する組み合わせ集合は、行分割単位が 3のときに
Figure 2013205998
となり、対応するZDDは図4B、その配列上での表現は図4Cのようになる。ここで、各シンボルr1,....r3は行列の各行に対応するシンボルであり、e1,....,e6は各列に対応するシンボルである。また、図4B中では,0終端節点に達する0枝は省略してある。
図4C中の先頭フィールドには、そのノードが分割された行列の各行で最左の1に対応するノードであった場合に、その行に対応する番号の列が与えられる。例えば、図4Cにおいて、ノードIDが3であるe6は、図4Aに示すように、分割された右側の行列の2行目で最左の1(左から見て最初に登場する1)に対応しているので、先頭フィールドに2が追加されている。なお、先頭ノードの値の設定はステップS03で行うため、この時点ではすべてのノードについて先頭フィールドは空とする。レベルNoフィールドには、同じラベルを持つノードのうち何番目のノードであるかを示す整数が与えられる。この値は配列作成時に付与するものとする。
行列演算実行部(M3)(又はZDD構築部(M6))は、ステップS03で先頭ノードマーク処理を行う。この処理を図5に示すフローチャートを用いて説明する。
v(i)=r1, r2, ..., rNとなるN個のノードについて順に処理する(ステップS31)。r1, r2, ..., rNの各ラベルをもったノードはそれぞれ一つしか存在しないため、行列の行数がNなら処理はN回繰り返される。次にj = hi(i)を取り出し(ステップS32)、それが1でないなら(すなわち0終端節点でないなら)配列のj番目の要素の先頭フィールドに、対応するrkの添字kを追加する(ステップS33、S34)。次にj = lo(j)と更新し(ステップS35)、0終端節点にたどり着くまで同様の手順を繰り返す。
例えば、図4Cの例では、最初に、j = hi(13)=1となるから、次のノードr2に進み、j = hi(12)=7になるから7番目のノードの先頭ノードフィールドに2を追加する。次に、j=3となるから、3番目のノードの先頭ノードフィールドに2を追加する。このようにして処理が進められる。
行列演算実行部(M3)は、ステップS04 において、実数ベクトルをベクトル入力部(M2)から受け取る。受け取ったベクトルをq、qのi番目の要素をqiと表す。そして、行列演算実行部(M3)は、行列とベクトルの積を計算する行列演算処理を行う(ステップS05)。
以下、図6のフローチャートを用いて行列とベクトルの積を計算する処理を詳細に説明する。計算においては、出力を格納する大きさNの記憶領域scoreと、一時的な計算結果を書き込む大きさN×L+1の記憶領域dataを用意する。これらの記憶領域は、中央演算装置におけるキャッシュメモリ(演算データ記憶手段)として実現されるものである。
まず、ステップS51でM次元の実数値のベクトルqを入力として受け取る。次に、ステップS52でscoreのN個の値全てとdataのN×L+1個の値全てを0に初期化する。
次に、iを3からZDDの配列のサイズ−Nまで変化させて繰り返しS54〜S58を実行する(ステップS53)。ここで,ZDDの配列のサイズとは、ZDDを計算機上に配列として表現したときの配列の要素数であり、例えば図4AのZDDのサイズは、13である。この図4Aの例では、iを3から10(=13-3)まで繰り返すことになる。
ステップS54では、data[address(i)]の値を、qjとdata[address(HI(i))]の値の和に更新する。ここで、jはv(i) =ejであるような値とする。address(i)は配列data中での位置を示す関数であり、以下のように定義する。
Figure 2013205998
上記の数式において、num(i)は節点iのレベルNoである。address(i) の取りうる値は[1, N×L+1]であり、非特許文献1のように節点数個の記憶領域を用意する必要がなくなるため、CPUキャッシュヒット率が上昇する効果が得られる。
ステップS55でiの先頭ノードフィールドが空でないかを調べ、空でなければステップS56に遷移する。空ならばステップS59に遷移する。ステップS56、S57では、各先頭ノードフィールドについて、score[j] = score[j] + data[address(i)]を計算することによりscore[j]を更新する処理を行う。
処理が終了すると、scoreの値(N個の値)が演算結果のベクトルとして計算結果出力部(M4)から出力される。
(実施の形態の効果)
既存手法では、計算のある時点からアクセスされなくなる記憶領域があるが、本実施の形態では、このことに着目し、計算途中にアクセスする必要がある記憶領域を削減し、CPUキャッシュヒット率を高めている。
本実施の形態に係る技術を利用することにより、二値行列と実数ベクトルとの乗算において、計算に利用する記憶領域を削減し、CPUキャッシュヒット率を増加させることができるため、処理速度を速めることができる。
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
M1 中央演算装置
M2 ベクトル入力部
M3 行列演算実行部
M4 計算結果出力部
M5 データ入力部
M6 ZDD構築部
M7 データ記憶部

Claims (7)

  1. N行M列(N、Mはともに1以上の整数)の二値行列XとM次元の実数ベクトルqとの積Xqを計算する行列ベクトル積演算装置であって、
    行分割単位L(Lは1以上かつMより小さい整数)で分割した前記二値行列Xに対応するZDD(ゼロサプレス型二分決定グラフ)を、ノードIDをインデックスとする配列として表した配列データを格納するデータ記憶手段と、
    行列ベクトル積演算時の演算データを記憶する演算データ記憶手段と、
    前記演算データ記憶手段において出力データを格納するN個の記憶領域と、一時的な計算結果を格納するN×L+1個の記憶領域を用意し、前記配列データに基づいて、前記N個の記憶領域と前記N×L+1個の記憶領域を利用することにより、前記積Xqを算出する演算実行手段と、
    前記演算実行手段により算出された前記積Xqの値である前記N個の記憶領域に格納されたデータを出力する出力手段と
    を備えることを特徴とする行列ベクトル積演算装置。
  2. 前記配列データは、ノードID(i)毎に、ノードのラベル(v(i))、HIリンク先のノードID(HI(i))、LOリンク先のノードID(LO(i))、先頭ノードフィールド、レベル番号フィールドを有し、前記先頭ノードフィールドの値は、対応ノードが分割された行列の各行で最左の1に対応するノードであった場合に、その行に対応する番号の列であり、レベル番号フィールドの値は、同じラベルを持つノードのうち何番目のノードであるかを示す整数であり、
    前記N個の記憶領域の要素をscore[i] (1≦i≦N)、前記N×L+1個の記憶領域の要素をdata[i] (1≦i≦N×L+1)とし、
    num(i)をノードiのレベル番号としたときの配列data中での位置を示す関数address(i)を、
    Figure 2013205998
    と定義し、
    v(i) =ejとした場合において、
    前記演算実行手段は、
    data[address(i)]の値を、実数ベクトルの要素qjとdata[address(HI(i))]の値の和に更新し、iの先頭ノードフィールドが空でないかを調べ、空でなければ先頭ノードフィールドの各値について、score[j] = score[j] + data[address(i)]を計算することによりscore[j]を更新し、iの先頭ノードフィールドが空である場合、又は空でない場合のscore[j]の更新が終了した後に、次のiについて処理に進む処理ステップを、iを3から配列データサイズ−Nまで変化させて繰り返す
    ことを特徴とする請求項1に記載の行列ベクトル積演算装置。
  3. 前記二値行列の各行に対応するシンボルをrk(k=1〜N)とした場合において、
    j = HI(i)を取得し、jが1でないなら配列データのj番目の要素の先頭ノードフィールドに、対応するrkの添字kを追加し、j = LO(j)と更新する処理をjが1になるまで繰り返すステップを、v(i)=r1, r2, ..., rNとなるN個のノードについて順に実行することにより、前記先頭ノードフィールドの値を設定する手段
    を有することを特徴とする請求項2に記載の行列ベクトル積演算装置。
  4. N行M列(N、Mはともに1以上の整数)の二値行列XとM次元の実数ベクトルqとの積Xqを計算する行列ベクトル積演算装置が実行する行列ベクトル積演算方法であって、
    前記行列ベクトル積演算装置は、
    行分割単位L(Lは1以上かつMより小さい整数)で分割した前記二値行列Xに対応するZDD(ゼロサプレス型二分決定グラフ)を、ノードIDをインデックスとする配列として表した配列データを格納するデータ記憶手段と、
    行列ベクトル積演算時の演算データを記憶する演算データ記憶手段と、を備え、
    前記演算データ記憶手段において出力データを格納するN個の記憶領域と、一時的な計算結果を格納するN×L+1個の記憶領域を用意し、前記配列データに基づいて、前記N個の記憶領域と前記N×L+1個の記憶領域を利用することにより、前記積Xqを算出する演算実行ステップと、
    前記演算実行ステップにより算出された前記積Xqの値である前記N個の記憶領域に格納されたデータを出力する出力ステップと
    を備えることを特徴とする行列ベクトル積演算方法。
  5. 前記配列データは、ノードID(i)毎に、ノードのラベル(v(i))、HIリンク先のノードID(HI(i))、LOリンク先のノードID(LO(i))、先頭ノードフィールド、レベル番号フィールドを有し、前記先頭ノードフィールドの値は、対応ノードが分割された行列の各行で最左の1に対応するノードであった場合に、その行に対応する番号の列であり、レベル番号フィールドの値は、同じラベルを持つノードのうち何番目のノードであるかを示す整数であり、
    前記N個の記憶領域の要素をscore[i] (1≦i≦N)、前記N×L+1個の記憶領域の要素をdata[i] (1≦i≦N×L+1)とし、
    num(i)をノードiのレベル番号としたときの配列data中での位置を示す関数address(i)を、
    Figure 2013205998
    と定義し、
    v(i) =ejとした場合において、
    前記演算実行ステップにおいて、前記行列ベクトル積演算装置は、
    data[address(i)]の値を、実数ベクトルの要素qjとdata[address(HI(i))]の値の和に更新し、iの先頭ノードフィールドが空でないかを調べ、空でなければ先頭ノードフィールドの各値について、score[j] = score[j] + data[address(i)]を計算することによりscore[j]を更新し、iの先頭ノードフィールドが空である場合、又は空でない場合のscore[j]の更新が終了した後に、次のiについて処理に進む処理ステップを、iを3から配列データサイズ−Nまで変化させて繰り返す
    ことを特徴とする請求項4に記載の行列ベクトル積演算方法。
  6. 前記二値行列の各行に対応するシンボルをrk(k=1〜N)とした場合において、
    j = HI(i)を取得し、jが1でないなら配列データのj番目の要素の先頭ノードフィールドに、対応するrkの添字kを追加し、j = LO(j)と更新する処理をjが1になるまで繰り返すステップを、v(i)=r1, r2, ..., rNとなるN個のノードについて順に実行することにより、前記先頭ノードフィールドの値を設定するステップを、
    前記演算実行ステップの前段階のステップとして有することを特徴とする請求項5に記載の行列ベクトル積演算方法。
  7. 前記データ記憶手段と前記演算データ記憶手段を備えるコンピュータを、請求項1又は2に記載の前記演算実行手段、前記出力手段として機能させるための行列ベクトル積演算プログラム。
JP2012072524A 2012-03-27 2012-03-27 行列ベクトル積演算装置、行列ベクトル積演算方法、及び行列ベクトル積演算プログラム Expired - Fee Related JP5736336B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012072524A JP5736336B2 (ja) 2012-03-27 2012-03-27 行列ベクトル積演算装置、行列ベクトル積演算方法、及び行列ベクトル積演算プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012072524A JP5736336B2 (ja) 2012-03-27 2012-03-27 行列ベクトル積演算装置、行列ベクトル積演算方法、及び行列ベクトル積演算プログラム

Publications (2)

Publication Number Publication Date
JP2013205998A true JP2013205998A (ja) 2013-10-07
JP5736336B2 JP5736336B2 (ja) 2015-06-17

Family

ID=49525037

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012072524A Expired - Fee Related JP5736336B2 (ja) 2012-03-27 2012-03-27 行列ベクトル積演算装置、行列ベクトル積演算方法、及び行列ベクトル積演算プログラム

Country Status (1)

Country Link
JP (1) JP5736336B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014044540A (ja) * 2012-08-27 2014-03-13 Nippon Telegr & Teleph Corp <Ntt> ベクトルと行列との積の計算装置及び方法及びプログラム
CN110276047A (zh) * 2019-05-18 2019-09-24 南京惟心光电系统有限公司 一种利用光电计算阵列进行矩阵向量乘运算的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012243040A (ja) * 2011-05-18 2012-12-10 Nippon Telegr & Teleph Corp <Ntt> 演算装置、演算方法および演算プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012243040A (ja) * 2011-05-18 2012-12-10 Nippon Telegr & Teleph Corp <Ntt> 演算装置、演算方法および演算プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6014043303; 湊真一: 'VSOP:ゼロサプレス型BDDに基づく「重み付き積和集合」計算プログラム' 電子情報通信学会技術研究報告 Vol.105 No.72, 200505, 31-38頁, 社団法人電子情報通信学会 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014044540A (ja) * 2012-08-27 2014-03-13 Nippon Telegr & Teleph Corp <Ntt> ベクトルと行列との積の計算装置及び方法及びプログラム
CN110276047A (zh) * 2019-05-18 2019-09-24 南京惟心光电系统有限公司 一种利用光电计算阵列进行矩阵向量乘运算的方法
CN110276047B (zh) * 2019-05-18 2023-01-17 南京惟心光电系统有限公司 一种利用光电计算阵列进行矩阵向量乘运算的方法

Also Published As

Publication number Publication date
JP5736336B2 (ja) 2015-06-17

Similar Documents

Publication Publication Date Title
CN111582491A (zh) 一种量子线路的构建方法及装置
CN111914378B (zh) 一种单振幅量子计算模拟方法及装置
CN109214404A (zh) 基于隐私保护的训练样本生成方法和装置
CN103309893B (zh) 一种字符串的比较方法及装置
JP2020057306A (ja) 最適化装置及び最適化装置の制御方法
CN115169568B (zh) 量子计算处理方法、装置及电子设备
CN112381209A (zh) 一种模型压缩方法、系统、终端及存储介质
JP5169837B2 (ja) 文字列照合用有限オートマトン生成システム、その生成方法、及び生成プログラム
CN114693934A (zh) 语义分割模型的训练方法、视频语义分割方法及装置
CN104699660A (zh) 概述非线性回归问题中的结构化矩阵
JP5736336B2 (ja) 行列ベクトル積演算装置、行列ベクトル積演算方法、及び行列ベクトル積演算プログラム
CN116167446B (zh) 量子计算处理方法、装置及电子设备
JP5709179B2 (ja) 隠れマルコフモデルの推定方法,推定装置および推定プログラム
JP6870738B2 (ja) 乱数生成システム、乱数生成方法および乱数生成プログラム
JP2022032703A (ja) 情報処理システム
CN114764620B (zh) 一种量子卷积操作器
Eden et al. Embeddings and labeling schemes for A
US20170148357A1 (en) Matrix generation apparatus, matrix generation method, and non-transitory computer-readable recording medium storing matrix generation program
Wicaksono et al. Implementation of Shor’s quantum factoring algorithm using projectQ framework
CN116151383B (zh) 量子计算处理方法、装置及电子设备
Kaddoura Your First GAN
CN115759270B (en) Efficient simulation method based on quantum circuit
US11741187B2 (en) Calculation device, calculation method, and computer program product
JP2019008640A (ja) 類似度計算装置及び類似度計算方法
JP2014182753A (ja) Ppr演算装置、方法、及びプログラム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20131001

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150223

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: 20150414

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150420

R150 Certificate of patent or registration of utility model

Ref document number: 5736336

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees