JP6466863B2 - 最適化装置、最適化方法、およびプログラム - Google Patents

最適化装置、最適化方法、およびプログラム Download PDF

Info

Publication number
JP6466863B2
JP6466863B2 JP2016022569A JP2016022569A JP6466863B2 JP 6466863 B2 JP6466863 B2 JP 6466863B2 JP 2016022569 A JP2016022569 A JP 2016022569A JP 2016022569 A JP2016022569 A JP 2016022569A JP 6466863 B2 JP6466863 B2 JP 6466863B2
Authority
JP
Japan
Prior art keywords
vector
matrix
unit
elements
input
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
Application number
JP2016022569A
Other languages
English (en)
Other versions
JP2017142593A (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.)
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 JP2016022569A priority Critical patent/JP6466863B2/ja
Publication of JP2017142593A publication Critical patent/JP2017142593A/ja
Application granted granted Critical
Publication of JP6466863B2 publication Critical patent/JP6466863B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、統計的技術に関し、特に、出力変数を元に、当該出力変数とある程度の相関を持つように入力変数を最適化する技術に関する。
目的音を強調する技術として、ウィナーフィルタに基づく音強調を説明する。時間周波数領域での観測音は以下のように近似できる。
ω,τ=Sω,τ+Nω,τ (1)
ここでω={1,2,・・・,Ω}とτ={1,2,・・・,F}は時間と周波数のインデックス、Sω,τは目的音、Nω,τは雑音である。ここで音源からマイクロホンまでの伝達特性は問題の簡単のために無視した。さらに、目的音と雑音は無相関であると仮定し、目的音のパワースペクトル密度(PSD)をφS,ω,τ=|Sω,τ、雑音のPSDをφN,ω,τ=|Nω,τとしたとき、目的音を抽出するウィナーフィルタは以下のように近似できる。
Figure 0006466863

