(57)【要約】【課題】本発明は、メタ学習ネットワーク訓練装置及び方法を提供する。【解決手段】かかる装置は、タスクニューラルネットワークの複数のタスクネットワーク実例を取得し；各タスクネットワーク実例の損失を取得し；損失に対してサンプリングを行い；総損失を反映する汎化損失を計算し；サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータの勾配を計算し；勾配を１つのメタ学習ネットワークに入力し、重みパラメータの更新値を取得し；更新値に基づいて、タスクネットワーク実例の重みパラメータを更新し；及び、所定条件が満足されるときの汎化損失に基づいて、メタ学習ネットワークを訓練するユニットを含み、更新後のメタ学習ネットワークにより、上述のユニットの処理を、第一反復終了条件が満足されるまで反復して実行する。【選択図】図１
2020144849.tif 000002
【特許請求の範囲】
【請求項１】
メタ学習ネットワーク訓練装置であって、
異なるタスクのための複数のタスクニューラルネットワークのうちの各タスクニューラルネットワークについて、該タスクニューラルネットワークの複数のタスクネットワーク実例を得るタスクネットワーク実例取得ユニットであって、前記異なるタスクが類似性を有するタスクネットワーク実例取得ユニット；
訓練データを用いて、それぞれ、各タスクニューラルネットワークの各タスクネットワーク実例の損失を取得する損失取得ユニット；
前記損失に対してサンプリングを行ってサンプリング後の複数の損失を取得するサンプリングユニット；
前記サンプリング後の複数の損失に基づいて、前記サンプリング後の複数の損失の総損失を反映する汎化損失を計算する汎化損失計算ユニット；
前記汎化損失の、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータに対応する勾配を計算する勾配計算ユニット；
前記勾配を、それぞれ、少なくとも１つのメタ学習ネットワークのうちの１つのメタ学習ネットワークに入力し、それぞれ、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータの更新値を得る学習ユニットであって、前記メタ学習ネットワークが、勾配に対して学習を行うニューラルネットワークである学習ユニット；
前記更新値に基づいて、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータを更新する第一更新ユニット；及び
前記損失取得ユニット、前記サンプリングユニット、前記汎化損失計算ユニット、前記勾配計算ユニット、前記学習ユニット、及び前記第一更新ユニットの処理を反復して実行し、所定条件が満足されるときに、前記所定条件が満足されるときの前記汎化損失に基づいて、タスクネットワーク実例の損失がより小さい方向に向けて前記少なくとも１つのメタ学習ネットワークを訓練することで、更新後の少なくとも１つのメタ学習ネットワークを得る第二更新ユニットを含み、
前記第二更新ユニットの更新後の少なくとも１つのメタ学習ネットワークに基づいて、前記損失取得ユニット、前記サンプリングユニット、前記汎化損失計算ユニット、前記勾配計算ユニット、前記学習ユニット、前記第一更新ユニット、及び前記第二更新ユニットの処理を、第一反復終了条件が満足されるまで反復して実行する、装置。
【請求項２】
請求項1に記載の装置であって、
前記タスクニューラルネットワークは、ユーザにショッピングウェブサイトの品物リストを推薦するためのニューラルネットワーク推薦システムである、装置。
【請求項３】
請求項1に記載の装置であって、
前記タスクネットワーク実例取得ユニットは、前記複数のタスクニューラルネットワークのうちの各タスクニューラルネットワークに対してランダム初期化を行うことで、各タスクニューラルネットワークの前記複数のタスクネットワーク実例を取得する、装置。
【請求項４】
請求項1に記載の装置であって、
前記サンプリングユニットは、ランダムな選択操作により前記損失に対してサンプリングを行うことで、前記サンプリング後の複数の損失を取得し、
前記サンプリング後の複数の損失の数が、前記選択操作の保持確率パラメータにより制御される、装置。
【請求項５】
請求項1に記載の装置であって、
前記汎化損失計算ユニットは、さらに、前記サンプリング後の複数の損失を平均化し、平均後の損失を前記汎化損失とする、装置。
【請求項６】
請求項1に記載の装置であって、
前記勾配計算ユニットは、前記汎化損失の、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例における各ネットワーク層の重みパラメータに対する勾配を計算する、装置。
【請求項７】
請求項6に記載の装置であって、
前記勾配計算ユニットは、前記複数のタスクニューラルネットワークについて取得されたすべてのタスクネットワーク実例のうち、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例以外のタスクネットワーク実例の各ネットワーク層の重みパラメータの勾配をゼロに設定する、装置。
【請求項８】
請求項7に記載の装置であって、
前記メタ学習ネットワークは、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の各ネットワーク層の重みパラメータの前回の更新の状態に基づいて、該層の重みパラメータの更新値を出力する、装置。
【請求項９】
メタ学習ネットワーク訓練方法であって、
異なるタスクのための複数のタスクニューラルネットワークのうちの各タスクニューラルネットワークについて、該タスクニューラルネットワークの複数のタスクネットワーク実例を得るタスクネットワーク実例取得ステップであって、前記異なるタスクが類似性を有するタスクネットワーク実例取得ステップ；
訓練データを用いて、それぞれ、各タスクニューラルネットワークの各タスクネットワーク実例の損失を取得する損失取得ステップ；
前記損失に対してサンプリングを行ってサンプリング後の複数の損失を取得するサンプリングステップ；
前記サンプリング後の複数の損失に基づいて、前記サンプリング後の複数の損失の総損失を反映する汎化損失を計算する汎化損失計算ステップ；
前記汎化損失の、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータに対応する勾配を計算する勾配計算ステップ；
前記勾配を、それぞれ、少なくとも１つのメタ学習ネットワークのうちの１つのメタ学習ネットワークに入力し、それぞれ、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータの更新値を得る学習ステップであって、前記メタ学習ネットワークが、勾配に対して学習を行うニューラルネットワークである学習ステップ；
前記更新値に基づいて、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータを更新する第一更新ステップ；及び
前記損失取得ステップ、前記サンプリングステップ、前記汎化損失計算ステップ、前記勾配計算ステップ、前記学習ステップ及び前記第一更新ステップの処理を反復して実行し、所定条件が満足されるときに、前記所定条件が満足されるときの前記汎化損失に基づいて、タスクネットワーク実例の損失がより小さい方向に向けて前記少なくとも１つのメタ学習ネットワークを訓練することで、更新後の少なくとも１つのメタ学習ネットワークを得る第二更新ステップを含み、
更新後の少なくとも１つのメタ学習ネットワークに基づいて、前記損失取得ステップ、前記サンプリングステップ、前記汎化損失計算ステップ、前記勾配計算ステップ、前記学習ステップ、前記第一更新ステップ、及び前記第二更新ステップの処理を、第一反復終了条件が満足されるまで反復して実行する、方法。
【請求項１０】
請求項1〜8のうちの任意の１項に記載のメタ学習ネットワーク訓練装置の訓練により得られたメタ学習ネットワークを用いて、ニューラルネットワークに対して訓練を行う装置であって、
訓練データを用いて、訓練待ちのニューラルネットワークの損失を得る第二損失取得ユニット；
前記損失の、前記訓練待ちのニューラルネットワークの重みパラメータに対する勾配を計算する第二勾配計算ユニット；
前記勾配を、それぞれ、前記第一反復終了条件が満足されるときに取得された訓練済みの前記少なくとも１つのメタ学習ネットワークのうちの１つのメタ学習ネットワークに入力し、前記訓練待ちのニューラルネットワークの重みパラメータの更新値を得る第二学習ユニット；及び
前記更新値に基づいて、前記訓練待ちのニューラルネットワークの重みパラメータを更新する第三更新ユニットを含み、
前記第二損失取得ユニット、前記第二勾配計算ユニット、前記第二学習ユニット、及び前記第三更新ユニットの処理を、第二反復終了条件が満足されるまで反復して実行する、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理分野に関し、特に、メタ学習ネットワークを訓練する装置及び方法、並びに、訓練により得られたメタ学習ネットワークを用いてニューラルネットワークに対して訓練を行う装置及び方法に関する。
【背景技術】
【０００２】
ニューラルネットワークが学術界及び産業界で幅広く応用されている。時効性があり及びサンプルが少ない応用シナリオにおいて如何にニューラルネットワークの重みパラメータを有効に学習するかが注目されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、従来技術における１つ又は複数の欠点を解決し得るメタ学習ネットワークを訓練する装置及び方法、並びに、訓練により得られたメタ学習ネットワークを用いてニューラルネットワークに対して訓練を行う装置及び方法を提供することにある。
【課題を解決するための手段】
【０００４】
本発明の一側面によれば、メタ学習ネットワークを訓練する装置が提供され、それは、
異なるタスク（task）のための複数のタスクニューラルネットワークのうちの各タスクニューラルネットワークについて、該タスクニューラルネットワークの複数のタスクネットワーク実例（instance）を得るタスクネットワーク実例取得ユニットであって、そのうち、前記異なるタスクが類似性を有するタスクネットワーク実例取得ユニット；
訓練データを用いて、それぞれ、各タスクニューラルネットワークの各タスクネットワーク実例の損失を取得する損失取得ユニット；
前記損失に対してサンプリングを行ってサンプリング後の複数の損失を取得するサンプリングユニット；
前記サンプリング後の複数の損失に基づいて、前記サンプリング後の複数の損失の総損失を反映する汎化損失を計算する汎化損失計算ユニット；
前記汎化損失の、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータに対応する勾配（gradient）を計算する勾配計算ユニット；
前記勾配を少なくとも１つのメタ学習ネットワークのうちの１つのメタ学習ネットワークにそれぞれ入力し、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータの更新値をそれぞれ取得する学習ユニットであって、そのうち、前記メタ学習ネットワークが勾配に対して学習を行うニューラルネットワークである学習ユニット；
前記更新値に基づいて、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータを更新する第一更新ユニット；及び
前記損失取得ユニット、前記サンプリングユニット、前記汎化損失計算ユニット、前記勾配計算ユニット、前記学習ユニット、及び前記第一更新ユニットの処理を反復して行い、所定条件が満足されるときに、前記所定条件が満足されるときの前記汎化損失に基づいて、タスクネットワーク実例の損失がより小さい方向に向けて前記少なくとも１つのメタ学習ネットワークを訓練し、更新後の少なくとも１つのメタ学習ネットワークを得る第二更新ユニットを含み、
前記第二更新ユニットの更新後の少なくとも１つのメタ学習ネットワークに基づいて、前記損失取得ユニット、前記サンプリングユニット、前記汎化損失計算ユニット、前記勾配計算ユニット、前記学習ユニット、前記第一更新ユニット、及び前記第二更新ユニットの処理を、第一反復終了条件が満足されるまで反復して行う。
【０００５】
本発明の他の側面によれば、メタ学習ネットワークを訓練する方法が提供され、それは、
異なるタスクのための複数のタスクニューラルネットワークのうちの各タスクニューラルネットワークについて、該タスクニューラルネットワークの複数のタスクネットワーク実例を得るタスクネットワーク実例取得ステップであって、そのうち、前記異なるタスクが類似性を有するタスクネットワーク実例取得ステップ；
訓練データを用いて、それぞれ、各タスクニューラルネットワークの各タスクネットワーク実例の損失を取得する損失取得ステップ；
前記損失に対してサンプリングを行ってサンプリング後の複数の損失を取得するサンプリングステップ；
前記サンプリング後の複数の損失に基づいて、前記サンプリング後の複数の損失の総損失を反映する汎化損失を計算する汎化損失計算ステップ；
前記汎化損失の、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータに対応する勾配を計算する勾配計算ステップ；
前記勾配をそれぞれ少なくとも１つのメタ学習ネットワークのうちの１つのメタ学習ネットワークに入力し、それぞれ前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータの更新値を得る学習ステップであって、そのうち、前記メタ学習ネットワークが勾配に対して学習を行うニューラルネットワークである学習ステップ；
前記更新値に基づいて、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータを更新する第一更新ステップ；及び
前記損失取得ステップ、前記サンプリングステップ、前記汎化損失計算ステップ、前記勾配計算ステップ、前記学習ステップ、及び前記第一更新ステップの処理を反復して行い、所定条件が満足されるときに、前記所定条件が満足されるときの前記汎化損失に基づいて、使得タスクネットワーク実例の損失がより小さい方向に向けて前記少なくとも１つのメタ学習ネットワークを訓練し、更新後の少なくとも１つのメタ学習ネットワークを得る第二更新ステップを含み、
更新後の少なくとも１つのメタ学習ネットワークに基づいて、前記損失取得ステップ、前記サンプリングステップ、前記汎化損失計算ステップ、前記勾配計算ステップ、前記学習ステップ、前記第一更新ステップ、及び前記第二更新ステップの処理を、第一反復終了条件が満足されるまで反復して行う。
【０００６】
本発明の他の側面によれば、上述のメタ学習ネットワークを訓練する装置の訓練により得られたメタ学習ネットワークを用いてニューラルネットワークに対して訓練を行う装置が提供され、それは、
訓練データを用いて、訓練待ちのニューラルネットワークの損失を得る第二損失取得ユニット；
前記損失の、前記訓練待ちのニューラルネットワークの重みパラメータに対する勾配を計算する第二勾配計算ユニット；
前記勾配を、第一反復終了条件が満足されるときに取得された訓練済みの前記少なくとも１つのメタ学習ネットワークのうちの１つのメタ学習ネットワークにそれぞれ入力し、前記訓練待ちのニューラルネットワークの重みパラメータの更新値を得る第二学習ユニット；及び
前記更新値に基づいて、前記訓練待ちのニューラルネットワークの重みパラメータを更新する第三更新ユニットを含み、
前記第二損失取得ユニット、前記第二勾配計算ユニット、前記第二学習ユニット、及び前記第三更新ユニットの処理を、第二反復終了条件が満足されるまで反復して実行する。
【０００７】
本発明の他の側面によれば、さらに、本発明による上述の方法を実現するためのコンピュータプログラムコード及びコンピュータプログラムプロダクトが提供される。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施例におけるメタ学習ネットワーク訓練装置の構成ブロック図である。
【図２】本発明の実施例におけるタスクニューラルネットワークの構成ブロック図である。
【図３】本発明の実施例におけるメタ学習ネットワーク訓練装置が実行する処理の例示的なアーキテクチャ図である。
【図４】本発明の実施例におけるメタ学習ネットワークが実行する処理の一例を示す図である。
【図５】本発明の実施例におけるマルチタスクネットワーク実例の勾配情報に基づくメタ学習ネットワーク及び伝統のデータに基づくタスクネットワークのシングルタスクに対する２次元損失曲面の上面図である。
【図６】本発明の実施例におけるメタ学習ネットワーク訓練方法の例示的なフローチャートである。
【図７】訓練済みのメタ学習ネットワークを用いてニューラルネットワークに対して訓練を行う装置の構成ブロック図である。
【図８】訓練済みのメタ学習ネットワークを用いてニューラルネットワークに対して訓練を行う方法の例示的なフローチャートである。
【図９】本発明の実施例で採用され得る汎用コンピュータの例示的な構成ブロック図である。
【発明を実施するための形態】
【０００９】
以下、添付した図面を参照しながら、本発明を実施するための好適な形態を詳細に説明する。なお、このような実施形態は、例示に過ぎず、本発明を限定するものでない。
【００１０】
まず、図1に基づいて、本発明の実施例におけるメタ学習ネットワーク訓練装置100の機能ブロック図を説明する。図1は、本発明の実施例におけるメタ学習ネットワーク訓練装置100の構成ブロック図である。図1に示すように、本発明の実施例におけるメタ学習ネットワーク訓練装置100は、タスクネットワーク実例取得ユニット102、損失取得ユニット104、サンプリングユニット106、汎化損失計算ユニット108、勾配計算ユニット110、学習ユニット112、第一更新ユニット114、及び第二更新ユニット116を含む。
【００１１】
タスクネットワーク実例取得ユニット102は、異なるタスクのための複数のタスクニューラルネットワークのうちの各タスクニューラルネットワークについて、該タスクニューラルネットワークの複数のタスクネットワーク実例を取得し、そのうち、異なるタスクは、類似性を有する。
【００１２】
一例として、複数のタスクニューラルネットワークのうちの１つのタスクニューラルネットワークが、英語認識タスクのためのニューラルネットワークであっても良く、複数のタスクニューラルネットワークのうちのもう１つのタスクニューラルネットワークが、フランス語認識タスクのためのニューラルネットワークであっても良く、英語認識タスク及びフランス語認識タスクは、類似性を有する。
【００１３】
一例として、複数のタスクニューラルネットワークのうちの各タスクニューラルネットワークがすべて、情感（emotion）を分類するためのニューラルネットワークシステムである。
【００１４】
一例として、複数のタスクニューラルネットワークのうちの各タスクニューラルネットワークがすべて、ユーザにウェブサイトにおける品物リストを推薦するためのニューラルネットワーク推薦システムである。例えば、品物リストは、商品リストを含んでも良い。
【００１５】
一例として、複数のタスクニューラルネットワークのうちの各タスクニューラルネットワークがすべて、ユーザに映画・テレビウェブサイトの番組リストを推薦するためのニューラルネットワーク推薦システムである。
【００１６】
また、一例として、複数のタスクニューラルネットワークのうちの各タスクニューラルネットワークがすべて、ユーザにショッピングウェブサイトの品物リストを推薦するためのニューラルネットワーク推薦システムである。
【００１７】
図2は、本発明の実施例におけるタスクニューラルネットワークの構成ブロック図である。
【００１８】
図2では、Q1:n-1=[Q1,Q2,…,Qn-1]がコンテクスト基本ユニット索引シーケンスであり、各Qi（i=1,2,…,n-1）が基本ユニットの索引番号を表し、そのうち、タスクニューラルネットワークがユーザにショッピングウェブサイトの品物リストを推薦するための推薦ニューラルネットワークである場合、コンテクスト基本ユニットは、閲覧の品物の名称である。嵌入層が基本ユニット索引番号を低次元連続非スパースワード（non-sparse  word）ベクトルに変換する。回帰型ニューラルネットワーク（一例として、回帰型ニューラルネットワークが長・短期記憶ネットワークLSTMであっても良い）がコンテクスト基本ユニット索引シーケンスに対応するワードベクトルシーケンスを入力とし、ループ展開により、Qn-1に対応するn-1の位置のコンテクスト特徴hn-1を出力し、そのうち、h0が初期特徴である。アフィン層がhn-1を基本ユニット辞典と同じ次元のベクトルOn-1に変換する。そのうち、現在のタスクニューラルネットワークの重みパラメータ下のOn-1が推薦の品物に対応し、次の１つの基本ユニット（Qnに対応するユニット）のワンホットベクトルベクトルがリアルな閲覧の品物に対応する。
【００１９】
一例として、異なるタスクが類似性を有するとは、タスクのビジネスシーンが相似していることを指し、例えば、異なるタスクのタスクニューラルネットワークの入力が相似しており、及び／又は、異なるタスクのタスクニューラルネットワークの出力が相似しており、或いは、異なるタスクのタスクニューラルネットワークの構成が相似している。
【００２０】
図3は、本発明の実施例におけるメタ学習ネットワーク訓練装置100が実行する処理の示例的なアーキテクチャ図である。
【００２１】
図3に示すように、N個のタスク、即ち、タスク1、タスク2、……、タスクNがあるとする。そのうち、タスク1、タスク2、……、タスクNは、類似性を有する。
【００２２】
各タスクニューラルネットワークについて複数のタスクネットワーク実例を得ることで、ニューラルネットワークのサンプルが少ない問題を有効に解決しており、後述のメタ学習ネットワークに、より多くの入力サンプルを提供することができる。
【００２３】
好ましくは、タスクネットワーク実例取得ユニット102は、複数のタスクニューラルネットワークのうちの各タスクニューラルネットワークに対してランダム初期化を行うことで、各タスクニューラルネットワークの複数のタスクネットワーク実例を取得するように構成され得る。
【００２４】
一例として、タスクニューラルネットワークがユーザにショッピングウェブサイトの品物リストを推薦するための推薦ニューラルネットワークシステムである場合、各タスクニューラルネットワークの複数のタスクネットワーク実例は、推薦ニューラルネットワークシステムの実例である。
【００２５】
図3に示すように、タスク1のためのニューラルネットワークのネットワークパラメータに対してランダム初期化を行うことで、タスク1のためのニューラルネットワークの複数のタスクネットワーク実例を取得することができ；タスク2のためのニューラルネットワークのネットワークパラメータに対してランダム初期化を行うことで、タスク2のためのニューラルネットワークの複数のタスクネットワーク実例を取得することができ；及び、タスクNのためのニューラルネットワークのネットワークパラメータに対してランダム初期化を行うことで、タスクNのためのニューラルネットワークの複数のタスクネットワーク実例を取得することができる。図3では、便宜のため、各タスクのためのニューラルネットワークがそれぞれ3個のタスクネットワーク実例を有することが示されている。なお、当業者が理解すべきは、各タスクのためのニューラルネットワークが他の数の複数のタスクネットワーク実例を有しても良いということである。
【００２６】
損失取得ユニット104は、訓練データを用いて、それぞれ、各タスクニューラルネットワークの各タスクネットワーク実例の損失を取得するように構成され得る。
【００２７】
一例として、タスクニューラルネットワークがユーザにショッピングウェブサイトの品物リストを推薦するための推薦ニューラルネットワークシステムである場合、損失取得ユニット104は、各推薦ニューラルネットワークシステムの実例の損失を取得するように構成され得る。
【００２８】
一例として、損失取得ユニット104では、各タスクニューラルネットワークの訓練集合中の訓練データを用いて、この分野における通常の損失計算関数、例えば、softmaxなどにより、それぞれ、各タスクニューラルネットワークの各タスクネットワーク実例の損失を取得することができる。
【００２９】
各タスクのためのタスクニューラルネットワークがそれぞれ同じ数のタスクネットワーク実例を有する場合、すべてのタスクネットワーク実例の損失により１つの損失行列を構成することができ、この行列は、列の数がタスクの個数であり、行の数がタスクニューラルネットワークの実例の個数である。
【００３０】
図3に示す例では、“損失”がつくキューブ（方塊）がそれぞれ各タスクネットワーク実例の損失を表し、これらの損失は、１つの損失行列を構成し、行列の列の数は、タスクの個数Nであり、行の数は、各タスクニューラルネットワークの実例の個数、即ち、3である。
【００３１】
サンプリングユニット106は、損失に対してサンプリングを行うことで、サンプリング後の複数の損失を取得するように構成され得る。
【００３２】
一例として、タスクニューラルネットワークがユーザにショッピングウェブサイトの品物リストを推薦するための推薦ニューラルネットワークシステムである場合、サンプリングユニット106は、推薦ニューラルネットワークシステムの実例の損失に対してサンプリングを行うように構成され得る。
【００３３】
後述のように、サンプリング後の複数の損失に対応するタスクネットワーク実例の勾配を後述のメタ学習ネットワークの入力とし、この場合、損失に対してサンプリングを行うことは、メタ学習ネットワークのメタ情報としての勾配に対して選択的フィルタリングを行うことに相当し、これにより、メタ学習ネットワークのロバストネスを大幅に向上させることができる。
【００３４】
好ましくは、サンプリングユニット106は、ランダム選択操作により損失に対してサンプリングを行うことで、前記サンプリング後の複数の損失を取得するように構成され得る。そのうち、サンプリング後の複数の損失の数が、選択操作の保持確率パラメータにより制御される。
【００３５】
一例として、ランダム選択操作が当業者に周知のdropout操作であっても良く、サンプリング後の複数の損失の数がdropout操作の保持確率パラメータにより制御される。
【００３６】
ランダム選択操作、例えば、dropout操作により損失に対してサンプリングを行うことは、メタ学習ネットワークのメタ情報としての勾配に対してランダムな選択性フィルタリングを行うことに相当し、これにより、メタ学習ネットワークのロバストネスをさらに向上させることができる。
【００３７】
図3では、“ランダム選択操作”に対応する損失の図示において、灰色キューブでサンプリング後の複数の損失を示し、白色キューブでサンプリングされない（即ち、選択されない）損失を示す。
【００３８】
汎化損失計算ユニット108は、サンプリング後の複数の損失に基づいて、サンプリング後の複数の損失の総損失を反映する汎化損失を計算するように構成され得る。
【００３９】
一例として、タスクニューラルネットワークがユーザにショッピングウェブサイトの品物リストを推薦するための推薦ニューラルネットワークシステムである場合、汎化損失計算ユニット108は、推薦ニューラルネットワークシステムの実例のサンプリング後の損失の汎化損失を計算するように構成され得る。
【００４０】
好ましくは、汎化損失計算ユニット108は、さらに、サンプリング後の複数の損失に対して平均化を行い、平均化後の損失を汎化損失とするように構成され得る。複数のタスクネットワーク実例の損失を計算する時間長に差がある。一例として、さらに、損失を計算する時間が最も短いタスクネットワーク実例の損失を汎化損失とすることができる。なお、当業者が理解すべきは、サンプリング後の複数の損失に対して他の処理を行った後の結果を汎化損失としても良いということであるが、ここでは、詳しい説明を省略する。
【００４１】
勾配計算ユニット110は、汎化損失の、サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータに対する勾配を計算するように構成され得る。
【００４２】
具体的には、汎化損失の、サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータに関する偏導（partial  derivative）を求めた結果を勾配とする。
【００４３】
タスクネットワーク実例学習プロセスが、本質的に、タスクネットワーク実例の重みパラメータを連続して更新することで、汎化損失をできるだけ小さくするプロセスである。上述の勾配は、タスクネットワーク実例の重みパラメータの更新の方向を制御するために用いされても良く、また、上述の勾配は、さらに、タスクネットワーク実例の重みパラメータの更新の幅を制御するもできる。
【００４４】
好ましくは、勾配計算ユニット110は、汎化損失の、サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例における各ネットワーク層の重みパラメータに対する勾配を計算するように構成され得る。
【００４５】
一例として、タスクニューラルネットワークが複数のネットワーク層を含んでも良く（例えば、タスクニューラルネットワークが畳み込みニューラルネットワークである場合、畳み込みニューラルネットワークは、複数の畳み込み層、複数の全結合層などを含んでも良い）、これにより、タスクネットワーク実例も、それ相応に、複数のネットワーク層を含む。タスクネットワーク実例の重みパラメータの学習とは、タスクネットワーク実例における各ネットワーク層の重みパラメータを学習することである。よって、勾配計算ユニット110は、汎化損失の、サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例における各ネットワーク層の重みパラメータに対する勾配を計算する必要がある。
【００４６】
好ましくは、勾配計算ユニット110は、複数のタスクニューラルネットワークについて取得されたすべてのタスクネットワーク実例のうち、サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例以外のタスクネットワーク実例の各ネットワーク層の重みパラメータの勾配をゼロ（zero）に設定するように構成され得る。
【００４７】
図3では、“勾配”に対応するキューブのうち、灰色キューブが、汎化損失の、サンプリング後の損失に対応するタスクネットワーク実例における或る層の重みパラメータに対する勾配を示し、サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例以外のタスクネットワーク実例の各ネットワーク層の重みパラメータの勾配をゼロに設定し、また、値がゼロである勾配は、白色キューブで示される。
【００４８】
学習ユニット112は、勾配を少なくとも１つのメタ学習ネットワークのうちの１つのメタ学習ネットワークにそれぞれ入力することで、サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータの更新値をそれぞれ取得するように構成され得る。そのうち、メタ学習ネットワークは、勾配に対して学習を行うニューラルネットワークである。
【００４９】
上述のように、タスクネットワーク実例学習プロセスは、タスクネットワーク実例の各ネットワーク層の重みパラメータを連続して更新することで汎化損失をできるだけ小さくするプロセスとして具現化することができる。
【００５０】
タスクネットワーク実例における１つのネットワーク層の重みパラメータの更新が、Wi+1=Wi+ΔWと記され得る。そのうち、Wiは、該ネットワーク層の更新前の重みパラメータであり、Wi+1は、該ネットワーク層の更新後の重みパラメータであり、ΔWは、該ネットワーク層の重みパラメータの更新値である。
【００５１】
重みパラメータの更新値ΔWが、ΔW=λ*gradと表され得る。そのうち、λは、学習率であり、重みパラメータの更新の幅を制御するために用いられ、例えば、経験値、又は、実験により確定されるパラメータであり、gradは、汎化損失の、該ネットワーク層の重みパラメータに対する勾配であり、重みパラメータの更新の方向を制御するために用いられ、また、gradは、さらに、重みパラメータの更新の幅を制御するもできる。上述の公式より分かるように、更新値ΔWは、タスクネットワーク実例学習スピードに直接影響する。
【００５２】
本発明の実施例におけるメタ学習ネットワークは、勾配に対して学習を行うニューラルネットワークである。サンプリング後の複数の損失に対応するタスクネットワーク実例の各ネットワーク層の勾配gradをメタ学習ネットワークにそれぞれ入力し、メタ学習ネットワークは、該層の重みパラメータの更新値ΔWを出力することができる。
【００５３】
好ましくは、メタ学習ネットワークは、サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の各ネットワーク層の重みパラメータの前回の更新の状態に基づいて、該層の重みパラメータの更新値を出力することができる。
【００５４】
具体的には、メタ学習ネットワークは、サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の各ネットワーク層の重みパラメータの勾配、及び、該層の重みパラメータの前回の更新により生成された状態ベクトル（初期の状態ベクトルがゼロベクトルである）に基づいて、該層の重みパラメータの更新値、及び、該層の重みパラメータの今回の更新により生成された状態ベクトルを出力する。これで分かるように、前の重みパラメータの更新結果が後の重みパラメータの更新結果に影響を与えることがあるから、重みパラメータの更新は、後効果を有する。
【００５５】
図4は、本発明の実施例におけるメタ学習ネットワークが実行する処理の一例を示す図である。
【００５６】
図4では、サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例における１つのネットワーク層の重みパラメータの勾配gradをメタ学習ネットワークに入力し、そのうち、gradは、１つの２次元行列である。
【００５７】
メタ学習ネットワークでは、まず、前処理操作により２次元行列のgradを行の方向に１次元ベクトルの前処理勾配ベクトルに展開する。
【００５８】
回帰型ニューラルネットワークを用いて重みパラメータの更新の後効果を表すことができ、図4に示すように、複数の回帰型ニューラルネットワーク、例えば、“1”、“2”“3”、“4”、“5”、“6”がつく回帰型ニューラルネットワークが存在するとする。図4では、回帰型ニューラルネットワークが長・短期記憶ネットワークLSTMであることが示されているが、当業者が理解すべきは、回帰型ニューラルネットワークは、さらに、長・短期記憶ネットワーク以外のネットワークであっても良いということである。前処理勾配ベクトル及び回帰型ニューラルネットワークの前回の状態ベクトル（それは、上述の、タスクネットワーク実例の重みパラメータの前回の更新により生成された状態ベクトルに対応し、図4において“前回更新状態”の中の“前回更新状態ベクトル”である）が回帰型ニューラルネットワーク層の入力とされ、一連の回帰型ニューラルネットワークの出力ベクトル（図4において“LSTM出力ベクトル”がつくものである）が出力され、そのうち、回帰型ニューラルネットワークの状態ベクトルがゼロベクトルと統一初期化される。そのうち、前処理勾配ベクトルの各要素が、回帰型ニューラルネットワーク層の重みパラメータをシェアする。なお、同じ類型のネットワーク層のサイズが異なることが原因で、回帰型ニューラルネットワークの内部の入力重みをシェアすることができなくなることがあり、サイズが異なる問題を解決するために、回帰型ニューラルネットワークでは、マルチベクトルにおける各スカラー要素のループ展開及び重みシェアのポリシーを採用している。展開の中間状態（例えば、図4中の斜線を含む小さいブロック（小塊））を保存する必要がなく、展開の最後の１つの位置の状態の出力のみを、今回の更新により生成された状態ベクトル（即ち、図4における“今回更新状態”の中の“今回更新状態ベクトル”である）として保存する必要がある。
【００５９】
続いて、１つの線形変換層により、各回帰型ニューラルネットワークの出力ベクトルをスカラー要素に変換し、そして、すべてのスカラー要素を合併して最終出力ベクトルとする。
【００６０】
最後に、後処理により、最終出力ベクトルを、gradのサイズと同じである行列に変換してΔWとする。
【００６１】
なお、図3では、“前回更新状態”がつくキューブが、それぞれ、各タスクネットワーク実例の前回の更新により生成された状態表し、また、図3では、“サンプリング後のタスクネットワーク実例の前回更新状態”がつくキューブのうち、灰色キューブが、サンプリング後の各タスクネットワーク実例の前回の更新により生成された状態を示し、白色キューブが、タスクネットワーク実例がサンプリングされないことを示す。
【００６２】
第一更新ユニット114は、更新値に基づいて、サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータを更新するように構成され得る。
【００６３】
好ましくは、第一更新ユニット114は、更新値に基づいて、サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例における各ネットワーク層の重みパラメータを更新するように構成され得る。
【００６４】
第二更新ユニット116は、損失取得ユニット104、サンプリングユニット106、汎化損失計算ユニット108、勾配計算ユニット110、学習ユニット112、及び第一更新ユニット114の処理を反復して実行し、所定条件が満足されるときに、前記所定条件が満足されるときの汎化損失に基づいて、タスクネットワーク実例の損失がより小さい方向に向けて前記少なくとも１つのメタ学習ネットワークを訓練することで、更新後の少なくとも１つのメタ学習ネットワークを得るように構成され得る。
【００６５】
具体的には、上述の反復処理を行う前に、まず、前記少なくとも１つのメタ学習ネットワークの重みパラメータを初期化し、一例として、経験に基づいて前記少なくとも１つのメタ学習ネットワークの重みパラメータを初期化し、又は、前記少なくとも１つのメタ学習ネットワークの重みパラメータをランダム初期化し、又は、当業者が想到し得る他の方法で前記少なくとも１つのメタ学習ネットワークの重みパラメータを初期化しても良い。タスクネットワーク実例の重みパラメータを反復して更新するプロセスでは、前記少なくとも１つのメタ学習ネットワークの重みパラメータを固定する。
【００６６】
一例として、上述の所定条件は、所定の反復回数に達することであっても良い。一例として、タスクネットワーク実例の重みパラメータを反復して更新し、所定の反復回数に達したときに、前記複数のタスクネットワーク実例の重みパラメータを固定し、タスクネットワーク実例の損失がより小さい方向に向けて前記少なくとも１つのメタ学習ネットワークを訓練することで、少なくとも１つのメタ学習ネットワークの重みパラメータを更新することができる。
【００６７】
上述のように、本発明の実施例におけるメタ学習ネットワークは、勾配に対して学習を行うニューラルネットワークである。以上に言及されているように、各タスクニューラルネットワークについて複数のタスクネットワーク実例を得ることでニューラルネットワークのサンプルが少ない問題を有効に解決しており、メタ学習ネットワークに、より多くのタスクネットワーク実例の勾配を提供することができる。これらの沢山のタスクネットワーク実例の勾配をメタ学習ネットワークのサンプルデータとしてメタ学習ネットワークに対して訓練を行い、訓練済みのメタ学習ネットワークは、タスクニューラルネットワークの学習更新規則を推定し、効率がより高いタスクニューラルネットワークの重みパラメータの最適化経路を予測し、より優れた重みパラメータの更新値ΔWを計算することで、タスクニューラルネットワークを学習するスピードを加速することができる。また、損失に対してサンプリングを行うことは、メタ学習ネットワークのメタ情報としての勾配に対して選択的フィルタリングを行うことに相当し、これにより、メタ学習ネットワークのロバストネスを大幅に向上させることができる。
【００６８】
好ましくは、前記少なくとも１つのメタ学習ネットワークの数が、複数のタスクニューラルネットワークにおけるネットワーク層の類型の数と同じであり、また、サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の各ネットワーク層の勾配が該層の類型に対応するメタ学習ネットワークに入力される。言い換えると、異なるメタ学習ネットワークをそれぞれ用いて、タスクネットワーク実例における異なる類型のネットワーク層の勾配情報をそれぞれ学習し、また、同じメタ学習ネットワークを用いて、タスクネットワーク実例における同じ類型のネットワーク層の勾配情報を学習する。一例として、タスクニューラルネットワークが畳み込みニューラルネットワークであり、且つ畳み込みニューラルネットワークが複数の畳み込み層及び複数の全結合層を含む場合、第一メタ学習ネットワークを採用して畳み込みニューラルネットワーク実例における前記複数の畳み込み層に関する勾配情報を学習し、また、第一メタ学習ネットワークとは異なる第二メタ学習ネットワークを採用して畳み込みニューラルネットワーク実例における前記複数の全結合層に関する勾配情報を学習する。
【００６９】
図5は、本発明の実施例におけるマルチタスクネットワーク実例の勾配情報に基づくメタ学習ネットワーク及び伝統のデータに基づくタスクネットワークのシングルタスクに対する２次元損失曲面の上面図である。
【００７０】
図5に示す損失曲面では、曲面の色が深いほど、その位置の損失値が小さく、各矢印付き線分が、一回のネットワーク層重みパラメータ更新後の損失降下の方向及びステップ長を表す。そのうち、白い矢印付き線分が構成した経路は、伝統のデータに基づくタスクネットワークの損失降下方式であり、点線枠に含まれる黒い矢印付き線分が構成した経路は、本発明の実施例におけるマルチタスクネットワーク実例の勾配情報に基づくメタ学習ネットワークの損失降下方式である。伝統のデータに基づくタスクネットワークでは、例えば、mini-batchランダム勾配降下法を用いたタスクネットワークでは、比較的小さい損失に収束する速度が往々にして遅い。その原因は、主に、ローカルbatchデータ上の損失に基づいて得られた更新勾配に偏ったものがあり、そのため、毎回のパラメータの更新の方向が必ずしも最適でなく（迂回する可能性がある）、一旦前の更新の偏差が大き過ぎると、収束の速度が遅くなり、収束せず、又は、ローカル最小損失が非常に良くないところに収束することを引き起こすことができる。図5から分かるように、黒色線分が損失の比較的低い点に到達するに必要な更新回数が、データに基づくタスクネットワークの更新回数よりも遥かに小さく、これにより、本発明の実施例におけるマルチタスクネットワーク実例の勾配情報に基づくメタ学習ネットワークは、効率がより高いタスクニューラルネットワークの重みパラメータの最適化経路を予測することできるため、タスクニューラルネットワークを学習するスピードを加速することができる。
【００７１】
本発明の実施例におけるメタ学習ネットワーク訓練装置100では、第二更新ユニット116の更新後の少なくとも１つのメタ学習ネットワークに基づいて、損失取得ユニット104、サンプリングユニット106、汎化損失計算ユニット108、勾配計算ユニット110、学習ユニット112、第一更新ユニット114、及び第二更新ユニット116の処理を、第一反復終了条件が満足されるまで反復して実行する。上述のように、更新後のメタ学習ネットワークにより、効率がより高いタスクニューラルネットワークの重みパラメータの最適化経路を予測し、より良い重みパラメータの更新値ΔWを計算することができるから、第二更新ユニット116の更新後の少なくとも１つのメタ学習ネットワークに基づいて、再び、タスクネットワーク実例の重みパラメータを反復して更新することで、タスクネットワーク実例を学習するスピードを加速することができる。上述のプロセスを繰り返し、即ち、前記複数のタスクネットワーク実例の重みパラメータ、及び、前記少なくとも１つのメタ学習ネットワークのパラメータを、第一反復終了条件が満足されるまで交替に更新する（上述のように、前記複数のタスクネットワーク実例の重みパラメータを反復して更新し、前記所定条件が満足されたときに、前記少なくとも１つのメタ学習ネットワークのパラメータを更新する）。一例として、第一反復終了条件は、所定の反復回数に達すること、汎化損失が収束すること、汎化損失降下がとても小さいこと、汎化損失が上昇することのうちの少なくとも１つであっても良い。第一反復終了条件が満足されるときに得られたメタ学習ネットワークは、新しいタスクニューラルネットワークの学習更新規則をより迅速且つ正確に推定することができ、これにより、新しいタスクニューラルネットワークの迅速な学習を指導するために用いることができる。
【００７２】
従来のパラメータ更新値に基づいて推定されるメタ学習ネットワークでは、各タスク下で１つのタスクネットワーク実例を初期化し、その後、各タスク実例のパラメータ更新規則によりメタ学習ネットワークのパラメータを学習する。しかし、各タスク下で単一のネットワーク実例がタスク規則抽出の不充分を来すことがあり、これにより、マルチタスク下で訓練されたメタ学習ネットワークの、タスクネットワーク実例の重みパラメータに対しての更新値に指導偏差があることを誘発することができ、即ち、マルチタスク下で訓練されたメタ学習ネットワークがより良いタスクネットワーク実例パラメータの更新値を正確に予測できないことを引き起こし得る。例えば、複数のタスクニューラルネットワークがユーザにショッピングウェブサイトの品物リストを推薦するためのニューラルネットワーク推薦システムである場合、ユーザに現在の品物リストを正確に推薦できないことを引き起こす可能性がある。
【００７３】
本発明の実施例におけるメタ学習ネットワーク訓練装置100では、各タスクニューラルネットワークについて複数のタスクネットワーク実例を取得することでニューラルネットワークのサンプルが少ない問題を有効に解決しており、メタ学習ネットワークに、より多くのタスクネットワーク実例の勾配を提供することができ、タスクネットワーク実例の損失に対してサンプリングを行うことでメタ情報としての勾配に対して選択的フィルタリングを行うことにより、メタ学習ネットワークのロバストネスを大幅に向上させることができ、また、該メタ学習ネットワークにより、効率がより高いタスクニューラルネットワークの重みパラメータの最適化経路を予測し、現在のより良いタスクネットワーク実例の重みパラメータの更新値を計算することで、新しいタスクニューラルネットワークの訓練スピードを加速することもできる。例えば、複数のタスクニューラルネットワークがユーザにショッピングウェブサイトの品物リストを推薦するためのニューラルネットワーク推薦システムである場合、ユーザの歴史閲覧記録に基づいて、ユーザに現在の品物リストを迅速且つ正確に推薦することができる。
【００７４】
上述のメタ学習ネットワーク訓練装置の実施例に対応して、本発明は、さらに、以下のようなメタ学習ネットワーク訓練方法の実施例を提供する。
【００７５】
図6は、本発明の実施例におけるメタ学習ネットワーク訓練方法500の例示的なフローチャートである。
【００７６】
図6に示すように、本発明の実施例におけるメタ学習ネットワーク訓練方法500は、タスクネットワーク実例取得ステップS502、損失取得ステップS504、サンプリングステップS506、汎化損失計算ステップS508、勾配計算ステップS510、学習ステップS512、第一更新ステップS514、及び第二更新ステップS516を含む。
【００７７】
タスクネットワーク実例取得ステップS502では、異なるタスクのための複数のタスクニューラルネットワークのうちの各タスクニューラルネットワークについて、該タスクニューラルネットワークの複数のタスクネットワーク実例を取得し、そのうち、異なるタスクは、類似性を有する。
【００７８】
タスクニューラルネットワーク及びタスクネットワーク実例の詳細な説明について、装置の実施例中のタスクネットワーク実例取得ユニット102に関する記載を参照することができるため、ここでは、重複記載を省略する。
【００７９】
損失取得ステップS504では、訓練データを用いて、それぞれ、各タスクニューラルネットワークの各タスクネットワーク実例の損失を取得する。
【００８０】
一例として、各タスクニューラルネットワークの訓練集合中の訓練データを用いて、この分野における通常の損失計算関数、例えば、softmaxなどにより、それぞれ、各タスクニューラルネットワークの各タスクネットワーク実例の損失を取得することができる。
【００８１】
サンプリングステップS506では、損失に対してサンプリングを行うことでサンプリング後の複数の損失を得る。
【００８２】
サンプリング後の複数の損失に対応するタスクネットワーク実例の勾配をメタ学習ネットワークの入力し、この場合、損失に対してサンプリングを行うことは、メタ学習ネットワークのメタ情報としての勾配に対して選択的フィルタリングを行うことに相当し、これにより、メタ学習ネットワークのロバストネスを大幅に向上させることができる。
【００８３】
好ましくは、サンプリングステップS506では、ランダム選択操作により、損失に対してサンプリングを行うことで、前記サンプリング後の複数の損失を取得し、そのうち、サンプリング後の複数の損失の数が、選択操作の保持確率パラメータにより制御される。
【００８４】
一例として、ランダム選択操作が当業者に周知のdropout操作であり、サンプリング後の複数の損失の数がdropout操作の保持確率パラメータにより制御される。
【００８５】
ランダム選択操作、例えば、dropout操作により損失に対してサンプリングを行うことは、メタ学習ネットワークのメタ情報としての勾配に対してランダムな選択的フィルタリングを行うことに相当し、これにより、メタ学習ネットワークのロバストネスをさらに向上させることができる。
【００８６】
汎化損失計算ステップS508では、サンプリング後の複数の損失に基づいて、サンプリング後の複数の損失の総損失を反映する汎化損失を計算する。
【００８７】
好ましくは、汎化損失計算ステップS508では、サンプリング後の複数の損失に対して平均化を行い、そして、平均化後の損失を汎化損失とする。複数のタスクネットワーク実例の損失計算の時間長に差がある。一例として、さらに、損失計算の時間が最も短いタスクネットワーク実例の損失を汎化損失とする。なお、当業者が理解すべきは、サンプリング後の複数の損失に対して他の処理を行った後の結果を汎化損失としても良いということであるが、ここでは、詳しい説明を省略する。
【００８８】
勾配計算ステップS510では、汎化損失の、サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータに対する勾配を計算する。
【００８９】
タスクネットワーク実例学習プロセスが本質的に、タスクネットワーク実例の重みパラメータを連続して更新することで汎化損失をできるだけ小さくするプロセスである。上述の勾配は、タスクネットワーク実例の重みパラメータの更新の方向を制御するために用いられさても良く、また、上述の勾配は、さらに、タスクネットワーク実例の重みパラメータの更新の幅を制御することもできる。
【００９０】
好ましくは、勾配計算ステップS510では、汎化損失の、サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例における各ネットワーク層の重みパラメータに対する勾配を計算する。
【００９１】
一例として、タスクニューラルネットワークが複数のネットワーク層を含んでも良く（一例として、タスクニューラルネットワークが畳み込みニューラルネットワークである場合、畳み込みニューラルネットワークは、複数の畳み込み層、複数の全結合層などを含んでも良い）、これにより、タスクネットワーク実例も、それ相応に、複数のネットワーク層を含む。タスクネットワーク実例の重みパラメータの学習とは、タスクネットワーク実例における各ネットワーク層の重みパラメータを学習することである。よって、勾配計算ステップS510では、汎化損失の、サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例における各ネットワーク層の重みパラメータに対する勾配を計算する必要がある。
【００９２】
好ましくは、勾配計算ステップS510では、複数のタスクニューラルネットワークについて取得されたすべてのタスクネットワーク実例のうち、サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例以外のタスクネットワーク実例の各ネットワーク層の重みパラメータの勾配をゼロに設定する。
【００９３】
学習ステップS512では、勾配を少なくとも１つのメタ学習ネットワークのうちの１つのメタ学習ネットワークにそれぞれ入力し、サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータの更新値をそれぞれ取得し、そのうち、メタ学習ネットワークは、勾配に対して学習を行うニューラルネットワークである。
【００９４】
好ましくは、メタ学習ネットワークは、サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の各ネットワーク層の重みパラメータの前回の更新の状態に基づいて、該層の重みパラメータの更新値を出力する。
【００９５】
メタ学習ネットワークの詳細な説明について、装置の実施例中の学習ユニット112に関する記載を参照することができるため、ここでは、重複記載を省略する。
【００９６】
第一更新ステップS514では、更新値に基づいて、サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータを更新する。
【００９７】
好ましくは、第一更新ステップS514では、更新値に基づいて、サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例における各ネットワーク層の重みパラメータを更新する。
【００９８】
第二更新ステップS516では、損失取得ステップS504、サンプリングステップS506、汎化損失計算ステップS508、勾配計算ステップS510、学習ステップS512、及び第一更新ステップS514の処理を反復し、所定条件が満足されるときに、前記所定条件が満足されるときの汎化損失に基づいて、タスクネットワーク実例の損失がより小さい方向に向けて前記少なくとも１つのメタ学習ネットワークを訓練することで、更新後の少なくとも１つのメタ学習ネットワークを得る。
【００９９】
具体的には、上述の反復処理を行う前に、まず、前記少なくとも１つのメタ学習ネットワークの重みパラメータを初期化し、一例として、経験に基づいて前記少なくとも１つのメタ学習ネットワークの重みパラメータを初期化し、又は、前記少なくとも１つのメタ学習ネットワークの重みパラメータをランダム初期化し、又は、当業者が想到し得る他の方法で前記少なくとも１つのメタ学習ネットワークの重みパラメータを初期化しても良い。タスクネットワーク実例の重みパラメータを反復して更新するプロセスでは、前記少なくとも１つのメタ学習ネットワークの重みパラメータを固定する。
【０１００】
一例として、上述の所定条件は、所定の反復回数に達することであっても良い。一例として、タスクネットワーク実例の重みパラメータを反復して更新し、所定の反復回数に達したときに、前記複数のタスクネットワーク実例のパラメータを固定し、タスクネットワーク実例の損失がより小さい方向に向けて前記少なくとも１つのメタ学習ネットワークを訓練することで、少なくとも１つのメタ学習ネットワークの重みパラメータを更新することができる。
【０１０１】
上述のように、本発明の実施例におけるメタ学習ネットワークは、勾配に対して学習を行うニューラルネットワークである。各タスクニューラルネットワークについて複数のタスクネットワーク実例を得ることで、ニューラルネットワークのサンプルが少ない問題を有効に解決しており、メタ学習ネットワークに、より多くのタスクネットワーク実例の勾配を提供することができる。これらの沢山のタスクネットワーク実例の勾配をメタ学習ネットワークのサンプルデータとしてメタ学習ネットワークに対して訓練を行い、訓練済みのメタ学習ネットワークは、タスクニューラルネットワークの学習更新規則を推定し、効率がより高いタスクニューラルネットワークの重みパラメータの最適化経路を予測し、より優れた重みパラメータの更新値を計算することで、タスクニューラルネットワークを学習するスピードを加速することができる。また、損失に対してサンプリングを行うことは、メタ学習ネットワークのメタ情報としての勾配に対して選択的フィルタリングを行うことに相当し、これにより、メタ学習ネットワークのロバストネスを大幅に向上させることができる。
【０１０２】
好ましくは、前記少なくとも１つのメタ学習ネットワークの数が、複数のタスクニューラルネットワークにおける層の類型の数と同じであり、また、サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の各ネットワーク層の勾配が該層の類型に対応するメタ学習ネットワークに入力される。言い換えると、異なるメタ学習ネットワークをそれぞれ採用してタスクネットワーク実例における異なる類型のネットワーク層の勾配情報をそれぞれ学習し、また、同じメタ学習ネットワークを採用してタスクネットワーク実例における同じ類型のネットワーク層の勾配情報を学習する。
【０１０３】
本発明の実施例におけるメタ学習ネットワーク訓練方法500では、第二更新ステップS516で更新された後の少なくとも１つのメタ学習ネットワークに基づいて、損失取得ステップS504、サンプリングステップS506、汎化損失計算ステップS508、勾配計算ステップS510、学習ステップS512、第一更新ステップS514、及び第二更新ステップS516の処理を、第一反復終了条件が満足されるまで反復して実行する。上述のように、更新後のメタ学習ネットワークにより、効率がより高いタスクニューラルネットワークの重みパラメータの最適化経路を予測し、より良い重みパラメータの更新値を計算することができるから、第二更新ステップS516で更新された後の少なくとも１つのメタ学習ネットワークに基づいて、再びタスクネットワーク実例の重みパラメータを反復して更新することで、習タスクネットワーク実例を学習するスピードを加速することができる。上述のプロセスを繰り返し、即ち、前記複数のタスクネットワーク実例の重みパラメータ、及び、前記少なくとも１つのメタ学習ネットワークのパラメータを、第一反復終了条件が満足されるまで交替に更新する（上述のように、前記複数のタスクネットワーク実例の重みパラメータを反復して更新し、前記所定条件が満足されたときに、前記少なくとも１つのメタ学習ネットワークのパラメータを更新する）。一例として、第一反復終了条件は、所定の反復回数に達すること、汎化損失が収束すること、汎化損失の降下がとても小さいこと、汎化損失が上昇することのうちの少なくとも１つを含んでも良い。第一反復終了条件が満足されるときに得られたメタ学習ネットワークは、新しいタスクニューラルネットワークの学習更新規則をより迅速且つ正確に推定することができ、これにより、新しいタスクニューラルネットワークの迅速な学習を指導することができる。
【０１０４】
本発明の実施例におけるメタ学習ネットワーク訓練方法500では、各タスクニューラルネットワークについて複数のタスクネットワーク実例を得ることで、ニューラルネットワークのサンプルが少ない問題を有効に解決しており、メタ学習ネットワークに、より多くのタスクネットワーク実例の勾配を提供することができ、タスクネットワーク実例の損失に対してサンプリングを行うことで、メタ情報としての勾配に対して選択的フィルタリングを行うことにより、メタ学習ネットワークのロバストネスを大幅に向上させることができ、また、該メタ学習ネットワークにより、効率がより高いタスクニューラルネットワークの重みパラメータの最適化経路を予測し、現在のより良いタスクネットワーク実例の重みパラメータの更新値を計算することで、新しいタスクニューラルネットワークの訓練スピードを加速することもできる。例えば、複数のタスクニューラルネットワークがユーザにショッピングウェブサイトの品物リストを推薦するためのニューラルネットワーク推薦システムである場合、ユーザの歴史閲覧記録に基づいて、ユーザ推薦に現在の品物リストを迅速且つ正確に推薦することができる。
【０１０５】
本発明は、さらに、上述のメタ学習ネットワーク訓練装置100又はメタ学習ネットワーク訓練方法500の訓練により得られたメタ学習ネットワークを用いて、ニューラルネットワークに対して訓練を行う装置を提供する。図7は、メタ学習ネットワーク訓練装置100又はメタ学習ネットワーク訓練方法500の訓練により得られたメタ学習ネットワークを用いて、ニューラルネットワークに対して訓練を行う装置600の構成ブロック図である。図7に示すように、本発明の実施例における訓練済みのメタ学習ネットワークを用いてニューラルネットワークに対して訓練を行う装置600は、第二損失取得ユニット602、第二勾配計算ユニット604、第二学習ユニット606、及び第三更新ユニット608を含む。
【０１０６】
第二損失取得ユニット602は、訓練データを用いて、訓練待ちのニューラルネットワークの損失を取得するように構成され得る。
【０１０７】
一例として、第二損失取得ユニット602では、この分野における通常の損失計算関数、例えば、softmaxなどを用いて、訓練待ちのニューラルネットワークの損失を取得する。
【０１０８】
第二勾配計算ユニット604は、損失の、訓練待ちのニューラルネットワークの重みパラメータに対しての勾配を計算するように構成され得る。
【０１０９】
訓練待ちのニューラルネットワーク学習プロセスが本質的に、訓練待ちのニューラルネットワークの重みパラメータを連続して更新することで損失をできるだけ小さくするプロセスである。上述の勾配は、訓練待ちのニューラルネットワークの重みパラメータの更新の方向を制御するために用いられても良く、また、上述の勾配は、さらに、訓練待ちのニューラルネットワークの重みパラメータの更新の幅を制御することができる。
【０１１０】
好ましくは、第二勾配計算ユニット604は、損失の、訓練待ちのニューラルネットワークにおける各ネットワーク層の重みパラメータに対する勾配を計算するように構成され得る。
【０１１１】
一例として、訓練待ちのニューラルネットワークが複数のネットワーク層を含んでも良い（例えば、訓練待ちのニューラルネットワークが畳み込みニューラルネットワークである場合、該畳み込みニューラルネットワークは、複数の畳み込み層、複数の全結合層などを含んでも良い）。訓練待ちのニューラルネットワークの重みパラメータの学習とは、訓練待ちのニューラルネットワークにおける各ネットワーク層の重みパラメータを学習することである。よって、第二勾配計算ユニット604は、損失の、訓練待ちのニューラルネットワークにおける各ネットワーク層の重みパラメータに対する勾配を計算する必要がある。
【０１１２】
第二学習ユニット606は、勾配を、前記第一反復終了条件が満足されるときに取得された訓練済みの前記少なくとも１つのメタ学習ネットワークのうちの１つのメタ学習ネットワークにそれぞれ入力し、訓練待ちのニューラルネットワークの重みパラメータの更新値を得るように構成され得る。
【０１１３】
本発明の実施例におけるメタ学習ネットワーク訓練装置100についての説明を参照し、本発明の実施例におけるメタ学習ネットワークは、勾配に対して学習を行うニューラルネットワークである。訓練待ちのニューラルネットワークの各ネットワーク層の勾配をメタ学習ネットワークにそれぞれ入力し、メタ学習ネットワークは、該層の重みパラメータの更新値を出力することができる。好ましくは、第二学習ユニット606は、訓練待ちのニューラルネットワークにおける各ネットワーク層の勾配を、前記少なくとも１つのメタ学習ネットワークのうち、該層の類型に対応する１つのメタ学習ネットワークにそれぞれ入力し、該層の重みパラメータの更新値を得るように構成され得る。
【０１１４】
本発明の実施例におけるメタ学習ネットワーク訓練装置100についての説明を参照し、メタ学習ネットワークの数は、ニューラルネットワークにおける層の類型の数と同じである。一例として、訓練待ちのニューラルネットワークが畳み込みニューラルネットワークであり、且つ該畳み込みニューラルネットワークが複数の畳み込み層及び複数の全結合層を含む場合、第一メタ学習ネットワークを用いて畳み込みニューラルネットワークにおける前記複数の畳み込み層の勾配情報を学習し、また、第一メタ学習ネットワークとは異なる第二メタ学習ネットワークを用いて畳み込みニューラルネットワークにおける前記複数の全結合層の勾配情報を学習する。
【０１１５】
第三更新ユニット608は、更新値に基づいて、訓練待ちのニューラルネットワークの重みパラメータを更新するように構成され得る。
【０１１６】
好ましくは、第三更新ユニット608は、更新値に基づいて、訓練待ちのニューラルネットワークにおける各ネットワーク層の重みパラメータを更新するように構成され得る。
【０１１７】
好ましくは、メタ学習ネットワークは、訓練待ちのニューラルネットワークの各ネットワーク層の重みパラメータの前回の更新の状態に基づいて、該層の重みパラメータの更新値を出力する。
【０１１８】
本発明の実施例におけるメタ学習ネットワーク訓練装置100についての説明を参照し、メタ学習ネットワークは、訓練待ちのニューラルネットワークの重みパラメータの勾配、及び、該層の重みパラメータの前回の更新により生成された状態ベクトルに基づいて、該層の重みパラメータの更新値及び該層の重みパラメータの今回の更新により生成された状態ベクトルを出力する。
【０１１９】
訓練済みのメタ学習ネットワークを用いてニューラルネットワークに対して訓練を行う装置600では、第二損失取得ユニット602、第二勾配計算ユニット604、第二学習ユニット606、及び第三更新ユニット608の処理を、第二反復終了条件が満足されるまで反復して実行する。一例として、第二反復終了条件は、所定の反復回数に達すること、訓練待ちのニューラルネットワークの損失が収束すること、訓練待ちのニューラルネットワークの損失降下がとても小さいこと、訓練待ちのニューラルネットワークの損失が上昇することのうちの少なくとも１つを含んでも良い。第二反復終了条件が満足されるときに、訓練待ちのニューラルネットワークの重みパラメータに対しての訓練を終了し、訓練待ちのニューラルネットワークの最終重みパラメータを得ることができる。
【０１２０】
上述のメタ学習ネットワーク訓練装置100又はメタ学習ネットワーク訓練方法500の訓練により得られたメタ学習ネットワークがロバストネスを有し、また、該メタ学習ネットワークにより、効率がより高いタスクニューラルネットワークの重みパラメータの最適化経路を予測し、現在のより良いタスクネットワーク実例の重みパラメータの更新値を計算することができるので、本発明の実施例における、訓練済みのメタ学習ネットワークを用いてニューラルネットワークに対して訓練を行う装置600では、パフォーマンスが優れたニューラルネットワークを迅速且つ正確に訓練することができる。例えば、訓練待ちのニューラルネットワークがユーザにショッピングウェブサイトの品物リストを推薦するためのニューラルネットワーク推薦システムである場合、ユーザの歴史閲覧記録に基づいて、ユーザに現在の品物リストを迅速且つ正確に推薦することができる。
【０１２１】
上述のメタ学習ネットワーク訓練装置100又はメタ学習ネットワーク訓練方法500の訓練により得られたメタ学習ネットワークを用いてニューラルネットワークに対して訓練を行う装置600の実施例に対応して、本発明は、さらに、メタ学習ネットワーク訓練装置100又はメタ学習ネットワーク訓練方法500の訓練により得られたメタ学習ネットワークを用いてニューラルネットワークに対して訓練を行う方法の実施例を提供する。
【０１２２】
図8は、訓練済みのメタ学習ネットワークを用いてニューラルネットワークに対して訓練を行う方法700の例示的なフローチャートである。
【０１２３】
図8に示すように、本発明の実施例における訓練済みのメタ学習ネットワークを用いてニューラルネットワークに対して訓練を行う方法700は、第二損失取得ステップS702、第二勾配計算ステップS704、第二学習ステップS706、及び第三更新ステップS708を含む。
【０１２４】
第二損失取得ステップS702では、訓練データを用いて、訓練待ちのニューラルネットワークの損失を取得する。
【０１２５】
一例として、第二損失取得ステップS702では、この分野における通常の損失計算関数、例えば、softmaxなどを用いて訓練待ちのニューラルネットワークの損失を得ることができる。
【０１２６】
第二勾配計算ステップS704では、損失の、訓練待ちのニューラルネットワークの重みパラメータに対する勾配を計算する。
【０１２７】
訓練待ちのニューラルネットワーク学習プロセスが本質的に、訓練待ちのニューラルネットワークの重みパラメータを連続して更新することで損失をできるだけ小さくするプロセスである。上述の勾配は、訓練待ちのニューラルネットワークの重みパラメータの更新の方向を制御するために用いられても良く、また、上述の勾配は、さらに、訓練待ちのニューラルネットワークの重みパラメータの更新の幅を制御することができる。
【０１２８】
好ましくは、第二勾配計算ステップS704では、損失の、訓練待ちのニューラルネットワークにおける各ネットワーク層の重みパラメータに対する勾配を計算することができる。
【０１２９】
一例として、訓練待ちのニューラルネットワークが複数のネットワーク層を含んでも良い（例えば、訓練待ちのニューラルネットワークが畳み込みニューラルネットワークである場合、該畳み込みニューラルネットワークは、複数の畳み込み層、複数の全結合層などを含んでも良い）。訓練待ちのニューラルネットワークの重みパラメータの学習とは、訓練待ちのニューラルネットワークにおける各ネットワーク層の重みパラメータを学習することである。よって、第二勾配計算ステップS704では、損失の、訓練待ちのニューラルネットワークにおける各ネットワーク層の重みパラメータ対する勾配を計算する必要がある。
【０１３０】
第二学習ステップS706では、勾配を、前記第一反復終了条件が満足されるときに取得された訓練済みの前記少なくとも１つのメタ学習ネットワークのうちの１つのメタ学習ネットワークにそれぞれ入力し、訓練待ちのニューラルネットワークの重みパラメータの更新値を取得する。
【０１３１】
本発明の実施例におけるメタ学習ネットワーク訓練装置100についての説明を参照し、本発明の実施例におけるメタ学習ネットワークは、勾配に対して学習を行うニューラルネットワークである。訓練待ちのニューラルネットワークの各ネットワーク層の勾配をメタ学習ネットワークにそれぞれ入力し、メタ学習ネットワークは、該層の重みパラメータの更新値を出力することができる。
【０１３２】
好ましくは、第二学習ステップS706では、訓練待ちのニューラルネットワークにおける各ネットワーク層の勾配を、前記少なくとも１つのメタ学習ネットワークのうちの、該層の類型に対応する１つのメタ学習ネットワークにそれぞれ入力し、該層の重みパラメータの更新値を得ることができる。
【０１３３】
対本発明の実施例におけるメタ学習ネットワーク訓練装置100についての説明を参照し、メタ学習ネットワークの数は、ニューラルネットワーク中の層の類型の数と同じである。一例として、訓練待ちのニューラルネットワークが畳み込みニューラルネットワークであり、且つ該畳み込みニューラルネットワークが複数の畳み込み層及び複数の全結合層を含む場合、第一メタ学習ネットワークを用いて畳み込みニューラルネットワークにおける前記複数の畳み込み層の勾配情報を学習し、第一メタ学習ネットワークとは異なる第二メタ学習ネットワークを用いて畳み込みニューラルネットワーク中の前記複数の全結合層の勾配情報を学習する。
【０１３４】
第三更新ステップS708では、更新値に基づいて、訓練待ちのニューラルネットワークの重みパラメータを更新する。
【０１３５】
好ましくは、メタ学習ネットワークは、訓練待ちのニューラルネットワークの各ネットワーク層の重みパラメータの前回の更新の状態に基づいて、該層の重みパラメータの更新値を出力することができる。
【０１３６】
本発明の実施例におけるメタ学習ネットワーク訓練装置100についての説明を参照し、メタ学習ネットワークは、訓練待ちのニューラルネットワークの重みパラメータの勾配、及び該層の重みパラメータの前回の更新により生成された状態ベクトルに基づいて、該層の重みパラメータの更新値、及び該層の重みパラメータの今回の更新により生成される状態ベクトルを出力することができる。
【０１３７】
訓練済みのメタ学習ネットワークを用いてニューラルネットワークに対して訓練を行う方法700では、第二損失取得ステップS702、第二勾配計算ステップS704、第二学習ステップS706、及び第三更新ステップS708の処理を、第二反復終了条件が満足されるまで反復して実行する。一例として、第二反復終了条件は、所定の反復回数に達すること、訓練待ちのニューラルネットワークの損失が収束すること、訓練待ちのニューラルネットワークの損失降下がとても小さいこと、訓練待ちのニューラルネットワークの損失が上昇することのうちの少なくとも１つである。第二反復終了条件が満足されるときに、訓練待ちのニューラルネットワークの重みパラメータに対しての訓練を終了し、訓練待ちのニューラルネットワークの最終重みパラメータを得ることができる。
【０１３８】
上述のメタ学習ネットワーク訓練装置100又はメタ学習ネットワーク訓練方法500の訓練により得られたメタ学習ネットワークがロバストネスを有し、該メタ学習ネットワークにより、効率がより高いタスクニューラルネットワークの重みパラメータの最適化経路を予測し、現在のより優れたタスクネットワーク実例の重みパラメータの更新値を計算することができるから、本発明実施例における、訓練済みのメタ学習ネットワークを用いてニューラルネットワークに対して訓練を行う方法700では、パフォーマンスが良いニューラルネットワークを迅速且つ正確に訓練することができる。例えば、訓練待ちのニューラルネットワークがユーザにショッピングウェブサイトの品物リストを推薦するためのニューラルネットワーク推薦システムである場合、ユーザの歴史閲覧記録に基づいて、ユーザに現在の品物リストを迅速且つ正確に提供することができる。
【０１３９】
また、上述の一連の処理などは、ソフトウェア及び／又はファームウェアにより実現されても良い。ソフトウェア及び／又はファームウェアにより実現される場合、記憶媒体又はネットワークから、専用ハードウェア構造を有するコンピュータ、例えば、図9に示す汎用マシン800（例えば、コンピュータ）に、該ソフトウェアを構成するプログラムをインストールし、該コンピュータは、各種のプログラムがインストールされているときに、各種の機能などを実行することができる。
【０１４０】
図9は、本発明の実施例における方法や装置を実現し得る汎用マシン800の構成ブロック図である。汎用マシン800は、例えば、コンピュータシステムであっても良い。なお、汎用マシン800は、例示に過ぎず、本発明による方法及び装置の応用範囲又は機能について限定しない。また、汎用マシン800は、上述の方法及び装置における任意のモジュールやアセンブリなど又はその組み合わせに依存しない。
【０１４１】
図9では、中央処理装置（CPU）801は、ROM  802に記憶されているプログラム又は記憶部808からRAM  803にロッドされているプログラムに基づいて各種の処理を行う。RAM  803では、ニーズに応じて、CPU  801が各種の処理を行うときに必要なデータなどを記憶することもできる。CPU  801、ROM  802及びRAM  803は、バス804を経由して互いに接続される。入力／出力インターフェース805もバス804に接続される。
【０１４２】
また、入力／出力インターフェース805には、さらに、次のような部品が接続され、即ち、キーボードなどを含む入力部806、液晶表示器（LCD）などのような表示器及びスピーカーなどを含む出力部807、ハードディスクなどを含む記憶部808、ネットワークインターフェースカード、例えば、LANカード、モデムなどを含む通信部809である。通信部809は、例えば、インターネット、LANなどのネットワークを経由して通信処理を行う。
【０１４３】
ドライブ810は、ニーズに応じて、入力／出力インターフェース805に接続されても良い。取り外し可能な媒体811、例えば、半導体メモリなどは、必要に応じて、ドライブ810にセットされることにより、その中から読み取られたコンピュータプログラムを記憶部908にインストールすることができる。
【０１４４】
また、本発明は、さらに、マシン可読指令コードを含むプログラムプロダクトを提供する。このような指令コードは、マシンにより読み取られて実行されるときに、上述の本発明の実施形態における方法を実行することができる。それ相応に、このようなプログラムプロダクトをキャリー（carry）する、例えば、磁気ディスク（フロッピーディスク（登録商標）を含む）、光ディスク（CD-ROM及びDVDを含む）、光磁気ディスク（MD（登録商標）を含む）、及び半導体記憶器などの各種記憶媒体も、本発明に含まれる。
【０１４５】
上述の記憶媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体記憶器などを含んでも良いが、これらに限定されない。
【０１４６】
また、上述の方法における各操作（処理）は、各種のマシン可読記憶媒体に記憶されているコンピュータ実行可能なプログラムの方式で実現することもできる。
【０１４７】
また、以上の実施例などに関し、さらに以下のように付記として開示する。
【０１４８】
（付記1）
メタ学習ネットワーク訓練装置であって、
異なるタスクのための複数のタスクニューラルネットワークのうちの各タスクニューラルネットワークについて、該タスクニューラルネットワークの複数のタスクネットワーク実例を得るタスクネットワーク実例取得ユニットであって、前記異なるタスクが類似性を有するタスクネットワーク実例取得ユニット；
訓練データを用いて、それぞれ、各タスクニューラルネットワークの各タスクネットワーク実例の損失を取得する損失取得ユニット；
前記損失に対してサンプリングを行ってサンプリング後の複数の損失を取得するサンプリングユニット；
前記サンプリング後の複数の損失に基づいて、前記サンプリング後の複数の損失の総損失を反映する汎化損失を計算する汎化損失計算ユニット；
前記汎化損失の、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータに対応する勾配を計算する勾配計算ユニット；
前記勾配を、それぞれ、少なくとも１つのメタ学習ネットワークのうちの１つのメタ学習ネットワークに入力し、それぞれ、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータの更新値を得る学習ユニットであって、前記メタ学習ネットワークが、勾配に対して学習を行うニューラルネットワークである学習ユニット；
前記更新値に基づいて、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータを更新する第一更新ユニット；及び
前記損失取得ユニット、前記サンプリングユニット、前記汎化損失計算ユニット、前記勾配計算ユニット、前記学習ユニット及び前記第一更新ユニットの処理を反復して実行し、所定条件が満足されるときに、前記所定条件が満足されるときの前記汎化損失に基づいて、タスクネットワーク実例の損失がより小さい方向に向けて前記少なくとも１つのメタ学習ネットワークを訓練することで、更新後の少なくとも１つのメタ学習ネットワークを得る第二更新ユニットを含み、
前記第二更新ユニットの更新後の少なくとも１つのメタ学習ネットワークに基づいて、前記損失取得ユニット、前記サンプリングユニット、前記汎化損失計算ユニット、前記勾配計算ユニット、前記学習ユニット、前記第一更新ユニット、及び前記第二更新ユニットの処理を、第一反復終了条件が満足されるまで反復して実行する、装置。
【０１４９】
（付記2）
付記1に記載の装置であって、
前記タスクニューラルネットワークは、ユーザにショッピングウェブサイトの品物リストを推薦するためのニューラルネットワーク推薦システムである、装置。
【０１５０】
（付記3）
付記1に記載の装置であって、
前記タスクネットワーク実例取得ユニットは、前記複数のタスクニューラルネットワークのうちの各タスクニューラルネットワークに対してランダム初期化を行うことで、各タスクニューラルネットワークの前記複数のタスクネットワーク実例を取得する、装置。
【０１５１】
（付記4）
付記1に記載の装置であって、
前記サンプリングユニットは、ランダムな選択操作により前記損失に対してサンプリングを行うことで、前記サンプリング後の複数の損失を取得し、
前記サンプリング後の複数の損失の数が、前記選択操作の保持確率パラメータにより制御される、装置。
【０１５２】
（付記5）
付記1に記載の装置であって、
前記汎化損失計算ユニットは、さらに、前記サンプリング後の複数の損失を平均化し、平均後の損失を前記汎化損失とする、装置。
【０１５３】
（付記6）
付記1に記載の装置であって、
前記勾配計算ユニットは、前記汎化損失の、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例における各ネットワーク層の重みパラメータに対する勾配を計算する、装置。
【０１５４】
（付記7）
付記6に記載の装置であって、
前記勾配計算ユニットは、前記複数のタスクニューラルネットワークについて取得されたすべてのタスクネットワーク実例のうち、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例以外のタスクネットワーク実例の各ネットワーク層の重みパラメータの勾配をゼロに設定する、装置。
【０１５５】
（付記8）
付記7に記載の装置であって、
前記メタ学習ネットワークは、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の各ネットワーク層の重みパラメータの前回の更新の状態に基づいて、該層の重みパラメータの更新値を出力する、装置。
【０１５６】
（付記9）
付記1に記載の装置であって、
前記少なくとも１つのメタ学習ネットワークの数が、前記複数のタスクニューラルネットワークにおける層の類型の数と同じであり、
前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の各ネットワーク層の勾配が、該層の類型に対応するメタ学習ネットワークに入力される、装置。
【０１５７】
（付記10）
メタ学習ネットワーク訓練方法であって、
異なるタスクのための複数のタスクニューラルネットワークのうちの各タスクニューラルネットワークについて、該タスクニューラルネットワークの複数のタスクネットワーク実例を得るタスクネットワーク実例取得ステップであって、前記異なるタスクが類似性を有するタスクネットワーク実例取得ステップ；
訓練データを用いて、それぞれ、各タスクニューラルネットワークの各タスクネットワーク実例の損失を取得する損失取得ステップ；
前記損失に対してサンプリングを行ってサンプリング後の複数の損失を取得するサンプリングステップ；
前記サンプリング後の複数の損失に基づいて、前記サンプリング後の複数の損失の総損失を反映する汎化損失を計算する汎化損失計算ステップ；
前記汎化損失の、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータに対応する勾配を計算する勾配計算ステップ；
前記勾配を、それぞれ、少なくとも１つのメタ学習ネットワークのうちの１つのメタ学習ネットワークに入力し、それぞれ、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータの更新値を得る学習ステップであって、前記メタ学習ネットワークが、勾配に対して学習を行うニューラルネットワークである学習ステップ；
前記更新値に基づいて、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の重みパラメータを更新する第一更新ステップ；及び
前記損失取得ステップ、前記サンプリングステップ、前記汎化損失計算ステップ、前記勾配計算ステップ、前記学習ステップ及び前記第一更新ステップの処理を反復して実行し、所定条件が満足されるときに、前記所定条件が満足されるときの前記汎化損失に基づいて、タスクネットワーク実例の損失がより小さい方向に向けて前記少なくとも１つのメタ学習ネットワークを訓練することで、更新後の少なくとも１つのメタ学習ネットワークを得る第二更新ステップを含み、
更新後の少なくとも１つのメタ学習ネットワークに基づいて、前記損失取得ステップ、前記サンプリングステップ、前記汎化損失計算ステップ、前記勾配計算ステップ、前記学習ステップ、前記第一更新ステップ、及び前記第二更新ステップの処理を、第一反復終了条件が満足されるまで反復して実行する、方法。
【０１５８】
（付記11）
付記10に記載の方法であって、
前記タスクニューラルネットワークは、ユーザにショッピングウェブサイトの品物リストを推薦するためのニューラルネットワーク推薦システムである、方法。
【０１５９】
（付記12）
付記10に記載の方法であって、
前記タスクネットワーク実例取得ステップでは、前記複数のタスクニューラルネットワークのうちの各タスクニューラルネットワークに対してランダム初期化を行うことで、各タスクニューラルネットワークの前記複数のタスクネットワーク実例を得る、方法。
【０１６０】
（付記13）
付記10に記載の方法であって、
前記サンプリングユニットでは、ランダムな選択操作により前記損失に対してサンプリングを行うことで、前記サンプリング後の複数の損失を取得し、
前記サンプリング後の複数の損失の数が、前記選択操作の保持確率パラメータにより制御される、方法。
【０１６１】
（付記14）
付記10に記載の方法であって、
前記汎化損失計算ステップでは、さらに、前記サンプリング後の複数の損失を平均化し、平均化後の損失を前記汎化損失とする、方法。
【０１６２】
（付記15）
付記10に記載の方法であって、
前記勾配計算ステップでは、前記汎化損失の、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例における各ネットワーク層の重みパラメータに対する勾配を計算する、方法。
【０１６３】
（付記16）
付記15に記載の方法であって、
前記勾配計算ステップでは、前記複数のタスクニューラルネットワークについて取得されたすべてのタスクネットワーク実例のうち、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例以外のタスクネットワーク実例の各ネットワーク層の重みパラメータの勾配をゼロに設定する、方法。
【０１６４】
（付記17）
付記16に記載の方法であって、
前記メタ学習ネットワークは、前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の各ネットワーク層の重みパラメータの前回の更新の状態に基づいて、該層の重みパラメータの更新値を出力する、方法。
【０１６５】
（付記18）
付記10に記載の方法であって、
前記少なくとも１つのメタ学習ネットワークの数が、前記複数のタスクニューラルネットワーク中の層の類型の数と同じであり、
前記サンプリング後の複数の損失のうちの各損失に対応するタスクネットワーク実例の各ネットワーク層の勾配が、該層の類型に対応するメタ学習ネットワークに入力される、方法。
【０１６６】
（付記19）
付記1〜9のうちの任意の１項に記載のメタ学習ネットワーク訓練装置の訓練により得られたメタ学習ネットワークを用いて、ニューラルネットワークに対して訓練を行う装置であって、
訓練データを用いて、訓練待ちのニューラルネットワークの損失を得る第二損失取得ユニット；
前記損失の、前記訓練待ちのニューラルネットワークの重みパラメータに対する勾配を計算する第二勾配計算ユニット；
前記勾配を、それぞれ、前記第一反復終了条件が満足されるときに取得された訓練済みの前記少なくとも１つのメタ学習ネットワークのうちの１つのメタ学習ネットワークに入力し、前記訓練待ちのニューラルネットワークの重みパラメータの更新値を得る第二学習ユニット；及び
前記更新値に基づいて、前記訓練待ちのニューラルネットワークの重みパラメータを更新する第三更新ユニットを含み、
前記第二損失取得ユニット、前記第二勾配計算ユニット、前記第二学習ユニット及び前記第三更新ユニットの処理を、第二反復終了条件が満足されるまで反復して実行する、装置。
【０１６７】
（付記20）
付記19に記載の装置であって、
前記訓練待ちのニューラルネットワークにおける各ネットワーク層の勾配が、前記少なくとも１つのメタ学習ネットワークのうち、該層の類型に対応するメタ学習ネットワークに入力される、装置。
【０１６８】
以上、本発明の好ましい実施形態を説明したが、本発明はこの実施形態に限定されず、本発明の趣旨を離脱しない限り、本発明に対するあらゆる変更は、本発明の技術的範囲に属する。
【図１】
2020144849.tif 000003
【図２】
2020144849.tif 000004
【図３】
2020144849.tif 000005
【図４】
2020144849.tif 000006
【図５】
2020144849.tif 000007
【図６】
2020144849.tif 000008
【図７】
2020144849.tif 000009
【図８】
2020144849.tif 000010
【図９】
2020144849.tif 000011