(57)【特許請求の範囲】
【請求項１】
ニューラルネットワーク構造をサンプリングし、少なくとも１つのネットワーク層が含まれるネットワークブロックを生成することと、
前記ネットワークブロックに基づいてサンプリングニューラルネットワークを構築することと、
サンプルデータに基づいて前記サンプリングニューラルネットワークを訓練し、前記サンプリングニューラルネットワークに対応する正確度を得ることと、
前記正確度が予め設定された条件を満たさないことに応答して、新たなネットワークブロックによって構築されたサンプリングニューラルネットワークが予め設定された条件を満たすようになるまで、前記正確度に応じて新たなネットワークブロックを再度生成し、予め設定された条件を満たすサンプリングニューラルネットワークを目標ニューラルネットワークとすることと、を含み、
前記正確度に応じて新たなネットワークブロックを再度生成することは、
前記サンプリングニューラルネットワークに対応する正確度に応じてニューラルネットワーク構造をサンプリングする確率ベクトルを調整し、調整後の確率ベクトルによってニューラルネットワーク構造をサンプリングし、１種類の新たなネットワークブロックを生成することを含むことを特徴とするニューラルネットワーク構造の生成方法。
【請求項２】
前記ニューラルネットワーク構造をサンプリングし、ネットワークブロックを生成することは、
１つの確率ベクトルに基づいてニューラルネットワーク構造をサンプリングし、少なくとも１種類のネットワーク層、前記少なくとも１種類のネットワーク層に対応するネットワークパラメータおよび前記少なくとも１種類のネットワーク層の間の連結方式を得て、前記少なくとも１種類のネットワーク層を積み上げて１種類のネットワークブロックを得ることを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記ネットワーク層は、
畳み込み層、最大プーリング層、平均プーリング層、アイデンティティ層、特徴重畳層および連結層の任意の１つまたは複数を含むことを特徴とする請求項１または２に記載の方法。
【請求項４】
前記少なくとも１種類のネットワーク層を積み上げて１種類のネットワークブロックを得ることは、
サンプリングして得られたネットワーク層を分析し、少なくとも１種類の前記ネットワーク層のタイプ、少なくとも１タイプの前記ネットワーク層の数、および少なくとも１種類の前記ネットワーク層の連結順序を得ることと、
得られた前記ネットワーク層を前記少なくとも１種類のネットワーク層に対応する連結順序に従って、前記少なくとも１種類のネットワーク層の間の連結関係によって連結して１種類のネットワークブロックを得ることと、を含むことを特徴とする請求項２または３に記載の方法。
【請求項５】
前記サンプルデータに基づいて前記サンプリングニューラルネットワークを訓練することは、
前記サンプリングニューラルネットワークを利用して前記サンプルデータを処理し、処理結果を得ることと、
損失関数を利用し、前記サンプルデータにラベル付けした監督情報と前記処理結果との間の誤差値を計算することであって、前記サンプルデータには監督情報がラベルつけされる、ことと、
前記サンプリングニューラルネットワークが収束条件を満たすようになるまで、前記誤差値に基づいて前記サンプリングニューラルネットワークを訓練することと、を含むことを特徴とする請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記サンプリングニューラルネットワークが収束条件を満たすようになるまで、前記誤差値に基づいて前記サンプリングニューラルネットワークを訓練することは、
前記損失関数の収束速度が設定値以上であることに応答して、得られた誤差値に応じて、逆勾配アルゴリズムによって前記サンプリングニューラルネットワークにおけるパラメータを調整し、調整後のサンプリングニューラルネットワークを得ることと、調整後のニューラルネットワークに対応する損失関数の収束速度が設定値よりも小さくなるまで調整し続けることと、を含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記サンプリングニューラルネットワークが収束条件を満たすようになるまで、前記誤差値に基づいて前記サンプリングニューラルネットワークを訓練することは、
前記損失関数による誤差値計算回数が設定値よりも小さいことに応答して、得られた誤差値に応じて、逆勾配アルゴリズムによって前記サンプリングニューラルネットワークにおけるパラメータを調整し、調整後のサンプリングニューラルネットワークを得て、かつ前記損失関数による誤差値計算回数に１を加えることと、
調整後のニューラルネットワークに対応する損失関数による誤差値計算回数が設定値以上になるまで調整し続けることと、を含むことを特徴とする請求項５に記載の方法。
【請求項８】
前記サンプリングニューラルネットワークに対応する正確度を得ることは、
訓練が完了した前記サンプリングニューラルネットワークの誤差値にしたがって前記サンプリングニューラルネットワークの予測正確度を計算して得ることと、
前記予測正確度に基づき、前記サンプリングニューラルネットワークに対応するネットワーク計算複雑度およびネットワーク密度を予め設定された比率で差し引き、前記サンプリングニューラルネットワークに対応する正確度を得ることと、を含むことを特徴とする請求項５から７のいずれか一項に記載の方法。
【請求項９】
前記ニューラルネットワーク構造をサンプリングし、ネットワークブロックを生成することは、
ニューラルネットワーク構造をサンプリングし、Ｎ種類のネットワークブロックを生成することを含み、
前記ネットワークブロックに基づいてサンプリングニューラルネットワークを構築することは、
前記それぞれＮ種類のネットワークブロックに基づいてＮ個のサンプリングニューラルネットワークを構築することを含み、
前記サンプルデータに基づいて前記サンプリングニューラルネットワークを訓練し、前記サンプリングニューラルネットワークに対応する正確度を得ることは、
サンプルデータに基づいて前記Ｎ個のサンプリングニューラルネットワークをそれぞれ訓練し、前記Ｎ個のサンプリングニューラルネットワークに対応するＮ個の正確度を得ることを含み、
前記正確度が予め設定された条件を満たさないことに応答して、新たなネットワークブロックによって構築されたサンプリングニューラルネットワークが予め設定された条件を満たすようになるまで、前記正確度に応じて新たなネットワークブロックを再度生成し、予め設定された条件を満たすサンプリングニューラルネットワークを目標ニューラルネットワークとすることは、
前記Ｎ個の正確度のうち予め設定された条件を満たす正確度が存在しないことに応答して、新たなネットワークブロックがそれぞれ構築するＮ個のサンプリングニューラルネットワークのうち予め設定された条件を満たすニューラルネットワークが存在するようになるまで、前記それぞれＮ個の正確度に応じてＮ種類の新たなネットワークブロックを再度生成し、予め設定された条件を満たすサンプリングニューラルネットワークを目標ニューラルネットワークとすることを含み、
ここで、前記Ｎはゼロよりも大きい整数であることを特徴とする請求項１から８のいずれか一項に記載の方法。
【請求項１０】
前記サンプリングニューラルネットワークに対応する正確度を得る後に、さらに、
前記正確度が予め設定された条件を満たすことに応答して、予め設定された条件を満たすサンプリングニューラルネットワークを目標ニューラルネットワークとすること、
または、
前記正確度が予め設定された条件を満たさず、かつニューラルネットワーク構造に対する前記サンプリングが予め設定された回数に達したことに応答して、現在のサンプリングニューラルネットワークを目標ニューラルネットワークとすることを含むことを特徴とする請求項１に記載の方法。
【請求項１１】
ニューラルネットワーク構造をサンプリングし、少なくとも１つのネットワーク層が含まれるネットワークブロックを生成するためのサンプリングユニットと、
前記ネットワークブロックに基づいてサンプリングニューラルネットワークを構築するためのネットワーク構築ユニットと、
サンプルデータに基づいて前記サンプリングニューラルネットワークを訓練し、前記サンプリングニューラルネットワークに対応する正確度を得るための訓練ユニットと、
前記正確度が予め設定された条件を満たさないことに応答して、新たなネットワークブロックによって構築されたサンプリングニューラルネットワークが予め設定された条件を満たすようになるまで、前記正確度に応じて新たなネットワークブロックを再度生成し、予め設定された条件を満たすサンプリングニューラルネットワークを目標ニューラルネットワークとするためのネットワーク出力ユニットと、を含み、
前記正確度に応じて新たなネットワークブロックを再度生成することは、
前記サンプリングニューラルネットワークに対応する正確度に応じてニューラルネットワーク構造をサンプリングする確率ベクトルを調整し、調整後の確率ベクトルによってニューラルネットワーク構造をサンプリングし、１種類の新たなネットワークブロックを生成することを含むことを特徴とするニューラルネットワーク構造の生成装置。
【請求項１２】
前記サンプリングユニットは、
１つの確率ベクトルに基づいてニューラルネットワーク構造をサンプリングし、少なくとも１種類のネットワーク層、前記少なくとも１種類のネットワーク層に対応するネットワークパラメータおよび前記少なくとも１種類のネットワーク層の間の連結方式を得るための確率サンプリングモジュールと、
前記少なくとも１種類のネットワーク層を積み上げて１種類のネットワークブロックを得るためのネットワークブロック生成モジュールと、を含むことを特徴とする請求項１１に記載の装置。
【請求項１３】
前記ネットワーク層は、
畳み込み層、最大プーリング層、平均プーリング層、アイデンティティ層、特徴重畳層および連結層の任意の１つまたは複数を含むことを特徴とする請求項１１または１２に記載の装置。
【請求項１４】
前記ネットワークブロック生成モジュールは、具体的には、サンプリングして得られたネットワーク層を分析し、少なくとも１種類の前記ネットワーク層のタイプ、少なくとも１タイプの前記ネットワーク層の数、および少なくとも１種類の前記ネットワーク層の連結順序を得て、そして得られた前記ネットワーク層を前記少なくとも１種類のネットワーク層に対応する連結順序に従って、前記少なくとも１種類のネットワーク層の間の連結関係によって連結して１種類のネットワークブロックを得るために用いられることを特徴とする請求項１２に記載の装置。
【請求項１５】
前記訓練ユニットは、
前記サンプリングニューラルネットワークを利用して前記サンプルデータを処理し、処理結果を得るためのネットワーク処理モジュールと、
損失関数を利用し、前記サンプルデータにラベル付けした監督情報と前記処理結果との間の誤差値を計算するための誤差計算モジュールであって、前記サンプルデータには監督情報がラベルつけされる、誤差計算モジュールと、
前記サンプリングニューラルネットワークが収束条件を満たすようになるまで、前記誤差値に基づいて前記サンプリングニューラルネットワークを訓練するためのネットワーク訓練モジュールと、を含むことを特徴とする請求項１１から１４のいずれか一項に記載の装置。
【請求項１６】
前記ネットワーク訓練モジュールは、具体的には、
前記損失関数の収束速度が設定値以上であることに応答して、得られた誤差値に応じて、逆勾配アルゴリズムによって前記サンプリングニューラルネットワークにおけるパラメータを調整し、調整後のサンプリングニューラルネットワークを得て、そして調整後のニューラルネットワークに対応する損失関数の収束速度が設定値よりも小さくなるまで調整し続けるために用いられることを特徴とする請求項１５に記載の装置。
【請求項１７】
前記ネットワーク訓練モジュールは、具体的には、
前記損失関数による誤差値計算回数が設定値よりも小さいことに応答して、得られた誤差値に応じて、逆勾配アルゴリズムによって前記サンプリングニューラルネットワークにおけるパラメータを調整し、調整後のサンプリングニューラルネットワークを得て、かつ前記損失関数による誤差値計算回数に１を加え、そして調整後のニューラルネットワークに対応する損失関数による誤差値計算回数が設定値以上になるまで調整し続けるために用いられることを特徴とする請求項１５に記載の装置。
【請求項１８】
前記訓練ユニットは、さらに、
訓練が完了した前記サンプリングニューラルネットワークの誤差値にしたがって前記サンプリングニューラルネットワークの予測正確度を計算して得るための正確度予測モジュールと、
前記予測正確度に基づき、前記サンプリングニューラルネットワークに対応するネットワーク計算複雑度およびネットワーク密度を予め設定された比率で差し引き、前記サンプリングニューラルネットワークに対応する正確度を得るための正確度調整モジュールと、を含むことを特徴とする請求項１５から１７のいずれか一項に記載の装置。
【請求項１９】
前記サンプリングユニットは、具体的には、ニューラルネットワーク構造をサンプリングし、Ｎ種類のネットワークブロックを生成するために用いられ、
前記ネットワーク構築ユニットは、具体的には、前記それぞれＮ種類のネットワークブロックに基づいてＮ個のサンプリングニューラルネットワークを構築するために用いられ、
前記訓練ユニットは、具体的には、サンプルデータに基づいて前記Ｎ個のサンプリングニューラルネットワークをそれぞれ訓練し、前記Ｎ個のサンプリングニューラルネットワークに対応するＮ個の正確度を得るために用いられ、
前記ネットワーク出力ユニットは、前記Ｎ個の正確度のうち予め設定された条件を満たす正確度が存在しないことに応答して、新たなネットワークブロックによってそれぞれ構築されたＮ個のサンプリングニューラルネットワークのうち予め設定された条件を満たすニューラルネットワークが存在するようになるまで、前記それぞれＮ個の正確度に応じてＮ種類の新たなネットワークブロックを再度生成し、予め設定された条件を満たすサンプリングニューラルネットワークを目標ニューラルネットワークとするために用いられ、
ここで、前記Ｎはゼロよりも大きい整数であることを特徴とする請求項１１から１８のいずれか一項に記載の装置。
【請求項２０】
前記正確度が予め設定された条件を満たすことに応答して、予め設定された条件を満たすサンプリングニューラルネットワークを目標ニューラルネットワークとするための、
または、
前記正確度が予め設定された条件を満たさず、かつニューラルネットワーク構造に対する前記サンプリングが予め設定された回数に達したことに応答して、現在のサンプリングニューラルネットワークを目標ニューラルネットワークとするための目標ネットワーク判定ユニットをさらに含むことを特徴とする請求項１１に記載の装置。
【請求項２１】
プロセッサを含む電子機器であって、前記プロセッサは請求項１１から２０のいずれか一項に記載のニューラルネットワーク構造の生成装置を含むことを特徴とする電子機器。
【請求項２２】
実行可能命令を記憶するためのメモリと、
前記メモリと通信して前記実行可能命令を実行することで請求項１から１０のいずれか一項に記載のニューラルネットワーク構造の生成方法の動作を完了するためのプロセッサと、を含むことを特徴とする電子機器。
【請求項２３】
コンピュータ可読命令を記憶するためのコンピュータ記憶媒体であって、前記命令が実行される時に請求項１から１０のいずれか一項に記載のニューラルネットワーク構造の生成方法の動作を実行することを特徴とするコンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は２０１７年０８月１８日に中国特許局に提出された、出願番号ＣＮ２０１７１０７１８０４２．２、発明の名称「ニューラルネットワーク構造の生成方法および装置、電子機器、ならびに記憶媒体」の中国特許出願の優先権を主張し、その開示の全てが参照によって本願に組み込まれる。
【０００２】
本願は人工知能技術に関し、特にニューラルネットワーク構造の生成方法および装置、電子機器、ならびに記憶媒体に関する。
【背景技術】
【０００３】
ニューラルネットワークは動物のニューラルネットワークによる行動特性を模することで分散並列情報処理を行うアルゴリズム数学モデルである。コンピュータビジョン技術の発展に伴い、ニューラルネットワークは画像認識システムにおけるコア技術であるため、セキュリティ監視、金融、乃至無人運転などの技術分野において広く応用されている。タスクまたは応用シーンによっては、必要なニューラルネットワークの構造およびパラメータが異なる。
【発明の概要】
【０００４】
本願の実施例はニューラルネットワーク構造を生成する技術的解決手段を提供する。
【０００５】
本願の実施例の第一態様は、
ニューラルネットワーク構造をサンプリングし、少なくとも１つのネットワーク層が含まれるネットワークブロックを生成することと、
前記ネットワークブロックに基づいてサンプリングニューラルネットワークを構築することと、
サンプルデータに基づいて前記サンプリングニューラルネットワークを訓練し、前記サンプリングニューラルネットワークに対応する正確度を得ることと、
前記正確度が予め設定された条件を満たさないことに応答して、新たなネットワークブロックによって構築されたサンプリングニューラルネットワークが予め設定された条件を満たすようになるまで、前記正確度に応じて新たなネットワークブロックを再度生成し、予め設定された条件を満たすサンプリングニューラルネットワークを目標ニューラルネットワークとすることと、を含むニューラルネットワーク構造の生成方法を提供する。
【０００６】
本願の実施例の第二態様によれば、
ニューラルネットワーク構造をサンプリングし、少なくとも１つのネットワーク層が含まれるネットワークブロックを生成するためのサンプリングユニットと、
前記ネットワークブロックに基づいてサンプリングニューラルネットワークを構築するためのネットワーク構築ユニットと、
サンプルデータに基づいて前記サンプリングニューラルネットワークを訓練し、前記サンプリングニューラルネットワークに対応する正確度を得るための訓練ユニットと、
前記正確度が予め設定された条件を満たさないことに応答して、新たなネットワークブロックによって構築されたサンプリングニューラルネットワークが予め設定された条件を満たすようになるまで、前記正確度に応じて新たなネットワークブロックを再度生成し、予め設定された条件を満たすサンプリングニューラルネットワークを目標ニューラルネットワークとするためのネットワーク出力ユニットと、を含むニューラルネットワーク構造の生成装置が提供される。
【０００７】
本願の実施例の第三態様によれば、上述のニューラルネットワーク構造の生成装置を含むプロセッサを含む電子機器が提供される。
【０００８】
本願の実施例の第四態様によれば、実行可能命令を記憶するためのメモリと、
前記メモリと通信して前記実行可能命令を実行することで上述のニューラルネットワーク構造の生成方法の動作を完了するためのプロセッサと、を含む電子機器が提供される。
【０００９】
本願の実施例の第五態様によれば、コンピュータ可読命令を記憶するためのコンピュータ記憶媒体であって、前記命令は実行される時に上述のニューラルネットワーク構造の生成方法の動作を実行するコンピュータ記憶媒体が提供される。
【００１０】
本願の上記実施例が提供するニューラルネットワーク構造の生成方法および装置、電子機器、ならびにコンピュータ記憶媒体に基づき、ニューラルネットワーク構造をサンプリングし、ネットワークブロックを生成し、ネットワークブロックに基づいてサンプリングニューラルネットワークを構築し、サンプリングによってサンプリングニューラルネットワークを構築ことでネットワーク構造を手動で設定することを回避し、サンプルデータに基づいてサンプリングニューラルネットワークを訓練し、サンプリングニューラルネットワークに対応する正確度を得て、訓練によってサンプリングニューラルネットワークにおけるパラメータを現在の構造に好適であるようにし、該サンプリングニューラルネットワークに対応する好適な正確度を得ることができ、そして正確度が予め設定された条件を満たさないことに応答して、正確度に応じて新たなネットワークブロックを、それが構築するサンプリングニューラルネットワークが予め設定された条件を満たすようになるまで再度生成し、予め設定された条件を満たすサンプリングニューラルネットワークを目標ニューラルネットワークとし、このサンプルデータに基づいて強化学習によって生成されるサンプリングニューラルネットワークは、サンプルデータに対応するタスクおよび／またはデータの予測正確度を達成でき、ネットワーク構造設計のコストおよび時間を削減する。
【００１１】
以下に図面および実施例により、本願の技術的解決手段をさらに詳しく説明する。
【図面の簡単な説明】
【００１２】
明細書の一部を構成する図面は、本願の実施例を説明し、その説明と共に本願の原理を解釈することに用いられる。
【００１３】
図面を参照し、以下の詳細な説明により本願をより明瞭に理解することができる。
【図１】本願のニューラルネットワーク構造の生成方法の一実施例のフローチャートである。
【図２】本願の実施例においてネットワーク層に基づいて構築されたネットワークブロックの構成模式図である。
【図３】本願の実施例においてネットワーク層に基づいて構築された別のネットワークブロックの構成模式図である。
【図４】本願の方法によって構築された分散システムの構成模式図である。
【図５】本願のニューラルネットワーク構造の生成装置の一実施例の構成模式図である。
【図６】本願の電子機器の一実施例の構成模式図である。
【発明を実施するための形態】
【００１４】
ここで、図面を参照しながら本願の様々な例示的実施例を詳細に説明する。なお、特に断らない限り、これらの実施例において記述した部材およびステップの相対的配置、数式および数値は本願の範囲を限定するものではないことに注意すべきである。
【００１５】
同時に、説明の便宜上、図面に示した各部分の寸法は実際の比例関係に従って描いたものではないことを理解すべきである。
【００１６】
以下の少なくとも１つの例示的実施例に対する説明は実際に説明的なものに過ぎず、本願およびその適用または使用へのなんらの制限にもならない。
【００１７】
関連分野の当業者に既知の技術、方法および機器については、詳細に説明しないが、場合によって、前記技術、方法および機器は明細書の一部と見なすべきである。
【００１８】
なお、類似する符号および英文字は以下の図面において類似項目を表し、従って、ある一項が１つの図面において定義されれば、以降の図面においてそれをさらに説明する必要がないことに注意すべきである。
【００１９】
本願の実施例はコンピュータシステム／サーバに適用可能であり、それは他の様々な共通または専用計算システム環境または構成と共に動作可能である。コンピュータシステム／サーバとの併用に適する公知の計算システム、環境および／または構成の例は、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、ファットクライアント、手持ちまたはラップトップデバイス、マイクロプロセッサに基づくシステム、セットトップボックス、プログラマブル消費者用電子機器、ネットワークパソコン、小型コンピュータシステム、大型コンピュータシステムおよび上記任意のシステムを含む分散型クラウドコンピューティング技術環境などを含むが、これらに限定されない。
【００２０】
コンピュータシステム／サーバはコンピュータシステムにより実行されるコンピュータシステム実行可能命令（例えばプログラムモジュール）の一般的な言語環境において説明できる。通常、プログラムモジュールは、特定のタスクを実行するかまたは特定の抽象データ型を実現するルーチン、プログラム、目標プログラム、コンポーネント、ロジック、データ構造などを含むことができる。コンピュータシステム／サーバは、タスクが通信ネットワークにわたって連結された遠隔処理機器により実行される分散型クラウドコンピューティング環境において実施できる。分散型クラウドコンピューティング環境において、プログラムモジュールは記憶機器を含むローカルまたは遠隔計算システムの記憶媒体に存在してもよい。
【００２１】
図１は本願のニューラルネットワーク構造の生成方法の一実施例のフローチャートである。図１に示すように、該実施例の方法は以下を含む。
【００２２】
ステップ１０１において、ニューラルネットワーク構造をサンプリングし、少なくとも１つのネットワーク層が含まれるネットワークブロックを生成する。
【００２３】
ここで、ニューラルネットワーク構造はネットワーク層、ネットワーク層に対応するネットワークパラメータ、ネットワーク層の間の設定された連結方式などを含み、ただし、ネットワーク層は従来技術における一部または全ての種類のネットワーク層を含んでもよく、本願はネットワークブロックを構成するネットワーク層のタイプおよび数を限定せず、本願で言及されたネットワーク層とは、ニューラルネットワーク構築用の、ある機能を独立して実現可能なユニット、例えば畳み込み層、プーリング層、全連結層などをいう。
【００２４】
任意選択的な一例では、該ステップ１０１はプロセッサによってメモリに記憶された対応の命令を呼び出して実行してもよく、プロセッサにより運用されるサンプリングユニット５１によって実行してもよい。
【００２５】
ステップ１０２において、ネットワークブロックに基づいてサンプリングニューラルネットワークを構築する。
【００２６】
ここで、ニューラルネットワークは少なくとも１つのネットワークブロックを含み、ネットワークブロックは１つのネットワーク下部構造とされ、本願では、訓練されるサンプリングニューラルネットワークはＫ個のネットワークブロックからなるように予め設定されてもよく、このＫ個のネットワークブロックの構造は同じであってもなくてもよく、Ｋは１以上の整数である。Ｋの値は実際の応用において訓練効率および精度を考慮した上で決定される。
【００２７】
任意選択的な一例では、該ステップ１０２はプロセッサによってメモリに記憶された対応の命令を呼び出して実行してもよく、プロセッサにより運用されるネットワーク構築ユニット５２によって実行してもよい。
【００２８】
ステップ１０３において、サンプルデータに基づいてサンプリングニューラルネットワークを訓練し、サンプリングニューラルネットワークに対応する正確度を得る。
【００２９】
任意選択的な一例では、該ステップ１０３はプロセッサによってメモリに記憶された対応の命令を呼び出して実行してもよく、プロセッサにより運用される訓練ユニット５３によって実行してもよい。
【００３０】
ステップ１０４において、正確度が予め設定された条件を満たさないことに応答して、正確度に応じて新たなネットワークブロックを、それが構築するサンプリングニューラルネットワークが予め設定された条件を満たすようになるまで再度生成し、予め設定された条件を満たすサンプリングニューラルネットワークを目標ニューラルネットワークとする。
【００３１】
訓練によって正確度が予め設定された条件を満たす目標ニューラルネットワークが得られ、該目標ニューラルネットワークにおけるパラメータは訓練を経て該サンプルデータに対して好適なパラメータとなり、従って、出力される目標ニューラルネットワークはその構造もパラメータも該サンプルデータに適用可能であり、それは特定のタスクについて構造およびパラメータを自動的に好適に設定できる目標ニューラルネットワークである。
【００３２】
任意選択的な一例では、該ステップ１０４はプロセッサによってメモリに記憶された対応の命令を呼び出して実行してもよく、プロセッサにより運用されるネットワーク出力ユニット５４によって実行してもよい。
【００３３】
本願の上記実施例が提供するネットワーク訓練方法に基づき、ニューラルネットワーク構造をサンプリングし、ネットワークブロックを生成し、ネットワークブロックに基づいてサンプリングニューラルネットワークを構築し、サンプリングによってサンプリングニューラルネットワークを構築することでネットワーク構造を手動で設定することを回避し、サンプルデータに基づいてサンプリングニューラルネットワークを訓練し、サンプリングニューラルネットワークに対応する正確度を得て、訓練によってサンプリングニューラルネットワークにおけるパラメータを現在の構造に好適であるようにし、該サンプリングニューラルネットワークの好適な正確度を得ることができ、そして正確度が予め設定された条件を満たさないことに応答して、正確度に応じて新たなネットワークブロックを、それが構築するサンプリングニューラルネットワークが予め設定された条件を満たすようになるまで再度生成し、予め設定された条件を満たすサンプリングニューラルネットワークを目標ニューラルネットワークとし、このサンプルデータに基づいて強化学習によって生成されるサンプリングニューラルネットワークは、サンプルデータに対応するタスクおよび／またはデータに対して所望の正確度に達することが可能であり、ネットワーク構造設計のコストおよび時間を削減する。
【００３４】
本願のニューラルネットワーク構造の生成方法の別の実施例では、上記実施例のもとに、ステップ１０１は、
１つの確率ベクトルに基づいてニューラルネットワーク構造をサンプリングし、少なくとも１種類のネットワーク層、少なくとも１種類のネットワーク層に対応するネットワークパラメータおよび少なくとも１種類のネットワーク層の間の連結方式を得て、少なくとも１種類のネットワーク層を積み上げて１種類のネットワークブロックを構成することを含む。
【００３５】
本実施例では、ネットワーク層データベースに少なくとも１種類のネットワーク層が含まれるため、ネットワーク層のタイプや数に対応する確率ベクトルによってサンプリングすれば、少なくとも１種類のネットワーク層をサンプリングでき、ネットワーク層には対応するネットワークパラメータが存在しており、サンプリング中にネットワーク層に対応するネットワークパラメータが同時に取得され、ネットワーク層それぞれは、予め設定された連結方式を有し、任意選択的に、ネットワーク層を取得すると共に、ネットワーク層の間の連結方式を取得してもよく、ここで、確率ベクトル内の確率値それぞれは１種類のネットワーク層に対応しており、ある１種類のネットワーク層に対応する確率値が０である場合、サンプリングして構成されたネットワークブロックには該種類のネットワーク層が含まれないようになり、また確率ベクトル内の確率値によって、サンプリングして得られた各種類のネットワーク層の数を決定でき、１種類毎にネットワーク層を１つサンプリングすることに限定されない。
【００３６】
本願のニューラルネットワーク構造の生成方法の上記各実施例の任意選択的な一例では、ネットワーク層は、
畳み込み層（Ｃｏｎｖｏｌｕｔｉｏｎ）、最大プーリング層（Ｍａｘ  Ｐｏｏｌｉｎｇ）、平均プーリング層（Ａｖｅｒａｇｅ  Ｐｏｏｌｉｎｇ）、アイデンティティ層（Ｉｄｅｎｔｉｔｙ）、特徴重畳層（Ｅｌｅｍｅｎｔａｌ  Ａｄｄ）および連結層（ｃｏｎｃａｔ）などの任意の１つまたは複数を含む。
【００３７】
本実施例において挙げられた以上のネットワーク層は当業者の理解および実施を助けるためのものであり、本願を限定するものではなく、畳み込みは２つの変数をある範囲内で乗算した後に和を求めた結果を実現し、畳み込み層は複数の畳み込みユニットからなってもよく、畳み込みユニットのパラメータは逆伝播アルゴリズムによって最適化して得られ、畳み込み演算の目的は入力される様々な特徴を抽出することであり、１層目の畳み込み層は、エッジ、ラインおよび角などのような低レベルの特徴しか抽出できないことがあるが、より多層のネットワークは低レベルの特徴から反復してより複雑な特徴を抽出可能である。最大プーリング層（Ｍａｘ  ｐｏｏｌｉｎｇ）は主に、認識結果を損なうことなく、近傍内の特徴点について最大を取ることでダウンサンプリング（ｄｏｗｎｓａｍｐｌｉｎｇ）を実現するという機能を発揮し、平均プーリング層（Ａｖｅｒａｇｅ  Ｐｏｏｌｉｎｇ）は主に、認識結果を損なうことなく、近傍内の特徴点を平均することでダウンサンプリング（ｄｏｗｎｓａｍｐｌｉｎｇ）を実現するという機能を発揮し、アイデンティティ層（Ｉｄｅｎｔｉｔｙ）は主に、異なるネットワーク層の間の連結を助けるよう、その出力がその入力に相当し、特徴重畳層（Ｅｌｅｍｅｎｔａｌ  Ａｄｄ）は受信した異なるネットワーク層の特徴を重ね合わせ、連結層（ｃｏｎｃａｔ）は主に、受信した異なるネットワーク層の特徴を連結するという機能を発揮する。図２は本願の実施例においてネットワーク層に基づいて構築されたネットワークブロックの構成模式図である。図中、アイデンティティ層（Ｉｄｅｎｔｉｔｙ）、畳み込み層（Ｃｏｎｖｏｌｕｔｉｏｎ）、特徴重畳層（Ｅｌｅｍｅｎｔａｌ  Ａｄｄ）、最大プーリング層（Ｍａｘ  Ｐｏｏｌｉｎｇ）、平均プーリング層（Ａｖｅｒａｇｅ  Ｐｏｏｌｉｎｇ）および連結層（ｃｏｎｃａｔ）が含まれている。図３は本願の実施例においてネットワーク層に基づいて構築された別のネットワークブロックの構成模式図である。図中、アイデンティティ層（Ｉｄｅｎｔｉｔｙ）、畳み込み層（Ｃｏｎｖｏｌｕｔｉｏｎ）、特徴重畳層（Ｅｌｅｍｅｎｔａｌ  Ａｄｄ）、平均プーリング層（Ａｖｅｒａｇｅ  Ｐｏｏｌｉｎｇ）および連結層（ｃｏｎｃａｔ）が含まれている。図２および図３に示すネットワークブロックの構造から、ネットワークブロックを構成するものは一部または全てのタイプのネットワーク層を含んでもよく、かつ各種類のネットワーク層の数は一定ではないことがわかる。
【００３８】
本願のニューラルネットワーク構造の生成方法の上記各実施例の任意選択的な一例では、少なくとも１種類のネットワーク層を積み上げて１種類のネットワークブロックを得るステップは、
サンプリングして得られたネットワーク層を分析し、少なくとも１種類のネットワーク層のタイプ、少なくとも１タイプのネットワーク層の数、および少なくとも１種類のネットワーク層の連結順序を得ることと、
得られたネットワーク層を少なくとも１種類のネットワーク層に対応する連結順序に従って、少なくとも１種類のネットワーク層の間の連結関係によって連結して１種類のネットワークブロックを得ることと、を含む。
【００３９】
本実施例ではネットワークブロックを構築するために、まずそれに含まれる要素（ネットワーク層）を決定すべきであり、ネットワーク層の決定はそのタイプおよび数の決定を含み、ネットワーク層のタイプおよび数が知られた後にネットワーク層の連結順序および連結関係を決定する必要があり、任意選択的に、各ネットワーク層についてその上のネットワーク層を設定し、１つのネットワーク層の上のネットワーク層を決定してから、得られたネットワーク層を重ね合わせ、１つのネットワークブロックを構成するようにしてもよく、同じタイプおよび数の１群のネットワーク層は、重ね合わせ方式によって複数のネットワークブロックを構成できる。
【００４０】
本願のニューラルネットワーク構造の生成方法のさらに別の実施例では、上記各実施例のもとに、ステップ１０４は、
サンプリングニューラルネットワークに対応する正確度に応じてニューラルネットワーク構造をサンプリングする確率ベクトルを調整し、調整後の確率ベクトルによってニューラルネットワーク構造をサンプリングし、１種類の新たなネットワークブロックを生成することを含む。
【００４１】
本実施例では、任意選択的に、強化学習という方式でネットワークブロックの構造を調整し、ニューラルネットワークの正確度が設定値に達していない場合、このニューラルネットワーク構造は十分に良好ではなく、返される報酬（ｒｅｗａｒｄ）が少なく、このとき、改めてサンプリングして新たなネットワークブロックを構成し、さらに新たなネットワークブロックでニューラルネットワークを、正確度が標準に達するニューラルネットワークを得るまで、構築する。
【００４２】
正確度に応じてニューラルネットワークが標準に達したかどうかを判定し、該ニューラルネットワークの正確度が設定値に達していない場合、このニューラルネットワークの構造は現在のサンプルデータに適さず、このとき、ニューラルネットワークにおけるパラメータは比較的十分に訓練されていたので、ネットワーク構造を調整する必要があるが、ネットワーク構造において調整可能なのは主にネットワークブロックであるため、ネットワークブロックの構造を調整する必要があり、ネットワークブロックの構造はネットワークブロック内のネットワーク層の数またはネットワークブロック内のネットワーク層の連結関係を調整することで調整してもよく、サンプリング対象のネットワーク層について毎回、異なる連結関係によって既に少なくとも１種類のネットワークブロック（少なくとも１種類のネットワークブロック同士は、ネットワーク層のタイプおよび数が同じであるが、ネットワーク層の位置およびネットワーク層の間の連結関係が異なる）が構築されていたので、サンプリングの確率ベクトルを変更することで、ネットワークブロックを構成するネットワーク層の数を変更し、それによってネットワークブロック構造の変更を実現する。
【００４３】
本願のニューラルネットワーク構造の生成方法のさらに別の実施例では、上記各実施例のもとに、サンプルデータに基づいてサンプリングニューラルネットワークを訓練するステップ１０３は、
サンプリングニューラルネットワークを利用してサンプルデータを処理し、処理結果を得ることと、
損失関数を利用し、監督情報でラベル付けされたサンプルデータにラベル付けした監督情報と処理結果との間の誤差値を計算することと、
サンプリングニューラルネットワークが収束条件を満たすようになるまで、誤差値に基づいて前サンプリングニューラルネットワークを訓練することと、を含む。
【００４４】
ここで、サンプルデータは監督情報でラベル付けされ、該監督情報はサンプルデータが既知の、該サンプリングニューラルネットワークに対応する処理すべき目標結果であり、訓練して得られたニューラルネットワークの機能はその内容によって決定される。
【００４５】
本実施例では、構築されるニューラルネットワークの構造が特定のタスクデータに適応するように保証し、該ニューラルネットワークが該タスクデータを正確に処理可能であるかどうかを識別するために、該タスクデータの対応するサンプルデータでニューラルネットワークを訓練する必要があり、ニューラルネットワークの訓練プロセスは従来技術における一般的な逆勾配アルゴリズムによって実現してもよく、ニューラルネットワークにおけるパラメータが好適になることを訓練の結果とし、このとき、得られた監督情報と処理結果との間の誤差値によって該ニューラルネットワークの正確度を特定でき、正確度と誤差値は反比例し、誤差値が大きければ大きくなるほど、正確度が小さくなり、該サンプルデータに対する該ニューラルネットワークの処理効果が悪くなり、誤差値が小さければ小さくなるほど、正確度が大きくなり、該サンプルデータに対する該ニューラルネットワークの処理効果が高くなる。
【００４６】
本願のニューラルネットワーク構造の生成方法の上記各実施例の任意選択的な一例では、サンプリングニューラルネットワークが収束条件を満たすようになるまで、誤差値に基づいてサンプリングニューラルネットワークを訓練することは、
損失関数の収束速度が設定値以上であることに応答して、得られた誤差値に応じて、逆勾配アルゴリズムによってサンプリングニューラルネットワークにおけるパラメータを調整し、調整後のサンプリングニューラルネットワークを得ることと、調整後のニューラルネットワークに対応する損失関数の収束速度が設定値よりも小さくなるまで調整し続けることと、を含む。
【００４７】
本実施例では、ニューラルネットワークが該サンプルデータの処理に適用可能であるかどうかを特定できないため、収束条件は誤差値の大小を設定することで実現できず（ニューラルネットワークを何回訓練しても誤差値が要求を満たさないことがある）、ニューラルネットワークにおけるパラメータを好適にするために、損失関数の収束速度に基づいて評価する必要があり、損失関数の収束速度が設定値以下に低下した場合、反復を継続しても誤差値への影響が小さく、このとき、訓練を終了し、対応の誤差値を出力し、該サンプルデータに対する該ニューラルネットワークの正確度をさらに計算してよい。
【００４８】
本願のニューラルネットワーク構造の生成方法の上記各実施例の任意選択的な一例では、サンプリングニューラルネットワークが収束条件を満たすようになるまで、誤差値に基づいてサンプリングニューラルネットワークを訓練することは、
損失関数による誤差値計算回数が設定値よりも小さいことに応答して、得られた誤差値に応じて、逆勾配アルゴリズムによってサンプリングニューラルネットワークにおけるパラメータを調整し、調整後のサンプリングニューラルネットワークを得て、かつ損失関数による誤差値計算回数に１を加えることと、調整後のニューラルネットワークに対応する損失関数による誤差値計算回数が設定値以上になるまで調整し続けることと、を含む。
【００４９】
本実施例では、ニューラルネットワークを高速に訓練するために、１つの設定値を設定して反復の回数を制御し、反復訓練の回数が該設定値に達した時に、直ちに訓練を停止し、それによってニューラルネットワーク構造の生成速度を向上させる。
【００５０】
本願のニューラルネットワーク構造の生成方法の上記各実施例の任意選択的な一例では、ステップ１０３はさらに、
訓練が完了したサンプリングニューラルネットワークの誤差値にしたがってサンプリングニューラルネットワークの予測正確度を計算して得ることと、
予測正確度に基づき、サンプリングニューラルネットワークに対応するネットワーク計算複雑度およびネットワーク密度を予め設定された比率で差し引き、サンプリングニューラルネットワークに対応する正確度を得ることと、を含む。
【００５１】
上記実施例は設定回数に反復した時に訓練を終了することを提案したが、このとき、訓練を終了すると、得られる正確度は必然的に該サンプリングニューラルネットワークの好適な正確度ではないため、正確度の問題について、本実施例により修正し、任意選択的に式（１）を用いて修正を実現してもよい。
【００５２】
0006811894.tif 000002
【００５３】
式（１）
ここで、
0006811894.tif 000003
【００５４】
は正確度であり、
0006811894.tif 000004
【００５５】
は予測正確度であり、ＦＬＯＰｓは秒毎の浮動小数点演算回数（秒毎のピーク速度とも呼ばれる）で、１秒あたり実行される浮動小数点演算の回数（Ｆｌｏａｔｉｎｇ−ｐｏｉｎｔ  ｏｐｅｒａｔｉｏｎｓ  ｐｅｒ  ｓｅｃｏｎｄ、ＦＬＯＰｓ）の略称であり、特に浮動小数点演算が大量使用されている科学計算分野において、コンピュータのパフォーマンスを推定するために用いられ、ＦＬＯＰｓはニューラルネットワークのネットワーク計算複雑度とされる場合、その理論的推定式は式（２）であってもよいが、それに限定されない。
【００５６】
0006811894.tif 000005
【００５７】
式（２）
ここで、
0006811894.tif 000006
【００５８】
はこの層のサンプリングニューラルネットワークの入力チャネル数であり、
0006811894.tif 000007
【００５９】
はこの層のサンプリングニューラルネットワークの出力チャネル数であり、
0006811894.tif 000008
【００６０】
は畳み込みカーネルのサイズ（ｋｅｒｎｅｌ  ｓｉｚｅ）であり、
0006811894.tif 000009
【００６１】
はこの層の出力の特徴マップ（ｆｅａｔｕｒｅ  ｍａｐ）のサイズである。Ｄｅｎｓｉｔｙはグラフ（数学分野における）の辺数をグラフの点数で除算したネットワーク密度であり、グラフの複雑度を測定するために用いられる。式（１）の修正によって、得られた正確度を該サンプリングニューラルネットワークの該サンプルデータに対応する正確度とすることができ、同時に、修正された正確度を使用すれば、サンプリングニューラルネットワークの正確度を予め設定された条件に高速に収束させ、ネットワークの訓練速度を向上させることができる。
【００６２】
本願のニューラルネットワーク構造の生成方法のさらに別の実施例では、上記各実施例のもとに、
ステップ１０１は、ニューラルネットワーク構造をサンプリングし、Ｎ種類のネットワークブロックを生成することを含んでもよい。ここで、Ｎはゼロよりも大きい整数である。
【００６３】
例示的に、サンプリングプロセスは１つのエージェント（ａｇｅｎｔ）を利用して実現してもよく、Ｎ種類のネットワークブロックはネットワークコントローラーに送信される。
【００６４】
任意選択的な一例では、該ステップ１０１はプロセッサによってメモリに記憶された対応の命令を呼び出して実行してもよく、プロセッサにより運用されるサンプリングユニット５１によって実行してもよい。
【００６５】
ステップ１０２は、それぞれＮ種類のネットワークブロックに基づいてＮ個のサンプリングニューラルネットワークを構築することを含んでもよい。
【００６６】
例示的に、サンプリングニューラルネットワークの構築プロセスはネットワーク構造コントローラー（Ｎｅｔｗｏｒｋ  ｓｔｒｕｃｔｕｒｅ  ｃｏｎｔｒｏｌｌｅｒ）で実現してもよく、ネットワークコントローラーはＮ個のサンプリングニューラルネットワークをＮ個の訓練ノード（環境変数、ｅｎｖ）にそれぞれ配信する。ここで、ｅｎｖは外部命令、プログラムファイルを表し、全ての環境変数およびそれに割り当てられた値をリストアップしている。
【００６７】
任意選択的な一例では、該ステップ１０２はプロセッサによってメモリに記憶された対応の命令を呼び出して実行してもよく、プロセッサにより運用されるネットワーク構築ユニット５２によって実行してもよい。
【００６８】
ステップ１０３は、サンプルデータに基づいてＮ個のサンプリングニューラルネットワークをそれぞれ訓練し、Ｎ個のサンプリングニューラルネットワークに対応するＮ個の正確度を得ることを含んでもよい。
【００６９】
例示的に、同じまたは類似のサンプルデータを受信する（同一訓練対象のサンプルデータ集合からの抽出に基づく）Ｎ個の訓練ノード（環境変数、ｅｎｖ）でＮ個のサンプリングニューラルネットワークをそれぞれ訓練する。
【００７０】
任意選択的な一例では、該ステップ１０３はプロセッサによってメモリに記憶された対応の命令を呼び出して実行してもよく、プロセッサにより運用される訓練ユニット５３によって実行してもよい。
【００７１】
ステップ１０４は、Ｎ個の正確度のうち予め設定された条件を満す正確度が存在しないことに応答して、新たなネットワークブロックによってそれぞれ構築されたＮ個のサンプリングニューラルネットワークのうち予め設定された条件を満たすニューラルネットワークが存在するようになるまで、それぞれＮ個の正確度に応じてＮ種類の新たなネットワークブロックを再度生成し、予め設定された条件を満たすサンプリングニューラルネットワークを目標ニューラルネットワークとすることを含んでもよい。
【００７２】
例示的に、Ｎ個の訓練ノードに基づいて得られたＮ個の正確度をネットワークコントローラーによってエージェント（ａｇｅｎｔ）に伝送し、エージェントは正確度に基づいて該サンプリングニューラルネットワークが目標ニューラルネットワークであるかどうかを判断し、該サンプリングニューラルネットワークが目標ニューラルネットワークではない場合、サンプリング確率を修正し、新たなネットワークブロックを得て、新たなサンプリングニューラルネットワークを再度構成する。
【００７３】
任意選択的な一例では、該ステップ１０４はプロセッサによってメモリに記憶された対応の命令を呼び出して実行してもよく、プロセッサにより運用されるネットワーク出力ユニット５４によって実行してもよい。
【００７４】
本実施例では、図４は本願の方法によって構築された分散システムの構成模式図である。図４に示すように、エージェント（ａｇｅｎｔ）、ネットワーク構造コントローラー（Ｎｅｔｗｏｒｋ  ｓｔｒｕｃｔｕｒｅ  ｃｏｎｔｒｏｌｌｅｒ）および少なくとも１つの訓練ノード（環境変数、即ちｅｎｖであって、図中の環境１、環境２…環境Ｎに対応するものであり、つまり、図中の環境それぞれは１つの訓練ノードを表す）を含む分散システムを構築することで複数の異なるニューラルネットワークの同時訓練を実現し、さらにニューラルネットワーク構造の生成速度を向上させ、訓練時間を節約し、ニューラルネットワークの訓練効率を向上させる。
【００７５】
ニューラルネットワークに対応する正確度によってニューラルネットワークの優劣を評価し、正確度が設定条件に達した場合、該ニューラルネットワークは要求に適合すると認められ、サンプルデータに対応するタスクデータを処理し、良好な結果を得ることができ、当然ながら、正確度が高ければ高くなるほど、タスクデータに対するニューラルネットワークの処理結果は正確である。予め設定された条件は、Ｘ回循環した後、Ｎ個の「サンプリングニューラルネットワーク」のうち正確度が高いＹ個のサンプリングニューラルネットワークを、出力される目標ニューラルネットワークとするようにしてもよく、ここで、Ｘ、ＮおよびＹはそれぞれ１以上の整数である。
【００７６】
本願のニューラルネットワーク構造の生成方法の上記各実施例の任意選択的な一例では、ステップ１０３の後に、さらに、
正確度が予め設定された条件を満たすことに応答して、予め設定された条件を満たすサンプリングニューラルネットワークを目標ニューラルネットワークとすること、
または、
正確度が予め設定された条件を満たさず、かつニューラルネットワーク構造に対するサンプリングが予め設定された回数に達したことに応答して、現在のサンプリングニューラルネットワークを目標ニューラルネットワークとすることを含む。
【００７７】
本実施例では、ネットワークブロックからなるサンプリングニューラルネットワークが予め設定された条件を満たす場合、そのまま該サンプリングニューラルネットワークを目標ニューラルネットワークとすること、またはサンプリングが予め設定された回数に達した時に、得られたサンプリングニューラルネットワークを目標ニューラルネットワークとすることを初めて提案し、それによってニューラルネットワーク構造の生成速度を向上させる。
【００７８】
当業者であれば、上記方法の実施例を実現する全てまたは一部のステップはプログラムによって関連ハードウェアに命令を出すことにより完了できることを理解でき、前記プログラムは、ＲＯＭ、ＲＡＭ、磁気ディスクまたは光ディスクなどのプログラムコードを記憶可能である様々な媒体を含むコンピュータ可読記憶媒体に記憶可能であり、該プログラムは実行される時に、上記方法の実施例を含むステップを実行する。
【００７９】
図５は本願のニューラルネットワーク構造の生成装置の実施例の構成模式図である。該実施例の装置は本願の上記各方法の実施例を実現するために用いることができる。図５に示すように、該実施例の装置は、
ニューラルネットワーク構造をサンプリングし、少なくとも１つのネットワーク層が含まれるネットワークブロックを生成するためのサンプリングユニット５１と、
ネットワークブロックに基づいてサンプリングニューラルネットワークを構築するためのネットワーク構築ユニット５２と、
サンプルデータに基づいてサンプリングニューラルネットワークを訓練し、サンプリングニューラルネットワークに対応する正確度を得るための訓練ユニット５３と、
正確度が予め設定された条件を満たさないことに応答して、正確度に応じて新たなネットワークブロックを、それが構築するサンプリングニューラルネットワークが予め設定された条件を満たすようになるまで再度生成し、予め設定された条件を満たすサンプリングニューラルネットワークを目標ニューラルネットワークとするためのネットワーク出力ユニット５４と、を含む。
【００８０】
本願の上記実施例が提供するニューラルネットワーク構造の生成装置に基づき、ニューラルネットワーク構造をサンプリングし、ネットワークブロックを生成し、ネットワークブロックに基づいてサンプリングニューラルネットワークを構築し、サンプリングによってサンプリングニューラルネットワークを構築することでネットワーク構造を手動で設定することを回避し、サンプルデータに基づいてサンプリングニューラルネットワークを訓練し、サンプリングニューラルネットワークに対応する正確度を得て、訓練によってサンプリングニューラルネットワークにおけるパラメータを現在の構造に好適であるようにし、該サンプリングニューラルネットワークに対応する好適な正確度を得ることができ、そして正確度が予め設定された条件を満たさないことに応答して、正確度に応じて新たなネットワークブロックを、それが構築するサンプリングニューラルネットワークが予め設定された条件を満たすようになるまで再度生成し、予め設定された条件を満たすサンプリングニューラルネットワークを目標ニューラルネットワークとし、このサンプルデータに基づいて強化学習によって生成されるサンプリングニューラルネットワークは、サンプルデータに対応するタスクおよび／またはデータに対して所望の正確度に達することが可能であり、ネットワーク構造設計のコストおよび時間を削減する。
【００８１】
本願のニューラルネットワーク構造の生成装置の別の実施例では、上記実施例のもとに、サンプリングユニット５１は、
１つの確率ベクトルに基づいてニューラルネットワーク構造をサンプリングし、少なくとも１種類のネットワーク層、少なくとも１種類のネットワーク層に対応するネットワークパラメータおよび少なくとも１種類のネットワーク層の間の連結方式を得るための確率サンプリングモジュールと、
少なくとも１種類のネットワーク層を積み上げて１種類のネットワークブロックを構成するためのネットワークブロック生成モジュールと、を含む。
【００８２】
本実施例では、ネットワーク層データベースに少なくとも１種類のネットワーク層が含まれるため、ネットワーク層のタイプや数に対応する確率ベクトルによってサンプリングすれば、少なくとも１種類のネットワーク層をサンプリングでき、ネットワーク層には対応するネットワークパラメータが存在しており、サンプリング中にネットワーク層に対応するネットワークパラメータが同時に取得され、ネットワーク層それぞれは、予め設定された連結方式を有し、任意選択的に、ネットワーク層を取得すると共に、ネットワーク層の間の連結方式を取得してもよく、ここで、確率ベクトル内の確率値それぞれは１種類のネットワーク層に対応しており、ある１種類のネットワーク層に対応する確率値が０である場合、サンプリングして構成されたネットワークブロックには該種類のネットワーク層が含まれないようになり、また確率ベクトル内の確率値によって、サンプリングして得られた各種類のネットワーク層の数を決定でき、１種類毎にネットワーク層を１つサンプリングすることに限定されない。
【００８３】
本願のニューラルネットワーク構造の生成装置の上記各実施例の任意選択的な一例では、ネットワーク層は、
畳み込み層、最大プーリング層、平均プーリング層、アイデンティティ層、特徴重畳層および連結層などの任意の１つまたは複数を含む。
【００８４】
本願のニューラルネットワーク構造の生成装置の上記各実施例の任意選択的な一例では、ネットワークブロック生成モジュールは、サンプリングして得られたネットワーク層を分析し、少なくとも１種類のネットワーク層のタイプ、少なくとも１タイプのネットワーク層の数、および少なくとも１種類のネットワーク層の連結順序を得て、そして得られたネットワーク層を少なくとも１種類のネットワーク層に対応する連結順序に従って、少なくとも１種類のネットワーク層の間の連結関係によって連結して１種類のネットワークブロックを得るために用いられてもよい。
【００８５】
本願のニューラルネットワーク構造の生成装置の別の実施例では、上記各実施例のもとに、ネットワーク出力ユニット５４は、サンプリングニューラルネットワークに対応する正確度に応じてニューラルネットワーク構造をサンプリングする確率ベクトルを調整し、調整後の確率ベクトルによってニューラルネットワーク構造をサンプリングし、１種類の新たなネットワークブロックを生成するために用いられてもよい。
【００８６】
本実施例では、任意選択的に、強化学習という方式でネットワークブロックの構造を調整し、ニューラルネットワークの正確度が設定値に達していない場合、このニューラルネットワーク構造は十分に良好ではなく、返される報酬（ｒｅｗａｒｄ）が少なく、このとき、改めてサンプリングして新たなネットワークブロックを構成し、さらに新たなネットワークブロックでニューラルネットワークを、正確度が標準に達するニューラルネットワークを得るまで、構築する。
【００８７】
本願のニューラルネットワーク構造の生成装置のさらに別の実施例では、上記各実施例のもとに、訓練ユニット５３は、
サンプリングニューラルネットワークを利用してサンプルデータを処理し、処理結果を得るためのネットワーク処理モジュールと、
損失関数を利用し、監督情報でラベル付けされたサンプルデータにラベル付けした監督情報と処理結果との間の誤差値を計算するための誤差計算モジュールと、
サンプリングニューラルネットワークが収束条件を満たすようになるまで、誤差値に基づいてサンプリングニューラルネットワークを訓練するためのネットワーク訓練モジュールと、を含む。
【００８８】
ここで、サンプルデータは監督情報でラベル付けされ、該監督情報はサンプルデータが既知の、該サンプリングニューラルネットワークに対応する処理すべき目標結果であり、訓練して得られたニューラルネットワークの機能はその内容によって決定される。
【００８９】
本実施例では、構築されるニューラルネットワークの構造が特定のタスクデータに適応するように保証し、該ニューラルネットワークが該タスクデータを正確に処理可能であるかどうかを識別するために、該タスクデータの対応するサンプルデータでニューラルネットワークを訓練する必要があり、ニューラルネットワークの訓練プロセスは従来技術における一般的な逆勾配アルゴリズムによって実現してもよく、ニューラルネットワークにおけるパラメータが好適になることを訓練の結果とし、このとき、得られた監督情報と処理結果との間の誤差値によって該ニューラルネットワークの正確度を特定でき、正確度と誤差値は反比例し、誤差値が大きければ大きくなるほど、正確度が小さくなり、該サンプルデータに対する該ニューラルネットワークの処理効果が悪くなり、誤差値が小さければ小さくなるほど、正確度が大きくなり、該サンプルデータに対する該ニューラルネットワークの処理効果が高くなる。
【００９０】
本願のニューラルネットワーク構造の生成装置の上記各実施例の任意選択的な一例では、ネットワーク訓練モジュールは、
損失関数の収束速度が設定値以上であることに応答して、得られた誤差値に応じて、逆勾配アルゴリズムによってサンプリングニューラルネットワークにおけるパラメータを調整し、調整後のサンプリングニューラルネットワークを得て、そして調整後のニューラルネットワークに対応する損失関数の収束速度が設定値よりも小さくなるまで調整し続けるために用いられてもよい。
【００９１】
本願のニューラルネットワーク構造の生成装置の上記各実施例の任意選択的な一例では、ネットワーク訓練モジュールは、
損失関数による誤差値計算回数が設定値よりも小さいことに応じて、得られた誤差値に応じて、逆勾配アルゴリズムによってサンプリングニューラルネットワークにおけるパラメータを調整し、調整後のサンプリングニューラルネットワークを得て、かつ損失関数による誤差値計算回数に１を加え、そして調整後のニューラルネットワークの対応する損失関数による誤差値計算回数が設定値以上になるまで行うために用いられてもよい。
【００９２】
本願のニューラルネットワーク構造の生成装置の上記各実施例の任意選択的な一例では、訓練ユニット５３はさらに、
訓練が完了したサンプリングニューラルネットワークの誤差値にしたがってサンプリングニューラルネットワークの予測正確度を計算して得るための正確度予測モジュールと、
予測正確度に基づき、前記サンプリングニューラルネットワークに対応するネットワーク計算複雑度およびネットワーク密度を予め設定された比率で差し引き、サンプリングニューラルネットワークに対応する正確度を得るための正確度調整モジュールと、を含んでもよい。
【００９３】
本願のニューラルネットワーク構造の生成装置のさらに別の実施例では、上記各実施例のもとに、
サンプリングユニット５１は、ニューラルネットワーク構造をサンプリングし、Ｎ種類のネットワークブロックを生成するために用いられてもよく、
ネットワーク構築ユニット５２は、それぞれＮ種類のネットワークブロックに基づいてＮ個のサンプリングニューラルネットワークを構築するために用いられてもよく、
訓練ユニット５３は、サンプルデータに基づいてＮ個のサンプリングニューラルネットワークをそれぞれ訓練し、Ｎ個のサンプリングニューラルネットワークに対応するＮ個の正確度を得るために用いられてもよく、
ネットワーク出力ユニット５４は、Ｎ個の正確度のうち予め設定された条件を満たす正確度が存在しないことに応答して、新たなネットワークブロックによってそれぞれ構築されたＮ個のサンプリングニューラルネットワークのうち予め設定された条件を満たすニューラルネットワークが存在するようになるまで、それぞれＮ個の正確度に応じてＮ種類の新たなネットワークブロックを再度生成し、予め設定された条件を満たすサンプリングニューラルネットワークを目標ニューラルネットワークとするために用いられてもよく、
ここで、Ｎはゼロよりも大きい整数である。
【００９４】
本実施例では、エージェント（ａｇｅｎｔ）、ネットワーク構造コントローラー（Ｎｅｔｗｏｒｋ  ｓｔｒｕｃｔｕｒｅ  ｃｏｎｔｒｏｌｌｅｒ）および少なくとも１つの訓練ノード（環境変数、ｅｎｖ）を含む分散システムを構築することで複数の異なるニューラルネットワークの同時訓練を実現し、さらにニューラルネットワーク構造の生成速度を向上させ、訓練時間を節約し、ニューラルネットワークの訓練効率を向上させる。
【００９５】
本願のニューラルネットワーク構造の生成装置の上記各実施例の任意選択的な一例では、さらに、
正確度が予め設定された条件を満たすことに応答して、予め設定された条件を満たすサンプリングニューラルネットワークを目標ニューラルネットワークとするための、
または、正確度が予め設定された条件を満たさず、かつニューラルネットワーク構造に対するサンプリングが予め設定された回数に達したことに応答して、現在のサンプリングニューラルネットワークを目標ニューラルネットワークとするための目標ネットワーク判定ユニットを含む。
【００９６】
本願の実施例の一態様によれば、本願のニューラルネットワーク構造の生成装置の各実施例のいずれかを含むプロセッサを含む電子機器が提供される。
【００９７】
本願の実施例の一態様によれば、実行可能命令を記憶するためのメモリと、
メモリと通信して実行可能命令を実行することで本願のニューラルネットワーク構造の生成方法の各実施例のいずれかにおける動作を完了するためのプロセッサと、を含む電子機器が提供される。
【００９８】
本願の実施例の一態様によれば、コンピュータ可読命令を記憶するためのコンピュータ記憶媒体であって、前記命令は実行される時に本願のニューラルネットワーク構造の生成方法の各実施例のいずれかにおける動作を実行するコンピュータ記憶媒体が提供される。
【００９９】
本願の実施例はさらに電子機器を提供し、例えば移動端末、パーソナルコンピュータ（ＰＣ）、タブレット、サーバなどであってもよい。以下に図６を参照すると、本願の実施例の端末機器またはサーバの実現に適する電子機器６００の構成模式図が示される。図６に示すように、コンピュータシステム６００は一つ以上のプロセッサ、通信部などを含み、前記一つ以上のプロセッサは例えば、一つ以上の中央処理装置（ＣＰＵ）６０１、および／または一つ以上の画像処理装置（ＧＰＵ）６１３などであり、プロセッサは読み取り専用メモリ（ＲＯＭ）６０２に記憶されている実行可能命令または記憶部分６０８からランダムアクセスメモリ（ＲＡＭ）６０３にロードされた実行可能命令に従って様々な適当の動作および処理を実行できる。通信部６１２はネットワークカードを含むことができるが、これに限定されず、前記ネットワークカードはＩＢ（Ｉｎｆｉｎｉｂａｎｄ）ネットワークカードを含むことができるが、これに限定されず、プロセッサは読み取り専用メモリ６０２および／またはランダムアクセスメモリ６０３と通信して実行可能命令を実行し、バス６０４を介して通信部６１２と連結し、通信部６１２によって他の目標機器と通信し、それにより本願の実施例が提供するいずれか一項の方法の対応する動作、例えば、ニューラルネットワーク構造をサンプリングし、少なくとも１つのネットワーク層が含まれるネットワークブロックを生成することと、ネットワークブロックに基づいてサンプリングニューラルネットワークを構築することと、サンプルデータに基づいてサンプリングニューラルネットワークを訓練し、サンプリングニューラルネットワークに対応する正確度を得ることと、正確度が予め設定された条件を満たさないことに応答して、正確度に応じて新たなネットワークブロックを、それが構築するサンプリングニューラルネットワークが予め設定された条件を満たすようになるまで再度生成し、予め設定された条件を満たすサンプリングニューラルネットワークを目標ニューラルネットワークとすることと、を完了することができる。
【０１００】
また、ＲＡＭ６０３には、装置の動作に必要な種々のプログラムおよびデータを記憶することができる。ＣＰＵ６０１、ＲＯＭ６０２およびＲＡＭ６０３はバス６０４を介して互いに連結される。ＲＡＭ６０３が存在する場合、ＲＯＭ６０２は任意選択的なモジュールとなる。ＲＡＭ６０３は実行可能命令を記憶するか、または動作時にＲＯＭ６０２へ実行可能命令を書き込み、実行可能命令によってプロセッサ６０１は上記通信方法の対応する動作を実行する。入力／出力（Ｉ／Ｏ）インタフェース６０５もバス６０４に連結される。通信部６１２は統合設置してもよく、また複数のサブモジュール（例えば複数のＩＢネットワークカード）を有するように設置してもよく、かつバスリンクに存在する。
【０１０１】
キーボード、マウスなどを含む入力部分６０６、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）などおよびスピーカーなどを含む出力部分６０７、ハードディスクなどを含む記憶部分６０８、およびＬＡＮカード、モデムのネットワークインタフェースカードなどを含む通信部分６０９といった部品は、Ｉ／Ｏインタフェース６０５に連結される。通信部分６０９はインタネットのようなネットワークによって通信処理を実行する。ドライバ６１０も必要に応じてＩ／Ｏインタフェース６０５に連結される。取り外し可能な媒体６１１、例えば磁気ディスク、光ディスク、磁気光ディスク、半導体メモリなどは、必要に応じてドライバ６１０に取り付けられ、それによってそこから読み出されたコンピュータプログラムが必要に応じて記憶部分６０８にインストールされる。
【０１０２】
なお、図６に示すアーキテクチャは任意選択的な一実施形態に過ぎず、任意選択的な実践では、実際の必要に応じて上記図６の部品数およびタイプを選択、減少、増加または交換することができ、異なる機能部品の設置上でも、分離設置または統合設置などの実施形態を採用でき、例えばＧＰＵとＣＰＵは分離設置するかまたはＧＰＵをＣＰＵに統合するようにしてもよく、通信部は分離設置するか、またＣＰＵやＧＰＵに統合設置することなども可能であることを説明する必要がある。これらの置換可能な実施形態はいずれも本願が開示した保護範囲に属する。
【０１０３】
特に、本願の実施例によれば、フローチャートを参照しながら上述したプロセスはコンピュータソフトウェアプログラムとして実現可能である。例えば、本願の実施例はコンピュータプログラム製品を含み、それは機械可読媒体に有形に具現化された、フローチャートに示す方法を実行するためのプログラムコードを含むコンピュータプログラムを含み、プログラムコードは本願の実施例が提供する方法のステップを対応して実行する対応の命令、例えば、ニューラルネットワーク構造をサンプリングし、少なくとも１つのネットワーク層が含まれるネットワークブロックを生成することと、ネットワークブロックに基づいてサンプリングニューラルネットワークを構築することと、サンプルデータに基づいてサンプリングニューラルネットワークを訓練し、サンプリングニューラルネットワークに対応する正確度を得ることと、正確度が予め設定された条件を満たさないことに応答して、正確度に応じて新たなネットワークブロックを、それが構築するサンプリングニューラルネットワークが予め設定された条件を満たすようになるまで再度生成し、予め設定された条件を満たすサンプリングニューラルネットワークを目標ニューラルネットワークとすることと、を含んでもよい。このような実施例では、該コンピュータプログラムは通信部分６０９によってネットワークからダウンロードおよびインストールされ、および／または取り外し可能な媒体６１１からインストールされ得る。該コンピュータプログラムは中央処理装置（ＣＰＵ）６０１により実行される時、本願の方法で限定された上記機能を実行する。
【０１０４】
本明細書における様々な実施例は漸進的に説明され、各実施例は他の実施例との相違点に集中して説明したが、各実施例間の同一または類似の部分については相互に参照すればよい。システム実施例については、それは基本的に方法実施例に対応するので、説明は比較的簡単であり、関連部分は方法実施例の説明の一部を参照すればよい。
【０１０５】
本願の方法および装置は、様々な形態で実現され得る。例えば、ソフトウェア、ハードウェア、ファームウェアまたはソフトウェア、ハードウェア、ファームウェアの任意の組み合わせによって本願の方法および装置を実現することができる。前記方法のステップのための上記順序は説明することのみを目的とし、本願の方法のステップは、特に断らない限り、以上で具体的に説明した順序に限定されない。また、いくつかの実施例では、本願は記録媒体に記憶されたプログラムとしてもよく、これらのプログラムは本願の方法を実現するための機械可読命令を含む。従って、本願は本願の方法を実行するためのプログラムが記憶された記録媒体も含む。
【０１０６】
本願の説明は、例示および説明のために提示されたものであり、網羅的なものでありもしくは開示された形式に本願を限定するというわけでない。当業者にとっては多くの修正および変形を加えることができるのは明らかであろう。実施例は本願の原理および実際の適用をより明瞭に説明するため、かつ当業者が本願を理解して特定用途に適した様々な修正を加えた様々な実施例を設計可能にするように選択され説明されたものである。
【図１】
0006811894.tif 000010
【図２】
0006811894.tif 000011
【図３】
0006811894.tif 000012
【図４】
0006811894.tif 000013
【図５】
0006811894.tif 000014
【図６】
0006811894.tif 000015