(57)【要約】      （修正有）【課題】適応的学習率でニューラルネットワークを学習する方法及び装置において、ニューラルネットワークの学習に所要される時間を最小化する。【解決手段】学習装置１００において、学習のイテレーション累積回数が第１ないし第ｎ特定値の中の一つに到達するたびに、学習状況に応じたロスグラディエントを参照して、学習率変更割合調整のための定数であるガンマを調整し、調整されたガンマによる学習率を調整することで、一度の学習により最適な学習率を調整する。【選択図】図３
2020077392.tif 000002
【特許請求の範囲】
【請求項１】
学習のイテレーション（ｉｔｅｒａｔｉｏｎ）累積回数が第１ないし第ｎ特定値の中の一つに到達するたびに学習率を調整して、ニューラルネットワーク（ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）を学習させる方法において、
（ａ）学習装置が、学習率の変更比率調整のための定数である第１ガンマを予め設定した状態で、（ｉ）前記イテレーションの累積回数が第１特定値以下を満足している間には、トレーニングデータの一部を利用して第１予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第１学習プロセスを遂行し、（ｉｉ）前記第１学習プロセスによって取得された前記ニューラルネットワークの第１ロスを参照して前記第１ガンマを第２ガンマに変更する段階；
（ｂ）前記学習装置が、ｋを２から（ｎ−１）まで増加させながら、（ｂ１）前記イテレーション累積回数が第（ｋ−１）特定値超過及び第ｋ特定値以下を満足している間には、前記トレーニングデータの一部を利用して第ｋ学習率で前記ニューラルネットワークの前記学習を繰り返す第ｋ学習プロセスを遂行して、（ｂ２）（ｉ）前記第ｋ学習プロセスによって取得された前記ニューラルネットワークの第ｋロスを参照して第ｋガンマを第（ｋ＋１）ガンマに変更し、（ｉｉ）前記第（ｋ＋１）ガンマを利用して第ｋ学習率を第（ｋ＋１）学習率に変更し、（ｂ３）前記イテレーションの累積回数が第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第（ｋ＋１）学習率で前記ニューラルネットワークの前記学習を繰り返す第（ｋ＋１）学習プロセスを遂行する段階；
を含むことを特徴とする学習方法。
【請求項２】
前記（ｂ）段階で、
前記学習装置は、第ｋロスグラディエントを参照して前記第ｋガンマを第（ｋ＋１）ガンマに変更し、前記第ｋロスグラディエントは、前記ニューラルネットワークの（ｉ）前記第ｋロス及び（ｉｉ）第（ｋ−１）ロスを参照して算出され、前記第（ｋ−１）ロスは、前記イテレーションの累積回数が第（ｋ−２）特定値超過及び第（ｋ−１）特定値以下を満足している間、前記トレーニングデータの一部を利用して前記ニューラルネットワークの前記学習を繰り返す第（ｋ−１）学習プロセスによって取得されることを特徴とする請求項１に記載の学習方法。
【請求項３】
前記学習装置は、前記第ｋロスグラディエントが予め設定された最小ロスグラディエント以上である場合、前記第ｋガンマと前記第ｋロスグラディエントとを掛け算して算出された結果を参照にして、前記第（ｋ＋１）ガンマを決定することを特徴とする請求項２に記載の学習方法。
【請求項４】
前記学習装置は、前記第ｋロスグラディエントが予め設定された最小ロスグラディエント未満である場合、前記第（ｋ＋１）ガンマが前記第ｋガンマに決定されることを特徴とする請求項２に記載の学習方法。
【請求項５】
前記学習装置は、前記第（ｋ−１）ロスの和に対する前記第ｋロスの和の比率を前記第ｋロスグラディエントに決定することを特徴とする請求項２に記載の学習方法。
【請求項６】
前記（ｂ）段階で、
前記学習装置は、前記第ｋ学習率と前記第（ｋ＋１）ガンマとを掛け算して算出された結果を前記第（ｋ＋１）学習率に決定することを特徴とする請求項１に記載の学習方法。
【請求項７】
前記トレーニングデータの中の前記一部それぞれがバッチデータであり、
前記イテレーションの累積回数が前記第１特定値以下を満足している間に利用される前記バッチデータの数は、前記第１学習プロセスの間のイテレーション回数と同一に決定され、
前記イテレーション累積回数が前記第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間に利用される前記バッチデータの数は、前記第（ｋ＋１）学習プロセスの間のイテレーション回数と同様に決定されることを特徴とする請求項１に記載の学習方法。
【請求項８】
前記イテレーションの累積回数が前記第１特定値以下を満足している間に利用された前記バッチデータ数は、前記イテレーションの累積回数が前記第ｋ特定値超過及び前記（ｋ＋１）特定値以下を満足している間に利用されたバッチデータの数と同一であることを特徴とする請求項７に記載の学習方法。
【請求項９】
前記ニューラルネットワークは、（ｉ）トレーニングデータに少なくとも一つのコンボリューション演算を適用して、少なくとも一つの特徴マップを出力するようにする少なくとも一つのコンボリューションレイヤ（ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｌａｙｅｒ）、（ｉｉ）前記特徴マップ上でのＲＯＩ（Ｒｅｇｉｏｎ  Ｏｆ  Ｉｎｔｅｒｅｓｔ）に対応する領域をプーリングして算出された、少なくとも一つの特徴ベクトルに少なくとも一つのＦＣ（Ｆｕｌｌｙ  ｃｏｎｎｅｃｔｅｄ）演算を適用して、前記トレーニングデータに含まれた少なくとも一つの物体に対応する確率値を算出するようにする少なくとも一つのＦＣレイヤ（ＦＣ  ｌａｙｅｒ）、及び（ｉｉｉ）前記ＦＣレイヤから算出された前記確率値に対応する、少なくとも一つのクラススコア及び少なくとも一つのリグレッションデルタを算出する出力レイヤ（ｏｕｔｐｕｔ  ｌａｙｅｒ）を含み、
前記学習装置が、前記出力レイヤの少なくとも一つの算出結果とこれに対応するＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）とを参照して計算したロスを利用してバックプロパゲーションすることにより、前記ＦＣレイヤ及び前記コンボリューションレイヤを学習する場合、前記学習装置は、前記第１学習率ないし前記第ｋ学習率を参照して、前記ＦＣレイヤ及び前記コンボリューションレイヤの少なくとも一つのパラメータの変動幅を決定することを特徴とする請求項１に記載の学習方法。
【請求項１０】
（ｉ）前記トレーニングデータの中の前記一部それぞれがバッチデータで、（ｉｉ）前記イテレーションの累積回数が前記第１特定値以下を満足している間に利用される前記バッチデータの数は、前記第１学習プロセスの間のイテレーション回数と同一に決定され、（ｉｉｉ）前記イテレーション累積回数が前記第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間に利用される前記バッチデータの数は、前記第（ｋ＋１）学習プロセスの間のイテレーション回数と同一に決定される場合、 前記学習装置は、前記それぞれのバッチデータに対応する前記出力レイヤの少なくとも一つの各算出結果と、それに対応する前記ＧＴとを参照して計算したロスを利用してバックプロパゲーションすることにより、前記ＦＣレイヤ及び前記コンボリューションレイヤを学習することを特徴とする請求項９に記載の学習方法。
【請求項１１】
学習のイテレーション累積回数が第１ないし第ｎ特定値の中の一つに到達するたびに学習率を調整して、ニューラルネットワーク（ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）をテストする方法において、
（ａ）学習装置が、（Ｉ）学習率の変更比率調整のための定数である第１ガンマを予め設定した状態で、（ｉ）前記イテレーションの累積回数が第１特定値以下を満足している間には、トレーニングデータの一部を利用して、第１予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第１学習プロセスを遂行し、（ｉｉ）前記第１学習プロセスによって取得された前記ニューラルネットワークの第１ロスを参照して、前記第１ガンマを第２ガンマに変更するプロセス；（ＩＩ）前記学習装置が、ｋを２から（ｎ−１）まで増加させながら、（ｉ）前記イテレーションの累積回数が第（ｋ−１）特定値超過及び第ｋ特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第ｋ学習率で前記ニューラルネットワークの前記学習を繰り返す第ｋ学習プロセスを遂行し、（ｉｉ）（ｉｉ−１）前記第ｋ学習プロセスによって取得された前記ニューラルネットワークの第ｋロスを参照して第ｋガンマを第（ｋ＋１）ガンマに変更し、（ｉｉ−２）前記第（ｋ＋１）ガンマを利用して第ｋ学習率を第（ｋ＋１）学習率に変更し、（ｉｉｉ）前記イテレーションの累積回数が第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第（ｋ＋１）学習率で前記ニューラルネットワークの前記学習を繰り返す第（ｋ＋１）学習プロセス；を経て、前記学習装置のパラメータを取得した状態で、前記学習装置のパラメータを利用したテスト装置が、前記ニューラルネットワークにテストデータを入力する段階；及び
（ｂ）前記テスト装置が、前記ニューラルネットワークをもって、第１学習率ないし第（ｋ＋１）学習率によって学習されたパラメータを利用して、テストデータの演算した結果を出力する段階；
を含むことを特徴とするテスト方法。
【請求項１２】
前記（ＩＩ）プロセスで、
前記学習装置は、第ｋロスグラディエントを参照して前記第ｋガンマを第（ｋ＋１）ガンマに変更し、前記第ｋロスグラディエントは、前記ニューラルネットワークの（ｉ）前記第ｋロス及び（ｉｉ）第（ｋ−１）ロスを参照して算出され、前記第（ｋ−１）ロスは、前記イテレーションの累積回数が第（ｋ−２）特定値超過及び第（ｋ−１）特定値以下を満足している間、前記トレーニングデータの一部を利用して前記ニューラルネットワークの前記学習を繰り返す、第（ｋ−１）学習プロセスによって取得されることを特徴とする請求項１１に記載のテスト方法。
【請求項１３】
前記学習装置は、前記第ｋロスグラディエントが予め設定された最小ロスグラディエント以上である場合、前記第ｋガンマと前記第ｋロスグラディエントとを掛け算して算出された結果を参照にして、前記第（ｋ＋１）ガンマを決定することを特徴とする請求項１２に記載のテスト方法。
【請求項１４】
前記ニューラルネットワークは、（ｉ）トレーニングデータに少なくとも一つのコンボリューション演算を適用して、少なくとも一つの特徴マップを出力させる少なくとも一つのコンボリューションレイヤ（ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｌａｙｅｒ）、（ｉｉ）前記特徴マップ上でのＲＯＩ（Ｒｅｇｉｏｎ  Ｏｆ  Ｉｎｔｅｒｅｓｔ）に対応する領域をプーリングして算出された、少なくとも一つの特徴ベクトルに少なくとも一つのＦＣ（Ｆｕｌｌｙ  ｃｏｎｎｅｃｔｅｄ）演算を適用して、前記トレーニングデータに含まれた少なくとも一つの物体に対応する確率値を算出するようにする少なくとも一つのＦＣレイヤ（ＦＣ  ｌａｙｅｒ）、及び  （ｉｉｉ）前記ＦＣレイヤから算出された前記確率値に対応する、少なくとも一つのクラススコア及び少なくとも一つのリグレッションデルタを算出する出力レイヤ（ｏｕｔｐｕｔ  ｌａｙｅｒ）を含み、
前記出力レイヤの少なくとも一つの算出結果とこれに対応するＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）とを参照して計算したロスを利用してバックプロパゲーションをすることで、前記ＦＣレイヤ及び前記コンボリューションレイヤを学習する場合、前記学習装置は、前記第１学習率ないし前記第ｋ学習率を参照して、前記ＦＣレイヤ及び前記コンボリューションレイヤの少なくとも一つのパラメータの変動幅を決定することを特徴とする請求項１１に記載のテスト方法。
【請求項１５】
（ｉ）前記トレーニングデータの中の前記一部それぞれがバッチデータで、（ｉｉ）前記イテレーションの累積回数が前記第１特定値以下を満足している間に利用される前記バッチデータの数は、前記第１学習プロセスの間のイテレーション回数と同一に決定され、（ｉｉｉ）前記イテレーションの累積回数が前記第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間に利用する前記バッチデータの数は、前記第（ｋ＋１）学習プロセスの間のイテレーション回数と同様に決定される場合、前記学習装置は、前記それぞれのバッチデータに対応される前記出力レイヤの少なくとも一つの各算出結果と、それに対応される前記ＧＴとを参照して計算したロスを利用してバックプロパゲーションすることで、前記ＦＣレイヤ及び前記コンボリューションレイヤを学習することを特徴とする請求項１４に記載のテスト方法。
【請求項１６】
学習のイテレーション累積回数が第１ないし第ｎ特定値の中の一つに到達するたびに学習率を調整して、ニューラルネットワーク（ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）を学習させる学習装置において、
トレーニングデータを取得する通信部；及び
（Ｉ）学習率の変更比率調整のための定数である第１ガンマを予め設定した状態で、（ｉ）前記イテレーションの累積回数が第１特定値以下を満足している間には、トレーニングデータの一部を利用して第１予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第１学習プロセスを遂行し、（ｉｉ）前記第１学習プロセスによって取得された前記ニューラルネットワークの第１ロスを参照して前記第１ガンマを第２ガンマに変更するプロセス、（ＩＩ）ｋを２から（ｎ−１）まで増加させながら、（ＩＩ−１）前記イテレーションの累積回数が第（ｋ−１）特定値超過及び第ｋ特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第ｋ学習率で前記ニューラルネットワークの前記学習を繰り返す第ｋ学習プロセスを遂行し、（ＩＩ−２）（ｉ）前記第ｋ学習プロセスによって取得された前記ニューラルネットワークの第ｋロスを参照して第ｋガンマを第（ｋ＋１）ガンマに変更し、（ｉｉ）前記第（ｋ＋１）ガンマを利用して第ｋ学習率を第（ｋ＋１）学習率に変更し、（ＩＩ−３）前記イテレーションの累積回数が第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間には、前記トレーニングデータの一部を利用して第（ｋ＋１）学習率で前記ニューラルネットワークの前記学習を繰り返す第（ｋ＋１）学習プロセスを遂行するプロセスを遂行するプロセッサ；
を含むことを特徴とする学習装置。
【請求項１７】
前記（ＩＩ）プロセスで、
前記プロセッサは、第ｋロスグラディエントを参照して前記第ｋガンマを第（ｋ＋１）ガンマに変更し、前記第ｋロスグラディエントは、前記ニューラルネットワークの（ｉ）前記第ｋロス及び（ｉｉ）第（ｋ−１）ロスを参照して算出され、前記第（ｋ−１）ロスは、前記イテレーションの累積回数が第（ｋ−２）特定値超過及び第（ｋ−１）特定値以下を満足している間、前記トレーニングデータの一部を利用して前記ニューラルネットワークの前記学習を繰り返す第（ｋ−１）学習プロセスによって取得されることを特徴とする請求項１６に記載の学習装置。
【請求項１８】
前記プロセッサは、前記第ｋロスグラディエントが予め設定された最小ロスグラディエント以上である場合、前記第ｋガンマと前記第ｋロスグラディエントとを掛け算して算出された結果を参照にして、前記第（ｋ＋１）ガンマを決定することを特徴とする請求項１７に記載の学習装置。
【請求項１９】
前記プロセッサは、前記第ｋロスグラディエントが予め設定された最小ロスグラディエント未満の場合、前記第（ｋ＋１）ガンマが前記第ｋガンマに決定されることを特徴とする請求項１７に記載の学習装置。
【請求項２０】
前記プロセッサは、前記第（ｋ−１）ロスの和に対する前記第ｋロスの和の比率を前記第ｋロスグラディエントに決定することを特徴とする請求項１７に記載の学習装置。
【請求項２１】
前記（ＩＩ）プロセスで、
前記プロセッサは、前記学習率と前記第（ｋ＋１）ガンマとを掛け算して算出された結果を前記第（ｋ＋１）学習率に決定することを特徴とする請求項１６に記載の学習装置。
【請求項２２】
前記トレーニングデータの中の前記一部それぞれがバッチデータであり、
前記イテレーションの累積回数が前記第１特定値以下を満足している間に利用される前記バッチデータの数は、前記第１学習プロセスの間のイテレーション回数と同一に決定され、
前記イテレーション累積回数が前記第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間に利用される前記バッチデータの数は、前記第（ｋ＋１）学習プロセスの間のイテレーション回数と同一に決定されることを特徴とする請求項１６に記載の学習装置。
【請求項２３】
前記イテレーションの累積回数が前記第１特定値以下を満足している間に利用された前記バッチデータ数が、前記イテレーションの累積回数が前記第ｋ特定値超過及び前記（ｋ＋１）特定値以下を満足している間に利用されたバッチデータの数と同一であることを特徴とする請求項２２に記載の学習装置。
【請求項２４】
前記ニューラルネットワークは、（ｉ）トレーニングデータに少なくとも一つのコンボリューション演算を適用して、少なくとも一つの特徴マップを出力するようにする少なくとも一つのコンボリューションレイヤ（ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｌａｙｅｒ）、（ｉｉ）前記特徴マップ上でのＲＯＩ（Ｒｅｇｉｏｎ  Ｏｆ  Ｉｎｔｅｒｅｓｔ）に対応する領域をプーリングして算出された、少なくとも一つの特徴ベクトルに少なくとも一つのＦＣ（Ｆｕｌｌｙ  ｃｏｎｎｅｃｔｅｄ）演算を適用して、前記トレーニングデータに含まれた少なくとも一つの物体に対応する確率値を算出するようにする少なくとも一つのＦＣレイヤ（ＦＣ  ｌａｙｅｒ）、及び（ｉｉｉ）前記ＦＣレイヤから算出された前記確率値に対応する、少なくとも一つのクラススコア及び少なくとも一つのリグレッションデルタを算出する出力レイヤ（ｏｕｔｐｕｔ  ｌａｙｅｒ）を含み、
前記プロセッサが、前記出力レイヤの少なくとも一つの算出結果とこれに対応するＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）とを参照して計算したロスを利用してバックプロパゲーションすることで、前記ＦＣレイヤ及び前記コンボリューションレイヤを学習する場合、前記プロセッサは、前記第１学習率ないし前記第ｋ学習率を参照して、前記ＦＣレイヤ及び前記コンボリューションレイヤの少なくとも一つのパラメータの変動幅を決定することを特徴とする請求項１６に記載の学習装置。
【請求項２５】
（ｉ）前記トレーニングデータの中の前記一部それぞれがバッチデータで、（ｉｉ）前記イテレーションの累積回数が前記第１特定値以下を満足している間に利用される前記バッチデータの数は、前記第１学習プロセスの間のイテレーション回数と同一に決定され、（ｉｉｉ）前記イタレーションの累積回数が前記第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間に利用される前記バッチデータの数は、前記第（ｋ＋１）学習プロセスの間のイタレーション回数と同様に決定される場合、前記プロセッサは、前記それぞれのバッチデータに対応される前記出力レイヤの少なくとも一つの各算出結果と、それに対応される前記ＧＴとを参照して計算したロスを利用してバックプロパゲーションすることで、前記ＦＣレイヤ及び前記コンボリューションレイヤを学習することを特徴とする請求項２４に記載の学習装置。
【請求項２６】
学習のイテレーション累積回数が第１ないし第ｎ特定値の中の一つに到達するたびに学習率を調整して、ニューラルネットワーク（ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）を学習させるテスト装置において、
トレーニングデータを取得する通信部；及び
（Ｉ）学習率の変更比率調整のための定数である第１ガンマを予め設定した状態で、（ｉ）前記イテレーションの累積回数が第１特定値以下を満足している間には、トレーニングデータの一部を利用して第１予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第１学習プロセスを遂行し、（ｉｉ）前記第１学習プロセスによって取得された前記ニューラルネットワークの第１ロスを参照して前記第１ガンマを第２ガンマに変更するプロセス、（ＩＩ）ｋを２から（ｎ−１）まで増加させながら、（ｉ）前記イテレーションの累積回数が第（ｋ−１）特定値超過及び第ｋ特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第ｋ学習率で前記ニューラルネットワークの前記学習を繰り返す第ｋ学習プロセスを遂行し、（ｉｉ）（ｉｉ−１）前記第ｋ学習プロセスによって取得された前記ニューラルネットワークの第ｋロスを参照して第ｋガンマを第（ｋ＋１）ガンマに変更し、（ｉｉ−２）前記第（ｋ＋１）ガンマを利用して第ｋ学習率を第（ｋ＋１）学習率に変更し、（ｉｉｉ）前記イテレーションの累積回数が第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第（ｋ＋１）学習率で前記ニューラルネットワークの前記学習を繰り返す第（ｋ＋１）学習プロセスを遂行するプロセス；を経て、前記学習装置のパラメータを遂行した状態で、（１）前記学習装置のパラメータを利用して、前記ニューラルネットワークにテストデータを入力するプロセス；及び（２）前記ニューラルネットワークをもって、第１学習率ないし第（ｋ＋１）学習率によって学習されたパラメータを利用して、テストデータの演算した結果を出力するプロセス；を遂行するプロセッサ；
を含むことを特徴とするテスト装置。
【請求項２７】
前記（ＩＩ）プロセスで、
前記プロセッサは、第ｋロスグラディエントを参照して前記第ｋガンマを第（ｋ＋１）ガンマに変更し、前記第ｋロスグラディエントは、前記ニューラルネットワークの（ｉ）前記第ｋロス及び（ｉｉ）第（ｋ−１）ロスを参照して算出され、前記第（ｋ−１）ロスは、前記イテレーションの累積回数が第（ｋ−２）特定値超過及び第（ｋ−１）特定値以下を満足している間、前記トレーニングデータの一部を利用して前記ニューラルネットワークの前記学習を繰り返す第（ｋ−１）学習プロセスによって取得されることを特徴とする請求項２６に記載のテスト装置。
【請求項２８】
前記プロセッサは、前記第ｋロスグラディエントが予め設定された最小ロスグラディエント以上である場合、前記第ｋガンマと前記第ｋロスグラディエントとを掛け算して算出された結果を参照にして、前記第（ｋ＋１）ガンマを決定することを特徴とする請求項２７に記載のテスト装置。
【請求項２９】
前記ニューラルネットワークは、（ｉ）トレーニングデータに少なくとも一つのコンボリューション演算を適用して、少なくとも一つの特徴マップを出力するようにする少なくとも一つのコンボリューションレイヤ（ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｌａｙｅｒ）、（ｉｉ）前記特徴マップ上でのＲＯＩ（Ｒｅｇｉｏｎ  Ｏｆ  Ｉｎｔｅｒｅｓｔ）に対応する領域をプーリングして算出された、少なくとも一つの特徴ベクトルに少なくとも一つのＦＣ（Ｆｕｌｌｙ  ｃｏｎｎｅｃｔｅｄ）演算を適用して、前記トレーニングデータに含まれた少なくとも一つの物体に対応する確率値を算出するようにする少なくとも一つのＦＣレイヤ（ＦＣ  ｌａｙｅｒ）、及び（ｉｉｉ）前記ＦＣレイヤから算出された前記確率値に対応する、少なくとも一つのクラススコア及び少なくとも一つのリグレッションデルタを算出する出力レイヤ（ｏｕｔｐｕｔ  ｌａｙｅｒ）を含み、
前記出力レイヤの少なくとも一つの算出結果とこれに対応するＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）とを参照して計算したロスを利用してバックプロパゲーションをすることで、前記ＦＣレイヤ及び前記コンボリューションレイヤを学習する場合、前記学習装置は、前記第１学習率ないし前記第ｋ学習率を参照して、前記ＦＣレイヤ及び前記コンボリューションレイヤの少なくとも一つのパラメータの変動幅を決定することを特徴とする請求項２６に記載のテスト装置。
【請求項３０】
（ｉ）前記トレーニングデータの中の前記一部それぞれがバッチデータで、（ｉｉ）前記イテレーションの累積回数が前記第１特定値以下を満足している間に利用される前記バッチデータの数は、前記第１学習プロセスの間のイテレーション回数と同一に決定され、（ｉｉｉ）前記イテレーションの累積回数が前記第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間に利用される前記バッチデータの数は、前記第（ｋ＋１）学習プロセスの間のイテレーション回数と同様に決定される場合、前記学習装置は、前記それぞれのバッチデータに対応される前記出力レイヤの少なくとも一つの各算出結果と、それに対応される前記ＧＴとを参照して計算したロスを利用してバックプロパゲーションすることで、前記ＦＣレイヤ及び前記コンボリューションレイヤを学習することを特徴とする請求項２９に記載のテスト装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、適応的学習率でニューラルネットワークを学習する方法及び装置、これを利用してニューラルネットワークをテストする方法及び装置に関する。具体的には、学習のイテレーション累積回数が第１ないし第ｎ特定値の中の一つに到達するたびに学習率を調整して、ニューラルネットワーク（ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）を学習させる方法において、（ａ）学習装置が、学習率の変更比率調整のための定数である第１ガンマを予め設定した状態で、（ｉ）前記イテレーションの累積回数が第１特定値以下を満足している間には、トレーニングデータの一部を利用して、第１予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第１学習プロセスを遂行し、（ｉｉ）前記第１学習プロセスによって取得された前記ニューラルネットワークの第１ロスを参照して、前記第１ガンマを第２ガンマに変更する段階；（ｂ）前記学習装置が、ｋを２から（ｎ−１）まで増加させながら、（ｂ１）前記イテレーションの累積回数が第（ｋ−１）特定値超過及び第ｋ特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第ｋ学習率で前記ニューラルネットワークの前記学習を繰り返す第ｋ学習プロセスを遂行し、（ｂ２）（ｉ）前記第ｋ学習プロセスによって取得された前記ニューラルネットワークの第ｋロスを参照して第ｋガンマを第（ｋ＋１）ガンマに変更し、（ｉｉ）前記第（ｋ＋１）ガンマを利用して第ｋ学習率を第（ｋ＋１）学習率に変更し、（ｂ３）前記イテレーションの累積回数が第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第（ｋ＋１）学習率で前記ニューラルネットワークの前記学習を繰り返す第（ｋ＋１）学習プロセスを遂行する段階；を含むことを特徴とする学習方法及び装置、そしてこれを利用したテスト方法及び装置に関する。
【背景技術】
【０００２】
近年、マシンラーニングを用いて物体の識別等を行う方法についての研究が行われている。このようなマシンラーニングの一つとして、入力レイヤと出力レイヤの間に複数の隠しレイヤを有する神経網を利用したマシンラーニングであるディープランニングは高い識別能力を有している。
【０００３】
そして、このようなディープランニングを利用するニューラルネットワークは、一般的に一つ以上のロスを利用したバックプロパゲーションにより学習を行う。
【０００４】
しかし、バックプロパゲーションによるニューラルネットワークの学習では、学習率、すなわち一つ以上のパラメータにロスを反映する比率を小さくするほどさらに精巧な学習が可能であるが、学習に多くの時間が必要となるデメリットがある。
【０００５】
したがって、従来は一定回数の繰り返し学習を行った上で、学習率を一定量減少させる方式でニューラルネットワークを学習させる。すなわち、初期学習では、学習率を大きくしてパラメータの変動幅を大きくすることにより早い学習となるようにし、以後、段階的に学習率を減少してパラメータの変動幅を小さくすることで微細調整がなされるようにする。
【０００６】
このような従来のニューラルネットワークを学習する方法を、図１ａと図１ｂに基づいて説明する。
【０００７】
まず、ニューラルネットワークの学習率に対する初期定数値を設定する。
【０００８】
この際、初期定数値は、（ｉ）初期学習率である基本学習率（ｌｒ）、（ｉｉ）学習率を変更するためのイテレーション（ｉｔｅｒａｔｉｏｎ）単位であるステップ（ｓｔｅｐ）、及び（ｉｉｉ）学習率変更比率の調整のための定数であるガンマ（ｇａｍｍａ）を含み得る。ここで、イテレーションは一つのバッチデータを利用した学習の繰り返し回数であり得る。
【０００９】
学習率は、次の数式１で表される。
［数式１］
2020077392.tif 000003
【００１０】
図１ａは、例示的に基本学習率（ｌｒ）を０．０１、ステップを１００，０００、ガンマを０．１に設定した状態での学習率が変更される状態を図示したものであり、図１ｂは、図１ａでの変更される学習率を利用してニューラルネットワークを学習する状態でのロスの変更状態を図示したものである。
【００１１】
図１ａを参照すれば、初期から１００，０００イテレーションまでは基本学習率である０．０１の学習率を利用して、イテレーションごとにそれぞれのロスを参照したバックプロパゲーションによってニューラルネットワークを学習する。そして、イテレーションの累積回数が１００，０００になると、数式１によって学習率を０．００１に変更した後、２００，０００イテレーションまで学習する。また、イテレーションの累積回数が２００，０００に到達すれば、数式１によって学習率を０．０００１に変更して、次のステップ、つまり、３００，０００イテレーションまで変更された０．０００１の学習率を利用して、ニューラルネットワークを学習する。同一の方法によって、それぞれのステップごとに数式１によって学習率を変更し、その後、ステップまで変更された学習率を利用してニューラルネットワークを学習する過程を繰り返す。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
だが、こうした従来の学習方法は、図１ｂから分かるように、ロスとは関係なく、学習率を一定に減少させることで、学習率を決定する定数であるステップやガンマの最適値を数回の実験によって見つけなければならないという難点がある。
【００１３】
また、ステップやガンマの最適値を探した場合でも、学習のための学習データが変更されたり、ニューラルネットワークのネットワーク構造が変更される場合、学習がうまくいくステップやガンマの最適値を再び探さなくてはならないという問題点がある。
【００１４】
また、ステップやガンマの最適値を見つけるためには、何度かの試行錯誤を経なければならないので、一つのニューラルネットワークを学習して最適の結果を見いだすまでに多くの時間と努力が必要だという問題点がある。
【００１５】
本発明は、前述した問題点を全て解決することを目的とする。
【００１６】
本発明は、学習状況を反映して学習率を最適に調整できるようにすることを他の目的とする。
【００１７】
本発明は、学習状況におけるロスを参照して学習率を調整することにより、一度の学習によって学習率を最適に調整できるようにすることをまた他の目的とする。
【００１８】
本発明は、学習状況に応じたロスグラディエントを参照して、学習率変更割合調整のための定数であるガンマを調整し、調整されたガンマによる学習率の調整をすることで、一度の学習による最適な学習率の調整を可能とすることをまた他の目的とする。
【課題を解決するための手段】
【００１９】
前記のような本発明の目的を達成し、後述する本発明の特徴的な効果を実現するための、本発明の特徴的な構成は下記の通りである。
【００２０】
本発明の一態様によれば、学習のイテレーション（ｉｔｅｒａｔｉｏｎ）累積回数が第１ないし第ｎ特定値の中の一つに到達するたびに学習率を調整して、ニューラルネットワーク（ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）を学習させる方法において、（ａ）学習装置が、学習率の変更比率調整のための定数である第１ガンマを予め設定した状態で、（ｉ）前記イテレーションの累積回数が第１特定値以下を満足している間には、トレーニングデータの一部を利用して第１予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第１学習プロセスを遂行し、（ｉｉ）前記第１学習プロセスによって取得された前記ニューラルネットワークの第１ロスを参照して前記第１ガンマを第２ガンマに変更する段階；（ｂ）前記学習装置が、ｋを２から（ｎ−１）まで増加させながら、（ｂ１）前記イテレーション累積回数が第（ｋ−１）特定値超過及び第ｋ特定値以下を満足している間には、前記トレーニングデータの一部を利用して第ｋ学習率で前記ニューラルネットワークの前記学習を繰り返す第ｋ学習プロセスを遂行して、（ｂ２）（ｉ）前記第ｋ学習プロセスによって取得された前記ニューラルネットワークの第ｋロスを参照して第ｋガンマを第（ｋ＋１）ガンマに変更し、（ｉｉ）前記第（ｋ＋１）ガンマを利用して第ｋ学習率を第（ｋ＋１）学習率に変更し、（ｂ３）前記イテレーションの累積回数が第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第（ｋ＋１）学習率で前記ニューラルネットワークの前記学習を繰り返す第（ｋ＋１）学習プロセスを遂行する段階；を含むことを特徴とする学習方法が提供される。
【００２１】
一例として、前記（ｂ）段階で、前記学習装置は、第ｋロスグラディエントを参照して前記第ｋガンマを第（ｋ＋１）ガンマに変更し、前記第ｋロスグラディエントは、前記ニューラルネットワークの（ｉ）前記第ｋロス及び（ｉｉ）第（ｋ−１）ロスを参照して算出され、前記第（ｋ−１）ロスは、前記イテレーションの累積回数が第（ｋ−２）特定値超過及び第（ｋ−１）特定値以下を満足している間、前記トレーニングデータの一部を利用して前記ニューラルネットワークの前記学習を繰り返す第（ｋ−１）学習プロセスによって取得されることを特徴とする学習方法が提供される。
【００２２】
一例として、前記学習装置は、前記第ｋロスグラディエントが予め設定された最小ロスグラディエント以上である場合、前記第ｋガンマと前記第ｋロスグラディエントとを掛け算して算出された結果を参照にして、前記第（ｋ＋１）ガンマを決定することを特徴とする学習方法が提供される。
【００２３】
一例として、前記学習装置は、前記第ｋロスグラディエントが予め設定された最小ロスグラディエント未満である場合、前記第（ｋ＋１）ガンマが前記第ｋガンマに決定されることを特徴とする 学習方法が提供される。
【００２４】
一例として、前記学習装置は、前記第（ｋ−１）ロスの和に対する前記第ｋロスの和の比率を前記第ｋロスグラディエントに決定することを特徴とする学習方法が提供される。
【００２５】
一例として、前記（ｂ）段階で、前記学習装置は、前記第ｋ学習率と前記第（ｋ＋１）ガンマとを掛け算して算出された結果を前記第（ｋ＋１）学習率に決定することを特徴とする学習方法が提供される。
【００２６】
一例として、前記トレーニングデータの中の前記一部それぞれがバッチデータであり、前記イテレーションの累積回数が前記第１特定値以下を満足している間に利用される前記バッチデータの数は、前記第１学習プロセスの間のイテレーション回数と同一に決定され、前記イテレーション累積回数が前記第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間に利用される前記バッチデータの数は、前記第（ｋ＋１）学習プロセスの間のイテレーション回数と同様に決定されることを特徴とする学習方法が提供される。
【００２７】
一例として、前記イテレーションの累積回数が前記第１特定値以下を満足している間に利用された前記バッチデータ数は、前記イテレーションの累積回数が前記第ｋ特定値超過及び前記（ｋ＋１）特定値以下を満足している間に利用されたバッチデータの数と同一であることを特徴とする学習方法が提供される。
【００２８】
一例として、前記ニューラルネットワークは、（ｉ）トレーニングデータに少なくとも一つのコンボリューション演算を適用して、少なくとも一つの特徴マップを出力するようにする少なくとも一つのコンボリューションレイヤ（ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｌａｙｅｒ）、（ｉｉ）前記特徴マップ上でのＲＯＩ（Ｒｅｇｉｏｎ  Ｏｆ  Ｉｎｔｅｒｅｓｔ）に対応する領域をプーリングして算出された、少なくとも一つの特徴ベクトルに少なくとも一つのＦＣ（Ｆｕｌｌｙ  ｃｏｎｎｅｃｔｅｄ）演算を適用して、前記トレーニングデータに含まれた少なくとも一つの物体に対応する確率値を算出するようにする少なくとも一つのＦＣレイヤ（ＦＣ  ｌａｙｅｒ）、及び（ｉｉｉ）前記ＦＣレイヤから算出された前記確率値に対応する、少なくとも一つのクラススコア及び少なくとも一つのリグレッションデルタを算出する出力レイヤ（ｏｕｔｐｕｔ  ｌａｙｅｒ）を含み、前記学習装置が、前記出力レイヤの少なくとも一つの算出結果とこれに対応するＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）とを参照して計算したロスを利用してバックプロパゲーションすることにより、前記ＦＣレイヤ及び前記コンボリューションレイヤを学習する場合、前記学習装置は、前記第１学習率ないし前記第ｋ学習率を参照して、前記ＦＣレイヤ及び前記コンボリューションレイヤの少なくとも一つのパラメータの変動幅を決定することを特徴とする学習方法が提供される。
【００２９】
一例として、（ｉ）前記トレーニングデータの中の前記一部それぞれがバッチデータで、（ｉｉ）前記イテレーションの累積回数が前記第１特定値以下を満足している間に利用される前記バッチデータの数は、前記第１学習プロセスの間のイテレーション回数と同一に決定され、（ｉｉｉ）前記イテレーション累積回数が前記第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間に利用される前記バッチデータの数は、前記第（ｋ＋１）学習プロセスの間のイテレーション回数と同一に決定される場合、 前記学習装置は、前記それぞれのバッチデータに対応する前記出力レイヤの少なくとも一つの各算出結果と、それに対応する前記ＧＴとを参照して計算したロスを利用してバックプロパゲーションすることにより、前記ＦＣレイヤ及び前記コンボリューションレイヤを学習することを特徴とする学習方法が提供される。
【００３０】
本発明の他の態様によれば、 学習のイテレーション累積回数が第１ないし第ｎ特定値の中の一つに到達するたびに学習率を調整して、ニューラルネットワーク（ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）をテストする方法において、（ａ）学習装置が、（Ｉ）学習率の変更比率調整のための定数である第１ガンマを予め設定した状態で、（ｉ）前記イテレーションの累積回数が第１特定値以下を満足している間には、トレーニングデータの一部を利用して、第１予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第１学習プロセスを遂行し、（ｉｉ）前記第１学習プロセスによって取得された前記ニューラルネットワークの第１ロスを参照して、前記第１ガンマを第２ガンマに変更するプロセス；（ＩＩ）前記学習装置が、ｋを２から（ｎ−１）まで増加させながら、（ｉ）前記イテレーションの累積回数が第（ｋ−１）特定値超過及び第ｋ特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第ｋ学習率で前記ニューラルネットワークの前記学習を繰り返す第ｋ学習プロセスを遂行し、（ｉｉ）（ｉｉ−１）前記第ｋ学習プロセスによって取得された前記ニューラルネットワークの第ｋロスを参照して第ｋガンマを第（ｋ＋１）ガンマに変更し、（ｉｉ−２）前記第（ｋ＋１）ガンマを利用して第ｋ学習率を第（ｋ＋１）学習率に変更し、（ｉｉｉ）前記イテレーションの累積回数が第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第（ｋ＋１）学習率で前記ニューラルネットワークの前記学習を繰り返す第（ｋ＋１）学習プロセス；を経て、前記学習装置のパラメータを取得した状態で、前記学習装置のパラメータを利用したテスト装置が、前記ニューラルネットワークにテストデータを入力する段階；及び（ｂ）前記テスト装置が、前記ニューラルネットワークをもって、第１学習率ないし第（ｋ＋１）学習率によって学習されたパラメータを利用して、テストデータの演算した結果を出力する段階；を含むことを特徴とするテスト方法が提供される。
【００３１】
一例として、前記（ＩＩ）プロセスで、前記学習装置は、第ｋロスグラディエントを参照して前記第ｋガンマを第（ｋ＋１）ガンマに変更し、前記第ｋロスグラディエントは、前記ニューラルネットワークの（ｉ）前記第ｋロス及び（ｉｉ）第（ｋ−１）ロスを参照して算出され、前記第（ｋ−１）ロスは、前記イテレーションの累積回数が第（ｋ−２）特定値超過及び第（ｋ−１）特定値以下を満足している間、前記トレーニングデータの一部を利用して前記ニューラルネットワークの前記学習を繰り返す、第（ｋ−１）学習プロセスによって取得されることを特徴とするテスト方法が提供される。
【００３２】
一例として、前記学習装置は、前記第ｋロスグラディエントが予め設定された最小ロスグラディエント以上である場合、前記第ｋガンマと前記第ｋロスグラディエントとを掛け算して算出された結果を参照にして、前記第（ｋ＋１）ガンマを決定することを特徴とするテスト方法が提供される。
【００３３】
一例として、前記ニューラルネットワークは、（ｉ）トレーニングデータに少なくとも一つのコンボリューション演算を適用して、少なくとも一つの特徴マップを出力させる少なくとも一つのコンボリューションレイヤ（ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｌａｙｅｒ）、 （ｉｉ）前記特徴マップ上でのＲＯＩ（Ｒｅｇｉｏｎ  Ｏｆ  Ｉｎｔｅｒｅｓｔ）に対応する領域をプーリングして算出された、少なくとも一つの特徴ベクトルに少なくとも一つのＦＣ（Ｆｕｌｌｙ  ｃｏｎｎｅｃｔｅｄ）演算を適用して、前記トレーニングデータに含まれた少なくとも一つの物体に対応する確率値を算出するようにする少なくとも一つのＦＣレイヤ（ＦＣ  ｌａｙｅｒ）、及び  （ｉｉｉ）前記ＦＣレイヤから算出された前記確率値に対応する、少なくとも一つのクラススコア及び少なくとも一つのリグレッションデルタを算出する出力レイヤ（ｏｕｔｐｕｔ  ｌａｙｅｒ）を含み、前記出力レイヤの少なくとも一つの算出結果とこれに対応するＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）とを参照して計算したロスを利用してバックプロパゲーションをすることで、前記ＦＣレイヤ及び前記コンボリューションレイヤを学習する場合、前記学習装置は、前記第１学習率ないし前記第ｋ学習率を参照して、前記ＦＣレイヤ及び前記コンボリューションレイヤの少なくとも一つのパラメータの変動幅を決定することを特徴とするテスト方法が提供される。
【００３４】
一例として、（ｉ）前記トレーニングデータの中の前記一部それぞれがバッチデータで、（ｉｉ）前記イテレーションの累積回数が前記第１特定値以下を満足している間に利用される前記バッチデータの数は、前記第１学習プロセスの間のイテレーション回数と同一に決定され、（ｉｉｉ）前記イテレーションの累積回数が前記第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間に利用する前記バッチデータの数は、前記第（ｋ＋１）学習プロセスの間のイテレーション回数と同様に決定される場合、前記学習装置は、前記それぞれのバッチデータに対応される前記出力レイヤの少なくとも一つの各算出結果と、それに対応される前記ＧＴとを参照して計算したロスを利用してバックプロパゲーションすることで、前記ＦＣレイヤ及び前記コンボリューションレイヤを学習することを特徴とするテスト方法が提供される。
【００３５】
本発明のさらに他の態様によれば、学習のイテレーション累積回数が第１ないし第ｎ特定値の中の一つに到達するたびに学習率を調整して、ニューラルネットワーク（ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）を学習させる学習装置において、トレーニングデータを取得する通信部；及び（Ｉ）学習率の変更比率調整のための定数である第１ガンマを予め設定した状態で、（ｉ）前記イテレーションの累積回数が第１特定値以下を満足している間には、トレーニングデータの一部を利用して第１予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第１学習プロセスを遂行し、（ｉｉ）前記第１学習プロセスによって取得された前記ニューラルネットワークの第１ロスを参照して前記第１ガンマを第２ガンマに変更するプロセス、（ＩＩ）ｋを２から（ｎ−１）まで増加させながら、（ＩＩ−１）前記イテレーションの累積回数が第（ｋ−１）特定値超過及び第ｋ特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第ｋ学習率で前記ニューラルネットワークの前記学習を繰り返す第ｋ学習プロセスを遂行し、（ＩＩ−２）（ｉ）前記第ｋ学習プロセスによって取得された前記ニューラルネットワークの第ｋロスを参照して第ｋガンマを第（ｋ＋１）ガンマに変更し、（ｉｉ）前記第（ｋ＋１）ガンマを利用して第ｋ学習率を第（ｋ＋１）学習率に変更し、（ＩＩ−３）前記イテレーションの累積回数が第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間には、前記トレーニングデータの一部を利用して第（ｋ＋１）学習率で前記ニューラルネットワークの前記学習を繰り返す第（ｋ＋１）学習プロセスを遂行するプロセスを遂行するプロセッサ；を含むことを特徴とする学習装置が提供される。
【００３６】
一例として、 前記（ＩＩ）プロセスで、前記プロセッサは、第ｋロスグラディエントを参照して前記第ｋガンマを第（ｋ＋１）ガンマに変更し、前記第ｋロスグラディエントは、前記ニューラルネットワークの（ｉ）前記第ｋロス及び（ｉｉ）第（ｋ−１）ロスを参照して算出され、前記第（ｋ−１）ロスは、前記イテレーションの累積回数が第（ｋ−２）特定値超過及び第（ｋ−１）特定値以下を満足している間、前記トレーニングデータの一部を利用して前記ニューラルネットワークの前記学習を繰り返す第（ｋ−１）学習プロセスによって取得されることを特徴とする学習装置が提供される。
【００３７】
一例として、前記プロセッサは、前記第ｋロスグラディエントが予め設定された最小ロスグラディエント以上である場合、前記第ｋガンマと前記第ｋロスグラディエントとを掛け算して算出された結果を参照にして、前記第（ｋ＋１）ガンマを決定することを特徴とする学習装置が提供される。
【００３８】
一例として、前記プロセッサは、前記第ｋロスグラディエントが予め設定された最小ロスグラディエント未満の場合、前記第（ｋ＋１）ガンマが前記第ｋガンマに決定されることを特徴とする学習装置が提供される。
【００３９】
一例として、前記プロセッサは、前記第（ｋ−１）ロスの和に対する前記第ｋロスの和の比率を前記第ｋロスグラディエントに決定することを特徴とする学習装置が提供される。
【００４０】
一例として、 前記（ＩＩ）プロセスで、前記プロセッサは、前記学習率と前記第（ｋ＋１）ガンマとを掛け算して算出された結果を前記第（ｋ＋１）学習率に決定することを特徴とする学習装置が提供される。
【００４１】
一例として、前記トレーニングデータの中の前記一部それぞれがバッチデータであり、前記イテレーションの累積回数が前記第１特定値以下を満足している間に利用される前記バッチデータの数は、前記第１学習プロセスの間のイテレーション回数と同一に決定され、前記イテレーション累積回数が前記第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間に利用される前記バッチデータの数は、前記第（ｋ＋１）学習プロセスの間のイテレーション回数と同一に決定されることを特徴とする学習装置が提供される。
【００４２】
一例として、前記イテレーションの累積回数が前記第１特定値以下を満足している間に利用された前記バッチデータ数が、前記イテレーションの累積回数が前記第ｋ特定値超過及び前記（ｋ＋１）特定値以下を満足している間に利用されたバッチデータの数と同一であることを特徴とする学習装置が提供される。
【００４３】
一例として、前記ニューラルネットワークは、（ｉ）トレーニングデータに少なくとも一つのコンボリューション演算を適用して、少なくとも一つの特徴マップを出力するようにする少なくとも一つのコンボリューションレイヤ（ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｌａｙｅｒ）、（ｉｉ）前記特徴マップ上でのＲＯＩ（Ｒｅｇｉｏｎ  Ｏｆ  Ｉｎｔｅｒｅｓｔ）に対応する領域をプーリングして算出された、少なくとも一つの特徴ベクトルに少なくとも一つのＦＣ（Ｆｕｌｌｙ  ｃｏｎｎｅｃｔｅｄ）演算を適用して、前記トレーニングデータに含まれた少なくとも一つの物体に対応する確率値を算出するようにする少なくとも一つのＦＣレイヤ（ＦＣ  ｌａｙｅｒ）、及び（ｉｉｉ）前記ＦＣレイヤから算出された前記確率値に対応する、少なくとも一つのクラススコア及び少なくとも一つのリグレッションデルタを算出する出力レイヤ（ｏｕｔｐｕｔ  ｌａｙｅｒ）を含み、前記プロセッサが、前記出力レイヤの少なくとも一つの算出結果とこれに対応するＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）とを参照して計算したロスを利用してバックプロパゲーションすることで、前記ＦＣレイヤ及び前記コンボリューションレイヤを学習する場合、前記プロセッサは、前記第１学習率ないし前記第ｋ学習率を参照して、前記ＦＣレイヤ及び前記コンボリューションレイヤの少なくとも一つのパラメータの変動幅を決定することを特徴とする学習装置が提供される。
【００４４】
一例として、（ｉ）前記トレーニングデータの中の前記一部それぞれがバッチデータで、（ｉｉ）前記イテレーションの累積回数が前記第１特定値以下を満足している間に利用される前記バッチデータの数は、前記第１学習プロセスの間のイテレーション回数と同一に決定され、（ｉｉｉ）前記イタレーションの累積回数が前記第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間に利用される前記バッチデータの数は、前記第（ｋ＋１）学習プロセスの間のイタレーション回数と同様に決定される場合、前記プロセッサは、前記それぞれのバッチデータに対応される前記出力レイヤの少なくとも一つの各算出結果と、それに対応される前記ＧＴとを参照して計算したロスを利用してバックプロパゲーションすることで、前記ＦＣレイヤ及び前記コンボリューションレイヤを学習することを特徴とする学習装置が提供される。
【００４５】
本発明のまた他の態様によれば、学習のイテレーション累積回数が第１ないし第ｎ特定値の中の一つに到達するたびに学習率を調整して、ニューラルネットワーク（ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）を学習させるテスト装置において、トレーニングデータを取得する通信部；及び（Ｉ）学習率の変更比率調整のための定数である第１ガンマを予め設定した状態で、（ｉ）前記イテレーションの累積回数が第１特定値以下を満足している間には、トレーニングデータの一部を利用して第１予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第１学習プロセスを遂行し、（ｉｉ）前記第１学習プロセスによって取得された前記ニューラルネットワークの第１ロスを参照して前記第１ガンマを第２ガンマに変更するプロセス、（ＩＩ）ｋを２から（ｎ−１）まで増加させながら、（ｉ）前記イテレーションの累積回数が第（ｋ−１）特定値超過及び第ｋ特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第ｋ学習率で前記ニューラルネットワークの前記学習を繰り返す第ｋ学習プロセスを遂行し、（ｉｉ）（ｉｉ−１）前記第ｋ学習プロセスによって取得された前記ニューラルネットワークの第ｋロスを参照して第ｋガンマを第（ｋ＋１）ガンマに変更し、（ｉｉ−２）前記第（ｋ＋１）ガンマを利用して第ｋ学習率を第（ｋ＋１）学習率に変更し、（ｉｉｉ）前記イテレーションの累積回数が第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第（ｋ＋１）学習率で前記ニューラルネットワークの前記学習を繰り返す第（ｋ＋１）学習プロセスを遂行するプロセス；を経て、前記学習装置のパラメータを遂行した状態で、（1）前記学習装置のパラメータを利用して、前記ニューラルネットワークにテストデータを入力するプロセス；及び（2）前記ニューラルネットワークをもって、第１学習率ないし第（ｋ＋１）学習率によって学習されたパラメータを利用して、テストデータの演算した結果を出力するプロセス；を遂行するプロセッサ；を含むことを特徴とするテスト装置が提供される。
【００４６】
一例として、前記（ＩＩ）プロセスで、前記プロセッサは、第ｋロスグラディエントを参照して前記第ｋガンマを第（ｋ＋１）ガンマに変更し、前記第ｋロスグラディエントは、前記ニューラルネットワークの（ｉ）前記第ｋロス及び（ｉｉ）第（ｋ−１）ロスを参照して算出され、前記第（ｋ−１）ロスは、前記イテレーションの累積回数が第（ｋ−２）特定値超過及び第（ｋ−１）特定値以下を満足している間、前記トレーニングデータの一部を利用して前記ニューラルネットワークの前記学習を繰り返す第（ｋ−１）学習プロセスによって取得されることを特徴とするテスト装置が提供される。
【００４７】
一例として、前記プロセッサは、前記第ｋロスグラディエントが予め設定された最小ロスグラディエント以上である場合、前記第ｋガンマと前記第ｋロスグラディエントとを掛け算して算出された結果を参照にして、前記第（ｋ＋１）ガンマを決定することを特徴とするテスト装置が提供される。
【００４８】
一例として、 前記ニューラルネットワークは、（ｉ）トレーニングデータに少なくとも一つのコンボリューション演算を適用して、少なくとも一つの特徴マップを出力するようにする少なくとも一つのコンボリューションレイヤ（ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｌａｙｅｒ）、（ｉｉ）前記特徴マップ上でのＲＯＩ（Ｒｅｇｉｏｎ  Ｏｆ  Ｉｎｔｅｒｅｓｔ）に対応する領域をプーリングして算出された、少なくとも一つの特徴ベクトルに少なくとも一つのＦＣ（Ｆｕｌｌｙ  ｃｏｎｎｅｃｔｅｄ）演算を適用して、前記トレーニングデータに含まれた少なくとも一つの物体に対応する確率値を算出するようにする少なくとも一つのＦＣレイヤ（ＦＣ  ｌａｙｅｒ）、及び（ｉｉｉ）前記ＦＣレイヤから算出された前記確率値に対応する、少なくとも一つのクラススコア及び少なくとも一つのリグレッションデルタを算出する出力レイヤ（ｏｕｔｐｕｔ  ｌａｙｅｒ）を含み、前記出力レイヤの少なくとも一つの算出結果とこれに対応するＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）とを参照して計算したロスを利用してバックプロパゲーションをすることで、前記ＦＣレイヤ及び前記コンボリューションレイヤを学習する場合、前記学習装置は、前記第１学習率ないし前記第ｋ学習率を参照して、前記ＦＣレイヤ及び前記コンボリューションレイヤの少なくとも一つのパラメータの変動幅を決定することを特徴とするテスト装置が提供される。
【００４９】
一例として、（ｉ）前記トレーニングデータの中の前記一部それぞれがバッチデータで、（ｉｉ）前記イテレーションの累積回数が前記第１特定値以下を満足している間に利用される前記バッチデータの数は、前記第１学習プロセスの間のイテレーション回数と同一に決定され、（ｉｉｉ）前記イテレーションの累積回数が前記第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間に利用される前記バッチデータの数は、前記第（ｋ＋１）学習プロセスの間のイテレーション回数と同様に決定される場合、前記学習装置は、前記それぞれのバッチデータに対応される前記出力レイヤの少なくとも一つの各算出結果と、それに対応される前記ＧＴとを参照して計算したロスを利用してバックプロパゲーションすることで、前記ＦＣレイヤ及び前記コンボリューションレイヤを学習することを特徴とするテスト装置が提供される。
【発明の効果】
【００５０】
本発明は、学習状況を反映して学習率を最適に調整することにより、ニューラルネットワークの学習に所要される時間を最小化され得る。
【００５１】
また、本発明は、学習状況におけるロスを参照して学習率を調整することにより、一度の学習過程によって学習率を最適に調整し得るため、ニューラルネットワークを学習して最適の結果を見いだすまでにかかる時間と労力を最小化し得るようになる。
【００５２】
本発明は、学習状況に応じたロスグラディエントを参照して、学習率変更割合調整のための定数であるガンマを調整し、調整されたガンマによる学習率の調整をすることで、一度の学習により最適な学習率の調整をし得るようになり、これによってニューラルネットワークの学習に所要される時間と努力を最小化し得るようになる。
【図面の簡単な説明】
【００５３】
本発明の実施例の説明に利用されるために添付された以下の各図面は、本発明の実施例のうちの一部に過ぎず、本発明が属する技術分野でおいて、通常の知識を有する者（以下「通常の技術者」）は、発明的作業が行われることなくこの図面に基づいて他の図面が得られ得る。
【図１ａ】図１ａは、従来の学習方法によって学習率を変更させた状態を概略的示す図面である。
【図１ｂ】図１ｂは、従来の学習方法によって変更された学習率を利用して、ニューラルネットワークを学習する際にロスが変更された状態を概略的に示した図面である。
【図２】図２は、本発明の一例に係るニューラルネットワークを学習する学習装置を概略的に示した図面である。
【図３】図３は、本発明の一例に係るニューラルネットワークを学習する状態を概略的に示した図面である。
【図４ａ】図４ａは、本発明の一例に係る学習率の変化推移を概略的に示した図面である。
【図４ｂ】図４ｂは、本発明の一例に係るロスの変化推移を概略的に示した図面である。
【図５】図５は、本発明の一例によって物体検出を遂行し得るニューラルネットワークを学習する状態を概略的に示した図面である。
【図６】図６は、本発明の一例によってニューラルネットワークをテストするテスト装置を概略的に示した図面である。
【発明を実施するための形態】
【００５４】
後述する本発明に対する詳細な説明は、本発明が実施され得る特定の実施例を例示として示す添付図面を参照する。これらの実施例は当業者が本発明を実施することができるように充分詳細に説明される。本発明の多様な実施例は相互異なるが、相互排他的である必要はないことを理解されたい。例えば、ここに記載されている特定の形状、構造及び特性は一例と関連して、本発明の精神及び範囲を逸脱せず、かつ他の実施例で実装され得る。また、各々の開示された実施例内の個別構成要素の位置または配置は、本発明の精神及び範囲を逸脱せずに変更され得ることを理解されたい。従って、後述する詳細な説明は限定的な意味で捉えようとするものではなく、本発明の範囲は、適切に説明されれば、その請求項が主張することと均等なすべての範囲と、併せて添付された請求項によってのみ限定される。図面において類似する参照符号は、いくつかの側面にわたって同一であるか、類似する機能を指す。
【００５５】
本発明で言及している各種イメージは、舗装または非舗装道路関連のイメージを含み得、この場合、道路環境で登場し得る物体（例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物）を想定し得るが、必ずしもこれに限定されるものではなく、本発明で言及している各種イメージは、道路と関係のないイメージ（例えば、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内と関連したイメージ）でもあり得て、この場合、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内環境で登場し得る物体（例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物）を想定し得るが、必ずしもこれに限定されるものではない。
【００５６】
また、本発明の詳細な説明及び各請求項にわたって、「含む」という単語及びそれらの変形は、他の技術的各特徴、各付加物、構成要素又は段階を除外することを意図したものではない。通常の技術者にとって本発明の他の各目的、長所及び各特性が、一部は本明細書から、また一部は本発明の実施から明らかになるであろう。以下の例示及び図面は、実例として提供され、本発明を限定することを意図したものではない。
【００５７】
以下、本発明が属する技術分野で通常の知識を有する者が本発明を容易に実施することができるようにするために、本発明の好ましい実施例について添付の図面に基づいて詳細に説明する。
【００５８】
図２は、本発明の一例に係るニューラルネットワークを学習する学習装置１００を概略的に図示したもので、図２を参照すれば、学習装置１００は、通信部１１０とプロセッサ１２０を含み得る。
【００５９】
先ず、通信部１１０は、トレーニングデータを取得し得る。
【００６０】
ここで、各トレーニングデータはデータベース１３０に格納されていることもあり、各トレーニングデータの一部はバッチデータ（ｂａｔｃｈ  ｄａｔａ）として格納されることもある。この際、バッチデータの個数は、反復学習を遂行するためのイテレーションに対応するように生成されていることがあり、それぞれのバッチデータに含まれたトレーニングデータに対応するＧＴ（ｇｒｏｕｎｄ  ｔｒｕｔｈ）が格納されていることがある。
【００６１】
次に、プロセッサ１２０は、学習率の変更比率調整のための定数である第１ガンマを予め設定した状態で、（ｉ）前記イテレーションの累積回数が第１特定値以下を満足している間には、トレーニングデータの一部を利用して第１予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第１学習プロセスを遂行し、（ｉｉ）前記第１学習プロセスによって取得された前記ニューラルネットワークの第１ロスを参照して前記第１ガンマを第２ガンマに変更し得る。そして、プロセッサ１２０が、ｋを２から（ｎ−１）まで増加させながら、（Ｉ）前記イテレーション累積回数が第（ｋ−１）特定値超過及び第ｋ特定値以下を満足している間には、前記トレーニングデータの一部を利用して第ｋ学習率で前記ニューラルネットワークの前記学習を繰り返す第ｋ学習プロセスを遂行して、（ＩＩ）（ｉ）前記第ｋ学習プロセスによって取得された前記ニューラルネットワークの第ｋロスを参照して第ｋガンマを第（ｋ＋１）ガンマに変更し、（ｉｉ）前記第（ｋ＋１）ガンマを利用して第ｋ学習率を第（ｋ＋１）学習率に変更し、（ＩＩＩ）前記イテレーションの累積回数が第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第（ｋ＋１）学習率で前記ニューラルネットワークの前記学習を繰り返す第（ｋ＋１）学習プロセスを遂行し得る。
【００６２】
この際、プロセッサ１２０は、第ｋロスグラディエントを参照して前記第ｋガンマを第（ｋ＋１）ガンマに変更し、前記第ｋロスグラディエントは、前記ニューラルネットワークの（ｉ）前記第ｋロス及び（ｉｉ）第（ｋ−１）ロスを参照して算出され、前記第（ｋ−１）ロスは、前記イテレーションの累積回数が第（ｋ−２）特定値超過及び第（ｋ−１）特定値以下を満足している間、前記トレーニングデータの一部を利用して前記ニューラルネットワークの前記学習を繰り返す第（ｋ−１）学習プロセスによって取得され得る。また、前記第ｋロスグラディエントが予め設定された最小ロスグラディエント以上の場合、前記プロセッサ１２０は、前記第ｋガンマと、前記第ｋロスグラディエントとを掛け算して算出された結果を参考にして前記第（ｋ＋１）ガンマを決定し、前記第ｋロスグラディエントが予め設定された最小ロスグラディエント未満の場合、前記第（ｋ＋１）ガンマが前記第ｋガンマに決定され得る。
【００６３】
この際、本発明の一例に係る学習装置１００は、コンピューティング装置であり、プロセッサを搭載して演算能力を備えた装置であればいくらでも本発明に係る学習装置１００として採択され得る。また、図２では一つの学習装置１００のみを示したが、これに限定されず、学習装置は複数に分けて役割を遂行することもできる。
このように構成された本発明の一例に係る学習装置１００を利用してニューラルネットワークを学習する方法を、図３に基づいて説明する。
【００６４】
まず、学習装置１００がフォーワードプロセッシングによって、トレーニングデータの一部をニューラルネットワークの入力レイヤ（Ｉ）に入力すると、入力レイヤ（Ｉ）によって演算された値に重み付け値（Ｗｉｊ）を適用して、重み付け値が適用された第１値を隠しレイヤ（Ｊ）に入力する。そして、隠しレイヤ（Ｊ）がこれの入力を受けて所定の演算を遂行すると、学習装置１００は、隠しレイヤ（Ｊ）によって演算された値に重み付け値（Ｗｊｋ）を適用して出力レイヤ（Ｋ）へ入力するようにし、出力レイヤ（Ｋ）がこれの入力を受けて所定の演算を実行すると、学習装置１００は出力レイヤー（Ｋ）によって演算された値を出力するようにする。
【００６５】
ここで、隠しレイヤ（Ｊ）は一つのレイヤを示したが、これに限られず、隠しレイヤ（Ｊ）は複数のレイヤを含み得る。そして、それぞれの重み付け値（Ｗｉｊ，  Ｗｊｋ）は、初期値が設定された状態であり得る。
その後、学習装置１００は、ニューラルネットワークの出力、つまり出力レイヤ（Ｋ）から出力された結果及びこれに対応するＧＴを参照してロスを取得する。
そして、学習装置１００は、取得されたロスを利用してバックプロパゲーションを通じてニューラルネットワークを学習する。
【００６６】
ここで、学習過程は、ニューラルネットワークそれぞれのフレームワークレイヤを結ぶシノプシスの連結強度の重み付け値を調整して、ロスを減らすために行われ得る。
【００６７】
一例として、確率的勾配降下法（ｓｔｏｃｈａｓｔｉｃ  ｇｒａｄｉｅｎｔ  ｄｅｓｃｅｎｔ；ＳＧＤ）を利用してバックプロパゲーションを遂行する場合には、次の数式２によって、それぞれの重み付け値を調整することができる。
［数式２］
2020077392.tif 000004
【００６８】
数式２で、ｌｒは学習率を示し、Ｃは費用関数を示す。
【００６９】
ここで、費用関数は、指導学習・自律学習・強化学習などの学習の形態と活性化関数（ａｃｔｉｖａｔｉｏｎ  ｆｕｎｃｔｉｏｎ）のような要因によって決定され得る。
【００７０】
例えば、多重クラス分類問題（ｍｕｌｔｉｃｌａｓｓ  ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ｐｒｏｂｌｅｍ）に指導学習を行う際、一般に活性化関数及び費用関数はそれぞれソフトマックス関数（ｓｏｆｔｍａｘ  ｆｕｎｃｔｉｏｎ）及び交差エントロピー関数（ｃｒｏｓｓｅｎｔｒｏｐｙ  ｆｕｎｃｔｉｏｎ）で決定される。
ソフトマックス関数は、数式３のように表され得り、費用関数は数式４のように表され得る。
［数式３］
2020077392.tif 000005
［数式４］
2020077392.tif 000006
【００７１】
数式３で、ｐｊはクラス確率（ｃｌａｓｓ  ｐｒｏｂａｂｉｌｉｔｙ）を表し、ｘｊはユニットｊへの全体入力（ｔｏｔａｌ  ｉｎｐｕｔ）を表し、ｘｋはユニットｋへの全体入力を表している。
【００７２】
そして、数式４で、ｄｊは出力ユニットｊに対する目標確率（ｔａｒｇｅｔ  ｐｒｏｂａｂｉｌｉｔｙ）を表し、ｐｊは活性化関数を適用した以降のユニットｊに対する確率出力（ｐｒｏｂａｂｉｌｉｔｙ  ｏｕｔｐｕｔ）である。
【００７３】
前記ではロスを用いたバックプロパゲーションの一例として、確率的勾配降下法（ＳＧＤ）について説明したが、本発明はこれに限らず、Ｍｏｍｅｎｔｕｍ方式、Ｎｅｓｔｅｒｏｖ  Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｄｉｅｎｔ（ＮＡＧ）方式、Ａｄａｇｒａｄ（Ａｄａｐｔｉｖｅ  Ｇｒａｄｉｅｎｔ）方式、ＲＭＳＰｒｏｐ方式、ＡｄａＤｅｌｔａ（Ａｄａｐｔｉｖｅ  Ｄｅｌｔａ）方式、Ａｄａｍ（Ａｄａｐｔｉｖｅ  Ｍｏｍｅｎｔ  Ｅｓｔｉｍａｔｉｏｎ）方式等を用いてニューラルネットワークの学習をするためのバックプロパゲーションを遂行し得る。
【００７４】
前記でのトレーニングデータの一部を利用したニューラルネットワークのフォーワードプロセッシング、ロスを利用したバックワードプロセッシング、そして、重み付け値のアップデートを遂行するプロセッシングを一度のイテレーションと定義し得る。また、トレーニングデータの一部は、それぞれのバッチデータであることもあり、バッチデータの個数は、反復学習を遂行するためのイテレーションの回数に対応するように生成されていることもある。
【００７５】
また、学習装置１００は、学習のイテレーションの累積回数、つまり、イテレーションの特定値の中の一つになるたびに学習率を調整してニューラルネットワークを学習させる。
【００７６】
特定値は、学習率を調整するためのイテレーション単位によって予め設定され得て、学習率調整のためのイテレーション単位をステップとした場合、イテレーション累積回数がステップに設定された数字またはステップの積の一つに到達するたびに学習率を調整することができる。一例として、ステップが１０，０００と設定されれば、１０，０００の倍数が第１ないし第ｎ特定の値に設定され得り、ニューラルネットワークの一度の学習過程の間、ニューラルネットワークはｎｘ１０，０００回のイテレーション分の学習が行われ得る。しかし、本発明はこれに限られず、ステップは固定された数字ではないこともあり得、ステップの積が適用されないこともあり得る。
【００７７】
以下では、イテレーションの累積回数が特定値の中の一つになるたびに学習率を調整して、学習装置１００がニューラルネットワークを学習する過程をもう少し詳しく説明する。
【００７８】
学習率の変更比率調整のための定数である第１ガンマを予め設定した状態で、学習装置１００が、（ｉ）前記イテレーションの累積回数が第１特定値以下を満足している間には、トレーニングデータの一部を利用して第１期予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第１学習プロセスを遂行し、（ｉｉ）前記第１学習プロセスによって取得された前記ニューラルネットワークの第１ロスを参照して前記第１ガンマを第２ガンマに変更することができる。ここで、バッチデータの数は、第１学習プロセスの間のイテレーション回数として決定され得る。第１ガンマを第２ガンマに変更する方法については、次で説明することにする。
【００７９】
その後、学習装置１００は、ｋを２から（ｎ−１）まで増加させながら、（Ｉ）前記イテレーションの累積回数が第（ｋ−１）特定値超過及び第ｋ特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第ｋ学習率で前記ニューラルネットワークの前記学習を繰り返す第ｋ学習プロセスを遂行し、（ＩＩ）（ｉ）前記第ｋ学習プロセスによって取得された前記ニューラルネットワークの第ｋロスを参照して第ｋガンマを第（ｋ＋１）ガンマに変更し、（ｉｉ）前記第（ｋ＋１）ガンマを利用して第ｋ学習率を第（ｋ＋１）学習率に変更する。
【００８０】
この際、前記学習装置１００は、第ｋロスグラディエントを参照して前記第ｋガンマを第（ｋ＋１）ガンマに変更し、前記第ｋロスグラディエントは、前記ニューラルネットワークの（ｉ）前記第ｋロス及び（ｉｉ）第（ｋ−１）ロスを参照して算出される。ここで、前記第（ｋ−１）ロスは、前記イテレーションの累積回数が第（ｋ−２）特定値超過及び第（ｋ−１）特定値以下を満足している間、前記トレーニングデータの一部を利用して、前記ニューラルネットワークの前記学習を繰り返す第（ｋ−１）学習プロセスによって取得される。
【００８１】
つまり、学習装置１００は、数式５によって、第（ｋ−１）ロスの和を演算して、数式６によって、第ｋロスの和を演算する。
［数式５］
2020077392.tif 000007
［数式６］
2020077392.tif 000008
【００８２】
そして、学習装置１００は、数式７によって、第（ｋ−１）ロスの和に対する、第ｋロスの和の比率を第ｋロスグラディエントとして決定する。
［数式７］
2020077392.tif 000009
【００８３】
その後、学習装置１００は、第ｋロスグラディエントを予め設定された最小ロスグラディエントと比較した結果、第ｋロスグラディエントが予め設定された最小ロスグラディエント以上である場合、第ｋガンマを第（ｋ＋１）ガンマにアップデートする。ここで、第（ｋ＋１）ガンマは、数式８のように、第ｋガンマと第ｋロスグラディエントとの積で決定される。しかし、第ｋロスグラディエントを予め設定された最小ロスグラディエントと比較した結果、第ｋロスグラディエントが予め設定された最小ロスグラディエント未満である場合、第ｋガンマを第（ｋ＋１）ガンマに決定される。
［数式８］
2020077392.tif 000010
【００８４】
ここで、イテレーションの累積回数が特定の値に到達すると、ニューラルネットワークの学習が早く終わり、十分な学習がなされないので、学習率はロスグラディエントが予め設定された値以上である場合（すなわち、最小ロスグラディエント）だけに学習率を減少させるようにして、十分な学習が行われるようにする。
【００８５】
そして、学習装置１００は、数式９によって、第ｋ学習率と第（ｋ＋１）ガンマを掛け算した結果を第（ｋ＋１）学習率として決定する。
［数式９］
2020077392.tif 000011
【００８６】
次に、学習装置１００は、前記イテレーションの累積回数が第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第（ｋ＋１）学習率で前記ニューラルネットワークの前記学習を繰り返す第（ｋ＋１）学習プロセスを遂行し得る。ここで、バッチデータの数は、前記第（ｋ＋１）学習プロセスの間のイテレーション回数として決定され得る。従って、第１学習プロセスで利用される配置データの数は、第（ｋ＋１）学習プロセスで利用されるバッチデータの数と同じである。
【００８７】
このような本発明の一例に係るニューラルネットワークの学習方法を、図４ａ及び図４ｂに基づいて説明する。
【００８８】
図４ａは、本発明の一例に係る学習率の変動状態を示したもので、初期定数値は、初期学習率の基本学習率（ｌｒ）を０．０、学習率を変更するためのイテレーション単位であるステップを１０，０００、学習率の変更比率調整のための定数であるガンマを０．９に設定したものを例示的に示したものである。この際、ステップを従来の学習方法である図１ａでの１００，０００より減らし、ガンマを従来の学習方法である図１ａでの０．１より大きくしたのは、学習率をロスに対応して少しずつ頻繁に減少させるためのものである。
【００８９】
従って、本発明では、従来の学習方法である図１とは異なって、学習率が継続的に変更される。
【００９０】
また、図４ｂからわかるように、ロスによって学習率が変更されるので、従来の学習方法である学習率の変更によってロスが変更される図１ｂと異なって、ロスが継続的に減少されるので、一度の学習過程だけでも最適の学習率を取得され得るようになる。
【００９１】
図５は、本発明の一例によって物体検出を遂行し得るニューラルネットワークを学習する状態を概略的に示した図面である。
【００９２】
まず、学習装置１００は、フォーワードプロセッシングによって、（ｉ）少なくとも一つのコンボリューションレイヤ（ｃｏｎｖ１、ｃｏｎｖ２、ｃｏｎｖ３、ｃｏｎｖ４、ｃｏｎｖ５）をもって、トレーニングデータの一部に少なくとも一つのコンボリューション演算を適用して、少なくとも一つの特徴マップを出力するようにし、（ｉｉ）少なくとも一つのＦＣレイヤ（ＦＣ６、ＦＣ７）をもって、特徴マップ上でのＲＯＩに対応する領域をプーリングして算出された少なくとも一つの特徴ベクトルに少なくとも一つのＦＣ演算を適用して、前記トレーニングデータに含まれた少なくとも一つの物体に対応する確率値を算出して、（ｉｉｉ）出力レイヤをもって、前記ＦＣレイヤから算出された前記確率値に対応する、少なくとも一つのクラススコア及び少なくとも一つのリグレッションデルタを算出する。  
【００９３】
この際、学習装置１００は、フォーワードプロセッシングによって、それぞれのレイヤの各出力を計算するようになり、最終的にＧＴを参照してロスレイヤのロス値を計算する。
【００９４】
次に、学習装置１００は、バックワードプロセッシングによって、フォーワードプロセッシングで計算したそれぞれのレイヤの各出力値を利用して、後ろ側のレイヤからバックワード方向でロス値を減らすための出力値のグラディエントを伝達する。
【００９５】
この際、学習装置１００は、それぞれのレイヤをもって、後ろ側のレイヤから受け取った出力値のグラディエントによって重み付け値のグラディエントを取得するようにする。
【００９６】
次に、学習装置１００は、アップデートプロセッシングによって、バックワードプロセッシングで取得したそれぞれのレイヤの重み付け値のグラディエントを参照にして、ＦＣレイヤ（ＦＣ７、ＦＣ６）及びコンボリューションレイヤ（ｃｏｎｖ５、ｃｏｎｖ４、ｃｏｎｖ３、ｃｏｎｖ２、ｃｏｎｖ１）の重み付け値をアップデートすることで、学習のための一回のイテレーションを遂行する。
【００９７】
そして、学習装置１００は、学習率スケジューラをもって、前記で説明した方法によって前記イテレーションの累積回数が第１条件ないし第ｎ条件の中のいずれか一つに到達するたびにロス値を参照して、現在の学習率を変更するようにし、変更された現在学習率をソルバー（ｓｏｌｖｅｒ）に伝達することで、ソルバーをもって、変更された現在学習率とそれぞれのレイヤの重み付け値グラディエントを参照してそれぞれのレイヤの重み付け値をアップデートするようにし得る。この際、ソルバーは、前記で説明したように、Ｍｏｍｅｎｔｕｍ方式、Ｎｅｓｔｅｒｏｖ  Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｄｉｅｎｔ（ＮＡＧ）方式、Ａｄａｇｒａｄ（Ａｄａｐｔｉｖｅ  Ｇｒａｄｉｅｎｔ）方式、ＲＭＳＰｒｏｐ方式、ＡｄａＤｅｌｔａ（Ａｄａｐｔｉｖｅ  Ｄｅｌｔａ）方式、Ａｄａｍ（Ａｄａｐｔｉｖｅ  Ｍｏｍｅｎｔ  Ｅｓｔｉｍａｔｉｏｎ）方式等を利用し得る。
【００９８】
図６は本発明の一例によって学習されたニューラルネットワークをテストする装置を概略的に示したもので、テスト装置２００は通信部２１０とプロセッサ２２０を含み得る。
【００９９】
通信部２１０は、学習率の変更比率調整のための定数である第１ガンマを予め設定した状態で、（ａ）学習装置が、（ｉ）前記イテレーションの累積回数が第１特定値以下を満足している間には、トレーニングデータの一部を利用して第１予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第１学習プロセスを遂行し、（ｉｉ）前記第１学習プロセスによって取得された前記ニューラルネットワークの第１ロスを参照して前記第１ガンマを第２ガンマに変更するプロセス；（ｂ）前記学習装置が、ｋを２から（ｎ−１）まで増加させながら、（ｂ１）前記イテレーションの累積回数が第（ｋ−１）特定値超過及び第ｋ特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第ｋ学習率で前記ニューラルネットワークの前記学習を繰り返す第ｋ学習プロセスを遂行し、（ｂ２）（ｉ）前記第１学習プロセスによって取得された前記ニューラルネットワークの第１ロスを参照して、前記第ｋガンマを第（ｋ＋１）ガンマに変更し、（ｉｉ）前記第（ｋ＋１）ガンマを利用して第ｋ学習率を第（ｋ＋１）学習率に変更し、（ｂ３）前記イテレーションの累積回数が第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間には、前記トレーニングデータの一部を利用して第（ｋ＋１）学習率で前記ニューラルネットワークの前記学習を繰り返す第（ｋ＋１）学習プロセス；を経て前記学習装置のパラメータを取得した状態で、テストデータを取得し得る。
【０１００】
また、プロセッサ２２０は、テストデータをニューラルネットワークに入力し、ニューラルネットワークをもって、第１学習率ないし第（ｋ＋１）学習率によって学習されたパラメータを利用して、テストデータの演算した結果を出力するようにし得る。
【０１０１】
この際、ニューラルネットワークは、（ｉ）トレーニングデータに少なくとも一つのコンボリューション演算を適用して、少なくとも一つの特徴マップを出力するようにする少なくとも一つのコンボリューションレイヤ（ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｌａｙｅｒ）、（ｉｉ）前記特徴マップ上でのＲＯＩ（Ｒｅｇｉｏｎ  Ｏｆ  Ｉｎｔｅｒｅｓｔ）に対応する領域をプーリングして算出された、少なくとも一つの特徴ベクトルに少なくとも一つのＦＣ（Ｆｕｌｌｙ  ｃｏｎｎｅｃｔｅｄ）演算を適用して、前記トレーニングデータに含まれた少なくとも一つの物体に対応する確率値を算出するようにする少なくとも一つのＦＣレイヤ（ＦＣ  ｌａｙｅｒ）、及び（ｉｉｉ）前記ＦＣレイヤから算出された前記確率値に対応する、少なくとも一つのクラススコア及び少なくとも一つのリグレッションデルタを算出する出力レイヤ（ｏｕｔｐｕｔ  ｌａｙｅｒ）を含み得る。また、前記出力レイヤの少なくとも一つの算出結果とこれに対応するＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）とを参照して計算したロスを利用してバックプロパゲーションをすることで、前記ＦＣレイヤ及び前記コンボリューションレイヤを学習する場合、前記学習装置は、前記第１学習率ないし前記第ｋ学習率を参照して、前記ＦＣレイヤ及び前記コンボリューションレイヤの少なくとも一つのパラメータの変動幅を決定し得る。
【０１０２】
このように構成されたテスト装置２００によって学習されたニューラルネットワークをテストする方法を簡略的に説明すると次のとおりである。
【０１０３】
まず、ニューラルネットワークは、図２ないし図５を参照して説明したような方法によって学習された状態であり得る。
【０１０４】
つまり、学習率の変更比率調整のための定数である第１ガンマを予め設定した状態で、（ａ）学習装置が、（ｉ）前記イテレーションの累積回数が第１特定値以下を満足している間には、トレーニングデータの一部を利用して第１予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第１学習プロセスを遂行し、（ｉｉ）前記第１学習プロセスによって取得された前記ニューラルネットワークの第１ロスを参照して前記第１ガンマを第２ガンマに変更するプロセス、（ｂ）ｋを２から（ｎ−１）まで増加させながら、（ｂ１）前記イテレーション累積回数が第（ｋ−１）特定値超過及び第ｋ特定値以下を満足している間には、前記トレーニングデータの一部を利用して第ｋ学習率で前記ニューラルネットワークの前記学習を繰り返す第ｋ学習プロセスを遂行して、（ｂ２）（ｉ）前記第ｋ学習プロセスによって取得された前記ニューラルネットワークの第ｋロスを参照して第ｋガンマを第（ｋ＋１）ガンマに変更し、（ｉｉ）前記第（ｋ＋１）ガンマを利用して第ｋ学習率を第（ｋ＋１）学習率に変更し、（ｂ３）前記イテレーションの累積回数が第ｋ特定値超過及び第（ｋ＋１）特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第（ｋ＋１）学習率で前記ニューラルネットワークの前記学習を繰り返す第（ｋ＋１）学習プロセスを遂行し得る。
【０１０５】
このようにニューラルネットワークが学習された状態で、テストデータが取得されれば、テスト装置２００が、テストデータをニューラルネットワークに入力し、ニューラルネットワークをもって、第１学習率ないし第（ｋ＋１）学習率によって学習されたパラメータを利用して、テストデータにニューラルネットワーク演算を適用した結果を出力するようにする。
【０１０６】
本発明技術分野の通常の技術者に理解され、前記で説明されたイメージ、例えばトレーニングイメージ、テストイメージといったイメージデータの送受信が学習装置及びテスト装置の各通信部によって行われ得て、特徴マップと演算を遂行するためのデータが学習装置及びテスト装置のプロセッサ（及び／またはメモリ）によって保有／維持され得て、コンボリューション演算、デコンボリューション演算、ロス値の演算過程が主に学習装置及びテスト装置のプロセッサにより遂行され得るが、本発明はこれに限定されるものではない。
【０１０７】
また、以上で説明された本発明に係る実施例は、多様なコンピュータ構成要素を通じて遂行できるプログラム命令語の形態で実装されてコンピュータで判読可能な記録媒体に記録され得る。前記コンピュータで判読可能な記録媒体はプログラム命令語、データファイル、データ構造などを単独でまたは組み合わせて含まれ得る。前記コンピュータ判読可能な記録媒体に記録されるプログラム命令語は、本発明のために特別に設計されて構成されたものか、コンピュータソフトウェア分野の当業者に公知となって使用可能なものでもよい。コンピュータで判読可能な記録媒体の例には、ハードディスク、フロッピィディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスク（ｆｌｏｐｔｉｃａｌｄｉｓｋ）のような磁気−光媒体（ｍａｇｎｅｔｏ−ｏｐｔｉｃａｌｍｅｄｉａ）、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどといったプログラム命令語を格納して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるもののような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードも含まれる。前記ハードウェア装置は、本発明に係る処理を遂行するために一つ以上のソフトウェアモジュールとして作動するように構成され得、その逆も同様である。
【０１０８】
以上、本発明が具体的な構成要素などのような特定事項と限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解を助けるために提供されたものであるに過ぎず、本発明が前記実施例に限られるものではなく、本発明が属する技術分野において通常の知識を有する者であれば係る記載から多様な修正及び変形が行われ得る。
【０１０９】
従って、本発明の思想は前記説明された実施例に局限されて定められてはならず、後述する特許請求の範囲だけでなく、本特許請求の範囲と均等または等価的に変形されたものすべては、本発明の思想の範囲に属するといえる。
【図１ａ】
2020077392.tif 000012
【図１ｂ】
2020077392.tif 000013
【図２】
2020077392.tif 000014
【図３】
2020077392.tif 000015
【図４ａ】
2020077392.tif 000016
【図４ｂ】
2020077392.tif 000017
【図５】
2020077392.tif 000018
【図６】
2020077392.tif 000019