(57)【要約】      （修正有）【課題】増分学習のためのデータ認識方法を提供する。【解決手段】方法は、新しい訓練サンプルセットを取得するステップと、新しい訓練サンプルセットと既存の訓練サンプルセットとを併合し、更新後の訓練サンプルセットを取得するステップと、更新後の訓練サンプルセットの複雑度に基づいてデータ認識モデルの規模を計算するステップと、認識すべきデータのタイプに基づいて該規模を有するデータ認識モデルのネットワーク構造のパラメータを取得するステップと、該パラメータに基づいてデータ認識モデルのネットワーク構造を構築するステップと、更新後の訓練サンプルセットを用いてサブネットワーク構造を有するデータ認識モデルを訓練し、データ認識モデルにおける演算および演算に関するパラメータを決定するステップと、生成されたデータ認識モデルに基づいてデータ認識を行うステップと、を含む。【選択図】図６
2020191080.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより実現される増分学習のためのデータ認識方法であって、
新しい訓練サンプルセットを取得するステップと、
前記新しい訓練サンプルセットと既存の訓練サンプルセットとを併合し、更新後の訓練サンプルセットを取得するステップと、
前記更新後の訓練サンプルセットの複雑度を計算し、前記複雑度に基づいて、前記更新後の訓練サンプルセットに基づいて生成されるデータ認識モデルのネットワーク構造の規模を計算するステップと、
認識すべきデータのタイプに基づいて、生成されるデータ認識モデルのネットワーク構造のパラメータ空間を決定し、サンプリングにより前記ネットワーク構造のパラメータ空間から前記規模を有するサブネットワーク構造のパラメータを取得し、サブネットワーク構造のパラメータに基づいてデータ認識モデルのためのネットワーク構造を構築し、サブネットワーク構造の各ノードでの演算を取得するステップと、
前記更新後の訓練サンプルセットを用いて前記サブネットワーク構造を有するデータ認識モデルを訓練し、前記サブネットワーク構造における各ノードでの演算のパラメータを決定し、前記データ認識モデルを生成するステップと、
前記データ認識モデルに基づいてデータ認識を行うステップと、を含む、方法。
【請求項２】
前記データセットの複雑度は、クラス内複雑度、クラス間複雑度、又はクラス内複雑度とクラス間複雑度の組み合わせである、請求項１に記載の方法。
【請求項３】
複雑度計算式に従って前記データ認識モデルのネットワーク構造の規模を計算する、請求項１に記載の方法。
【請求項４】
ネットワーク層数Ｌ及びチャネル数Ｃｂで前記データ認識モデルの規模を表す、請求項１に記載の方法。
【請求項５】
前記ネットワーク構造のパラメータ空間は、前記ネットワーク層数Ｌ、前記チャネル数Ｃｂ、各層のネットワークにより採用されるテンソル演算方式、及び各層のネットワーク間の結合方式を含み、
前記ネットワークのパラメータ空間の各部分は、特定の値範囲の数字で表され、
前記ネットワークのパラメータ空間の各部分の値が決定された数字により構成されたベクトルは、決定されたサブネットワーク構造を表す、請求項４に記載の方法。
【請求項６】
新しい訓練サンプルセットを取得するステップは、
新しく収集されたデータに対して手動でラベル付けすることで、前記新しい訓練サンプルセットを取得すること、及び／又は
現在のデータ認識モデルを用いて新しく収集されたデータを認識した認識結果に対して手動で検証することで、前記新しい訓練サンプルセットを取得すること、を含む、請求項１に記載の方法。
【請求項７】
前記更新後の訓練サンプルセットを用いて前記サブネットワーク構造を有するデータ認識モデルを訓練し、前記サブネットワーク構造における各ノードでの演算及び演算に関するパラメータを決定するステップにおいて、
前記更新後の訓練サンプルセットの規模が現在の訓練サンプルセットの規模よりも小さい場合、更新後のモデルの規模が直前のモデルの規模よりも小さくなるように、直前のモデルのパラメータに対して枝刈り及びパラメータのファインチューニングを行い、更新後のサブネットワークの訓練速度を速くする、請求項１に記載の方法。
【請求項８】
前記更新後の訓練サンプルセットを用いて前記サブネットワーク構造を有するデータ認識モデルを訓練し、前記サブネットワーク構造における各ノードでの演算及び演算に関するパラメータを決定するステップにおいて、
前記更新後の訓練サンプルセットの規模が現在の訓練サンプルセットの規模よりも大きい場合、前記更新後の訓練サンプルセットを用いて、前記現在のデータ認識モデルに適応的なサイズのネットワーク構造が追加されたデータ認識モデルを訓練し、パラメータのコピーとファインチューニング又は特徴正規化のスケール変換により訓練速度を速くする、請求項１に記載の方法。
【請求項９】
前記データ認識モデルは、ＣＮＮである、請求項１乃至８の何れかに記載の方法。
【請求項１０】
データ更新、ネットワーク構造パラメータコントローラ更新及びサブネットワークモデルのパラメータ更新である３つのステップ、をさらに含み、
該３つのステップにより交互に反復的に更新を行うことで、増分学習を行う、請求項１乃至８の何れかに記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、増分学習（Ｉｎｃｒｅｍｅｎｔａｌ  Ｌｅａｒｎｉｎｇ）のためのデータ認識方法に関する。
【背景技術】
【０００２】
現在は、情報爆発の時代であり、現在のビジネス活動において大量の情報が収集、記憶、発掘、使用されている。データの増加又は増量に伴い、現在のデータセットのために最適なフィッティングモデルを構築する方法が必要となる。多くの人工知能の企業では、収集されたデータを処理するためにディープニューラルネットワークを使用しており、人工知能及び機械学習の発展に伴い、多くの機械学習アルゴリズムが開発されている。このようなアルゴリズムは殆どバッチ学習（Ｂａｔｃｈ  Ｌｅａｒｎｉｎｇ）モードのものであり、即ち、訓練する前に全ての訓練サンプルを一括的に取得でき、これらのサンプルを学習した後に、新しい知識を学習せずに学習プロセスを終了させると仮定している。
【０００３】
なお、上述した技術背景の説明は、本開示の技術案を明確、完全に理解させるための説明であり、当業者を理解させるために記述されているものである。これらの技術案は、単なる本開示の背景技術部分として説明されたものであり、当業者により周知されたものではない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
以下は、本開示の態様を基本的に理解させるために、本開示の簡単な概要を説明する。なお、この簡単な概要は、本開示を網羅的な概要ではなく、本開示のポイント又は重要な部分を意図的に特定するものではなく、本開示の範囲を意図的に限定するものではなく、後述するより詳細的な説明の前文として、単なる概念を簡単な形で説明することを目的とする。
【０００５】
本発明の発見によると、バッチ学習モードでは、継続時間中に大量の情報を処理する要求を満たすことができず、実際の応用では、訓練サンプルは通常一括的に取得することができず。時間の経過に伴って取得し、サンプルの繁栄も時間の経過に伴って変化する可能性がある。新しいサンプルを取得した後に全てのデータを再学習すると、大量の時間及びリソースがかかるため、バッチ学習のアルゴリズムはこのような要求を満たすことができない。増分学習アルゴリズムは、全てのデータを再学習する必要がなく、更新後の知識が新しく取得されたデータに適応するように、知識を漸進的に更新し、従来の知識を修正、強化することができる。増分学習は、時間及びリソースへの要求を低減させ、実際の要求を満たすことができる。また、人工知能企業は、既に構築されたモデルに新しい情報を継続的に統合する必要がない。さらに、それほど重要ではないが、専門家又はエンジニアがゼロから新しいモデルを定期的に再構築することは、非常に時間及びコストがかかる。
【０００６】
従って、上記の問題を解決するために、本開示は、特定の増分学習方法、及び該特定の増分学習方法のためのデータ認識方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本開示の１つの態様では、増分学習のためのデータ認識方法であって、新しい訓練サンプルセットを取得するステップと、前記新しい訓練サンプルセットと既存の訓練サンプルセットとを併合し、更新後の訓練サンプルセットを取得するステップと、前記更新後の訓練サンプルセットの複雑度を計算し、前記複雑度に基づいて、前記更新後の訓練サンプルセットに基づいて生成されるデータ認識モデルのネットワーク構造の規模を計算するステップと、認識すべきデータのタイプに基づいて、生成されるデータ認識モデルのネットワーク構造のパラメータ空間を決定し、サンプリングにより前記ネットワーク構造のパラメータ空間から前記規模を有するサブネットワーク構造のパラメータを取得し、サブネットワーク構造のパラメータに基づいてデータ認識モデルのためのネットワーク構造を構築し、サブネットワーク構造の各ノードでの演算を取得するステップと、前記更新後の訓練サンプルセットを用いて前記サブネットワーク構造を有するデータ認識モデルを訓練し、前記サブネットワーク構造における各ノードでの演算のパラメータを決定し、前記データ認識モデルを生成するステップと、前記データ認識モデルに基づいてデータ認識を行うステップと、を含む、方法を提供する。
【０００８】
本開示に係る増分学習のためのデータ認識方法によれば、最適なフィッティングモデルを継続的に検索することができ、データを継続的に変更又は追加することができるため、推奨モデルが常に現在のデータに対して優れた性能を有する。また、増分学習にカスタマイズされたネットワーク検索空間を設計することができる。また、ネットワーク構造を効率的に取得するように、検索方策を修正することができる。調整されたデータセットの更新方法は、増分アルゴリズムに適合する。
【０００９】
従来技術に比べて、本開示は以下の利点をさらに有する。増分学習のモデル構造の学習方法を提供した。データセットを漸進的に変更する要求を満たすように、訓練及びテストのデータセットの更新システムを提供した。増分学習のために明確に定義された検索空間を設計した。ネットワーク検索プロセスの効率を向上させるファインチューニング方法を提供した。該方法は、深層学習の専門家及びエンジニアの要求を大幅に低減させ、常に更新されたビッグデータを処理することができる。
【図面の簡単な説明】
【００１０】
本開示の上記及び他の目的、特徴及び利点をより容易に理解させるために、以下は図面を参照しながら本開示の実施形態を説明する。
【図１】本開示の各実施形態に係る増分学習のための訓練セット及びテストセットを更新するシステムのフレームワークを示す概略図である。
【図２】本開示の実施形態に係る更新されたデータセットを用いてデータ認識モデルを更新することを示す概略図である。
【図３】ＲＮＮの各層の詳細な演算に対するサンプリングを示す概略図である。
【図４】ＲＮＮ及びＣＮＮのパラメータを調整して最適モデルを取得する反復方法を示す概略図である。
【図５】データセットを更新する際に最適な検索モデルのハイパーパラメータを再利用することを示す概略図である。
【図６】本開示の実施形態に係る増分学習のためのデータ認識方法を示すフローチャートである。
【図７】本開示の実施形態に係る増分学習のためのデータ認識装置及びデータ認識方法を実現可能な汎用機器７００の構成を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下は図面を参照しながら本開示の例示的な実施形態を説明する。説明の便宜上、明細書には実際の実施形態の全ての特徴が示されていない。なお、当業者が実施形態を実現する際に、実施形態を実現するために特定の決定を行ってもよく、これらの決定は実施形態に応じて変更されてもよい。
【００１２】
なお、例示的な実施例の各態様は、システム、方法又はコンピュータプログラムプロダクトとして実施されてもよい。このため、例示的な実施例の各態様は、具体的に以下の形式で実現されてもよく、即ち、完全なハードウェアの実施例、完全なソフトウェアの実施例（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、又はソフトウェアとハードウェアとの組み合わせの実施例であってもよく、本明細書では一般的に「回路」、「モジュール」又は「システム」と称される場合がある。さらに、例示的な実施例の各態様は、１つ又は複数のコンピュータ読み取り可能な媒体で表されるコンピュータプログラムプロダクトの形を採用してもよく、該コンピュータ読み取り可能な媒体にはコンピュータ読み取り可能なプログラムコードが記録されている。コンピュータプログラムは、例えば、コンピュータのネットワークを介して配分されてもよいし、１つ又は複数のリモートサーバに配置されてもよいし、装置のメモリに埋め込まされてもよい。
【００１３】
１つ又は複数のコンピュータ読み取り可能な媒体の任意の組み合わせを用いてもよい。コンピュータ読み取り可能な媒体は、コンピュータ読み取り可能な信号媒体又はコンピュータ読み取り可能な記憶媒体であってもよい。コンピュータ読み取り可能な記憶媒体は、例えば、電気、磁気、光学、電磁気、赤外線若しくは半導体のシステム、装置若しくは機器、又はこれらの任意の適切な組み合わせであってもよいが、これらに限定されない。コンピュータ読み取り可能な記憶媒体のより具体的な例（非網羅的なリスト）は、１つ又は複数のワイヤの電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去型のプログラミング可能な読み取り専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、光学的記憶装置、磁気的記憶装置、又はこれらの適切な組み合わせを含む。本明細書では、コンピュータ読み取り可能な記憶媒体は、命令実行システム、装置若しくは機器により使用され、或いはこれらに関連して使用するプログラムを含み、或いは記憶する任意の有形の媒体であってもよい。
【００１４】
コンピュータ読み取り可能な信号媒体は、例えば、ベースバンド内、又はキャリアの一部として伝播される、コンピュータ読み取り可能なプログラムコードを有するデータ信号を含んでもよい。このような伝播信号は、任意の適切な形を採用してもよく、例えば電磁、光学又はこれらの任意の適切な組み合わせを含んでもよいが、これらに限定されない。
【００１５】
コンピュータ読み取り可能な信号媒体は、コンピュータ読み取り可能な記憶媒体以外の、命令実行システム、装置又は機器により使用され、或いはこれらに関連して使用されるプログラムを伝送、伝播又は送信できる任意のコンピュータで読み取り可能な媒体であってもよい。
【００１６】
コンピュータ読み取り可能な媒体におけるプログラムコードは、任意の適切な媒体を用いて伝送されてもよく、例えば無線、有線、光ケーブル、無線周波数など、又はこれらの任意の適切な組み合わせを含んでもよいが、これらに限定されない。
【００１７】
本明細書に開示される例示的な実施例の各態様の操作を実行するためのコンピュータプログラムコードは、１つ又は複数のプログラミング言語の任意の組み合わせで記述されてもよく、該プログラミング言語は、Ｊａｖａ(登録商標)、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語を含み、「Ｃ」プログラミング言語又は同様なプログラミング言語などの従来の手続き型プログラミング言語を含む。
【００１８】
以下は、例示的な実施例に係る方法、装置（システム）及びコンピュータプログラムプロダクトのフローチャート及び／又はブロック図を参照しながら、本明細書で開示される例示的な実施例の各態様を説明する。なお、フローチャート及び／又はブロック図の各ブロック、並びにフローチャート及び／又はブロック図の各ブロックの組み合わせは、コンピュータプログラム命令により実現されてもよい。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ又は他のプログラミング可能なデータ処理装置のプロセッサに提供されて装置を構成し、コンピュータ又は他のプログラミング可能なデータ処理装置によりこれらの命令を実行することで、フローチャート及び／又はブロック図の各ブロックに規定された機能／操作を実現するための装置を構成する。
【００１９】
これらのコンピュータプログラム命令は、コンピュータ又は他のプログラミング可能なデータ処理装置に特定の方法で動作するコンピュータ読み取り可能な媒体に記憶され、コンピュータ読み取り可能な媒体に記憶された命令によりフローチャート及び／又はブロック図の各ブロックに規定された機能／操作を実現する命令を含むプロダクトを構成してもよい。
【００２０】
コンピュータプログラム命令は、コンピュータ又は他のプログラミング可能なデータ処理装置にロードされ、コンピュータ又は他のプログラミング可能なデータ処理装置で一連の動作ステップが実行され、コンピュータ又は他のプログラミング装置で実行される命令によりフローチャート及び／又はブロック図の各ブロックに規定された機能／操作を実現するプロセスを提供してもよい。
【００２１】
図１は、本開示の各実施形態に係る増分学習のための訓練セット及びテストセットを更新するシステムのフレームワークを示す概略図である。
【００２２】
増分学習アルゴリズムは、データ量が増加し続ける状況に対するものであるため、増分データが出現する場合のシステムの全体的な変更状況、例えばモデルの更新、データセットの変更などを理解させるために、まず、本開示の各実施形態に係る増分学習に用いられる訓練データ及びテストデータの更新を説明する。
【００２３】
図１に示すように、収集データバッファプール１０１を用いて新しいデータを収集し、データの収集方法は応用のシナリオに依存する。なお、任意のデータ取得方法を用いてデータを収集してもよい。また、データを継続的に収集してもよい。収集データバッファプール１０１を用いて収集されたデータは元のデータ（ラベル付けされていない）であるため、このシステムでは、収集されたデータは、手動ラベル付け１０２により教師データ１０３を形成してもよい。収集データバッファプール１０１を用いて収集されたデータは、本開示の各実施形態に係る訓練されたデータ認識モデル１０８により認識されてもよく、認識されたある程度教師ありのデータ１０９はデータバッファプール１０４に保存され、手動検証１０５により教師データ１０３が選択される。なお、手動ラベル付けの対象となるデータは、収集された全てのデータの一部であってもよく、この場合、データ認識モデル１０８による認識の対象となるデータは、収集された全てのデータの残った部分であってもよく、具体的な割り当て方法は、手動ラベル付けのコストの容認度合いに依存するが、このような割り当て方法に限定されない。以上の方法により教師データ１０３を取得した。そして、教師データ１０３から一部のデータをモデル構造検索用のデータ１０４として選択する。そして、更新された訓練セット１０５及び検証セット１０６を取得する。更新された訓練セット１０５及び検証セット１０６を用いてモデルを訓練し、一群のデータ認識モデル１０７を取得する。一群のデータ認識モデル１０７から最適なネットワーク構造を決定し、該最適なネットワーク構造を有する訓練されたデータ認識モデル１０８を取得する。訓練されたデータ認識モデル１０８を用いて、収集データバッファプール１０１により収集されたデータを認識し、ある程度教師ありのデータ１０９を取得する。このように、図１に示す訓練データセット及びテストデータセットを自動的に更新するためのシステムを構成した。
【００２４】
次に、図１に示すシステムのフレームワークにおける本発明に関する部分の機能を説明する。
【００２５】
以下は、図２を参照しながら、更新されたデータセットを用いて訓練されたデータ認識モデルを取得する方法を説明する。
【００２６】
図２は、本開示の実施形態に係る更新されたデータセットを用いてデータ認識モデルを更新することを示す概略図である。
【００２７】
訓練セット及びテストセットは、図１に示す訓練データセット及びテストデータセットの更新システムにおいて継続的に更新される。図２では、データセットの自動更新システムにより訓練データセットを継続的に更新又は追加する方法を説明するために、ラベル付けされた訓練データに対する手動検証の方法のみを示し、手動ラベル付けの方法を省略する。
【００２８】
図２に示すように、訓練セットに対して１回の更新を行った後に、これらのデータに基づいて最適なニューラルネットワーク構造を検索する。まず、２０１において、新しい教師データを取得する。２０２において、訓練セットデータを選択する。２０３において、現在の訓練セットの複雑度を決定する。複雑度は、検索空間のパラメータを決定するために用いられる。現在の訓練セットにＮ個のクラス及びＭ個のサンプルがあると仮定すると、以下の式（１）、（２）及び（３）を用いて現在の訓練セットの複雑度を表す。
【数１】
2020191080.tif 000003
【数２】
2020191080.tif 000004
【数３】
2020191080.tif 000005
【００２９】
上記の式では、Ｄは現在のデータセットの複雑度を表す。Ｄｉｎｎｅｒはクラス内の複雑度であり、Ｄｉｎｔｅｒはクラス間の複雑度である。σｉは各クラスの分散である。ＸＭはＭ個のサンプル全体により構成された変数である。Ｃｏｖ（ＸＭ）はＸＭの共分散行列を表す。
【００３０】
なお、上記の方法は単なる一例であり、クラス内の複雑度のみ、クラス間の複雑度のみ、又は異なる重みを有するクラス内の複雑度とクラス間の複雑度との和を用いて現在の訓練セットの複雑度を計算してもよい。複雑度の具体的な計算方法は、上記の分散の計算方法に限定されない。
【００３１】
所定のデータセットでは、複雑度Ｄが大きいほど、ニューラルネットワークが大きくなる。このため、ニューラルネットワークモデルの規模（スケールと称されてもよい）は、モデルの複雑度Ｄの単調増加関数であってもよい。ここで、以下の式（４）に従ってニューラルネットワークモデルの規模を計算する。
【数４】
2020191080.tif 000006
【００３２】
Ｌはニューラルネットワークのネットワーク構造の層数を表し、Ｃｂはニューラルネットワークのネットワーク構造におけるチャネル数の集合を表す。該式（４）に従って、ニューラルネットワークの層数及びチャネル数を決定することができる。一例として、フィッティングによりニューラルネットワークの層数及びチャネル数を決定してもよい。訓練データセットの複雑度に基づいて対応するニューラルネットワークの層数及びチャネル数を決定することは、当業者にとって理解、実装できるものであり、ここでその説明を省略する。
【００３３】
次に、以上で算出されたニューラルネットワークの規模に基づいて検索空間を調整し、即ち、２０９において複雑度に基づいて検索空間を決定する。以上のステップにより、ニューラルネットワークの層数及び各層におけるチャネル数が取得された。このように、初期の主ネットワーク構造におけるサブネットワーク構造の層数及びチャネル数が決定された。以下は、所定の演算セットからニューラルネットワーク（出力ノードを有するサブネットワーク構造）の各層における各チャネルの各ノードでの演算を選択し、説明の便宜上、演算セットは、３＊３畳み込み演算、５＊５畳み込み演算、深度／個別の畳み込み３＊３、深度／個別の畳み込み５＊５、最大プーリング３＊３、平均プーリング３＊３の６種類の演算を含む。なお、上記の演算に限定されず、応用の要求に応じて演算セットに含まれる演算を調整してもよい。以下は、該６種類の演算を含む演算セットのみを用いてニューラルネットワークを形成する。一例として、ニューラルネットワークは、畳み込みニューラルネットワーク（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ：ＣＮＮ）である。畳み込みニューラルネットワークはフィードフォワードニューラルネットワークの１つであり、その人工ニューロンはカバレッジエリアの周囲のユニットの一部に応答でき、大規模な画像処理に優れた性能を有する。ＣＮＮは、畳み込み層（ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｌａｙｅｒ）及びプーリング層（ｐｏｏｌｉｎｇ  ｌａｙｅｒ）を含む。ＣＮＮは、主に変位、スケーリング、及び他の形式の歪み不変性の２次元図形を認識するために用いられる。ＣＮＮの特徴検出層は訓練データにより学習するため、ＣＮＮを用いる場合、明示的な特徴抽出を回避し、訓練データから暗黙的に学習する。また、同一の特徴マッピング面におけるニューロンの重みが同一であるため、ネットワークは並列に学習することができ、これは、ニューロンが相互に接続されているネットワークに比べて畳み込みネットワークの大きな利点でもある。畳み込みニューラルネットワークは、ローカルな重みを共有するという特殊な構造により、音声認識及び画像処理に独特の利点を有し、そのレイアウトが実際の生物学的なニューラルネットワークに近い。重みを共有することにより、ネットワークの複雑さを低減させ、特に、多次元の入力ベクトルの画像をネットワークに直接入力できるという特徴により、特徴抽出及び分類におけるデータ再構築の複雑度を回避することができる。
【００３４】
また、一例として、各層における詳細な演算は、上述した演算セットにおける６つの定義された演算からＲＮＮサンプリングにより取得される。図２では、ステップ２０５、２１０（前に訓練されたネットワークのパラメータをコピーする）及び２０６により、２０６における最適サブネットワークを決定し、該部分の詳細な内容は後述する。得られた最適サブネットワークを用いて２０７のテストセットを分類し、手動検証２０８により新しい教師データ２０１を取得する。
【００３５】
図３はＲＮＮの各層の詳細な演算に対するサンプリングを示す概略図である。
【００３６】
図３では、｛ｘ０，ｘ１，〜，ｘＬ｝はＬ（ノード数、即ちネットワークの層数）次元の乱数ベクトルであり、該ベクトルにおける各要素は、値に基づいて上述した６つの演算うちの１つの演算に対応し、このように、複数群の演算を生成して複数のサブネットワーク構造を構築することができる。１つの乱数ベクトルが１つのサブネットワーク構造に対応するため、複数の乱数ベクトルを生成すると、複数のサブネットワーク構造（一例として、ここのサブネットワーク構造はＣＮＮネットワーク構造である）を生成することができる。ここで、演算が決定されると、サブネットワーク構造が決定される。なお、この際、決定された演算以外の残ったパラメータはまだ決定されていない。
【００３７】
次に、これらのネットワーク構造から最適なネットワーク構造を選択する必要がある。このステップにおいて、正確度の最大値に達し、或いは正確度が十分に高くなるまで、図４に示す２つのステップを繰り返す。
【００３８】
図４はＲＮＮ及びＣＮＮのパラメータを調整して最適モデルを取得する反復方法を示す概略図である。
【００３９】
上述した２つのステップの１番目のステップは、以下の式（５）に従ってＲＮＮのパラメータを調整する。
【数５】
2020191080.tif 000007
【００４０】
ここで、Ｒ（ω）は報酬であり、モデルの正確度を表し、モデルのパラメータはωで表される。目的は、制御方策Ｐに基づいて期待される報酬を最大化することである。上述した２つのステップの２番目のステップは、Ｒ（ω）を取得できるように、サンプリングされたＣＮＮのパラメータωを訓練する。なお、サンプリングされたＣＮＮのパラメータωに対する訓練は、現在のＣＮＮネットワーク構造をそのまま維持するという前提に基づいて行われ、即ち、現在のＣＮＮの各層の各チャネルにおける演算が固定されている場合、報酬が最大化されたＣＮＮのネットワーク構造（演算）以外の残ったパラメータωを取得するように、ＣＮＮを訓練する。
【００４１】
ここで、複数のＣＮＮをサンプリングして検証セットを評価し、最大の正確度を有するＣＮＮモデル（決定されたネットワーク構造及びパラメータを含む）を保留する。最大の正確度が所定の正確度閾値よりも大きく、或いは図４における反復回数が所定最大値に達した場合、このプロセスを停止して現在の最適なＣＮＮモデルを出力し、即ち、ＣＮＮモデルの現在の最適なネットワーク構造（最適な演算）及びモデルにおいて用いられる最適なパラメータωを決定する。
【００４２】
以下は、ＲＮＮのパラメータθの更新方法を説明する。ａ：所定のθでサンプリングにより一群のサブネットワークを取得する（サンプリングされたサブネットワークの数は自由に設定されてもよく、該ＲＮＮの長さ入力次元に関連する）。ｂ：各サブネットワークのωについて、対応するＡｃｃ−ｓ（ω）（該関数は、本分野において分類問題についての分類精度を意味し、ここでその具体的な計算方法の説明を省略する）を計算し、報酬値Ｒ（ω）を取得する。ｃ：サンプリングされた一群のサブネットワークについて、一群のＲ（ω）を取得してもよい。取得された報酬値を最大化するように、増分学習で一般的に使用される最適化方策を用いて式Ｊ＝Ｅｐ（Ｒ（ω））を最適化する。例えば、近傍方策最適化（Ｐｒｏｘｉｍａｌ  Ｐｏｌｉｃｙ  Ｏｐｔｉｍｉｚａｔｉｏｎ）又は勾配方策最適化の２つの方法は、強化学習の分野で通常の最適化方法である。
【００４３】
以下は、データを更新する際に、図４に示す調整されたＲＮＮ及びＣＮＮのパラメータを最適化して最適化モデルを取得するための反復方法におけるＣＮＮモデルの訓練ステップを説明する。
【００４４】
図５は、データセットを更新する際に最適な検索モデルのハイパーパラメータを再利用することを示す概略図である。
【００４５】
データセットが更新された場合、式（４）に従って、データセットの複雑度Ｄが変化し、これは層数及びチャネル数がそれに応じて変化することを意味する。通常の場合、更新後の完全なデータセットに基づいてニューラルネットワークを再検索し、サンプリングされたＣＮＮを訓練してもよいが、これは非常に時間がかかり、データセットの漸進的な変更に適していない。従って、以下は、より効果的なファインチューニング（ｆｉｎｅ  ｔｕｎｉｎｇ）方法を用いて訓練パラメータを調整する。
【００４６】
シナリオ１：データセットがより簡単になる（複雑度が低くなる）場合、新しい層数及びチャネル数は元の値よりも小さくなる。
【００４７】
シナリオ２：データセットがより難しくなる（複雑度が高くなる）場合、新しい層数及びチャネル数は元の値よりも大きくなる。
【００４８】
詳細なステップは図５に示す通りである。シナリオ１では、ステップ５０１において、直前のモデル（古い最適モデル）のパラメータ（層及びチャネルを含む）に対して枝刈り（ｐｒｕｎｉｎｇ）を行い、ステップ５０２においてパラメータに対してファインチューニングを行い、更新後のネットワークの訓練速度を速くする。シナリオ２では、更新後の訓練サンプルセットを用いて、現在のデータ認識モデルに適応的なサイズのネットワーク構造が追加されたデータ認識モデルを訓練し、パラメータのコピーとファインチューニング又は特徴正規化のスケール変換により訓練速度を速くする。一例として、ステップ５０３において、新しい層及びチャネルをランダムに初期化し、ステップ５０５において、変更された層（即ちランダムに初期化された新しい層の出力データ）に対してＬ２−ＮＯＲＭ演算を行い、且つ／或いはステップ５０６において、変更された層に対して適応的なスケール変換を行い、そして、ステップ５０４においてコピーされた古い最適モデルの訓練パラメータ（図２におけるステップ２０１に対応する）とステップ５０５及びステップ５０６で処理されたパラメータとを組み合わせ、ステップ５０７においてファインチューニング後の新しいモデルを取得する。
【００４９】
図６は本開示の実施形態に係る増分学習のためのデータ認識方法を示すフローチャートである。
【００５０】
まず、ステップ６０１において、新しい訓練サンプルセットを取得する。次に、ステップ６０２において、新しい訓練サンプルセットと既存の訓練サンプルセットとを併合し、更新後の訓練サンプルセットを取得する。ステップ６０３において、更新後の訓練サンプルセットの複雑度を計算し、複雑度に基づいて、更新後の訓練サンプルセットに基づいて生成されるデータ認識モデルのネットワーク構造の規模を計算する。ステップ６０４において、認識すべきデータのタイプに基づいて、生成されるデータ認識モデルのネットワーク構造のパラメータ空間を決定し、サンプリングによりネットワーク構造のパラメータ空間から該規模を有するサブネットワーク構造のパラメータを取得する。具体的には、異なるデータタイプについて、使用されるネットワーク構造のパラメータ空間も異なるため、異なるデータタイプに応じて最適な分類効果を達成できる。ステップ６０５において、サブネットワーク構造のパラメータに基づいて該データ認識モデルのためのネットワーク構造を構築する。次に、ステップ６０６において、更新後の訓練サンプルセットを用いてサブネットワーク構造を有するデータ認識モデルを訓練し、サブネットワーク構造における各ノードでの演算及び演算に関するパラメータを決定し、データ認識モデルを生成する。最後に、ステップ６０７において、データ認識モデルに基づいてデータ認識を行う。
【００５１】
認識可能なデータのタイプは、画像、テキスト、音声に限定されない。
【００５２】
図７は、本開示の実施形態に係る増分学習のためのデータ認識装置及びデータ認識方法を実現可能な汎用機器７００の構成を示すブロック図である。汎用機器７００は、例えばコンピュータシステムであってもよい。なお、汎用機器７００は単なる一例であり、本開示の方法及び装置の使用範囲又は機能を制限するものではない。また、汎用機器７００は、上記の情報処理方法及び情報処理装置における構成要件又はその組み合わせに依存するものではない。
【００５３】
図７において、中央処理部（ＣＰＵ）７０１は、読み出し専用メモリ（ＲＯＭ）７０２に記憶されているプログラム、又は記憶部７０８からランダムアクセスメモリ（ＲＡＭ）７０３にロードされたプログラムにより各種の処理を実行する。ＲＡＭ７０３には、必要に応じて、ＣＰＵ７０１が各種の処理を実行するに必要なデータが記憶されている。ＣＰＵ７０１、ＲＯＭ７０２、及びＲＡＭ７０３は、バス７０４を介して互いに接続されている。入力／出力インターフェース７０５もバス７０４に接続されている。
【００５４】
入力部７０６（キーボード、マウスなどを含む）、出力部７０７（ディスプレイ、例えばブラウン管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）など、及びスピーカなどを含む）、記憶部７０８（例えばハードディスクなどを含む）、通信部７０９（ネットワークのインタフェースカード、例えばＬＡＮカード、モデムなどを含む）は、入力／出力インターフェース７０５に接続されている。通信部７０９は、ネットワーク、例えばインターネットを介して通信処理を実行する。必要に応じて、ドライバ７１０は、入力／出力インターフェース７０５に接続されてもよい。取り外し可能な媒体７１１は、例えば磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどであり、必要に応じてドライバ７１０にセットアップされて、その中から読みだされたコンピュータプログラムは必要に応じて記憶部７０８にインストールされている。
【００５５】
ソフトウェアにより上記処理を実施する場合、ネットワーク、例えばインターネット、又は記憶媒体、例えば取り外し可能な媒体７１１を介してソフトウェアを構成するプログラムをインストールする。
【００５６】
なお、これらの記憶媒体は、図７に示されている、プログラムを記憶し、機器と分離してユーザへプログラムを提供する取り外し可能な媒体７１１に限定されない。取り外し可能な媒体７１１は、例えば磁気ディスク（フロッピーディスクを含む）、光ディスク（光ディスク−読み出し専用メモリ（ＣＤ−ＲＯＭ）、及びデジタル多目的ディスク（ＤＶＤ）を含む）、光磁気ディスク（ミニディスク（ＭＤ）（登録商標））及び半導体メモリを含む。或いは、記憶媒体は、ＲＯＭ７０２、記憶部７０８に含まれるハードディスクなどであってもよく、プログラムを記憶し、それらを含む機器と共にユーザへ提供される。
【００５７】
以上はブロック図、フローチャート及び／又は実施形態を詳細に説明することで、本開示の実施形態の装置及び／又は方法の具体的な実施形態を説明している。これらのブロック図、フローチャート及び／又は実施形態に１つ又は複数の機能及び／又は動作が含まれている場合、これらのブロック図、フローチャート及び／又は実施形態における各機能及び／又は動作は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの任意の組み合わせにより個別及び／又はまとめて実施されてもよい。１つの実施形態では、本明細書に記載された主題の幾つかの部分は、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）又は他の統合形態により実現されてもよい。なお、本明細書に記載された実施形態の全て又は一部の態様は、集積回路における１つ又は複数のコンピュータにより実行される１つ又は複数のコンピュータプログラムの形（例えば１つ又は複数のコンピュータシステムにより実行される１つ又は複数のコンピュータプログラムの形）、１つ又は複数のプロセッサにより実行される１つ又は複数のプログラムの形（１つ又は複数のマイクロプロセッサにより実行される１つ又は複数のプログラムの形）、ファームウェアの形、又は実質的なこれらの任意の組み合わせの形で均等的に実施されもよい。また、本明細書に開示された内容に応じて、本開示を設計するための回路及び／又は本開示のソフトウェア及び／又はファームウェアを編集するためのコードは全て当業者の能力の範囲内のものである。
【００５８】
なお、用語「含む」、「有する」は本明細書に説明された特徴、要素、ステップ又は部材の存在を意味するが、他の１つ又は複数の特徴、要素、ステップ又は部材の存在又は追加を排除するものではない。序数に関する用語は、これらの用語により言及された特徴、要素、ステップ又は部材の実施の順序又は重要性のレベルを意味することではなく、単なるこれらの特徴、要素、ステップ又は部材を区別するためものである。
【００５９】
また、上述の各実施例を含む実施形態に関し、更に以下の付記を開示するが、これらの付記に限定されない。
（付記１）
コンピュータにより実現される増分学習のためのデータ認識方法であって、
新しい訓練サンプルセットを取得するステップと、
前記新しい訓練サンプルセットと既存の訓練サンプルセットとを併合し、更新後の訓練サンプルセットを取得するステップと、
前記更新後の訓練サンプルセットの複雑度を計算し、前記複雑度に基づいて、前記更新後の訓練サンプルセットに基づいて生成されるデータ認識モデルのネットワーク構造の規模を計算するステップと、
認識すべきデータのタイプに基づいて、生成されるデータ認識モデルのネットワーク構造のパラメータ空間を決定し、サンプリングにより前記ネットワーク構造のパラメータ空間から前記規模を有するサブネットワーク構造のパラメータを取得し、サブネットワーク構造のパラメータに基づいてデータ認識モデルのためのネットワーク構造を構築し、サブネットワーク構造の各ノードでの演算を取得するステップと、
前記更新後の訓練サンプルセットを用いて前記サブネットワーク構造を有するデータ認識モデルを訓練し、前記サブネットワーク構造における各ノードでの演算のパラメータを決定し、前記データ認識モデルを生成するステップと、
前記データ認識モデルに基づいてデータ認識を行うステップと、を含む、方法。
（付記２）
前記データセットの複雑度は、クラス内複雑度、クラス間複雑度、又はクラス内複雑度とクラス間複雑度の組み合わせである、付記１に記載の方法。
（付記３）
複雑度計算式に従って前記データ認識モデルのネットワーク構造の規模を計算する、付記１に記載の方法。
（付記４）
ネットワーク層数Ｌ及びチャネル数Ｃｂで前記データ認識モデルの規模を表す、付記１に記載の方法。
（付記５）
前記ネットワーク構造のパラメータ空間は、前記ネットワーク層数Ｌ、前記チャネル数Ｃｂ、各層のネットワークにより採用されるテンソル演算方式、及び各層のネットワーク間の結合方式を含み、
前記ネットワークのパラメータ空間の各部分は、特定の値範囲の数字で表され、
前記ネットワークのパラメータ空間の各部分の値が決定された数字により構成されたベクトルは、決定されたサブネットワーク構造を表す、付記４に記載の方法。
（付記６）
新しい訓練サンプルセットを取得するステップは、
新しく収集されたデータに対して手動でラベル付けすることで、前記新しい訓練サンプルセットを取得すること、及び／又は
現在のデータ認識モデルを用いて新しく収集されたデータを認識した認識結果に対して手動で検証することで、前記新しい訓練サンプルセットを取得すること、を含む、付記１に記載の方法。
（付記７）
前記更新後の訓練サンプルセットを用いて前記サブネットワーク構造を有するデータ認識モデルを訓練し、前記サブネットワーク構造における各ノードでの演算及び演算に関するパラメータを決定するステップにおいて、
前記更新後の訓練サンプルセットの規模が現在の訓練サンプルセットの規模よりも小さい場合、更新後のモデルの規模が直前のモデルの規模よりも小さくなるように、直前のモデルのパラメータに対して枝刈り及びパラメータのファインチューニングを行い、更新後のサブネットワークの訓練速度を速くする、付記１に記載の方法。
（付記８）
前記更新後の訓練サンプルセットを用いて前記サブネットワーク構造を有するデータ認識モデルを訓練し、前記サブネットワーク構造における各ノードでの演算及び演算に関するパラメータを決定するステップにおいて、
前記更新後の訓練サンプルセットの規模が現在の訓練サンプルセットの規模よりも大きい場合、前記更新後の訓練サンプルセットを用いて、前記現在のデータ認識モデルに適応的なサイズのネットワーク構造が追加されたデータ認識モデルを訓練し、パラメータのコピーとファインチューニング又は特徴正規化のスケール変換により訓練速度を速くする、付記１に記載の方法。
（付記９）
前記データ認識モデルは、ＣＮＮである、付記１乃至８の何れかに記載の方法。
（付記１０）
データ更新、ネットワーク構造パラメータコントローラ更新及びサブネットワークモデルのパラメータ更新である３つのステップ、をさらに含み、
該３つのステップにより交互に反復的に更新を行うことで、増分学習を行う、付記１乃至８の何れかに記載の方法。
（付記１１）
プロセッサ、を含む、増分学習のためのデータ認識装置であって、
前記プロセッサは、
新しい訓練サンプルセットを取得し、
前記新しい訓練サンプルセットと既存の訓練サンプルセットとを併合し、更新後の訓練サンプルセットを取得し、
前記更新後の訓練サンプルセットの複雑度を計算し、前記複雑度に基づいて、前記更新後の訓練サンプルセットに基づいて生成されるデータ認識モデルのネットワーク構造の規模を計算し、
認識すべきデータのタイプに基づいて、生成されるデータ認識モデルのネットワーク構造のパラメータ空間を決定し、サンプリングにより前記ネットワーク構造のパラメータ空間から前記規模を有するサブネットワーク構造のパラメータを取得し、サブネットワーク構造のパラメータに基づいてデータ認識モデルのためのネットワーク構造を構築し、サブネットワーク構造の各ノードでの演算を取得し、
前記更新後の訓練サンプルセットを用いて前記サブネットワーク構造を有するデータ認識モデルを訓練し、前記サブネットワーク構造における各ノードでの演算のパラメータを決定し、前記データ認識モデルを生成し、
前記データ認識モデルに基づいてデータ認識を行う、装置。
（付記１２）
プログラム命令が記憶されているコンピュータ読み取り可能な記憶媒体であって、前記プログラム命令がコンピュータにより実行される際に、前記コンピュータが付記１１に記載のデータ認識装置の機能を果たす、記憶媒体。
【００６０】
以上は本開示の具体的な実施形態を説明しているが、当業者は添付の特許請求の範囲の要旨及び範囲内で本開示に対して各種の変更、改善又は均等的なものを行うことができる。これらの変更、改善又は均等的なものは本開示の保護範囲に属する。
【図１】
2020191080.tif 000008
【図２】
2020191080.tif 000009
【図３】
2020191080.tif 000010
【図４】
2020191080.tif 000011
【図５】
2020191080.tif 000012
【図６】
2020191080.tif 000013
【図７】
2020191080.tif 000014