JP6998067B2 - 適応的学習率でニューラルネットワークを学習する方法及び装置、これを利用したテスト方法及び装置 - Google Patents

適応的学習率でニューラルネットワークを学習する方法及び装置、これを利用したテスト方法及び装置 Download PDF

Info

Publication number
JP6998067B2
JP6998067B2 JP2019182935A JP2019182935A JP6998067B2 JP 6998067 B2 JP6998067 B2 JP 6998067B2 JP 2019182935 A JP2019182935 A JP 2019182935A JP 2019182935 A JP2019182935 A JP 2019182935A JP 6998067 B2 JP6998067 B2 JP 6998067B2
Authority
JP
Japan
Prior art keywords
learning
gamma
loss
iterations
neural network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019182935A
Other languages
English (en)
Other versions
JP2020077392A (ja
Inventor
ゲヒョン キム
ヨンジュン キム
インス キム
ハクギョン キム
ウンヒョン ナム
ソクフン ブ
ミョンチョル ソン
ドンフン ヨ
ウジュ リュ
テウン ジャン
ギョンジュン ジョン
ホンモ ジェ
ホジン ジョ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Stradvision Inc
Original Assignee
Stradvision Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Stradvision Inc filed Critical Stradvision Inc
Publication of JP2020077392A publication Critical patent/JP2020077392A/ja
Application granted granted Critical
Publication of JP6998067B2 publication Critical patent/JP6998067B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Feedback Control In General (AREA)
  • Complex Calculations (AREA)

Description

本発明は、適応的学習率でニューラルネットワークを学習する方法及び装置、これを利用してニューラルネットワークをテストする方法及び装置に関する。具体的には、学習のイテレーション累積回数が第1ないし第n特定値の中の一つに到達するたびに学習率を調整して、ニューラルネットワーク(neural network)を学習させる方法において、(a)学習装置が、学習率の変更比率調整のための定数である第1ガンマを予め設定した状態で、(i)前記イテレーションの累積回数が第1特定値以下を満足している間には、トレーニングデータの一部を利用して、第1予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第1学習プロセスを遂行し、(ii)前記第1学習プロセスによって取得された前記ニューラルネットワークの第1ロスを参照して、前記第1ガンマを第2ガンマに変更する段階;(b)前記学習装置が、kを2から(n-1)まで増加させながら、(b1)前記イテレーションの累積回数が第(k-1)特定値超過及び第k特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第k学習率で前記ニューラルネットワークの前記学習を繰り返す第k学習プロセスを遂行し、(b2)(i)前記第k学習プロセスによって取得された前記ニューラルネットワークの第kロスを参照して第kガンマを第(k+1)ガンマに変更し、(ii)前記第(k+1)ガンマを利用して第k学習率を第(k+1)学習率に変更し、(b3)前記イテレーションの累積回数が第k特定値超過及び第(k+1)特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第(k+1)学習率で前記ニューラルネットワークの前記学習を繰り返す第(k+1)学習プロセスを遂行する段階;を含むことを特徴とする学習方法及び装置、そしてこれを利用したテスト方法及び装置に関する。
近年、マシンラーニングを用いて物体の識別等を行う方法についての研究が行われている。このようなマシンラーニングの一つとして、入力レイヤと出力レイヤの間に複数の隠しレイヤを有する神経網を利用したマシンラーニングであるディープランニングは高い識別能力を有している。
そして、このようなディープランニングを利用するニューラルネットワークは、一般的に一つ以上のロスを利用したバックプロパゲーションにより学習を行う。
しかし、バックプロパゲーションによるニューラルネットワークの学習では、学習率、すなわち一つ以上のパラメータにロスを反映する比率を小さくするほどさらに精巧な学習が可能であるが、学習に多くの時間が必要となるデメリットがある。
したがって、従来は一定回数の繰り返し学習を行った上で、学習率を一定量減少させる方式でニューラルネットワークを学習させる。すなわち、初期学習では、学習率を大きくしてパラメータの変動幅を大きくすることにより早い学習となるようにし、以後、段階的に学習率を減少してパラメータの変動幅を小さくすることで微細調整がなされるようにする。
このような従来のニューラルネットワークを学習する方法を、図1aと図1bに基づいて説明する。
まず、ニューラルネットワークの学習率に対する初期定数値を設定する。
この際、初期定数値は、(i)初期学習率である基本学習率(lr)、(ii)学習率を変更するためのイテレーション(iteration)単位であるステップ(step)、及び(iii)学習率変更比率の調整のための定数であるガンマ(gamma)を含み得る。ここで、イテレーションは一つのバッチデータを利用した学習の繰り返し回数であり得る。
学習率は、次の数式1で表される。
[数式1]
Figure 0006998067000001
図1aは、例示的に基本学習率(lr)を0.01、ステップを100,000、ガンマを0.1に設定した状態での学習率が変更される状態を図示したものであり、図1bは、図1aでの変更される学習率を利用してニューラルネットワークを学習する状態でのロスの変更状態を図示したものである。
図1aを参照すれば、初期から100,000イテレーションまでは基本学習率である0.01の学習率を利用して、イテレーションごとにそれぞれのロスを参照したバックプロパゲーションによってニューラルネットワークを学習する。そして、イテレーションの累積回数が100,000になると、数式1によって学習率を0.001に変更した後、200,000イテレーションまで学習する。また、イテレーションの累積回数が200,000に到達すれば、数式1によって学習率を0.0001に変更して、次のステップ、つまり、300,000イテレーションまで変更された0.0001の学習率を利用して、ニューラルネットワークを学習する。同一の方法によって、それぞれのステップごとに数式1によって学習率を変更し、その後、ステップまで変更された学習率を利用してニューラルネットワークを学習する過程を繰り返す。
だが、こうした従来の学習方法は、図1bから分かるように、ロスとは関係なく、学習率を一定に減少させることで、学習率を決定する定数であるステップやガンマの最適値を数回の実験によって見つけなければならないという難点がある。
また、ステップやガンマの最適値を探した場合でも、学習のための学習データが変更されたり、ニューラルネットワークのネットワーク構造が変更される場合、学習がうまくいくステップやガンマの最適値を再び探さなくてはならないという問題点がある。
また、ステップやガンマの最適値を見つけるためには、何度かの試行錯誤を経なければならないので、一つのニューラルネットワークを学習して最適の結果を見いだすまでに多くの時間と努力が必要だという問題点がある。
本発明は、前述した問題点を全て解決することを目的とする。
本発明は、学習状況を反映して学習率を最適に調整できるようにすることを他の目的とする。
本発明は、学習状況におけるロスを参照して学習率を調整することにより、一度の学習によって学習率を最適に調整できるようにすることをまた他の目的とする。
本発明は、学習状況に応じたロスグラディエントを参照して、学習率変更割合調整のための定数であるガンマを調整し、調整されたガンマによる学習率の調整をすることで、一度の学習による最適な学習率の調整を可能とすることをまた他の目的とする。
前記のような本発明の目的を達成し、後述する本発明の特徴的な効果を実現するための、本発明の特徴的な構成は下記の通りである。
本発明の一態様によれば、学習のイテレーション(iteration)累積回数が第1ないし第n特定値の中の一つに到達するたびに学習率を調整して、ニューラルネットワーク(neural network)を学習させる方法において、(a)学習装置が、学習率の変更比率調整のための定数である第1ガンマを予め設定した状態で、(i)前記イテレーションの累積回数が第1特定値以下を満足している間には、トレーニングデータの一部を利用して第1予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第1学習プロセスを遂行し、(ii)前記第1学習プロセスによって取得された前記ニューラルネットワークの第1ロスを参照して前記第1ガンマを第2ガンマに変更する段階;(b)前記学習装置が、kを2から(n-1)まで増加させながら、(b1)前記イテレーション累積回数が第(k-1)特定値超過及び第k特定値以下を満足している間には、前記トレーニングデータの一部を利用して第k学習率で前記ニューラルネットワークの前記学習を繰り返す第k学習プロセスを遂行して、(b2)(i)前記第k学習プロセスによって取得された前記ニューラルネットワークの第kロスを参照して第kガンマを第(k+1)ガンマに変更し、(ii)前記第(k+1)ガンマを利用して第k学習率を第(k+1)学習率に変更し、(b3)前記イテレーションの累積回数が第k特定値超過及び第(k+1)特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第(k+1)学習率で前記ニューラルネットワークの前記学習を繰り返す第(k+1)学習プロセスを遂行する段階;を含むことを特徴とする学習方法が提供される。
一例として、前記(b)段階で、前記学習装置は、第kロスグラディエントを参照して前記第kガンマを第(k+1)ガンマに変更し、前記第kロスグラディエントは、前記ニューラルネットワークの(i)前記第kロス及び(ii)第(k-1)ロスを参照して算出され、前記第(k-1)ロスは、前記イテレーションの累積回数が第(k-2)特定値超過及び第(k-1)特定値以下を満足している間、前記トレーニングデータの一部を利用して前記ニューラルネットワークの前記学習を繰り返す第(k-1)学習プロセスによって取得されることを特徴とする学習方法が提供される。
一例として、前記学習装置は、前記第kロスグラディエントが予め設定された最小ロスグラディエント以上である場合、前記第kガンマと前記第kロスグラディエントとを掛け算して算出された結果を参照にして、前記第(k+1)ガンマを決定することを特徴とする学習方法が提供される。
一例として、前記学習装置は、前記第kロスグラディエントが予め設定された最小ロスグラディエント未満である場合、前記第(k+1)ガンマが前記第kガンマに決定されることを特徴とする 学習方法が提供される。
一例として、前記学習装置は、前記第(k-1)ロスの和に対する前記第kロスの和の比率を前記第kロスグラディエントに決定することを特徴とする学習方法が提供される。
一例として、前記(b)段階で、前記学習装置は、前記第k学習率と前記第(k+1)ガンマとを掛け算して算出された結果を前記第(k+1)学習率に決定することを特徴とする学習方法が提供される。
一例として、前記トレーニングデータの中の前記一部それぞれがバッチデータであり、前記イテレーションの累積回数が前記第1特定値以下を満足している間に利用される前記バッチデータの数は、前記第1学習プロセスの間のイテレーション回数と同一に決定され、前記イテレーション累積回数が前記第k特定値超過及び第(k+1)特定値以下を満足している間に利用される前記バッチデータの数は、前記第(k+1)学習プロセスの間のイテレーション回数と同様に決定されることを特徴とする学習方法が提供される。
一例として、前記イテレーションの累積回数が前記第1特定値以下を満足している間に利用された前記バッチデータ数は、前記イテレーションの累積回数が前記第k特定値超過及び前記(k+1)特定値以下を満足している間に利用されたバッチデータの数と同一であることを特徴とする学習方法が提供される。
一例として、前記ニューラルネットワークは、(i)トレーニングデータに少なくとも一つのコンボリューション演算を適用して、少なくとも一つの特徴マップを出力するようにする少なくとも一つのコンボリューションレイヤ(convolutional layer)、(ii)前記特徴マップ上でのROI(Region Of Interest)に対応する領域をプーリングして算出された、少なくとも一つの特徴ベクトルに少なくとも一つのFC(Fully connected)演算を適用して、前記トレーニングデータに含まれた少なくとも一つの物体に対応する確率値を算出するようにする少なくとも一つのFCレイヤ(FC layer)、及び(iii)前記FCレイヤから算出された前記確率値に対応する、少なくとも一つのクラススコア及び少なくとも一つのリグレッションデルタを算出する出力レイヤ(output layer)を含み、前記学習装置が、前記出力レイヤの少なくとも一つの算出結果とこれに対応するGT(Ground Truth)とを参照して計算したロスを利用してバックプロパゲーションすることにより、前記FCレイヤ及び前記コンボリューションレイヤを学習する場合、前記学習装置は、前記第1学習率ないし前記第k学習率を参照して、前記FCレイヤ及び前記コンボリューションレイヤの少なくとも一つのパラメータの変動幅を決定することを特徴とする学習方法が提供される。
一例として、(i)前記トレーニングデータの中の前記一部それぞれがバッチデータで、(ii)前記イテレーションの累積回数が前記第1特定値以下を満足している間に利用される前記バッチデータの数は、前記第1学習プロセスの間のイテレーション回数と同一に決定され、(iii)前記イテレーション累積回数が前記第k特定値超過及び第(k+1)特定値以下を満足している間に利用される前記バッチデータの数は、前記第(k+1)学習プロセスの間のイテレーション回数と同一に決定される場合、 前記学習装置は、前記それぞれのバッチデータに対応する前記出力レイヤの少なくとも一つの各算出結果と、それに対応する前記GTとを参照して計算したロスを利用してバックプロパゲーションすることにより、前記FCレイヤ及び前記コンボリューションレイヤを学習することを特徴とする学習方法が提供される。
本発明の他の態様によれば、 学習のイテレーション累積回数が第1ないし第n特定値の中の一つに到達するたびに学習率を調整して、ニューラルネットワーク(neural network)をテストする方法において、(a)学習装置が、(I)学習率の変更比率調整のための定数である第1ガンマを予め設定した状態で、(i)前記イテレーションの累積回数が第1特定値以下を満足している間には、トレーニングデータの一部を利用して、第1予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第1学習プロセスを遂行し、(ii)前記第1学習プロセスによって取得された前記ニューラルネットワークの第1ロスを参照して、前記第1ガンマを第2ガンマに変更するプロセス;(II)前記学習装置が、kを2から(n-1)まで増加させながら、(i)前記イテレーションの累積回数が第(k-1)特定値超過及び第k特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第k学習率で前記ニューラルネットワークの前記学習を繰り返す第k学習プロセスを遂行し、(ii)(ii-1)前記第k学習プロセスによって取得された前記ニューラルネットワークの第kロスを参照して第kガンマを第(k+1)ガンマに変更し、(ii-2)前記第(k+1)ガンマを利用して第k学習率を第(k+1)学習率に変更し、(iii)前記イテレーションの累積回数が第k特定値超過及び第(k+1)特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第(k+1)学習率で前記ニューラルネットワークの前記学習を繰り返す第(k+1)学習プロセス;を経て、前記学習装置のパラメータを取得した状態で、前記学習装置のパラメータを利用したテスト装置が、前記ニューラルネットワークにテストデータを入力する段階;及び(b)前記テスト装置が、前記ニューラルネットワークをもって、第1学習率ないし第(k+1)学習率によって学習されたパラメータを利用して、テストデータの演算した結果を出力する段階;を含むことを特徴とするテスト方法が提供される。
一例として、前記(II)プロセスで、前記学習装置は、第kロスグラディエントを参照して前記第kガンマを第(k+1)ガンマに変更し、前記第kロスグラディエントは、前記ニューラルネットワークの(i)前記第kロス及び(ii)第(k-1)ロスを参照して算出され、前記第(k-1)ロスは、前記イテレーションの累積回数が第(k-2)特定値超過及び第(k-1)特定値以下を満足している間、前記トレーニングデータの一部を利用して前記ニューラルネットワークの前記学習を繰り返す、第(k-1)学習プロセスによって取得されることを特徴とするテスト方法が提供される。
一例として、前記学習装置は、前記第kロスグラディエントが予め設定された最小ロスグラディエント以上である場合、前記第kガンマと前記第kロスグラディエントとを掛け算して算出された結果を参照にして、前記第(k+1)ガンマを決定することを特徴とするテスト方法が提供される。
一例として、前記ニューラルネットワークは、(i)トレーニングデータに少なくとも一つのコンボリューション演算を適用して、少なくとも一つの特徴マップを出力させる少なくとも一つのコンボリューションレイヤ(convolutional layer)、 (ii)前記特徴マップ上でのROI(Region Of Interest)に対応する領域をプーリングして算出された、少なくとも一つの特徴ベクトルに少なくとも一つのFC(Fully connected)演算を適用して、前記トレーニングデータに含まれた少なくとも一つの物体に対応する確率値を算出するようにする少なくとも一つのFCレイヤ(FC layer)、及び (iii)前記FCレイヤから算出された前記確率値に対応する、少なくとも一つのクラススコア及び少なくとも一つのリグレッションデルタを算出する出力レイヤ(output layer)を含み、前記出力レイヤの少なくとも一つの算出結果とこれに対応するGT(Ground Truth)とを参照して計算したロスを利用してバックプロパゲーションをすることで、前記FCレイヤ及び前記コンボリューションレイヤを学習する場合、前記学習装置は、前記第1学習率ないし前記第k学習率を参照して、前記FCレイヤ及び前記コンボリューションレイヤの少なくとも一つのパラメータの変動幅を決定することを特徴とするテスト方法が提供される。
一例として、(i)前記トレーニングデータの中の前記一部それぞれがバッチデータで、(ii)前記イテレーションの累積回数が前記第1特定値以下を満足している間に利用される前記バッチデータの数は、前記第1学習プロセスの間のイテレーション回数と同一に決定され、(iii)前記イテレーションの累積回数が前記第k特定値超過及び第(k+1)特定値以下を満足している間に利用する前記バッチデータの数は、前記第(k+1)学習プロセスの間のイテレーション回数と同様に決定される場合、前記学習装置は、前記それぞれのバッチデータに対応される前記出力レイヤの少なくとも一つの各算出結果と、それに対応される前記GTとを参照して計算したロスを利用してバックプロパゲーションすることで、前記FCレイヤ及び前記コンボリューションレイヤを学習することを特徴とするテスト方法が提供される。
本発明のさらに他の態様によれば、学習のイテレーション累積回数が第1ないし第n特定値の中の一つに到達するたびに学習率を調整して、ニューラルネットワーク(neural network)を学習させる学習装置において、トレーニングデータを取得する通信部;及び(I)学習率の変更比率調整のための定数である第1ガンマを予め設定した状態で、(i)前記イテレーションの累積回数が第1特定値以下を満足している間には、トレーニングデータの一部を利用して第1予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第1学習プロセスを遂行し、(ii)前記第1学習プロセスによって取得された前記ニューラルネットワークの第1ロスを参照して前記第1ガンマを第2ガンマに変更するプロセス、(II)kを2から(n-1)まで増加させながら、(II-1)前記イテレーションの累積回数が第(k-1)特定値超過及び第k特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第k学習率で前記ニューラルネットワークの前記学習を繰り返す第k学習プロセスを遂行し、(II-2)(i)前記第k学習プロセスによって取得された前記ニューラルネットワークの第kロスを参照して第kガンマを第(k+1)ガンマに変更し、(ii)前記第(k+1)ガンマを利用して第k学習率を第(k+1)学習率に変更し、(II-3)前記イテレーションの累積回数が第k特定値超過及び第(k+1)特定値以下を満足している間には、前記トレーニングデータの一部を利用して第(k+1)学習率で前記ニューラルネットワークの前記学習を繰り返す第(k+1)学習プロセスを遂行するプロセスを遂行するプロセッサ;を含むことを特徴とする学習装置が提供される。
一例として、 前記(II)プロセスで、前記プロセッサは、第kロスグラディエントを参照して前記第kガンマを第(k+1)ガンマに変更し、前記第kロスグラディエントは、前記ニューラルネットワークの(i)前記第kロス及び(ii)第(k-1)ロスを参照して算出され、前記第(k-1)ロスは、前記イテレーションの累積回数が第(k-2)特定値超過及び第(k-1)特定値以下を満足している間、前記トレーニングデータの一部を利用して前記ニューラルネットワークの前記学習を繰り返す第(k-1)学習プロセスによって取得されることを特徴とする学習装置が提供される。
一例として、前記プロセッサは、前記第kロスグラディエントが予め設定された最小ロスグラディエント以上である場合、前記第kガンマと前記第kロスグラディエントとを掛け算して算出された結果を参照にして、前記第(k+1)ガンマを決定することを特徴とする学習装置が提供される。
一例として、前記プロセッサは、前記第kロスグラディエントが予め設定された最小ロスグラディエント未満の場合、前記第(k+1)ガンマが前記第kガンマに決定されることを特徴とする学習装置が提供される。
一例として、前記プロセッサは、前記第(k-1)ロスの和に対する前記第kロスの和の比率を前記第kロスグラディエントに決定することを特徴とする学習装置が提供される。
一例として、 前記(II)プロセスで、前記プロセッサは、前記学習率と前記第(k+1)ガンマとを掛け算して算出された結果を前記第(k+1)学習率に決定することを特徴とする学習装置が提供される。
一例として、前記トレーニングデータの中の前記一部それぞれがバッチデータであり、前記イテレーションの累積回数が前記第1特定値以下を満足している間に利用される前記バッチデータの数は、前記第1学習プロセスの間のイテレーション回数と同一に決定され、前記イテレーション累積回数が前記第k特定値超過及び第(k+1)特定値以下を満足している間に利用される前記バッチデータの数は、前記第(k+1)学習プロセスの間のイテレーション回数と同一に決定されることを特徴とする学習装置が提供される。
一例として、前記イテレーションの累積回数が前記第1特定値以下を満足している間に利用された前記バッチデータ数が、前記イテレーションの累積回数が前記第k特定値超過及び前記(k+1)特定値以下を満足している間に利用されたバッチデータの数と同一であることを特徴とする学習装置が提供される。
一例として、前記ニューラルネットワークは、(i)トレーニングデータに少なくとも一つのコンボリューション演算を適用して、少なくとも一つの特徴マップを出力するようにする少なくとも一つのコンボリューションレイヤ(convolutional layer)、(ii)前記特徴マップ上でのROI(Region Of Interest)に対応する領域をプーリングして算出された、少なくとも一つの特徴ベクトルに少なくとも一つのFC(Fully connected)演算を適用して、前記トレーニングデータに含まれた少なくとも一つの物体に対応する確率値を算出するようにする少なくとも一つのFCレイヤ(FC layer)、及び(iii)前記FCレイヤから算出された前記確率値に対応する、少なくとも一つのクラススコア及び少なくとも一つのリグレッションデルタを算出する出力レイヤ(output layer)を含み、前記プロセッサが、前記出力レイヤの少なくとも一つの算出結果とこれに対応するGT(Ground Truth)とを参照して計算したロスを利用してバックプロパゲーションすることで、前記FCレイヤ及び前記コンボリューションレイヤを学習する場合、前記プロセッサは、前記第1学習率ないし前記第k学習率を参照して、前記FCレイヤ及び前記コンボリューションレイヤの少なくとも一つのパラメータの変動幅を決定することを特徴とする学習装置が提供される。
一例として、(i)前記トレーニングデータの中の前記一部それぞれがバッチデータで、(ii)前記イテレーションの累積回数が前記第1特定値以下を満足している間に利用される前記バッチデータの数は、前記第1学習プロセスの間のイテレーション回数と同一に決定され、(iii)前記イタレーションの累積回数が前記第k特定値超過及び第(k+1)特定値以下を満足している間に利用される前記バッチデータの数は、前記第(k+1)学習プロセスの間のイタレーション回数と同様に決定される場合、前記プロセッサは、前記それぞれのバッチデータに対応される前記出力レイヤの少なくとも一つの各算出結果と、それに対応される前記GTとを参照して計算したロスを利用してバックプロパゲーションすることで、前記FCレイヤ及び前記コンボリューションレイヤを学習することを特徴とする学習装置が提供される。
本発明のまた他の態様によれば、学習のイテレーション累積回数が第1ないし第n特定値の中の一つに到達するたびに学習率を調整して、ニューラルネットワーク(neural network)を学習させるテスト装置において、トレーニングデータを取得する通信部;及び(I)学習率の変更比率調整のための定数である第1ガンマを予め設定した状態で、(i)前記イテレーションの累積回数が第1特定値以下を満足している間には、トレーニングデータの一部を利用して第1予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第1学習プロセスを遂行し、(ii)前記第1学習プロセスによって取得された前記ニューラルネットワークの第1ロスを参照して前記第1ガンマを第2ガンマに変更するプロセス、(II)kを2から(n-1)まで増加させながら、(i)前記イテレーションの累積回数が第(k-1)特定値超過及び第k特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第k学習率で前記ニューラルネットワークの前記学習を繰り返す第k学習プロセスを遂行し、(ii)(ii-1)前記第k学習プロセスによって取得された前記ニューラルネットワークの第kロスを参照して第kガンマを第(k+1)ガンマに変更し、(ii-2)前記第(k+1)ガンマを利用して第k学習率を第(k+1)学習率に変更し、(iii)前記イテレーションの累積回数が第k特定値超過及び第(k+1)特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第(k+1)学習率で前記ニューラルネットワークの前記学習を繰り返す第(k+1)学習プロセスを遂行するプロセス;を経て、前記学習装置のパラメータを遂行した状態で、(1)前記学習装置のパラメータを利用して、前記ニューラルネットワークにテストデータを入力するプロセス;及び(2)前記ニューラルネットワークをもって、第1学習率ないし第(k+1)学習率によって学習されたパラメータを利用して、テストデータの演算した結果を出力するプロセス;を遂行するプロセッサ;を含むことを特徴とするテスト装置が提供される。
一例として、前記(II)プロセスで、前記プロセッサは、第kロスグラディエントを参照して前記第kガンマを第(k+1)ガンマに変更し、前記第kロスグラディエントは、前記ニューラルネットワークの(i)前記第kロス及び(ii)第(k-1)ロスを参照して算出され、前記第(k-1)ロスは、前記イテレーションの累積回数が第(k-2)特定値超過及び第(k-1)特定値以下を満足している間、前記トレーニングデータの一部を利用して前記ニューラルネットワークの前記学習を繰り返す第(k-1)学習プロセスによって取得されることを特徴とするテスト装置が提供される。
一例として、前記プロセッサは、前記第kロスグラディエントが予め設定された最小ロスグラディエント以上である場合、前記第kガンマと前記第kロスグラディエントとを掛け算して算出された結果を参照にして、前記第(k+1)ガンマを決定することを特徴とするテスト装置が提供される。
一例として、 前記ニューラルネットワークは、(i)トレーニングデータに少なくとも一つのコンボリューション演算を適用して、少なくとも一つの特徴マップを出力するようにする少なくとも一つのコンボリューションレイヤ(convolutional layer)、(ii)前記特徴マップ上でのROI(Region Of Interest)に対応する領域をプーリングして算出された、少なくとも一つの特徴ベクトルに少なくとも一つのFC(Fully connected)演算を適用して、前記トレーニングデータに含まれた少なくとも一つの物体に対応する確率値を算出するようにする少なくとも一つのFCレイヤ(FC layer)、及び(iii)前記FCレイヤから算出された前記確率値に対応する、少なくとも一つのクラススコア及び少なくとも一つのリグレッションデルタを算出する出力レイヤ(output layer)を含み、前記出力レイヤの少なくとも一つの算出結果とこれに対応するGT(Ground Truth)とを参照して計算したロスを利用してバックプロパゲーションをすることで、前記FCレイヤ及び前記コンボリューションレイヤを学習する場合、前記学習装置は、前記第1学習率ないし前記第k学習率を参照して、前記FCレイヤ及び前記コンボリューションレイヤの少なくとも一つのパラメータの変動幅を決定することを特徴とするテスト装置が提供される。
一例として、(i)前記トレーニングデータの中の前記一部それぞれがバッチデータで、(ii)前記イテレーションの累積回数が前記第1特定値以下を満足している間に利用される前記バッチデータの数は、前記第1学習プロセスの間のイテレーション回数と同一に決定され、(iii)前記イテレーションの累積回数が前記第k特定値超過及び第(k+1)特定値以下を満足している間に利用される前記バッチデータの数は、前記第(k+1)学習プロセスの間のイテレーション回数と同様に決定される場合、前記学習装置は、前記それぞれのバッチデータに対応される前記出力レイヤの少なくとも一つの各算出結果と、それに対応される前記GTとを参照して計算したロスを利用してバックプロパゲーションすることで、前記FCレイヤ及び前記コンボリューションレイヤを学習することを特徴とするテスト装置が提供される。
本発明は、学習状況を反映して学習率を最適に調整することにより、ニューラルネットワークの学習に所要される時間を最小化され得る。
また、本発明は、学習状況におけるロスを参照して学習率を調整することにより、一度の学習過程によって学習率を最適に調整し得るため、ニューラルネットワークを学習して最適の結果を見いだすまでにかかる時間と労力を最小化し得るようになる。
本発明は、学習状況に応じたロスグラディエントを参照して、学習率変更割合調整のための定数であるガンマを調整し、調整されたガンマによる学習率の調整をすることで、一度の学習により最適な学習率の調整をし得るようになり、これによってニューラルネットワークの学習に所要される時間と努力を最小化し得るようになる。
本発明の実施例の説明に利用されるために添付された以下の各図面は、本発明の実施例のうちの一部に過ぎず、本発明が属する技術分野でおいて、通常の知識を有する者(以下「通常の技術者」)は、発明的作業が行われることなくこの図面に基づいて他の図面が得られ得る。
図1aは、従来の学習方法によって学習率を変更させた状態を概略的示す図面である。 図1bは、従来の学習方法によって変更された学習率を利用して、ニューラルネットワークを学習する際にロスが変更された状態を概略的に示した図面である。 図2は、本発明の一例に係るニューラルネットワークを学習する学習装置を概略的に示した図面である。 図3は、本発明の一例に係るニューラルネットワークを学習する状態を概略的に示した図面である。 図4aは、本発明の一例に係る学習率の変化推移を概略的に示した図面である。 図4bは、本発明の一例に係るロスの変化推移を概略的に示した図面である。 図5は、本発明の一例によって物体検出を遂行し得るニューラルネットワークを学習する状態を概略的に示した図面である。 図6は、本発明の一例によってニューラルネットワークをテストするテスト装置を概略的に示した図面である。
後述する本発明に対する詳細な説明は、本発明が実施され得る特定の実施例を例示として示す添付図面を参照する。これらの実施例は当業者が本発明を実施することができるように充分詳細に説明される。本発明の多様な実施例は相互異なるが、相互排他的である必要はないことを理解されたい。例えば、ここに記載されている特定の形状、構造及び特性は一例と関連して、本発明の精神及び範囲を逸脱せず、かつ他の実施例で実装され得る。また、各々の開示された実施例内の個別構成要素の位置または配置は、本発明の精神及び範囲を逸脱せずに変更され得ることを理解されたい。従って、後述する詳細な説明は限定的な意味で捉えようとするものではなく、本発明の範囲は、適切に説明されれば、その請求項が主張することと均等なすべての範囲と、併せて添付された請求項によってのみ限定される。図面において類似する参照符号は、いくつかの側面にわたって同一であるか、類似する機能を指す。
本発明で言及している各種イメージは、舗装または非舗装道路関連のイメージを含み得、この場合、道路環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではなく、本発明で言及している各種イメージは、道路と関係のないイメージ(例えば、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内と関連したイメージ)でもあり得て、この場合、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではない。
また、本発明の詳細な説明及び各請求項にわたって、「含む」という単語及びそれらの変形は、他の技術的各特徴、各付加物、構成要素又は段階を除外することを意図したものではない。通常の技術者にとって本発明の他の各目的、長所及び各特性が、一部は本明細書から、また一部は本発明の実施から明らかになるであろう。以下の例示及び図面は、実例として提供され、本発明を限定することを意図したものではない。
以下、本発明が属する技術分野で通常の知識を有する者が本発明を容易に実施することができるようにするために、本発明の好ましい実施例について添付の図面に基づいて詳細に説明する。
図2は、本発明の一例に係るニューラルネットワークを学習する学習装置100を概略的に図示したもので、図2を参照すれば、学習装置100は、通信部110とプロセッサ120を含み得る。
先ず、通信部110は、トレーニングデータを取得し得る。
ここで、各トレーニングデータはデータベース130に格納されていることもあり、各トレーニングデータの一部はバッチデータ(batch data)として格納されることもある。この際、バッチデータの個数は、反復学習を遂行するためのイテレーションに対応するように生成されていることがあり、それぞれのバッチデータに含まれたトレーニングデータに対応するGT(ground truth)が格納されていることがある。
次に、プロセッサ120は、学習率の変更比率調整のための定数である第1ガンマを予め設定した状態で、(i)前記イテレーションの累積回数が第1特定値以下を満足している間には、トレーニングデータの一部を利用して第1予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第1学習プロセスを遂行し、(ii)前記第1学習プロセスによって取得された前記ニューラルネットワークの第1ロスを参照して前記第1ガンマを第2ガンマに変更し得る。そして、プロセッサ120が、kを2から(n-1)まで増加させながら、(I)前記イテレーション累積回数が第(k-1)特定値超過及び第k特定値以下を満足している間には、前記トレーニングデータの一部を利用して第k学習率で前記ニューラルネットワークの前記学習を繰り返す第k学習プロセスを遂行して、(II)(i)前記第k学習プロセスによって取得された前記ニューラルネットワークの第kロスを参照して第kガンマを第(k+1)ガンマに変更し、(ii)前記第(k+1)ガンマを利用して第k学習率を第(k+1)学習率に変更し、(III)前記イテレーションの累積回数が第k特定値超過及び第(k+1)特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第(k+1)学習率で前記ニューラルネットワークの前記学習を繰り返す第(k+1)学習プロセスを遂行し得る。
この際、プロセッサ120は、第kロスグラディエントを参照して前記第kガンマを第(k+1)ガンマに変更し、前記第kロスグラディエントは、前記ニューラルネットワークの(i)前記第kロス及び(ii)第(k-1)ロスを参照して算出され、前記第(k-1)ロスは、前記イテレーションの累積回数が第(k-2)特定値超過及び第(k-1)特定値以下を満足している間、前記トレーニングデータの一部を利用して前記ニューラルネットワークの前記学習を繰り返す第(k-1)学習プロセスによって取得され得る。また、前記第kロスグラディエントが予め設定された最小ロスグラディエント以上の場合、前記プロセッサ120は、前記第kガンマと、前記第kロスグラディエントとを掛け算して算出された結果を参考にして前記第(k+1)ガンマを決定し、前記第kロスグラディエントが予め設定された最小ロスグラディエント未満の場合、前記第(k+1)ガンマが前記第kガンマに決定され得る。
この際、本発明の一例に係る学習装置100は、コンピューティング装置であり、プロセッサを搭載して演算能力を備えた装置であればいくらでも本発明に係る学習装置100として採択され得る。また、図2では一つの学習装置100のみを示したが、これに限定されず、学習装置は複数に分けて役割を遂行することもできる。
このように構成された本発明の一例に係る学習装置100を利用してニューラルネットワークを学習する方法を、図3に基づいて説明する。
まず、学習装置100がフォーワードプロセッシングによって、トレーニングデータの一部をニューラルネットワークの入力レイヤ(I)に入力すると、入力レイヤ(I)によって演算された値に重み付け値(Wij)を適用して、重み付け値が適用された第1値を隠しレイヤ(J)に入力する。そして、隠しレイヤ(J)がこれの入力を受けて所定の演算を遂行すると、学習装置100は、隠しレイヤ(J)によって演算された値に重み付け値(Wjk)を適用して出力レイヤ(K)へ入力するようにし、出力レイヤ(K)がこれの入力を受けて所定の演算を実行すると、学習装置100は出力レイヤー(K)によって演算された値を出力するようにする。
ここで、隠しレイヤ(J)は一つのレイヤを示したが、これに限られず、隠しレイヤ(J)は複数のレイヤを含み得る。そして、それぞれの重み付け値(Wij, Wjk)は、初期値が設定された状態であり得る。
その後、学習装置100は、ニューラルネットワークの出力、つまり出力レイヤ(K)から出力された結果及びこれに対応するGTを参照してロスを取得する。
そして、学習装置100は、取得されたロスを利用してバックプロパゲーションを通じてニューラルネットワークを学習する。
ここで、学習過程は、ニューラルネットワークそれぞれのフレームワークレイヤを結ぶシノプシスの連結強度の重み付け値を調整して、ロスを減らすために行われ得る。
一例として、確率的勾配降下法(stochastic gradient descent;SGD)を利用してバックプロパゲーションを遂行する場合には、次の数式2によって、それぞれの重み付け値を調整することができる。
[数式2]
Figure 0006998067000002
数式2で、lrは学習率を示し、Cは費用関数を示す。
ここで、費用関数は、指導学習・自律学習・強化学習などの学習の形態と活性化関数(activation function)のような要因によって決定され得る。
例えば、多重クラス分類問題(multiclass classification problem)に指導学習を行う際、一般に活性化関数及び費用関数はそれぞれソフトマックス関数(softmax function)及び交差エントロピー関数(crossentropy function)で決定される。
ソフトマックス関数は、数式3のように表され得り、費用関数は数式4のように表され得る。
[数式3]
Figure 0006998067000003
[数式4]
Figure 0006998067000004
数式3で、pはクラス確率(class probability)を表し、xはユニットjへの全体入力(total input)を表し、xはユニットkへの全体入力を表している。
そして、数式4で、dは出力ユニットjに対する目標確率(target probability)を表し、pは活性化関数を適用した以降のユニットjに対する確率出力(probability output)である。
前記ではロスを用いたバックプロパゲーションの一例として、確率的勾配降下法(SGD)について説明したが、本発明はこれに限らず、Momentum方式、Nesterov Accelerated Gradient(NAG)方式、Adagrad(Adaptive Gradient)方式、RMSProp方式、AdaDelta(Adaptive Delta)方式、Adam(Adaptive Moment Estimation)方式等を用いてニューラルネットワークの学習をするためのバックプロパゲーションを遂行し得る。
前記でのトレーニングデータの一部を利用したニューラルネットワークのフォーワードプロセッシング、ロスを利用したバックワードプロセッシング、そして、重み付け値のアップデートを遂行するプロセッシングを一度のイテレーションと定義し得る。また、トレーニングデータの一部は、それぞれのバッチデータであることもあり、バッチデータの個数は、反復学習を遂行するためのイテレーションの回数に対応するように生成されていることもある。
また、学習装置100は、学習のイテレーションの累積回数、つまり、イテレーションの特定値の中の一つになるたびに学習率を調整してニューラルネットワークを学習させる。
特定値は、学習率を調整するためのイテレーション単位によって予め設定され得て、学習率調整のためのイテレーション単位をステップとした場合、イテレーション累積回数がステップに設定された数字またはステップの積の一つに到達するたびに学習率を調整することができる。一例として、ステップが10,000と設定されれば、10,000の倍数が第1ないし第n特定の値に設定され得り、ニューラルネットワークの一度の学習過程の間、ニューラルネットワークはnx10,000回のイテレーション分の学習が行われ得る。しかし、本発明はこれに限られず、ステップは固定された数字ではないこともあり得、ステップの積が適用されないこともあり得る。
以下では、イテレーションの累積回数が特定値の中の一つになるたびに学習率を調整して、学習装置100がニューラルネットワークを学習する過程をもう少し詳しく説明する。
学習率の変更比率調整のための定数である第1ガンマを予め設定した状態で、学習装置100が、(i)前記イテレーションの累積回数が第1特定値以下を満足している間には、トレーニングデータの一部を利用して第1期予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第1学習プロセスを遂行し、(ii)前記第1学習プロセスによって取得された前記ニューラルネットワークの第1ロスを参照して前記第1ガンマを第2ガンマに変更することができる。ここで、バッチデータの数は、第1学習プロセスの間のイテレーション回数として決定され得る。第1ガンマを第2ガンマに変更する方法については、次で説明することにする。
その後、学習装置100は、kを2から(n-1)まで増加させながら、(I)前記イテレーションの累積回数が第(k-1)特定値超過及び第k特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第k学習率で前記ニューラルネットワークの前記学習を繰り返す第k学習プロセスを遂行し、(II)(i)前記第k学習プロセスによって取得された前記ニューラルネットワークの第kロスを参照して第kガンマを第(k+1)ガンマに変更し、(ii)前記第(k+1)ガンマを利用して第k学習率を第(k+1)学習率に変更する。
この際、前記学習装置100は、第kロスグラディエントを参照して前記第kガンマを第(k+1)ガンマに変更し、前記第kロスグラディエントは、前記ニューラルネットワークの(i)前記第kロス及び(ii)第(k-1)ロスを参照して算出される。ここで、前記第(k-1)ロスは、前記イテレーションの累積回数が第(k-2)特定値超過及び第(k-1)特定値以下を満足している間、前記トレーニングデータの一部を利用して、前記ニューラルネットワークの前記学習を繰り返す第(k-1)学習プロセスによって取得される。
つまり、学習装置100は、数式5によって、第(k-1)ロスの和を演算して、数式6によって、第kロスの和を演算する。
[数式5]
Figure 0006998067000005
[数式6]
Figure 0006998067000006
そして、学習装置100は、数式7によって、第(k-1)ロスの和に対する、第kロスの和の比率を第kロスグラディエントとして決定する。
[数式7]
Figure 0006998067000007
その後、学習装置100は、第kロスグラディエントを予め設定された最小ロスグラディエントと比較した結果、第kロスグラディエントが予め設定された最小ロスグラディエント以上である場合、第kガンマを第(k+1)ガンマにアップデートする。ここで、第(k+1)ガンマは、数式8のように、第kガンマと第kロスグラディエントとの積で決定される。しかし、第kロスグラディエントを予め設定された最小ロスグラディエントと比較した結果、第kロスグラディエントが予め設定された最小ロスグラディエント未満である場合、第kガンマを第(k+1)ガンマに決定される。
[数式8]
Figure 0006998067000008
ここで、イテレーションの累積回数が特定の値に到達すると、ニューラルネットワークの学習が早く終わり、十分な学習がなされないので、学習率はロスグラディエントが予め設定された値以上である場合(すなわち、最小ロスグラディエント)だけに学習率を減少させるようにして、十分な学習が行われるようにする。
そして、学習装置100は、数式9によって、第k学習率と第(k+1)ガンマを掛け算した結果を第(k+1)学習率として決定する。
[数式9]
Figure 0006998067000009
次に、学習装置100は、前記イテレーションの累積回数が第k特定値超過及び第(k+1)特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第(k+1)学習率で前記ニューラルネットワークの前記学習を繰り返す第(k+1)学習プロセスを遂行し得る。ここで、バッチデータの数は、前記第(k+1)学習プロセスの間のイテレーション回数として決定され得る。従って、第1学習プロセスで利用される配置データの数は、第(k+1)学習プロセスで利用されるバッチデータの数と同じである。
このような本発明の一例に係るニューラルネットワークの学習方法を、図4a及び図4bに基づいて説明する。
図4aは、本発明の一例に係る学習率の変動状態を示したもので、初期定数値は、初期学習率の基本学習率(lr)を0.0、学習率を変更するためのイテレーション単位であるステップを10,000、学習率の変更比率調整のための定数であるガンマを0.9に設定したものを例示的に示したものである。この際、ステップを従来の学習方法である図1aでの100,000より減らし、ガンマを従来の学習方法である図1aでの0.1より大きくしたのは、学習率をロスに対応して少しずつ頻繁に減少させるためのものである。
従って、本発明では、従来の学習方法である図1とは異なって、学習率が継続的に変更される。
また、図4bからわかるように、ロスによって学習率が変更されるので、従来の学習方法である学習率の変更によってロスが変更される図1bと異なって、ロスが継続的に減少されるので、一度の学習過程だけでも最適の学習率を取得され得るようになる。
図5は、本発明の一例によって物体検出を遂行し得るニューラルネットワークを学習する状態を概略的に示した図面である。
まず、学習装置100は、フォーワードプロセッシングによって、(i)少なくとも一つのコンボリューションレイヤ(conv1、conv2、conv3、conv4、conv5)をもって、トレーニングデータの一部に少なくとも一つのコンボリューション演算を適用して、少なくとも一つの特徴マップを出力するようにし、(ii)少なくとも一つのFCレイヤ(FC6、FC7)をもって、特徴マップ上でのROIに対応する領域をプーリングして算出された少なくとも一つの特徴ベクトルに少なくとも一つのFC演算を適用して、前記トレーニングデータに含まれた少なくとも一つの物体に対応する確率値を算出して、(iii)出力レイヤをもって、前記FCレイヤから算出された前記確率値に対応する、少なくとも一つのクラススコア及び少なくとも一つのリグレッションデルタを算出する。
この際、学習装置100は、フォーワードプロセッシングによって、それぞれのレイヤの各出力を計算するようになり、最終的にGTを参照してロスレイヤのロス値を計算する。
次に、学習装置100は、バックワードプロセッシングによって、フォーワードプロセッシングで計算したそれぞれのレイヤの各出力値を利用して、後ろ側のレイヤからバックワード方向でロス値を減らすための出力値のグラディエントを伝達する。
この際、学習装置100は、それぞれのレイヤをもって、後ろ側のレイヤから受け取った出力値のグラディエントによって重み付け値のグラディエントを取得するようにする。
次に、学習装置100は、アップデートプロセッシングによって、バックワードプロセッシングで取得したそれぞれのレイヤの重み付け値のグラディエントを参照にして、FCレイヤ(FC7、FC6)及びコンボリューションレイヤ(conv5、conv4、conv3、conv2、conv1)の重み付け値をアップデートすることで、学習のための一回のイテレーションを遂行する。
そして、学習装置100は、学習率スケジューラをもって、前記で説明した方法によって前記イテレーションの累積回数が第1条件ないし第n条件の中のいずれか一つに到達するたびにロス値を参照して、現在の学習率を変更するようにし、変更された現在学習率をソルバー(solver)に伝達することで、ソルバーをもって、変更された現在学習率とそれぞれのレイヤの重み付け値グラディエントを参照してそれぞれのレイヤの重み付け値をアップデートするようにし得る。この際、ソルバーは、前記で説明したように、Momentum方式、Nesterov Accelerated Gradient(NAG)方式、Adagrad(Adaptive Gradient)方式、RMSProp方式、AdaDelta(Adaptive Delta)方式、Adam(Adaptive Moment Estimation)方式等を利用し得る。
図6は本発明の一例によって学習されたニューラルネットワークをテストする装置を概略的に示したもので、テスト装置200は通信部210とプロセッサ220を含み得る。
通信部210は、学習率の変更比率調整のための定数である第1ガンマを予め設定した状態で、(a)学習装置が、(i)前記イテレーションの累積回数が第1特定値以下を満足している間には、トレーニングデータの一部を利用して第1予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第1学習プロセスを遂行し、(ii)前記第1学習プロセスによって取得された前記ニューラルネットワークの第1ロスを参照して前記第1ガンマを第2ガンマに変更するプロセス;(b)前記学習装置が、kを2から(n-1)まで増加させながら、(b1)前記イテレーションの累積回数が第(k-1)特定値超過及び第k特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第k学習率で前記ニューラルネットワークの前記学習を繰り返す第k学習プロセスを遂行し、(b2)(i)前記第1学習プロセスによって取得された前記ニューラルネットワークの第1ロスを参照して、前記第kガンマを第(k+1)ガンマに変更し、(ii)前記第(k+1)ガンマを利用して第k学習率を第(k+1)学習率に変更し、(b3)前記イテレーションの累積回数が第k特定値超過及び第(k+1)特定値以下を満足している間には、前記トレーニングデータの一部を利用して第(k+1)学習率で前記ニューラルネットワークの前記学習を繰り返す第(k+1)学習プロセス;を経て前記学習装置のパラメータを取得した状態で、テストデータを取得し得る。
また、プロセッサ220は、テストデータをニューラルネットワークに入力し、ニューラルネットワークをもって、第1学習率ないし第(k+1)学習率によって学習されたパラメータを利用して、テストデータの演算した結果を出力するようにし得る。
この際、ニューラルネットワークは、(i)トレーニングデータに少なくとも一つのコンボリューション演算を適用して、少なくとも一つの特徴マップを出力するようにする少なくとも一つのコンボリューションレイヤ(convolutional layer)、(ii)前記特徴マップ上でのROI(Region Of Interest)に対応する領域をプーリングして算出された、少なくとも一つの特徴ベクトルに少なくとも一つのFC(Fully connected)演算を適用して、前記トレーニングデータに含まれた少なくとも一つの物体に対応する確率値を算出するようにする少なくとも一つのFCレイヤ(FC layer)、及び(iii)前記FCレイヤから算出された前記確率値に対応する、少なくとも一つのクラススコア及び少なくとも一つのリグレッションデルタを算出する出力レイヤ(output layer)を含み得る。また、前記出力レイヤの少なくとも一つの算出結果とこれに対応するGT(Ground Truth)とを参照して計算したロスを利用してバックプロパゲーションをすることで、前記FCレイヤ及び前記コンボリューションレイヤを学習する場合、前記学習装置は、前記第1学習率ないし前記第k学習率を参照して、前記FCレイヤ及び前記コンボリューションレイヤの少なくとも一つのパラメータの変動幅を決定し得る。
このように構成されたテスト装置200によって学習されたニューラルネットワークをテストする方法を簡略的に説明すると次のとおりである。
まず、ニューラルネットワークは、図2ないし図5を参照して説明したような方法によって学習された状態であり得る。
つまり、学習率の変更比率調整のための定数である第1ガンマを予め設定した状態で、(a)学習装置が、(i)前記イテレーションの累積回数が第1特定値以下を満足している間には、トレーニングデータの一部を利用して第1予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第1学習プロセスを遂行し、(ii)前記第1学習プロセスによって取得された前記ニューラルネットワークの第1ロスを参照して前記第1ガンマを第2ガンマに変更するプロセス、(b)kを2から(n-1)まで増加させながら、(b1)前記イテレーション累積回数が第(k-1)特定値超過及び第k特定値以下を満足している間には、前記トレーニングデータの一部を利用して第k学習率で前記ニューラルネットワークの前記学習を繰り返す第k学習プロセスを遂行して、(b2)(i)前記第k学習プロセスによって取得された前記ニューラルネットワークの第kロスを参照して第kガンマを第(k+1)ガンマに変更し、(ii)前記第(k+1)ガンマを利用して第k学習率を第(k+1)学習率に変更し、(b3)前記イテレーションの累積回数が第k特定値超過及び第(k+1)特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第(k+1)学習率で前記ニューラルネットワークの前記学習を繰り返す第(k+1)学習プロセスを遂行し得る。
このようにニューラルネットワークが学習された状態で、テストデータが取得されれば、テスト装置200が、テストデータをニューラルネットワークに入力し、ニューラルネットワークをもって、第1学習率ないし第(k+1)学習率によって学習されたパラメータを利用して、テストデータにニューラルネットワーク演算を適用した結果を出力するようにする。
本発明技術分野の通常の技術者に理解され、前記で説明されたイメージ、例えばトレーニングイメージ、テストイメージといったイメージデータの送受信が学習装置及びテスト装置の各通信部によって行われ得て、特徴マップと演算を遂行するためのデータが学習装置及びテスト装置のプロセッサ(及び/またはメモリ)によって保有/維持され得て、コンボリューション演算、デコンボリューション演算、ロス値の演算過程が主に学習装置及びテスト装置のプロセッサにより遂行され得るが、本発明はこれに限定されるものではない。
また、以上で説明された本発明に係る実施例は、多様なコンピュータ構成要素を通じて遂行できるプログラム命令語の形態で実装されてコンピュータで判読可能な記録媒体に記録され得る。前記コンピュータで判読可能な記録媒体はプログラム命令語、データファイル、データ構造などを単独でまたは組み合わせて含まれ得る。前記コンピュータ判読可能な記録媒体に記録されるプログラム命令語は、本発明のために特別に設計されて構成されたものか、コンピュータソフトウェア分野の当業者に公知となって使用可能なものでもよい。コンピュータで判読可能な記録媒体の例には、ハードディスク、フロッピィディスク及び磁気テープのような磁気媒体、CD-ROM、DVDのような光記録媒体、フロプティカルディスク(flopticaldisk)のような磁気-光媒体(magneto-opticalmedia)、およびROM、RAM、フラッシュメモリなどといったプログラム命令語を格納して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるもののような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードも含まれる。前記ハードウェア装置は、本発明に係る処理を遂行するために一つ以上のソフトウェアモジュールとして作動するように構成され得、その逆も同様である。
以上、本発明が具体的な構成要素などのような特定事項と限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解を助けるために提供されたものであるに過ぎず、本発明が前記実施例に限られるものではなく、本発明が属する技術分野において通常の知識を有する者であれば係る記載から多様な修正及び変形が行われ得る。
従って、本発明の思想は前記説明された実施例に局限されて定められてはならず、後述する特許請求の範囲だけでなく、本特許請求の範囲と均等または等価的に変形されたものすべては、本発明の思想の範囲に属するといえる。

Claims (26)

  1. 学習のイテレーション(iteration)累積回数が第1ないし第n特定値の中の一つに到達するたびに学習率を調整して、ニューラルネットワーク(neural network)を学習させる方法において、
    (a)学習装置が、学習率の変更比率調整のための定数である第1ガンマを予め設定した状態で、(i)前記イテレーションの累積回数が第1特定値以下を満足している間には、トレーニングデータの一部を利用して第1予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第1学習プロセスを遂行し、(ii)前記第1学習プロセスによって取得された前記ニューラルネットワークの第1ロスを参照して前記第1ガンマを第2ガンマに変更する段階;
    (b)前記学習装置が、kを2から(n-1)まで増加させながら、(b1)前記イテレーション累積回数が第(k-1)特定値より大きく、かつ、第k特定値以下を満足している間には、前記トレーニングデータの一部を利用して第k学習率で前記ニューラルネットワークの前記学習を繰り返す第k学習プロセスを遂行して、(b2)(i)前記第k学習プロセスによって取得された前記ニューラルネットワークの第kロスを参照して第kガンマを第(k+1)ガンマに変更し、(ii)前記第(k+1)ガンマを利用して第k学習率を第(k+1)学習率に変更し、(b3)前記イテレーションの累積回数が第k特定値より大きく、かつ、第(k+1)特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第(k+1)学習率で前記ニューラルネットワークの前記学習を繰り返す第(k+1)学習プロセスを遂行する段階;
    を含み、
    前記(b)段階で、
    前記学習装置は、第kロスグラディエントを参照して前記第kガンマを第(k+1)ガンマに変更し、前記第kロスグラディエントは、前記ニューラルネットワークの(i)前記第kロス及び(ii)第(k-1)ロスを参照して算出され、前記第(k-1)ロスは、前記イテレーションの累積回数が第(k-2)特定値より大きく、かつ、第(k-1)特定値以下を満足している間、前記トレーニングデータの一部を利用して前記ニューラルネットワークの前記学習を繰り返す第(k-1)学習プロセスによって取得されることを特徴とする学習方法。
  2. 前記学習装置は、前記第kロスグラディエントが予め設定された最小ロスグラディエント以上である場合、前記第kガンマと前記第kロスグラディエントとを掛け算して算出された結果を参照にして、前記第(k+1)ガンマを決定することを特徴とする請求項1に記載の学習方法。
  3. 前記学習装置は、前記第kロスグラディエントが予め設定された最小ロスグラディエント未満である場合、前記第(k+1)ガンマが前記第kガンマに決定されることを特徴とする請求項1に記載の学習方法。
  4. 前記学習装置は、前記第(k-1)ロスの和に対する前記第kロスの和の比率を前記第kロスグラディエントに決定することを特徴とする請求項1に記載の学習方法。
  5. 前記(b)段階で、
    前記学習装置は、前記第k学習率と前記第(k+1)ガンマとを掛け算して算出された結果を前記第(k+1)学習率に決定することを特徴とする請求項1に記載の学習方法。
  6. 前記トレーニングデータの中の前記一部それぞれがバッチデータであり、
    前記イテレーションの累積回数が前記第1特定値以下を満足している間に利用される前記バッチデータの数は、前記第1学習プロセスの間のイテレーション回数と同一に決定され、
    前記イテレーション累積回数が前記第k特定値より大きく、かつ、前記第(k+1)特定値以下を満足している間に利用される前記バッチデータの数は、前記第(k+1)学習プロセスの間のイテレーション回数と同様に決定されることを特徴とする請求項1に記載の学習方法。
  7. 前記イテレーションの累積回数が前記第1特定値以下を満足している間に利用された前記バッチデータ数は、前記イテレーションの累積回数が前記第k特定値より大きく、かつ、前記(k+1)特定値以下を満足している間に利用されたバッチデータの数と同一であることを特徴とする請求項6に記載の学習方法。
  8. 前記ニューラルネットワークは、(i)トレーニングデータに少なくとも一つのコンボリューション演算を適用して、少なくとも一つの特徴マップを出力するようにする少なくとも一つのコンボリューションレイヤ(convolutional layer)、(ii)前記特徴マップ上でのROI(Region Of Interest)に対応する領域をプーリングして算出された、少なくとも一つの特徴ベクトルに少なくとも一つのFC(Fully connected)演算を適用して、前記トレーニングデータに含まれた少なくとも一つの物体に対応する確率値を算出するようにする少なくとも一つのFCレイヤ(FC layer)、及び(iii)前記FCレイヤから算出された前記確率値に対応する、少なくとも一つのクラススコア及び少なくとも一つのリグレッションデルタを算出する出力レイヤ(output layer)を含み、
    前記学習装置が、前記出力レイヤの少なくとも一つの算出結果とこれに対応するGT(Ground Truth)とを参照して計算したロスを利用してバックプロパゲーションすることにより、前記FCレイヤ及び前記コンボリューションレイヤを学習する場合、前記学習装置は、前記第1学習率ないし前記第k学習率を参照して、前記FCレイヤ及び前記コンボリューションレイヤの少なくとも一つのパラメータの変動幅を決定することを特徴とする請求項1に記載の学習方法。
  9. (i)前記トレーニングデータの中の前記一部それぞれがバッチデータで、(ii)前記イテレーションの累積回数が前記第1特定値以下を満足している間に利用される前記バッチデータの数は、前記第1学習プロセスの間のイテレーション回数と同一に決定され、(iii)前記イテレーション累積回数が前記第k特定値より大きく、かつ、前記第(k+1)特定値以下を満足している間に利用される前記バッチデータの数は、前記第(k+1)学習プロセスの間のイテレーション回数と同一に決定される場合、 前記学習装置は、前記それぞれのバッチデータに対応する前記出力レイヤの少なくとも一つの各算出結果と、それに対応する前記GTとを参照して計算したロスを利用してバックプロパゲーションすることにより、前記FCレイヤ及び前記コンボリューションレイヤを学習することを特徴とする請求項8に記載の学習方法。
  10. 学習のイテレーション累積回数が第1ないし第n特定値の中の一つに到達するたびに学習率を調整して、ニューラルネットワーク(neural network)をテストする方法において、
    (a)学習装置が、(I)学習率の変更比率調整のための定数である第1ガンマを予め設定した状態で、(i)前記イテレーションの累積回数が第1特定値以下を満足している間には、トレーニングデータの一部を利用して、第1予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第1学習プロセスを遂行し、(ii)前記第1学習プロセスによって取得された前記ニューラルネットワークの第1ロスを参照して、前記第1ガンマを第2ガンマに変更するプロセス;(II)前記学習装置が、kを2から(n-1)まで増加させながら、(i)前記イテレーションの累積回数が第(k-1)特定値より大きく、かつ、第k特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第k学習率で前記ニューラルネットワークの前記学習を繰り返す第k学習プロセスを遂行し、(ii)(ii-1)前記第k学習プロセスによって取得された前記ニューラルネットワークの第kロスを参照して第kガンマを第(k+1)ガンマに変更し、(ii-2)前記第(k+1)ガンマを利用して第k学習率を第(k+1)学習率に変更し、(iii)前記イテレーションの累積回数が第k特定値より大きく、かつ、第(k+1)特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第(k+1)学習率で前記ニューラルネットワークの前記学習を繰り返す第(k+1)学習プロセス;を経て、前記学習装置のパラメータを取得した状態で、前記学習装置のパラメータを利用したテスト装置が、前記ニューラルネットワークにテストデータを入力する段階;及び
    (b)前記テスト装置が、前記ニューラルネットワークをもって、第1学習率ないし第(k+1)学習率によって学習されたパラメータを利用して、テストデータの演算した結果を出力する段階;
    を含み、
    前記(II)プロセスで、
    前記学習装置は、第kロスグラディエントを参照して前記第kガンマを第(k+1)ガンマに変更し、前記第kロスグラディエントは、前記ニューラルネットワークの(i)前記第kロス及び(ii)第(k-1)ロスを参照して算出され、前記第(k-1)ロスは、前記イテレーションの累積回数が第(k-2)特定値より大きく、かつ、第(k-1)特定値以下を満足している間、前記トレーニングデータの一部を利用して前記ニューラルネットワークの前記学習を繰り返す、第(k-1)学習プロセスによって取得されることを特徴とするテスト方法。
  11. 前記学習装置は、前記第kロスグラディエントが予め設定された最小ロスグラディエント以上である場合、前記第kガンマと前記第kロスグラディエントとを掛け算して算出された結果を参照にして、前記第(k+1)ガンマを決定することを特徴とする請求項10に記載のテスト方法。
  12. 前記ニューラルネットワークは、(i)トレーニングデータに少なくとも一つのコンボリューション演算を適用して、少なくとも一つの特徴マップを出力させる少なくとも一つのコンボリューションレイヤ(convolutional layer)、(ii)前記特徴マップ上でのROI(Region Of Interest)に対応する領域をプーリングして算出された、少なくとも一つの特徴ベクトルに少なくとも一つのFC(Fully connected)演算を適用して、前記トレーニングデータに含まれた少なくとも一つの物体に対応する確率値を算出するようにする少なくとも一つのFCレイヤ(FC layer)、及び (iii)前記FCレイヤから算出された前記確率値に対応する、少なくとも一つのクラススコア及び少なくとも一つのリグレッションデルタを算出する出力レイヤ(output layer)を含み、
    前記出力レイヤの少なくとも一つの算出結果とこれに対応するGT(Ground Truth)とを参照して計算したロスを利用してバックプロパゲーションをすることで、前記FCレイヤ及び前記コンボリューションレイヤを学習する場合、前記学習装置は、前記第1学習率ないし前記第k学習率を参照して、前記FCレイヤ及び前記コンボリューションレイヤの少なくとも一つのパラメータの変動幅を決定することを特徴とする請求項10に記載のテスト方法。
  13. (i)前記トレーニングデータの中の前記一部それぞれがバッチデータで、(ii)前記イテレーションの累積回数が前記第1特定値以下を満足している間に利用される前記バッチデータの数は、前記第1学習プロセスの間のイテレーション回数と同一に決定され、(iii)前記イテレーションの累積回数が前記第k特定値より大きく、かつ、前記第(k+1)特定値以下を満足している間に利用する前記バッチデータの数は、前記第(k+1)学習プロセスの間のイテレーション回数と同様に決定される場合、前記学習装置は、前記それぞれのバッチデータに対応される前記出力レイヤの少なくとも一つの各算出結果と、それに対応される前記GTとを参照して計算したロスを利用してバックプロパゲーションすることで、前記FCレイヤ及び前記コンボリューションレイヤを学習することを特徴とする請求項12に記載のテスト方法。
  14. 学習のイテレーション累積回数が第1ないし第n特定値の中の一つに到達するたびに学習率を調整して、ニューラルネットワーク(neural network)を学習させる学習装置において、
    トレーニングデータを取得する通信部;及び
    (I)学習率の変更比率調整のための定数である第1ガンマを予め設定した状態で、(i)前記イテレーションの累積回数が第1特定値以下を満足している間には、トレーニングデータの一部を利用して第1予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第1学習プロセスを遂行し、(ii)前記第1学習プロセスによって取得された前記ニューラルネットワークの第1ロスを参照して前記第1ガンマを第2ガンマに変更するプロセス、(II)kを2から(n-1)まで増加させながら、(II-1)前記イテレーションの累積回数が第(k-1)特定値より大きく、かつ、第k特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第k学習率で前記ニューラルネットワークの前記学習を繰り返す第k学習プロセスを遂行し、(II-2)(i)前記第k学習プロセスによって取得された前記ニューラルネットワークの第kロスを参照して第kガンマを第(k+1)ガンマに変更し、(ii)前記第(k+1)ガンマを利用して第k学習率を第(k+1)学習率に変更し、(II-3)前記イテレーションの累積回数が第k特定値より大きく、かつ、第(k+1)特定値以下を満足している間には、前記トレーニングデータの一部を利用して第(k+1)学習率で前記ニューラルネットワークの前記学習を繰り返す第(k+1)学習プロセスを遂行するプロセスを遂行するプロセッサ;
    を含み、
    前記(II)プロセスで、
    前記プロセッサは、第kロスグラディエントを参照して前記第kガンマを第(k+1)ガンマに変更し、前記第kロスグラディエントは、前記ニューラルネットワークの(i)前記第kロス及び(ii)第(k-1)ロスを参照して算出され、前記第(k-1)ロスは、前記イテレーションの累積回数が第(k-2)特定値より大きく、かつ、第(k-1)特定値以下を満足している間、前記トレーニングデータの一部を利用して前記ニューラルネットワークの前記学習を繰り返す第(k-1)学習プロセスによって取得されることを特徴とする学習装置。
  15. 前記プロセッサは、前記第kロスグラディエントが予め設定された最小ロスグラディエント以上である場合、前記第kガンマと前記第kロスグラディエントとを掛け算して算出された結果を参照にして、前記第(k+1)ガンマを決定することを特徴とする請求項14に記載の学習装置。
  16. 前記プロセッサは、前記第kロスグラディエントが予め設定された最小ロスグラディエント未満の場合、前記第(k+1)ガンマが前記第kガンマに決定されることを特徴とする請求項14に記載の学習装置。
  17. 前記プロセッサは、前記第(k-1)ロスの和に対する前記第kロスの和の比率を前記第kロスグラディエントに決定することを特徴とする請求項14に記載の学習装置。
  18. 前記(II)プロセスで、
    前記プロセッサは、前記学習率と前記第(k+1)ガンマとを掛け算して算出された結果を前記第(k+1)学習率に決定することを特徴とする請求項14に記載の学習装置。
  19. 前記トレーニングデータの中の前記一部それぞれがバッチデータであり、
    前記イテレーションの累積回数が前記第1特定値以下を満足している間に利用される前記バッチデータの数は、前記第1学習プロセスの間のイテレーション回数と同一に決定され、
    前記イテレーション累積回数が前記第k特定値より大きく、かつ、前記第(k+1)特定値以下を満足している間に利用される前記バッチデータの数は、前記第(k+1)学習プロセスの間のイテレーション回数と同一に決定されることを特徴とする請求項14に記載の学習装置。
  20. 前記イテレーションの累積回数が前記第1特定値以下を満足している間に利用された前記バッチデータ数が、前記イテレーションの累積回数が前記第k特定値より大きく、かつ、前記(k+1)特定値以下を満足している間に利用されたバッチデータの数と同一であることを特徴とする請求項19に記載の学習装置。
  21. 前記ニューラルネットワークは、(i)トレーニングデータに少なくとも一つのコンボリューション演算を適用して、少なくとも一つの特徴マップを出力するようにする少なくとも一つのコンボリューションレイヤ(convolutional layer)、(ii)前記特徴マップ上でのROI(Region Of Interest)に対応する領域をプーリングして算出された、少なくとも一つの特徴ベクトルに少なくとも一つのFC(Fully connected)演算を適用して、前記トレーニングデータに含まれた少なくとも一つの物体に対応する確率値を算出するようにする少なくとも一つのFCレイヤ(FC layer)、及び(iii)前記FCレイヤから算出された前記確率値に対応する、少なくとも一つのクラススコア及び少なくとも一つのリグレッションデルタを算出する出力レイヤ(output layer)を含み、
    前記プロセッサが、前記出力レイヤの少なくとも一つの算出結果とこれに対応するGT(Ground Truth)とを参照して計算したロスを利用してバックプロパゲーションすることで、前記FCレイヤ及び前記コンボリューションレイヤを学習する場合、前記プロセッサは、前記第1学習率ないし前記第k学習率を参照して、前記FCレイヤ及び前記コンボリューションレイヤの少なくとも一つのパラメータの変動幅を決定することを特徴とする請求項14に記載の学習装置。
  22. (i)前記トレーニングデータの中の前記一部それぞれがバッチデータで、(ii)前記イテレーションの累積回数が前記第1特定値以下を満足している間に利用される前記バッチデータの数は、前記第1学習プロセスの間のイテレーション回数と同一に決定され、(iii)前記イタレーションの累積回数が前記第k特定値より大きく、かつ、前記第(k+1)特定値以下を満足している間に利用される前記バッチデータの数は、前記第(k+1)学習プロセスの間のイタレーション回数と同様に決定される場合、前記プロセッサは、前記それぞれのバッチデータに対応される前記出力レイヤの少なくとも一つの各算出結果と、それに対応される前記GTとを参照して計算したロスを利用してバックプロパゲーションすることで、前記FCレイヤ及び前記コンボリューションレイヤを学習することを特徴とする請求項21に記載の学習装置。
  23. 学習のイテレーション累積回数が第1ないし第n特定値の中の一つに到達するたびに学習率を調整して、ニューラルネットワーク(neural network)を学習させるテスト装置において、
    トレーニングデータを取得する通信部;及び
    (I)学習率の変更比率調整のための定数である第1ガンマを予め設定した状態で、(i)前記イテレーションの累積回数が第1特定値以下を満足している間には、トレーニングデータの一部を利用して第1予め設定された学習率で前記ニューラルネットワークの前記学習を繰り返す第1学習プロセスを遂行し、(ii)前記第1学習プロセスによって取得された前記ニューラルネットワークの第1ロスを参照して前記第1ガンマを第2ガンマに変更するプロセス、(II)kを2から(n-1)まで増加させながら、(i)前記イテレーションの累積回数が第(k-1)特定値より大きく、かつ、第k特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第k学習率で前記ニューラルネットワークの前記学習を繰り返す第k学習プロセスを遂行し、(ii)(ii-1)前記第k学習プロセスによって取得された前記ニューラルネットワークの第kロスを参照して第kガンマを第(k+1)ガンマに変更し、(ii-2)前記第(k+1)ガンマを利用して第k学習率を第(k+1)学習率に変更し、(iii)前記イテレーションの累積回数が第k特定値より大きく、かつ、第(k+1)特定値以下を満足している間には、前記トレーニングデータの一部を利用して、第(k+1)学習率で前記ニューラルネットワークの前記学習を繰り返す第(k+1)学習プロセスを遂行するプロセス;を経て、前記学習装置のパラメータを遂行した状態で、(1)前記学習装置のパラメータを利用して、前記ニューラルネットワークにテストデータを入力するプロセス;及び(2)前記ニューラルネットワークをもって、第1学習率ないし第(k+1)学習率によって学習されたパラメータを利用して、テストデータの演算した結果を出力するプロセス;を遂行するプロセッサ;
    を含み、
    前記(II)プロセスで、
    前記プロセッサは、第kロスグラディエントを参照して前記第kガンマを第(k+1)ガンマに変更し、前記第kロスグラディエントは、前記ニューラルネットワークの(i)前記第kロス及び(ii)第(k-1)ロスを参照して算出され、前記第(k-1)ロスは、前記イテレーションの累積回数が第(k-2)特定値より大きく、かつ、第(k-1)特定値以下を満足している間、前記トレーニングデータの一部を利用して前記ニューラルネットワークの前記学習を繰り返す第(k-1)学習プロセスによって取得されることを特徴とするテスト装置。
  24. 前記プロセッサは、前記第kロスグラディエントが予め設定された最小ロスグラディエント以上である場合、前記第kガンマと前記第kロスグラディエントとを掛け算して算出された結果を参照にして、前記第(k+1)ガンマを決定することを特徴とする請求項23に記載のテスト装置。
  25. 前記ニューラルネットワークは、(i)トレーニングデータに少なくとも一つのコンボリューション演算を適用して、少なくとも一つの特徴マップを出力するようにする少なくとも一つのコンボリューションレイヤ(convolutional layer)、(ii)前記特徴マップ上でのROI(Region Of Interest)に対応する領域をプーリングして算出された、少なくとも一つの特徴ベクトルに少なくとも一つのFC(Fully connected)演算を適用して、前記トレーニングデータに含まれた少なくとも一つの物体に対応する確率値を算出するようにする少なくとも一つのFCレイヤ(FC layer)、及び(iii)前記FCレイヤから算出された前記確率値に対応する、少なくとも一つのクラススコア及び少なくとも一つのリグレッションデルタを算出する出力レイヤ(output layer)を含み、
    前記出力レイヤの少なくとも一つの算出結果とこれに対応するGT(Ground Truth)とを参照して計算したロスを利用してバックプロパゲーションをすることで、前記FCレイヤ及び前記コンボリューションレイヤを学習する場合、前記学習装置は、前記第1学習率ないし前記第k学習率を参照して、前記FCレイヤ及び前記コンボリューションレイヤの少なくとも一つのパラメータの変動幅を決定することを特徴とする請求項23に記載のテスト装置。
  26. (i)前記トレーニングデータの中の前記一部それぞれがバッチデータで、(ii)前記イテレーションの累積回数が前記第1特定値以下を満足している間に利用される前記バッチデータの数は、前記第1学習プロセスの間のイテレーション回数と同一に決定され、(iii)前記イテレーションの累積回数が前記第k特定値より大きく、かつ、前記第(k+1)特定値以下を満足している間に利用される前記バッチデータの数は、前記第(k+1)学習プロセスの間のイテレーション回数と同様に決定される場合、前記学習装置は、前記それぞれのバッチデータに対応される前記出力レイヤの少なくとも一つの各算出結果と、それに対応される前記GTとを参照して計算したロスを利用してバックプロパゲーションすることで、前記FCレイヤ及び前記コンボリューションレイヤを学習することを特徴とする請求項25に記載のテスト装置。
JP2019182935A 2018-10-08 2019-10-03 適応的学習率でニューラルネットワークを学習する方法及び装置、これを利用したテスト方法及び装置 Active JP6998067B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/154,060 2018-10-08
US16/154,060 US10528867B1 (en) 2018-10-08 2018-10-08 Learning method and learning device for neural network at adaptive learning rate, and testing method and testing device using the same

Publications (2)

Publication Number Publication Date
JP2020077392A JP2020077392A (ja) 2020-05-21
JP6998067B2 true JP6998067B2 (ja) 2022-01-18

Family

ID=67211605

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019182935A Active JP6998067B2 (ja) 2018-10-08 2019-10-03 適応的学習率でニューラルネットワークを学習する方法及び装置、これを利用したテスト方法及び装置

Country Status (5)

Country Link
US (1) US10528867B1 (ja)
EP (1) EP3637329A1 (ja)
JP (1) JP6998067B2 (ja)
KR (1) KR102349898B1 (ja)
CN (1) CN111008690B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10733511B1 (en) * 2019-01-30 2020-08-04 StradVision, Inc. Learning method and learning device for updating HD map by reconstructing 3D space by using depth estimation information and class information on each object, which have been acquired through V2X information integration technique, and testing method and testing device using the same
CN111260079B (zh) * 2020-01-17 2023-05-19 南京星火技术有限公司 电子设备和智能体自训练装置
KR102610186B1 (ko) * 2020-05-07 2023-12-04 주식회사 하나금융티아이 멀티 모델 및 점진적 배치를 이용한 학습률 결정 장치 및 방법
CN112183750A (zh) * 2020-11-05 2021-01-05 平安科技(深圳)有限公司 神经网络模型训练方法、装置、计算机设备及存储介质
US20230068874A1 (en) * 2021-08-31 2023-03-02 Samsung Electronics Co., Ltd. Optimal learning rate selection through step sampling
JP2023046868A (ja) 2021-09-24 2023-04-05 富士通株式会社 機械学習プログラム、機械学習方法および情報処理装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180137642A1 (en) 2016-11-15 2018-05-17 Magic Leap, Inc. Deep learning system for cuboid detection

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5715372A (en) * 1995-01-10 1998-02-03 Lucent Technologies Inc. Method and apparatus for characterizing an input signal
US6269351B1 (en) * 1999-03-31 2001-07-31 Dryken Technologies, Inc. Method and system for training an artificial neural network
CN106228512A (zh) * 2016-07-19 2016-12-14 北京工业大学 基于学习率自适应的卷积神经网络图像超分辨率重建方法
CN106295800B (zh) * 2016-07-28 2019-03-05 北京工业大学 一种基于递归自组织rbf神经网络的出水总氮tn智能检测方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180137642A1 (en) 2016-11-15 2018-05-17 Magic Leap, Inc. Deep learning system for cuboid detection

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ITO, Daiki ほか,A Learning Algorithm with a Gradient Normalization and a Learning Rate Adaptation for the Mini-batch Type Learning,Proceedings of the SICE Annual Conference 2017,IEEE,2017年09月19日,pp.811-816

Also Published As

Publication number Publication date
JP2020077392A (ja) 2020-05-21
KR102349898B1 (ko) 2022-01-12
KR20200040185A (ko) 2020-04-17
US10528867B1 (en) 2020-01-07
EP3637329A1 (en) 2020-04-15
CN111008690B (zh) 2023-08-18
CN111008690A (zh) 2020-04-14

Similar Documents

Publication Publication Date Title
JP6998067B2 (ja) 適応的学習率でニューラルネットワークを学習する方法及び装置、これを利用したテスト方法及び装置
CN107665230B (zh) 用于智能家居控制的用户行为预测模型的训练方法及装置
JP6865364B2 (ja) エッジロスを利用して歩行者イベント、自動車イベント、フォーリングイベント、フォールンイベントを含むイベントを検出するにおいて利用されるセグメンテーション性能向上のための学習方法及び学習装置、並びにそれを利用したテスト方法及びテスト装置
JP6849932B2 (ja) 高精密度のイメージを分析するためのディープラーニングネットワークを使用するためにトレーニングイメージをオートラベリングするオートラベルリング装置のハイパーパラメータを最適化する方法、及びこれを利用した最適化装置
JP6957050B2 (ja) モバイルデバイスまたは小型ネットワークに適用可能なハードウェアを最適化するのに利用可能なroiをプーリングするために、マスキングパラメータを利用する方法及び装置、そしてこれを利用したテスト方法及びテスト装置{learning method and learning device for pooling roi by using masking parameters to be used for mobile devices or compact networks via hardware optimization, and testing method and testing device using the same}
JP6912835B2 (ja) 自律走行自動車のレベル4を満たすために要求されるhdマップアップデートに利用される、少なくとも一つのアダプティブロス重み付け値マップを利用したアテンションドリブン・イメージセグメンテーション学習方法及び学習装置、そしてこれを利用したテスティング方法及びテスティング装置
JP6916549B2 (ja) 軍事的目的、ドローンまたはロボットに利用されるために一つ以上の以前のバッチをさらに参照してモバイル装置またはiot装置に適用可能なオンラインバッチ正規化、オンデバイス学習、及び連続学習を遂行する方法と装置、並びにそれを利用したテスト方法及びテスト装置
KR20200094622A (ko) 뉴럴 네트워크 학습에 이용될 오토 라벨링된 이미지 중에서 라벨 검수를 위한 샘플 이미지를 획득하는 방법 및 이를 이용한 샘플 이미지 획득 장치
CN113825978B (zh) 用于定义路径的方法和设备、存储装置
CN110033081A (zh) 一种确定学习率的方法和装置
CN112766603A (zh) 一种交通流量预测方法、系统、计算机设备及存储介质
JP6970460B2 (ja) モバイルデバイスまたは高精度の小型ネットワークに適用可能なハードウェアを最適化するために利用されるCNNパラメータ及び特徴値を量子化するために、重み量子化ロス値を利用してFL(Fractional Length)値を決定する方法及び装置{METHOD AND DEVICE FOR DETERMINING FL VALUE BY USING WEIGHTED QUANTIZATION LOSS VALUES TO THEREBY QUANTIZE CNN PARAMETERS AND FEATURE VALUES TO BE USED FOR OPTIMIZING HARDWARE APPLICABLE TO MOBILE DEVICES OR COMPACT NETWORKS WITH HIGH PRECISION}
CN113947182A (zh) 基于双阶段堆叠图卷积网络的交通流预测模型构建方法
CN109800517B (zh) 一种改进的磁流变阻尼器逆向建模方法
KR102120150B1 (ko) 뉴럴 네트워크를 이용한 변분 추론 학습 방법 및 학습 장치, 그리고 이를 이용한 변분 추론 방법 및 장치
US10635941B1 (en) Method and device for on-device continual learning of neural network which analyzes input data by optimized sampling of training images, and method and device for testing the neural network for smartphones, drones, vessels, or military purpose
CN113705724B (zh) 基于自适应l-bfgs算法的深度神经网络的批量学习方法
CN114417939B (zh) 一种基于知识图谱的干扰策略生成方法
CN113516163B (zh) 基于网络剪枝的车辆分类模型压缩方法、装置及存储介质
KR20190129422A (ko) 뉴럴 네트워크를 이용한 변분 추론 방법 및 장치
CN115796244B (zh) 一种超非线性输入输出系统基于cff的参数辨识方法
KR102441185B1 (ko) 가중 클러스터 손실을 이용하여 학습하는 전이학습 기반의 얼굴표정 인식 방법 및 얼굴표정 인식 장치
CN114004421B (zh) 一种基于时空集成学习的交通数据缺失值插补方法
CN115510593B (zh) 一种基于lstm的mr阻尼器逆向映射模型计算方法
US20220405599A1 (en) Automated design of architectures of artificial neural networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191003

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211102

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211213

R150 Certificate of patent or registration of utility model

Ref document number: 6998067

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150