(57)【要約】      （修正有）【課題】任意のパラメータ列について、あらかじめ特徴量を設計して抽出する作業を実施することなく、類似するパラメータ列を探索する類似度判定プログラムを提供する。【解決手段】本発明の類似度判定プログラムは、パラメータ列を輝度画像データに置き換え、その輝度画像データの画像としての特徴量をＣＮＮによって抽出した結果を用いて、パラメータ列間の類似度を判定する。【選択図】図４
2019139626.tif 000002
【特許請求の範囲】
【請求項１】
パラメータ列間の類似度を判断する処理をコンピュータに実行させる類似度判定プログラムであって、前記コンピュータに、
第１パラメータ列のなかに含まれる各パラメータを画素の輝度値に置き換えることにより、前記第１パラメータ列を輝度画像データに変換する輝度画像生成ステップ、
画像データの特徴量を抽出するニューラルネットワークに対して前記輝度画像データを入力するステップ、
前記ニューラルネットワークの中間層から前記輝度画像データの画像データとしての第１特徴量を取得するステップ、
前記第１特徴量を、第２パラメータ列について前記ニューラルネットワークから取得した第２特徴量と比較することにより、前記第１パラメータ列と前記第２パラメータ列との間の類似度を算出するステップ、
を実行させることを特徴とする類似度判定プログラム。
【請求項２】
前記輝度画像生成ステップにおいては、前記コンピュータに、前記第１パラメータ列のなかに含まれる各パラメータを正規化するステップを実行させる
ことを特徴とする請求項１記載の類似度判定プログラム。
【請求項３】
前記輝度画像生成ステップにおいては、前記コンピュータに、正方形の前記輝度画像データを生成させる
ことを特徴とする請求項１記載の類似度判定プログラム。
【請求項４】
前記輝度画像生成ステップにおいては、前記コンピュータに、
前記第１パラメータ列のなかに含まれるパラメータの個数が前記輝度画像データの画素数よりも少ない場合は、不足する画素を補完するステップを実行させる
ことを特徴とする請求項３記載の類似度判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パラメータ列間の類似度を判断する技術に関する。
【背景技術】
【０００２】
現在、画像間の類似度を判定する技術として、畳み込みニューラルネットワーク（コンボリューションニューラルネットワーク、ＣＮＮ）が研究されている。ＣＮＮは、画像の特徴量を効果的に学習することができる技術として注目されている。ＣＮＮに画像を学習させる手法としては、入力画像と出力結果をペアにして学習させる教師あり学習と、入力画像のみを学習させる教師なし学習とがある。
【０００３】
下記特許文献１は、ＣＮＮに関する技術を記載している。同文献は、『異なる対象物であっても似た要素を有する複数の対象物がある場合に当該要素を備える対象物を精度良くかつ効率的に抽出することを実現する。』ことを課題として、『 一実施形態に係る対象物の類似度判定方法は、１又は複数のコンボリューション層及び全結合層を含むコンボリューションニューラルネットワーク（ＣＮＮ）を用いて、１又は複数のコンピュータ上で実行されることに応じて、当該１又は複数のコンピュータに、複数の対象物の各々から複数の特徴量を抽出するステップと、該複数の対象物の各々からの該複数の特徴量に基づき、前記コンボリューションニューラルネットワーク（ＣＮＮ）の１又は複数のコンボリューション層の後の全結合層の出力値を抽出するステップと、該全結合層の出力値を所定範囲内の値域とする変換処理を行い変換出力値を抽出するステップと、該変換出力値に基づき、対象物の類似度を判別するステップとを実行させる。』という技術を開示している（要約参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−２０７９４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
画像の特徴量としては、様々なものが従来提案されている。画像を学習器に学習させる際には、あらかじめ画像の特徴量を抽出し、その特徴量ベクトルを学習器に対して投入することにより学習させるのが一般的であった。これに対してＣＮＮが画像を学習する際には、あらかじめ画像の特徴量を抽出することなく画像データそのものをＣＮＮに対して投入するのが一般的である。これは、あらかじめ画像の特徴量を抽出する工程を省略することができるのに加えて、学習結果が特徴量の設計に依拠しない利点がある。
【０００６】
他方でＣＮＮは、学習した特徴量を中間層上に保持しており、その特徴量はＣＮＮ自身が内部的に用いるものである。したがってＣＮＮが学習した特徴量はブラックボックスであり、ＣＮＮの外において用いることは想定されていない。これに対して、ＣＮＮが学習した結果を可視化するため、ＣＮＮ内部の畳み込みフィルタを画像として表すなどの試みがなされている。
【０００７】
ＣＮＮの上記特徴は、画像データ間の類似度を判定する際に有用である。他方で画像データ以外のデータ列についても、あるデータと類似する別のデータを探索するニーズは、様々な場面において存在している。本発明者は、そのようなニーズのもと、ＣＮＮの機能を用いてデータ列間の類似度を判定することを試みるに至った。
【課題を解決するための手段】
【０００８】
本発明に係る類似度判定プログラムは、パラメータ列を輝度画像データに置き換え、その輝度画像データの画像としての特徴量をＣＮＮによって抽出した結果を用いて、パラメータ列間の類似度を判定する。
【発明の効果】
【０００９】
本発明に係る類似度判定プログラムによれば、任意のパラメータ列について、あらかじめ特徴量を設計して抽出する作業を実施することなく、類似する他のパラメータ列を探索することができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態１に係る類似度判定装置１００の構成図である。
【図２】パラメータ列の具体例である。
【図３】パラメータ列を正規化する様子を示す概念図である。
【図４】輝度画像生成部１１１が生成する輝度画像の例である。
【発明を実施するための形態】
【００１１】
図１は、本発明の実施形態１に係る類似度判定装置１００の構成図である。類似度判定装置１００は、ＣＮＮ（畳み込みニューラルネットワーク）２００の機能を利用して、パラメータ列間の類似度を判定する装置である。類似度判定装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１０、記憶装置１２０を備える。類似度判定装置１００とＣＮＮ２００との間は、適当なネットワークを介して接続することもできるし、類似度判定装置１００自身がＣＮＮ２００を実装することもできる。
【００１２】
ＣＰＵ１１０は、輝度画像生成部１１１、特徴量取得部１１２、類似度算出部１１３を備える。これら機能部の詳細については後述する。これら機能部は、これらの機能を実装した回路デバイスなどのハードウェアを用いて構成することもできるし、これらの機能を実装したソフトウェアを演算装置が実行することにより構成することもできる。以下では図１に示すようにソフトウェアとして構成したことを前提とする。記載の便宜上、各機能部を動作主体として説明する場合があるが、実際にこれら機能部を実行するのはＣＰＵ１１０である。
【００１３】
記憶装置１２０は、類似度判定装置１００が類似度を判定するパラメータ列をデータとして記憶する。例えばデータ列１からデータ列１０のなかで、対象データ列と最も類似しているものを検索する際に、データ列１〜１０をあらかじめ記憶装置１２０に格納しておくことができる。
【００１４】
ＣＮＮ２００は、典型的には画像データ間の類似度を判定するように構築されたニューラルネットワークである。ＣＮＮ２００の各ニューロン間の重みなどの学習結果は、類似度判定装置１００とは別のコンピュータ上に構成することもできるし、類似度判定装置１００上に（例えば記憶装置１２０上に）その学習結果を格納することにより、類似度判定装置１００上にＣＮＮ２００を構成することもできる。
【００１５】
図２は、パラメータ列の具体例である。パラメータ列は、複数のパラメータ値を有するデータ列である。例えばパラメータ列ｄａｔａ１は、ｐａｒａｍ１＝０．５１、ｐａｒａｍ２＝１０．１、・・・というパラメータ値を有する。パラメータの個数は必ずしもパラメータ列間で等しくなくともよい。
【００１６】
図３は、パラメータ列を正規化する様子を示す概念図である。図２に例示したパラメータ列は、ｐａｒａｍ３が他のパラメータ値と比較して極端に大きい値を有する。このようなパラメータ列をそのまま比較すると、ｐａｒａｍ３の影響が他のパラメータ値よりも大きくなり、パラメータ列を適切に比較することができない。そこで輝度画像生成部１１１は、パラメータ値を正規化することによりスケールを揃える。図３右図は正規化後のパラメータ値の概念図である。ここでは説明の便宜上、ｐａｒａｍ１〜ｐａｒａｍ３のみを図示した。
【００１７】
ｎ番目のパラメータ列を、ｄａｔａ（ｎ）＝｛ｐａｒａｍ１（ｎ），ｐａｒａｍ２（ｎ），・・・ｐａｒａｍＮ（ｎ）｝と表すことにする。輝度画像生成部１１１は、例えば以下の式によりパラメータ値を正規化する。
【００１８】
ｄａｔａ（ｎ）’＝
｛
（ｐａｒａｍ１（ｎ）−Ｍｉｎ（ｐａｒａｍ１））／Ｍａｘ（ｐａｒａｍ１），
（ｐａｒａｍ２（ｎ）−Ｍｉｎ（ｐａｒａｍ２））／Ｍａｘ（ｐａｒａｍ２），
・・・，
（ｐａｒａｍＮ（ｎ）−Ｍｉｎ（ｐａｒａｍＮ））／Ｍａｘ（ｐａｒａｍＮ），
｝
【００１９】
図４は、輝度画像生成部１１１が生成する輝度画像の例である。上記式によって正規化した後のパラメータ列は、略同じスケールのパラメータ値によって構成されている。このパラメータ値を画素の輝度値とみなすことにより、図４に例示するような輝度値によって構成された輝度画像データを生成することができる。パラメータ値が小数点以下の値を有する場合は、例えば最大値を２５５とするように輝度値をスケーリングすればよい。
【００２０】
図４においては、８×８＝６４個の画素値を有する輝度画像データを例示した。必ずしも正方形の輝度画像を生成する必要はなく、任意の縦横画素数の輝度画像データを生成することができる。ただし極端に偏平な輝度画像データは後述する特徴量が偏って形成されるので、一般的には正方形の輝度画像データを生成することが望ましいと考えられる。パラメータ値の個数によっては正方形の画素マトリクスを形成できない場合もあるが、その場合は不足する画素については適当なデフォルト値によってパディングすればよい。例えば輝度値＝０（黒色）をパディングすることができる。
【００２１】
図４に示す輝度画像データは、図２に例示するパラメータ列から派生しているが、画像データである以上はその画像としての特徴量を抽出することができると考えられる。そこで特徴量取得部１１２は、輝度画像生成部１１１が生成した輝度画像データをＣＮＮ２００に対して投入し、特徴量を抽出させることにより、各輝度画像データの画像としての特徴量を抽出する。
【００２２】
例えばｄａｔａ１と最も類似するパラメータ列をその他のパラメータ列のなかから特定したい場合、特徴量取得部１１２は、ｄａｔａ１〜ｄａｔａＮそれぞれの輝度画像データをＣＮＮ２００に対して投入して特徴量を取得し、ｄａｔａ１の特徴量に最も近い特徴量を有する輝度画像データを特定することにより、ｄａｔａ１と最も類似するパラメータ列を特定することができる。
【００２３】
類似度算出部１１３は、特徴量取得部１１２が取得した各輝度画像データの特徴量間の類似度を算出する。類似度を算出する手法としては、例えば特徴量ベクトルのベクトル間距離を類似度として用いることができる。この場合はベクトル間距離が小さいほどその特徴量間の類似度が高いということになる。あるいは特徴量が多次元配列として表現されているのであれば、配列の内積を類似度として用いることもできる。その他適当な方法により特徴量間の類似度を求めてもよい。
【００２４】
類似度算出部１１３は、算出した類似度そのものを出力してもよいし、これに加えて類似度の高さに応じてパラメータ列をランキング付けした結果を出力してもよい。その他適当な出力形式を用いてもよい。出力結果はデータとして記憶装置１２０に格納してもよいし類似度判定装置１００が備えるディスプレイなどの出力装置を介して出力してもよい。
【００２５】
＜本発明の変形例について＞
以上の実施形態において、いったん作成した輝度画像データおよびその特徴量は、データベースなどの適当な記憶部に格納しておいてもよい。新たなパラメータ列の輝度画像データとそれらとの間の類似度を求める際には、あらかじめ記憶部に格納しておいた輝度画像データまたは特徴量を参照すればよい。
【００２６】
以上の実施形態において、パラメータ列を輝度値に置き換えることを説明した。これは典型的には数値パラメータ列に含まれる各パラメータを輝度値に置き換える処理を想定しているが、輝度値に置き換えることができるのであれば数値以外のパラメータ列を輝度画像データに置き換えることもできる。例えば文字であっても文字コードに置き換えることにより数値として取り扱うことができる。その他適当な方法により数値に置き換えてもよい。
【００２７】
以上の実施形態において、輝度画像生成部１１１〜類似度算出部１１３は３つのモジュールとして記載したが、これらのうち２以上を１つのモジュールとして実装することもできる。
【符号の説明】
【００２８】
１００：類似度判定装置
１１０：ＣＰＵ
１１１：輝度画像生成部
１１２：特徴量取得部
１１３：類似度算出部
１２０：記憶装置
２００：ＣＮＮ
【図１】
2019139626.tif 000003
【図２】
2019139626.tif 000004
【図３】
2019139626.tif 000005
【図４】
2019139626.tif 000006
【手続補正書】
【提出日】平成30年5月9日(2018.5.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
パラメータ列間の類似度を判断する処理をコンピュータに実行させる類似度判定プログラムであって、前記コンピュータに、
第１パラメータ列のなかに含まれる各パラメータを画素の輝度値に置き換えることにより、前記第１パラメータ列を輝度画像データに変換する輝度画像生成ステップ、
画像データの特徴量を抽出するニューラルネットワークに対して前記輝度画像データを入力するステップ、
前記ニューラルネットワークの中間層から前記輝度画像データの画像データとしての第１特徴量を取得するステップ、
前記第１特徴量を、第２パラメータ列について前記ニューラルネットワークから取得した第２特徴量と比較することにより、前記第１パラメータ列と前記第２パラメータ列との間の類似度を算出するステップ、
を実行させ、
前記輝度画像生成ステップにおいては、前記コンピュータに、
前記第１パラメータ列のなかに含まれるパラメータの個数が前記輝度画像データの画素数よりも少ない場合は、不足する画素を補完するステップを実行させる
ことを特徴とする類似度判定プログラム。
【請求項２】
前記輝度画像生成ステップにおいては、前記コンピュータに、前記第１パラメータ列のなかに含まれる各パラメータを正規化するステップを実行させる
ことを特徴とする請求項１記載の類似度判定プログラム。
【請求項３】
前記輝度画像生成ステップにおいては、前記コンピュータに、正方形の前記輝度画像データを生成させる
ことを特徴とする請求項１記載の類似度判定プログラム。