(57)【要約】【課題】データベースのための畳み込みニューラルネットワーク（ＣＮＮ）モデルの決定装置及び方法を提供する。【解決手段】該装置は、分類能力が既知の複数のＣＮＮモデルから少なくとも２つのＣＮＮモデルを選択する選択部と、少なくとも２つのＣＮＮモデルの分類能力及びＣＮＮモデルの性能を表すための第１パラメータに基づいて分類能力及び第１パラメータを変数とする曲線をフィッティングするフィッティング部と、曲線に基づいて他のＣＮＮモデルの第１パラメータを予測する予測部と、各ＣＮＮモデルの第１パラメータに基づいて複数のＣＮＮモデルからデータベースに適するＣＮＮモデルを決定する決定部とを含む。該装置及び方法によれば、全てのＣＮＮモデルを訓練する必要がなく、計算量を大幅に低減し、ＣＮＮモデルの設計プロセスを簡易化した。【選択図】図１
2018092614.tif 000002
【特許請求の範囲】
【請求項１】
データベースのための畳み込みニューラルネットワーク（ＣＮＮ）モデルの決定装置であって、
分類能力が既知の複数のＣＮＮモデルから少なくとも２つのＣＮＮモデルを選択する選択手段と、
前記少なくとも２つのＣＮＮモデルの分類能力及び第１パラメータに基づいて、分類能力及び第１パラメータを変数とする曲線をフィッティングするフィッティング手段であって、前記第１パラメータはＣＮＮモデルの性能を表すためのものである、フィッティング手段と、
前記曲線に基づいて、前記複数のＣＮＮモデルのうち前記少なくとも２つのＣＮＮモデル以外の他のＣＮＮモデルの第１パラメータを予測する予測手段と、
前記複数のＣＮＮモデルのうち各ＣＮＮモデルの第１パラメータに基づいて、前記複数のＣＮＮモデルから前記データベースに適するＣＮＮモデルを決定する決定手段と、を含む、装置。
【請求項２】
前記選択手段は、
前記複数のＣＮＮモデルから、分類能力が前記データベースに最も合致するモデルを第１モデルとして決定する第１モデル決定手段と、
前記複数のＣＮＮモデルから、分類能力が最も低いモデルを第２モデルとして決定する第２モデル決定手段と、
前記第１モデル及び前記第２モデルを含む前記少なくとも２つのＣＮＮモデルを決定する処理手段と、を含む、請求項１に記載の装置。
【請求項３】
前記選択手段は、前記複数のＣＮＮモデルから、分類能力が最も優れたモデルを第３モデルとして決定する第３モデル決定手段、をさらに含み、
前記処理手段により決定された前記少なくとも２つのＣＮＮモデルは、前記第３モデルをさらに含む、請求項２に記載の装置。
【請求項４】
前記少なくとも２つのＣＮＮモデルのうち各ＣＮＮモデルを訓練し、前記各ＣＮＮモデルの第１パラメータを取得する訓練手段、をさらに含む、請求項１乃至３の何れかに記載の装置。
【請求項５】
前記フィッティング手段は、冪指数関数又は対数関数により前記曲線をフィッティングする、請求項１乃至３の何れかに記載の装置。
【請求項６】
前記第１パラメータは、ＣＮＮモデルの分類精度を表すためのパラメータを含む、請求項１乃至３の何れかに記載の装置。
【請求項７】
前記決定手段は、前記複数のＣＮＮモデルのうち各ＣＮＮモデルの第１パラメータ及び第２パラメータに基づいて、前記複数のＣＮＮモデルから前記データベースに適するＣＮＮモデルを決定し、
前記第２パラメータは、ＣＮＮモデルの性能を表すためのものである、請求項１乃至３の何れかに記載の装置。
【請求項８】
前記第２パラメータは、前記ＣＮＮモデルの演算速度を表すためのパラメータ又は前記ＣＮＮモデルのメモリ占有率を表すためのパラメータを含む、請求項７に記載の装置。
【請求項９】
前記ＣＮＮモデルの演算速度を表すためのパラメータは、前記ＣＮＮモデルの浮動小数点演算の回数を含む、請求項８に記載の装置。
【請求項１０】
データベースのための畳み込みニューラルネットワーク（ＣＮＮ）モデルの決定方法であって、
分類能力が既知の複数のＣＮＮモデルから少なくとも２つのＣＮＮモデルを選択するステップと、
前記少なくとも２つのＣＮＮモデルの分類能力及び第１パラメータに基づいて、分類能力及び第１パラメータを変数とする曲線をフィッティングするステップであって、前記第１パラメータはＣＮＮモデルの性能を表すためのものである、ステップと、
前記曲線に基づいて、前記複数のＣＮＮモデルのうち前記少なくとも２つのＣＮＮモデル以外の他のＣＮＮモデルの第１パラメータを予測するステップと、
前記複数のＣＮＮモデルのうち各ＣＮＮモデルの第１パラメータに基づいて、前記複数のＣＮＮモデルから前記データベースに適するＣＮＮモデルを決定するステップと、を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施例は、機械学習の分野に関し、具体的にデータベースのための畳み込みニューラルネットワーク（ＣＮＮ）モデルの決定装置及び決定方法に関する。
【背景技術】
【０００２】
この部分は、本発明に関連する背景情報を提供するが、必ずしも従来技術ではない。
【０００３】
深層学習（ｄｅｅｐ  ｌｅａｒｎｉｎｇ）技術は、既にコンピュータビジョンの分野で広く適用されている。深層学習技術の１つとして、ＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ：畳み込みニューラルネットワーク）は、画像分類の正確性を大幅に改善し、画像分類タスクに質的変化をもたらした。任意のデータベースについて適切なＣＮＮモデルを設計でき、該ＣＮＮモデルはデータベースにおけるサンプルを訓練するために用いられることができるため、データベースにおけるサンプルのラベル間の関連性を取得できる。ここで、データベースにおけるサンプルは画像であってもよい。
【０００４】
しかし、ＣＮＮモデルの設計及び選択には、専門的な背景が必要であり、普通の人にとって容易ではない。また、ＣＮＮモデルを決定する際に、性能が比較的に良いＣＮＮモデルを選択することが一般的に望ましいが、ＣＮＮモデルの性能パラメータを取得するために一般的に訓練を行う必要がある。このため、大量の候補のＣＮＮモデルが存在する場合は、各ＣＮＮモデルを１つずつ訓練して性能パラメータを取得して、性能パラメータに基づいて適切なＣＮＮモデルを選択する必要がある。よって、計算量が増加し、処理時間が長くなってしまう。
【０００５】
本発明は、普通のユーザでもＣＮＮモデルを容易に決定できるように、ＣＮＮモデルの決定プロセスを簡易化でき、ＣＮＮモデルの選択の計算量を低減できるものが望ましい。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
この部分は、本発明の一般的な概要を提供し、その全範囲又はその全ての特徴を完全に開示するものではない。
【０００７】
本発明は、普通のユーザでもＣＮＮモデルを容易に決定できるように、ＣＮＮモデルの決定プロセスを簡易化でき、ＣＮＮモデルの選択の計算量を低減できる、データベースのためのＣＮＮモデルの決定装置及び決定方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の１つの態様では、データベースのための畳み込みニューラルネットワーク（ＣＮＮ）モデルの決定装置であって、分類能力が既知の複数のＣＮＮモデルから少なくとも２つのＣＮＮモデルを選択する選択手段と、前記少なくとも２つのＣＮＮモデルの分類能力及び第１パラメータに基づいて、分類能力及び第１パラメータを変数とする曲線をフィッティングするフィッティング手段であって、前記第１パラメータはＣＮＮモデルの性能を表すためのものである、フィッティング手段と、前記曲線に基づいて、前記複数のＣＮＮモデルのうち前記少なくとも２つのＣＮＮモデル以外の他のＣＮＮモデルの第１パラメータを予測する予測手段と、前記複数のＣＮＮモデルのうち各ＣＮＮモデルの第１パラメータに基づいて、前記複数のＣＮＮモデルから前記データベースに適するＣＮＮモデルを決定する決定手段と、を含む、装置を提供する。
【０００９】
本発明のもう１つの態様では、データベースのための畳み込みニューラルネットワーク（ＣＮＮ）モデルの決定方法であって、分類能力が既知の複数のＣＮＮモデルから少なくとも２つのＣＮＮモデルを選択するステップと、前記少なくとも２つのＣＮＮモデルの分類能力及び第１パラメータに基づいて、分類能力及び第１パラメータを変数とする曲線をフィッティングするステップであって、前記第１パラメータはＣＮＮモデルの性能を表すためのものである、ステップと、前記曲線に基づいて、前記複数のＣＮＮモデルのうち前記少なくとも２つのＣＮＮモデル以外の他のＣＮＮモデルの第１パラメータを予測するステップと、前記複数のＣＮＮモデルのうち各ＣＮＮモデルの第１パラメータに基づいて、前記複数のＣＮＮモデルから前記データベースに適するＣＮＮモデルを決定するステップと、を含む、方法を提供する。
【００１０】
本発明のもう１つの態様では、機器が読み取り可能な命令コードを含むプログラムプロダクトであって、前記命令コードがコンピュータにより読み取られ、実行される際に、前記コンピュータに、本発明のデータベースのための畳み込みニューラルネットワーク（ＣＮＮ）モデルの決定方法を実行させることができる、プログラムプロダクトを提供する。
【００１１】
本発明のもう１つの態様では、機器が読み取り可能な命令コードを含むプログラムプロダクトを記憶する機器読み取り可能な記憶媒体であって、前記命令コードがコンピュータにより読み取られ、実行される際に、前記コンピュータに、本発明のデータベースのための畳み込みニューラルネットワーク（ＣＮＮ）モデルの決定方法を実行させることができる、記憶媒体を提供する。
【００１２】
本発明のデータベースのための畳み込みニューラルネットワーク（ＣＮＮ）モデルの決定装置及び方法は、少なくとも２つのＣＮＮモデルに基づいて分類能力及び第１パラメータを変数とする曲線をフィッティングし、フィッティングされた曲線に基づいて他のＣＮＮモデルの性能パラメータを予測し、性能パラメータに基づいて適切なＣＮＮモデルを選択する。これによって、全てのＣＮＮモデルを訓練する必要がなく、少なくとも２つのＣＮＮモデルのみを用いて全てのＣＮＮモデルの性能パラメータを取得でき、計算量を大幅に低減でき、ＣＮＮモデルの設計プロセスを簡易化できるため、普通のユーザでもＣＮＮモデルを容易に決定できる。
【００１３】
この部分における説明及び特定の例は、単なる例示するためのものであり、本発明の範囲を限定するものではない。
【図面の簡単な説明】
【００１４】
ここで説明される図面は、好ましい実施例を例示するためのものであり、全ての可能な実施例ではなく、本発明の範囲を限定するものではない。
【図１】本発明の実施例に係るデータベースのためのＣＮＮモデルの決定装置の構成を示すブロック図である。
【図２】本発明の実施例に係る分類能力及び第１パラメータを変数とする曲線を示す図である。
【図３】本発明の実施例に係るデータベースのためのＣＮＮモデルの決定装置における選択部の構成を示すブロック図である。
【図４】本発明のもう１つの実施例に係るデータベースのためのＣＮＮモデルの決定装置における選択部の構成を示すブロック図である。
【図５】本発明のもう１つの実施例に係るデータベースのためのＣＮＮモデルの決定装置の構成を示すブロック図である。
【図６】本発明の実施例に係るデータベースのためのＣＮＮモデルの決定方法を示すフローチャートである。
【図７】本発明に係るデータベースのためのＣＮＮモデルの決定方法を実施するための汎用パーソナルコンピュータの例示的な構成を示すブロック図である。  本発明の上記及び他の利点及び特徴を説明するために、以下は、図面を参照しながら本発明の具体的な実施形態をさらに詳細に説明する。該図面及び下記の詳細な説明は本明細書に含まれ、本明細書の一部を形成するものである。同一の機能及び構成を有するユニットは、同一の符号で示されている。なお、これらの図面は、本発明の典型的な例を説明するためのものであり、本発明の範囲を限定するものではない。
【発明を実施するための形態】
【００１５】
以下は、図面を参照しながら本発明の例示的な実施例を詳細に説明する。以下の説明は単なる例示的なものであり、本発明、応用及び用途を限定するものではない。
【００１６】
説明の便宜上、明細書には実際の実施形態の全ての特徴が示されていない。なお、実際に実施する際に、開発者の具体的な目標を実現するために、特定の実施形態を変更してもよく、例えばシステム及び業務に関する制限条件に応じて実施形態を変更してもよい。また、開発作業が非常に複雑であり、且つ時間がかかるが、本公開の当業者にとって、この開発作業は単なる例の作業である。
【００１７】
図１は本発明の実施例に係るデータベースのためのＣＮＮモデルの決定装置１００の構成を示すブロック図である。
【００１８】
本発明のデータベースのためのＣＮＮモデルの決定装置１００は、選択部１１０、フィッティング部１２０、予測部１３０及び決定部１４０を含む。
【００１９】
本発明の実施例では、選択部１１０は、分類能力が既知の複数のＣＮＮモデルから少なくとも２つのＣＮＮモデルを選択してもよい。ここで、選択部１１０は、装置１００の外部から分類能力が既知の複数のＣＮＮモデルを取得し、その中から少なくとも２つのＣＮＮモデルを選択してもよい。次に、選択部１１０は、選択された少なくとも２つのＣＮＮモデルをフィッティング部１２０に送信する。
【００２０】
分類能力は、ＣＮＮモデルの重要なパラメータであり、ＣＮＮモデルがデータベースにおけるサンプルを分類する能力を表す。通常の場合は、ＣＮＮモデルの分類能力が強いほど、より複雑なデータベースを処理できる。本発明の実施例では、複数のＣＮＮモデルのうち各ＣＮＮモデルの分類能力は全て既知であり、本分野における任意の方法を用いてＣＮＮモデルの分類能力を取得してもよいが、本発明はこれに限定されない。
【００２１】
さらに、この複数のＣＮＮモデルは、所定の規則に従って選別されたＣＮＮモデルであってもよい。例えば、この複数のＣＮＮモデルの分類能力は所定の範囲内にある。即ち、複数のＣＮＮモデルは候補のＣＮＮモデルとして選択部１１０に提供され、装置１００は最終的にこの複数のＣＮＮモデルから、特定のデータベースに適する１つ又は複数のＣＮＮモデルを決定する。
【００２２】
本発明の実施例では、フィッティング部１２０は、少なくとも２つのＣＮＮモデルの分類能力及び第１パラメータに基づいて、分類能力及び第１パラメータを変数とする曲線をフィッティングしてもよい。ここで、第１パラメータはＣＮＮモデルの性能を表す。ここで、フィッティング部１２０は、選択部１１０により選択された少なくとも２つのＣＮＮモデルを取得してもよく、取得された少なくとも２つのＣＮＮモデルのパラメータは分類能力を含む。さらに、フィッティング部１２０は、この少なくとも２つのＣＮＮモデルの性能を表すための第１パラメータをさらに取得してもよい。例えば、フィッティング部１２０は、装置１００の内部の他のユニット又は外部の他の装置から少なくとも２つのＣＮＮモデルの第１パラメータを取得してもよい。そして、フィッティング部１２０は、この少なくとも２つのＣＮＮモデルの分類能力及び第１パラメータに基づいて曲線をフィッティングしてもよい。次に、フィッティング部１２０は、フィッティングされた曲線を予測部１３０に送信し、パラメータに第１パラメータが含まれている少なくとも２つのＣＮＮモデルを決定部１４０に送信してもよい。
【００２３】
本発明の実施例では、予測部１３０は、曲線に基づいて、複数のＣＮＮモデルのうち少なくとも２つのＣＮＮモデル以外の他のＣＮＮモデルの第１パラメータを予測してもよい。ここで、予測部１３０は、フィッティング部１２０からフィッティングされた曲線を取得し、装置１００の外部から複数のＣＮＮモデルのうち少なくとも２つのＣＮＮモデル以外の他のＣＮＮモデルを取得してもよく、これらの他のＣＮＮモデルの分類能力は既知であるが、第１パラメータは未知である。そして、予測部１３０は、フィッティングされた曲線を用いて他のＣＮＮモデルの第１パラメータを予測してもよい。次に、予測部１３０は、他のＣＮＮモデル（他のＣＮＮモデルのパラメータには、予測された第１パラメータが含まれている）を決定部１４０に送信してもよい。
【００２４】
本発明の実施例では、決定部１４０は、複数のＣＮＮモデルのうち各ＣＮＮモデルの第１パラメータに基づいて、複数のＣＮＮモデルからデータベースに適するＣＮＮモデルを決定してもよい。ここで、決定部１４０は、予測部１３０から、パラメータに予測された第１パラメータが含まれている他のＣＮＮモデルを取得し、フィッティング１２０から、パラメータに第１パラメータが含まれている少なくとも２つのＣＮＮモデルを取得してもよい。このように、決定部１４０は、全てのＣＮＮモデルを取得し、これらのＣＮＮモデルの第１パラメータを知る。そして、決定部１４０は、全てのＣＮＮモデルの第１パラメータに基づいて、データベースに適するＣＮＮモデルを決定してもよい。本発明の実施例では、決定部１４０により決定されたＣＮＮモデルは１つであってもよいし、複数であってもよいが、選択の基準は実際の状況に応じて設定されてもよい。次に、決定部１４０は決定されたＣＮＮモデルを装置１００から出力してもよい。
【００２５】
上述したように、装置１００の入力は分類能力が既知の複数のＣＮＮモデルであり、出力はあるデータベースに適するＣＮＮモデルである。
【００２６】
図２は本発明の実施例に係る分類能力及び第１パラメータを変数とする曲線を示す図である。図２に示すように、横軸はＣＮＮモデルの分類能力を表し、縦軸はＣＮＮモデルの第１パラメータを表す。図中の曲線は、フィッティング部１２０によりフィッティングされた、分類能力及び第１のパラメータを変数とする曲線である。なお、図２は、選択部１１０が３つのＣＮＮモデル（第１モデル、第２モデル及び第３モデル）を選択する態様を示しているが、実際には、選択部１１０は、２つのＣＮＮモデル又は３つよりも多いＣＮＮモデルを選択してもよい。
【００２７】
これによって、本発明のデータベースのための畳み込みニューラルネットワーク（ＣＮＮ）モデルの決定装置１００は、少なくとも２つのＣＮＮモデルに基づいて分類能力及び第１パラメータを変数とする曲線をフィッティングし、フィッティングされた曲線に基づいて他のＣＮＮモデルの性能パラメータを予測し、性能パラメータに基づいて適切なＣＮＮモデルを選択する。これによって、全てのＣＮＮモデルを訓練する必要がなく、少なくとも２つのＣＮＮモデルのみを用いて全てのＣＮＮモデルの性能パラメータを取得でき、計算量を大幅に低減でき、ＣＮＮモデルの設計プロセスを簡易化できるため、普通のユーザでもＣＮＮモデルを容易に決定できる。
【００２８】
＜選択部１１０＞
図３は本発明の実施例に係るデータベースのためのＣＮＮモデルの決定装置１００における選択部１１０の構成を示すブロック図である。
【００２９】
図３に示すように、選択部１１０は、第１モデル決定部１１１、第２モデル決定部１１２及び処理部１１３を含む。
【００３０】
本発明の実施例では、第１モデル決定部１１１は、複数のＣＮＮモデルから、分類能力がデータベースに最も合致するモデルを第１モデルとして決定してもよい。ここで、第１モデルの分類能力はデータベースに最も合致する。言い換えれば、第１モデルは該データベースを訓練することに最も合致するものであり、分類能力が強すぎることによる「役不足」のこともないし、分類能力が弱すぎることにより該データベースを処理できないこともない。本発明の実施例では、任意の適切な方法を用いて特定のデータベースに最も合致する分類能力を決定してもよく、例えば、データベース自体に基づいてそれに最も合致する分類能力を決定してもよいし、複数のＣＮＮモデルのうち全てのＣＮＮモデルの分類能力に基づいて特定のデータベースに最も合致し得る分類能力を決定してもよいが、本発明はこれに限定されない。ここで、第１モデル決定部１１１は装置１００の外部から複数のＣＮＮモデルを取得し、その中から第１モデルを決定し、第１モデルを処理部１１３に送信してもよい。
【００３１】
本発明の実施例では、第２モデル決定部１１２は、複数のＣＮＮモデルから、分類能力が最も低いモデルを第２モデルとして決定してもよい。ここで、第２モデル決定部１１２は装置１００の外部から複数のＣＮＮモデルを取得し、その中から第２モデルを決定し、第２モデルを処理部１１３に送信してもよい。
【００３２】
本発明の実施例では、処理部１１３は、第１モデル及び第２モデルを含む少なくとも２つのＣＮＮモデルを決定してもよい。本発明の実施例では、処理部１１３は、第１モデル決定部１１１から第１モデルを取得し、第２モデル決定部１１２から第２モデルを取得し、少なくとも２つのＣＮＮモデルを決定する。本発明の実施例では、決定された少なくとも２つのＣＮＮモデルの数が２つ以上である場合は、少なくとも２つのＣＮＮモデルは第１モデル及び第２モデルを含んでもよい。
【００３３】
図２に示すように、左側の第２モデルは第２モデル決定部１１２により決定された第２モデルであってもよく、中央の第１モデルは第１モデル決定部１１１により決定された第１モデルであってもよい。
【００３４】
図４は本発明のもう１つの実施例に係るデータベースのためのＣＮＮモデルの決定装置１００における選択部１１０の構成を示すブロック図である。
【００３５】
図４に示すように、選択部１１０は、第１モデル決定部１１１、第２モデル決定部１１２、第３モデル決定部１１４及び処理部１１３を含んでもよい。ここで、第１モデル決定部１１１、第２モデル決定部１１２及び処理部１１３は既に詳細に説明されているため、ここでその説明を省略する。
【００３６】
本発明の実施例では、第３モデル決定部１１４は、複数のＣＮＮモデルから、分類能力が最も優れたモデルを第３モデルとして決定してもよい。ここで、第３モデル決定部１１４は装置１００の外部から複数のＣＮＮモデルを取得し、その中から第３モデルを決定し、第３モデルを処理部１１３に送信してもよい。
【００３７】
図２に示すように、右側の第３モデルは第３モデル決定部１１４により決定された第３モデルであってもよい。
【００３８】
本発明の実施例では、処理部１１３により決定された少なくとも２つのＣＮＮモデルは第３モデルをさらに含んでもよい。即ち、決定された少なくとも２つのＣＮＮモデルの数が３つ以上である場合は、少なくとも２つのＣＮＮモデルは第１モデル、第２モデル及び第３モデルを含んでもよい。より具体的には、決定された少なくとも２つのＣＮＮモデルの数が２つである場合は、少なくとも２つのＣＮＮモデルは第１モデル及び第２モデルであり、決定された少なくとも２つのＣＮＮモデルの数が３つである場合は、少なくとも２つのＣＮＮモデルは第１モデル、第２モデル及び第３モデルである。
【００３９】
本発明の実施例では、処理部１１３は、実際の需要に応じて選択されるＣＮＮモデルの数を自ら決定してもよい。選択されたＣＮＮモデルの数が多いほど、フィッティング部１２０によりフィッティングされた曲線がより正確になるが、フィッティング時の計算量も大きくなる。
【００４０】
＜訓練部１５０＞
図５は本発明のもう１つの実施例に係るデータベースのためのＣＮＮモデルの決定装置１００の構成を示すブロック図である。
【００４１】
図５に示すように、装置１００は、選択部１１０、フィッティング部１２０、予測部１３０、決定部１４０及び訓練部１５０を含んでもよい。ここで、前の４つの構成部は図１に示す構成部と同様であり、ここでその説明を省略する。
【００４２】
本発明の実施例では、訓練部１５０は、少なくとも２つのＣＮＮモデルのうち各ＣＮＮモデルを訓練し、各ＣＮＮモデルの第１パラメータを取得してもよい。ここで、訓練部１５０は、選択部１１０から選択された少なくとも２つのＣＮＮモデルを取得し、訓練により少なくとも２つのＣＮＮモデルの各ＣＮＮモデルの第１パラメータを取得してもよい。そして、訓練部１５０は、パラメータに第１パラメータが含まれている少なくとも２つのＣＮＮモデルを、曲線をフィッティングするためのフィッティング部１２０に送信してもよい。次に、訓練部１５０は、パラメータに第１パラメータが含まれている少なくとも２つのＣＮＮモデルを、ＣＮＮモデルを選択するための決定部１４０にさらに送信してもよい。
【００４３】
本発明の実施例では、ＣＮＮモデルを訓練して該ＣＮＮモデルの性能パラメータを取得する方法がたくさんあり、本発明はこれに限定されない。例えば、既知のサンプルラベルの訓練データベースを用いてＣＮＮモデルを訓練し、ＣＮＮモデルの出力のサンプルラベルと真のサンプルラベルとを比較することで、該ＣＮＮモデルの性能パラメータを取得する。
【００４４】
＜フィッティング部１２０＞
本発明の実施例では、フィッティング部１２０は、少なくとも２つのＣＮＮモデルの第１パラメータ及び分類能力を取得した後に、即ち二次元座標系における少なくとも２つの点を取得した後に、任意の方法を用いて該二次元座標系において曲線をフィッティングしてもよい。例えば、フィッティング１２０は、冪指数関数ｙ＝ａｘｂ又は対数関数ｙ＝ｃｌｎ（ｘ）＋ｄにより曲線をフィッティングしてもよく、ここで、ａ、ｂ、ｃ及びｄはいずれも解くべきパラメータである。
【００４５】
図２はフィッティング部１２０によりフィッティングされた曲線を示している。図２に示すように、選択された３つのモデルの分類能力及び第１パラメータは二次元座標系において３の点に反映され、フィッティングされた曲線はこの３つの点を通過する。
【００４６】
＜予測部１３０＞
本発明の実施例では、予測部１３０は、フィッティング部１２０によりフィッティングされた曲線に基づいて、他のＣＮＮモデルの第１パラメータを予測してもよい。即ち、フィッティング部１２０によりフィッティングされた曲線及び他のＣＮＮモデルの分類能力に基づいて他のＣＮＮモデルの第１パラメータを予測する。例えば、他のＣＮＮモデルの各ＣＮＮモデルについて、予測部１３０は、曲線において横座標が該ＣＮＮモデルの分類能力の点を見つけ出し、該点の縦座標を該ＣＮＮモデルの第１パラメータとして予測する。
【００４７】
図２に示す例では、曲線がフィッティングされた後に、分類能力が既知の任意の他のＣＮＮモデルについて、横軸において該他のＣＮＮモデルの分類能力を取得し、曲線において横座標が該ＣＮＮモデルの分類能力の点を見つけ出し、該点に対応する縦座標は予測部１３０により予測された該他のＣＮＮモデルの第１パラメータである。
【００４８】
本発明の実施例では、装置１００に入力された複数のＣＮＮモデルのうち全てのＣＮＮモデルの分類能力は既知であり、選択部１１０により選択された少なくとも２つのＣＮＮモデルの第１パラメータは訓練部１５０により訓練されることで取得されたものであり、選択部１１０により選択されなかった他のＣＮＮモデルの第１パラメータは予測部１３０により予測され、訓練の処理が行われていない。通常、ＣＮＮモデルの訓練に長い時間がかかる。本発明の実施例によれば、全てのＣＮＮモデルを訓練することなく性能パラメータを取得できるため、処理時間を大幅に短縮した。
【００４９】
＜決定部１４０＞
本発明の実施例では、決定部１４０は、第１パラメータに基づいて、複数のＣＮＮモデルから、データベースのための１つ又は複数のＣＮＮモデルを決定してもよい。即ち、決定部１４０は、第１パラメータにのみ基づいてＣＮＮモデルを決定してもよいし、第１パラメータ以外の他のパラメータに基づいてＣＮＮモデルを決定してもよい。本発明の実施例では、決定部１４０は、各種の方法を用いてＣＮＮモデルを決定してもよい。例えば、第１パラメータが最も優れたＣＮＮモデルを選択してもよいし、第１パラメータが所定範囲内にあるＣＮＮモデルを選択してもよいが、本発明はこれに限定されない。
【００５０】
本発明の実施例では、決定部１４０は、複数のＣＮＮモデルのうち各ＣＮＮモデルの第１パラメータ及び第２パラメータに基づいて、複数のＣＮＮモデルからデータベースに適するＣＮＮモデルを決定してもよい。第２パラメータは、ＣＮＮモデルの性能を表すためのものである。
【００５１】
ＣＮＮモデルの性能を表すパラメータは、複数種類あり、複数の観点からＣＮＮモデルの性能を表す。決定部１４０は、決定されたＣＮＮモデルの性能が複数の観点からいずれも良くなるように、複数のパラメータに基づいてＣＮＮモデルを決定してもよい。
【００５２】
図２に示す例では、ヒストグラムはＣＮＮモデルの第２パラメータを表す。ここで、各ヒストグラムは１つのＣＮＮモデルを表し、図２において合計９個のＣＮＮモデルを示している。ヒストグラムの高さは該ＣＮＮモデルの第２パラメータの大きさを表し、この高さは正規化された高さ又は他の前処理により処理されたものであってもよい。図２において、第１モデル、第２モデル及び第３モデルの第１パラメータは訓練により取得されたものであり、他の６個のＣＮＮモデルの第１パラメータは予測部１３０により図２におけるフィッティング曲線に基づいて予測されたものである。一方、第２パラメータは任意の方法により取得されてもよいが、本発明はこれに限定されない。このように、ユーザは図２から各ＣＮＮモデルの第１パラメータ及び第２パラメータの値を明確に分かるため、第１パラメータ及び第２パラメータを総合的に考慮して最終的なＣＮＮモデルを決定できる。本発明の実施例では、決定部１４０は所定の基準及びアルゴリズムに従って第１パラメータ及び第２パラメータに基づいてＣＮＮモデルを選択してもよいが、本発明はこれに限定されない。
【００５３】
＜第１パラメータ及び第２パラメータ＞
本発明の実施例では、第１パラメータは、ＣＮＮモデルの分類精度を表すためのパラメータを含んでもよい。例えば、第１パラメータは、分類の正確率のパラメータ及び特徴抽出の正確度のパラメータ等であってもよいが、ＣＮＮモデルの分類精度を表すことができるものであってもよい。ここで、ＣＮＮモデルの分類精度は、ＣＮＮモデルの分類の正確度を表し、ＣＮＮモデルの特徴表現能力のレベルをある程度反映している。
【００５４】
本発明の実施例では、第２パラメータは、ＣＮＮモデルの演算速度を表すためのパラメータ又はＣＮＮモデルのメモリ占有率を表すためのパラメータを含んでもよい。例えば、ＣＮＮモデルの演算速度を表すためのパラメータは、ＣＮＮモデルの浮動小数点演算の回数を含んでもよい。浮動小数点演算の回数はテストプロセスの時間を反映し、浮動小数点演算の回数が多いほど、テスト時間が長くなる。
【００５５】
本発明の実施例では、第２パラメータは、ＣＮＮモデルのモデル安定性を表すためのパラメータ等をさらに含んでもよい。ユーザ又はＣＮＮモデルの設計者は実際の需要に応じて適切な第２パラメータを選択してもよい。
【００５６】
なお、本発明の主旨から逸脱することなく、決定部１４０は、第１パラメータ及び第２パラメータ以外の他のパラメータに基づいてＣＮＮモデルを決定してもよい。このようにより多い要素を総合的に考慮することで、より多い性能の観点から見ると、決定されたＣＮＮモデルの性能が優れる。
【００５７】
上述したように、本発明のデータベースのための畳み込みニューラルネットワーク（ＣＮＮ）モデルの決定装置は、少なくとも２つのＣＮＮモデルに基づいて分類能力及び第１パラメータを変数とする曲線をフィッティングし、フィッティングされた曲線に基づいて他のＣＮＮモデルの性能パラメータを予測し、性能パラメータに基づいて適切なＣＮＮモデルを選択する。これによって、全てのＣＮＮモデルを訓練する必要がなく、少なくとも２つのＣＮＮモデルのみを用いて全てのＣＮＮモデルの性能パラメータを取得でき、計算量を大幅に低減できる。
【００５８】
以上は本発明の実施例のデータベースのための畳み込みニューラルネットワーク（ＣＮＮ）モデルの決定装置１００を詳細に説明した。次に、本発明の実施例のデータベースのためのＣＮＮモデルの決定方法を詳細に説明する。
【００５９】
図６は本発明の実施例に係るデータベースのためのＣＮＮモデルの決定方法を示すフローチャートである。
【００６０】
図６に示すように、ステップＳ６１０において、分類能力が既知の複数のＣＮＮモデルから少なくとも２つのＣＮＮモデルを選択する。
【００６１】
次に、ステップＳ６２０において、少なくとも２つのＣＮＮモデルの分類能力及び第１パラメータに基づいて、分類能力及び第１パラメータを変数とする曲線をフィッティングする。ここで、第１パラメータはＣＮＮモデルの性能を表すためのものである。
【００６２】
次に、ステップＳ６３０において、曲線に基づいて、複数のＣＮＮモデルのうち少なくとも２つのＣＮＮモデル以外の他のＣＮＮモデルの第１パラメータを予測する。
【００６３】
次に、ステップＳ６４０において、複数のＣＮＮモデルのうち各ＣＮＮモデルの第１パラメータに基づいて、複数のＣＮＮモデルからデータベースに適するＣＮＮモデルを決定する。
【００６４】
好ましくは、少なくとも２つのＣＮＮモデルを選択するステップは、複数のＣＮＮモデルから、分類能力が前記データベースに最も合致するモデルを第１モデルとして決定するステップと、複数のＣＮＮモデルから、分類能力が最も低いモデルを第２モデルとして決定するステップと、第１モデル及び第２モデルを含む少なくとも２つのＣＮＮモデルを決定するステップとを含む。
【００６５】
好ましくは、少なくとも２つのＣＮＮモデルを選択するステップは、複数のＣＮＮモデルから、分類能力が最も優れたモデルを第３モデルとして決定するステップをさらに含み、少なくとも２つのＣＮＮモデルは第３モデルをさらに含む。
【００６６】
好ましくは、方法は、少なくとも２つのＣＮＮモデルのうち各ＣＮＮモデルを訓練し、各ＣＮＮモデルの第１パラメータを取得するステップをさらに含む。
【００６７】
好ましくは、冪指数関数又は対数関数により曲線をフィッティングする。
【００６８】
好ましくは、第１パラメータは、ＣＮＮモデルの分類精度を表すためのパラメータを含む。
【００６９】
好ましくは、データベースに適するＣＮＮモデルを決定するステップは、複数のＣＮＮモデルのうち各ＣＮＮモデルの第１パラメータ及び第２パラメータに基づいて、複数のＣＮＮモデルからデータベースに適するＣＮＮモデルを決定するステップを含み、第２パラメータはＣＮＮモデルの性能を表すためのものである。
【００７０】
好ましくは、第２パラメータは、ＣＮＮモデルの演算速度を表すためのパラメータ又はＣＮＮモデルのメモリ占有率を表すためのパラメータを含む。
【００７１】
好ましくは、ＣＮＮモデルの演算速度を表すためのパラメータは、ＣＮＮモデルの浮動小数点演算の回数を含む。
【００７２】
上述したデータベースのためのＣＮＮモデルの決定方法はデータベースのためのＣＮＮモデルの決定装置１００により実現されてもよいため、上述したデータベースのためのＣＮＮモデルの決定装置１００の各態様は全て適用でき、ここでその説明を省略する。
【００７３】
以上から、本発明のデータベースのための畳み込みニューラルネットワーク（ＣＮＮ）モデルの決定装置及び方法は、少なくとも２つのＣＮＮモデルに基づいて分類能力及び第１パラメータを変数とする曲線をフィッティングし、フィッティングされた曲線に基づいて他のＣＮＮモデルの性能パラメータを予測し、性能パラメータに基づいて適切なＣＮＮモデルを選択する。これによって、全てのＣＮＮモデルを訓練する必要がなく、少なくとも２つのＣＮＮモデルのみを用いて全てのＣＮＮモデルの性能パラメータを取得でき、計算量を大幅に低減でき、ＣＮＮモデルの設計プロセスを簡易化できるため、普通のユーザでもＣＮＮモデルを容易に決定できる。
【００７４】
なお、本発明のデータベースのためのＣＮＮモデルの決定方法の各処理は、各種の機器読み取り可能な記憶媒体に記憶されたコンピュータが実行可能なプログラムにより実現されてもよい。
【００７５】
また、本発明の目的は、上記実行可能なプログラムコードを記憶した記憶媒体をシステム又は装置に直接的又は間接的に提供し、該システム又は装置におけるコンピュータ、中央処理装置（ＣＰＵ）又は画像処理装置（ＧＰＵ）が該プログラムコードを読み出して実行することによって実現されてもよい。この場合は、該システム又は装置はプログラムを実行可能な機能を有すればよく、本発明の実施形態はプログラムに限定されない。また、該プログラムは任意の形であってもよく、例えばオブジェクトプログラム、インタプリタによって実行されるプログラム、又はオペレーティングシステムに提供されるスクリプトプログラム等であってもよい。
【００７６】
上記の機器が読み取り可能な記憶媒体は、各種のメモリ、記憶部、半導体装置、光ディスク、磁気ディスク及び光磁気ディスクのようなディスク、及び他の情報を記憶可能な媒体等を含むが、これらに限定されない。
【００７７】
また、コンピュータがインターネット上の対応するウェブサイトに接続し、本発明のコンピュータプログラムコードをコンピュータにダウンロードしてインストールして実行することによって、本発明の実施形態を実現することもできる。
【００７８】
図７は本発明に係るデータベースのためのＣＮＮモデルの決定方法を実施するための汎用パーソナルコンピュータの例示的な構成を示すブロック図である。
【００７９】
図７において、ＣＰＵ７０１は、読み出し専用メモリ（ＲＯＭ）７０２に記憶されているプログラム、又は記憶部７０８からランダムアクセスメモリ（ＲＡＭ）７０３にロードされたプログラムにより各種の処理を実行する。ＲＡＭ７０３には、必要に応じて、ＣＰＵ７０１が各種の処理を実行するに必要なデータが記憶されている。ＣＰＵ７０１、ＲＯＭ７０２、及びＲＡＭ７０３は、バス７０４を介して互いに接続されている。入力／出力インターフェース７０５もバス７０４に接続されている。
【００８０】
入力部７０６（キーボード、マウスなどを含む）、出力部７０７（ディスプレイ、例えばブラウン管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）など、及びスピーカなどを含む）、記憶部７０８（例えばハードディスクなどを含む）、通信部７０９（例えばネットワークのインタフェースカード、例えばＬＡＮカード、モデムなどを含む）は、入力／出力インターフェース７０５に接続されている。通信部７０９は、ネットワーク、例えばインターネットを介して通信処理を実行する。必要に応じて、ドライブ部７１０は、入力／出力インターフェース７０５に接続されてもよい。取り外し可能な媒体７１１は、例えば磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどであり、必要に応じてドライブ部７１０にセットアップされて、その中から読みだされたコンピュータプログラムは必要に応じて記憶部７０８にインストールされている。
【００８１】
ソフトウェアにより上記処理を実施する場合、ネットワーク、例えばインターネット、又は記憶媒体、例えば取り外し可能な媒体７１１を介してソフトウェアを構成するプログラムをインストールする。
【００８２】
なお、これらの記憶媒体は、図７に示されている、プログラムを記憶し、機器と分離してユーザへプログラムを提供する取り外し可能な媒体７１１に限定されない。取り外し可能な媒体７１１は、例えば磁気ディスク（フロッピーディスク（登録商標）を含む）、光ディスク（光ディスク−読み出し専用メモリ（ＣＤ−ＲＯＭ）、及びデジタル多目的ディスク（ＤＶＤ）を含む）、光磁気ディスク（ミニディスク（ＭＤ）（登録商標））及び半導体メモリを含む。或いは、記憶媒体は、ＲＯＭ７０２、記憶部７０８に含まれるハードディスクなどであってもよく、プログラムを記憶し、それらを含む機器と共にユーザへ提供される。
【００８３】
なお、本発明のシステム及び方法では、各ユニット又は各ステップを分解且つ、或いは再組み合わせてもよい。これらの分解及び／又は再組み合わせは、本発明と同等であると見なされる。また、本発明の方法は、明細書に説明された時間的順序で実行するものに限定されず、他の時間的順序で順次、並行、又は独立して実行されてもよい。このため、本明細書に説明された方法の実行順序は、本発明の技術的な範囲を限定するものではない。
【００８４】
以上は本発明の具体的な実施例の説明を通じて本発明を開示するが、上記の全ての実施例及び例は例示的なものであり、制限的なものではない。当業者は、特許請求の範囲の主旨及び範囲内で本発明に対して各種の修正、改良、均等的なものに変更してもよい。これらの修正、改良又は均等的なものに変更することは本発明の保護範囲に含まれるものである。
【００８５】
また、上述の各実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
データベースのための畳み込みニューラルネットワーク（ＣＮＮ）モデルの決定装置であって、
分類能力が既知の複数のＣＮＮモデルから少なくとも２つのＣＮＮモデルを選択する選択手段と、
前記少なくとも２つのＣＮＮモデルの分類能力及び第１パラメータに基づいて、分類能力及び第１パラメータを変数とする曲線をフィッティングするフィッティング手段であって、前記第１パラメータはＣＮＮモデルの性能を表すためのものである、フィッティング手段と、
前記曲線に基づいて、前記複数のＣＮＮモデルのうち前記少なくとも２つのＣＮＮモデル以外の他のＣＮＮモデルの第１パラメータを予測する予測手段と、
前記複数のＣＮＮモデルのうち各ＣＮＮモデルの第１パラメータに基づいて、前記複数のＣＮＮモデルから前記データベースに適するＣＮＮモデルを決定する決定手段と、を含む、装置。
（付記２）
前記選択手段は、
前記複数のＣＮＮモデルから、分類能力が前記データベースに最も合致するモデルを第１モデルとして決定する第１モデル決定手段と、
前記複数のＣＮＮモデルから、分類能力が最も低いモデルを第２モデルとして決定する第２モデル決定手段と、
前記第１モデル及び前記第２モデルを含む前記少なくとも２つのＣＮＮモデルを決定する処理手段と、を含む、付記１に記載の装置。
（付記３）
前記選択手段は、前記複数のＣＮＮモデルから、分類能力が最も優れたモデルを第３モデルとして決定する第３モデル決定手段、をさらに含み、
前記処理手段により決定された前記少なくとも２つのＣＮＮモデルは、前記第３モデルをさらに含む、付記２に記載の装置。
（付記４）
前記少なくとも２つのＣＮＮモデルのうち各ＣＮＮモデルを訓練し、前記各ＣＮＮモデルの第１パラメータを取得する訓練手段、をさらに含む、付記１乃至３の何れかに記載の装置。
（付記５）
前記フィッティング手段は、冪指数関数又は対数関数により前記曲線をフィッティングする、付記１乃至３の何れかに記載の装置。
（付記６）
前記第１パラメータは、ＣＮＮモデルの分類精度を表すためのパラメータを含む、付記１乃至３の何れかに記載の装置。
（付記７）
前記決定手段は、前記複数のＣＮＮモデルのうち各ＣＮＮモデルの第１パラメータ及び第２パラメータに基づいて、前記複数のＣＮＮモデルから前記データベースに適するＣＮＮモデルを決定し、
前記第２パラメータは、ＣＮＮモデルの性能を表すためのものである、付記１乃至３の何れかに記載の装置。
（付記８）
前記第２パラメータは、前記ＣＮＮモデルの演算速度を表すためのパラメータ又は前記ＣＮＮモデルのメモリ占有率を表すためのパラメータを含む、付記７に記載の装置。
（付記９）
前記ＣＮＮモデルの演算速度を表すためのパラメータは、前記ＣＮＮモデルの浮動小数点演算の回数を含む、付記８に記載の装置。
（付記１０）
データベースのための畳み込みニューラルネットワーク（ＣＮＮ）モデルの決定方法であって、
分類能力が既知の複数のＣＮＮモデルから少なくとも２つのＣＮＮモデルを選択するステップと、
前記少なくとも２つのＣＮＮモデルの分類能力及び第１パラメータに基づいて、分類能力及び第１パラメータを変数とする曲線をフィッティングするステップであって、前記第１パラメータはＣＮＮモデルの性能を表すためのものである、ステップと、
前記曲線に基づいて、前記複数のＣＮＮモデルのうち前記少なくとも２つのＣＮＮモデル以外の他のＣＮＮモデルの第１パラメータを予測するステップと、
前記複数のＣＮＮモデルのうち各ＣＮＮモデルの第１パラメータに基づいて、前記複数のＣＮＮモデルから前記データベースに適するＣＮＮモデルを決定するステップと、を含む、方法。
（付記１１）
少なくとも２つのＣＮＮモデルを選択するステップは、
前記複数のＣＮＮモデルから、分類能力が前記データベースに最も合致するモデルを第１モデルとして決定するステップと、
前記複数のＣＮＮモデルから、分類能力が最も低いモデルを第２モデルとして決定するステップと、
前記第１モデル及び前記第２モデルを含む前記少なくとも２つのＣＮＮモデルを決定するステップと、を含む、付記１０に記載の方法。
（付記１２）
少なくとも２つのＣＮＮモデルを選択するステップは、前記複数のＣＮＮモデルから、分類能力が最も優れたモデルを第３モデルとして決定するステップ、をさらに含み、
前記少なくとも２つのＣＮＮモデルは、前記第３モデルをさらに含む、付記１１に記載の方法。
（付記１３）
前記少なくとも２つのＣＮＮモデルのうち各ＣＮＮモデルを訓練し、前記各ＣＮＮモデルの第１パラメータを取得するステップ、をさらに含む、付記１０乃至１２の何れかに記載の方法。
（付記１４）
冪指数関数又は対数関数により前記曲線をフィッティングする、付記１０乃至１２の何れかに記載の方法。
（付記１５）
前記第１パラメータは、ＣＮＮモデルの分類精度を表すためのパラメータを含む、付記１０乃至１２の何れかに記載の方法。
（付記１６）
前記データベースに適するＣＮＮモデルを決定するステップは、前記複数のＣＮＮモデルのうち各ＣＮＮモデルの第１パラメータ及び第２パラメータに基づいて、前記複数のＣＮＮモデルから前記データベースに適するＣＮＮモデルを決定するステップ、を含み、
前記第２パラメータは、ＣＮＮモデルの性能を表すためのものである、付記１０乃至１２の何れかに記載の方法。
（付記１７）
前記第２パラメータは、前記ＣＮＮモデルの演算速度を表すためのパラメータ又は前記ＣＮＮモデルのメモリ占有率を表すためのパラメータを含む、付記１６に記載の方法。
（付記１８）
前記ＣＮＮモデルの演算速度を表すためのパラメータは、前記ＣＮＮモデルの浮動小数点演算の回数を含む、付記１７に記載の方法。
（付記１９）
機器が読み取り可能な命令コードを含むプログラムプロダクトを記憶する機器読み取り可能な記憶媒体であって、前記命令コードがコンピュータにより読み取られ、実行される際に、前記コンピュータに、付記１０乃至１８の何れかに記載の方法を実行させることができる、記憶媒体。
【図１】
2018092614.tif 000003
【図２】
2018092614.tif 000004
【図３】
2018092614.tif 000005
【図４】
2018092614.tif 000006
【図５】
2018092614.tif 000007
【図６】
2018092614.tif 000008
【図７】
2018092614.tif 000009