(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-08
(45)【発行日】2025-01-17
(54)【発明の名称】識別装置、識別装置の学習方法、及びコンピュータプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20250109BHJP
G06N 3/08 20230101ALI20250109BHJP
【FI】
G06N20/00
G06N3/08
(21)【出願番号】P 2022501572
(86)(22)【出願日】2020-02-21
(86)【国際出願番号】 JP2020007198
(87)【国際公開番号】W WO2021166243
(87)【国際公開日】2021-08-26
【審査請求日】2022-07-04
【前置審査】
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100104765
【氏名又は名称】江上 達夫
(72)【発明者】
【氏名】越仲 孝文
(72)【発明者】
【氏名】鈴木 隆之
(72)【発明者】
【氏名】阿部 太郎
(72)【発明者】
【氏名】鈴木 克明
【審査官】三坂 敏夫
(56)【参考文献】
【文献】特開2019-175093(JP,A)
【文献】特開2017-138416(JP,A)
【文献】特開2003-308092(JP,A)
【文献】特開2019-185580(JP,A)
【文献】特開2019-203798(JP,A)
【文献】特開2019-124596(JP,A)
【文献】特開2005-197956(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 18/00-18/40
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
1以上の発信源から発信される信号が混在した混在信号から、前記信号の周期性に応じて、前記信号を前記発信源毎に識別する識別手段と、
周期性を有する訓練データを用いて、前記識別手段が前記信号の周期性
を示す情報を出力するように機械学習を実行する学習手段と
を備え、
前記学習手段は、前記識別手段が出力する前記情報が周期性を示すように、前記識別手段によって識別される前記信号が周期性を示す場合に小さくなる第1の損失関数を用いて機械学習を実行する
ことを特徴とする識別装置。
【請求項2】
前記学習手段は、前記機械学習を実行し、前記識別手段のパラメタを変更することを特徴とする請求項1に記載の識別装置。
【請求項3】
前記訓練データの周期は未知の値であることを特徴とする請求項1
又は2に記載の識別装置。
【請求項4】
前記訓練データに摂動を付与して拡張する拡張手段を更に備え、
前記学習手段は、拡張後の前記訓練データの識別結果が、拡張前の前記訓練データの識別結果と同じクラスになるように前記機械学習を実行する
ことを特徴とする請求項1から
3のいずれか一項に記載の識別装置。
【請求項5】
前記学習手段は、拡張後の前記訓練データの識別結果が、拡張前の前記訓練データの識別結果と同じクラスになる場合に小さくなる第2の損失関数を用いて前記機械学習を実行することを特徴とする請求項
4に記載の識別装置。
【請求項6】
前記識別手段は、ニューラルネットワークを用いて前記信号を識別することを特徴とする請求項1から
5のいずれか一項に記載の識別装置。
【請求項7】
前記識別手段は、非負値行列因数分解を用いて前記信号を識別することを特徴とする請求項1から
5のいずれか一項に記載の識別装置。
【請求項8】
前記信号は、レーダ波又は音波であることを特徴とする請求項1から
7のいずれか一項に記載の識別装置。
【請求項9】
1以上の発信源から発信される信号が混在した混在信号から、前記信号の周期性に応じて、前記信号を前記発信源毎に識別する識別装置の学習方法であって、
周期性を有する訓練データを用いて、前記識別装置が前記信号の周期性
を示す情報を出力するように機械学習を実行し、
前記識別装置が出力する前記情報が周期性を示すように、前記識別装置によって識別される前記信号が周期性を示す場合に小さくなる第1の損失関数を用いて機械学習を実行する
ことを特徴とする識別装置の学習方法。
【請求項10】
1以上の発信源から発信される信号が混在した混在信号から、前記信号の周期性に応じて、前記信号を前記発信源毎に識別する識別装置の学習に用いるコンピュータプログラムであって、
周期性を有する訓練データを用いて、前記識別装置が前記信号の周期性
を示す情報を出力するように機械学習を実行し、
前記識別装置が出力する前記情報が周期性を示すように、前記識別装置によって識別される前記信号が周期性を示す場合に小さくなる第1の損失関数を用いて機械学習を実行する
ようにコンピュータを動作させることを特徴とするコンピュータプログラム。
【請求項11】
前記学習手段は、前記第1の損失関数として自己相関関数を用いることを特徴とする請求項
1に記載の識別装置。
【請求項12】
前記学習手段は、前記第1の損失関数のエントロピーを用いて前記機械学習を実行することを特徴とする請求項
1に記載の識別装置。
【請求項13】
前記学習手段は、前記第2の損失関数として自己相関関数を用いることを特徴とする請求項
5に記載の識別装置。
【請求項14】
前記学習手段は、前記第2の損失関数のエントロピーを用いて前記機械学習を実行することを特徴とする請求項
5に記載の識別装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、信号を識別する識別装置、識別装置の学習方法、及びコンピュータプログラムの技術分野に関する。
【背景技術】
【0002】
この種の装置として、複数の信号を識別する(言い換えれば、分類する)ものが知られている。例えば特許文献1では、複数の送信装置から送信された電波を解析し、送信装置の個別識別及び分類を行う技術が開示されている。特許文献2では、レーダパルスのパルス幅、パルス繰り返し周期、パルス振幅等に基づいて、パルスをグループ毎に分離する技術が開示されている。特許文献3では、パルス到来周期を基準にして、レーダパルスを信号毎に分離する技術が開示されている。特許文献4では、レーダ波の局所周期成分を、その特徴に基づいて所定数のカテゴリに分類する技術が開示されている。
【0003】
その他の関連する技術として、特許文献5では、訓練サンプルに摂動処理を施して、追加用訓練サンプルとする技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2016-158209号公報
【文献】特開2008-139056号公報
【文献】特開2005-283276号公報
【文献】特開2002-303667号公報
【文献】特開2012-014270号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
複数のレーダ波を識別する場合、例えばレーダパルスの周波数ごとの信号の強さ等を用いて識別する手法が考えられる。しかしながら、このような手法を採用する識別装置には比較的大きなコストがかかってしまう。特に、機械学習によって識別装置(例えば、ニューラルネットワーク等)を最適化する場合には、訓練データのラベル付与が高コストになってしまう。上述した各特許文献では、このような問題について想定されておらず、改善の余地がある。
【0006】
本発明は、上記問題点に鑑みてなされたものであり、信号を識別するための機械学習を適切に実行することが可能な識別装置、識別装置の学習方法、及びコンピュータプログラムを提供することを課題とする。
【課題を解決するための手段】
【0007】
本発明の識別装置の一の態様は、信号を識別する識別手段と、周期性を有する訓練データを用いて、前記識別手段の識別結果が周期性を示すように機械学習を実行する学習手段とを備える。
【0008】
本発明の識別装置の学習方法の一の態様は、信号を識別する識別装置の学習方法であって、周期性を有する訓練データを用いて、前記識別装置の識別結果が周期性を示すように機械学習を実行する。
【0009】
本発明のコンピュータプログラムの一の態様は、信号を識別する識別装置の学習方法であって、周期性を有する訓練データを用いて、前記識別装置の識別結果が周期性を示すように機械学習を実行するようにコンピュータを動作させる。
【発明の効果】
【0010】
上述した識別装置、識別装置の学習方法、及びコンピュータプログラムのそれぞれの一の態様によれば、信号を識別するための機械学習を適切に実行することが可能である。これにより、例えば複数の発信源から発信される信号を適切に識別することが可能となる。
【図面の簡単な説明】
【0011】
【
図1】第1実施形態に係る識別装置のハードウェア構成を示すブロック図である。
【
図2】第1実施形態に係る識別装置の機能的構成を示すブロック図である。
【
図3】第1実施形態に係る識別装置の学習動作の流れを示すフローチャートである。
【
図4】第1実施形態に係る識別器における入力及び出力の一例を示す概念図である。
【
図5】自己相関関数が周期性を示す場合の一例を示すグラフである。
【
図6】第2実施形態に係る識別装置の機能的構成を示すブロック図である。
【
図7】第2実施形態に係る識別装置の学習動作の流れを示すフローチャートである。
【
図8】第3実施形態に係る識別装置の機能的構成を示すブロック図である。
【
図9】第3実施形態に係る識別装置の学習動作の流れを示すフローチャートである。
【
図10】第4実施形態に係る識別装置の機能的構成を示すブロック図である。
【
図11】第4実施形態に係る識別装置の学習動作の流れを示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、図面を参照しながら、識別装置、識別装置の学習方法、及びコンピュータプログラムの実施形態について説明する。
【0013】
<第1実施形態>
第1実施形態に係る識別装置について、
図1から
図5を参照して説明する。以下では、識別装置がレーダ波を識別する装置として適用される場合を例にして説明する。
【0014】
(ハードウェア構成)
まず、
図1を参照しながら、第1実施形態に係る識別装置のハードウェア構成について説明する。
図1は、第1実施形態に係る識別装置のハードウェア構成を示すブロック図である。
【0015】
図1に示すように、第1実施形態に係る識別装置1は、CPU(Central Processing Unit)11と、RAM(Random Access Memory)12と、ROM(Read Only Memory)13と、記憶装置14とを備えている。識別装置1は更に、入力装置15と、出力装置16とを備えていてもよい。CPU11と、RAM12と、ROM13と、記憶装置14と、入力装置15と、出力装置16とは、データバス17を介して接続されている。
【0016】
CPU11は、コンピュータプログラムを読み込む。例えば、CPU11は、RAM12、ROM13及び記憶装置14のうちの少なくとも一つが記憶しているコンピュータプログラムを読み込むように構成されている。或いは、CPU11は、コンピュータで読み取り可能な記録媒体が記憶しているコンピュータプログラムを、図示しない記録媒体読み取り装置を用いて読み込んでもよい。CPU11は、ネットワークインタフェースを介して、識別装置1の外部に配置される不図示の装置からコンピュータプログラムを取得してもよい(つまり、読み込んでもよい)。CPU11は、読み込んだコンピュータプログラムを実行することで、RAM12、記憶装置14、入力装置15及び出力装置16を制御する。本実施形態では特に、CPU11が読み込んだコンピュータプログラムを実行すると、CPU11内には、識別装置1の学習を行うための機能ブロックが実現される。
【0017】
RAM12は、CPU11が実行するコンピュータプログラムを一時的に記憶する。RAM12は、CPU11がコンピュータプログラムを実行している際にCPU11が一時的に使用するデータを一時的に記憶する。RAM12は、例えば、D-RAM(Dynamic RAM)であってもよい。
【0018】
ROM13は、CPU11が実行するコンピュータプログラムを記憶する。ROM13は、その他に固定的なデータを記憶していてもよい。ROM13は、例えば、P-ROM(Programmable ROM)であってもよい。
【0019】
記憶装置14は、識別装置1が長期的に保存するデータを記憶する。記憶装置14は、CPU11の一時記憶装置として動作してもよい。記憶装置14は、例えば、ハードディスク装置、光磁気ディスク装置、SSD(Solid State Drive)及びディスクアレイ装置のうちの少なくとも一つを含んでいてもよい。
【0020】
入力装置15は、識別装置1のユーザからの入力指示を受け取る装置である。入力装置15は、例えば、キーボード、マウス及びタッチパネルのうちの少なくとも一つを含んでいてもよい。
【0021】
出力装置16は、識別装置1に関する情報を外部に対して出力する装置である。例えば、出力装置16は、識別装置1に関する情報を表示可能な表示装置(例えば、ディスプレイ)であってもよい。
【0022】
(学習用の機能的構成)
次に、
図2を参照しながら、第1実施形態に係る識別装置1の学習用の機能的構成について説明する。
図2は、第1実施形態に係る識別装置の学習用の機能的構成を示すブロック図である。
【0023】
図2に示すように、第1実施形態に係る識別装置1は、その機能を実現するための機能ブロック又は処理回路として、識別器110と、学習部120とを備えている。
【0024】
識別器110は、複数の信号を識別可能に構成されている。例えば、識別器110は、ニューラルネットワーク等を含んで構成されており、相異なる発信源から発信される複数の信号を、発信源毎に識別可能に構成されている。識別器110が識別する信号の一例としては、レーダ波や音波等の周期性を有する信号が挙げられる。ただし、識別器110は、周期性を有しない信号についても識別可能であってよい。
【0025】
学習部120は、訓練データXを読み込んで、識別器110の学習動作(具体的には、機械学習)を実行可能に構成されている。学習部120は、周期性損失関数計算部201と、識別器訓練部202とを備えている。
【0026】
周期性損失関数計算部201は、学習部120に読み込まれる訓練データXから、周期性損失関数(以下、適宜「第1の損失関数」と称する)を計算する。第1の損失関数は、識別器110の識別結果が周期性を示す場合に小さくなる関数である。第1の損失関数については、後に詳しく説明する。周期性損失関数計算部201で計算された第1の損失関数の値は、識別器訓練部202に出力される構成となっている。
【0027】
識別器訓練部202は、周期性損失関数計算部201で計算される第1の損失関数に基づいて、識別器110を訓練する。具体的には、識別器訓練部202は、第1の損失関数が小さくなるように学習動作を実行する。例えば、識別器訓練部202は、第1の損失関数が小さくなるように、誤差逆伝搬法などの公知の方法によりニューラルネットワークのパラメタを調整する。
【0028】
なお、上述した例では、学習部120が第1の損失関数(即ち、周期性損失関数)を利用して学習動作を実行する構成を挙げたが、学習部120は、損失関数を利用せずに学習動作を実行するようにしてもよい。即ち、学習部120による学習動作は、信号の周期性を利用するものであれば、その手法が特に限定されるものではない。
【0029】
(動作の流れ)
次に、
図3を参照しながら、第1実施形態に係る識別装置1の動作の流れ(特に、識別器110を訓練する動作の流れ)について説明する。
図3は、第1実施形態に係る識別装置の学習動作の流れを示すフローチャートである。
【0030】
図3に示すように、第1実施形態に係る識別装置1の動作時には、まず学習部120が、識別器110のパラメタ(即ち、学習動作によって変更される値)を初期化する(ステップS101)。なお、学習動作を繰り返し実行する場合には、このステップS101の処理は適宜省略されてもよい。
【0031】
続いて、学習部120は、訓練データXを読み込む(ステップS102)。なお、訓練データXは、周期性を有するデータであるものの、その具体的な周期については未知であってよい。即ち、訓練データXは正解ラベルが付与されていないデータであってよい。
【0032】
続いて、周期性損失関数計算部201が、読み込まれた訓練データXを用いて第1の損失関数を計算する(ステップS103)。そして、識別器訓練部202は、第1の損失関数が小さくなるように識別器110のパラメタを更新(即ち、変更)する(ステップS104)。
【0033】
その後、学習部120は、識別器110の識別結果が収束しているか否かを判定する(ステップS105)。学習部120は、例えば損失関数の絶対値あるいは減少幅が予め設定したしきい値以下に収まっているか否かによって収束を判定する。識別結果が収束している場合(ステップS105:YES)、一連の処理は終了する。一方で、識別結果が収束していない場合(ステップS105:NO)、再びステップS103から処理が開始される。よって、ステップS103及びS104の処理は、識別結果が収束するまで、繰り返し実行されることになる。
【0034】
(具体的な動作例)
次に、
図4及び
図5を参照しながら、第1実施形態に係る識別装置1の具体的な動作例(即ち、学習動作の具体例)について説明する。
図4は、第1実施形態に係る識別器における入力及び出力の一例を示す概念図である。
図5は、自己相関関数が周期性を示す場合の一例を示すグラフである。
【0035】
図4に示すように、識別器110が、第1層から第N層までの層を有するニューラルネットワークとして構成されているとする。この場合、信号のスペクトル系列(スペクトログラム)を示す訓練データX(x
1、x
2、…、x
t…)を識別器110に入力すると、その出力として、識別結果y(y
1、y
2、…、y
t…)が得られる。なお、識別結果yは、クラス事後確率系列を示すものであり、図中に例示するように、分類される各クラスに対する確からしさを示す値として出力される。図中の例では、1番目のクラスである確率が“0.8”、2番目のクラスである確率が“0.01”、3番目のクラスである確率が“0.05”である。なお、ここでの識別結果yは、softmax関数によって総和が1となるように調整されている。
【0036】
上述した識別器110を訓練する場合には、例えば自己相関関数のエントロピーを用いることができる。自己相関関数R(τ)、及びそのエントロピーL1は、それぞれ下記式(1)及び(2)のように表すことができる。
【0037】
【0038】
【数2】
Tは観測信号(スペクトログラム)の時間長。
【0039】
また、上記式(1)及び(2)における期待値E[・]は、平均、或いは簡便的に総和であってもよい。この場合、自己相関関数R(τ)、及びそのエントロピーL1は、それぞれ下記式(3)及び(4)のように表すことができる。
【0040】
【0041】
【0042】
なお、訓練データXに複数の観測信号i=1,2、…が含まれる場合は、それらについても総和をとればよい。この場合、上記式(3)及び(4)は、それぞれ下記式(5)及び(6)のようになる。
【0043】
【0044】
【数6】
Tiはi番目の観測信号の時間長(ただし、時間長にばらつきがなければ不要)。
【0045】
図5に示すように、自己相関関数R(τ)のエントロピーL
1が小さくなると、自己相関関数R(τ)に明確なピーク(図中のピークA、及びピークB)が見られるようになる。これらのピークA及びBは、それぞれ別の周期性を有する信号に起因するものである。よって、自己相関関数R(τ)のエントロピーL
1を小さくするように学習動作を進めていけば、周期性に応じて信号を識別することが可能となる。なお、上記式(3)や式(5)については、自己相関関数と同様の性質を有する関数であれば、自己相関関数に限られない。即ち、自己相関関数に代えて、自己相関関数以外の他の関数を利用することも可能である。例えば、識別結果yに離散フーリエ変換を適用した結果として得られる関数を用いることが可能である。
【0046】
(技術的効果)
次に、第1実施形態に係る識別装置1によって得られる技術的効果について説明する。
【0047】
図1から
図5で説明したように、第1実施形態に係る識別装置1では、識別器110の識別結果が周期性を示すように機械学習が実行される。このように学習した識別装置1によれば、周期性を有する信号を適切に識別することができる。また、本実施形態では特に、学習動作に用いる訓練データXの周期は未知であってよい。つまり、訓練データXに正解ラベルを付与することなく、適切な機械学習が行える。よって、訓練データXを用意するのにかかるコストを低く抑えることができる。
【0048】
<第2実施形態>
次に、第2実施形態に係る識別装置1について、
図6及び
図7を参照して説明する。なお、第2実施形態は、すでに説明した第1実施形態と一部の構成及び動作が異なるのみであり、他の部分については概ね同様である。このため、以下では第1実施形態と異なる部分について詳しく説明し、重複する部分については適宜説明を省略するものとする。
【0049】
(学習用の機能的構成)
まず、
図6を参照しながら、第2実施形態に係る識別装置1の学習用の機能的構成について説明する。
図6は、第2実施形態に係る識別装置の学習用の機能的構成を示すブロック図である。なお、
図6に示す構成要素のうち、
図2で示した構成要素と同様のものについては同一の符号を付している。
【0050】
図6に示すように、第2実施形態に係る識別装置1は、第1実施形態の構成要素(
図2参照)に加えて、データ拡張部130を備えている。また、学習部120が、クラス整合性損失関数計算部203を備えている。
【0051】
データ拡張部130は、訓練データXに対して摂動(ノイズ)を付加することにより、訓練データを拡張可能に構成されている。なお、摂動の付加については、既存の技術を適宜採用することができるため、ここでの詳細な説明は省略する。
【0052】
クラス整合性損失関数計算部203は、データ拡張部130で拡張された訓練データXから、クラス整合性損失関数(以下、適宜「第2の損失関数」と称する)を計算する。第2の損失関数は、拡張後の訓練データXの識別結果であるクラスが、拡張前の訓練データXのクラスと同じになる場合に小さくなる関数である。なお、具体的にどのクラスに属するかは未知であってよい。第2の損失関数については、後に詳しく説明する。クラス整合性損失関数計算部203で計算された第2の損失関数の値は、識別器訓練部202に出力される構成となっている。
【0053】
(動作の流れ)
次に、
図7を参照しながら、第2実施形態に係る識別装置1の動作の流れ(特に、識別器110を訓練する動作の流れ)について説明する。
図7は、第2実施形態に係る識別装置の学習動作の流れを示すフローチャートである。なお、
図7に示す処理のうち、
図3で示した処理と同様のものについては同一の符号を付している。
【0054】
図7に示すように、第2実施形態に係る識別装置1の動作時には、まず学習部120が、識別器110のパラメタを初期化し(ステップS101)、訓練データXを読み込む(ステップS102)。
【0055】
続いて、第2実施形態では、データ拡張部130が、訓練データXにノイズを付加する(ステップS201)。これによって訓練データXが拡張される。
【0056】
続いて、周期性損失関数計算部201が拡張後の訓練データXを用いて第1の損失関数を計算する(ステップS103)。また、クラス整合性損失関数計算部203が、拡張後の訓練データXを用いて第2の損失関数を計算する(ステップS202)。第2の損失関数は、例えば下記式(7)又は(8)のように表すことができる。
【0057】
【0058】
【0059】
続いて、識別器訓練部202は、第1の損失関数及び第2の損失関数に基づいて、識別器110のパラメタを更新(即ち、変更)する(ステップS104)。この際、識別器訓練部202は、例えばL1+λL2(λは所定の係数)が小さくなるように識別器110のパラメタを更新する。
【0060】
その後、学習部120は、識別器110の識別結果が収束しているか否かを判定する(ステップS105)。識別結果が収束している場合(ステップS105:YES)、一連の処理は終了する。一方で、識別結果が収束していない場合(ステップS105:NO)、再びステップS103から処理が開始される。
【0061】
(技術的効果)
次に、第2実施形態に係る識別装置1によって得られる技術的効果について説明する。
【0062】
図6及び
図7で説明したように、第2実施形態に係る識別装置1では、拡張前の訓練データXと、拡張後の訓練データXとが同じクラスに属するように識別器110の機械学習が実行される。このように学習すれば、訓練データXを拡張した場合でも、周期性を利用した学習が適切に行える。よって、コストの増加を抑制しつつ、周期性を有する信号を適切に識別することが可能となる。
【0063】
<第3実施形態>
次に、第3実施形態に係る識別装置1について、
図8及び
図9を参照して説明する。なお、第3実施形態は、すでに説明した第1及び第2実施形態と一部の構成及び動作が異なるのみであり、他の部分については概ね同様である。このため、以下では第1及び第2実施形態と異なる部分について詳しく説明し、重複する部分については適宜説明を省略するものとする。
【0064】
(学習用の機能的構成)
まず、
図8を参照しながら、第3実施形態に係る識別装置1の学習用の機能的構成について説明する。
図8は、第3実施形態に係る識別装置の学習用の機能的構成を示すブロック図である。なお、
図8に示す構成要素のうち、
図2で示した構成要素と同様のものについては同一の符号を付している。
【0065】
図8に示すように、第3実施形態に係る識別装置1は、第1実施形態の構成要素(
図2参照)に加えて、学習部120が誤差損失関数計算部204を備えている。なお、第1及び第2実施形態では、識別器110がニューラルネットワークを用いて信号を識別する例を挙げたが、第3実施形態に係る識別器110は、非負値行列因子分解(Non-negative Matrix Factorization:NMF)を用いて信号を識別する。NMFについては既存の技術であるため、NMFを用いた識別手法については詳しい説明を省略する。
【0066】
誤差損失関数計算部204は、訓練データXから、NMFに用いる再現誤差の損失関数(以下、適宜「基本損失関数」と称する)を計算する。NMFにおける基本損失関数は、例えば訓練データXを基底スペクトルHと、アクティベーションUに分解する場合、下記式(9)のように表すことができる。
【0067】
【0068】
誤差損失関数計算部204で計算された基本損失関数の値は、識別器訓練部202に出力される構成となっている。
【0069】
(動作の流れ)
次に、
図9を参照しながら、第3実施形態に係る識別装置1の動作の流れ(特に、識別器110を訓練する動作の流れ)について説明する。
図9は、第3実施形態に係る識別装置の学習動作の流れを示すフローチャートである。なお、
図9に示す処理のうち、
図3で示した処理と同様のものについては同一の符号を付している。
【0070】
図9に示すように、第3実施形態に係る識別装置1の動作時には、まず学習部120が、識別器110のパラメタを初期化し(ステップS101)、訓練データXを読み込む(ステップS102)。
【0071】
続いて、第3実施形態では、誤差損失関数計算部204が、訓練データXから基本損失関数を計算する(ステップS301)。そして、周期性損失関数計算部201が、訓練データXを用いて第1の損失関数を計算する(ステップS103)。ここでの第1の損失関数(自己相関関数R(τ)及びエントロピーL1)は下記式(10)及び(11)のように表すことができる。
【0072】
【0073】
【0074】
また、上記式(10)及び(11)における期待値E[・]は、第1実施形態で説明したように、平均、或いは簡便的に総和であってもよい(数式(3)及び(4)を参照)。
【0075】
続いて、識別器訓練部202は、基本損失関数及び第1の損失関数に基づいて、識別器110のパラメタを更新(即ち、変更)する(ステップS104)。この際、識別器訓練部202は、例えば下記式(12)が小さくなるように識別器110のパラメタを更新する。
【0076】
【0077】
その後、学習部120は、識別器110の識別結果が収束しているか否かを判定する(ステップS105)。識別結果が収束している場合(ステップS105:YES)、一連の処理は終了する。一方で、識別結果が収束していない場合(ステップS105:NO)、再びステップS103から処理が開始される。
【0078】
(技術的効果)
次に、第3実施形態に係る識別装置1によって得られる技術的効果について説明する。
【0079】
図8及び
図9で説明したように、第3実施形態に係る識別装置1では、NMFの基本損失関数に第1の損失関数を加味して学習動作が実行される。このようにすれば、NMFを用いた識別器110に対して、信号の周期性に関する制約を入れた状態で学習が行える。よって、NMFを用いる識別器110においても、周期性を有する信号を適切に識別することが可能となる。
【0080】
<第4実施形態>
次に、第4実施形態に係る識別装置1について、
図10及び
図11を参照して説明する。なお、第4実施形態は、すでに説明した第1から第3実施形態と一部の構成及び動作が異なるのみであり、他の部分については概ね同様である。このため、以下では第1から第3実施形態と異なる部分について詳しく説明し、重複する部分については適宜説明を省略するものとする。
【0081】
(学習用の機能的構成)
まず、
図10を参照しながら、第4実施形態に係る識別装置1の学習用の機能的構成について説明する。
図10は、第4実施形態に係る識別装置の学習用の機能的構成を示すブロック図である。なお、
図10に示す構成要素のうち、
図6及び
図8で示した構成要素と同様のものについては同一の符号を付している。
【0082】
図10に示すように、第4実施形態に係る識別装置1は、第3実施形態の構成要素(
図2参照)に加えて、データ拡張部130を備えている。また、学習部120が、クラス整合性損失関数計算部203を備えている。即ち、第4実施形態に係る識別装置1は、実質的に第2実施形態と第3実施形態とを組み合わせた構成となっている。なお、第4実施形態に係る識別器110は、第3実施形態と同様にNMFを用いて信号を識別する。
【0083】
(動作の流れ)
次に、
図11を参照しながら、第4実施形態に係る識別装置1の動作の流れ(特に、識別器110を訓練する動作の流れ)について説明する。
図11は、第4実施形態に係る識別装置の学習動作の流れを示すフローチャートである。なお、
図11に示す処理のうち、
図7及び
図9で示した処理と同様のものについては同一の符号を付している。
【0084】
図11に示すように、第4実施形態に係る識別装置1の動作時には、まず学習部120が、識別器110のパラメタを初期化し(ステップS101)、訓練データXを読み込む(ステップS102)。
【0085】
続いて、第4実施形態では、データ拡張部130が、訓練データXにノイズを付加する(ステップS201)。これによって訓練データXが拡張される。
【0086】
続いて、誤差損失関数計算部204が、訓練データXから基本損失関数を計算する(ステップS301)。そして、周期性損失関数計算部201が、訓練データXを用いて第1の損失関数を計算する(ステップS103)。また、クラス整合性損失関数計算部203が、拡張後の訓練データXを用いて第2の損失関数を計算する(ステップS202)。
【0087】
続いて、識別器訓練部202は、基本損失関数、第1の損失関数及び第2の損失関数に基づいて、識別器110のパラメタを更新(即ち、変更)する(ステップS104)。即ち、識別器訓練部202は、すでに説明した第2実施形態の学習動作と第3実施形態の学習動作とを組み合わせた学習動作を実行する。
【0088】
その後、学習部120は、識別器110の識別結果が収束しているか否かを判定する(ステップS105)。識別結果が収束している場合(ステップS105:YES)、一連の処理は終了する。一方で、識別結果が収束していない場合(ステップS105:NO)、再びステップS103から処理が開始される。
【0089】
(技術的効果)
次に、第4実施形態に係る識別装置1によって得られる技術的効果について説明する。
【0090】
図10及び
図11で説明したように、第4実施形態に係る識別装置1では、NMFの基本損失関数に対して、第1の損失関数及び第2の損失関数を加味して学習動作が実行される。このようにすれば、NMFを用いた識別器110に対して、信号の周期性に関する制約を入れた状態で学習が行える。また、訓練データXを拡張した場合でも、周期性を利用した学習が適切に行える。よって、コストの増加を抑制しつつ、周期性を有する信号を適切に識別することが可能となる。
【0091】
<付記>
以上説明した実施形態に関して、更に以下の付記を開示する。
【0092】
(付記1)
付記1に記載の識別装置は、信号を識別する識別手段と、周期性を有する訓練データを用いて、前記識別手段の識別結果が周期性を示すように機械学習を実行する学習手段と
を備えることを特徴とする識別装置である。
【0093】
(付記2)
付記2に記載の識別装置は、前記学習手段は、前記識別手段の識別結果が周期性を示す場合に小さくなる第1の損失関数を用いて前記機械学習を実行することを特徴とする付記1に記載の識別装置である。
【0094】
(付記3)
付記3に記載の識別装置は、前記訓練データの周期は未知の値であることを特徴とする請求項1又は2に記載の識別装置である。
【0095】
(付記4)
付記4に記載の識別装置は、前記訓練データに摂動を付与して拡張する拡張手段を更に備え、前記学習手段は、拡張後の前記訓練データの識別結果が、拡張前の前記訓練データの識別結果と同じクラスになるように前記機械学習を実行することを特徴とする請求項1から3のいずれか一項に記載の識別装置である。
【0096】
(付記5)
付記5に記載の識別装置は、前記学習手段は、拡張後の前記訓練データの識別結果が、拡張前の前記訓練データの識別結果と同じクラスになる場合に小さくなる第2の損失関数を用いて前記機械学習を実行することを特徴とする付記4に記載の識別装置である。
【0097】
(付記6)
付記6に記載の識別装置は、前記識別手段は、ニューラルネットワークを用いて前記信号を識別することを特徴とする付記1から5のいずれか一項に記載の識別装置である。
【0098】
(付記7)
付記7に記載の識別装置は、前記識別手段は、非負値行列因数分解を用いて前記信号を識別することを特徴とする付記1から5のいずれか一項に記載の識別装置である。
【0099】
(付記8)
付記8に記載の識別装置は、前記信号は、レーダ波又は音波であることを特徴とする付記1から7のいずれか一項に記載の識別装置である。
【0100】
(付記9)
付記9に記載の識別装置の学習方法は、信号を識別する識別装置の学習方法であって、周期性を有する訓練データを用いて、前記識別装置の識別結果が周期性を示すように機械学習を実行することを特徴とする識別装置の学習方法である。
である。
【0101】
(付記10)
付記10に記載のコンピュータプログラムは、信号を識別する識別装置の学習に用いるコンピュータプログラムであって、周期性を有する訓練データを用いて、前記識別装置の識別結果が周期性を示すように機械学習を実行するようにコンピュータを動作させることを特徴とするコンピュータプログラムである。
【0102】
(付記11)
付記11に記載の識別装置は、前記学習手段は、前記第1の損失関数として自己相関関数を用いることを特徴とする付記2に記載の識別装置である。
【0103】
(付記12)
付記12に記載の識別装置は、前記学習手段は、前記第1の損失関数のエントロピーを用いて前記機械学習を実行することを特徴とする付記2に記載の識別装置である。
【0104】
(付記13)
付記13に記載の識別装置は、前記学習手段は、前記第2の損失関数として自己相関関数を用いることを特徴とする付記5に記載の識別装置である。
【0105】
(付記14)
付記14に記載の識別装置は、前記学習手段は、前記第2の損失関数のエントロピーを用いて前記機械学習を実行することを特徴とする付記5に記載の識別装置である。
【0106】
本発明は、請求の範囲及び明細書全体から読み取ることのできる発明の要旨又は思想に反しない範囲で適宜変更可能であり、そのような変更を伴う識別装置、識別装置の学習方法、及びコンピュータプログラムもまた本発明の技術思想に含まれる。
【符号の説明】
【0107】
1 識別装置
110 識別器
120 学習部
130 データ拡張部
201 周期性損失関数計算部
202 識別器訓練部
203 クラス整合性損失関数計算部
204 誤差損失関数計算部
X 訓練データ