JP7081837B2 - スマートフォン、ドローン、船舶もしくは軍事的目的に利用するための、入力データを分析するニューラルネットワークをオンデバイス継続学習する方法及び装置、並びにこれによって学習されたニューラルネットワークをテストする方法及び装置 - Google Patents

スマートフォン、ドローン、船舶もしくは軍事的目的に利用するための、入力データを分析するニューラルネットワークをオンデバイス継続学習する方法及び装置、並びにこれによって学習されたニューラルネットワークをテストする方法及び装置 Download PDF

Info

Publication number
JP7081837B2
JP7081837B2 JP2020007171A JP2020007171A JP7081837B2 JP 7081837 B2 JP7081837 B2 JP 7081837B2 JP 2020007171 A JP2020007171 A JP 2020007171A JP 2020007171 A JP2020007171 A JP 2020007171A JP 7081837 B2 JP7081837 B2 JP 7081837B2
Authority
JP
Japan
Prior art keywords
data
volume
preset
learning
synthesis
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
JP2020007171A
Other languages
English (en)
Other versions
JP2020119567A (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 JP2020119567A publication Critical patent/JP2020119567A/ja
Application granted granted Critical
Publication of JP7081837B2 publication Critical patent/JP7081837B2/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/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/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive 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
    • 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/0464Convolutional networks [CNN, ConvNet]
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/094Adversarial learning

Description

本発明は自律走行車両、仮想運転等に利用するための学習方法及び学習装置、そしてテスティング方法及びテスティング装置に関し;より詳細には、入力データを分析するニューラルネットワークをオンデバイス(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)という問題が発生することになる。
本発明は、前述した問題点を全て解決することを目的とする。
本発明は、オンデバイス(on-device)学習を行うローカル装置において、トレーニングデータを格納しなくても継続して利用できるようにすることを他の目的とする。
本発明は、過去のトレーニングデータを格納しなくても、新しいトレーニングデータを利用した学習において過去のトレーニングデータを利用できるようにすることをまた他の目的とする。
本発明は、オンデバイス学習を遂行するローカル装置において破壊的忘却(catastrophic forgetting)現象なしにニューラルネットワークのオンデバイス学習が遂行できるようにすることをまた他の目的とする。
前記のような本発明の目的を達成し、後述する本発明の特徴的な効果を実現するための、本発明の特徴的な構成は下記の通りである。
本発明の一態様によれば、入力データを分析するニューラルネットワーク(neural network)をオンデバイス(on-device)継続学習(continual learning)する方法において、(a)学習のために取得される新しいデータが予め設定された基準ボリュームになると、学習装置が、前記新しいデータをサンプリングして予め設定された第1ボリュームになるようにし、少なくとも一つのk次元ランダムベクトル(k-dimensional random vector)を以前学習されたオリジナルデータ生成器ネットワークに入力することで、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第1合成以前データ(前記第1合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第1合成以前データが予め設定された第2ボリュームになるようにし、前記予め設定された第1ボリュームの前記新しいデータ及び前記予め設定された第2ボリュームの前記第1合成以前データを参照して、第1現在学習に利用される第1バッチ(batch)を生成する段階;及び(b)前記学習装置が、前記第1バッチを前記ニューラルネットワークに入力して、前記ニューラルネットワークをもって、前記第1バッチに対応する出力情報を生成するようにし、第1ロスレイヤをもって、前記出力情報とこれに対応するGT(Ground Truth)とを参照して一つ以上の第1ロスを算出するようにすることで、これを利用したバックプロパゲーション(backpropagation)によって前記ニューラルネットワークの前記第1現在学習を遂行する段階;を含むことを特徴とする方法が提供される。
一例として、(c)前記学習装置が、前記新しいデータをサンプリングして前記予め設定された第1ボリュームになるようにし、前記オリジナルデータ生成器ネットワークを複製することで複製データ生成器ネットワークを生成し、前記複製データ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第2合成以前データ(前記第2合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第2合成以前データが前記予め設定された第2ボリュームになるようにし、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第3合成以前データ(前記第3合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第3合成以前データが予め設定された第3ボリューム(前記予め設定された第3ボリュームは、前記予め設定された第1ボリュームと前記予め設定された第2ボリュームとを合計したボリュームである)になるようにし、前記予め設定された第1ボリュームの前記新しいデータと、前記予め設定された第2ボリュームの前記第2合成以前データと、前記予め設定された第3ボリュームの前記第3合成以前データとを参照して、第2現在学習に利用される第2バッチを生成する段階;及び(d)前記学習装置が、前記第2バッチを判別器に入力して、前記判別器をもって、前記第2バッチに対応するスコアベクトルを出力するようにし、第2ロスレイヤをもって前記スコアベクトルとこれに対応するGTとを参照して一つ以上の第2ロスを算出するようにし、前記第2ロスを利用したバックプロパゲーションによって前記判別器及び前記オリジナルデータ生成器ネットワークの前記第2現在学習を遂行する段階;をさらに含む。
一例として、前記学習装置は、前記第2ロスを利用したバックプロパゲーションにより前記判別器のロス及び前記オリジナルデータ生成器ネットワークのロスがそれぞれ収束するまで、前記(c)段階と前記(d)段階とを繰り返す。
一例として、前記(d)段階において、前記学習装置は、前記第2ロスを利用したバックプロパゲーションにより前記判別器及び前記オリジナルデータ生成器ネットワークの最急上昇法(gradient ascent)を遂行する。
一例として、前記(d)段階において、前記学習装置は、前記第2ロスを利用したバックプロパゲーションを通じて前記判別器の前記第2現在学習を遂行する場合、前記複製データ生成器ネットワークからの前記第2合成以前データを実際データとみなし、前記判別器の前記第2現在学習を遂行する。
一例として、前記(d)段階において、前記学習装置は、前記スコアベクトルのうち、前記第3合成以前データに対応する第3合成以前データスコアのベクトルが最大化されるように、前記オリジナルデータ生成器ネットワークの前記第2現在学習を遂行する。
一例として、前記(d)段階において、前記学習装置は、前記第2現在学習が完了すると、前記新しいデータを削除し、前記新しいデータ及び前記第2合成以前データが、次の学習に利用されるための前記以前データとして出力されるように前記オリジナルデータ生成器ネットワークをアップデートする。
一例として、前記第2現在学習が最初の学習である場合、前記(a)段階で、前記学習装置は、前記予め設定された第1ボリュームの前記新しいデータだけを利用して前記第1バッチを生成し、前記(c)段階で、前記学習装置は、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第3合成以前データを出力するプロセスを繰り返すようにして、前記第3合成以前データが前記予め設定された第1ボリュームになるようにし、前記予め設定された第1ボリュームの前記新しいデータ及び前記予め設定された第1ボリュームの前記第3合成以前データを参照して、前記第2バッチを生成する。
一例として、前記学習装置は、前記第1ロスを利用したバックプロパゲーションによって前記第1ロスが収束するまで、前記(a)段階と前記(b)段階とを繰り返す。
一例として、前記(b)段階で、前記学習装置は、前記第1ロスを利用したバックプロパゲーションにより前記ニューラルネットワークの最急降下法(gradient descent)を遂行する。
一例として、前記ニューラルネットワークが少なくとも一つのベクトルを入力として取得する分類器である場合、前記オリジナルデータ生成器ネットワークは、前記k次元ランダムベクトルに対応するk次元情報に少なくとも一つのFC(fully connected)演算を適用して、少なくとも一つのD次元ベクトルと、少なくとも一つのC次元ワンホット(one-hot)ベクトルとを出力する一つ以上のFCレイヤを含む。
一例として、前記ニューラルネットワークが少なくとも一つのRGBイメージを入力として取得する物体検出器である場合、前記オリジナルデータ生成器ネットワークは、前記k次元ランダムベクトルに対応する1x1xK情報を少なくとも一つのHxWx3テンソルに変形させる一つ以上の転置(transposed)コンボリューションレイヤと、前記HxWx3テンソルとを分析し、少なくとも一つのRx(4+C)ベクトル(前記Rは少なくとも一つのR次元ベクトルを含み、(4+C)はX1、Y1、X2、Y2及び少なくとも一つのC次元ワンホットベクトルを含む)を出力するFaster R-CNN(Region-based Convolutional Network)を含む。
本発明の他の態様によれば、オンデバイス(on-device)継続学習を完了したニューラルネットワークをテストするテスティング方法において、(a)学習装置が、(1)予め設定された基準ボリュームになった新しいデータをサンプリングして予め設定された第1ボリュームになるようにし、少なくとも一つのk次元ランダムベクトル(k-dimensional random vector)を以前学習されたオリジナルデータ生成器ネットワークに入力することで、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第1合成以前データ(前記第1合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第1合成以前データが予め設定された第2ボリュームになるようにし、前記予め設定された第1ボリュームの前記新しいデータ及び前記予め設定された第2ボリュームの前記第1合成以前データを参照して、第1現在学習に利用される第1バッチ(batch)を生成するプロセス、及び(2)前記第1バッチを前記ニューラルネットワークに入力して、前記ニューラルネットワークをもって、前記第1バッチに対応する学習用出力情報を生成するようにし、第1ロスレイヤをもって、前記学習用出力情報とこれに対応するGT(Ground Truth)とを参照して一つ以上の第1ロスを算出することで、これを利用したバックプロパゲーション(backpropagation)によって前記ニューラルネットワークの前記第1現在学習を遂行するプロセスを遂行した状態で、テスティング装置がテストデータを取得する段階;及び(b)前記テスティング装置が、前記テストデータを前記ニューラルネットワークに入力して、前記ニューラルネットワークをもって、前記テストデータに対応するテスト用出力情報を生成するようにする段階;を含むことを特徴とするテスティング方法が提供される。
一例として、前記学習装置が、(3)前記新しいデータをサンプリングして前記予め設定された第1ボリュームになるようにし、前記オリジナルデータ生成器ネットワークを複製することで複製データ生成器ネットワークを生成し、前記複製データ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第2合成以前データ(前記第2合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第2合成以前データが前記予め設定された第2ボリュームになるようにし、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第3合成以前データ(前記第3合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第3合成以前データが予め設定された第3ボリューム(前記予め設定された第3ボリュームは、前記予め設定された第1ボリュームと前記予め設定された第2ボリュームとを合計したボリュームである)になるようにし、前記予め設定された第1ボリュームの前記新しいデータと、前記予め設定された第2ボリュームの前記第2合成以前データと、前記予め設定された第3ボリュームの前記第3合成以前データとを参照して、第2現在学習に利用される第2バッチを生成するプロセス、及び(4)前記第2バッチを判別器に入力して、前記判別器をもって、前記第2バッチに対応するスコアベクトルを出力するようにし、第2ロスレイヤをもって、前記スコアベクトルとこれに対応するGTとを参照して一つ以上の第2ロスを算出するようにし、前記第2ロスを利用したバックプロパゲーションによって前記判別器及び前記オリジナルデータ生成器ネットワークの前記第2現在学習を遂行するプロセスをさらに遂行する。
本発明のまた他の態様によれば、入力データを分析するニューラルネットワーク(neural network)をオンデバイス(on-device)継続学習(continual learning)する学習装置において、インストラクションを格納する少なくとも一つのメモリ;及び(I)学習のために取得される新しいデータが予め設定された基準ボリュームになると、前記新しいデータをサンプリングして予め設定された第1ボリュームになるようにし、少なくとも一つのk次元ランダムベクトル(k-dimensional random vector)を以前学習されたオリジナルデータ生成器ネットワークに入力することで、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第1合成以前データ(前記第1合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第1合成以前データが、予め設定された第2ボリュームになるようにし、前記予め設定された第1ボリュームの前記新しいデータ及び前記予め設定された第2ボリュームの前記第1合成以前データを参照して、第1現在学習に利用される第1バッチ(batch)を生成するプロセス、及び(II)前記第1バッチを前記ニューラルネットワークに入力して、前記ニューラルネットワークをもって、前記第1バッチに対応する出力情報を生成するようにし、第1ロスレイヤをもって、前記出力情報とこれに対応するGT(Ground Truth)とを参照して一つ以上の第1ロスを算出することで、これを利用したバックプロパゲーション(backpropagation)によって、前記ニューラルネットワークの前記第1現在学習を遂行するプロセスを遂行するための、前記インストラクションを実行するように構成された少なくとも一つのプロセッサ;を含むことを特徴とする学習装置が提供される。
一例として、前記プロセッサが、(III)前記新しいデータをサンプリングして前記予め設定された第1ボリュームになるようにし、前記オリジナルデータ生成器ネットワークを複製することで複製データ生成器ネットワークを生成し、前記複製データ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第2合成以前データ(前記第2合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第2合成以前データが前記予め設定された第2ボリュームになるようにし、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第3合成以前データ(前記第3合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第3合成以前データが予め設定された第3ボリューム(前記予め設定された第3ボリュームは、前記予め設定された第1ボリュームと前記予め設定された第2ボリュームとを合計したボリュームである)になるようにし、前記予め設定された第1ボリュームの前記新しいデータと、前記予め設定された第2ボリュームの前記第2合成以前データと、前記予め設定された第3ボリュームの前記第3合成以前データとを参照して、第2現在学習に利用される第2バッチを生成するプロセス、及び(IV)前記第2バッチを判別器に入力して、前記判別器をもって、前記第2バッチに対応するスコアベクトルを出力するようにし、第2ロスレイヤをもって、前記スコアベクトルとこれに対応するGTとを参照して一つ以上の第2ロスを算出するようにし、前記第2ロスを利用したバックプロパゲーションによって前記判別器及び前記オリジナルデータ生成器ネットワークの前記第2現在学習を遂行するプロセスをさらに遂行する。
一例として、前記プロセッサは、前記第2ロスを利用したバックプロパゲーションにより前記判別器のロス及び前記オリジナルデータ生成器ネットワークのロスがそれぞれ収束するまで、前記(III)プロセスと前記(IV)プロセスとを繰り返す。
一例として、前記(IV)プロセスで、前記プロセッサは、前記第2ロスを利用したバックプロパゲーションにより前記判別器及び前記オリジナルデータ生成器ネットワークの最急上昇法(gradient ascent)を遂行する。
一例として、前記(IV)プロセスで、前記プロセッサは、前記第2ロスを利用したバックプロパゲーションによって前記判別器の前記第2現在学習を遂行する場合、前記複製データ生成器ネットワークからの前記第2合成以前データを実際データとみなし、前記判別器の前記第2現在学習を遂行する。
一例として、前記(IV)プロセスで、前記プロセッサは、前記スコアベクトルのうち、前記第3合成以前データに対応する第3合成以前データスコアのベクトルが最大化されるように、前記オリジナルデータ生成器ネットワークの前記第2現在学習を遂行する。
一例として、前記(IV)プロセスで、前記プロセッサは、前記第2現在学習が完了すると、前記新しいデータを削除し、前記新しいデータ及び前記第2合成以前データが、次の学習に利用されるための前記以前データとして出力されるように前記オリジナルデータ生成器ネットワークをアップデートする。
一例として、前記第2現在学習が最初の学習である場合、前記(I)プロセスで、前記プロセッサは、前記予め設定された第1ボリュームの前記新しいデータだけを利用して前記第1バッチを生成し、前記(III)プロセスで、前記プロセッサは、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第3合成以前データを出力するプロセスを繰り返すようにして、前記第3合成以前データが前記予め設定された第1ボリュームになるようにし、前記予め設定された第1ボリュームの前記新しいデータ及び前記予め設定された第1ボリュームの前記第3合成以前データを参照して、前記第2バッチを生成する。
一例として、前記プロセッサは、前記第1ロスを利用したバックプロパゲーションによって前記第1ロスが収束するまで、前記(I)プロセスと前記(II)プロセスとを繰り返す。
一例として、前記(II)プロセスで、前記プロセッサは、前記第1ロスを利用したバックプロパゲーションにより前記ニューラルネットワークの最急降下法(gradient descent)を遂行する。
一例として、前記ニューラルネットワークが少なくとも一つのベクトルを入力として取得する分類器である場合、前記オリジナルデータ生成器ネットワークは、前記k次元ランダムベクトルに対応するk次元情報に少なくとも一つのFC(fully connected)演算を適用して、少なくとも一つのD次元ベクトルと、少なくとも一つのC次元ワンホット(one-hot)ベクトルとを出力する一つ以上のFCレイヤを含む。
一例として、前記ニューラルネットワークが少なくとも一つのRGBイメージを入力として取得する物体検出器である場合、前記オリジナルデータ生成器ネットワークは、前記k次元ランダムベクトルに対応する1x1xK情報を少なくとも一つのHxWx3テンソルに変形させる一つ以上の転置コンボリューションレイヤと、前記HxWx3テンソルとを分析し、少なくとも一つのRx(4+C)ベクトル(前記Rは少なくとも一つのR次元ベクトルを含み、(4+C)はX1、Y1、X2、Y2及び少なくとも一つのC次元ワンホットベクトルを含む)を出力するfaster R-CNNを含む。
本発明のまた他の態様によれば、オンデバイス(on-device)継続学習を完了したニューラルネットワークをテストするテスティング装置において、インストラクションを格納する少なくとも一つのメモリ;及び学習装置が、(1)新しいデータが予め設定された基準ボリュームになると、前記新しいデータをサンプリングして予め設定された第1ボリュームになるようにし、少なくとも一つのk次元ランダムベクトル(k-dimensional random vector)を以前学習されたオリジナルデータ生成器ネットワークに入力することで、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第1合成以前データ(前記第1合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第1合成以前データが、予め設定された第2ボリュームになるようにし、前記予め設定された第1ボリュームの前記新しいデータ及び前記予め設定された第2ボリュームの前記第1合成以前データを参照して、第1現在学習に利用される第1バッチ(batch)を生成するプロセス及び(2)前記第1バッチを前記ニューラルネットワークに入力して、前記ニューラルネットワークをもって、前記第1バッチに対応する学習用出力情報を生成するようにし、第1ロスレイヤをもって、前記学習用出力情報とこれに対応するGT(Ground Truth)とを参照して一つ以上の第1ロスを算出することで、これを利用したバックプロパゲーション(backpropagation)によって前記ニューラルネットワークの前記第1現在学習を遂行するプロセスを遂行した状態で、テストデータを前記ニューラルネットワークに入力して、前記ニューラルネットワークをもって、前記テストデータに対応するテスト用出力情報を生成するようにするプロセスを遂行するための、前記インストラクションを実行するように構成された少なくとも一つのプロセッサ;を含むことを特徴とするテスティング装置が提供される。
一例として、前記学習装置が、(3)前記新しいデータをサンプリングして前記予め設定された第1ボリュームになるようにし、前記オリジナルデータ生成器ネットワークを複製することで複製データ生成器ネットワークを生成し、前記複製データ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第2合成以前データ(前記第2合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第2合成以前データが前記予め設定された第2ボリュームになるようにし、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第3合成以前データ(前記第3合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第3合成以前データが予め設定された第3ボリューム(前記予め設定された第3ボリュームは、前記予め設定された第1ボリュームと前記予め設定された第2ボリュームとを合計したボリュームである)になるようにし、前記予め設定された第1ボリュームの前記新しいデータと、前記予め設定された第2ボリュームの前記第2合成以前データと、前記予め設定された第3ボリュームの前記第3合成以前データとを参照して、第2現在学習に利用される第2バッチを生成するプロセス、及び(4)前記第2バッチを判別器に入力して、前記判別器をもって、前記第2バッチに対応するスコアベクトルを出力するようにし、第2ロスレイヤをもって、前記スコアベクトルとこれに対応するGTとを参照して一つ以上の第2ロスを算出するようにし、前記第2ロスを利用したバックプロパゲーションによって、前記判別器及び前記オリジナルデータ生成器ネットワークの第2現在学習を遂行するプロセスをさらに遂行する。
この他にも、本発明の方法を実行するためのコンピュータプログラムを記録するためのコンピュータ読読可能な記録媒体がさらに提供される。
本発明は、以前学習に利用された過去のトレーニングデータを効率的に生成することにより、過去のトレーニングデータを格納しなくてもローカル装置でオンデバイス学習できる効果がある。
なお、本発明はデータ生成器ネットワークにより生成された、過去のトレーニングデータと新しいトレーニングデータを利用するニューラルネットワークのオンデバイス学習により、学習の際のニューラルネットワークの破壊的忘却(catastrophic forgetting)現象を防止できる効果がある。
なお、本発明はGAN(generative adversarial network)、オンライン学習などを利用して、個人情報を保護でき、ストレージのようなリソースを節約できる効果がある。
本発明の実施例の説明に利用されるために添付された以下の各図面は、本発明の実施例のうちの一部に過ぎず、本発明が属する技術分野でおいて、通常の知識を有する者(以下「通常の技術者」)は、発明的作業が行われることなくこの図面に基づいて他の図面が得られ得る。
図1は、本発明の一例に係るディープラーニングを利用して入力データを分析するニューラルネットワークをオンデバイス継続学習(continual learning)する学習装置を示した図面である。 図2は、本発明の一例に係るディープラーニングを利用して入力データを分析するニューラルネットワークをオンデバイス連続学習する方法を示した図面である。 図3は、本発明の一例に係るディープラーニングを利用して入力データを分析するニューラルネットワークをオンデバイス継続学習する方法において、過去のトレーニングデータを生成するデータ生成器ネットワークの一例を示した図面である。 図4は、本発明の一例に係るディープラーニングを利用して入力データを分析するニューラルネットワークをオンデバイス継続学習する方法において、過去のトレーニングデータを生成するデータ生成器ネットワークの他の例を示した図面である。 図5は、本発明の一例に係るディープラーニングを利用して入力データを分析するニューラルネットワークをオンデバイス継続学習する方法において、データ生成器ネットワークを学習するプロセスを示した図面である。 図6は、本発明の一例に係るオンデバイス継続学習を完了したニューラルネットワークをテストするテスティング装置を示した図面である。 図7は、本発明の一例に係るオンデバイス継続学習を完了したニューラルネットワークをテストするテスティング方法を示した図面である。
後述する本発明に対する詳細な説明は、本発明の各目的、技術的解決方法及び長所を明確にするために、本発明が実施され得る特定実施例を例示として示す添付図面を参照する。これらの実施例は、通常の技術者が本発明を実施することができるように充分詳細に説明される。
また、本発明の詳細な説明及び各請求項にわたって、「含む」という単語及びそれらの変形は、他の技術的各特徴、各付加物、構成要素又は段階を除外することを意図したものではない。通常の技術者にとって本発明の他の各目的、長所及び各特性が、一部は本説明書から、また一部は本発明の実施から明らかになるであろう。以下の例示及び図面は実例として提供され、本発明を限定することを意図したものではない。
さらに、本発明は、本明細書に示された実施例のあらゆる可能な組み合わせを網羅する。本発明の多様な実施例は相互異なるが、相互排他的である必要はないことを理解されたい。例えば、ここに記載されている特定の形状、構造及び特性は一例と関連して、本発明の精神及び範囲を逸脱せず、かつ他の実施例で実装され得る。また、各々の開示された実施例内の個別構成要素の位置または配置は本発明の精神及び範囲を逸脱せずに変更され得ることを理解されたい。従って、後述する詳細な説明は限定的な意味で捉えようとするものではなく、本発明の範囲は、適切に説明されれば、その請求項が主張することと均等なすべての範囲と、併せて添付された請求項によってのみ限定される。図面で類似する参照符号はいくつかの側面にかけて同一か類似する機能を指称する。
本発明で言及している各種イメージは、舗装または非舗装道路関連のイメージを含み得、この場合、道路環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではなく、本発明で言及している各種イメージは、道路と関係のないイメージ(例えば、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内と関連したイメージ)でもあり得、この場合、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではない。
以下、本発明が属する技術分野で通常の知識を有する者が本発明を容易に実施することができるようにするために、本発明の好ましい実施例について添付の図面に基づいて詳細に説明する。
図1は、本発明の一例に係るディープラーニングを利用して入力データを分析するニューラルネットワークをオンデバイス(on-device)継続学習(continual learning)する学習装置を示した図面である。図1を参照すれば、学習装置100は、前記ニューラルネットワークのオンデバイス継続学習を遂行するためのインストラクションを格納するメモリ110と、前記メモリ110に格納された前記インストラクションとに対応して前記ニューラルネットワークのオンデバイス継続学習プロセスを遂行するためのプロセッサ120を含むことができる。
具体的に、前記学習装置100は、典型的に少なくとも一つのコンピューティング装置(例えば、コンピュータのプロセッサ、メモリ、ストレージ、入力装置及び出力装置、その他の既存のコンピューティング装置の構成要素を含み得る装置;ルータ、スイッチなどのような電子通信装置;ネットワーク接続ストレージ(NAS)及びストレージエリアネットワーク(SAN)のような電子情報ストレージシステム)と、少なくとも一つのコンピュータソフトウェア(つまり、コンピューティング装置をもって、特定の方式で機能させるインストラクション)との組み合わせを利用して、希望するシステム性能を達成することであり得る。
前記コンピューティング装置の前記プロセッサは、MPU(Micro Processing Unit)またはCPU(Central Processing Unit)、キャッシュメモリ(Cache Memory)、データバス(Data Bus)などのハードウェア構成を含むことができる。また、前記コンピューティング装置は、オペレーティングシステム及び特定の目的を遂行するアプリケーションのソフトウェア構成をさらに含むこともできる。
しかし、前記コンピューティング装置が本発明を行うためのミディアム、プロセッサ及びメモリが統合された形である統合プロセッサを含む場合を排除するものではない。
本発明の一例に係る前記学習装置100を利用したディープラーニングによって、入力データを分析する前記ニューラルネットワークをオンデバイス継続学習する方法を、図2をもとに説明する。
まず、学習に向けて取得される新しいデータ10が、予め設定された基準のボリューム(M)になると、前記学習装置100が、前記新しいデータ10をサンプリングして予め設定された第1ボリューム(m)になるようにする。
この際、前記新しいデータ10は、ニューラルネットワーク140を含む少なくとも一つのローカル装置自体で、あるいは少なくとも一つの外部装置から取得され得る。
一方、前記学習装置100は、前記新しいデータ10をサンプリングする場合、均一なサンプリングによって前記新しいデータ10の中の一部を前記予め設定された第1ボリューム(m)の量だけ選択するか、前記新しいデータ10をシャッフルした後、シャッフルされた順番通り前記新しいデータ10の一部を前記予め設定された第1ボリューム(m)の量だけ選択できるが、本発明はこれに限定されず、前記新しいデータ10の前記一部を前記予め設定された第1ボリュームの量だけ選択できるすべてのサンプリング方法が利用できる。
その後、前記学習装置100が、少なくとも一つのk次元ランダムベクトル(k-dimensional random vector)を以前学習されたオリジナルのデータ生成器ネットワーク(G)130に入力し、前記オリジナルデータ生成器ネットワーク(G)130をもって、前記k次元ランダムベクトルに対応する第1合成以前データを出力するプロセスを繰り返すようにして、前記第1合成以前データが予め設定された第2ボリューム(n)になるようにする。
この際、前記オリジナルデータ生成器ネットワーク(G)130は、これに対する学習のために利用された以前データを出力するように以前学習したもので、前記第1合成以前データは、前記以前データに対応する。そして、前記k次元ランダムベクトルは、これに対する各要素を向けてサンプリングされた0から1までの入力から生成され得る。前記オリジナルデータ生成器ネットワーク(G)130の学習については、後から説明する。
一方で、前記の原本、データ生成器ネットワーク(G)130は、前記ニューラルネットワーク140に対応されて構成され得、前記ニューラルネットワーク140は、入力された前記新しいデータ(x,y)10に対応する(x,y)の次元、値の類型、範囲などに応じて適したネットワークアーキテクチャを作成して利用することができる。
一例として、図3を参照すれば、前記ニューラルネットワーク140が少なくとも一つのベクトルを入力として取得する分類器である場合、前記オリジナルデータ生成器ネットワーク130は、前記k次元ランダムベクトルに対応するk次元情報に少なくとも一つのFC(fully connected)演算を適用することで、少なくとも一つのD次元ベクトル(GX(Z))と、少なくとも一つのC次元ワンホット(one-hot)ベクトル(Gy(Z))とを出力する一つ以上のFCレイヤを含むことができる。
他の例として、図4を参照すれば、前記ニューラルネットワーク140が少なくとも一つのRGBイメージを入力として取得する物体検出器である場合、前記オリジナルデータ生成器ネットワーク130は、前記k次元ランダムベクトルに対応する1x1xK情報を少なくとも一つのHxWx3テンソル(GX(Z))に変形させる一つ以上の転置(transposed)コンボリューションレイヤ(131-1,131-2,…)と、前記HxWx3テンソルとを分析して少なくとも一つのRx(4+C)ベクトルを出力するfaster R-CNN(Region-based Convolutional Network)132を含み得る。この際、前記多数の転置コンボリューションレイヤ(131-1,131-2,…)の出力端には、少なくとも一つのH×W×3ベクトルを前記H×W×3テンソルに変換する活性化関数(シグモイド)が提供され得る。そして、前記Rx(4+C)ベクトルにおいて、Rは、少なくとも一つのR次元ベクトル(Gy(Z))を含み、(4+C)は、X1、Y1、X2、Y2及び、前記C次元ワンホットベクトルを含み得る。
次に、再び図2を参照すれば、前記学習装置100は、前記予め設定された第1ボリューム(m)の前記新しいデータ及び前記予め設定された第2ボリューム(n)の前記第1合成以前データを参照して、第1現在学習に利用される第1バッチ(batch)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内の合成以前データに対するロスであり、
Figure 0007081837000001
のように表され得る。
そして、前記学習装置100は、前記第1ロスを利用したバックプロパゲーション(backpropagation)によって前記ニューラルネットワーク140の前記第1現在学習を遂行し得る。
この際、前記学習装置100は、前記第1ロスを利用したバックプロパゲーションにより前記ニューラルネットワーク140の最急降下法(gradient descent)を随行することができ、それによって前記ニューラルネットワーク140の少なくとも一つの重み付け値(WF)は、次の数学式のようにアップデートされ得る。
Figure 0007081837000002

そして、前記学習装置100は、前記第1ロスを利用したバックプロパゲーションによって、前記第1が収束するまで前記動作を繰り返す。つまり、前記学習装置100は、前記新しいデータと前記合成以前データとを利用した前記第1バッチの生成と、前記第1バッチを利用した前記ニューラルネットワーク140の前記第1現在学習とを繰り返して、前記第1ロスが収束するようにすることができる。
次に、図5を参照して、以前学習された前記オリジナルデータ生成器ネットワーク130を学習するプロセスを説明するようにする。以下の説明において、図2の説明から容易に理解可能な部分については、詳細な説明を省略する。
まず、前記学習装置100は、前記新しいデータ(h)10をサンプリングして前記予め設定された第1ボリューム(m)になるようにし、前記オリジナルデータ生成器ネットワーク(G)130を複製することで複製データ生成器ネットワーク(G')130Cを生成する。
そして、前記学習装置100は、前記複製データ生成器ネットワーク(G')130Cをもって、前記k次元ランダムベクトル(z)に対応する第2合成以前データ(G'(z))を出力するプロセスを繰り返すようにして、前記第2合成以前データ(G'(z))が前記予め設定された第2ボリューム(n)になるようにする。この際、前記学習装置100は、前記予め設定された第2ボリューム(n)の前記第2合成以前データ(G'(z))を実際データとみなして前記以前データ(G'(z))として設定する。
また、前記学習装置100は、前記オリジナルデータ生成器ネットワーク(G)130をもって、前記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を判別器(D)160に入力して、前記判別器(D)160をもって、前記第2バッチ21に対応するスコアベクトルを出力するようにする。
この際、前記スコアベクトルは、前記予め設定された第2ボリューム(n)の前記第2合成以前データ(G'(z))のスコアベクトルと、前記予め設定された第1ボリューム(m)の前記新しいデータ(h)のスコアベクトルと、前記予め設定された第3ボリューム(m+n)の前記第3合成以前データ(G(z))スコアベクトルとを含み得る。前記予め設定された第2ボリューム(n)の前記第2合成以前データ(G'(z))のスコアベクトルは、
Figure 0007081837000003
のように表され得、前記予め設定された第1ボリューム(m)の前記新しいデータ(h)のスコアベクトルは、
Figure 0007081837000004
のように表され得、前記予め設定された第3ボリューム(m+n)の前記第3合成以前データ(G(z))のスコアベクトルは、
Figure 0007081837000005
のように表され得る。
そして、前記学習装置100は第2ロスレイヤ170をもって、前記スコアベクトルとこれに対応するGTとを参照して一つ以上の第2ロスを算出するようにすることで、前記第2ロスを利用したバックプロパゲーションによって前記判別器(D)160及び前記オリジナルデータ生成器ネットワーク(G)130の前記第2現在学習を遂行することができる。
この際、前記学習装置100は、前記第2ロスを利用したバックプロパゲーションにより前判別器(D)160の最急上昇法(gradient ascent)を随行することができ、それによって前記判別器(D)160の少なくとも一つの重み付け値(WD)は、次の数学式のようにアップデートされ得る。
Figure 0007081837000006
また、前記学習装置100は、前記第2ロスを利用したバックプロパゲーションによって前記オリジナルデータ生成器ネットワーク(G)130の前記最急上昇法を遂行することができ、それに応じて前記データ生成器ネットワーク(G)130の少なくとも一つの重み付け値(WG)は、次の数学式のようにアップデートされ得る。
Figure 0007081837000007
一方、前記学習装置100は、前記複製データ生成器ネットワーク(G')130Cからの前記第2合成以前データ(G'(z))を実際データとみなし、前記判別器(D)160の前記第2現在学習を遂行し、前記スコアベクトルのうち、前記第3合成以前データ(G(z))に対応する第3合成以前データスコアのベクトルが最大化されるように、前記オリジナルデータ生成器ネットワーク(G)130の前記第2現在学習を遂行することができる。
したがって、前記判別器160を学習するために利用される前記実際データは、前記新しいデータ(h)と、前記第2合成以前データ(G'(z))である前記以前データ(G'(z))とを含み、それに応じて前記オリジナルデータ生成器ネットワーク(G)130は、前記実際データである前記新しいデータ(h)と、前記第2合成以前データである前記以前データ(G'(z))とを出力するように学習され得る。
そして、前記学習装置100は、前記第2ロスを利用したバックプロパゲーションによって、前記判別器(D)160のロスと、前記オリジナルデータ生成器ネットワーク(G)130のロスとがそれぞれ収束するまで前記動作を繰り返す。つまり、前記学習装置100は、前記第2合成以前データと、前記新しいデータと、前記第3合成以前データとを利用して、前記第2バッチの生成を繰り返し、前記第2バッチを利用して前記判別器160と、前記オリジナルデータ生成器ネットワーク130との前記第2現在学習を繰り返して、前記判別器160のロスと、前記オリジナルデータ生成器ネットワーク130のロスとが収束するようにし得る。
この際、前記判別器160を学習するために利用される前記新しいデータに対する前記以前データの割合はn:m=N:Mになり、前記第2バッチを利用して、前記新しいデータのすべてのボリューム(M)が学習される場合、前記新しいデータに対する前記以前データの割合はN:Mになり得る。ここで、前記以前データと、前記新しいデータとは、学習された前記オリジナルデータ生成器ネットワーク(G)130から出力されたものでもあり得る。
その後、前記第2現在学習が完了すると、一例として、前記判別器160のロスと前記オリジナルデータ生成器ネットワーク130のロスとが収束すると、前記学習装置100が、前記新しいデータを削除し、前記新しいデータ及び前記第2合成以前データは、次の学習に利用されるための前記以前データとして出力され得るように前記オリジナルデータ生成器ネットワークをアップデートすることができる。
つまり、前記オリジナルデータ生成器ネットワーク130が前記第2現在学習に利用されるための前記実際データに対応する前記新しいデータと、前記以前データとを出力できるように学習されたため、前記新しいデータが削除され得、前記次の学習が実行される場合、前記オリジナルデータ生成器ネットワーク130は、現在の学習に利用されるための前記以前データと、前記新しいデータとを出力することによって前記次の学習のための以前データを取得することができる。
一方、前記第1現在学習と前記第2現在学習とを含む前記現在の学習が最初の学習である場合は、前記第1現在学習と前記第2現在学習とは、前記以前データなしに遂行され得る。
つまり、前記学習装置100は、前記予め設定された第1ボリューム(m)の前記新しいデータのみを利用して前記第1バッチを生成し、前記第1バッチを利用した前記第1現在学習を遂行して前記ニューラルネットワーク140の前記ロスが収束するようにし得る。
また、前記学習装置100は、前記オリジナルデータ生成器ネットワーク130をもって、前記k次元ランダムベクトルに対応する第3合成以前データを出力するプロセスを繰り返して、前記第3合成以前データが前記予め設定された第1ボリューム(m)になるようにし、前記予め設定された第1ボリュームの前記新しいデータ及び前記予め設定された第1ボリュームの前記第3合成以前データを参照して前記第2バッチを生成し、前記第2バッチを利用した前記第2現在学習を遂行して前記判別器160の前記ロス及び前記オリジナルデータ生成器ネットワーク130の前記ロスが収束するようにし得る。
この後、前記学習装置100は、前記現在の学習に利用された前記新しいデータを削除し、前記新しいデータを前記以前データに初期化することができる。
参考までに、以下の説明において混同を避けるために、前記プロセスに関連する用語には「学習用」または「トレーニング」という単語が追加され、テスティングプロセスに関連する用語には「テスト用」または「テスティング」という単語が追加された。
図6は、本発明の一例に係るオンデバイス継続学習を完了した前記ニューラルネットワークをテストするテスティング装置を示した図面である。図6を参照すれば、前記テスティング装置200は、オンデバイス継続学習を完了した前記ニューラルネットワークをテストするためのインストラクションを格納するメモリ210と、前記メモリ210に格納された前記インストラクションとに対応してオンデバイス継続学習を完了した前記ニューラルネットワークをテストするプロセスを遂行するためのプロセッサ220を含むことができる。
具体的に、前記テスティング装置200は、典型的に少なくとも一つのコンピューティング装置(例えば、コンピュータのプロセッサ、メモリ、ストレージ、入力装置及び出力装置、その他の既存のコンピューティング装置の構成要素を含み得る装置;ルータ、スイッチなどのような電子通信装置;ネットワーク接続ストレージ(NAS)及びストレージエリアネットワーク(SAN)のような電子情報ストレージシステム)と、少なくとも一つのコンピュータソフトウェア(つまり、コンピューティング装置をもって、特定の方式で機能させるインストラクション)との組み合わせを利用して、希望するシステム性能を達成することであり得る。
また、前記コンピューティング装置の前記プロセッサは、MPU(Micro Processing Unit)またはCPU(Central Processing Unit)、キャッシュメモリ(Cache Memory)、データバス(Data Bus)などのハードウェア構成を含むことができる。また、前記コンピューティング装置は、オペレーティングシステム及び特定の目的を遂行するアプリケーションのソフトウェア構成をさらに含むこともできる。
しかし、前記コンピューティング装置が本発明を行うためのミディアム、プロセッサ及びメモリが統合された形である統合プロセッサを含む場合を排除するものではない。
このように構成された本発明の一例に係る前記テスティング装置200を利用して、オンデバイス継続学習を完了した前記ニューラルネットワークをテストする方法について、図7に基づいて説明する。
前記で説明したようなプロセスによって前記ニューラルネットワーク140が学習された状態で、前記テスティング装置200がテストデータ201を取得するか、他の装置をもって取得するように支援することができる。この際、前記テストデータ201は、イメージ情報、センサー情報、音声情報などを含み得るが、これに限定されず、特徴分析が可能なすべての入力データを含むことができる。
そして、前記テスティング装置200は前記テストデータ201を前記ニューラルネットワーク140に入力して、前記ニューラルネットワーク140をもって前記テストデータ201に対応するテスト用出力情報を生成するようにすることができる。
この際、前記学習装置は、(a)学習のために取得された新しいデータが予め設定された基準ボリュームになると、前記新しいデータをサンプリングして前記予め設定された第1ボリュームになるようにし、少なくとも一つのk次元ランダムベクトル(k-dimensional random vector)を以前学習された前記オリジナルデータ生成器ネットワークに入力することで、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第1合成以前データを出力するプロセスを繰り返すようにして、前記第1合成以前データが予め設定された第2ボリュームになるようにし、前記予め設定された第1ボリュームの前記新しいデータ及び前記予め設定された第2ボリュームの前記第1合成以前データを参照して、前記第1現在学習に利用される第1バッチを生成するプロセス及び(b)前記第1バッチを前記ニューラルネットワーク140に入力して、前記ニューラルネットワーク140をもって、前記第1バッチに対応する出力情報を生成するようにし、第1ロスレイヤをもって、前記学習用出力情報とこれに対応するGTとを参照して前記第1ロスを算出するようにすることで、これを利用したバックプロパゲーションによって前記ニューラルネットワークの前記第1現在学習を遂行するプロセスを完了した状態であり得る。
そして、前記学習装置は、前記新しいデータをサンプリングして前記予め設定された第1ボリューム(m)になるようにし、前記オリジナルデータ生成器ネットワークを複製することで前記複製データ生成器ネットワークを生成し、前記複製データ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する前記第2合成以前データを出力するプロセスを繰り返すようにして、前記第2合成以前データが、前記予め設定された第2ボリュームになるようにし、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第3合成以前データを出力するプロセスを繰り返すようにして、前記第3合成以前データが前記予め設定された第3ボリュームになるようにし、前記予め設定された第1ボリュームの前記新しいデータと、前記予め設定された第2ボリュームの前記第2合成以前データと、前記予め設定された第3ボリュームの前記第3合成以前データとを参照して、前記第2現在学習に利用される前記第2バッチを生成するプロセスと、前記第2バッチとを前記判別器に入力して、前記判別器をもって、前記第2バッチに対応する前記スコアベクトルを出力するようにし、前記第2ロスレイヤをもって、前記スコアベクトルとこれに対応するGTとを参照して前記第2ロスを算出するようにし、前記第2ロスを利用したバックプロパゲーションによって前記判別器と、前記オリジナルデータ生成器ネットワークとの前記第2現在学習を遂行するプロセスを完了した状態であり得る。
このような方法により、スマートフォン、ドローン、船舶あるいは軍事的目的に利用することができる。
また、以上で説明された本発明に係る実施例は、多様なコンピュータ構成要素を通じて遂行できるプログラム命令語の形態で実装されてコンピュータで判読可能な記録媒体に記録され得る。前記コンピュータで読取り可能な記録媒体はプログラム命令語、データファイル、データ構造などを単独でまたは組み合わせて含まれ得る。前記コンピュータ読取り可能な記録媒体に記録されるプログラム命令語は、本発明のために特別に設計されて構成されたものであるか、コンピュータソフトウェア分野の当業者に公知となって使用可能なものでもよい。コンピュータで判読可能な記録媒体の例には、ハードディスク、フロッピーディスク及び磁気テープのような磁気媒体、CD-ROM、DVDのような光記録媒体、フロプティカルディスク(flopticaldisk)のような磁気-光媒体(magneto-opticalmedia)、およびROM、RAM、フラッシュメモリなどといったプログラム命令語を格納して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるもののような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードも含まれる。前記ハードウェア装置は、本発明に係る処理を遂行するために一つ以上のソフトウェアモジュールとして作動するように構成され得、その逆も同様である。
以上、本発明が具体的な構成要素などのような特定事項と限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解を助けるために提供されたものであるに過ぎず、本発明が前記実施例に限られるものではなく、本発明が属する技術分野において通常の知識を有する者であれば係る記載から多様な修正及び変形が行われ得る。
従って、本発明の思想は前記説明された実施例に局限されて定められてはならず、後述する特許請求の範囲だけでなく、本特許請求の範囲と均等または等価的に変形されたものすべては、本発明の思想の範囲に属するといえる。

Claims (24)

  1. 入力データを分析するニューラルネットワーク(neural network)をオンデバイス(on-device)継続学習(continual learning)する方法において、
    (a)学習のために取得される新しいデータが予め設定された基準ボリュームになると、学習装置が、前記新しいデータをサンプリングして予め設定された第1ボリュームになるようにし、少なくとも一つのk次元ランダムベクトル(k-dimensional random vector)を以前学習されたオリジナルデータ生成器ネットワークに入力することで、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第1合成以前データ(前記第1合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第1合成以前データが予め設定された第2ボリュームになるようにし、前記予め設定された第1ボリュームの前記新しいデータ及び前記予め設定された第2ボリュームの前記第1合成以前データを参照して、第1現在学習に利用される第1バッチ(batch)を生成する段階
    (b)前記学習装置が、前記第1バッチを前記ニューラルネットワークに入力して、前記ニューラルネットワークをもって、前記第1バッチに対応する出力情報を生成するようにし、第1ロスレイヤをもって、前記出力情報とこれに対応するGT(Ground Truth)とを参照して一つ以上の第1ロスを算出するようにすることで、これを利用したバックプロパゲーション(backpropagation)によって前記ニューラルネットワークの前記第1現在学習を遂行する段階;
    (c)前記学習装置が、前記新しいデータをサンプリングして前記予め設定された第1ボリュームになるようにし、前記オリジナルデータ生成器ネットワークを複製することで複製データ生成器ネットワークを生成し、前記複製データ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第2合成以前データ(前記第2合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第2合成以前データが前記予め設定された第2ボリュームになるようにし、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第3合成以前データ(前記第3合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第3合成以前データが予め設定された第3ボリューム(前記予め設定された第3ボリュームは、前記予め設定された第1ボリュームと前記予め設定された第2ボリュームとを合計したボリュームである)になるようにし、前記予め設定された第1ボリュームの前記新しいデータと、前記予め設定された第2ボリュームの前記第2合成以前データと、前記予め設定された第3ボリュームの前記第3合成以前データとを参照して、第2現在学習に利用される第2バッチを生成する段階;及び
    (d)前記学習装置が、前記第2バッチを判別器に入力して、前記判別器をもって、前記第2バッチに対応するスコアベクトルを出力するようにし、第2ロスレイヤをもって前記スコアベクトルとこれに対応するGTとを参照して一つ以上の第2ロスを算出するようにし、前記第2ロスを利用したバックプロパゲーションによって前記判別器及び前記オリジナルデータ生成器ネットワークの前記第2現在学習を遂行する段階;
    を含むことを特徴とする方法。
  2. 前記学習装置は、前記第2ロスを利用したバックプロパゲーションにより前記判別器のロス及び前記オリジナルデータ生成器ネットワークのロスがそれぞれ収束するまで、前記(c)段階と前記(d)段階とを繰り返すことを特徴とする請求項に記載の方法。
  3. 前記(d)段階において、
    前記学習装置は、前記第2ロスを利用したバックプロパゲーションにより前記判別器及び前記オリジナルデータ生成器ネットワークの最急上昇法(gradient ascent)を遂行することを特徴とする請求項に記載の方法。
  4. 前記(d)段階において、
    前記学習装置は、前記第2ロスを利用したバックプロパゲーションを通じて前記判別器の前記第2現在学習を遂行する場合、前記複製データ生成器ネットワークからの前記第2合成以前データを実際データとみなし、前記判別器の前記第2現在学習を遂行することを特徴とする請求項に記載の方法。
  5. 前記(d)段階において、
    前記学習装置は、前記スコアベクトルのうち、前記第3合成以前データに対応する第3合成以前データスコアのベクトルが最大化されるように、前記オリジナルデータ生成器ネットワークの前記第2現在学習を遂行することを特徴とする請求項に記載の方法。
  6. 前記(d)段階において、
    前記学習装置は、前記第2現在学習が完了すると、前記新しいデータを削除し、前記新しいデータ及び前記第2合成以前データが、次の学習に利用されるための前記以前データとして出力されるように前記オリジナルデータ生成器ネットワークをアップデートすることを特徴とする請求項に記載の方法。
  7. 前記第2現在学習が最初の学習である場合、
    前記(a)段階で、
    前記学習装置は、前記予め設定された第1ボリュームの前記新しいデータだけを利用して前記第1バッチを生成し、
    前記(c)段階で、
    前記学習装置は、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第3合成以前データを出力するプロセスを繰り返すようにして、前記第3合成以前データが前記予め設定された第1ボリュームになるようにし、前記予め設定された第1ボリュームの前記新しいデータ及び前記予め設定された第1ボリュームの前記第3合成以前データを参照して、前記第2バッチを生成することを特徴とする請求項に記載の方法。
  8. 前記学習装置は、前記第1ロスを利用したバックプロパゲーションによって前記第1ロスが収束するまで、前記(a)段階と前記(b)段階とを繰り返すことを特徴とする請求項1に記載の方法。
  9. 前記(b)段階で、
    前記学習装置は、前記第1ロスを利用したバックプロパゲーションにより前記ニューラルネットワークの最急降下法(gradient descent)を遂行することを特徴とする請求項1に記載の方法。
  10. 入力データを分析するニューラルネットワーク(neural network)をオンデバイス(on-device)継続学習(continual learning)する方法において、
    (a)学習のために取得される新しいデータが予め設定された基準ボリュームになると、学習装置が、前記新しいデータをサンプリングして予め設定された第1ボリュームになるようにし、少なくとも一つのk次元ランダムベクトル(k-dimensional random vector)を以前学習されたオリジナルデータ生成器ネットワークに入力することで、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第1合成以前データ(前記第1合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第1合成以前データが予め設定された第2ボリュームになるようにし、前記予め設定された第1ボリュームの前記新しいデータ及び前記予め設定された第2ボリュームの前記第1合成以前データを参照して、第1現在学習に利用される第1バッチ(batch)を生成する段階;及び
    (b)前記学習装置が、前記第1バッチを前記ニューラルネットワークに入力して、前記ニューラルネットワークをもって、前記第1バッチに対応する出力情報を生成するようにし、第1ロスレイヤをもって、前記出力情報とこれに対応するGT(Ground Truth)とを参照して一つ以上の第1ロスを算出するようにすることで、これを利用したバックプロパゲーション(backpropagation)によって前記ニューラルネットワークの前記第1現在学習を遂行する段階;
    を含み、
    前記ニューラルネットワークが少なくとも一つのベクトルを入力として取得する分類器である場合、前記オリジナルデータ生成器ネットワークは、前記k次元ランダムベクトルに対応するk次元情報に少なくとも一つのFC(fully connected)演算を適用して、少なくとも一つのD次元ベクトルと、少なくとも一つのC次元ワンホット(one-hot)ベクトルとを出力する一つ以上のFCレイヤを含むことを特徴とする方法。
  11. 前記ニューラルネットワークが少なくとも一つのRGBイメージを入力として取得する物体検出器である場合、前記オリジナルデータ生成器ネットワークは、前記k次元ランダムベクトルに対応する1×1×K情報を少なくとも一つのH×W×3テンソルに変形させる一つ以上の転置(transposed)コンボリューションレイヤと、前記H×W×3テンソルを分析し少なくとも一つのRx(4+C)ベクトル(前記Rは少なくとも一つのR次元ベクトルを含み、(4+C)はX1、Y1、X2、Y2及び少なくとも一つのC次元ワンホットベクトルを含む)を出力するFaster R-CNN(Region-based Convolutional Network)を含むことを特徴とする請求項1に記載の方法。
  12. オンデバイス(on-device)継続学習を完了したニューラルネットワークをテストするテスティング方法において、
    (a)学習装置が、(1)予め設定された基準ボリュームになった新しいデータをサンプリングして予め設定された第1ボリュームになるようにし、少なくとも一つのk次元ランダムベクトル(k-dimensional random vector)を以前学習されたオリジナルデータ生成器ネットワークに入力することで、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第1合成以前データ(前記第1合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第1合成以前データが予め設定された第2ボリュームになるようにし、前記予め設定された第1ボリュームの前記新しいデータ及び前記予め設定された第2ボリュームの前記第1合成以前データを参照して、第1現在学習に利用される第1バッチ(batch)を生成するプロセス、及び(2)前記第1バッチを前記ニューラルネットワークに入力して、前記ニューラルネットワークをもって、前記第1バッチに対応する学習用出力情報を生成するようにし、第1ロスレイヤをもって、前記学習用出力情報とこれに対応するGT(Ground Truth)とを参照して一つ以上の第1ロスを算出することで、これを利用したバックプロパゲーション(backpropagation)によって前記ニューラルネットワークの前記第1現在学習を遂行するプロセスを遂行した状態で、テスティング装置がテストデータを取得する段階;及び
    (b)前記テスティング装置が、前記テストデータを前記ニューラルネットワークに入力して、前記ニューラルネットワークをもって、前記テストデータに対応するテスト用出力情報を生成するようにする段階;
    を含み、
    前記学習装置が、(3)前記新しいデータをサンプリングして前記予め設定された第1ボリュームになるようにし、前記オリジナルデータ生成器ネットワークを複製することで複製データ生成器ネットワークを生成し、前記複製データ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第2合成以前データ(前記第2合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第2合成以前データが前記予め設定された第2ボリュームになるようにし、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第3合成以前データ(前記第3合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第3合成以前データが予め設定された第3ボリューム(前記予め設定された第3ボリュームは、前記予め設定された第1ボリュームと前記予め設定された第2ボリュームとを合計したボリュームである)になるようにし、前記予め設定された第1ボリュームの前記新しいデータと、前記予め設定された第2ボリュームの前記第2合成以前データと、前記予め設定された第3ボリュームの前記第3合成以前データとを参照して、第2現在学習に利用される第2バッチを生成するプロセス、及び(4)前記第2バッチを判別器に入力して、前記判別器をもって、前記第2バッチに対応するスコアベクトルを出力するようにし、第2ロスレイヤをもって、前記スコアベクトルとこれに対応するGTとを参照して一つ以上の第2ロスを算出するようにし、前記第2ロスを利用したバックプロパゲーションによって前記判別器及び前記オリジナルデータ生成器ネットワークの前記第2現在学習を遂行するプロセスをさらに遂行することを特徴とするテスティング方法。
  13. 入力データを分析するニューラルネットワーク(neural network)をオンデバイス(on-device)継続学習(continual learning)する学習装置において、
    インストラクションを格納する少なくとも一つのメモリ;及び
    (I)学習のために取得される新しいデータが予め設定された基準ボリュームになると、前記新しいデータをサンプリングして予め設定された第1ボリュームになるようにし、少なくとも一つのk次元ランダムベクトル(k-dimensional random vector)を以前学習されたオリジナルデータ生成器ネットワークに入力することで、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第1合成以前データ(前記第1合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第1合成以前データが、予め設定された第2ボリュームになるようにし、前記予め設定された第1ボリュームの前記新しいデータ及び前記予め設定された第2ボリュームの前記第1合成以前データを参照して、第1現在学習に利用される第1バッチ(batch)を生成するプロセス、及び(II)前記第1バッチを前記ニューラルネットワークに入力して、前記ニューラルネットワークをもって、前記第1バッチに対応する出力情報を生成するようにし、第1ロスレイヤをもって、前記出力情報とこれに対応するGT(Ground Truth)とを参照して一つ以上の第1ロスを算出することで、これを利用したバックプロパゲーション(backpropagation)によって、前記ニューラルネットワークの前記第1現在学習を遂行するプロセスを遂行するための、前記インストラクションを実行するように構成された少なくとも一つのプロセッサ;
    を含み、
    前記プロセッサが、(III)前記新しいデータをサンプリングして前記予め設定された第1ボリュームになるようにし、前記オリジナルデータ生成器ネットワークを複製することで複製データ生成器ネットワークを生成し、前記複製データ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第2合成以前データ(前記第2合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第2合成以前データが前記予め設定された第2ボリュームになるようにし、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第3合成以前データ(前記第3合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第3合成以前データが予め設定された第3ボリューム(前記予め設定された第3ボリュームは、前記予め設定された第1ボリュームと前記予め設定された第2ボリュームとを合計したボリュームである)になるようにし、前記予め設定された第1ボリュームの前記新しいデータと、前記予め設定された第2ボリュームの前記第2合成以前データと、前記予め設定された第3ボリュームの前記第3合成以前データとを参照して、第2現在学習に利用される第2バッチを生成するプロセス、及び(IV)前記第2バッチを判別器に入力して、前記判別器をもって、前記第2バッチに対応するスコアベクトルを出力するようにし、第2ロスレイヤをもって、前記スコアベクトルとこれに対応するGTとを参照して一つ以上の第2ロスを算出するようにし、前記第2ロスを利用したバックプロパゲーションによって前記判別器及び前記オリジナルデータ生成器ネットワークの前記第2現在学習を遂行するプロセスをさらに遂行することを特徴とする学習装置。
  14. 前記プロセッサは、前記第2ロスを利用したバックプロパゲーションにより前記判別器のロス及び前記オリジナルデータ生成器ネットワークのロスがそれぞれ収束するまで、前記(III)プロセスと前記(IV)プロセスとを繰り返すことを特徴とする請求項13に記載の学習装置。
  15. 前記(IV)プロセスで、
    前記プロセッサは、前記第2ロスを利用したバックプロパゲーションにより前記判別器及び前記オリジナルデータ生成器ネットワークの最急上昇法(gradient ascent)を遂行することを特徴とする請求項13に記載の学習装置。
  16. 前記(IV)プロセスで、
    前記プロセッサは、前記第2ロスを利用したバックプロパゲーションによって前記判別器の前記第2現在学習を遂行する場合、前記複製データ生成器ネットワークからの前記第2合成以前データを実際データとみなし、前記判別器の前記第2現在学習を遂行することを特徴とする請求項13に記載の学習装置。
  17. 前記(IV)プロセスで、
    前記プロセッサは、前記スコアベクトルのうち、前記第3合成以前データに対応する第3合成以前データスコアのベクトルが最大化されるように、前記オリジナルデータ生成器ネットワークの前記第2現在学習を遂行することを特徴とする請求項13に記載の学習装置。
  18. 前記(IV)プロセスで、
    前記プロセッサは、前記第2現在学習が完了すると、前記新しいデータを削除し、前記新しいデータ及び前記第2合成以前データが、次の学習に利用されるための前記以前データとして出力されるように前記オリジナルデータ生成器ネットワークをアップデートすることを特徴とする請求項13に記載の学習装置。
  19. 前記第2現在学習が最初の学習である場合、
    前記(I)プロセスで、
    前記プロセッサは、前記予め設定された第1ボリュームの前記新しいデータだけを利用して前記第1バッチを生成し、
    前記(III)プロセスで、
    前記プロセッサは、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第3合成以前データを出力するプロセスを繰り返すようにして、前記第3合成以前データが前記予め設定された第1ボリュームになるようにし、前記予め設定された第1ボリュームの前記新しいデータ及び前記予め設定された第1ボリュームの前記第3合成以前データを参照して、前記第2バッチを生成することを特徴とする請求項13に記載の学習装置。
  20. 前記プロセッサは、前記第1ロスを利用したバックプロパゲーションによって前記第1ロスが収束するまで、前記(I)プロセスと前記(II)プロセスとを繰り返すことを特徴とする請求項13に記載の学習装置。
  21. 前記(II)プロセスで、
    前記プロセッサは、前記第1ロスを利用したバックプロパゲーションにより前記ニューラルネットワークの最急降下法(gradient descent)を遂行することを特徴とする請求項13に記載の学習装置。
  22. 入力データを分析するニューラルネットワーク(neural network)をオンデバイス(on-device)継続学習(continual learning)する学習装置において、
    インストラクションを格納する少なくとも一つのメモリ;及び
    (I)学習のために取得される新しいデータが予め設定された基準ボリュームになると、前記新しいデータをサンプリングして予め設定された第1ボリュームになるようにし、少なくとも一つのk次元ランダムベクトル(k-dimensional random vector)を以前学習されたオリジナルデータ生成器ネットワークに入力することで、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第1合成以前データ(前記第1合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第1合成以前データが、予め設定された第2ボリュームになるようにし、前記予め設定された第1ボリュームの前記新しいデータ及び前記予め設定された第2ボリュームの前記第1合成以前データを参照して、第1現在学習に利用される第1バッチ(batch)を生成するプロセス、及び(II)前記第1バッチを前記ニューラルネットワークに入力して、前記ニューラルネットワークをもって、前記第1バッチに対応する出力情報を生成するようにし、第1ロスレイヤをもって、前記出力情報とこれに対応するGT(Ground Truth)とを参照して一つ以上の第1ロスを算出することで、これを利用したバックプロパゲーション(backpropagation)によって、前記ニューラルネットワークの前記第1現在学習を遂行するプロセスを遂行するための、前記インストラクションを実行するように構成された少なくとも一つのプロセッサ;
    を含み、
    前記ニューラルネットワークが少なくとも一つのベクトルを入力として取得する分類器である場合、前記オリジナルデータ生成器ネットワークは、前記k次元ランダムベクトルに対応するk次元情報に少なくとも一つのFC(fully connected)演算を適用して、少なくとも一つのD次元ベクトルと、少なくとも一つのC次元ワンホット(one-hot)ベクトルとを出力する一つ以上のFCレイヤを含むことを特徴とする学習装置。
  23. 前記ニューラルネットワークが少なくとも一つのRGBイメージを入力として取得する物体検出器である場合、前記オリジナルデータ生成器ネットワークは、前記k次元ランダムベクトルに対応する1×1×K情報を少なくとも一つのH×W×3テンソルに変形させる一つ以上の転置コンボリューションレイヤと、前記H×W×3テンソルを分析し少なくとも一つのRx(4+C)ベクトル(前記Rは少なくとも一つのR次元ベクトルを含み、(4+C)はX1、Y1、X2、Y2及び少なくとも一つのC次元ワンホットベクトルを含む)を出力するfaster R-CNNを含むことを特徴とする請求項13に記載の学習装置。
  24. オンデバイス(on-device)継続学習を完了したニューラルネットワークをテストするテスティング装置において、
    インストラクションを格納する少なくとも一つのメモリ;及び
    学習装置が、(1)新しいデータが予め設定された基準ボリュームになると、前記新しいデータをサンプリングして予め設定された第1ボリュームになるようにし、少なくとも一つのk次元ランダムベクトル(k-dimensional random vector)を以前学習されたオリジナルデータ生成器ネットワークに入力することで、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第1合成以前データ(前記第1合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第1合成以前データが、予め設定された第2ボリュームになるようにし、前記予め設定された第1ボリュームの前記新しいデータ及び前記予め設定された第2ボリュームの前記第1合成以前データを参照して、第1現在学習に利用される第1バッチ(batch)を生成するプロセス及び(2)前記第1バッチを前記ニューラルネットワークに入力して、前記ニューラルネットワークをもって、前記第1バッチに対応する学習用出力情報を生成するようにし、第1ロスレイヤをもって、前記学習用出力情報とこれに対応するGT(Ground Truth)とを参照して一つ以上の第1ロスを算出することで、これを利用したバックプロパゲーション(backpropagation)によって前記ニューラルネットワークの前記第1現在学習を遂行するプロセスを遂行した状態で、テストデータを前記ニューラルネットワークに入力して、前記ニューラルネットワークをもって、前記テストデータに対応するテスト用出力情報を生成するようにするプロセスを遂行するための、前記インストラクションを実行するように構成された少なくとも一つのプロセッサ;
    を含み、
    前記学習装置が、(3)前記新しいデータをサンプリングして前記予め設定された第1ボリュームになるようにし、前記オリジナルデータ生成器ネットワークを複製することで複製データ生成器ネットワークを生成し、前記複製データ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第2合成以前データ(前記第2合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第2合成以前データが前記予め設定された第2ボリュームになるようにし、前記オリジナルデータ生成器ネットワークをもって、前記k次元ランダムベクトルに対応する第3合成以前データ(前記第3合成以前データは、前記オリジナルデータ生成器ネットワークを以前学習するのに利用された以前データに対応する)を出力するプロセスを繰り返すようにして、前記第3合成以前データが予め設定された第3ボリューム(前記予め設定された第3ボリュームは、前記予め設定された第1ボリュームと前記予め設定された第2ボリュームとを合計したボリュームである)になるようにし、前記予め設定された第1ボリュームの前記新しいデータと、前記予め設定された第2ボリュームの前記第2合成以前データと、前記予め設定された第3ボリュームの前記第3合成以前データとを参照して、第2現在学習に利用される第2バッチを生成するプロセス、及び(4)前記第2バッチを判別器に入力して、前記判別器をもって、前記第2バッチに対応するスコアベクトルを出力するようにし、第2ロスレイヤをもって、前記スコアベクトルとこれに対応するGTとを参照して一つ以上の第2ロスを算出するようにし、前記第2ロスを利用したバックプロパゲーションによって、前記判別器及び前記オリジナルデータ生成器ネットワークの第2現在学習を遂行するプロセスをさらに遂行することを特徴とするテスティング装置。
JP2020007171A 2019-01-28 2020-01-20 スマートフォン、ドローン、船舶もしくは軍事的目的に利用するための、入力データを分析するニューラルネットワークをオンデバイス継続学習する方法及び装置、並びにこれによって学習されたニューラルネットワークをテストする方法及び装置 Active JP7081837B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/259,389 US11315021B2 (en) 2019-01-28 2019-01-28 Method and device for on-device continual learning of a neural network which analyzes input data, and method and device for testing the neural network to be used for smartphones, drones, vessels, or military purpose
US16/259,389 2019-01-28

Publications (2)

Publication Number Publication Date
JP2020119567A JP2020119567A (ja) 2020-08-06
JP7081837B2 true JP7081837B2 (ja) 2022-06-07

Family

ID=69172613

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020007171A Active JP7081837B2 (ja) 2019-01-28 2020-01-20 スマートフォン、ドローン、船舶もしくは軍事的目的に利用するための、入力データを分析するニューラルネットワークをオンデバイス継続学習する方法及び装置、並びにこれによって学習されたニューラルネットワークをテストする方法及び装置

Country Status (5)

Country Link
US (2) US11315021B2 (ja)
EP (1) EP3686811A1 (ja)
JP (1) JP7081837B2 (ja)
KR (1) KR102349933B1 (ja)
CN (1) CN111488979B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11544532B2 (en) * 2019-09-26 2023-01-03 Sap Se Generative adversarial network with dynamic capacity expansion for continual learning
CN110991619A (zh) * 2019-12-09 2020-04-10 Oppo广东移动通信有限公司 神经网络处理器、芯片和电子设备
US11087215B1 (en) * 2020-07-25 2021-08-10 Sas Institute Inc. Machine learning classification system
CN112257785A (zh) * 2020-10-23 2021-01-22 中科院合肥技术创新工程院 基于记忆巩固机制与gan模型的序列化任务完成方法及系统
CN113450413B (zh) * 2021-07-19 2022-09-27 哈尔滨工业大学 基于gf4单帧图像的舰船目标检测方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108830285A (zh) 2018-03-14 2018-11-16 江南大学 一种基于Faster-RCNN的加强学习的目标检测方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8391603B2 (en) * 2009-06-18 2013-03-05 Omisa Inc. System and method for image segmentation
US10140572B2 (en) * 2015-06-25 2018-11-27 Microsoft Technology Licensing, Llc Memory bandwidth management for deep learning applications
US10706327B2 (en) 2016-08-03 2020-07-07 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
CN108073941A (zh) * 2016-11-17 2018-05-25 江南大学 一种基于深度学习的图像语义生成方法
US10210631B1 (en) * 2017-08-18 2019-02-19 Synapse Technology Corporation Generating synthetic image data
US11120337B2 (en) * 2017-10-20 2021-09-14 Huawei Technologies Co., Ltd. Self-training method and system for semi-supervised learning with generative adversarial networks
CA3022125A1 (en) * 2017-10-27 2019-04-27 Royal Bank Of Canada System and method for improved neural network training
CN107958287A (zh) * 2017-11-23 2018-04-24 清华大学 面向跨界大数据分析的对抗迁移学习方法及系统
US10388002B2 (en) * 2017-12-27 2019-08-20 Facebook, Inc. Automatic image correction using machine learning
US10970765B2 (en) * 2018-02-15 2021-04-06 Adobe Inc. Generating user-customized items using a visually-aware image generation network
US11423282B2 (en) * 2018-10-30 2022-08-23 Huawei Technologies Co., Ltd. Autoencoder-based generative adversarial networks for text generation
US11663483B2 (en) * 2018-10-30 2023-05-30 Huawei Technologies Co., Ltd. Latent space and text-based generative adversarial networks (LATEXT-GANs) for text generation
JP7318197B2 (ja) * 2018-11-15 2023-08-01 富士通株式会社 逐次学習プログラム、逐次学習装置および逐次学習方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108830285A (zh) 2018-03-14 2018-11-16 江南大学 一种基于Faster-RCNN的加强学习的目标检测方法

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
「continualとは」,[online], Weblio,2021年02月04日,[令和3年2月4日検索], インターネット, <URL: https://ejje.weblio.jp/content/continual>.
「continuousとは」,[online], Weblio,2021年02月04日,[令和3年2月4日検索], インターネット, <URL: https://ejje.weblio.jp/content/continuous>.
Ari Seff, et al.,"Continual Learning in Generative Adversarial Nets",arXiv:1705.08395v1,version v1,[online], arXiv (Cornell University),2017年05月23日,Pages 1-9,[令和3年2月8日検索], インターネット, <URL: https://arxiv.org/abs/1705.08395v1>.
Hanul Shin, et al.,"Continual Learning with Deep Generative Replay",arXiv:1705.08690v3,version v3,[online], arXiv (Cornell University),2017年12月12日,Pages 1-10,[令和3年2月8日検索], インターネット, <URL: https://arxiv.org/abs/1705.08690v3>.
Haseeb Shah, et al.,"Distillation Techniques for Pseudo-rehearsal Based Incremental Learning",arXiv:1807.02799v3,version v3,[online], arXiv (Cornell University),2018年07月11日,Pages 1-13,[令和3年2月8日検索], インターネット, <URL: https://arxiv.org/abs/1807.02799v3>.
Yue Wu, et al.,"Incremental Classifier Learning with Generative Adversarial Networks",arXiv:1802.00853v1,version v1,[online], arXiv (Cornell University),2018年02月02日,Pages 1-10,[令和3年2月8日検索], インターネット, <URL: https://arxiv.org/abs/1802.00853v1>.
Zhengming Ding, et al.,"One-Shot Face Recognition via Generative Learning",Proceedings of 2018 13th IEEE International Conference on Automatic Face & Gesture Recognition (FG 2018),2018年05月19日,Pages 1-7,ISBN: 978-1-5386-2335-0, <DOI: 10.1109/FG.2018.00011>.
比田井 真也(外2名),「Generative Adversarial NetsにおけるMode Collapseの抑制」,電子情報通信学会技術研究報告,日本,一般社団法人 電子情報通信学会,2018年03月19日,Vol.117, No.520,第1~6頁,ISSN: 0913-5685.
高木 英行,「ニューラルネット Part II:基礎入門編」,日本ファジィ学会誌,日本,日本ファジィ学会,1992年08月,Vol.4, No.4,第76~87頁.

Also Published As

Publication number Publication date
CN111488979A (zh) 2020-08-04
KR102349933B1 (ko) 2022-01-12
JP2020119567A (ja) 2020-08-06
US10783438B2 (en) 2020-09-22
US20200242476A1 (en) 2020-07-30
US11315021B2 (en) 2022-04-26
US20200242475A1 (en) 2020-07-30
CN111488979B (zh) 2023-11-07
EP3686811A1 (en) 2020-07-29
KR20200093427A (ko) 2020-08-05

Similar Documents

Publication Publication Date Title
JP7081837B2 (ja) スマートフォン、ドローン、船舶もしくは軍事的目的に利用するための、入力データを分析するニューラルネットワークをオンデバイス継続学習する方法及び装置、並びにこれによって学習されたニューラルネットワークをテストする方法及び装置
Liu et al. Compositional visual generation with composable diffusion models
Stylianou et al. Visualizing deep similarity networks
JP6865364B2 (ja) エッジロスを利用して歩行者イベント、自動車イベント、フォーリングイベント、フォールンイベントを含むイベントを検出するにおいて利用されるセグメンテーション性能向上のための学習方法及び学習装置、並びにそれを利用したテスト方法及びテスト装置
US11416743B2 (en) Swarm fair deep reinforcement learning
JP2020502665A (ja) ターゲット・ドメイン画像へのソース・ドメイン画像の変換
JP2022503647A (ja) クロスドメイン画像変換
JP6978104B2 (ja) Ganを用いて仮想世界における仮想データから取得したトレーニングデータを生成して、自律走行用ニューラルネットワークの学習プロセスに必要なアノテーションコストを削減する学習方法や学習装置、それを利用したテスト方法やテスト装置
CN107636691A (zh) 用于识别图像中的文本的方法和设备
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}
JP7252120B2 (ja) 核心性能指数を満たすことができるハードウェア最適化が行われるように、cnnで複数のブロック内の入力イメージから特徴を抽出する学習方法及び学習装置、それを利用したテスト方法及びテスト装置
KR20220134429A (ko) 딥 Q-네트워크를 이용하여 딥러닝 기반의 디텍션 네트워크에 대한 자기지도학습(self-supervised learning)을 수행하는 방법 및 이를 이용한 학습 장치
Adate et al. A survey on deep learning methodologies of recent applications
WO2024051000A1 (zh) 一种结构化仿真数据生成系统及生成方法
WO2023061169A1 (zh) 图像风格迁移和模型训练方法、装置、设备和介质
JP6970461B2 (ja) スマートフォン、ドローン、船舶または軍事的目的のための、トレーニングイメージの最適化サンプリングにより入力データを分析するニューラルネットワークのオンデバイス継続学習方法及び装置、そして、これを利用したテスト方法及び装置
KR102100973B1 (ko) 공동 학습을 이용한 기계학습 시스템 및 그 방법
EP3690718B1 (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
WO2021171768A1 (ja) 情報処理装置及び情報処理方法、コンピュータプログラム、並びに観測装置
CN106104513B (zh) 基于认知的知识处理系统及方法
JP7047665B2 (ja) 学習装置、学習方法及び学習プログラム
KR20200061154A (ko) 시각 및 텍스트 정보를 포함하는 다이어그램의 분석 방법 및 장치
JP2019219756A (ja) 制御装置、制御方法、プログラム、ならびに、情報記録媒体
Surendran et al. Transfer Learning Based Natural Scene Classification for Scene Understanding by Intelligent Machines
Rathi et al. Visual Question Generation Using Deep Learning

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220118

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220519

R150 Certificate of patent or registration of utility model

Ref document number: 7081837

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150