JP6970461B2 - スマートフォン、ドローン、船舶または軍事的目的のための、トレーニングイメージの最適化サンプリングにより入力データを分析するニューラルネットワークのオンデバイス継続学習方法及び装置、そして、これを利用したテスト方法及び装置 - Google Patents

スマートフォン、ドローン、船舶または軍事的目的のための、トレーニングイメージの最適化サンプリングにより入力データを分析するニューラルネットワークのオンデバイス継続学習方法及び装置、そして、これを利用したテスト方法及び装置 Download PDF

Info

Publication number
JP6970461B2
JP6970461B2 JP2020007173A JP2020007173A JP6970461B2 JP 6970461 B2 JP6970461 B2 JP 6970461B2 JP 2020007173 A JP2020007173 A JP 2020007173A JP 2020007173 A JP2020007173 A JP 2020007173A JP 6970461 B2 JP6970461 B2 JP 6970461B2
Authority
JP
Japan
Prior art keywords
learning
data
volume
preset
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
JP2020007173A
Other languages
English (en)
Other versions
JP2020123337A (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 JP2020123337A publication Critical patent/JP2020123337A/ja
Application granted granted Critical
Publication of JP6970461B2 publication Critical patent/JP6970461B2/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
    • G06N3/094Adversarial learning
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06V10/7747Organisation of the process, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Description

本発明は自律走行車両、仮想運転等に利用するための学習方法及び学習装置、そしてテスト方法及びテスト装置に関し、より詳しくは、入力データを分析するニューラルネットワーク(Neural Network)をオンデバイス継続学習(on−device continual learning)する前記学習方法及び前記学習装置、そしてこれを利用した前記テスト方法及び前記テスト装置に関する。
一般に、ディープラーニング(Deep Learning)は、様々な非線形変換手法の組み合わせにより、高い水準の抽象化を試みる機械学習アルゴリズムの集合として定義され、大きな枠組みで人の考え方をコンピュータに学習させる機械学習の一分野である。
何らかのデータを、コンピュータが読み取れる形態、一例として、イメージの場合、ピクセル情報を列ベクトルで表現し、これを機械学習に適用するために多くの研究が進められている。このような努力の結果、深層神経網(Deep Neural Network)、畳み込み神経網(Convolutional Neural Network)、回帰型神経網(Recurrent Neural Network)といった様々なディープラーニング技法がコンピュータビジョン、音声認識、自然言語処理、音声・信号処理などの分野に適用され、高性能なディープラーニングネットワークが開発されている。
このようなディープラーニングネットワークは、認識性能を高めるためにモデルの階層が深まり(Deep)、特徴(Feature)が多くなる大規模モデルに進化している。
特に、ディープラーニングネットワークの学習は、大規模なトレーニングデータと高いコンピューティングパワーの必要性から、オンラインサーバで主に実行されている。
しかし、プライバシーの問題から、個人データを学習目的でサーバに転送できない個人モバイルデバイス(Personal Mobile Device)環境や、装置が通信網を外れていることが多い軍隊、ドローンあるいは船舶などの環境ではサーバで学習することが不可能だ。
したがって、サーバで学習することが不可能なローカル装置では、ディープラーニングネットワークのオンデバイス学習(On−Device Learning)が遂行されなければならない。
しかし、オンデバイス学習を遂行するローカル装置は、トレーニングデータを格納しておくストレージスペースがないか、非常に不足しており、オンデバイス学習を行うことが困難である。
また、新しいトレーニングデータを利用してディープラーニングネットワークを学習する場合、新しいトレーニングデータが過去のトレーニングデータと相違すると、ディープラーニングネットワークは過去に学習した内容を徐々に忘れてしまい、結果として破壊的忘却(Catastrophic Forgetting)という問題が発生することになる。
これに加えて、ローカル装置(Local Device)でオンデバイス学習を行う場合、大きなコンピューティングパワーが必要であり、学習自体にたくさんの時間がかかるという短所がある。
本発明は、前述した問題点を全て解決することを目的とする。
本発明は、オンデバイス学習(On−Device Learning)を遂行するローカル装置(Local Device)において、トレーニングデータを格納することなく継続して学習に利用できるようにすることを他の目的とする。
本発明は、過去のトレーニングデータを格納しなくても、新しいトレーニングデータを利用した学習において過去のトレーニングデータを利用できるようにすることをまた他の目的とする。
本発明は、オンデバイス学習を遂行するローカル装置において破壊的忘却(Catastrophic Forgetting)現象なしにニューラルネットワーク(Neural Network)に対するオンデバイス学習をできるようにすることをまた他の目的とする。
本発明は、同一のトレーニングデータを用いて学習効果を高められるようにすることをまた他の目的とする。
本発明は、オンデバイス学習に必要なコンピューティングパワー及び時間を節減できるようにすることをまた他の目的とする。
前記のような本発明の目的を達成し、後述する本発明の特徴的な効果を実現するための、本発明の特徴的な構成は下記の通りである。
本発明の一態様によれば、入力データを分析するニューラルネットワーク(Neural Network)のオンデバイス継続学習(On−Device Continual Learning)のための方法において、(a)学習のために取得される新しいデータが予め設定された基準ボリューム(Preset Base Volume)になると、学習装置が、前記予め設定された基準ボリュームの前記新しいデータをユニフォームサンプリング(Uniform−Sampling)して前記新しいデータが予め設定された第1ボリュームを有するようにし、少なくとも一つのk次元ランダムベクトル(k−Dimension Random Vector)をブースティングネットワーク(Boosting Network)に入力して、前記ブースティングネットワークをもって、前記k次元ランダムベクトルを、少なくとも一つのk次元修正ベクトル(k−Dimension Modified Vector)に変換するようにし、前記k次元修正ベクトルを、学習が完了したオリジナルデータ生成器ネットワーク(Original Data Generator Network)に入力して、前記オリジナルデータ生成器ネットワークをもって、前記k次元修正ベクトルに対応し、前記オリジナルデータ生成器ネットワークを学習するのに用いられていた以前データ(Previous Data)に対応する、第1合成以前データ(Synthetic Previous Data)を出力するプロセスを繰り返すようにして、前記第1合成以前データが予め設定された第2ボリュームを有するようにし、前記予め設定された第1ボリュームの前記新しいデータ及び前記予め設定された第2ボリュームの前記第1合成以前データを参照して第1現在学習(Current−Learning)に利用される第1バッチ(batch)を生成する段階;及び(b)前記学習装置が、前記ニューラルネットワークをもって、前記第1バッチを前記ニューラルネットワークに入力して前記第1バッチに対応する出力情報(Output Information)を生成するようにし、第1ロスレイヤ(Loss Layer)をもって、前記出力情報とこれに対応するGT(Ground Truth)とを参照して少なくとも一つの第1ロスを算出するようにし、前記第1ロスをバックプロパゲーションすることで前記ニューラルネットワークと前記ブースティングネットワークとの前記第1現在学習を遂行する段階;を含むことを特徴とする。
一例として、(c)前記学習装置が、前記予め設定された基準ボリュームの前記新しいデータをユニフォームサンプリングして前記新しいデータが前記予め設定された第1ボリュームを有するようにし、前記オリジナルデータ生成器ネットワークを複製して複製データ生成器ネットワーク(Cloned Data Generator Network)を生成するようにし、前記複製データ生成器ネットワークをもって、前記k次元ランダムベクトルに対応し、前記オリジナルデータ生成器ネットワークを学習するのに用いられた前記以前データに対応する、第2合成以前データを出力するプロセスを繰り返すようにして、前記第2合成以前データが前記予め設定された第2ボリュームを有するようにし、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応し前記オリジナルデータ生成器ネットワークを学習するのに用いられた前記以前データに対応する、第3合成以前データを出力するプロセスを繰り返すようにして、前記第3合成以前データが、前記予め設定された第1ボリュームと前記予め設定された第2ボリュームとの和と同じ予め設定された第3ボリュームを有するようにし、前記予め設定された第1ボリュームの前記新しいデータと、前記予め設定された第2ボリュームの前記第2合成以前データと、前記予め設定された第3ボリュームの前記第3合成以前データとを参照して第2現在学習に利用される第2バッチを生成する段階;及び(d)前記学習装置が、判別器(Discriminator)をもって、前記第2バッチを前記判別器に入力して前記第2バッチに対応するスコアベクトル(Score Vector)を生成するようにし、第2ロスレイヤをもって、前記スコアベクトルとこれに対応するGTとを参照して少なくとも一つの第2ロスを算出するようにし、前記第2ロスをバックプロパゲーションすることで前記判別器及び前記オリジナルデータ生成器ネットワークの前記第2現在学習を遂行する段階;をさらに含むことを特徴とする。
一例として、前記学習装置は、前記第2ロスをバックプロパゲーションすることで、前記判別器のロス及び前記オリジナルデータ生成器ネットワークのロスがそれぞれ収束するまで前記(c)段階と前記(d)段階とを繰り返すことを特徴とする。
一例として、前記(d)段階で、前記学習装置は、前記第2ロスをバックプロパゲーションすることで前記判別器の少なくとも一つの重み付け値及び前記オリジナルデータ生成器ネットワークの少なくとも一つの重み付け値の最急上昇法(Gradient Ascent)を遂行することを特徴とする。
一例として、前記(d)段階で、前記学習装置は、前記第2ロスをバックプロパゲーションすることで、前記判別器の前記第2現在学習を遂行中に、前記複製データ生成器ネットワークからの前記第2合成以前データを本物のデータ(Real Data)とみなし、前記判別器の前記第2現在学習を遂行することを特徴とする。
一例として、前記(d)段階で、前記学習装置は、前記オリジナルデータ生成器ネットワークの前記第2現在学習を遂行して、前記スコアベクトルのうちの前記第3合成以前データに対応する第3合成以前データスコアベクトルが最大化するようにすることを特徴とする。
一例として、前記第2現在学習が最初の学習である場合、前記(a)段階で、前記学習装置は、前記予め設定された第1ボリュームの前記新しいデータのみを利用して前記第1バッチを生成し、前記(c)段階で、前記学習装置は、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する前記第3合成以前データを出力するプロセスを繰り返すようにして前記第3合成以前データが前記予め設定された第1ボリュームを有するようにし、前記予め設定された第1ボリュームの前記新しいデータ及び前記予め設定された第1ボリュームの前記第3合成以前データを参照して、前記第2バッチを生成することを特徴とする。
一例として、前記学習装置は、前記第1ロスをバックプロパゲーションすることで、前記第1ロスが収束するまで前記(a)段階と前記(b)段階とを繰り返すことを特徴とする。
一例として、前記(a)段階と前記(b)段階とを前記第1現在学習で繰り返す場合、前記学習装置は、(i)最初のイテレーション(Iteration)で、前記(a)段階で前記予め設定された基準ボリュームの前記新しいデータそれぞれに対応するサンプリング確率(Sampling Probability)それぞれを初期化し、初期化された前記サンプリング確率を参照して前記予め設定された基準ボリュームの前記新しいデータを前記ユニフォームサンプリングして前記予め設定された第1ボリュームの前記新しいデータを生成し、前記(b)段階において、前記ニューラルネットワークの前記第1現在学習が完了すれば、前記予め設定された第1ボリュームの前記新しいデータに対応する前記第1ロスを参照して前記予め設定された第1ボリュームの前記新しいデータそれぞれに対応する前記サンプリング確率それぞれをアップデートすることで、前記予め設定された基準ボリュームの前記新しいデータそれぞれに対応する前記サンプリング確率それぞれをアップデートし、(ii)次のイテレーションで、前記(a)段階で前記予め設定された基準ボリュームの前記新しいデータそれぞれに対応する以前のイテレーションでアップデートされた前記サンプリング確率それぞれを参照して、前記予め設定された基準ボリュームの前記新しいデータの前記ユニフォームサンプリングによって前記予め設定された第1ボリュームの前記新しいデータを生成し、前記(b)段階において、前記ニューラルネットワークの前記第1現在学習が完了すると、前記予め設定された第1ボリュームの前記新しいデータに対応する前記第1ロスを参照して前記予め設定された基準ボリュームの前記新しいデータそれぞれに対応する前記以前イテレーションでアップデートされた前記サンプリング確率それぞれをアップデートすることを特徴とする。
一例として、前記(a)段階と前記(b)段階とを前記第1現在学習で繰り返す場合、最初のイテレーションで、前記学習装置は、前記(a)段階で、前記ブースティングネットワークを初期化した後、初期化された前記ブースティングネットワークをもって、前記k次元ランダムベクトルを前記k次元修正ベクトルに変換するようにし、次のイテレーションで、前記学習装置は、前記(a)段階で、以前イテレーションでの前記(b)段階で前記第1現在学習を完了した前記ブースティングネットワークをもって、前記k次元ランダムベクトルを前記k次元修正ベクトルに変換するようにすることを特徴とする。
一例として、前記(b)段階で、前記学習装置は、前記第1ロスをバックプロパゲーションして、前記ニューラルネットワークのロスを最小化するように前記ニューラルネットワークの少なくとも一つの重み付け値の最急降下法(Gradient Descent)を遂行して、前記第1ロスのうちの前記第1合成以前データに対応するロスを最大化するように前記ブースティングネットワークの少なくとも一つの重み付け値の最急上昇法を遂行することを特徴とする。
一例として、前記学習装置は、前記ブースティングネットワークの前記重み付け値の前記最急上昇法を遂行する場合、前記ブースティングネットワークの前記重み付け値をクリッピング(Clipping)することを特徴とする。
一例として、前記ブースティングネットワークは、少なくとも一つのFCレイヤ(Fully Connected Layer)を含み、前記ブースティングネットワークは、入力された前記k次元ランダムベクトルを、それよりも次元の低いL次元ベクトルに変換し、その後、前記L次元ベクトルを前記k次元修正ベクトルに変換して出力することを特徴とする。
本発明の他の一態様によれば、入力データを分析するニューラルネットワーク(Neural Network)をテストする方法において、(a)学習装置が、(I)学習のために取得される学習用新しいデータが予め設定された基準ボリューム(Preset Base Volume)になると、前記予め設定された基準ボリュームの前記学習用新しいデータをユニフォームサンプリング(Uniform−Sampling)して前記学習用新しいデータが予め設定された第1ボリュームを有するようにし、少なくとも一つの学習用k次元ランダムベクトル(k−Dimension Random Vector)をブースティングネットワーク(Boosting Network)に入力して、前記ブースティングネットワークをもって、前記学習用k次元ランダムベクトルを、少なくとも一つの学習用k次元修正ベクトル(k−Dimension Modified Vector)に変換するようにし、前記学習用k次元修正ベクトルを、学習が完了したオリジナルデータ生成器ネットワーク(Original Data Generator Network)に入力して、前記オリジナルデータ生成器ネットワークをもって、前記学習用k次元修正ベクトルに対応し、前記オリジナルデータ生成器ネットワークを学習するのに用いられていた学習用以前データ(Previous Data)に対応する、学習用第1合成以前データ(Synthetic Previous Data)を出力するプロセスを繰り返すようにして、前記学習用第1合成以前データが予め設定された第2ボリュームを有するようにし、前記予め設定された第1ボリュームの前記学習用新しいデータ及び前記予め設定された第2ボリュームの前記学習用第1合成以前データを参照して第1現在学習(Current−Learning)に利用される学習用第1バッチ(batch)を生成するプロセス、及び(II)前記ニューラルネットワークをもって、前記学習用第1バッチを前記ニューラルネットワークに入力して前記学習用第1バッチに対応する学習用出力情報(Output Information)を生成するようにし、第1ロスレイヤ(Loss Layer)をもって、前記学習用出力情報とこれに対応するGT(Ground Truth)とを参照して少なくとも一つの第1ロスを算出するようにし、前記第1ロスをバックプロパゲーションすることで前記ニューラルネットワークと前記ブースティングネットワークとの前記第1現在学習を遂行するプロセスを完了した状態で、テスト装置がテストデータを取得する段階;及び(b)前記テスト装置が、前記ニューラルネットワークをもって、前記テストデータを前記ニューラルネットワークに入力して前記テストデータに対応するテスト用出力情報を生成するようにする段階;を含むことを特徴とする。
一例として、前記(a)段階で、前記学習装置が、(III)前記予め設定された基準ボリュームの前記学習用新しいデータをユニフォームサンプリングして前記学習用新しいデータが前記予め設定された第1ボリュームを有するようにし、前記オリジナルデータ生成器ネットワークを複製して複製データ生成器ネットワーク(Cloned Data Generator Network)を生成するようにし、前記複製データ生成器ネットワークをもって、前記学習用k次元ランダムベクトルに対応し、前記オリジナルデータ生成器ネットワークを学習するのに用いられた前記学習用以前データに対応する、学習用第2合成以前データを出力するプロセスを繰り返すようにして、前記学習用第2合成以前データが前記予め設定された第2ボリュームを有するようにし、前記オリジナルデータ生成器ネットワークをもって、前記学習用k次元ランダムベクトルに対応し前記オリジナルデータ生成器ネットワークを学習するのに用いられた前記学習用以前データに対応する、学習用第3合成以前データを出力するプロセスを繰り返すようにして、前記学習用第3合成以前データが、前記予め設定された第1ボリュームと前記予め設定された第2ボリュームとの和と同じ予め設定された第3ボリュームを有するようにし、 前記予め設定された第1ボリュームの前記学習用新しいデータと、前記予め設定された第2ボリュームの前記学習用第2合成以前データと、前記予め設定された第3ボリュームの前記学習用第3合成以前データとを参照して、第2現在学習に利用される学習用第2バッチを生成するプロセス、及び(IV)判別器(Discriminator)をもって、前記学習用第2バッチを前記判別器に入力して前記学習用第2バッチに対応する学習用スコアベクトル(Score Vector)を生成するようにし、第2ロスレイヤをもって、前記学習用スコアベクトルとこれに対応するGTとを参照して少なくとも一つの第2ロスを算出するようにし、前記第2ロスをバックプロパゲーションすることで前記判別器及び前記オリジナルデータ生成器ネットワークの前記第2現在学習を遂行するプロセス;をさらに遂行することを特徴とする。
本発明のまた他の一態様によれば、入力データを分析するニューラルネットワーク(Neural Network)のオンデバイス継続学習(On−Device Continual Learning)のための学習装置において、インストラクションを格納する少なくとも一つのメモリ;及び(I)学習のために取得される新しいデータが予め設定された基準ボリューム(Preset Base Volume)になると、 前記予め設定された基準ボリュームの前記新しいデータをユニフォームサンプリング(Uniform−Sampling)して前記新しいデータが予め設定された第1ボリュームを有するようにし、少なくとも一つのk次元ランダムベクトル(k−Dimension Random Vector)をブースティングネットワーク(Boosting Network)に入力して、前記ブースティングネットワークをもって、前記k次元ランダムベクトルを、少なくとも一つのk次元修正ベクトル(k−Dimension Modified Vector)に変換するようにし、前記k次元修正ベクトルを、学習が完了したオリジナルデータ生成器ネットワーク(Original Data Generator Network)に入力して、前記オリジナルデータ生成器ネットワークをもって、前記k次元修正ベクトルに対応し、前記オリジナルデータ生成器ネットワークを学習するのに用いられていた以前データ(Previous Data)に対応する、第1合成以前データ(Synthetic Previous Data)を出力するプロセスを繰り返すようにして、 前記第1合成以前データが予め設定された第2ボリュームを有するようにし、前記予め設定された第1ボリュームの前記新しいデータ及び前記予め設定された第2ボリュームの前記第1合成以前データを参照して第1現在学習(Current−Learning)に利用される第1バッチ(batch)を生成するプロセス;及び(II)前記ニューラルネットワークをもって、前記第1バッチを前記ニューラルネットワークに入力して前記第1バッチに対応する出力情報(Output Information)を生成するようにし、第1ロスレイヤ(Loss Layer)をもって、前記出力情報とこれに対応するGT(Ground Truth)とを参照して少なくとも一つの第1ロスを算出するようにし、前記第1ロスをバックプロパゲーションすることで前記ニューラルネットワークと前記ブースティングネットワークとの前記第1現在学習を遂行するプロセスを遂行するための、前記インストラクションを実行するように構成された少なくとも一つのプロセッサ;を含むことを特徴とする。
一例として、前記プロセッサが、(III)前記予め設定された基準ボリュームの前記新しいデータをユニフォームサンプリングして前記新しいデータが前記予め設定された第1ボリュームを有するようにし、前記オリジナルデータ生成器ネットワークを複製して複製データ生成器ネットワーク(Cloned Data Generator Network)を生成するようにし、前記複製データ生成器ネットワークをもって、前記k次元ランダムベクトルに対応し、前記オリジナルデータ生成器ネットワークを学習するのに用いられた前記以前データに対応する、第2合成以前データを出力するプロセスを繰り返すようにして、前記第2合成以前データが前記予め設定された第2ボリュームを有するようにし、 前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応し前記オリジナルデータ生成器ネットワークを学習するのに用いられた前記以前データに対応する、第3合成以前データを出力するプロセスを繰り返すようにして、前記第3合成以前データが、前記予め設定された第1ボリュームと前記予め設定された第2ボリュームとの和と同じ予め設定された第3ボリュームを有するようにし、 前記予め設定された第1ボリュームの前記新しいデータと、前記予め設定された第2ボリュームの前記第2合成以前データと、前記予め設定された第3ボリュームの前記第3合成以前データとを参照して、第2現在学習に利用される第2バッチを生成するプロセス;及び(IV)判別器(Discriminator)をもって、前記第2バッチを前記判別器に入力して前記第2バッチに対応するスコアベクトル(Score Vector)を生成するようにし、第2ロスレイヤをもって、前記スコアベクトルとこれに対応するGTとを参照して少なくとも一つの第2ロスを算出するようにし、前記第2ロスをバックプロパゲーションすることで前記判別器及び前記オリジナルデータ生成器ネットワークの前記第2現在学習を遂行するプロセス;をさらに遂行することを特徴とする。
一例として、前記プロセッサは、前記第2ロスをバックプロパゲーションすることで前記判別器のロス及び前記オリジナルデータ生成器ネットワークのロスがそれぞれ収束するまで、前記(III)プロセスと前記(IV)プロセスとを繰り返すことを特徴とする。
一例として、前記(IV)プロセスで、前記プロセッサは、前記第2ロスをバックプロパゲーションすることで前記判別器の少なくとも一つの重み付け値及び前記オリジナルデータ生成器ネットワークの少なくとも一つの重み付け値の最急上昇法(Gradient Ascent)を遂行することを特徴とする。
一例として、前記(IV)プロセスで、前記プロセッサは、前記第2ロスをバックプロパゲーションすることで、前記判別器の前記第2現在学習を遂行中に、前記複製データ生成器ネットワークからの前記第2合成以前データを本物のデータ(Real Data)とみなし、前記判別器の前記第2現在学習を遂行することを特徴とする。
一例として、前記(IV)プロセスで、前記プロセッサは、前記オリジナルデータ生成器ネットワークの前記第2現在学習を遂行して、前記スコアベクトルのうちの前記第3合成以前データに対応する第3合成以前データスコアベクトルが最大化するようにすることを特徴とする。
一例として、前記第2現在学習が最初の学習である場合、前記(I)プロセスで、前記プロセッサは、前記予め設定された第1ボリュームの前記新しいデータのみを利用して前記第1バッチを生成し、前記(III)プロセスで、前記プロセッサは、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する前記第3合成以前データを出力するプロセスを繰り返すようにして前記第3合成以前データが前記予め設定された第1ボリュームを有するようにし、前記予め設定された第1ボリュームの前記新しいデータ及び前記予め設定された第1ボリュームの前記第3合成以前データを参照して、前記第2バッチを生成することを特徴とする。
一例として、前記プロセッサは、前記第1ロスをバックプロパゲーションすることで、前記第1ロスが収束するまで前記(I)プロセスと前記(II)プロセスとを繰り返すことを特徴とする。
一例として、前記(I)プロセスと前記(II)プロセスとを前記第1現在学習で繰り返す場合、前記プロセッサは、(i)最初のイテレーション(Iteration)で、前記(I)プロセスで前記予め設定された基準ボリュームの前記新しいデータそれぞれに対応するサンプリング確率(Sampling Probability)それぞれを初期化し、初期化された前記サンプリング確率を参照して前記予め設定された基準ボリュームの前記新しいデータを前記ユニフォームサンプリングして前記予め設定された第1ボリュームの前記新しいデータを生成し、前記(II)プロセスにおいて、前記ニューラルネットワークの前記第1現在学習が完了すれば、前記予め設定された第1ボリュームの前記新しいデータに対応する前記第1ロスを参照して前記予め設定された第1ボリュームの前記新しいデータそれぞれに対応する前記サンプリング確率それぞれをアップデートすることで、前記予め設定された基準ボリュームの前記新しいデータそれぞれに対応する前記サンプリング確率それぞれをアップデートし、(ii)次のイテレーションで、前記(I)プロセスで前記予め設定された基準ボリュームの前記新しいデータそれぞれに対応する以前のイテレーションでアップデートされた前記サンプリング確率それぞれを参照して、前記予め設定された基準ボリュームの前記新しいデータの前記ユニフォームサンプリングによって前記予め設定された第1ボリュームの前記新しいデータを生成し、前記(II)プロセスにおいて、前記ニューラルネットワークの前記第1現在学習が完了すると、前記予め設定された第1ボリュームの前記新しいデータに対応する前記第1ロスを参照して前記予め設定された基準ボリュームの前記新しいデータそれぞれに対応する前記以前のイテレーションでアップデートされた前記サンプリング確率それぞれをアップデートすることを特徴とする。
一例として、前記(I)プロセスと前記(II)プロセスとを前記第1現在学習で繰り返す場合、最初のイテレーションで、前記プロセッサは、前記(I)プロセスにおいて、前記ブースティングネットワークを初期化した後、初期化された前記ブースティングネットワークをもって、前記k次元ランダムベクトルを前記k次元修正ベクトルに変換するようにし、次のイテレーションで、前記プロセッサは、前記(I)プロセスで、以前のイテレーションでの前記(II)プロセスで前記第1現在学習を完了した前記ブースティングネットワークをもって、前記k次元ランダムベクトルを前記k次元修正ベクトルに変換するようにすることを特徴とする。
一例として、前記(II)プロセスで、前記プロセッサは、前記第1ロスをバックプロパゲーションして、前記ニューラルネットワークのロスを最小化するように前記ニューラルネットワークの少なくとも一つの重み付け値の最急降下法(Gradient Descent)を遂行して、前記第1ロスのうちの前記第1合成以前データに対応するロスを最大化するように前記ブースティングネットワークの少なくとも一つの重み付け値の最急上昇法を遂行することを特徴とする。
一例として、前記プロセッサは、前記ブースティングネットワークの前記重み付け値の前記最急上昇法を遂行する場合、前記ブースティングネットワークの前記重み付け値をクリッピング(Clipping)することを特徴とする。
一例として、前記ブースティングネットワークは、少なくとも一つのFCレイヤ(Fully Connected Layer)を含み、前記ブースティングネットワークは、入力された前記k次元ランダムベクトルを、それよりも次元の低いL次元ベクトルに変換し、その後、前記L次元ベクトルを前記k次元修正ベクトルに変換して出力することを特徴とする。
本発明のまた他の一態様によれば、入力データを分析するニューラルネットワーク(Neural Network)をテストするテスト装置において、インストラクションを格納する少なくとも一つのメモリ;及び学習装置が、(1)学習のために取得される学習用新しいデータが予め設定された基準ボリューム(Preset Base Volume)になると、前記予め設定された基準ボリュームの前記学習用新しいデータをユニフォームサンプリング(Uniform−Sampling)して前記学習用新しいデータが予め設定された第1ボリュームを有するようにし、少なくとも一つの学習用k次元ランダムベクトル(k−Dimension Random Vector)をブースティングネットワーク(Boosting Network)に入力して、前記ブースティングネットワークをもって、前記学習用k次元ランダムベクトルを、少なくとも一つの学習用k次元修正ベクトル(k−Dimension Modified Vector)に変換するようにし、前記学習用k次元修正ベクトルを、学習が完了したオリジナルデータ生成器ネットワーク(Original Data Generator Network)に入力して、前記オリジナルデータ生成器ネットワークをもって、前記学習用k次元修正ベクトルに対応し、前記オリジナルデータ生成器ネットワークを学習するのに用いられていた学習用以前データ(Previous Data)に対応する、学習用第1合成以前データ(Synthetic Previous Data)を出力するプロセスを繰り返すようにして、前記学習用第1合成以前データが予め設定された第2ボリュームを有するようにし、前記予め設定された第1ボリュームの前記学習用新しいデータ及び前記予め設定された第2ボリュームの前記学習用第1合成以前データを参照して第1現在学習(Current−Learning)に利用される学習用第1バッチ(batch)を生成するプロセス、及び(2)前記ニューラルネットワークをもって、前記学習用第1バッチを前記ニューラルネットワークに入力して前記学習用第1バッチに対応する学習用出力情報(Output Information)を生成するようにし、第1ロスレイヤ(Loss Layer)をもって、前記学習用出力情報とこれに対応するGT(Ground Truth)とを参照して少なくとも一つの第1ロスを算出するようにし、前記第1ロスをバックプロパゲーションすることで前記ニューラルネットワークと前記ブースティングネットワークの前記第1現在学習を遂行するプロセスを完了した状態で、前記ニューラルネットワークをもって、テストデータをニューラルネットワークに入力して取得された前記テストデータに対応するテスト用出力情報を出力するようにするプロセスを遂行するための、前記インストラクションを実行するように構成された少なくとも一つのプロセッサ;を含むことを特徴とする。
一例として、前記学習装置が、(3)前記予め設定された基準ボリュームの前記学習用新しいデータをユニフォームサンプリングして前記学習用新しいデータが前記予め設定された第1ボリュームを有するようにし、前記オリジナルデータ生成器ネットワークを複製して複製データ生成器ネットワーク(Cloned Data Generator Network)を生成するようにし、前記複製データ生成器ネットワークをもって、前記学習用k次元ランダムベクトルに対応し、前記オリジナルデータ生成器ネットワークを学習するのに用いられた前記学習用以前データに対応する、学習用第2合成以前データを出力するプロセスを繰り返すようにして、前記学習用第2合成以前データが前記予め設定された第2ボリュームを有するようにし、前記オリジナルデータ生成器ネットワークをもって、前記学習用k次元ランダムベクトルに対応し前記オリジナルデータ生成器ネットワークを学習するのに用いられた前記学習用以前データに対応する、学習用第3合成以前データを出力するプロセスを繰り返すようにして、前記学習用第3合成以前データが、前記予め設定された第1ボリュームと前記予め設定された第2ボリュームとの和と同じ予め設定された第3ボリュームを有するようにし、前記予め設定された第1ボリュームの前記学習用新しいデータと、前記予め設定された第2ボリュームの前記学習用第2合成以前データと、前記予め設定された第3ボリュームの前記学習用第3合成以前データとを参照して、第2現在学習に利用される学習用第2バッチを生成するプロセス、及び(4)判別器(Discriminator)をもって、前記学習用第2バッチを前記判別器に入力して前記学習用第2バッチに対応する学習用スコアベクトル(Score Vector)を生成するようにし、第2ロスレイヤをもって、前記学習用スコアベクトルとこれに対応するGTとを参照して少なくとも一つの第2ロスを算出するようにし、前記第2ロスをバックプロパゲーションすることで前記判別器及び前記オリジナルデータ生成器ネットワークの前記第2現在学習を遂行するプロセス;をさらに遂行することを特徴とする。
この他にも、本発明の方法を実行するためのコンピュータプログラムを記録するためのコンピュータ読読可能な記録媒体がさらに提供される。
本発明は、オンデバイス学習(On−Device Learning)をもって、ローカル装置(Local Device)において、以前トレーニングデータを格納することなく以前学習に利用された以前トレーニングデータを効果的に生成することができる効果がある。
また、本発明はデータ生成器ネットワーク(Data Generator Network)で生成された以前トレーニングデータと新しい学習データとを用いてニューラルネットワークのオンデバイス学習をもって、ニューラルネットワークの学習時の致命的忘却(Catastrophic Forgetting)を防止できる他の効果がある。
また、本発明は、ロスが高く学習効率のよくないトレーニングデータを用いて学習効果を高められるだけでなく、オンデバイス学習に必要なコンピューティングパワーと時間とを節減できるまたの効果がある。
本発明の実施例の説明に利用されるために添付された以下の各図面は、本発明の実施例のうちの一部に過ぎず、本発明が属する技術分野でおいて、通常の知識を有する者(以下「通常の技術者」)は、発明的作業が行われることなくこの図面に基づいて他の図面が得られ得る。
本発明の一例に係るディープラーニングを利用して入力データを分析するニューラルネットワークのオンデバイス継続学習(On−Device Continual Learning)のための学習装置を概略的に示した図面である。 本発明の一例に係るディープラーニングを利用して入力データを分析するニューラルネットワークのオンデバイス継続学習のための方法を概略的に示した図面である。 本発明の一例に係るディープラーニングを利用して入力データを分析するニューラルネットワークのオンデバイス継続学習のための方法において、以前トレーニングデータを生成するデータ生成器ネットワーク(Data Generator Network)の一例を概略的に示した図面である。 本発明の一例に係るディープラーニングを利用して入力データを分析するニューラルネットワークをオンデバイス継続学習する方法において、以前トレーニングデータを生成するデータ生成器ネットワークの他の例を示した図面である。 本発明の一例に係るディープラーニングを利用して入力データを分析するニューラルネットワークをオンデバイス継続学習のための方法において、データ生成器ネットワークを学習するプロセスを概略的に示した図面である。 本発明の一例に係るオンデバイス継続学習を完了したニューラルネットワークをテストするテスト装置を概略的に示した図面である。 、本発明の一例に係るオンデバイス継続学習を完了したニューラルネットワークをテストするテスト方法を概略的に示した図面である。
後述する本発明に対する詳細な説明は、本発明の各目的、技術的解決方法及び長所を明確にするために、本発明が実施され得る特定実施例を例示として示す添付図面を参照する。これらの実施例は、通常の技術者が本発明を実施することができるように充分詳細に説明される。
また、本発明の詳細な説明及び各請求項にわたって、「含む」という単語及びそれらの変形は、他の技術的各特徴、各付加物、構成要素又は段階を除外することを意図したものではない。通常の技術者にとって本発明の他の各目的、長所及び各特性が、一部は本説明書から、また一部は本発明の実施から明らかになるであろう。以下の例示及び図面は実例として提供され、本発明を限定することを意図したものではない。
さらに、本発明は、本明細書に示された実施例のあらゆる可能な組み合わせを網羅する。本発明の多様な実施例は相互異なるが、相互排他的である必要はないことを理解されたい。例えば、ここに記載されている特定の形状、構造及び特性は一例と関連して、本発明の精神及び範囲を逸脱せず、かつ他の実施例で実装され得る。また、各々の開示された実施例内の個別構成要素の位置または配置は、本発明の精神及び範囲を逸脱せずに変更され得ることを理解されたい。従って、後述する詳細な説明は限定的な意味で捉えようとするものではなく、本発明の範囲は、適切に説明されれば、その請求項が主張することと均等なすべての範囲と、併せて添付された請求項によってのみ限定される。図面で類似する参照符号はいくつかの側面にかけて同一か類似する機能を指称する。
本発明で言及している各種イメージは、舗装または非舗装道路関連のイメージを含み得、この場合、道路環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではなく、本発明で言及している各種イメージは、道路と関係のないイメージ(例えば、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内と関連したイメージ)でもあり得、この場合、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではない。
以下、本発明が属する技術分野で通常の知識を有する者が本発明を容易に実施することができるようにするために、本発明の好ましい実施例について添付の図面に基づいて詳細に説明する。
図1は、本発明の一例に係るディープラーニングを利用して、入力データを分析するニューラルネットワークのオンデバイス継続学習(On−Device Continual Learning)のための学習装置を概略的に示した図面である。図1を参照すれば、学習装置100は、ニューラルネットワークのオンデバイス継続学習を遂行するためのインストラクション(Instruction)を格納するメモリ110と、メモリ110に格納されたインストラクションに対応するプロセスとを遂行してニューラルネットワークのオンデバイス継続学習を遂行するためのプロセッサ120を含み得る。
具体的に、学習装置100は、典型的にコンピューティング装置(例えば、コンピュータのプロセッサ、メモリ、ストレージ、入力装置及び出力装置、その他の従来のコンピューティング構成要素を含み得る装置;ルータ、スイッチなどのような電子通信装置;ネットワーク接続ストレージ(NAS)及びストレージエリアネットワーク(SAN)のような電子情報ストレージシステム)と、コンピュータソフトウェア(つまり、コンピューティング装置をもって、特定の方式で機能させるインストラクション)との組み合わせを利用して希望するシステム性能を達成するものであり得る。
また、コンピューティング装置のプロセッサは、MPU(Micro Processing Unit)またはCPU(Central Processing Unit)、キャッシュメモリ(Cache Memory)、データバス(Data Bus)などのハードウェア構成を含むことができる。また、コンピューティング装置は、オペレーティングシステム、特定の目的を遂行するアプリケーションのソフトウェア構成をさらに含むこともできる。
しかし、コンピューティング装置が本発明を実施するためのプロセッサ、ミディアム、または他のコンピューティング構成要素の何らかの組み合わせを含む統合装置(Integrated Device)を排除するものではない。
このように構成された本発明の一例に係る学習装置100を利用したディープラーニングを利用して、入力データを分析するニューラルネットワークのオンデバイス継続学習を遂行する方法を、図2を参照に説明する。
まず、学習に向けて取得される新しいデータ(New Data)10が予め設定された基準ボリュームMになると、学習装置100が、予め設定された基準ボリュームMの新しいデータ10をユニフォームサンプリング(Uniform Sampling)して新しいデータ10の予め設定された第1ボリュームmになるようにする。
この際、新しいデータ10は、ニューラルネットワーク140を含む少なくとも一つのローカル装置(Local Device)自体から取得されるか、少なくとも一つの外部装置から取得され得る。
そして、学習装置100は、ユニフォームサンプリングによって予め設定された基準ボリュームMの新しいデータ10のうちの一部を予め設定された第1ボリュームmだけ選択する場合、予め設定された基準ボリュームMの新しいデータ10それぞれに対応するサンプリング確率
Figure 0006970461
それぞれを利用してm個の新しいデータを選択することができる。
ユニフォームサンプリングについての詳しい説明は、次の通りである。最初のイテレーション(Iteration)で10個のイメージのうちの2つのイメージのバッチ(Batch)が学習に利用されたなら、1/10の重み付け値(サンプリング確率)それぞれは、10個のイメージそれぞれに対して設定され得る。最初のイテレーションが行われている間、同一の重み付け値を有するため、任意で選択された2つのイメージのバッチが生成され得る。2つのイメージの重み付け値は、最初のイテレーションで生成された2つのイメージのロスを利用してアップデートされ得る。例えば、それぞれの重み付け値は、単一イメージの単一ロスの全体イメージのロスの和に対する割合であり得る。イメージを検出するのが難しければ重み付け値は大きくなり、イメージを検出しやすければ重み付け値は小さくなる。その後、より大きな重み付けを有する2つの選択されたイメージのバッチを利用して二番目のイテレーションが遂行され得、前記2つのイメージの重み付け値は、二番目のイテレーションによって生成された2つのイメージのロスを利用してアップデートされ得る。このプロセスが繰り返された結果、より大きなロスを有するイメージ(例えば、検出器の場合、検出が難しいイメージ)がさらに利用されて学習が向上する。この際、予め設定された基準ボリュームMの新しいデータ10それぞれに対応するサンプリング確率Piそれぞれは次のように表され得、以前のイテレーションで算出された大きなロスによって学習効率の悪い新しいデータには、より大きな重み付け値が付与され得る。
Figure 0006970461
つまり、ニューラルネットワークの少なくとも一つの重み付け値の単一アップデートをイテレーションとする場合、最初のイテレーションで、学習装置100は、予め設定された基準ボリュームMの新しいデータそれぞれに対応するサンプリング確率Piそれぞれを初期化して、初期化されたサンプリング確率を参照して予め設定された基準ボリュームMの新しいデータをユニフォームサンプリングして予め設定された第1ボリュームmの新しいデータを選択することができる。この際、サンプリング確率Piの初期値は1/Mであり得る。そして、学習装置100は、予め設定された第1ボリュームmの新しいデータに対応するロスを参照して、予め設定された第1ボリュームmの新しいデータに対応するそれぞれのサンプリング確率をアップデートすることにより、予め設定された基準ボリュームMの新しいデータそれぞれに対応するサンプリング確率それぞれをアップデートすることができる。
その後、次のイテレーションで、学習装置100は、予め設定された基準ボリュームMの新しいデータそれぞれに対応し、以前のイテレーションでアップデートされたサンプリング確率Piを参照して予め設定された基準ボリュームMの新しいデータをユニフォームサンプリングして予め設定された第1ボリュームmの新しいデータを生成することができる。この際、それぞれのイテレーションで選択される予め設定された第1ボリュームmの新しいデータは、部分的に異なる新しいデータであり得る。そして、学習装置100は、予め設定された第1ボリュームmの新しいデータに対応するロスを参照して予め設定された基準ボリュームMの新しいデータそれぞれに対応し、以前イテレーションでアップデートされたサンプリング確率それぞれをアップデートすることができる。
一方、学習装置100は、少なくとも一つのk次元ランダムベクトル(k−Dimension Random Vector)zをブースティングネットワーク(Boosting Network)B125に入力して、ブースティングネットワークB125をもって、k次元ランダムベクトルを、これより高いロスを有する少なくとも一つのk次元修正ベクトル(k−Dimension Modified Vector)に変換するようにする。この際、k次元修正ベクトルz’はz’=z+B(z)ように表され得る。その後、学習装置100は、k次元修正ベクトルを事前に学習したオリジナルデータ生成器ネットワーク(Original Data Generator Network)G130に入力して、オリジナルデータ生成器ネットワークG130をもって、k次元ランダムベクトルに対応する第1合成以前データ(Synthetic Previous Data)を出力するプロセスを繰り返すようにし、第1合成以前データが予め設定された第2ボリュームnになるようにする。
この際、ブースティングネットワーク125は、少なくとも一つの低次元のFCレイヤ(Fully Connected Layer)を含むことができる。一例として、ブースティングネットワーク125は3つのFCレイヤを含むことができる。詳しく見てみると、第1FCレイヤは、k次元ランダムベクトルに対してFC演算を少なくとも一度適用して少なくとも一つのL次元ベクトルを生成することができ、第2FCレイヤは、L次元ベクトルを少なくとも一つのL次元修正ベクトルに変換することができ、第3FCレイヤは、L次元修正ベクトルをk次元修正ベクトルに変換することができる。この際、Lはk/2であり得る。これによって、ブースティングネットワーク125は、ロスの変化に素早く対応できるだけでなく、コンピューティングパワーオーバーヘッド(Computing Power Overhead)も減らすことができるようになる。
そして、学習装置100は、最初のイテレーションで、ブースティングネットワーク125を初期化した後、初期化されたブースティングネットワーク125をもって、k次元ランダムベクトルをk次元修正ベクトルに変換するようにし、その次のイテレーションでは、以前のイテレーションで学習されたブースティングネットワーク125をもって、k次元ランダムベクトルをk次元修正ベクトルに変換するようにすることができる。この際、k次元ランダムベクトルは、それぞれのイテレーションで互いに異なる値を有することができる。
また、オリジナルデータ生成器ネットワークG130は、既に自身の学習に利用された以前データを出力するように学習されたもので、第1合成以前データは、以前データに対応し得る。そして、k次元ランダムベクトルは、自分の構成要素それぞれに向けてサンプリングされた0ないし1の間の入力から生成され得る。オリジナルデータ生成器ネットワークG130の学習プロセスについては、後から説明する。
一方、オリジナルデータ生成器ネットワークG130は、ニューラルネットワーク140に対応して構成され得、ニューラルネットワーク140が入力される新しいデータ(x,y)10に対応する(x,y)の次元、値の類型、及び範囲などによって適したネットワークアーキテクチャ(Network Architecture)を作成して利用することができる。
一例として、図3を参照すれば、ニューラルネットワーク140がベクトルに入力を受けるを入力される分類器である場合、オリジナルデータ生成器ネットワーク130は、k次元ランダムベクトルに対応するk次元情報に対してFC演算を適用して少なくとも一つのD次元ベクトル(G(z))と、少なくとも一つのC次元ワンホット(One−Hot)ベクトル(Gy(z))とを生成する少なくとも一つ以上のFCレイヤを含むことができる。
他の例として、図4を参照すれば、ニューラルネットワーク140が少なくとも一つのRGBイメージを入力として取得する物体検出器である場合、オリジナルデータ生成器ネットワーク130は、k次元ランダムベクトルに対応する1x1xK情報を少なくとも一つのHxWx3テンソル(Tensor)(Gx(z))に変換する少なくとも一つの転置コンボリューションレイヤ(Transposed Convolutional Layer)131−1,131−2,…と、前記HxWx3テンソルを分析して、少なくとも一つのRx(4+C)ベクトルを生成するFaster R−CNN F132を含むように構成され得る。この際、多数の転置コンボリューションレイヤ131−1,131−2,…の出力端(Output End)には、少なくとも一つのH×W×3ベクトルを前記H×W×3テンソルに変換するアクティベーション関数(シグモイド;Sigmoid)がともに提供され得る。そして、R×(4+C)ベクトルにおいて、RはR次元のベクトル(Gy(z))を含み、(4+C)はX1、Y1、X2、Y2、及び、C次元ワンホットベクトルを含み得る。
次に、再び図2を参照すれば、学習装置100は、予め設定された第1ボリュームmの新しいデータ及び予め設定された第2ボリュームnの前記第1合成以前ベクトルを参照して、第1現在学習に利用される第1バッチ20を生成する。この際、前記第1バッチ20は、m+nボリュームであり得る。
その後、学習装置100は、第1バッチ20をニューラルネットワーク140に入力して、ニューラルネットワーク140をもって、前記第1バッチ20に対応する出力情報を生成するようにし、第1ロスレイヤ150をもって、出力情報とこれに対応するGT(Ground Truth)とを参照して一つ以上の第1ロスを算出するようにする。この際、新しいデータに対するロスは、第1バッチ20内の新しいデータに対するロスであり、L(Yi、F(xi))のように表され得、以前データに対するロスは、第1バッチ20のうちの合成以前データに対するロスであり、L(Gy(zi)、F(Gx(zi)))のように表され得る。
そして、学習装置100は、第1ロスをバックプロパゲーションして、ニューラルネットワーク140とブースティングネットワーク125の第1現在学習を遂行することができる。
この際、学習装置100は、第1ロスをバックプロパゲーションすることで、ニューラルネットワーク140のロスを最小化するためにニューラルネットワーク140の少なくとも一つの重み付け値(WF)の最急降下法(Gradient Descent)を遂行することができ、これによってニューラルネットワーク140の重み付け値(WF)は、次の公式にアップデートされ得る。
Figure 0006970461
また、学習装置100は、第1ロスをバックプロパゲーションすることにより、第1ロスのうちの第1合成以前データに対応するロスを最大化するように、つまり、
Figure 0006970461
になるようにブースティングネットワーク125の重み付け値の最急上昇法(Gradient Ascent)を遂行することができ、これによってブースティングネットワーク125の少なくとも一つの重み付け値(WB)は、次の公式にアップデートされ得る。
Figure 0006970461
この際、学習装置100は、ブースティングネットワーク125のすべての重み付け値の絶対値が閾値Cを超えないように
Figure 0006970461
アップデートごとに全ての重み付け値をクリッピング(Clipping)することができる。つまり、重み付け値(WB)が閾値Cを超過する場合は、ブースティングネットワーク125の重み付け値を閾値Cにアップデートし、重み付け値(WB)が負(−)の閾値C未満である場合は、負(−)のブースティングネットワーク125の重み付け値を閾値Cにアップデートすることができる。
そして、学習装置100は、第1ロスをバックプロパゲーションすることで、ニューラルネットワーク140の重み付け値をアップデートするイテレーションプロセスをニューラルネットワーク140のロスとブースティングネットワーク125のロスが収束するまで繰り返す。
一方、反復によってニューラルネットワーク140のロスとブースティングネットワーク125のロスがイテレーションによって収束すると、学習装置100は、ブースティングネットワーク125を初期化するか、次の学習の最初のイテレーションでブースティングネットワーク125を初期化することができる。
この際、ブースティングネットワーク125の初期値、つまり、初期重み付け値は十分に小さな値に設定することができる。一例として、平均は0、標準偏差は1e−4などのように設定することができ、初期値の絶対値が閾値Cを超えないように設定することができる。
次に、図5を参照して、事前に学習されたオリジナルデータ生成器ネットワーク130を学習するプロセスを説明する。前記図2の説明から容易に理解可能な部分については、説明を省略することにする。
まず、学習装置100は、新しいデータh10をサンプリングして前記予め設定された第1ボリュームmになるようにし、オリジナルデータ生成器ネットワークG130を複製することで複製データ生成器ネットワークG’130Cを生成する。
そして、前記学習装置100は、前記複製データ生成器ネットワークG’130Cをもって、前記k次元ランダムベクトルzに対応する第2合成以前データG’(z)を出力するプロセスを繰り返すようにして、第2合成以前データG’(z)が予め設定された第2ボリュームnになるようにする。この際、学習装置100は、予め設定された第2ボリュームnの第2合成以前データG’(z)を実際データ(Real Data)とみなして、第2合成以前データG’(z)を以前データG’(z)に設定する。
そして、前記学習装置100は、オリジナルデータ生成器ネットワークG130をもって、k次元ランダムベクトルzに対応する第3合成以前データG(z)を出力するプロセスを繰り返すようにして、第3合成以前データG(z)が予め設定された第3ボリュームm+nになるようにする。この際、予め設定された第3ボリュームm+nは、予め設定された第1ボリュームmと、予め設定された第2ボリュームnとの合計になるようにする。
その後、学習装置100は、第1ボリュームmの新しいデータhと、第2ボリュームnの第2合成以前データG’(z)と、第3ボリュームm+nの第3合成以前データG(z)とを参照して第2現在学習に利用する第2バッチ21を生成する。
次に、学習装置100は、第2バッチ21を判別器D160に入力して、判別器D160をもって、第2バッチ21に対応するスコアベクトル(Score Vector)を出力するようにする。
この際、スコアベクトルは、予め設定された第2ボリュームnの第2合成以前データG’(z)のスコアベクトルと、予め設定された第1ボリュームmの前記新しいデータhのスコアベクトルと、予め設定された第3ボリュームm+nの第3合成以前データG(z)スコアベクトルとを含み得る。予め設定された第2ボリュームnの第2合成以前データG'(z)のスコアベクトルは、
Figure 0006970461
のように表され得、予め設定された第1ボリュームmの新しいデータhのスコアベクトルは、
Figure 0006970461
のように表され得、予め設定された第3ボリュームm+nの第3合成以前データG(z)のスコアベクトルは、
Figure 0006970461
のように表され得る。
そして、学習装置100は、第2ロスレイヤ170をもって、スコアベクトルとこれに対応するGTとを参照して少なくとも一つ以上の第2ロスを算出するようにすることで、第2ロスをバックプロパゲーションして判別器D160及びオリジナルデータ生成器ネットワークG130の第2現在学習を遂行することができる。
この際、学習装置100は、第2ロスをバックプロパゲーションして判別器D160の少なくとも一つの重み付け値(WD)の最急上昇法を遂行することができ、これによって判別器D160の少なくとも一つの重み付け値(WD)は、次の公式にアップデートされ得る。
Figure 0006970461
また、学習装置100は、第2ロスをバックプロパゲーションしてオリジナルデータ生成器ネットワークG130の少なくとも一つの重み付け値(WG)の最急上昇法を遂行することができ、それによってオリジナルデータ生成器ネットワークG130の少なくとも一つの重み付け値(WG)は、次の公式にアップデートされ得る。
Figure 0006970461
一方、学習装置100は、複製データ生成器ネットワークG’130Cからの第2合成以前データG’(z)を実際データとみなし、判別器D160の第2現在学習を遂行し、スコアベクトルのうちの第3合成以前データG(z)に対応する第3合成以前データスコアのベクトルが最大化されるようにオリジナルデータ生成器ネットワークG130の第2現在学習を遂行する。
従って、判別器160の学習に利用される実際データは、新しいデータhと第2合成以前データである以前データG’(z)とを含み得、それによってオリジナルデータ生成器ネットワークG130は、実際データである新しいデータhと第2合成以前データである以前データG’(z)とを出力するように学習され得る。
そして、学習装置100は、第2ロスをバックプロパゲーションして判別器D160のロス及びオリジナルデータ生成器ネットワークG130のロスが収束するまで、前記のプロセス、つまり、イテレーションを遂行する。つまり、学習装置100は、第2合成以前データと、新しいデータと、第3合成以前データとを利用して、第2バッチの生成と、第2バッチを利用した判別器160と、オリジナルデータ生成器ネットワーク130との第2現在学習を繰り返すことにより、判別器160のロスとオリジナルデータ生成器ネットワーク130のロスとが収束されるように、第2バッチを利用して判別器160とオリジナルデータ生成器ネットワーク130との第2現在学習を繰り返すことができる。
この際、判別器160の学習に利用される以前データの新しいデータに対する比率は、n:m=N:Mになり、新たなデータのすべてのボリュームMが第2バッチを利用して学習される場合、学習されたオリジナルデータ生成器ネットワークG130から出力される以前データの新しいデータに対する比率はN:Mになり得る。
その後、第2現在学習が完了すると、一例として、判別器160のロスとオリジナルデータ生成器ネットワーク130のロスとが収束すると、学習装置100が、新しいデータを削除し、新しいデータ及び第2合成以前データは、次の学習で利用できるように以前データとして出力するためにオリジナルデータ生成器ネットワークをアップデートすることができる。
つまり、オリジナルデータ生成器ネットワーク130が第2現在学習に利用される実際データに対応する新しいデータと、以前データとを出力できるように学習された状態であるため、新しいデータを削除し得、次の学習が遂行される場合、オリジナルデータ生成器ネットワーク130は、現在学習に利用された以前データと、新しいデータとを出力することによって次の学習のための以前データを取得することができる。
一方、前記第1現在学習と第2現在学習とを含む現在学習が第1学習である場合は、以前データなしに第1現在学習と第2現在学習とを遂行することができる。
つまり、学習装置100は、予め設定された第1ボリュームmの新しいデータだけで第1バッチを生成し、第1バッチを利用してニューラルネットワーク140のロスが収束するように第1現在学習を遂行する。
そして、学習装置100は、ブースティングネットワーク125をもって、k次元ランダムベクトルに対応するk次元修正ベクトルを生成するようにし、オリジナルデータ生成器ネットワーク130をもって、k次元修正ベクトルに対応する第3合成以前データを出力するプロセスを繰り返すようにして第3合成以前データが予め設定された第1ボリュームmになるようにし、予め設定された第1ボリュームの新しいデータ及び予め設定された第1ボリュームの第3合成以前データを参照して第2バッチを生成し、第2バッチを利用して判別器160のロス及びオリジナルデータ生成器ネットワーク130のロスが収束するように第2現在学習を遂行し得る。
この後、学習装置100は、現在学習に利用された新しいデータを削除し、新しいデータを以前データに初期化することができる。
図6は、本発明の一例に係るオンデバイス継続学習されたニューラルネットワークをテストするテスト装置を概略的に示した図面である。図6を参照すれば、テスト装置200は、オンデバイス継続学習を完了したニューラルネットワークをテストするためのインストラクションを格納するメモリ210と、メモリ210に格納されたインストラクションとに対応してオンデバイス継続学習を完了したニューラルネットワークをテストするプロセスを遂行するためのプロセッサ220を含むことができる。
具体的に、テスト装置200は、典型的にコンピューティング装置(例えば、コンピュータのプロセッサ、メモリ、ストレージ、入力装置及び出力装置、その他の従来のコンピューティング装置の構成要素を含み得る装置;ルータ、スイッチなどのような電子通信装置;ネットワーク接続ストレージ(NAS)及びストレージエリアネットワーク(SAN)のような電子情報ストレージシステム)と、コンピュータソフトウェア(つまり、コンピューティング装置をもって、特定の方式で機能させるインストラクション)との組み合わせを利用して希望するシステム性能を達成するものであり得る。
また、コンピューティング装置のプロセッサは、MPU(Micro Processing Unit)またはCPU(Central Processing Unit)、キャッシュメモリ(Cache Memory)、データバス(Data Bus)などのハードウェア構成を含むことができる。また、コンピューティング装置は、オペレーティングシステム、特定の目的を遂行するアプリケーションのソフトウェア構成をさらに含むこともできる。
しかし、コンピューティング装置が本発明を実施するためのプロセッサ、ミディアム、または他のコンピューティング構成要素の何らかの組み合わせを含む統合装置(Integrated Device)を排除するものではない。
このように構成された本発明の一例に係るテスト装置200を利用して、オンデバイス継続学習を完了したニューラルネットワークをテストする方法について、図7を参照して説明する。
前記で説明したような方法によってニューラルネットワーク140が学習された状態で、テスト装置200がテストデータ210を取得するか、他の装置をもって取得するように支援する。この際、テストデータ210は、イメージ情報、センサ(Sensor)情報、音声情報などを含み得るが、これに限定されず、特徴分析が可能なすべての入力データを含むことができる。
そして、テスト装置200は、テストデータ210をニューラルネットワーク140に入力して、ニューラルネットワーク140をもって、テストデータ210に対応する出力情報を生成するようにすることができる。
参考までに、以下の説明において混乱を避けるために、学習プロセスに関連する用語には「学習用」という単語が追加され、テスト用プロセスに関連する用語には「テスト用」という単語が追加された。
一方、学習用新しいデータが予め設定された基準ボリューム(Preset Base Volume)になると、学習装置100は、学習用予め設定された基準ボリュームの学習用新しいデータをユニフォームサンプリング(Uniform−Sampling)して学習用新しいデータが予め設定された第1ボリュームを有するようにし、少なくとも一つの学習用k次元ランダムベクトル(k−Dimension Random Vector)をブースティングネットワーク(Boosting Network)に入力して、ブースティングネットワークをもって、学習用k次元ランダムベクトルを、これより高いロスを有する少なくとも一つの学習用k次元修正ベクトル(k−Dimension Modified Vector)に変換するようにし、学習用k次元修正ベクトルを、学習が完了したオリジナルデータ生成器ネットワーク(Original Data Generator Network)に入力して、オリジナルデータ生成器ネットワークをもって、学習用k次元修正ベクトルに対応し、オリジナルデータ生成器ネットワークを学習するのに用いられていた学習用以前データ(Previous Data)に対応する、学習用第1合成以前データ(Synthetic Previous Data)を出力するプロセスを繰り返すようにして、学習用第1合成以前データが予め設定された第2ボリュームを有するようにし、予め設定された第1ボリュームの学習用新しいデータ及び予め設定された第2ボリュームの学習用第1合成以前データを参照して、第1現在学習(Current−Learning)に利用される学習用第1バッチ(Batch)を生成するプロセスと、ニューラルネットワークとをもって、学習用第1バッチをニューラルネットワークに入力して学習用第1バッチに対応する学習用出力情報(Output Information)を生成するようにし、第1レイヤ(Loss Layer)をもって、学習用出力情報とこれに対応するGTとを参照して少なくとも一つの第1ロスを算出するようにし、第1ロスをバックプロパゲーションすることで、ニューラルネットワークとブースティングネットワークとの第1現在学習を遂行するプロセスを完了した状態で、テスト装置200が、テストデータを取得するか、他の装置をもって取得するよう支援することができ、テスト装置200は、ニューラルネットワークをもって、テストデータをニューラルネットワークに入力してテストデータに対応する出力情報を生成するようにすることができる。
そして、学習装置100は、予め設定された基準ボリュームの学習用新しいデータをユニフォームサンプリングして学習用新しいデータが予め設定された第1ボリュームを有するようにし、オリジナルデータ生成器ネットワークを複製して複製データ生成器ネットワーク(Cloned Data Generator Network)を生成するようにし、複製データ生成器ネットワークをもって、学習用k次元ランダムベクトルに対応し、オリジナルデータ生成器ネットワークを学習するのに用いられた学習用以前データに対応する、学習用第2合成以前データを出力するプロセスを繰り返すようにして、学習用第2合成以前データが予め設定された第2ボリュームを有するようにし、オリジナルデータ生成器ネットワークをもって、学習用k次元ランダムベクトルに対応しオリジナルデータ生成器ネットワークを学習するのに用いられた学習用以前データに対応する、学習用第3合成以前データを出力するプロセスを繰り返すようにして、学習用第3合成以前データが、予め設定された第1ボリュームと予め設定された第2ボリュームとの和と同じ予め設定された第3ボリュームを有するようにし、予め設定された第1ボリュームの学習用新しいデータと、予め設定された第2ボリュームの学習用第2合成以前データと、予め設定された第3ボリュームの学習用第3合成以前データとを参照して、第2現在学習に利用する学習用第2バッチを生成するプロセスと、判別器(Discriminator)とをもって、学習用第2バッチを判別器に入力して学習用第2バッチに対応する学習用スコアベクトル(Score Vector)を生成するようにし、第2ロスレイヤをもって、学習用スコアベクトルとこれに対応するGTとを参照して第2ロスを算出するようにし、第2ロスをバックプロパゲーションすることによって、判別器とオリジナルデータ生成器ネットワークとの第2現在学習を遂行するプロセスを完了した状態であり得る。
本発明は、スマートフォン、ドローン、船舶または軍事目的で利用するために、プライバシー侵害防止、ストレージのようなリソース最適化、及びトレーニングイメージサンプリングプロセス最適化のために遂行され得る。また、本発明は、ニューラルネットワーク、GAN(Generative Adversarial Network)などの学習プロセスによって遂行されることができる。
また、以上で説明された本発明に係る実施例は、多様なコンピュータ構成要素を通じて遂行できるプログラム命令語の形態で実装されてコンピュータで判読可能な記録媒体に記録され得る。前記コンピュータで読取り可能な記録媒体はプログラム命令語、データファイル、データ構造などを単独でまたは組み合わせて含まれ得る。前記コンピュータ読取り可能な記録媒体に記録されるプログラム命令語は、本発明のために特別に設計されて構成されたものであるか、コンピュータソフトウェア分野の当業者に公知となって使用可能なものでもよい。コンピュータで判読可能な記録媒体の例には、ハードディスク、フロッピィディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスク(flopticaldisk)のような磁気−光媒体(magneto−opticalmedia)、及びROM、RAM、フラッシュメモリなどといったプログラム命令語を格納して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるもののような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードも含まれる。前記ハードウェア装置は、本発明に係る処理を遂行するために一つ以上のソフトウェアモジュールとして作動するように構成され得、その逆も同様である。
以上、本発明が具体的な構成要素などのような特定事項と限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解を助けるために提供されたものであるに過ぎず、本発明が前記実施例に限られるものではなく、本発明が属する技術分野において通常の知識を有する者であれば係る記載から多様な修正及び変形が行われ得る。
従って、本発明の思想は前記説明された実施例に局限されて定められてはならず、後述する特許請求の範囲だけでなく、本特許請求の範囲と均等または等価的に変形されたものすべては、本発明の思想の範囲に属するといえる。
100:学習装置
110:メモリ
120:プロセッサ
125:ブースティングネットワーク
130:データ生成器ネットワーク
140:ニューラルネットワーク
150:第1ロスレイヤ
160:判別器
170:第2ロスレイヤ
200:テスト装置
210:メモリ
220:プロセッサ

Claims (30)

  1. 入力データを分析するニューラルネットワーク(Neural Network)のオンデバイス継続学習(On−Device Continual Learning)のための方法において、
    (a)学習のために取得される新しいデータが予め設定された基準ボリューム(Preset Base Volume)になると、学習装置が、前記予め設定された基準ボリュームの前記新しいデータをユニフォームサンプリング(Uniform−Sampling)して前記新しいデータが予め設定された第1ボリュームを有するようにし、少なくとも一つのk次元ランダムベクトル(k−Dimension Random Vector)をブースティングネットワーク(Boosting Network)に入力して、前記ブースティングネットワークをもって、前記k次元ランダムベクトルを、少なくとも一つのk次元修正ベクトル(k−Dimension Modified Vector)に変換するようにし、前記k次元修正ベクトルを、学習が完了したオリジナルデータ生成器ネットワーク(Original Data Generator Network)に入力して、前記オリジナルデータ生成器ネットワークをもって、前記k次元修正ベクトルに対応し、前記オリジナルデータ生成器ネットワークを学習するのに用いられていた以前データ(Previous Data)に対応する、第1合成以前データ(Synthetic Previous Data)を出力するプロセスを繰り返すようにして、前記第1合成以前データが予め設定された第2ボリュームを有するようにし、前記予め設定された第1ボリュームの前記新しいデータ及び前記予め設定された第2ボリュームの前記第1合成以前データを参照して第1現在学習(Current−Learning)に利用される第1バッチ(batch)を生成する段階;及び
    (b)前記学習装置が、前記ニューラルネットワークをもって、前記第1バッチを前記ニューラルネットワークに入力して前記第1バッチに対応する出力情報(Output Information)を生成するようにし、第1ロスレイヤ(Loss Layer)をもって、前記出力情報とこれに対応するGT(Ground Truth)とを参照して少なくとも一つの第1ロスを算出するようにし、前記第1ロスをバックプロパゲーションすることで前記ニューラルネットワークと前記ブースティングネットワークとの前記第1現在学習を遂行する段階;
    を含むことを特徴とする方法。
  2. (c)前記学習装置が、前記予め設定された基準ボリュームの前記新しいデータをユニフォームサンプリングして前記新しいデータが前記予め設定された第1ボリュームを有するようにし、前記オリジナルデータ生成器ネットワークを複製して複製データ生成器ネットワーク(Cloned Data Generator Network)を生成するようにし、前記複製データ生成器ネットワークをもって、前記k次元ランダムベクトルに対応し、前記オリジナルデータ生成器ネットワークを学習するのに用いられた前記以前データに対応する、第2合成以前データを出力するプロセスを繰り返すようにして、前記第2合成以前データが前記予め設定された第2ボリュームを有するようにし、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応し前記オリジナルデータ生成器ネットワークを学習するのに用いられた前記以前データに対応する、第3合成以前データを出力するプロセスを繰り返すようにして、前記第3合成以前データが、前記予め設定された第1ボリュームと前記予め設定された第2ボリュームとの和と同じ予め設定された第3ボリュームを有するようにし、前記予め設定された第1ボリュームの前記新しいデータと、前記予め設定された第2ボリュームの前記第2合成以前データと、前記予め設定された第3ボリュームの前記第3合成以前データとを参照して第2現在学習に利用される第2バッチを生成する段階;及び
    (d)前記学習装置が、判別器(Discriminator)をもって、前記第2バッチを前記判別器に入力して前記第2バッチに対応するスコアベクトル(Score Vector)を生成するようにし、第2ロスレイヤをもって、前記スコアベクトルとこれに対応するGTとを参照して少なくとも一つの第2ロスを算出するようにし、前記第2ロスをバックプロパゲーションすることで前記判別器及び前記オリジナルデータ生成器ネットワークの前記第2現在学習を遂行する段階;
    をさらに含むことを特徴とする請求項1に記載の方法。
  3. 前記学習装置は、前記第2ロスをバックプロパゲーションすることで、前記判別器のロス及び前記オリジナルデータ生成器ネットワークのロスがそれぞれ収束するまで前記(c)段階と前記(d)段階とを繰り返すことを特徴とする請求項2に記載の方法。
  4. 前記(d)段階で、
    前記学習装置は、前記第2ロスをバックプロパゲーションすることで前記判別器の少なくとも一つの重み付け値及び前記オリジナルデータ生成器ネットワークの少なくとも一つの重み付け値の最急上昇法(gradient ascent)を遂行することを特徴とする請求項2に記載の方法。
  5. 前記(d)段階で、
    前記学習装置は、前記第2ロスをバックプロパゲーションすることで、前記判別器の前記第2現在学習を遂行中に、前記複製データ生成器ネットワークからの前記第2合成以前データを本物のデータ(Real Data)とみなし、前記判別器の前記第2現在学習を遂行することを特徴とする請求項2に記載の方法。
  6. 前記(d)段階で、
    前記学習装置は、前記オリジナルデータ生成器ネットワークの前記第2現在学習を遂行して、前記スコアベクトルのうちの前記第3合成以前データに対応する第3合成以前データスコアベクトルが最大化するようにすることを特徴とする請求項2に記載の方法。
  7. 前記第2現在学習が最初の学習である場合、
    前記(a)段階で、
    前記学習装置は、前記予め設定された第1ボリュームの前記新しいデータのみを利用して前記第1バッチを生成し、
    前記(c)段階で、
    前記学習装置は、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する前記第3合成以前データを出力するプロセスを繰り返すようにして前記第3合成以前データが前記予め設定された第1ボリュームを有するようにし、前記予め設定された第1ボリュームの前記新しいデータ及び前記予め設定された第1ボリュームの前記第3合成以前データを参照して、前記第2バッチを生成することを特徴とする請求項2に記載の方法。
  8. 前記学習装置は、前記第1ロスをバックプロパゲーションすることで、前記第1ロスが収束するまで前記(a)段階と前記(b)段階とを繰り返すことを特徴とする請求項1に記載の方法。
  9. 前記(a)段階と前記(b)段階とを前記第1現在学習で繰り返す場合、
    前記学習装置は、
    (i)最初のイテレーション(Iteration)で、前記(a)段階で前記予め設定された基準ボリュームの前記新しいデータそれぞれに対応するサンプリング確率(Sampling Probability)それぞれを初期化し、初期化された前記サンプリング確率を参照して前記予め設定された基準ボリュームの前記新しいデータを前記ユニフォームサンプリングして前記予め設定された第1ボリュームの前記新しいデータを生成し、前記(b)段階において、前記ニューラルネットワークの前記第1現在学習が完了すれば、前記予め設定された第1ボリュームの前記新しいデータに対応する前記第1ロスを参照して前記予め設定された第1ボリュームの前記新しいデータそれぞれに対応する前記サンプリング確率それぞれをアップデートすることで、前記予め設定された基準ボリュームの前記新しいデータそれぞれに対応する前記サンプリング確率それぞれをアップデートし、
    (ii)次のイテレーションで、前記(a)段階で前記予め設定された基準ボリュームの前記新しいデータそれぞれに対応する以前のイテレーションでアップデートされた前記サンプリング確率それぞれを参照して、前記予め設定された基準ボリュームの前記新しいデータの前記ユニフォームサンプリングによって前記予め設定された第1ボリュームの前記新しいデータを生成し、前記(b)段階において、前記ニューラルネットワークの前記第1現在学習が完了すると、前記予め設定された第1ボリュームの前記新しいデータに対応する前記第1ロスを参照して前記予め設定された基準ボリュームの前記新しいデータそれぞれに対応する前記以前イテレーションでアップデートされた前記サンプリング確率それぞれをアップデートすることを特徴とする請求項8に記載の方法。
  10. 前記(a)段階と前記(b)段階とを前記第1現在学習で繰り返す場合、
    最初のイテレーションで、前記学習装置は、前記(a)段階で、前記ブースティングネットワークを初期化した後、初期化された前記ブースティングネットワークをもって、前記k次元ランダムベクトルを前記k次元修正ベクトルに変換するようにし、
    次のイテレーションで、前記学習装置は、前記(a)段階で、以前イテレーションでの前記(b)段階で前記第1現在学習を完了した前記ブースティングネットワークをもって、前記k次元ランダムベクトルを前記k次元修正ベクトルに変換するようにすることを特徴とする請求項8に記載の方法。
  11. 前記(b)段階で、
    前記学習装置は、前記第1ロスをバックプロパゲーションして、前記ニューラルネットワークのロスを最小化するように前記ニューラルネットワークの少なくとも一つの重み付け値の最急降下法(Gradient Descent)を遂行して、前記第1ロスのうちの前記第1合成以前データに対応するロスを最大化するように前記ブースティングネットワークの少なくとも一つの重み付け値の最急上昇法を遂行することを特徴とする請求項1に記載の方法。
  12. 前記学習装置は、前記ブースティングネットワークの前記重み付け値の前記最急上昇法を遂行する場合、前記ブースティングネットワークの前記重み付け値をクリッピング(Clipping)することを特徴とする請求項11に記載の方法。
  13. 前記ブースティングネットワークは、少なくとも一つのFCレイヤ(Fully Connected Layer)を含み、前記ブースティングネットワークは、入力された前記k次元ランダムベクトルを、それよりも次元の低いL次元ベクトルに変換し、その後、前記L次元ベクトルを前記k次元修正ベクトルに変換して出力することを特徴とする請求項1に記載の方法。
  14. 入力データを分析するニューラルネットワーク(Neural Network)をテストする方法において、
    (a)学習装置が、(I)学習のために取得される学習用新しいデータが予め設定された基準ボリューム(Preset Base Volume)になると、前記予め設定された基準ボリュームの前記学習用新しいデータをユニフォームサンプリング(Uniform−Sampling)して前記学習用新しいデータが予め設定された第1ボリュームを有するようにし、少なくとも一つの学習用k次元ランダムベクトル(k−Dimension Random Vector)をブースティングネットワーク(Boosting Network)に入力して、前記ブースティングネットワークをもって、前記学習用k次元ランダムベクトルを、少なくとも一つの学習用k次元修正ベクトル(k−Dimension Modified Vector)に変換するようにし、前記学習用k次元修正ベクトルを、学習が完了したオリジナルデータ生成器ネットワーク(Original Data Generator Network)に入力して、前記オリジナルデータ生成器ネットワークをもって、前記学習用k次元修正ベクトルに対応し、前記オリジナルデータ生成器ネットワークを学習するのに用いられていた学習用以前データ(Previous Data)に対応する、学習用第1合成以前データ(Synthetic Previous Data)を出力するプロセスを繰り返すようにして、前記学習用第1合成以前データが予め設定された第2ボリュームを有するようにし、前記予め設定された第1ボリュームの前記学習用新しいデータ及び前記予め設定された第2ボリュームの前記学習用第1合成以前データを参照して第1現在学習(Current−Learning)に利用される学習用第1バッチ(batch)を生成するプロセス、及び(II)前記ニューラルネットワークをもって、前記学習用第1バッチを前記ニューラルネットワークに入力して前記学習用第1バッチに対応する学習用出力情報(Output Information)を生成するようにし、第1ロスレイヤ(Loss Layer)をもって、前記学習用出力情報とこれに対応するGT(Ground Truth)とを参照して少なくとも一つの第1ロスを算出するようにし、前記第1ロスをバックプロパゲーションすることで前記ニューラルネットワークと前記ブースティングネットワークとの前記第1現在学習を遂行するプロセスを完了した状態で、テスト装置がテストデータを取得する段階;及び
    (b)前記テスト装置が、前記ニューラルネットワークをもって、前記テストデータを前記ニューラルネットワークに入力して前記テストデータに対応するテスト用出力情報を生成するようにする段階;
    を含むことを特徴とする方法。
  15. 前記(a)段階で、
    前記学習装置が、
    (III)前記予め設定された基準ボリュームの前記学習用新しいデータをユニフォームサンプリングして前記学習用新しいデータが前記予め設定された第1ボリュームを有するようにし、前記オリジナルデータ生成器ネットワークを複製して複製データ生成器ネットワーク(Cloned Data Generator Network)を生成するようにし、前記複製データ生成器ネットワークをもって、前記学習用k次元ランダムベクトルに対応し、前記オリジナルデータ生成器ネットワークを学習するのに用いられた前記学習用以前データに対応する、学習用第2合成以前データを出力するプロセスを繰り返すようにして、前記学習用第2合成以前データが前記予め設定された第2ボリュームを有するようにし、前記オリジナルデータ生成器ネットワークをもって、前記学習用k次元ランダムベクトルに対応し前記オリジナルデータ生成器ネットワークを学習するのに用いられた前記学習用以前データに対応する、学習用第3合成以前データを出力するプロセスを繰り返すようにして、前記学習用第3合成以前データが、前記予め設定された第1ボリュームと前記予め設定された第2ボリュームとの和と同じ予め設定された第3ボリュームを有するようにし、前記予め設定された第1ボリュームの前記学習用新しいデータと、前記予め設定された第2ボリュームの前記学習用第2合成以前データと、前記予め設定された第3ボリュームの前記学習用第3合成以前データとを参照して、第2現在学習に利用される学習用第2バッチを生成するプロセス、及び(IV)判別器(Discriminator)をもって、前記学習用第2バッチを前記判別器に入力して前記学習用第2バッチに対応する学習用スコアベクトル(Score Vector)を生成するようにし、第2ロスレイヤをもって、前記学習用スコアベクトルとこれに対応するGTとを参照して少なくとも一つの第2ロスを算出するようにし、前記第2ロスをバックプロパゲーションすることで前記判別器及び前記オリジナルデータ生成器ネットワークの前記第2現在学習を遂行するプロセス;をさらに遂行することを特徴とする請求項14に記載の方法。
  16. 入力データを分析するニューラルネットワーク(Neural Network)のオンデバイス継続学習(On−Device Continual Learning)のための学習装置において、
    インストラクションを格納する少なくとも一つのメモリ;及び
    (I)学習のために取得される新しいデータが予め設定された基準ボリューム(Preset Base Volume)になると、前記予め設定された基準ボリュームの前記新しいデータをユニフォームサンプリング(Uniform−Sampling)して前記新しいデータが予め設定された第1ボリュームを有するようにし、少なくとも一つのk次元ランダムベクトル(k−Dimension Random Vector)をブースティングネットワーク(Boosting Network)に入力して、前記ブースティングネットワークをもって、前記k次元ランダムベクトルを、少なくとも一つのk次元修正ベクトル(k−Dimension Modified Vector)に変換するようにし、前記k次元修正ベクトルを、学習が完了したオリジナルデータ生成器ネットワーク(Original Data Generator Network)に入力して、前記オリジナルデータ生成器ネットワークをもって、前記k次元修正ベクトルに対応し、前記オリジナルデータ生成器ネットワークを学習するのに用いられていた以前データ(Previous Data)に対応する、第1合成以前データ(Synthetic Previous Data)を出力するプロセスを繰り返すようにして、前記第1合成以前データが予め設定された第2ボリュームを有するようにし、前記予め設定された第1ボリュームの前記新しいデータ及び前記予め設定された第2ボリュームの前記第1合成以前データを参照して第1現在学習(Current−Learning)に利用される第1バッチ(batch)を生成するプロセス;及び(II)前記ニューラルネットワークをもって、前記第1バッチを前記ニューラルネットワークに入力して前記第1バッチに対応する出力情報(Output Information)を生成するようにし、第1ロスレイヤ(Loss Layer)をもって、前記出力情報とこれに対応するGT(Ground Truth)とを参照して少なくとも一つの第1ロスを算出するようにし、前記第1ロスをバックプロパゲーションすることで前記ニューラルネットワークと前記ブースティングネットワークとの前記第1現在学習を遂行するプロセスを遂行するための、前記インストラクションを実行するように構成された少なくとも一つのプロセッサ;
    を含むことを特徴とする装置。
  17. 前記プロセッサが、
    (III)前記予め設定された基準ボリュームの前記新しいデータをユニフォームサンプリングして前記新しいデータが前記予め設定された第1ボリュームを有するようにし、前記オリジナルデータ生成器ネットワークを複製して複製データ生成器ネットワーク(Cloned Data Generator Network)を生成するようにし、前記複製データ生成器ネットワークをもって、前記k次元ランダムベクトルに対応し、前記オリジナルデータ生成器ネットワークを学習するのに用いられた前記以前データに対応する、第2合成以前データを出力するプロセスを繰り返すようにして、前記第2合成以前データが前記予め設定された第2ボリュームを有するようにし、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応し前記オリジナルデータ生成器ネットワークを学習するのに用いられた前記以前データに対応する、第3合成以前データを出力するプロセスを繰り返すようにして、前記第3合成以前データが、前記予め設定された第1ボリュームと前記予め設定された第2ボリュームとの和と同じ予め設定された第3ボリュームを有するようにし、前記予め設定された第1ボリュームの前記新しいデータと、前記予め設定された第2ボリュームの前記第2合成以前データと、前記予め設定された第3ボリュームの前記第3合成以前データとを参照して、第2現在学習に利用される第2バッチを生成するプロセス;及び(IV)判別器(Discriminator)をもって、前記第2バッチを前記判別器に入力して前記第2バッチに対応するスコアベクトル(Score Vector)を生成するようにし、第2ロスレイヤをもって、前記スコアベクトルとこれに対応するGTとを参照して少なくとも一つの第2ロスを算出するようにし、前記第2ロスをバックプロパゲーションすることで前記判別器及び前記オリジナルデータ生成器ネットワークの前記第2現在学習を遂行するプロセス;をさらに遂行することを特徴とする請求項16に記載の装置。
  18. 前記プロセッサは、前記第2ロスをバックプロパゲーションすることで前記判別器のロス及び前記オリジナルデータ生成器ネットワークのロスがそれぞれ収束するまで、前記(III)プロセスと前記(IV)プロセスとを繰り返すことを特徴とする請求項17に記載の装置。
  19. 前記(IV)プロセスで、
    前記プロセッサは、前記第2ロスをバックプロパゲーションすることで前記判別器の少なくとも一つの重み付け値及び前記オリジナルデータ生成器ネットワークの少なくとも一つの重み付け値の最急上昇法(Gradient Ascent)を遂行することを特徴とする請求項17に記載の装置。
  20. 前記(IV)プロセスで、
    前記プロセッサは、前記第2ロスをバックプロパゲーションすることで、前記判別器の前記第2現在学習を遂行中に、前記複製データ生成器ネットワークからの前記第2合成以前データを本物のデータ(Real Data)とみなし、前記判別器の前記第2現在学習を遂行することを特徴とする請求項17に記載の装置。
  21. 前記(IV)プロセスで、
    前記プロセッサは、前記オリジナルデータ生成器ネットワークの前記第2現在学習を遂行して、前記スコアベクトルのうちの前記第3合成以前データに対応する第3合成以前データスコアベクトルが最大化するようにすることを特徴とする請求項17に記載の装置。
  22. 前記第2現在学習が最初の学習である場合、
    前記(I)プロセスで、
    前記プロセッサは、前記予め設定された第1ボリュームの前記新しいデータのみを利用して前記第1バッチを生成し、
    前記(III)プロセスで、
    前記プロセッサは、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する前記第3合成以前データを出力するプロセスを繰り返すようにして前記第3合成以前データが前記予め設定された第1ボリュームを有するようにし、前記予め設定された第1ボリュームの前記新しいデータ及び前記予め設定された第1ボリュームの前記第3合成以前データを参照して、前記第2バッチを生成することを特徴とする請求項17に記載の装置。
  23. 前記プロセッサは、前記第1ロスをバックプロパゲーションすることで、前記第1ロスが収束するまで前記(I)プロセスと前記(II)プロセスとを繰り返すことを特徴とする請求項16に記載の装置。
  24. 前記(I)プロセスと前記(II)プロセスとを前記第1現在学習で繰り返す場合、
    前記プロセッサは、
    (i)最初のイテレーション(Iteration)で、前記(I)プロセスで前記予め設定された基準ボリュームの前記新しいデータそれぞれに対応するサンプリング確率(Sampling Probability)それぞれを初期化し、初期化された前記サンプリング確率を参照して前記予め設定された基準ボリュームの前記新しいデータを前記ユニフォームサンプリングして前記予め設定された第1ボリュームの前記新しいデータを生成し、前記(II)プロセスにおいて、前記ニューラルネットワークの前記第1現在学習が完了すれば、前記予め設定された第1ボリュームの前記新しいデータに対応する前記第1ロスを参照して前記予め設定された第1ボリュームの前記新しいデータそれぞれに対応する前記サンプリング確率それぞれをアップデートすることで、前記予め設定された基準ボリュームの前記新しいデータそれぞれに対応する前記サンプリング確率それぞれをアップデートし、
    (ii)次のイテレーションで、前記(I)プロセスで前記予め設定された基準ボリュームの前記新しいデータそれぞれに対応する以前のイテレーションでアップデートされた前記サンプリング確率それぞれを参照して、前記予め設定された基準ボリュームの前記新しいデータの前記ユニフォームサンプリングによって前記予め設定された第1ボリュームの前記新しいデータを生成し、前記(II)プロセスにおいて、前記ニューラルネットワークの前記第1現在学習が完了すると、前記予め設定された第1ボリュームの前記新しいデータに対応する前記第1ロスを参照して前記予め設定された基準ボリュームの前記新しいデータそれぞれに対応する前記以前のイテレーションでアップデートされた前記サンプリング確率それぞれをアップデートすることを特徴とする請求項23に記載の装置。
  25. 前記(I)プロセスと前記(II)プロセスとを前記第1現在学習で繰り返す場合、
    最初のイテレーションで、前記プロセッサは、前記(I)プロセスにおいて、前記ブースティングネットワークを初期化した後、初期化された前記ブースティングネットワークをもって、前記k次元ランダムベクトルを前記k次元修正ベクトルに変換するようにし、
    次のイテレーションで、前記プロセッサは、前記(I)プロセスで、以前のイテレーションでの前記(II)プロセスで前記第1現在学習を完了した前記ブースティングネットワークをもって、前記k次元ランダムベクトルを前記k次元修正ベクトルに変換するようにすることを特徴とする請求項23に記載の装置。
  26. 前記(II)プロセスで、
    前記プロセッサは、前記第1ロスをバックプロパゲーションして、前記ニューラルネットワークのロスを最小化するように前記ニューラルネットワークの少なくとも一つの重み付け値の最急降下法(Gradient Descent)を遂行して、前記第1ロスのうちの前記第1合成以前データに対応するロスを最大化するように前記ブースティングネットワークの少なくとも一つの重み付け値の最急上昇法を遂行することを特徴とする請求項16に記載の装置。
  27. 前記プロセッサは、前記ブースティングネットワークの前記重み付け値の前記最急上昇法を遂行する場合、前記ブースティングネットワークの前記重み付け値をクリッピング(Clipping)することを特徴とする請求項26に記載の装置。
  28. 前記ブースティングネットワークは、少なくとも一つのFCレイヤ(Fully Connected Layer)を含み、前記ブースティングネットワークは、入力された前記k次元ランダムベクトルを、それよりも次元の低いL次元ベクトルに変換し、その後、前記L次元ベクトルを前記k次元修正ベクトルに変換して出力することを特徴とする請求項16に記載の装置。
  29. 入力データを分析するニューラルネットワーク(Neural Network)をテストするテスト装置において、
    インストラクションを格納する少なくとも一つのメモリ;及び
    学習装置が、(1)学習のために取得される学習用新しいデータが予め設定された基準ボリューム(Preset Base Volume)になると、前記予め設定された基準ボリュームの前記学習用新しいデータをユニフォームサンプリング(Uniform−Sampling)して前記学習用新しいデータが予め設定された第1ボリュームを有するようにし、少なくとも一つの学習用k次元ランダムベクトル(k−Dimension Random Vector)をブースティングネットワーク(Boosting Network)に入力して、前記ブースティングネットワークをもって、前記学習用k次元ランダムベクトルを、少なくとも一つの学習用k次元修正ベクトル(k−Dimension Modified Vector)に変換するようにし、前記学習用k次元修正ベクトルを、学習が完了したオリジナルデータ生成器ネットワーク(Original Data Generator Network)に入力して、前記オリジナルデータ生成器ネットワークをもって、前記学習用k次元修正ベクトルに対応し、前記オリジナルデータ生成器ネットワークを学習するのに用いられていた学習用以前データ(Previous Data)に対応する、学習用第1合成以前データ(Synthetic Previous Data)を出力するプロセスを繰り返すようにして、前記学習用第1合成以前データが予め設定された第2ボリュームを有するようにし、前記予め設定された第1ボリュームの前記学習用新しいデータ及び前記予め設定された第2ボリュームの前記学習用第1合成以前データを参照して第1現在学習(Current−Learning)に利用される学習用第1バッチ(batch)を生成するプロセス、及び(2)前記ニューラルネットワークをもって、前記学習用第1バッチを前記ニューラルネットワークに入力して前記学習用第1バッチに対応する学習用出力情報(Output Information)を生成するようにし、第1ロスレイヤ(Loss Layer)をもって、前記学習用出力情報とこれに対応するGT(Ground Truth)とを参照して少なくとも一つの第1ロスを算出するようにし、前記第1ロスをバックプロパゲーションすることで前記ニューラルネットワークと前記ブースティングネットワークの前記第1現在学習を遂行するプロセスを完了した状態で、前記ニューラルネットワークをもって、テストデータをニューラルネットワークに入力して取得された前記テストデータに対応するテスト用出力情報を出力するようにするプロセスを遂行するための、前記インストラクションを実行するように構成された少なくとも一つのプロセッサ;
    を含むことを特徴とする装置。
  30. 前記学習装置が、
    (3)前記予め設定された基準ボリュームの前記学習用新しいデータをユニフォームサンプリングして前記学習用新しいデータが前記予め設定された第1ボリュームを有するようにし、前記オリジナルデータ生成器ネットワークを複製して複製データ生成器ネットワーク(Cloned Data Generator Network)を生成するようにし、前記複製データ生成器ネットワークをもって、前記学習用k次元ランダムベクトルに対応し、前記オリジナルデータ生成器ネットワークを学習するのに用いられた前記学習用以前データに対応する、学習用第2合成以前データを出力するプロセスを繰り返すようにして、前記学習用第2合成以前データが前記予め設定された第2ボリュームを有するようにし、前記オリジナルデータ生成器ネットワークをもって、前記学習用k次元ランダムベクトルに対応し前記オリジナルデータ生成器ネットワークを学習するのに用いられた前記学習用以前データに対応する、学習用第3合成以前データを出力するプロセスを繰り返すようにして、前記学習用第3合成以前データが、前記予め設定された第1ボリュームと前記予め設定された第2ボリュームとの和と同じ予め設定された第3ボリュームを有するようにし、前記予め設定された第1ボリュームの前記学習用新しいデータと、前記予め設定された第2ボリュームの前記学習用第2合成以前データと、前記予め設定された第3ボリュームの前記学習用第3合成以前データとを参照して、第2現在学習に利用される学習用第2バッチを生成するプロセス、及び(4)判別器(Discriminator)をもって、前記学習用第2バッチを前記判別器に入力して前記学習用第2バッチに対応する学習用スコアベクトル(Score Vector)を生成するようにし、第2ロスレイヤをもって、前記学習用スコアベクトルとこれに対応するGTとを参照して少なくとも一つの第2ロスを算出するようにし、前記第2ロスをバックプロパゲーションすることで前記判別器及び前記オリジナルデータ生成器ネットワークの前記第2現在学習を遂行するプロセス;をさらに遂行することを特徴とする請求項29に記載の装置。
JP2020007173A 2019-01-29 2020-01-20 スマートフォン、ドローン、船舶または軍事的目的のための、トレーニングイメージの最適化サンプリングにより入力データを分析するニューラルネットワークのオンデバイス継続学習方法及び装置、そして、これを利用したテスト方法及び装置 Active JP6970461B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/260,263 2019-01-29
US16/260,263 US10635941B1 (en) 2019-01-29 2019-01-29 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

Publications (2)

Publication Number Publication Date
JP2020123337A JP2020123337A (ja) 2020-08-13
JP6970461B2 true JP6970461B2 (ja) 2021-11-24

Family

ID=69177098

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020007173A Active JP6970461B2 (ja) 2019-01-29 2020-01-20 スマートフォン、ドローン、船舶または軍事的目的のための、トレーニングイメージの最適化サンプリングにより入力データを分析するニューラルネットワークのオンデバイス継続学習方法及び装置、そして、これを利用したテスト方法及び装置

Country Status (5)

Country Link
US (1) US10635941B1 (ja)
EP (1) EP3690755A1 (ja)
JP (1) JP6970461B2 (ja)
KR (1) KR102349969B1 (ja)
CN (1) CN111488980B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112184690B (zh) * 2020-10-12 2021-11-02 推想医疗科技股份有限公司 冠脉血管走向的预测方法、预测模型的训练方法及装置
CN114301637B (zh) * 2021-12-11 2022-09-02 河南大学 一种用于医疗物联网的入侵检测方法和系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6620439B2 (ja) * 2015-07-01 2019-12-18 株式会社リコー 学習方法、プログラム及び学習装置
US11093826B2 (en) * 2016-02-05 2021-08-17 International Business Machines Corporation Efficient determination of optimized learning settings of neural networks
US10909459B2 (en) * 2016-06-09 2021-02-02 Cognizant Technology Solutions U.S. Corporation Content embedding using deep metric learning algorithms
CN106295678B (zh) * 2016-07-27 2020-03-06 北京旷视科技有限公司 神经网络训练与构建方法和装置以及目标检测方法和装置
US20190130266A1 (en) * 2017-10-27 2019-05-02 Royal Bank Of Canada System and method for improved neural network training
CN108805259A (zh) * 2018-05-23 2018-11-13 北京达佳互联信息技术有限公司 神经网络模型训练方法、装置、存储介质及终端设备
CN109063903B (zh) * 2018-07-19 2021-04-09 山东建筑大学 一种基于深度强化学习的建筑能耗预测方法及系统

Also Published As

Publication number Publication date
KR102349969B1 (ko) 2022-01-12
CN111488980B (zh) 2023-10-03
KR20200094076A (ko) 2020-08-06
CN111488980A (zh) 2020-08-04
JP2020123337A (ja) 2020-08-13
EP3690755A1 (en) 2020-08-05
US10635941B1 (en) 2020-04-28

Similar Documents

Publication Publication Date Title
JP7081837B2 (ja) スマートフォン、ドローン、船舶もしくは軍事的目的に利用するための、入力データを分析するニューラルネットワークをオンデバイス継続学習する方法及び装置、並びにこれによって学習されたニューラルネットワークをテストする方法及び装置
JP6865364B2 (ja) エッジロスを利用して歩行者イベント、自動車イベント、フォーリングイベント、フォールンイベントを含むイベントを検出するにおいて利用されるセグメンテーション性能向上のための学習方法及び学習装置、並びにそれを利用したテスト方法及びテスト装置
JP6924517B2 (ja) ディープニューラルネットワーク基盤の多重パッチ組み合わせを利用して顔を認識し、極度の状況でフォールトトレランス及びフラクチュエーションロバスト性を向上させる方法
JP6865363B2 (ja) ラプラシアンピラミッドネットワークを利用して自律走行自動車レベル4及びレベル5を満足させるために要求される道路障害物検出におけるセグメンテーション性能向上のための学習方法及び学習装置、並びにこれを利用したテスト方法及びテスト装置
JP6856851B2 (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}
JP2020502665A (ja) ターゲット・ドメイン画像へのソース・ドメイン画像の変換
JP7252120B2 (ja) 核心性能指数を満たすことができるハードウェア最適化が行われるように、cnnで複数のブロック内の入力イメージから特徴を抽出する学習方法及び学習装置、それを利用したテスト方法及びテスト装置
US10872297B2 (en) Learning method and learning device for generating training data from virtual data on virtual world by using generative adversarial network, to thereby reduce annotation cost required in training processes of neural network for autonomous driving, and a testing method and a testing device using the same
US11416743B2 (en) Swarm fair deep reinforcement learning
JP6970461B2 (ja) スマートフォン、ドローン、船舶または軍事的目的のための、トレーニングイメージの最適化サンプリングにより入力データを分析するニューラルネットワークのオンデバイス継続学習方法及び装置、そして、これを利用したテスト方法及び装置
KR20220134429A (ko) 딥 Q-네트워크를 이용하여 딥러닝 기반의 디텍션 네트워크에 대한 자기지도학습(self-supervised learning)을 수행하는 방법 및 이를 이용한 학습 장치
EP3690718A1 (en) Learning method and learning device for allowing cnn having trained in virtual world to be used in real world by runtime input transformation using photo style transformation, and testing method and testing device using the same
Zhou et al. Domain specific inpainting with concurrently pretrained generative adversarial networks
Finkelstein et al. Transfer learning promotes robust parametric mapping of diffusion encoded MR fingerprinting
KR20220134428A (ko) 서로 다른 스펙을 가지는 영상 장치들로부터 획득된 이미지들을 이용하여 퍼셉션 네트워크를 학습 및 테스트하는 방법 및 이를 이용한 학습 및 테스트 장치
CN115294353A (zh) 基于多层属性引导的人群场景图像字幕描述方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210524

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: 20211019

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211022

R150 Certificate of patent or registration of utility model

Ref document number: 6970461

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150