JP2015529350A - ハイブリッドgpu/cpuデータ処理方法 - Google Patents

ハイブリッドgpu/cpuデータ処理方法 Download PDF

Info

Publication number
JP2015529350A
JP2015529350A JP2015531297A JP2015531297A JP2015529350A JP 2015529350 A JP2015529350 A JP 2015529350A JP 2015531297 A JP2015531297 A JP 2015531297A JP 2015531297 A JP2015531297 A JP 2015531297A JP 2015529350 A JP2015529350 A JP 2015529350A
Authority
JP
Japan
Prior art keywords
model
gpu
search
likelihood
hypothesis
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
JP2015531297A
Other languages
English (en)
Other versions
JP6346893B2 (ja
JP2015529350A5 (ja
Inventor
レーン,イアン
チョン,ジャイク
キム,ジュンソク
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.)
Carnegie Mellon University
Original Assignee
Carnegie Mellon University
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 Carnegie Mellon University filed Critical Carnegie Mellon University
Publication of JP2015529350A publication Critical patent/JP2015529350A/ja
Publication of JP2015529350A5 publication Critical patent/JP2015529350A5/ja
Application granted granted Critical
Publication of JP6346893B2 publication Critical patent/JP6346893B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/34Adaptation of a single recogniser for parallel processing, e.g. by use of multiple processors or cloud computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/081Search algorithms, e.g. Baum-Welch or Viterbi
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Machine Translation (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Advance Control (AREA)

Abstract

【解決手段】本発明は、並列処理プラットホームで、大規模グラフ探索計算を実行する方法を示す。本発明は、演算デバイスの中央演算処理装置(CPU)を用いることと組み合わせて、グラフィック処理装置(GPU)を用いたオンザフライ仮説リスコアリングの方法を示す。本発明は、大語彙連続音声認識のタスクに適用されるものとして、ある実施形態について説明される【選択図】図1

Description

[関連出願の相互参照]
本願は、2012年9月7日に出願された米国仮出願第61/743,758号、発明の名称「METHODS FOR HYBRID GPU/CPU DATA PROCESSING」の優先権を主張するPCT国際出願であり前記米国仮出願は、引用を以て本明細書の一部となる。
本発明は、データ処理分野に関する。より詳細には、本発明は、並列処理プラットホームにて大規模グラフ探索(large-scale graph traversal)を実行するための方法に関する。
近年、マルチコア処理とメニーコア処理をするコンピュータがより一般的になってきており、これにより、複雑な演算タスクが実行される速度は、このようなタスクが多数の処理コアで並列式に実行されることで顕著に増大する。ある種の複雑な演算タスクでは、しかしながら、このようなプロセッサは、そのメモリ容量によって制限される。例えば、メニーコアグラフィック処理装置(GPU)では、メモリは、2乃至8ギガバイト(GB)に制限されている。このようなメモリは、グラフ構造が数百万のアーク(arc)を含んでおり、モデルのサイズが約100GBのオーダー又はそれより大きい大規模グラフ探索を演算するようなタスクに限界をもたらす。
それ故に、ヘテロジニアス並列演算コアを効率的に活用することで、並列処理プラットホームで大規模グラフ探索を効率的に実行する方法が必要とされている、
このような改善された方法が必要とされる分野の一つは、大語彙連続音声認識(large vocabulary continuous speech recognition)(LVCSR)の分野である。必要性の一例としては、音声ユーザインターフェイスは、次世代のスマートデバイスのコアテクノロジとして成長していることがある。魅惑的な(captivating)ユーザー・エクスペリエンスを確実にするためには、これらシステム内で使用される音声認識エンジンが、ロバストで、速く、低遅延であって、システムが出くわすであろう極めて多数の語彙にわたって十分な適用範囲をもたらすことが重要である。高い認識精度を得るために、放送ニュースの転写[1,2]又は音声検索[3,4]のようなタスク用の音声最新式の音声認識システムは、大語彙(>100万語)、大音声モデル(数百万のモデルパラメータ)、及び非常に大きな言語モデル(数十億のn−gramエントリ)を用いて認識を実行することがある。これらのモデルは、オフラインの音声認識タスクに適用され得るが、デコード中に要求される演算コストが大きいので、リアルタイム音声認識には実用的ではない。
H−レベルWFSTとして一般に知られているように、WFSTが、一つの単一ネットワークとして合成された、隠れマルコフモデル(HMM)音声モデルH、コンテキストモデルC、発音辞書L、及び言語モデルGを体現するような、静的コンパイルされる重み付き有限状態トランスデューサ(WFST)ネットワークの使用は、音声認識を非常に効率的に実行することを可能にする[5]。しかしながら、このような音声ネットワークの合成と最適化は、大きなモデルが使用される場合には、実行不可能となる。
オンザフライ合成(On-the-fly composition)は、十分に合成された単一のWFSTを用いて音声認識を実行することに現実的に代わるものである。オンザフライ合成は、2又は3以上のサブWFSTのグループを順番に用いることを含んでおり、デコード中に必要に応じてそれらを合成する。一般的なアプローチの一つでは、デコード前にHoCoLをプレ合成し、その後、これを文法ネットワークGとオンザフライで合成する。オンザフライ合成は、メモリの観点からすると経済的であるとされてきたが、静的コンパイルされるWFSTよりも、デコードが極めて遅い[6]。
効率的なWFSTデコードの代替的なアプローチは、サーチ中に、合成ではなく、仮説リスコアリング(hypothesis rescoring)[3]を実行することである。このアプローチでは、ビタビ探索が、HoCoGuniを用いて実行されて、別のネットワークGuni/triが単に、オンザフライ式で、ビタビ探索プロセスから生成された仮説をリスコアリングために使用される。このアルゴリズムは、サーチの最初から全ての知識ソースを利用可能とすることから、これは、正しい経路を選択することと、仮説を削減する(pruning)ことの両方に効果的である。
メニーコアグラフィック処理装置(GPU)は、現在有用なリソースであり、ハイブリッドGPU/CPU演算アーキテクチャは、多数の演算タスクの現実的なソリューションである。演算サブタスクの各々に最も適切なアーキテクチャを活用することで、何れのプラットホームを単独で用いる場合よりも、顕著に高いスループットが得られる。従前の研究[7,8]は、音声認識にGPUプロセッサを用いる有効性を明らかにして、限定された語彙タスク(vocabulary tasks)について、スループットを顕著に改善した。しかしながら、これらのアーキテクチャにおけるメモリの制限は、大きな音声及び言語モデルが認識中に適用される場合と、その他の大規模グラフ探索演算とについては、顕著なボトルネックになる。このような演算の最も大きな課題は、現代の幅広い領域の音声認識システムに使用される非常に大きな言語モデルを処理することである[1,2,4]。これらのモデルは、数百万のユニークな語彙エントリと、数十億のn−gramコンテキストとを含むことができ、メモリへの20GB以上の格納をたちまち必要とする。顕著に削減される場合でさえも、これらのモデルは、GPUプラットホームで利用可能な制限されたメモリには収まらない。大きな音声モデル及び言語モデルを用いて音声認識を効率的に実行するために、我々は、GPUアーキテクチャの演算スループットを用いて、CPUの大きなメモリとローカルキャッシュとを活用するハイブリッドGPU/CPUアーキテクチャを開発した。
本発明は、並列処理プラットホームで、大規模グラフ探索計算を実行する方法を示す。本発明は、演算デバイスの中央演算処理装置(CPU)を用いることと組み合わせて、グラフィック処理装置(GPU)を用いるオンザフライ仮説リスコアリングの方法を示す。本発明は、大語彙連続音声認識のタスクに適用されるものとして、ある実施形態について説明される。当該分野における通常の知識を有する者であれば、本発明の方法は、その他の大規模グラフ探索演算に適用可能であることは分かるであろう。
図1は、大規模グラフ探索のタスクに適用された場合における本発明の実施構造の模式図である。
図2は、重み付き有限状態トランスデューサ(WFST)合成中に適用されるであろう小さいモデルに含めるために、大きなモデルからエントリ(つまり、トークンシーケンスのマルコフモデルからの確率)をサブセレクト(sub-select)する実施アプローチの模式図である。その結果である十分に合成されたWFSTサーチグラフは、グラフィック処理装置(GPU)でサーチを実行するのに十分に小さくなる。
図3は、グラフィック処理装置(GPU)でサーチを実行するのに適した小さいWFSTサーチグラフを構成するのに使用される実施アプローチの模式図である。
図4は、WFSTサーチグラフにおける状態と隣接するアークに含まれる情報の模式図である。それらは、状態ID(stateID)と、入力アークのリストと、出力アークのリストと、入力シンボルと、出力シンボルとを含んでいる。各アークは、アーク固有の重みを含んでいる。入力シンボルは、「観測モデル(observation model)」で生成された確率にマッチする。出力シンボルは、サーチプロセスで生成されたトークンにマッチする。例えば、音声認識タスクでは、これらのトークンが、語にマップするであろう。
図5は、グラフィック処理装置(GPU)でのサーチに適した、小さいWFSTのサーチグラフの例を示す。この例は、任意の順序で起こる3つの語(「nice」、「recognize」、及び「speech」)を含む非常に簡単なタスクの音声認識に適用される場合のサーチグラフを示す。
図6は、例示の言語モデルを示しており、既知の語履歴(word history)を仮定した場合において、言語モデル確率が、現在の語について掲載されている。
図7は、グラフィック処理装置(GPU)で使用されるWFSTベースのサーチグラフをコンパイルする場合に合成中に使用するのに適した、小さい言語モデルの例を示す。この小さい言語モデルは、言語モデル確率と共に、0.05の言語モデル閾値(TLM)を使用して、図6の大きな言語モデルからサブセレクトされたものである。
図8は、図6及び図7に夫々示された大きな言語モデルと小さな言語モデルを用いて、自動音声認識のタスクについて部分的仮説(partial hypothesis)のスコアリングをした例を示す。リスコアリングの前にて、フレーズ「recognize a beach …」は、最も高い確率を有しているが、大きな言語モデルを用いてリスコアリングした後では、最も確率が高い部分的仮説は、「recognize speech」である。
図9は、仮説の組合せと仮説の削減とを例示する、本発明の模式図である。
図10は、語彙サイズが5000語である大語彙連続音声認識のタスクに適用された場合の、従来技術のアプローチと本発明のアプローチとを用いた精度とデコード速度を比較したデータを示している(評価設定(Eval.set):WSJ 5K nov’92(330センテンス))、n1.3=9、m1.3=1、n2.3=3、m2.3=4、lbw2.3=7)。
図11は、語彙サイズが100万語である大語彙連続音声認識のタスクに適用された場合の、従来技術のアプローチと本発明のアプローチとを用いた精度とデコード速度を比較したデータを示している(評価設定:WSJ 5K nov’92 + WSJ 20k nov’93(543センテンス)、n2.3=n3.4=3、m2.3=m3.4=24))。
図12は、大語彙連続音声認識のタスクに適用された場合の、本発明を用いた実験における演算フェーズ当たりの処理時間の比のデータを示す(100万語彙、n3.4=3、 m3.4=24)。
図13は、本発明で用いた場合における「並列アトミックマージソート(parallel atomic merge-and-sort)」法の入出力を示す。入力は、L個のソートリスト(S,…,S)からなり、出力は、単一のソートリスト(T)である。
図14は、本発明で用いた場合における「アトミックマージソート」法における部分的仮説情報を格納するのに使用されるデータ構造を示す。
図15は、本発明で用いた場合における「アトミックマージソート」法で使用されるデータ構造及び関数の概略を示す。関数「merge−and−sort(<ソースリスト>, <ターゲットリスト>)」は、マージされる必要があるL個のソートリストの全て(S,…,S)について呼び出される。
図16は、本発明で用いた場合における「アトミックマージソート」法の概略図である。
図17は、本発明で用いた場合における「高速メモリ効率的ルックアップ(Fast and memory efficient look-up)」アーキテクチャに変換される言語モデルの例を示す。
図18は、本発明で用いた場合における「高速メモリ効率的ルックアップ」アーキテクチャによって(与えられた履歴と出力トークンについて)確率を抽出する手順の概略図である。
図19は、本発明で用いた場合における「高速メモリ効率的ルックアップ」アーキテクチャにて最も適切なデータ構造 ((ハッシュマップ(HASH-MAP)、静的配列(STATIC ARRAY)、バイナリサーチツリー(BINARY SEARCH TREE)、単精度整数(single INTEGER)) を選択することで、メモリ効率的モデルを生成する手順の概略図である。
図20は、語彙サイズが100万である大規模連続音声認識のタスクに用いた場合における「高速メモリ効率的ルックアップ」アーキテクチャでのメモリ最適化の前で、出力アークの数と状態数とを比較するデータを示す。
図21は、大規模連続音声認識のタスクに用いた場合における高速メモリ効率的ルックアップ」アーキテクチャにて、バイナリサーチツリーを使うための出力アークに対してメモリフットプリント(footprint)を比較したデータを示す。
図22は、大規模連続音声認識のタスクに用いた場合にて、従来のアプローチ(KenLMと呼ばれる)と、実施された「高速メモリ効率的ルックアップ」アーキテクチャについて、速度(つまり、実時間係数(RTF))を比較したデータを示す。
図23は、大規模連続音声認識のタスクに用いた場合にて、従来のアプローチ(KenLMと呼ばれる)と、実施された「高速メモリ効率的ルックアップ」アーキテクチャについて、メモリフットプリント(ギガバイト)を比較したデータを示す。
本発明は、並列処理プラットホームで、大規模グラフ探索計算を実行する方法を示す。本発明は、演算デバイスの1又は複数の中央演算処理装置(CPU)を用いることと組み合わせて、グラフィック処理装置(GPU)を用いる「オンザフライ仮説リスコアリング」の方法を示す。本発明は、大語彙連続音声認識(LVCSR)のタスクに適用されるものとして、ある実施形態について説明される。当該分野における通常の知識を有する者であれば、本発明の方法が、手書き認識、画像ベースのジェスチャー認識や画像理解のような、大規模グラフ探索演算が必要とされるその他の統計的推測タスクに適用可能であることは分かるであろう。
本発明について、ハイブリッドGPU/CPUアーキテクチャ用の新規なオンザフライ仮説リスコアリングアルゴリズムを説明する。本発明のアプローチの概略は、図1に示されている。
与えられた入力信号(符号1)と1組の統計モデル(符号15、16及び18)について、サーチが実行されて、入力信号に最も良くマッチするモデルを共同的に介して、ベストなトークンシーケンス(符号2)が見つけられる。
本発明のある実施例では、つまり、大語彙連続音声認識(LVCSR)のタスクにおいて、入力信号(符号1)は、マイクロホンからキャプチャされたデジタルオーディオであってよく、出力(符号2)は、ユーザが発音したものに最も良くマッチする語系列であってよい。大語彙連続音声認識(LVCSR)のタスクでは、符号15は、音声モデル(例えば、ガウス混合モデル又は多層ニューラルネットワークベースの確率モデル(Deep Neural Network-based Stochastic Model))にマッピングし(map to)、符号16は、十分に合成されたHレベル重み付き有限状態トランスデューサ(WFST)ベースのサーチグラフであり(このようなグラフの例示的な具体例は、図5に示されている)、符号18は、言語モデル(例えば、言語モデルの確率は、静的なルックアップテーブル、又は代替的には、多層ニューラルネットワークベースの統計モデルに格納される)であろう。
本発明では、サーチは、以下の要領で実行される。初期化(図1、ステップ3)で、どの一時作業メモリ(符号17及び19)もクリアされて、状態尤度(state likelihood)が、サーチネットワークについて初期化される。具体的には、ネットワークの初期状態(状態0)について、尤度は、1.0に設定され、その他全ての状態について、尤度は、0に設定される。例示した具合例では、符号37は、図5にてサーチグラフの初期状態を示している。
入力信号が最初に受信されると、サンプルが最初にキャプチャされて(符号4)、 一組の表現特徴(representative features)が、サンプルから計算又は抽出される(符号5)。得られた「特徴ベクトル」は、キャプチャされた信号の最も有益な様相の低次の表現である。1又は複数の特徴ベクトルは、アプリケーションのタスクに応じて、サンプル毎に演算されてよい。
本発明のある実施形態、つまりLVCSRでは、入力信号(符号1)はデジタルオーディオである。このタスクでは、25mSのオーディオサンプルが10mS毎にキャプチャされて(ステップ4及び13)、入力信号がオーバーラップしてよい。音声特徴は、その後、各25mSのオーディオサンプルについて計算されてよい。このタスクに使用され得る典型的な音声特徴は、log−Melフィルタバンドエネルギとメル周波数ケプストラム係数(MFCC)の特徴を含んでいてよい。同様なアプローチは、画像又はオーディオビジュアル信号が入力信号である場合にも使用できる。サンプルキャプチャ(ステップ4及び13)と特徴計算(ステップ5)は、CPU又はGPUの演算アーキテクチャの何れかを用いて、任意の演算デバイスで計算される。それらは、本発明では、その他のステップとして、同じ演算デバイス上で実行される必要は必ずしもない。
特徴ベクトルが生成されると(ステップ5)、N−bestサーチがその後、GPUで実行され(ステップ6、7、8、11及び12)、CPUを活用して、CPUのメインメモリに格納されたトークンシーケンスモデル(ステップ18)を利用して、組み込まれたモデルの尤度の補正が演算される(ステップ9及び10)。サーチ中、最初の観測尤度(observation likelihoods)は、ガウス混合モデル又は多層ニューラルネットワークベースモデルなどの統計的観測モデル(符号15)を用いて、新しい特徴ベクトルの各々について演算される(ステップ6)。ステップ7では、状態尤度は、式(1)を用いており、ステップ6で演算された観測尤度と先の時間のステップの観測尤度とに基づいている。新しい部分的仮説g′の状態尤度α[g′]は、以下のように計算される。
ここで、β[e]は、(符号15を用いて演算された)入力シンボルi[e]の観測尤度であり、w[e]は、(符号16からの)状態遷移確率であり、a[g]は、先の時間同期(previous time-synchronous)からの状態尤度である(ステップ6)。
本発明では、モデル尤度補正、c[e,h[g]]が導入されて、非常に大きなモデルにオンザフライを適用可能にする。
モデル尤度補正係数、c[e,h[g]]は、小さなモデルPuni(o[e])(即ち、WFST合成中に適用された言語モデル)のモデル尤度と、サーチ中に適用される非常に大きいモデルPngm(o[e]|h[g])(符号18)のモデル尤度の差である。
h[g]は、仮説gの出力シンボルシーケンスである。
ここで、CPUメモリに格納されている大きなモデル(符号18)は、Pngm(o[e]|h[g])を演算するのに使用される。次に、状態尤度[g′]が、式2として記載したモデル尤度補正係数を用いて、アップデートされる(ステップ10)。
リスコアリングが実行された後、部分的仮説が、それらの状態尤度a[g′]に基づいてランク分けされて、ランキング閾値未満のものが、考慮から除外される(ステップ11)。
このサーチプロセス(ステップ6、7、8、9、10、11、12、13)は、最後のサンプルに出くわすまで(ステップ12)、繰り返される。そのポイントにて、バックトラック(back-track)が、CPUで実行されて(ステップ14)、最後の1−best仮説出力(符号2)を生成する。バックトラックテーブル(アクティブな部分的仮説のリストと、部分的仮説が変更されたより前のフレームへのバックポインタとを格納するテーブル)が、GPU(符号17)とCPU(符号19)の間で作業メモリにて共有される。このテーブルの同期を維持するために、CPUは、各サンプルが処理された後に、GPUからCPUへとバックトラック情報にわたってコピーする(符号20)。
ある実施例では、バックトラックを実行する前に出くわす最後のサンプルを待っている(符号12)のではなく、20個のサンプル毎にて、又は、単一−ベスト出力が将来にて変換しないであろうポイントにて、バックトラックがCPUで実行される(符号14)。
本発明では、n−bestビタビ探索が、n−best仮説リストを各アーク及び状態に割り当てることで実行される。複数のアークが同じ状態で出くわす場合、n−best仮説リストはマージされて、ビタビ探索は、全てのn−best仮説リストにわたってn個の最小重み仮説(minimally weighted hypotheses)を選択する。図9では、状態s2からのf4と状態s3からのf2とは、それらの全重みに基づいてソートされた順序で維持される。加えて、仮説が同じ高次の履歴を有している場合、重みがより小さい仮説のみが維持されるだろう。例えば、f”1は削除される。なぜならば、s5にて出くわす場合にf”4と比較して、この仮説は、同じ高次の履歴「ba」を有しているが、重みが高いからである。n−bestリストを維持することは、比較に値する精度を得るのに重要である[7]。2.1にて説明されたようなベストの仮説を選択する場合、最終的なベストの仮説の部分的仮説は、仮説がリスコアされ得る非イプシロン(non-epsilon)出力でトランジションeに至る前に、削除される。このシナリオは、図9に図示されており、仮説f1は、一般的なデコードアプローチを用いた場合のオリジナルのベスト経路であり、f4は、リスコアされたベスト経路である。ベストの仮説のみを維持するのであれば、全体的なベストの仮説f4は、リスコアリングが適用され得るs3とs4の間のアークに達することはできない。n−bestリストの最大サイズは、語彙のサイズと言語モデルの次数とに基づいて注意深く決定されるべきである。与えられた語彙のサイズにおいて、低次の言語モデルと合成されるWFSTは、比較可能な精度を得るためには、高次の言語モデルと合成されるものと比較してより大きいnを必要とする。これは、同じ行き先の状態へとアークを集めるのが厳しいことによる。同様に、より語彙が多いWFSTは、リスコアリングポイントまで達するまでに最終的なベストとを維持するのに、より大きいn−bestリストを必要とする。
本発明は、幾つかの例示的な実施形態に基づいて説明されている。それらは、全ての点において、限定ではなく、説明を目的としている。特に、本発明は、大語彙連続音声認識演算に適用されるものとして、ある実施形態について説明されてきた。当該分野における通常の知識を有する者であれば、本発明は、大規模グラフ探索演算のその他の5つのタイプに適用できることが分かるであろう。故に、本発明は、具体的な実施において様々に変更でき、それらは、当業者であれば本明細書の記載から導き出せるであろう。このような変更とその他の変更の全ては、本発明の範囲と精神に含まれると考えられる。
[実証例]
図6、図7及び図8に、提案した「オンザフライ」リスコアリング方法の効果を実証するための音声認識タスク用の一組の例示のモデルを示す。
最初に、サーチグラフ(図1、符号16)を準備するために、大きな言語モデルからエントリをサブセレクトし(図7)、モデルのコンパイル中に使用する必要がある。この実証例では、確率が0.05よりも大きいモデルエントリをサブセレクトした。これにより、図6に示す小さな言語モデルが得られた。その結果のサーチグラフは、図5に示したものと同様な構造であろう。
大きなモデルから最適なモデルエントリを選択して、小さいモデル及びサーチを生成する方法は、図2及び図3に夫々示されている。
図8は、図6及び図7に掲載された言語モデルを用いる前と後の双方について、6つの部分的仮説に関する確率を示している。図8は、「recognize a beach …」は、リスコアリング前にて最も高い確率を有していることを示している。しかしながら、リスコアリング後では、より妥当な仮説「recognize speech」が最も高い確率を有している。語系列(「<s> recognize speech </s>」)の確率は、オリジナルのモデルで比較的高いが、これらのエントリは、GPU上でサーチを実行するための小さい言語モデルとサーチグラフを生成するために廃棄される必要があった。
[実験の評価]
WSJタスクの大語彙バージョンを用いて、大語彙連続音声認識(LVCSR)のタスクについて本発明の効果を評価した。1992年11月のARPA WSJ 5k評価セット(330センテンス)と、1993年11月のARPA WSJ 20k評価セット(213センテンス、語彙制約無し(open vocabulary))とからなる複合評価セットを使用した。
我々の音声モデルは、LDA変換を用いた39次元のMFCCのフィート(feat)を有するWSJデータセットでKaldiツールキット[22]を用いて、トレーニングされた。得られた音声モデルは、240Kガウシアンと2,946個の音声状態(phonetic state)とを含んでいた。
WFSTは、[5,6]に説明されているようにして、GPU加速プラットホームの効率的並列時間同期グラフ探索について、オフラインで合成及び最適化された。表1は、5k及び1000kの語彙の言語モデルについて、最終的な完全に合成されたWFSTのサイズを示す。2つのIntel Xeon E5−2640 6−core CPUを有する4−way NVIDIA Tesla K20 GPUサーバの単一のGPUを用いて、提案したアルゴリズムを評価した。NVIDIA Tesla K20 GPUは、2,496個のCUDAコアと5GBのGDDR5メモリを有する13個のストリーミングマルチプロセッサ(SMX)を含んでいる。オペレーティングシステムは、Ubuntu 12.04 LTS(64ビット)であり、デコーダは、g++4.6とnvcc5.0でコンパイルされた[23]。以下のセクションでは、以下の合成スキームを比較する:3−gramの言語モデルで構成されたWFSTを用いた従来のアプローチ(STD−3)、lbw2.3としてラティスビームを用いた、ラティス生成リスコア2−gram/3−gram言語モデルの組合せ(LATR−2.3)、m2.3スレッドを用いてn2.3−bestサーチを実行する、提案のオンザフライリスコア2−gram/3−gramの組合せ(OTFR−2.3)。
精度性能:最初の評価では、小語彙5Kテストセットを用いて提案のリスコアリングアプローチ(OTFR)の精度を評価する試みをした。言語モデルは異なるが、同じ知識ソースを用いて完全に合成された3つのWFSTを生成した。1−gramと2−gramのケースでは、提案したオンザフライ仮説リスコアリングアプローチを適用した。3−gram言語モデルを用いて、N1、N2とリスコアされたオンザフライでデコードすることで、n1.3が9、n2.3が9である場合に、STD−3ケースとLATR−2.3とに対して同様なワードエラーレート(WER)を得た。n1.3はn2.3よりも大きく、3に説明されているように、n2.3と比較して同程度のWER、5.4%を得た。同様に、LATR−2.3は、全てのデコードアプローチにわたって、与えられたグローバルビームについて比較可能な精度を得るために、より広いlbw2.3を必要とする。大語彙(100万語彙)では、n2.4、n3.4が3である場合に、OTFR−2.4は、OTFR−3.4のケースと比較して0.3%の絶対精度の低下を示した。これは、低次の言語モデルに加えて大語彙は、従来及びラティスリストアリングアルゴリズムを用いて比較可能な精度を得るためには、より大きなnを必要とすることを明らかにしている。
速度性能:第2の評価では、シングルコア実行例とGPU加速マルチコア実行例の両方を用いてデコード速度を評価した。ベースラインの実行例は、自動チューニング線形代数ソフトウェア(Automatically Tuned Linear Algebra Software)(ATLAS)を用いて最適化されて、音声重み演算処理を加速している。図10及び図11のGPU/CPU評価では、言語モデルのルックアップが、GPUでの音声モデル演算と同時に、多数のCPUコアにわたって並列に実行された。これらのステップの内訳は、図12に示されている。図12は、最適化なしの、ベースラインである従来のGPUデコードアプローチを示す。言語モデルのルックアップは、デコード時間の大半を消費した。OpenMpを用いて言語モデルのルックアップをすることで(b)、ルックアップに要する時間は、0.71から0.06RTFへと11.6×の因子で低減される。最後に、GPUでの音声重み演算と同時に言語モデルのルックアップを実行することで、全体的なデコード時間は、0.20RTFから0.12RTFへと更に低減される。図10は、GPUとコアCPUを効率的に用いることで、WERが6.5%である場合に、OTRF−3.4は、デコード速度がリアル−タイムよりも10倍速くなることを示している。高度に最適化された単一CPUの実行例と比較して、24×速い。その結果は、高次の言語モデルと合成されたWFSTは、デコード速度の点でより適切であることを示している。図11では、OTFR2.3は、WERが5.4%である場合にOTFR−1.3よりも、相対的に40%速い。また、図11にて、OTFR2.3は、OTFR−2.4よりも相対的に速いことが観測される。
[高並列演算アーキテクチャでソートリストをマージする方法:アトミックマージソート]
ビタビ検索中のn−best仮説の維持は、多数の並列化課題を有する。最も重要な課題は、再収束(reconvergent)経路上でのn−bestリストのマージである。我々は、最小重みの仮説を用いてソートしたn−bestリストを最上に維持することを選択する。これによって、「マージソート」プロセスへとn−best仮説リストをマージする処理が簡単になる。CPUでは、この処理は、非常に効率的に実行できる。
GPUでは、しかしながら、数百のアークがあって、各々がn−bestリストを伴っており、同じ時間にて行先の状態にてn−bestリストに書き込もうと試みることがあり得る。我々は、図16に示すように、アトミックコンベアアンドスワップ(Compare-And-Swap)処理を用いて、高並列プラットホーム上で自動的にn−bestリストをマージする新規な方法を開発した。GPUは、効率的に実行されるハードウェアサポートアトミック処理をもたらし、この能力を活用して、このプラットホーム上で「アトミックマージソート」方法を実施する。図13、14、15及び16を参照。
[マルコフモデル確率の高速メモリ効率的ルックアップのアーキテクチャ]
オンザフライ仮説リスコアリングアプローチは、上述したように、大きなモデル(典型的には、マルコフモデルであり、トークンシーケンスの確率を与える)を、GPU上でのWFSTサーチに導入することを可能とする。GPUでのサーチ中にトークン境界に出くわすと、(履歴状態ID、WFST重み及び現在のトークンからなる)部分的仮説は、CPUに格納されたより大きいモデルを用いて、リスコアされる。(図1のステップ9の「リスコアリング重みを演算」に示された)モデルのリックアップ効率は、高速な認識にとって重要である。
このステップに必要とされる時間を低減するために、迅速な仮説リスコアリングに最適化された新規なグラフベースのモデル構造を開発した。このモデルの概要は、図17に示されている。このモデルは、グラフ構造内の状態として履歴(トークンシーケンス)を示している。履歴の確率(Probabilities of histories)は、これらの状態からの出力アークとして格納される。履歴とトークンの両方は、このフレームワーク内にて整数として表現されており、直接に使用されるトークンIDは、GPUでのサーチ中に適用される、完全に合成されたWFSTのものにマッチする。仮説リスコアリング中、特定の<状態ID(h),トークンID(t)>対についての確率の演算は、(アレイの直接インデックスルックアップ(direct index lookup)である)状態IDを見つけることと、対象であるトークンIDについて出力アークを探索することと、その後、確率p(トークンID(t)|状態ID(h))とアップデートされた状態IDの何れかを返すこととを含んでいる。
図17は、提案したグラフベースの構造に表現された小さい言語モデルを示している。各ノードは、固有の履歴(固有のトークンシーケンス)を示している。実線のアークには、トークンとその確率とが付されており、これらのアークは、新しい履歴に通じている。点線のアークは、バックオフ(back-off)アークを表している。それらには、バックオフ重みが付されており、それらは、履歴が低減された状態に通じている。
図18は、このアプローチを用いて、特定の<状態ID(h),トークンID(t)>対について確率を得るために必要なプロセスを示している。
このモデルに必要とされるメモリフットプリントを低減するために、新規な方法が使用され、当該方法では、出力アークの組を格納するのに使用されるデータ構造が、状態に存在するアークの数に応じて変化する。我々は、4つのデータ構造、つまり、ハッシュマップ(HASH-MAP) (デフォルト)、静的アレイ(STATIC ARRAY)、バイナリサーチツリー(BINARY-SEARCH TREE)、又は単精度整数(single INTEGER)を用いたプロトタイプを実施した。しかしながら、この目的のために、その他のデータ構造も使用されてよい。
図19に記載された方法は、データを格納するのに要求されるメモリフットプリントをできるだけ小さくするのに使用される。最初に、全ての出力アークがハッシュマップを用いて格納されている初期モデルをロードし(符号9)、モデルの最初の状態(S)を選択する [ステップ]。モデルの各状態にて、その後、出力アークの数が比較される。
[実験的評価]
プロトタイプでは、非常に大きな言語モデル(100万語、488万個の確率)からの確率を格納するために上述したようなヘテロジニアスなデータ構造を用いて評価した。最初に、単一のエントリのみを有するハッシュマップを単精度整数に置き換えた。これによって、28.64ギガバイトから22.50ギガバイトへと、要求されるメモリフットプリントが21.4%低減した。
次に、出力アークにおいて語彙の90%以上を有するハッシュマップを、総語彙のサイズに合う静的アレイデータ構造に置き換えた。このケースでは、出力アークの組では起こらなかったトークンが、このアレイ内にて(1ルックアップで)特定される。メモリ使用は、このアプローチを用いて22.50から22.47ギガバイトへと低減された。
最後に、より多くのTarcの出力アークを有するハッシュマップを、バイナリサーチツリーで置き換えた。Tarcの値を2から10,000(<総語彙サイズの1%)に変化させることで、メモリ使用を10.5ギガバイトに低減できた。これは、オリジナルのハッシュマップベースでの実施と比較して、メモリ使用の63.4%の低減になる。Tarcは、特定のプラットホーム又はデータセット、メモリフットプリント対ルックアップ速度について最適化できる。実験結果は、図20、図21、図22、及び図23に示されている。
本発明は、詳細に、且つ特定の実施形態について説明されたが、当該分野における通常の知識を有する者には、それら実施形態の精神と範囲から逸脱することなく、様々な変更及び修正を行うことができることが明らかであろう。故に、本発明は、添付の請求項とそれらの均等物の範囲内において本発明の変更と変形を含んでいる。

Claims (1)

  1. グラフ探索についてコンピュータで実施される統計的推測方法であって、
    中央処理装置(CPU)及びグラフィック処理装置(GPU)を備える演算プラットホームを用意する工程と、
    尤度を初期化する工程と、
    入力信号についてサンプルをキャプチャする工程と、
    前記サンプルからサンプル特徴を演算する工程と、
    サンプル特徴の各々について、観測尤度を演算する工程と、
    過去のタイムステップにおけるサンプル特徴及び尤度の各々について、観測尤度に基づいて尤度をアップデートして、一組の部分的仮説を作成する工程と、
    一組の部分的仮説の各々の部分的仮説について尤度補正を演算する工程と、
    一組の部分的仮説の各々の部分的仮説について尤度補正をアップデートする工程と、
    アップデートされた一組の部分的仮説でバックトラックを実行して、アップデートされた一組の部分的仮説における最も起こり得る部分的仮説を決定する工程と、
    を含む方法。
JP2015531297A 2012-09-07 2013-09-09 ハイブリッドgpu/cpuデータ処理方法 Expired - Fee Related JP6346893B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261743607P 2012-09-07 2012-09-07
US61/743,607 2012-09-07
PCT/US2013/058829 WO2014040003A1 (en) 2012-09-07 2013-09-09 Methods for hybrid gpu/cpu data processing

Publications (3)

Publication Number Publication Date
JP2015529350A true JP2015529350A (ja) 2015-10-05
JP2015529350A5 JP2015529350A5 (ja) 2016-09-01
JP6346893B2 JP6346893B2 (ja) 2018-06-20

Family

ID=50237686

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015531297A Expired - Fee Related JP6346893B2 (ja) 2012-09-07 2013-09-09 ハイブリッドgpu/cpuデータ処理方法

Country Status (7)

Country Link
US (1) US9558748B2 (ja)
EP (1) EP2893435B1 (ja)
JP (1) JP6346893B2 (ja)
KR (1) KR101970041B1 (ja)
CN (1) CN104903849B (ja)
HK (1) HK1214869A1 (ja)
WO (1) WO2014040003A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020179193A1 (ja) * 2019-03-04 2020-09-10 ソニー株式会社 情報処理装置及び情報処理方法

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150220632A1 (en) * 2012-09-27 2015-08-06 Nec Corporation Dictionary creation device for monitoring text information, dictionary creation method for monitoring text information, and dictionary creation program for monitoring text information
JPWO2014049998A1 (ja) * 2012-09-27 2016-08-22 日本電気株式会社 情報検索システム、情報検索方法およびプログラム
CN103971686B (zh) * 2013-01-30 2015-06-10 腾讯科技(深圳)有限公司 自动语音识别方法和系统
CN104202209B (zh) * 2014-08-05 2017-12-22 北京遥测技术研究所 一种基于cuda的多体制信号频率快速捕获实现方法
KR102248787B1 (ko) * 2014-08-28 2021-05-06 삼성전자 주식회사 Gpu의 리소스에 대한 전력 소비 제어방법 및 장치
US10417052B2 (en) 2014-10-31 2019-09-17 Hewlett Packard Enterprise Development Lp Integrated heterogeneous processing units
JP6453631B2 (ja) * 2014-11-28 2019-01-16 株式会社東芝 認識システム、認識方法およびプログラム
US10140572B2 (en) 2015-06-25 2018-11-27 Microsoft Technology Licensing, Llc Memory bandwidth management for deep learning applications
US10002402B2 (en) 2015-07-23 2018-06-19 Sony Corporation Learning convolution neural networks on heterogeneous CPU-GPU platform
CN105577229B (zh) * 2015-12-07 2018-04-13 中国电子科技集团公司第十研究所 Cpu辅助gpu实现扩频信号快速捕获方法
US10453445B2 (en) * 2016-02-16 2019-10-22 Carnegie Mellon University System and method for multi-user GPU-accelerated speech recognition engine for client-server architectures
US11107461B2 (en) 2016-06-01 2021-08-31 Massachusetts Institute Of Technology Low-power automatic speech recognition device
US10446138B2 (en) 2017-05-23 2019-10-15 Verbit Software Ltd. System and method for assessing audio files for transcription services
KR102339716B1 (ko) * 2017-06-30 2021-12-14 삼성에스디에스 주식회사 음성 인식 방법 및 그 장치
CN109388428B (zh) * 2017-08-11 2021-05-04 华为技术有限公司 图层遍历方法、控制装置及数据处理系统
KR20190055610A (ko) 2017-11-15 2019-05-23 삼성전자주식회사 뉴럴 네트워크 모델들의 공용 연산 그룹을 단일 처리하는 뉴럴 네트워크 시스템, 이를 포함하는 애플리케이션 프로세서 및 뉴럴 네트워크 시스템의 동작방법
US11775815B2 (en) 2018-08-10 2023-10-03 Samsung Electronics Co., Ltd. System and method for deep memory network
US11011156B2 (en) * 2019-04-11 2021-05-18 International Business Machines Corporation Training data modification for training model
US11803733B2 (en) 2019-08-01 2023-10-31 Samsung Electronics Co., Ltd. Method for implementing neural network model in heterogeneous computing platform and apparatus for performing the same
CN113360187B (zh) * 2021-04-22 2022-11-04 电子科技大学 一种基于CUDA与OpenMP的三维Kriging算法协同加速方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005091518A (ja) * 2003-09-12 2005-04-07 Nippon Hoso Kyokai <Nhk> 音声認識装置及び音声認識プログラム
JP2009086202A (ja) * 2007-09-28 2009-04-23 Kddi Corp 音声認識における音響尤度並列計算装置及びそのプログラム
JP2011027910A (ja) * 2009-07-23 2011-02-10 Kddi Corp パターン認識方法および装置ならびにパターン認識プログラムおよびその記録媒体

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62199860A (ja) 1986-02-18 1987-09-03 カイハツボ−ド株式会社 木質繊維マツト
US5477451A (en) * 1991-07-25 1995-12-19 International Business Machines Corp. Method and system for natural language translation
US5388183A (en) * 1991-09-30 1995-02-07 Kurzwell Applied Intelligence, Inc. Speech recognition providing multiple outputs
US6249761B1 (en) * 1997-09-30 2001-06-19 At&T Corp. Assigning and processing states and arcs of a speech recognition model in parallel processors
US20080094404A1 (en) * 2003-11-19 2008-04-24 Reuven Bakalash Computing system having multi-mode parallel graphics rendering subsystem including multiple graphics processing pipelines (GPPLS) and supporting automated division of graphics commands and data during automatic mode control
GB2409750B (en) * 2004-01-05 2006-03-15 Toshiba Res Europ Ltd Speech recognition system and technique
US7734460B2 (en) * 2005-12-20 2010-06-08 Microsoft Corporation Time asynchronous decoding for long-span trajectory model
US7877256B2 (en) * 2006-02-17 2011-01-25 Microsoft Corporation Time synchronous decoding for long-span hidden trajectory model
JP4439491B2 (ja) 2006-05-24 2010-03-24 株式会社ソニー・コンピュータエンタテインメント マルチグラフィックスプロセッサシステム、グラフィックスプロセッサおよびデータ転送方法
US8566259B2 (en) 2009-09-04 2013-10-22 The Regents Of The University Of California Method and system for parallel statistical inference on highly parallel platforms
US8484154B2 (en) * 2009-12-14 2013-07-09 Intel Corporation Methods and systems to traverse graph-based networks
US8464026B2 (en) 2010-02-17 2013-06-11 International Business Machines Corporation Method and apparatus for computing massive spatio-temporal correlations using a hybrid CPU-GPU approach
US9747413B2 (en) * 2010-07-20 2017-08-29 King Abdullah University Of Science And Technology Adaptive processing for sequence alignment
US8830245B2 (en) 2010-12-14 2014-09-09 Amazon Technologies, Inc. Load balancing between general purpose processors and graphics processors
US9240184B1 (en) * 2012-11-15 2016-01-19 Google Inc. Frame-level combination of deep neural network and gaussian mixture models

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005091518A (ja) * 2003-09-12 2005-04-07 Nippon Hoso Kyokai <Nhk> 音声認識装置及び音声認識プログラム
JP2009086202A (ja) * 2007-09-28 2009-04-23 Kddi Corp 音声認識における音響尤度並列計算装置及びそのプログラム
JP2011027910A (ja) * 2009-07-23 2011-02-10 Kddi Corp パターン認識方法および装置ならびにパターン認識プログラムおよびその記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020179193A1 (ja) * 2019-03-04 2020-09-10 ソニー株式会社 情報処理装置及び情報処理方法

Also Published As

Publication number Publication date
US20150243285A1 (en) 2015-08-27
JP6346893B2 (ja) 2018-06-20
KR101970041B1 (ko) 2019-04-18
EP2893435A4 (en) 2016-05-04
WO2014040003A1 (en) 2014-03-13
CN104903849A (zh) 2015-09-09
HK1214869A1 (zh) 2016-08-05
US9558748B2 (en) 2017-01-31
CN104903849B (zh) 2017-11-28
EP2893435A1 (en) 2015-07-15
EP2893435B1 (en) 2019-05-08
KR20150065171A (ko) 2015-06-12

Similar Documents

Publication Publication Date Title
JP6346893B2 (ja) ハイブリッドgpu/cpuデータ処理方法
CN107870902B (zh) 神经机器翻译系统
JP6629872B2 (ja) 配置されたエンドツーエンド音声認識
Sundermeyer et al. Comparison of feedforward and recurrent neural network language models
Chelba et al. One billion word benchmark for measuring progress in statistical language modeling
JP5331801B2 (ja) 言語モデル先読み確率を計算する方法および装置
US8566259B2 (en) Method and system for parallel statistical inference on highly parallel platforms
EP4018437B1 (en) Optimizing a keyword spotting system
US20160093297A1 (en) Method and apparatus for efficient, low power finite state transducer decoding
US20190147856A1 (en) Low-Power Automatic Speech Recognition Device
Beck et al. Lstm language models for lvcsr in first-pass decoding and lattice-rescoring
US20120245919A1 (en) Probabilistic Representation of Acoustic Segments
Kim et al. Efficient On-The-Fly Hypothesis Rescoring in a Hybrid GPU/CPU-based Large Vocabulary Continuous Speech Recognition Engine.
Seki et al. Vectorized Beam Search for CTC-Attention-Based Speech Recognition.
Inaguma et al. Orthros: Non-autoregressive end-to-end speech translation with dual-decoder
Beck et al. LVCSR with Transformer Language Models.
Kim et al. Accelerating large vocabulary continuous speech recognition on heterogeneous cpu-gpu platforms
Chong et al. Efficient automatic speech recognition on the gpu
US10878806B1 (en) System and computer-executable program code for accelerated rescoring with recurrent neural net language models on hybrid CPU/GPU machines using a frame-wise, delayed dispatch of RNNLM score computation tasks to the GPU(s)
WO2012076895A1 (en) Pattern recognition
Chen et al. Recurrent neural network language models for keyword search
JP6078435B2 (ja) 記号列変換方法、音声認識方法、それらの装置及びプログラム
Zhang et al. Improving Language Modeling with an Adversarial Critic for Automatic Speech Recognition.
Lee et al. Multi-stream combination for LVCSR and keyword search on GPU-accelerated platforms
Chen Cued rnnlm toolkit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170711

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20171010

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171124

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180528

R150 Certificate of patent or registration of utility model

Ref document number: 6346893

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

LAPS Cancellation because of no payment of annual fees