ここでξω,τ=φS,ω,τ/φN,ω,τは事前SNRを表す。入力されたXω,τにウィナーフィルタを乗ずることで、目的音Yω,τが抽出される(ウィナーフィルタリング)。
ω,τ=Gω,τω,τ (3)
式(2)(3)より、雑音下で目的音だけをクリアに収音するためには、目的音と雑音のPSD φS,ω,τ, φN,ω,τか、事前SNRξω,τを正確に推定すればよいことが分かる。
従来の雑音下で目的音を強調する技術では、混合ガウスモデル(GMM)(例えば、非特許文献1等参照)やディープニューラルネットワーク(DNN)(例えば、非特許文献2等参照)などの音響特徴量を用いた音強調技術が代表的である。音源のモデル化に基づくウィナーフィルタ設計は、観測信号からの音響特徴量の抽出と、音響特徴量を事前に学習した統計モデルを用いて事前SNR等にマッピングする2つの処理から成る。これらの方法の性能を高めるには、入力された音響特徴量と事前SNRが強い(非線形な)相関を持つことが必要である。音響特徴量と事前SNRがいかなる相関も持たない場合、柔軟で洗練されたマッピング法を用いても、収音性能は向上しない。すなわち、音源のモデル化に基づくウィナーフィルタ設計を達成するためには、事前SNRを正確に推定できる、有効な音響特徴量を選択する必要がある。
D次元の音響特徴量をfτ=(f1,τ,・・・,fD,τ、推定したい事前SNRをξτ、(・)の転置を(・)と記述する。ただしξτは全周波数ビンの事前SNRを並べた物でもよいし、フィルタバンクごとの事前SNRを並べた物でもよいし、ある一つの周波数ビンやフィルタバンクの事前SNRでもよい。
音響特徴量の選択法として、特徴選択という枠組みがある。これは、大量の音響特徴量の候補の中から目的音の強調に有効な特徴量だけを取り出すものである。ここではQ(>D)次元の音響特徴量の候補gτの中から、目的音の強調に有効なD個の音響特徴量fτだけを用いて事前SNR ξτを推定する。特徴選択の手続きは、選択行列A:R→R,Q>Dを用いて以下のように表現できる。
τ=Agτ (4)
ただし、gτは音響特徴量の候補を要素とするQ次元のベクトルであり、fτは目的音の強調に有効なD個の音響特徴量を要素とするQ次元のベクトルである。選択行列Aの各行は、1つの要素だけが正の値を持ち、それ以外の要素の値は0となる。つまり音響特徴量の選択問題は、選択行列Aの最適化問題である。
従来の選択行列Aの最適化手法の一つに、音響特徴量fτと事前SNR ξτとの相互情報量を最大化するように選択行列Aを最適化するものがある(例えば、非特許文献3等参照)。しかし、この手法で相互情報量を計算するためには、同時分布p(ξτ,Agτ)や周辺分布p(ξτ),p(Agτ)が既知である必要がある。多くの場合、これらの分布は未知であり、何らかの形で推定したり近似したりしなくてはならない。非特許文献3では同時分布p(ξτ,Agτ)をGMMで近似表現し、選択行列Aと同時分布p(ξτ),p(Agτ)を一般化EMアルゴリズムで同時最適化しているが、同時分布を十分に近似できず音質が劣化する。
他の従来手法として、再生核ヒルベルト空間上での相互共分散作用素を評価することで相互情報量を計算し、選択行列Aを最適化する“カーネル次元圧縮”が提案されている(例えば、非特許文献4等参照)。
非特許文献4の手法では、選択行列Aの最適化が組み合わせ最適化になり、選択行列Aの各行の設定に、組み合わせ最適化ないしランダムサーチを用いなくてはならない。つまり、全ての組み合わせで相互共分散作用素を評価し、その中で相互共分散作用素が最大となる音響特徴量の組み合わせを選択しなければならない。そのため、音響特徴量の候補の次元が大きくなるにつれ評価が困難になる。
このような問題は、事前SNRを元に、当該事前SNRとある程度の相関を持つように音響特徴量を最適化する場合に限られたものではない。何らかの出力変数(出力情報)を元に、当該出力変数(出力情報)とある程度の相関を持つように入力変数を最適化する場合に共通する問題である。
本発明の課題は、出力変数を元に、当該出力変数とある程度の相関を持つように入力変数を最適化する際の演算量を削減することである。
本発明では、インデックスtでの出力変数ξおよびQ個の入力変数の候補を要素とするベクトルgに対し、出力変数ξとベクトルAgとの相関の高さを表すコスト関数の値が大きくなるように、AAの対角成分に対応するベクトルaを更新し、更新されたベクトルaから選択行列Aの要素を得て出力する。ただし、Q>D≧1であり、(・)が(・)の転置であり、AがベクトルgのD個の要素に応じたD個の要素からなるベクトルAgを得るためのD行Q列の選択行列であり、ξはベクトルgの少なくとも一部の要素と相関を持つ。
以上により、Aを直接最適化するよりも、出力変数を元に、当該出力変数にある程度の相関を持つように入力変数を最適化する際の演算量を削減できる。
図1は実施形態の最適化装置の全体構成を例示したブロック図である。 図2は実施形態の更新処理部の構成を例示したブロック図である。 図3は実施形態の更新処理部の処理を説明するためのフロー図である。 図4Aは実施形態の更新量計算部の構成を例示したブロック図である。図4Bは実施形態の更新量計算の処理を説明するためのフロー図である。
以下、本発明の実施形態を説明する。
[理論]
まず数学的な理論を説明し、その後で図面を用いて本発明の実施形態を説明する。
ここでは時間周波数領域での観測音の事前SNR ξ(出力変数)を元に、事前SNR ξとある程度の相関を持つように音響特徴量(入力変数)を最適化する選択行列Aを得る場合を説明する。本形態の特徴点は以下の通りである。
(1)選択行列とガウシアンカーネルの特性を利用することにより、組み合わせ最適化を非線形最適化に置き換えた点。
(2)最適化に「確率的最急降下法」を導入し、全学習データを適切なサイズのミニバッチごとに分割してグラム行列の逆行列計算を近似することで、高速に最適化が可能になった点。
まずガウシアンカーネルは以下のように定義される.
Figure 0006466863

ただし、k(ξτ,ξτ’)は各時間インデックスτ,τ’での事前SNR ξτ,ξτ’に対応するガウシアンカーネルを表し、k(Agτ,Agτ’)は各時間インデックスτ,τ’でのAgτ,Agτ’に対応するガウシアンカーネルを表す。gτ=(g1,τ,・・・,gQ,τは時間インデックスτでのQ個の音響特徴量の候補gq,τ(ただし、q=1,・・・,Q)を要素としたQ次元ベクトルであり、gτ’=(g1,τ’,・・・,gQ,τ’は時間インデックスτ’でのQ個の音響特徴量の候補gq,τ’を要素としたQ次元ベクトルである。ξτはベクトルgτの少なくとも一部の要素と相関を持ち、ξτ’はベクトルgτ’の少なくとも一部の要素と相関を持つ。AはD行Q列の選択行列である。選択行列Aの各行は、1つの要素だけが正の値を持ち、それ以外の要素の値は0となる。fτ=Agτによって、D個の音響特徴量gd,τに対応するD個の音響特徴量fd,τを要素としたD次元ベクトルfτ=(f1,τ,・・・,fD,τが得られる。また、fτ’=Agτ’の演算によって、D個の音響特徴量gd,τ’に対応するD個の音響特徴量fd,τ’を要素としたD次元ベクトルfτ’=(f1,τ,・・・,fD,τ’が得られる。QおよびDはQ>D≧1を満たす整数であり、例えばD≧2である。exp(・)は(・)の指数関数を表し、(・)は(・)の転置を表す。
式(5)(6)を用いて計算されるグラム行列は以下となる。
Figure 0006466863

ただし、これらのグラム行列は時間区間[1,・・・,F](所定集合)内の各時間インデックスτ=1,・・・,F,τ’=1,・・・,Fでのガウシアンカーネルk(ξτ,ξτ’)およびk(Agτ,Agτ’)に対応するものである。Fは1以上の整数であり、例えばF≧2である。
カーネルを用いて計算される相互共分散作用素Σss|gは、グラム行列を用いて以下のように計算できる。
Σss|g=Σgg−ΣsgΣgg −1Σgs (9)
ただし、
Σss=K (10)
Σsg=K (11)
Σgs=K (12)
Σgg=K (13)
である。KおよびKは以下のように計算できる中心化グラム行列である。
=PGP (14)
=PGP (15)
ただし、
Figure 0006466863

であり、1=(1,・・・,1)∈R(F次元のベクトル)であり、IはF×Fの単位行列である。
二次モーメントまでで分布系が特定できるということは、再生核ヒルベルト空間で各要素とその条件付分布がガウス分布で表現できることに等しい。ゆえに、ガウス分布のエントロピーの性質から、相互共分散作用素Σss|gの大きさ(例えば、行列式や負のトレース)を最大化することで、相互情報量を最大化できる。
ところで行列Aが選択行列の場合、AA∈RQ×Qは、Aで選択される音響特徴量の重みに対応する対角成分のみに正の値を持つ特殊な対角行列となる。すると音響特徴量に対応するガウシアンカーネルk(Agτ,Agτ’)は以下のように変形できる。
Figure 0006466863

ここでa は行列AAのq対角要素番目の対角要素である。するとk(Agτ,Agτ’)はベクトルa=√diag[AA]に関して微分可能になるため、行列Aの最適化を行列AAの最適化に置き換えれば、非線形最適化問題として解ける。ただし、diag[AA]は行列AAの対角成分を要素とするベクトルを表し、√diag[AA]は行列AAの対角成分の平方根を要素とするベクトルを表す。つまり、相互共分散作用素Σss|gの大きさの最大化を、選択行列Aに対してではなくベクトルaに対して行うことで選択行列Aの最適化が容易になる。相互共分散作用素Σss|gの最大化に有効な音響特徴量に対応するベクトルaの要素はその絶対値が大きくなり、不要な音響特徴量に対応するベクトルaの要素は0に縮退していく。以降では、相互共分散作用素Σss|gの大きさをベクトルaに対して最大化する。
相互共分散作用素Σss|gの大きさは、Σss|gの行列式や負のトレースで求められるが、ここでは負のトレースをコスト関数(出力変数ξとベクトルAgとの相関の高さを表すコスト関数)として用いた計算方法を説明する。また計算量削減のため、負のトレースを以下のように近似計算する。
Figure 0006466863

ただし、Tr(・)は(・)のトレースを表す。式(18)を最大化するための更新式を導出する。式(18)の最大化は勾配法で行う。勾配法には何を用いてもよいが、更新の収束を速めるために、以下ではAdaDeltaによる実装を説明する。AdaDeltaによるaの更新式は以下となる。
Figure 0006466863

s←γs+(1−γ)ν (21)
a←a+ν (22)
ただし、式(19)〜(22)の更新式におけるベクトルの累乗や除算などの演算は、各要素ごとに行われる。すなわち、式(19)〜(22)を要素ごとに書くと以下のようになる。
Figure 0006466863

←γs+(1−γ)ν (25)
←a+ν (26)
なお、γは0以上1未満の定数であり、εは整数の定数である。「α←α」はαの結果をαとする(αを新たなαとする)ことを意味する。
勾配ベクトル▽aは以下のように計算できる。
Figure 0006466863

ただしKτ,τ’,qは、スペースの関係上、k(Agτ,Agτ’)を単にk(τ,τ’)と表記し、以下のように表される。
Figure 0006466863

ガウシアンカーネルk(Agτ,Agτ’)の偏微分は以下のようになる。
Figure 0006466863
また学習データに対応する時間インデックスの総数(例えば、総フレーム数)がHの時、F=Hとした式(28)中の(K+εI)はRH×Hの対称行列となる。これが学習データの増加により逆行列の計算が困難になる部分である。そこで本形態では、本特許では「確率的最急降下法」にならい、全学習データを適切なサイズのミニバッチにランダム分割し、式(27)の評価を段階的に行うことで、この問題を回避する。
また、式(22)の更新では、ベクトルの要素が完全に0になることは稀である。この場合には更新前後での要素の変動が大きくなり、更新が不安定となる場合もある。そこで更新の安定性のために、式(22)による更新毎に以下のソフトスレッショルディングを行ってもよい。
Figure 0006466863

ただし、βは正則化パラメータ(正値)である。これは、コスト関数(目的関数)にL正規化項を付与して最適化するのに等しい。
以上のように、相互共分散作用素Σss|gの大きさを選択行列Aについて最大化する問題を、行列AAの対角成分に対応するベクトルaについて最大化する問題に置き換えることで、選択行列Aの最適化が容易になる。また、最適化に「確率的最急降下法」を導入し、全学習データを適切なサイズのミニバッチごとに分割してミニバッチごとに逆行列を計算する(グラム行列の逆行列計算を近似することに相当する)ことで演算量を削減し、最適化を高速化できる。なお、ミニバッチサイズは、大きい方が精度はよいものの計算コストが大きくなることから、実装する装置のメモリの大きさや計算能力等を元に、事前に求めておく。
[実施形態]
次に、図面を用いて本形態を詳細に説明する。
<構成>
図1に例示するように、本形態の最適化装置1は、記憶部101,102,107,109,110、周波数領域変換部103,104、重畳部105、事前SNR計算部108、更新処理部120、および出力部130を有する。図2に例示するように、更新処理部120は、正規化部121、初期化部122、分割部123、更新部124、収束判定部125、および生成部126を有する。更新部124は、行列生成部1241、更新量計算部1242、ベクトル更新部1243、およびミニバッチ判定部1244を有する。図4Aに例示するように、更新量計算部1242は、更新部1242a〜1242cを有する。最適化装置1は、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)およびRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される装置である。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。
<処理>
次に、本形態の処理を説明する。
≪学習データ≫
目的音の学習データsと雑音の学習データnの時間波形を用意する。ただし、m=1,・・・,Mであり、Mは正整数である。ここでサンプリングレートや量子化ビット数は任意であるが、たとえばサンプリングレートを48kHz,量子化ビット数を16bitなどに設定できる。目的音の学習データsは記憶部101に格納され、雑音の学習データnは記憶部102に格納される(図1)。
≪周波数領域への変換≫
周波数領域変換部103,104が、ぞれぞれ、記憶部101,102から読み込んだ目的音と雑音の学習データs,nを短時間フーリエ変換(STFT)などを用いて周波数領域に変換し、目的音の周波数領域信号Sω,tおよび雑音の周波数領域信号Nω,tを得て出力する。例えば、フーリエ変換長は1024点(サンプリング周波数48kHzで約22ms),シフト長は512点(サンプリング周波数48kHzで約11ms)などに設定できる。なお、ω={1,2,・・・,Ω}とt={1,2,・・・,F}は時間と周波数のインデックスである。ΩおよびFはそれぞれ正の整数である。
≪重畳≫
重畳部105はSω,tおよびNω,tを入力とし、観測信号を模擬的に設計するために、Sω,tとNω,tを重畳し、時間周波数領域での観測音Xω,t=Sω,t+Nω,tを得て出力する。
≪音響特徴量候補の抽出≫
音響特徴量候補抽出部106は、観測音Xω,tを入力とし、観測音Xω,tから時間インデックスtごとにQ個の音響特徴量(入力変数)の候補gq,t(ただし、q=1,・・・,Q、Q≧2)を抽出し、それらを要素とするQ次元のベクトルg=(g1,t,・・・,gQ,tを出力する。候補として用いる音響特徴量は任意であるが、例えば48次元のメル周波数ケプストラム係数(MFCC)ならびにその一階差分と二階差分、および、48次元のメルフィルタバンク出力(MFBO)ならびにその一階差分と二階差分などを用いることができる。また、学習データの観測に用いたマイクロホンの個数が複数である場合、ビームフォーミングを行って、方向別にMFCCやMFBOを求めることもできる。その他にも、スペクトルフラックスやスペクトルセントロイドなど、Q=512程度の様々な音響特徴量を用いることができる。Q次元のベクトルgは記憶部107に格納される。なお、ベクトルgが上記選択行列更新アルゴリズムの入力変数に相当する。
≪事前SNRの計算≫
事前SNR計算部108は、Sω,tおよびNω,tを入力とし、これらから事前SNR ξ(出力変数)を計算して出力する。例えば、事前SNR計算部108は、φS,ω,t=|Sω,t、φN,ω,t=|Nω,tとし、各周波数インデックスωに対応する事前SNR ξω,t=φS,ω,t/φN,ω,tからなる列(ξ1,t,・・・,ξΩ,t)を事前SNR ξとしてもよいし、フィルタバンクごとの事前SNRを並べたものを事前SNR ξとしてもよいし、ある一つの周波数インデックスωやフィルタバンクの事前SNRを事前SNR ξとしてもよい。ξ=(ξ1,t,・・・,ξΩ,t)の場合、フーリエ変換長が大きいと事前SNRの次元Ωも大きくなるため、演算結果をメルフィルタバンクで圧縮してもよい。メルフィルタバンクの個数はたとえば32程度に設定できる。事前SNR ξは記憶部109に格納される。なお、事前SNR ξが上記選択行列更新アルゴリズムの出力変数に相当する。
≪パラメータ≫
以下の定数のパラメータが設定され、記憶部110に格納される。
カーネルパラメータ:式(5)のカーネルパラメータσはチューニングして決定すべきであるが、例えば2.0×10-2程度に設定できる。
勾配法パラメータ:式(19)〜(22)の勾配法パラメータγ,εは例えば、γ=0.9,ε=10-5に設定できる。
ミニバッチサイズ:ミニバッチサイズBは学習データの総フレーム数Hに応じて変更すべきだが例えばB=2048に設定できる。
総フレーム数H:総フレーム数Hは任意であるが、本形態ではH>Bである。
≪更新処理≫
更新処理部120は、ベクトルg、事前SNR ξ、およびパラメータσ,γ,ε,B,Hを入力とし、ξとAgとの相関の高さを表すコスト関数の値(関数値、スコア)が大きくなるように、AAの対角成分に対応するベクトルaを更新し、更新されたベクトルaから選択行列Aの要素を得る。
すなわち、本形態の更新処理部120は、ξを入力として「所定集合」に属する各インデックスτ,τ’でのガウシアンカーネルk(ξτ,ξτ’)に対応する中心化グラム行列Kを得、gを入力として選択行列Aを変数としたインデックスτ,τ’でのガウシアンカーネルk(Agτ,Agτ’)に対応する中心化グラム行列Kを得る。さらに、更新処理部120は、Σss=K,Σsg=K,Σgs=K,Σgg=Kとした相互共分散作用素Σss|g=Σgg−ΣsgΣgg −1Σgsの大きさが大きくなるように、AAの対角成分に対応するベクトルaを更新する。さらに更新処理部120は、更新されたベクトルaから選択行列Aの要素を得て出力する。
特に本形態では、更新処理部120は、複数のミニバッチ(部分集合)のそれぞれを「所定集合」として中心化グラム行列Kおよび中心化グラム行列Kを得、複数のミニバッチのそれぞれでベクトルaを更新し、複数のミニバッチで更新されたベクトルaから選択行列Aの要素を得て出力する。これらの処理の詳細は後述する。
≪出力≫
更新処理で得られた選択行列Aが出力される。任意の装置は、記憶部107に格納されたベクトルgと選択行列Aを用いてf=Agを計算することで、事前SNRの推定に有効な音響特徴量を得ることができる。
<更新処理の詳細>
図2から図4を用い、更新処理部120が行う更新処理の詳細を説明する。
《入力変数の正規化》
まず、正規化部121がg,ξ,Hを入力とし、以下のようにg,ξを正規化する。
Figure 0006466863

ただし、式(36)から式(38)は、ξを複数の周波数ビンやフィルタバンクの事前SNRを並べたものの場合は、各要素について実行する。式(35)のように更新されたgq,tからなる新たなg=(g1,t,・・・,gQ,t)および新たなξは分割部123に送られる(ステップS121)。
《選択行列とAdaDelta更新係数の初期化》
初期化部122は、Q次元のベクトルa=(a,…,a),r=(r,…,r),s=(s,…,s)を初期化する。初期値は任意だが、例えばa=σ,r=1,s=0×1などに初期化できる。ただし、1=(1,・・・,1)∈Rである。初期化されたベクトルa,r,sは分割部123に送られる(ステップS122)。
《入出力変数のミニバッチ分割》
分割部123は、正規化部121から出力された入力変数である(g,・・・,g)および出力変数である(ξ,・・・,ξ)をランダムにB個ずつのサブセットに分割する。各サブセットをミニバッチと呼ぶ。1つのミニバッチは連続する複数の時間インデックスに対応していてもよいし、隣り合わない時間インデックスに対応していてもよい。すなわち、処理対象の時間インデックスの区間[1,・・・,H](処理対象区間)が複数の部分集合であるミニバッチに区分されればよい。例えば分割部123は、(g,・・・,g)をミニバッチ(g,・・・,g),(gB+1,・・・,g2B),・・・,(gH−B+1,・・・,g)に分割し、(ξ,・・・,ξ)をミニバッチ(ξ,・・・,ξ),(ξB+1,・・・,ξ2B),・・・,(ξH−B+1,・・・,ξ)に分割する(ステップS123)。
《中心化グラム行列の計算》
行列生成部1241は、(g,・・・,g)の1つのミニバッチ、(ξ,・・・,ξ)の1つのミニバッチ、およびσが入力される。入力される(g,・・・,g)のミニバッチと(ξ,・・・,ξ)のミニバッチとは同じ時間インデックスに対応する。説明の便宜上、ステップS1241〜S1244では、処理対象として入力された、(g,・・・,g)のミニバッチを(g,・・・,g)と読み替え、(ξ,・・・,ξ)のミニバッチを(ξ,・・・,ξ)と読み替えて説明する。
行列生成部1241は、ミニバッチ(ξ,・・・,ξ)および(g,・・・,g)について、前述した式(14)および(15)に従って、選択行列Aを変数とした中心化グラム行列KおよびKを得て出力する。すなわち、行列生成部1241は、ξを入力としてミニバッチ(所定集合)の各インデックスτ=1,・・・,F,τ’=1,・・・,Fでのガウシアンカーネルk(ξτ,ξτ’)に対応する中心化グラム行列Kを得、ベクトルgを入力として選択行列Aを変数としたインデックスτ=1,・・・,F,τ’=1,・・・,Fでのガウシアンカーネルk(Agτ,Agτ’)に対応する中心化グラム行列Kを得て出力する(ステップS1242)。
《更新量の計算》
更新量計算部1242は、γ,ε,K,Kを入力とし、前述の式(19)〜(21)(すなわち、式(23)〜(25))を計算してベクトルνおよびベクトルsを更新する(ステップS1242)。ベクトルνはベクトルaの更新量を表す。すなわち、更新量計算部1242の更新部1242aが式(19)(すなわち、式(23))に従ってベクトルrを更新し(ステップS1242a)、更新部1242bが式(20)(すなわち、式(24))に従ってベクトルνを更新し(ステップS1242b)、更新部1242cが式(21)(すなわち、式(25))に従ってベクトルsを更新する(ステップS1242c)。更新されたr,sは図示していないメモリに格納される。
《ベクトルaの更新》
ベクトル更新部1243は、ステップS1242bで更新されたベクトルνを用い、式(22)(すなわち、式(26))に従ってベクトルaを更新する。あるいは、更新が不安定となる場合、式(22)に代えて以下のように慣性項付きの更新を行ってもよい。
a←a+{ζν+(1−ζ)ν’} (39)
ただし、ζは0<ζ<1の慣性項であり、例えばζ=0.1に設定できる。またν’は、ステップS1242の更新前(1回の更新前)のνである。また、aはAAの対角項の各値の平方根を要素としたベクトルであり、その要素は0以上であるべきである。しかし、上記の方法で更新されたベクトルνの値によっては更新されたベクトルaが負の要素を持つ場合もある。そのため、ベクトルa=(a,・・・,a)の更新のたびに、その各要素a(ただし、q=1,・・・,Q)に対して以下の処理を行ってもよい。
=max(a,0) (40)
ただし、max(a,0)は、aと0とのうち大きい方の値を意味する。ただし、a=0の場合には、max(a,0)=0とする。あるいは、更新の安定のために前述の式(32)によるソフトスレッショルディングを行ってもよい。すなわち、ベクトル更新部1243は、ベクトルaと、ベクトルνに応じたQ次元ベクトルとを加算したQ次元ベクトルに応じた新たなベクトルaを得ればよい。更新されたaは図示していないメモリに格納される(ステップS1243)。
《ミニバッチ判定》
ミニバッチ判定部1244は、ステップS123で分割されたすべてのミニバッチについてステップS1241〜S1243の処理を終了したかを判断する(ステップS1244)。ステップS1241〜S1243の処理を実行していないミニバッチが存在する場合にはステップS1241に戻り、これらの処理が実行されてないミニバッチについて処理を行う。一方、すべてのミニバッチについてステップS1241〜S1243の処理をしていた場合、ステップS125の収束判定に進む。
《収束判定》
収束判定部215は、終了条件を満たしたか否かを判定する(ステップS125)。例えば、収束判定部215は、ステップS123,S124(S1241〜S1244)の処理の繰り返し回数が一定数以上となった場合に終了条件を満たしたと判断してもよいし、全ミニバッチに対する更新処理(ステップS124)前後でのベクトルaの変化量のノルムが一定値以下となった場合に終了条件を満たしたと判断してもよい。終了条件を満たしていないと判断した場合にはステップS123に戻って処理をやり直す。終了条件を満たしたと判断した場合には、ステップS126の選択行列の生成に進む。
《選択行列の生成》
生成部126は、ステップS124で更新されたベクトルaを入力とし、このベクトルaから選択行列Aの要素を得て出力する。生成部126は、例えば、ベクトルa=(a,・・・,a)の要素aのうち閾値αth以上の要素数をD’とし、閾値αth以上の要素の次元をq(ただし、d=1,・・・,D’)とし、選択行列Aのd行q列の要素A(d,q)を正値(例えば1)とし、他の要素を0とする。なお、閾値αthは正値であり、D’が所定値以上(例えば、1以上)となるように設定されてもよいし、予め定められていてもよい。具体的には以下の手順によって選択行列Aを生成できる。
1.生成部126は、Aを要素がすべて0のD’×Q行列として初期化する。
2.生成部126は、d=1,・・・,D’に対し,以下の処理を実行する。
3.生成部126は、aのd番目の閾値αth以上の要素の次元をqとして、d行q列の要素をA(d,q)=1とする。
有効な要素数Dを固定したい場合、生成部126は、例えば、ベクトルa=(a,・・・,a)の要素aのうち大きいものからD個を選び、それらの次元をq(ただし、d=1,・・・,D)とし、選択行列Aのd行q列の要素A(d,q)を正値(例えば1)とし、他の要素を0としてもよい。具体的には以下の手順によって選択行列Aを生成できる。
1.生成部126は、Aを要素がすべて0のD×Q行列として初期化する。
2.生成部126は、d=1からDに対し、以下の処理を実行する。
3.生成部126は、aの要素を降順に並び替え、aのd番目の要素に対応する次元をqとして、d行q列の要素をA(d,q)=1とする。
<本形態の特徴>
以上のように、本形態では、相互共分散作用素の大きさ(コスト関数の大きさ)を最大化するAを探索する問題を、相互共分散作用素の大きさを最大化する行列AAの対角成分に対応するベクトルaを探索する問題に置き換えた。これによって偏微分が可能となり、非線形最適化問題として解を求めることができる。その結果、従来よりも演算量を削減することができる。
すなわち、相互共分散作用素の大きさを最大化するAを探索する問題、すなわち、選択行列Aの各行でどの音響特徴量をアクティブにするかの探索は、組み合わせ最適化ないしランダムサーチを用いなくてはならなかった。つまり、全てのパターンで相互共分散作用素の大きさを評価し、その中で相互共分散作用素が最大となる音響特徴量の組み合わせを選択しなければならなかった。そのため、音響特徴量の候補の次元が大きくなるにつれ、評価が困難になった。一般に音響特徴量は、複数の変数の組み合わせで音の性質を説明する。例えば音声認識で広く用いられるMFCCは、スペクトル包絡を24個程度の変数で説明する。また、音量の計算で用いられるフィルタバンク分析は、全帯域の周波数を32程度のフィルタで分析する。突発性を調べるためには、その一階差分(Δ特徴量)や二階差分(ΔΔ特徴量)を計算する。このように、音響特徴量の候補は数多くあり、その次元数は非常に大きい。この大量の音響特徴量の候補から最適な組み合わせを選ぶとき、たとえばQ=512次元の候補から,D=48次元の音響特徴量を選択する場合、その組み合わせ数は512C48≒9.2×1067という膨大な数になり、その探索は事実上困難である。これに対し、本形態の手法では非線形最適化問題として解を求めることができるため、探索に必要な演算量を大幅に削減できる。
さらに、本形態ではミニバッチごとに段階的にベクトルaを更新するため、式(28)中の(K+εI)の行列サイズを小さくでき、その逆行列(K+εI−1の演算量を小さくできる。
すなわち、一般的なカーネル法を用いて相互情報量を計算するとき、計算途中でグラム行列呼ばれる行列の逆行列の評価が必要となる。学習データの総フレーム数がθの時、グラム行列はRθ×θの対称行列となる。音データを、例えば分析窓32ms,シフト幅16msで分析するとき、フレーム数は1秒間で60フレームとなる。音データを用いた機械学習の学習データ量は数十時間となることが多く、総フレーム数θは簡単に1万を越えてしまう.その逆行列の計算は事実上困難であり、音データの学習にカーネル法を用いることは困難であった。これに対し、本形態ではミニバッチごとに段階的にベクトルaを更新するため、総フレーム数が増加した場合でも演算量の増加を大幅に抑制できる。
[変形例等]
なお、本発明は上述の実施形態に限定されるものではない。本発明は、例えば、音響信号強調フィルタ(出力変数)を元に、複数の音響特徴量の候補(入力変数)の中から音響信号強調フィルタとの相関が小さな音響特徴量を除外するための選択行列を求めるために利用できる。しかしながら、本発明の用途はこれに限定されない。すなわち、本発明は、出力変数を元に、当該出力変数とある程度の相関を持つように入力変数を最適化する用途、例えば、相互情報量最大化に基づき、ある入力変数からそれに対応する出力変数を推定する際に、出力変数を推定するために有効な情報を残すように、入力変数のサブセットを選択する用途であれば、どのような用途にも適用できる。そのため、この使用用途は音源強調や事前SNRの推定に限らない。つまり入力変数は音響特徴量(音響信号の特徴量)に限らず、画像やセンサなどのなんらかのデータから特徴抽出した結果(画像信号の特徴量やセンサ信号の特徴量)であってもよいし、音響信号、画像信号、センサ信号、位置座標などの生データであってもよい。すなわち、入力変数が、音響信号、画像信号、センサ信号、位置座標、その他の時系列データ(例えば、生データ)や、それらの特徴量を含んでもよい。同様に出力変数も事前SNRに限らず、画像の属するクラスを表す変数でもよいし、元信号の振幅スペクトル|Sω,τ|であってもよい。すなわち、出力変数が音響信号、画像信号、またはセンサ信号、位置座標、その他の時系列データの何れかに対応する情報を含んでもよい。その他、入力変数が時系列データ以外のデータまたはその特徴量を含んでもよく、出力変数が時系列データ以外のデータに対応する情報を含んでもよい。すなわち、入力変数および出力変数が時系列の情報でなくてもよく、本発明は時系列信号以外にも適用可能である。
例えば、以下のようにして、画像信号に対する判別を行うことができる。この場合の最適化装置は、記憶部101,102、周波数領域変換部103,104、重畳部105、事前SNR計算部108、音響特徴量候補抽出部106に代えて、学習データである画像信号を格納する記憶部、および、画像特徴量の候補を抽出する画像特徴量候補抽出部を含む。学習データである画像信号は、判別対象の画像に対応するものと、それ以外の画像に対応するものを含む時系列信号である。時間インデックスtでの画像信号が判別対象の画像である場合、その画像信号に出力変数ξ=1が対応付けられている。一方、時間インデックスtでの画像信号が判別対象ではない画像である場合、その画像信号に出力変数ξ=0が対応付けられている。画像特徴量候補抽出部は、入力された学習データである画像信号から、時間インデックスtごとにQ個の画像特徴量の候補を抽出し、それらを要素とするQ次元のベクトルをgとして記憶部107に格納する。画像特徴量の候補は、例えば、コーナー検出やSHIFT(Scale-Invariant Feature Transform)特徴などを用いて、入力された学習データに含まれる画像信号から抽出した特徴量である。また、各出力変数ξは記憶部109に格納される。それ以外は上述の実施形態で説明した通りである。
また上記の実施形態では、コスト関数として相互共分散作用素の負のトレースを用いたが、コスト関数として相互共分散作用素の行列式を用いてもよい。その他、入力変数の候補と出力変数との相関の強さを示すコスト関数であればどのようなものを用いてもよい。また、上記の実施形態では、相互共分散作用素の大きさを最大化するベクトルaを選択した。しかしながら、相互共分散作用素の大きさを大きくするようにベクトルaを更新して得られる値であれば、最終的に選択されるベクトルaが相互共分散作用素の大きさを最大化しなくてもよい。その他のコスト関数を用いる場合も同様である。
上記の実施形態では、a=√diag[AA]としたが、AAの対角成分に対応するベクトルであればどのようなものをaとしてもよい。例えば、AAの対角成分そのものをベクトルaの要素にしてもよいし、AAの対角成分やその平方根の関数値をベクトルaの要素にしてもよい。
また、学習データに対応する時間インデックスの総数Hが小さい場合には、ミニバッチごとではなく、すべての時間インデックスt=1,・・・,Hについてまとめて更新処理を行ってもよい。この場合には、分割部123、ミニバッチ判定部1244、ステップS123、S1244は不要であり、ステップS122の後、F=Hとして、S1241〜S1243の処理を実行し、その後ステップS125の処理を行えばよい。
また実施形態ではインデックスtがフレーム番号などの時間インデックスである場合を例示した。しかしながら、インデックスtがフレーム番号以外の時間インデックスであってもよいし、周波数ビンに対応する周波数インデックスであってもよいし、その他のインデックスであってもよい。
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。
上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
1 最適化装置
120 更新処理部

Claims (6)

  1. Q>D≧1であり、Fが正整数であり、所定区間[1,…,F]に属するインデックスτ,τ’,tがτ=1,・・・,F,τ’=1,・・・,F,t=1,・・・,Fであり、(・)が(・)の転置であり、gがインデックスtでのQ個の入力変数の候補を要素とするベクトルであり、Aが前記ベクトルgのD個の要素に応じたD個の要素からなるベクトルAgを得るための選択行列であり、ξが前記ベクトルgの少なくとも一部の要素と相関を持つ出力変数であり、
    前記出力変数ξを入力として前記所定区間[1,…,F]に属する各インデックスτ=1,・・・,F,τ’=1,・・・,Fでのガウシアンカーネルk(ξτ,ξτ’)に対応する中心化グラム行列Kを得、前記ベクトルgを入力として前記選択行列Aを変数とした前記インデックスτ=1,・・・,F,τ’=1,・・・,Fでのガウシアンカーネルk(Agτ,Agτ’)に対応する中心化グラム行列Kを得る行列生成部と、
    Σss=K,Σsg=K,Σgs=K,Σgg=Kとした相互共分散作用素Σss|g=Σgg−ΣsgΣgg −1Σgsの大きさが大きくなるように、AAの対角成分に対応するベクトルaを更新するベクトル更新部と、
    更新された前記ベクトルaから前記選択行列Aの要素を得て出力する生成部と、
    を有し、
    Figure 0006466863
    であり、I がF×Fの単位行列であり、1 がF次元のベクトル(1,…,1) であり、P=I −(1/F)1 であり、K =PG Pであり、K =PG Pである、最適化装置。
  2. 請求項の最適化装置であって、
    HがH>Fを満たす正整数であり、前記出力変数ξ の集合(ξ ,・・・,ξ )および前記ベクトルg の集合(g ,・・・,g )が学習データであり、
    前記行列生成部は、前記学習データを構成する部分集合(ξ ,・・・,ξ )および(g ,・・・,g )ごとに前記中心化グラム行列Kおよび前記中心化グラム行列Kを得、
    前記ベクトル更新部は、前記部分集合(ξ ,・・・,ξ )および(g ,・・・,g )ごとに前記ベクトルaを更新し、
    前記生成部は、前記部分集合(ξ ,・・・,ξ )および(g ,・・・,g )ごとに更新された前記ベクトルaから前記選択行列Aの要素を得て出力する最適化装置。
  3. 請求項1または2の最適化装置であって、
    γが0以上1未満の定数であり、εが定数であり、J=−Tr{K(K+εI−1}であり、Tr(・)が(・)のトレースであり、
    Q個の要素からなるベクトルr=(r,…,r),s=(s,…,s)および前記ベクトルa=(a,…,a)を初期化する初期化部と、
    Figure 0006466863
    をq番目(ただし、q=1,…,Q)の要素とするQ次元のベクトルを新たな前記ベクトルrとする第1更新部と、
    Figure 0006466863
    をq番目の要素とするQ次元のベクトルを新たなベクトルνとする第2ベクトル更新部と、
    γs+(1−γ)ν をq番目の要素とするQ次元のベクトルを新たな前記ベクトルsとする第3更新部と、をさらに有し、
    前記ベクトル更新部は、前記ベクトルaと、前記ベクトルνに応じたQ次元ベクトルと、を加算したQ次元ベクトルに応じた新たな前記ベクトルaを得る第4ベクトル更新部と、
    を含む最適化装置。
  4. 請求項からの何れかの最適化装置であって、
    前記入力変数が、音響信号、画像信号、センサ信号、音響信号の特徴量、画像信号の特徴量、またはセンサ信号の特徴量を含み、
    前記出力変数が、音響信号、画像信号、またはセンサ信号の何れかに対応する情報を含む、最適化装置。
  5. Q>D≧1であり、Fが正整数であり、所定区間[1,…,F]に属するインデックスτ,τ’,tがτ=1,・・・,F,τ’=1,・・・,F,t=1,・・・,Fであり、(・)が(・)の転置であり、gがインデックスtでのQ個の入力変数の候補を要素とするベクトルであり、Aが前記ベクトルgのD個の要素に応じたD個の要素からなるベクトルAgを得るための選択行列であり、ξが前記ベクトルgの少なくとも一部の要素と相関を持つ出力変数であり、
    行列生成部が、前記出力変数ξを入力として前記所定区間[1,…,F]に属する各インデックスτ=1,・・・,F,τ’=1,・・・,Fでのガウシアンカーネルk(ξτ,ξτ’)に対応する中心化グラム行列Kを得、前記ベクトルgを入力として前記選択行列Aを変数とした前記インデックスτ=1,・・・,F,τ’=1,・・・,Fでのガウシアンカーネルk(Agτ,Agτ’)に対応する中心化グラム行列Kを得る行列生成ステップと、
    ベクトル更新部が、Σss=K,Σsg=K,Σgs=K,Σgg=Kとした相互共分散作用素Σss|g=Σgg−ΣsgΣgg −1Σgsの大きさが大きくなるように、AAの対角成分に対応するベクトルaを更新するベクトル更新ステップと、
    生成部が、更新された前記ベクトルaから前記選択行列Aの要素を得て出力する生成ステップと、
    を有し、
    Figure 0006466863
    であり、I がF×Fの単位行列であり、1 がF次元のベクトル(1,…,1) であり、P=I −(1/F)1 であり、K =PG Pであり、K =PG Pである、最適化方法。
  6. 請求項1からの何れかの最適化装置としてコンピュータを機能させるためのプログラム。
JP2016022569A 2016-02-09 2016-02-09 最適化装置、最適化方法、およびプログラム Active JP6466863B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016022569A JP6466863B2 (ja) 2016-02-09 2016-02-09 最適化装置、最適化方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016022569A JP6466863B2 (ja) 2016-02-09 2016-02-09 最適化装置、最適化方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2017142593A JP2017142593A (ja) 2017-08-17
JP6466863B2 true JP6466863B2 (ja) 2019-02-06

Family

ID=59627414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016022569A Active JP6466863B2 (ja) 2016-02-09 2016-02-09 最適化装置、最適化方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP6466863B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04302328A (ja) * 1991-03-29 1992-10-26 Omron Corp ファジィ処理装置および方法
JP5988419B2 (ja) * 2012-01-11 2016-09-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 予測方法、予測システムおよびプログラム
JP6078461B2 (ja) * 2013-12-18 2017-02-08 本田技研工業株式会社 音響処理装置、音響処理方法、及び音響処理プログラム

Also Published As

Publication number Publication date
JP2017142593A (ja) 2017-08-17

Similar Documents

Publication Publication Date Title
Koutini et al. CP-JKU submissions to DCASE’19: Acoustic scene classification and audio tagging with receptive-field-regularized CNNs
Mohamed et al. Understanding how deep belief networks perform acoustic modelling
Vu et al. Combining non-negative matrix factorization and deep neural networks for speech enhancement and automatic speech recognition
JP7124427B2 (ja) マルチビューベクトルの処理方法及び装置
CN109065028A (zh) 说话人聚类方法、装置、计算机设备及存储介质
JPWO2009133719A1 (ja) 音響モデル学習装置および音声認識装置
US20220208198A1 (en) Combined learning method and apparatus using deepening neural network based feature enhancement and modified loss function for speaker recognition robust to noisy environments
Bharti et al. Real time speaker recognition system using MFCC and vector quantization technique
Patel et al. Speech recognition using hidden Markov model with MFCC-subband technique
WO2020045313A1 (ja) マスク推定装置、マスク推定方法及びマスク推定プログラム
CN111128229A (zh) 语音分类方法、装置及计算机存储介质
KR101704925B1 (ko) Evs 코덱 파라미터를 이용한 심화 신경망 기반의 음성 검출 장치 및 그 방법
JP6563874B2 (ja) 音源強調学習装置、音源強調装置、音源強調学習方法、プログラム
JP5881454B2 (ja) 音源ごとに信号のスペクトル形状特徴量を推定する装置、方法、目的信号のスペクトル特徴量を推定する装置、方法、プログラム
JP5974901B2 (ja) 有音区間分類装置、有音区間分類方法、及び有音区間分類プログラム
JP5994639B2 (ja) 有音区間検出装置、有音区間検出方法、及び有音区間検出プログラム
JP6721165B2 (ja) 入力音マスク処理学習装置、入力データ処理関数学習装置、入力音マスク処理学習方法、入力データ処理関数学習方法、プログラム
JP6466863B2 (ja) 最適化装置、最適化方法、およびプログラム
JP6370751B2 (ja) ガウス混合モデルパラメータ計算装置、情報推定装置、音強調装置、これらの方法及びプログラム
JP6404780B2 (ja) ウィナーフィルタ設計装置、音強調装置、音響特徴量選択装置、これらの方法及びプログラム
JP2022519391A (ja) 話者認識システムおよびその使用方法
Memon et al. Speaker verification based on different vector quantization techniques with gaussian mixture models
CN111524536A (zh) 信号处理方法和信息处理设备
JP2019184747A (ja) 信号分析装置、信号分析方法および信号分析プログラム
Bhaskar et al. Analysis of language identification performance based on gender and hierarchial grouping approaches

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190110

R150 Certificate of patent or registration of utility model

Ref document number: 6466863

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150