JP2023514172A - 連続学習サーバーを利用してクライアントのイメージを分類するクラシファイアを連続学習する方法及びこれを利用した連続学習サーバー - Google Patents
連続学習サーバーを利用してクライアントのイメージを分類するクラシファイアを連続学習する方法及びこれを利用した連続学習サーバー Download PDFInfo
- Publication number
- JP2023514172A JP2023514172A JP2022548234A JP2022548234A JP2023514172A JP 2023514172 A JP2023514172 A JP 2023514172A JP 2022548234 A JP2022548234 A JP 2022548234A JP 2022548234 A JP2022548234 A JP 2022548234A JP 2023514172 A JP2023514172 A JP 2023514172A
- Authority
- JP
- Japan
- Prior art keywords
- classifier
- image
- existing
- learning
- images
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 109
- 238000012549 training Methods 0.000 claims abstract description 91
- 230000003190 augmentative effect Effects 0.000 claims abstract description 59
- 239000013598 vector Substances 0.000 claims abstract description 44
- 230000008569 process Effects 0.000 claims description 63
- 238000013528 artificial neural network Methods 0.000 claims description 28
- 238000005070 sampling Methods 0.000 claims description 22
- 238000009826 distribution Methods 0.000 claims description 20
- 238000011176 pooling Methods 0.000 claims description 10
- 238000002372 labelling Methods 0.000 claims description 4
- 239000000470 constituent Substances 0.000 claims description 2
- 238000003860 storage Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 5
- 230000003416 augmentation Effects 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001684 chronic effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013434 data augmentation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24317—Piecewise classification, i.e. whereby each classification requires several discriminant rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4046—Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing 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/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
クライアントのイメージを分類するクラシファイアを連続学習させる方法は、連続学習サーバーが(a)クライアントの第1クラシファイアから各第1ハードイメージを敵対的オートエンコーダに入力し、エンコーダを通じて前記第1ハードイメージから潜在ベクトルを出力させ、デコーダを通じて前記潜在ベクトルから再構成イメージを出力させ、判別器と第2クラシファイアとを通じて属性情報と第2クラシフィケーション情報を出力させて第1学習データセットとして格納する第2ハードイメージを判別し、前記第2ハードイメージでないと判断された各再構成イメージに対応する潜在ベクトルを調整することで第2学習データセットとして格納するオーグメンティドイメージを生成させる段階と、(b)前記第1クラシファイアに対応する第3クラシファイアを連続学習させる段階と、(c)アップデートされたパラメーターを前記クライアントに伝送する段階と、を含む。【選択図】図2
Description
本発明は、2020年4月30日付にて出願された米国特許出願第63/017,758号及び2020年11月3日付にて出願された米国特許出願第17/088,045号に対する優先権を主張し、これは本願に参照として組み込まれる。
本発明は連続学習(continual learning)サーバーを利用してイメージを分類するクライアント(client)のクラシファイア(classifier)を連続学習する方法及びこれを利用した連続学習サーバーに係り、より詳細には、クライアントのクラシファイアが分類しにくいと判別されたハードイメージ(hard image)に対して再構成(reconstruction)及びオーグメンテイション(augmentation)プロセスを適用して複数の学習データを生成した後、連続学習サーバーで学習データより連続学習のためのパラメーター(parameter)を生成してクライアントに伝送することで、クライアントのクラシファイアをアップデートできるようにする方法及びこれを利用した連続学習サーバーに関する。
イメージクラシフィケーション(image classification)は、保安システム、ロボティクス、自動車、医療、ソーシャルメディアなどの多様な分野で人間または機械が物体を認識して分析するために利用されている。
このようなイメージクラシフィケーションでは、入力されるイメージの種類、イメージクラシフィケーションの使用目的、イメージクラシフィケーションが使用される環境の特徴によってイメージクラシファイア(image classifier)に対して要求される性能と学習方法が変わる。
したがって、イメージクラシフィケーションでは利用可能なデータの種類とイメージクラシフィケーションの使用目的によってイメージクラシファイアのアルゴリズムを学習する学習方法として、指導学習(supervised learning)、非指導学習(unsupervised learning)、強化学習(reinforcement learning)及び連続学習(continual learning)などの中で少なくとも一つ以上が採用されて利用されている。
特に、従来のイメージクラシフィケーション方法では、ニューラルネットワーク(neural network;NN)を適用したイメージクラシファイアを学習させる方法として一般的な連続学習方法を通じて新しいモデルを学習し、新しいモデルが以前モデルよりよければ新しいモデルを選択し、以前モデルがよければ以前モデルを選択する方式を利用している。
しかし、従来のイメージクラシフィケーション方法では、イメージクラシフィケーションを遂行する過程で、天気、ノイズなど多様な変数が発生してクラシフィケーションし難いハードイメージが生成される場合、これらの中で少なくとも一部に対しては人間または機械がイメージを識別するのに困難を経験することがある。このようなハードイメージを正確に識別するためには、とても多くの量の学習用データが要求され、新しい学習用データを収容することによってネットワークの容量が大きくなるほど多くのコンピューティングパワーと高い学習費用が要されることがある。
また、ネットワークの容量が大きくなることにつれ、多くのコンピューティングパワーが要求されるほど、これに応えるためにイメージクラシファイアが物理的に大きくて重くなることがあるが、このように大きくて重いイメージクラシファイアは移動式装置や小型端末に搭載し難いという問題がある。
また、従来のイメージクラシフィケーション方法では、新しいタスク(task)を学習する過程で、以前覚えたタスクに対する情報を失う破滅的忘却(Catastrophic Forgetting(CF))のような慢性的問題が発生することがある。
したがって、前記問題点を解決するための改善方案が要求されているのが実情である。
本発明は、上述した問題点を全て解決することをその目的とする。
また、本発明は連続学習サーバー(continual learning server)の敵対的オートエンコーダ(Adversarial Autoencoder;AAE)を通じて生成された学習データを利用してクライアント(client)のクラシファイア(classifier)に対応する連続学習サーバーのクラシファイアを学習させ、アップデートされたパラメーター(parameter)情報のみを利用してクライアントのクラシファイアをアップデートすることを目的とする。
また、本発明は、連続学習サーバーで学習されたクラシファイアのパラメーターを利用してクライアントのクラシファイアをアップデートする時、一部のレイヤー(layer)のパラメーターのみをアップデートしたり、レイヤーを少し拡張または追加する連続学習技法を利用して従来方法に比べて少ない演算量でも効率的にクラシファイアに対する学習を遂行させることをまた他の目的とする。
本発明の一実施例によると、連続学習(continual learning)サーバーを利用してクライアント(client)のイメージを分類するクラシファイア(classifier)を連続学習する方法において、(a)クライアントに位置する第1クラシファイアが獲得イメージそれぞれに対応する第1クラシフィケーション情報を出力し、前記獲得イメージに対応する前記第1クラシフィケーション情報によって前記第1クラシファイアが分類することができないものと判断された第1ハードイメージ(hard image)が前記クライアントから伝送されると、連続学習サーバーが、(i)前記第1ハードイメージそれぞれを敵対的オートエンコーダ(Adversarial Autoencoder;AAE)に入力し、前記敵対的オートエンコーダによって(i-1)前記敵対的オートエンコーダに含まれたエンコーダ(encoder)を通じて前記第1ハードイメージそれぞれをエンコーディングして潜在ベクトル(latent vector)それぞれを出力させ、(i-2)前記敵対的オートエンコーダに含まれたデコーダ(decoder)を通じて前記潜在ベクトルそれぞれをデコーディングして前記第1ハードイメージそれぞれに対応する再構成イメージ(reconstructed image)それぞれを出力させ、(i-3)前記敵対的オートエンコーダに含まれた判別器(discriminator)を通じて前記再構成イメージそれぞれが本物か偽物かに対する属性情報(attribute information)を出力させ、(i-4)前記敵対的オートエンコーダに含まれた第2クラシファイアを通じて前記潜在ベクトルそれぞれに対する第2クラシフィケーション情報を出力させるプロセス、及び(ii)前記属性情報と前記第2クラシフィケーション情報とを参照して前記再構成イメージが前記敵対的オートエンコーダの判別しがたい第2ハードイメージであるかを判別し、(ii-1)前記再構成イメージの中で前記第2ハードイメージとして判断された第1再構成イメージを第1学習データセットとして格納し、(ii-2)前記デコーダを通じて前記再構成イメージの中で前記第2ハードイメージではないと判断された第2再構成イメージそれぞれに対応する前記潜在ベクトルをランダムに調整することで、オーグメンティドイメージ(augmented image)を生成して第2学習データセットとして格納するプロセスを遂行するか、または遂行するように支援する段階と、(b)前記連続学習サーバーが、前記第1学習データセットと前記第2学習データセットとを利用して前記連続学習サーバーに位置して前記第1クラシファイアに対応する第3クラシファイアを連続学習させるプロセスを遂行するか、または遂行するように支援する段階と、(c)前記連続学習サーバーが、学習された前記第3クラシファイアの一つ以上のアップデートされたパラメーターを前記クライアントに伝送して前記クライアントによって前記アップデートされたパラメーターを利用して前記第1クラシファイアをアップデートさせるプロセスを遂行するか、または遂行するように支援する段階と、を含む方法が提供される。
前記(c)の段階以前に、前記連続学習サーバーは、前記第1学習データセットに含まれた(i)第1既存ラベル付きのイメージが含まれた第1既存ラベル付きの学習データ(first existing labeled training data)と(ii)前記第1再構成イメージそれぞれをラベリングした第1ニューラベル付きの学習データ(first newly labeled training data)とを利用して前記敵対的オートエンコーダを連続学習させるプロセスを遂行するか、または遂行するように支援することを特徴とする。
前記連続学習サーバーは、前記敵対的オートエンコーダに対する前記連続学習を行い、前記敵対的オートエンコーダを構成する前記エンコーダ及び前記デコーダを含むオートエンコーダ(autoencoder)と前記判別器とを交差して学習させるプロセスを遂行するか、または遂行するように支援し、前記連続学習サーバーは、前記オートエンコーダ及び前記判別器それぞれに対して(i)前記第1既存ラベル付きの学習データを利用して以前学習された既存オートエンコーダモデルや前記第1既存ラベル付きの学習データを利用して以前学習された既存判別器モデルを利用して前記第1既存ラベル付きの学習データに対する平均ロスである第1ベースロス(first base loss)を獲得し、(ii)前記連続学習を行うイテレーション(iteration)ごとに前記第1既存ラベル付きの学習データ及び前記第1ニューラベル付きの学習データそれぞれから特定の割合で一部のデータを選択して第1ミニバッチ(first minibatch)をサンプリングした後、(iii)前記第1ミニバッチを前記既存オートエンコーダモデルや前記既存判別器モデルに入力し、前記既存オートエンコーダモデルや前記既存判別器モデルによって、前記第1既存ラベル付きの学習データに対応する原本正解(ground truth)を参照して前記第1既存ラベル付きの学習データに対応する第1既存ロス(first existing loss)を生成し、前記第1ニューラベル付きの学習データに対応する原本正解を参照して前記第1ニューラベル付きの学習データに対応する第1ニューロス(first new loss)を生成させるようにし、(iv)(iv-1)前記第1ニューロスに対しては前記連続学習を行う毎イテレーションごとにバックプロパゲーション(back-propagation)を通じて学習を行い、(iv-2)前記第1既存ロスに対しては前記第1既存ロスが前記第1ベースロスより大きい一部のイテレーションに対してのみバックプロパゲーションを通じて学習を行わせるプロセスを遂行するか、または遂行するように支援することを特徴とする。
前記(a)の段階において、前記連続学習サーバーは、(i)前記判別器を通じて前記オーグメンティドイメージが本物と判別され、前記オーグメンティドイメージに対して生成された第2_1クラシフィケーション情報が前記オーグメンティドイメージに対応する前記第2再構成イメージに対して生成された第2_2クラシフィケーション情報と同一である場合、前記オーグメンティドイメージを第2学習データセットとして格納するプロセス、及び(ii)前記判別器を通じて前記オーグメンティドイメージが偽物と判別されたか、前記オーグメンティドイメージに対して生成された前記第2_1クラシフィケーション情報が前記オーグメンティドイメージに対応する前記第2再構成イメージに対して生成された前記第2_2クラシフィケーション情報と同一でない場合、前記オーグメンティドイメージを第2学習データセットとして格納しないプロセスを遂行するか、または遂行するように支援することを特徴とする。
前記(a)の段階において、前記連続学習サーバーは、(i)前記判別器を通じて前記再構成イメージが偽物と判別されたか、前記第2クラシファイアを通じて前記再構成イメージに対して生成された前記第2クラシフィケーション情報のクラス別確率分布の偏差が前記第2クラシファイアによって既設定された第1臨界値より小さいと判別される場合、前記再構成イメージを前記第2ハードイメージであると判断するプロセス及び、(ii)前記判別器を通じて前記再構成イメージが本物と判別され、前記第2クラシファイアを通じて前記再構成イメージに対して生成された前記第2クラシフィケーション情報の前記クラス別確率分布の前記偏差が前記第2クラシファイアによって既設定された第2臨界値より大きいと判別される場合、前記再構成イメージを前記第2ハードイメージではないと判断するプロセスを遂行するか、または遂行するように支援することを特徴とする。
前記(a)の段階において、前記連続学習サーバーは、(i)前記第1クラシファイアを通じて前記獲得イメージに対して生成された前記第1クラシフィケーション情報のクラス別確率分布の偏差が前記第1クラシファイアによって既設定された第1臨界値より小さいと判別される場合、前記獲得イメージを前記第1ハードイメージとして判断するプロセス及び、(ii)前記第1クラシファイアを通じて前記獲得イメージに対して生成された前記第1クラシフィケーション情報の前記クラス別確率分布の前記偏差が前記第1クラシファイアによって既設定された第2臨界値より大きいと判別される場合、前記獲得イメージを前記第1ハードイメージではないと判断するプロセスを遂行するか、または遂行するように支援することを特徴とする。
前記連続学習サーバーは、前記エンコーダによって前記第1ハードイメージそれぞれに対して少なくとも一回のコンボリューション(convolution)演算と少なくとも一回のプーリング(pooling)演算とを適用させたダウン-サンプリング(down-sampling)を通じて前記第1ハードイメージそれぞれに対応するフィーチャー(feature)値を示す前記潜在ベクトルを生成させるプロセスを遂行するか、または遂行するように支援することを特徴とする。
前記連続学習サーバーは、前記デコーダによって前記潜在ベクトルそれぞれに対して少なくとも一回のデコンボリューション(deconvolution)演算と少なくとも一回のアンプーリング(un-pooling)演算とを適用させたアップ-サンプリング(up-sampling)を通じて前記第1ハードイメージそれぞれに対応する前記再構成イメージを生成させるようにプロセスを遂行するか、または遂行するように支援することを特徴とする。
前記(b)の段階において、前記連続学習サーバーは、前記第3クラシファイアに対して連続学習を行う方法において、(i)第2既存ラベル付きのイメージが含まれた第2既存ラベル付きの学習データ(second existing labeled training data)を利用して学習された既存第3クラシファイアモデルを利用して前記第2既存ラベル付きの学習データに対する平均ロスである第2ベースロス(second base loss)を獲得し、(ii)前記連続学習を行うイテレーションごとに前記第2既存ラベル付きの学習データ及び前記第1学習データセットに含まれた前記第1再構成イメージと前記第2学習データセットに含まれた前記オーグメンティドイメージとをラベリングして生成した第2ニューラベル付きの学習データ(second newly labeled training data)(前記第2ニューラベル付きの学習データはものである)それぞれから特定の割合で一部のデータを選択して第2ミニバッチ(second minibatch)をサンプリングした後、(iii)前記第2ミニバッチを前記既存第3クラシファイアモデルに入力して、前記既存第3クラシファイアモデルによって、前記第2既存ラベル付きの学習データに対応する原本正解(ground truth)を参照して前記第2既存ラベル付きの学習データに対応する第2既存ロス(second existing loss)を生成させ、前記第2ニューラベル付きの学習データに対応する原本正解を参照して前記第2ニューラベル付きの学習データに対応する第2ニューロス(second new loss)を生成させるようにし、(iv)(iv-1)前記第2ニューロスに対しては前記連続学習を行うイテレーションごとにバックプロパゲーション(back-propagation)を通じて学習を行い、(iv-2)前記第2既存ロスに対しては前記第2既存ロスが前記第2ベースロスより大きい一部のイテレーションに対してのみバックプロパゲーションを通じて学習を行わせるプロセスを遂行するか、または遂行するように支援することを特徴とする。
前記連続学習サーバーは、一つ以上のアップデートされたパラメーター、アップデートされたニューラルネットワークレイヤー(neural network layer)及びアップデートされたクラスに対するアップデート情報のみを前記クライアントの前記第1クラシファイアに伝送し、前記クライアントによって伝送された前記アップデートされたパラメーター、前記アップデートされたニューラルネットワークレイヤー及び前記アップデートされたクラスに対する前記アップデート情報のみを利用して前記第1クラシファイアをアップデートさせるプロセスを遂行するか、または遂行するように支援することを特徴とする。
前記連続学習サーバーは、前記クライアントによって、(i)前記第1クラシファイアを構成するニューラルネットワークレイヤーの少なくとも一部を前記アップデートされたパラメーターに対する前記アップデート情報を参照して選択的にアップデートさせるプロセス、(ii)前記アップデートされたニューラルネットワークレイヤーに対する前記アップデート情報を参照して少なくとも一つの新しいニューラルネットワークレイヤーを追加するプロセス、及び(iii)前記アップデートされたクラスに対する前記アップデート情報を参照して少なくとも一つのクラスを追加するプロセスの中で少なくともいずれか一つを通じて前記第1クラシファイアをアップデートさせるプロセスを遂行するか、または遂行するように支援することを特徴とする。
また、本発明の他の実施例によると、連続学習(continual learning)サーバーを利用してクライアント(client)のイメージを分類するクラシファイア(classifier)を連続学習させる連続学習サーバーにおいて、インストラクションを格納する少なくとも一つのメモリと、前記インストラクションを実行するために構成された少なくとも一つのプロセッサと、を含み、前記プロセッサは、(I)クライアントに位置する第1クラシファイアが獲得イメージそれぞれに対応する第1クラシフィケーション情報を出力し、前記獲得イメージに対応する前記第1クラシフィケーション情報によって前記第1クラシファイアが分類することができないものと判断された第1ハードイメージ(hard image)が前記クライアントから伝送されると、(i)前記第1ハードイメージそれぞれを敵対的オートエンコーダ(Adversarial Autoencoder;AAE)に入力し、前記敵対的オートエンコーダによって(i-1)前記敵対的オートエンコーダに含まれたエンコーダ(encoder)を通じて前記第1ハードイメージそれぞれをエンコーディングして潜在ベクトル(latent vector)それぞれを出力させ、(i-2)前記敵対的オートエンコーダに含まれたデコーダ(decoder)を通じて前記潜在ベクトルそれぞれをデコーディングして前記第1ハードイメージそれぞれに対応する再構成イメージ(reconstructed image)それぞれを出力させ、(i-3)前記敵対的オートエンコーダに含まれた判別器(discriminator)を通じて前記再構成イメージそれぞれが本物か偽物かに対する属性情報(attribute information)を出力させ、(i-4)前記敵対的オートエンコーダに含まれた第2クラシファイアを通じて前記潜在ベクトルそれぞれに対する第2クラシフィケーション情報を出力させるプロセス、及び(ii)前記属性情報と前記第2クラシフィケーション情報とを参照して前記再構成イメージが前記敵対的オートエンコーダの判別しがたい第2ハードイメージであるかを判別し、(ii-1)前記再構成イメージの中で前記第2ハードイメージとして判断された第1再構成イメージを第1学習データセットとして格納し、(ii-2)前記デコーダを通じて前記再構成イメージの中で前記第2ハードイメージではないと判断された第2再構成イメージそれぞれに対応する前記潜在ベクトルをランダムに調整することでオーグメンティドイメージ(augmented image)を生成して第2学習データセットとして格納するプロセスを遂行するか、または遂行するように支援するステップと、(II)前記第1学習データセットと前記第2学習データセットとを利用して前記プロセッサに位置して前記第1クラシファイアに対応する第3クラシファイアを連続学習させるプロセスを遂行するか、または遂行するように支援するステップと、(III)学習された前記第3クラシファイアの一つ以上のアップデートされたパラメーターを前記クライアントに伝送して前記クライアントによって前記アップデートされたパラメーターを利用して前記第1クラシファイアをアップデートさせるプロセスを遂行するか、または遂行するように支援するステップと、を遂行する連続学習サーバーが提供される。
前記(III)のステップ以前に、前記プロセッサは、前記第1学習データセットに含まれた(i)第1既存ラベル付きのイメージが含まれた第1既存ラベル付きの学習データ(first existing labeled training data)と(ii)前記第1再構成イメージそれぞれをラベリングした第1ニューラベル付きの学習データ(first newly labeled training data)とを利用して前記敵対的オートエンコーダを連続学習させるプロセスを遂行するか、または遂行するように支援することを特徴とする。
前記プロセッサは、前記敵対的オートエンコーダに対する前記連続学習を行い、前記敵対的オートエンコーダを構成する前記エンコーダ及び前記デコーダを含むオートエンコーダ(autoencoder)と前記判別器とを交差して学習させるプロセスを遂行するか、または遂行するように支援し、前記プロセッサは、前記オートエンコーダ及び前記判別器それぞれに対して(i)前記第1既存ラベル付きの学習データに以前学習された既存オートエンコーダモデルや前記第1既存ラベル付きの学習データに以前学習された既存判別器モデルを利用して前記第1既存ラベル付きの学習データに対する平均ロスである第1ベースロス(first base loss)を獲得し、(ii)前記連続学習を行うイテレーション(iteration)ごとに前記第1既存ラベル付きの学習データ及び前記第1ニューラベル付きの学習データそれぞれから特定の割合で一部のデータを選択して第1ミニバッチ(first minibatch)をサンプリングした後、(iii)前記第1ミニバッチを前記既存オートエンコーダモデルや前記既存判別器モデルに入力し、前記既存オートエンコーダモデルや前記既存判別器モデルによって、前記第1既存ラベル付きの学習データに対応する原本正解(ground truth)を参照して前記第1既存ラベル付きの学習データに対応する第1既存ロス(first existing loss)を生成させ、前記第1ニューラベル付きの学習データに対応する原本正解を参照して前記第1ニューラベル付きの学習データに対応する第1ニューロス(first new loss)を生成させるようにし、(iv)(iv-1)前記第1ニューロスに対しては前記連続学習を行う毎イテレーションごとにバックプロパゲーション(back-propagation)を通じて学習を行い、(iv-2)前記第1既存ロスに対しては前記第1既存ロスが前記第1ベースロスより大きい一部のイテレーションに対してのみバックプロパゲーションを通じて学習を行わせるプロセスを遂行するか、または遂行するように支援することを特徴とする。
前記(I)のステップにおいて、前記プロセッサは、(i)前記判別器を通じて前記オーグメンティドイメージが本物と判別され、前記オーグメンティドイメージに対して生成された第2_1クラシフィケーション情報が前記オーグメンティドイメージに対応する前記第2再構成イメージに対して生成された第2_2クラシフィケーション情報と同一である場合、前記オーグメンティドイメージを第2学習データセットとして格納するプロセス、及び(ii)前記判別器を通じて前記オーグメンティドイメージが偽物と判別されたか、前記オーグメンティドイメージに対して生成された前記第2_1クラシフィケーション情報が前記オーグメンティドイメージに対応する前記第2再構成イメージに対して生成された前記第2_2クラシフィケーション情報と同一でない場合、前記オーグメンティドイメージを第2学習データセットとして格納しないプロセスを遂行するか、または遂行するように支援することを特徴とする。
前記(I)のステップにおいて、前記プロセッサは、(i)前記判別器を通じて前記再構成イメージが偽物と判別されたか、前記第2クラシファイアを通じて前記再構成イメージに対して生成された前記第2クラシフィケーション情報のクラス別確率分布の偏差が前記第2クラシファイアによって既設定された第1臨界値より小さいと判別される場合、前記再構成イメージを前記第2ハードイメージであると判断するプロセス及び、(ii)前記判別器を通じて前記再構成イメージが本物と判別され、前記第2クラシファイアを通じて前記再構成イメージに対して生成された前記第2クラシフィケーション情報の前記クラス別確率分布の前記偏差が前記第2クラシファイアによって既設定された第2臨界値より大きいと判別される場合、前記再構成イメージを前記第2ハードイメージではないと判断するプロセスを遂行するか、または遂行するように支援することを特徴とする。
前記(I)のステップにおいて、前記プロセッサは、(i)前記第1クラシファイアを通じて前記獲得イメージに対して生成された前記第1クラシフィケーション情報のクラス別確率分布の偏差が前記第1クラシファイアによって既設定された第1臨界値より小さいと判別される場合、前記獲得イメージを前記第1ハードイメージとして判断するプロセス及び、(ii)前記第1クラシファイアを通じて前記獲得イメージに対して生成された前記第1クラシフィケーション情報の前記クラス別確率分布の前記偏差が前記第1クラシファイアによって既設定された第2臨界値より大きいと判別される場合、前記獲得イメージを前記第1ハードイメージではないと判断するプロセスを遂行するか、または遂行するように支援することを特徴とする。
前記プロセッサは、前記エンコーダによって、前記第1ハードイメージそれぞれに対して少なくとも一回のコンボリューション(convolution)演算と少なくとも一回のプーリング(pooling)演算とを適用させたダウン-サンプリング(down-sampling)を通じて前記第1ハードイメージそれぞれに対応するフィーチャー(feature)値を示す前記潜在ベクトルを生成させるプロセスを遂行するか、または遂行するように支援することを特徴とする。
前記プロセッサは、前記デコーダによって、前記潜在ベクトルそれぞれに対して少なくとも一回のデコンボリューション(deconvolution)演算と少なくとも一回のアンプーリング(un-pooling)演算とを適用させたアップ-サンプリング(up-sampling)を通じて前記第1ハードイメージそれぞれに対応する前記再構成イメージを生成させるようにプロセスを遂行するか、または遂行するように支援することを特徴とする。
前記(II)のステップにおいて、前記プロセッサは、前記第3クラシファイアに対して連続学習を遂行する方法において、(i)第2既存ラベル付きのイメージが含まれた第2既存ラベル付きの学習データ(second existing labeled training data)を利用して学習された既存第3クラシファイアモデルを利用して前記第2既存ラベル付きの学習データに対する平均ロスである第2ベースロス(second base loss)を獲得し、(ii)前記連続学習を行うイテレーションごとに前記第2既存ラベル付きの学習データ及び前記第1学習データセットに含まれた前記第1再構成イメージと前記第2学習データセットに含まれた前記オーグメンティドイメージとをラベリングして生成した第2ニューラベル付きの学習データ(second newly labeled training data)それぞれから特定の割合で一部のデータを選択して第2ミニバッチ(second minibatch)をサンプリングした後、(iii)前記第2ミニバッチを前記既存第3クラシファイアモデルに入力し、前記既存第3クラシファイアモデルによって、前記第2既存ラベル付きの学習データに対応する原本正解(ground truth)を参照して前記第2既存ラベル付きの学習データに対応する第2既存ロス(second existing loss)を生成させ、前記第2ニューラベル付きの学習データに対応する原本正解を参照して前記第2ニューラベル付きの学習データに対応する第2ニューロス(second new loss)を生成させるようにし、(iv)(iv-1)前記第2ニューロスに対しては、前記連続学習を行うイテレーションごとにバックプロパゲーション(back-propagation)を通じて学習を行わせ、(iv-2)前記第2既存ロスに対しては前記第2既存ロスが前記第2ベースロスより大きい一部のイテレーションに対してのみバックプロパゲーションを通じて学習を行わせるプロセスを遂行するか、または遂行するように支援することを特徴とする。
前記プロセッサは、一つ以上のアップデートされたパラメーター、アップデートされたニューラルネットワークレイヤー(neural network layer)及びアップデートされたクラスに対するアップデート情報のみを前記クライアントの前記第1クラシファイアに伝送し、前記クライアントによって伝送された前記アップデートされたパラメーター、前記アップデートされたニューラルネットワークレイヤー及び前記アップデートされたクラスに対する前記アップデート情報のみを利用して前記第1クラシファイアをアップデートさせるプロセスを遂行するか、または遂行するように支援することを特徴とする。
前記プロセッサは、前記クライアントによって、(i)前記第1クラシファイアを構成するニューラルネットワークレイヤーの少なくとも一部を前記アップデートされたパラメーターに対する前記アップデート情報を参照して選択的にアップデートさせるプロセス、(ii)前記アップデートされたニューラルネットワークレイヤーに対する前記アップデート情報を参照して少なくとも一つの新しいニューラルネットワークレイヤーを追加するプロセス、及び(iii)前記アップデートされたクラスに対する前記アップデート情報を参照して少なくとも一つのクラスを追加するプロセスの中で少なくともいずれか一つを通じて前記第1クラシファイアをアップデートさせるプロセスを遂行するか、または遂行するように支援することを特徴とする。
この他にも、本発明の方法を行うためのコンピュータプログラムを記録するためのコンピュータ読み取り可能な記録媒体がさらに提供される。
本発明は、連続学習サーバー(continual learning server)の敵対的オートエンコーダ(Adversarial Autoencoder;AAE)を通じて生成された学習データを利用してクライアント(client)のクラシファイア(classifier)に対応する連続学習サーバーのクラシファイアを学習させ、アップデートされたパラメーター(parameter)情報のみを利用してクライアントのクラシファイアをアップデートすることができる効果がある。
また、本発明は、連続学習サーバーで学習されたクラシファイアのパラメーターを利用してクライアントのクラシファイアをアップデートする時、一部レイヤー(layer)のパラメーターのみをアップデートしたり、レイヤーを少し拡張または追加する連続学習技法を利用して従来方法に比べて少ない演算量でも効率的にクラシファイアに対する学習を遂行させる効果がある。
本発明の実施例の説明に利用されるために添付された以下の図面は、本発明の実施例のうち単に一部であるに過ぎず、本発明の属する技術分野において通常の知識を有する者(以下「通常の技術者」)にとっては、発明的作業が行われずにこれらの図面に基づいて他の各図面が得られる。
図1は、本発明の一実施例によってイメージを分類するクライアント(client)のクラシファイア(classifier)をアップデートする連続学習(continual learning)サーバーを簡略に示したものである。
図2は、本発明の一実施例によって連続学習サーバーを利用してクライアントのクラシファイアをアップデートする方法を簡略に示したものである。
図3は、本発明の一実施例によって敵対的オートエンコーダ(Adversarial Autoencoder)の連続学習を遂行する方法を簡略に示したものである。
図4は、本発明の一実施例によってクライアントのクラシファイアに対応する連続学習サーバーのクラシファイアに対する連続学習を遂行する方法を簡略に示したものである。
図5は、本発明の実施例によって連続学習サーバーのクラシファイアから伝送されたアップデート情報を利用してクライアントのクラシファイアをアップデートする方法を簡略に示したものである。
後述する本発明に関する詳細な説明は、本発明の各目的、各技術的解法、及び各長所を明らかにするために本発明が実施され得る特定の実施例を例示として示す添付図面を参照する。これらの実施例は、当業者が本発明を実施することができるように十分詳細に説明される。さらに、本発明は、本明細書に示された実施例のすべての可能な組み合わせを網羅する。本発明の多様な実施例は互いに異なるが、相互に排他的である必要はないことが理解されるべきである。例えば、ここに記載されている特定の形状、構造及び特性は、一実施例に関連して本発明の精神及び範囲を逸脱せず、かつ他の実施例で具現され得る。また、それぞれの開示された実施例内の個別の構成要素の位置又は配置は、本発明の精神及び範囲を逸脱せず、かつ変更され得ることが理解されるべきである。したがって、後述の詳細な説明は、限定的な意味として受け取られるべきものではなく、本発明の範囲は適切に説明されるのであれば、その請求項が主張することと均等な全ての範囲とともに添付された請求項によってのみ限定される。図面において類似の参照符号は、様々な態様にわたって同一であるか、又は類似の機能を指す。
本発明で言及している各種イメージは、舗装または非舗装道路関連のイメージを含むことができ、この場合、道路環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではなく、本発明で言及している各種イメージは、道路と関係のないイメージ(例えば、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内と関連したイメージ)でもあり得、この場合、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではない。ここに提供された本開示の題目及び発明の概要は単に便宜のためのものであり、実施例の範囲または意味を制限しない。
また、本発明の詳細な説明及び各請求項にわたって、「含む」という単語及びそれらの変形は、他の技術的各特徴若しくは各付加物、構成要素又は段階を除外することを意図したものではない。通常の技術者にとって本発明の他の各目的、長所及び各特性が、一部は本明細書から、また一部は本発明の実施から明らかになるであろう。以下の例示及び図面は実例として提供され、本発明を限定することを意図したものではない。
ここに提供された本開示の題目及び発明の概要は単に便宜のためのものであり、実施例の範囲または意味を制限しない。以下、本発明の属する技術分野において通常の知識を有する者が本発明を容易に実施し得るようにするために、本発明の好ましい実施例について、添付された図面を参照して詳細に説明することにする。
図1は、本発明の一実施例によってイメージを分類するクライアント(client)のクラシファイア(classifier)をアップデートする連続学習(continual learning)サーバー2000を簡略に示したものである。
図1を参照すれば、連続学習サーバー2000は、クライアントのイメージを分類するクラシファイアをアップデートするためのインストラクションを格納するメモリ2001とメモリ2001に格納されたインストラクションに対応してクライアントのイメージを分類するクラシファイアとをアップデートするための動作を遂行するプロセッサ2002を含むことができる。
具体的に、連続学習サーバー2000は、典型的にコンピューティング装置(例えば、コンピュータプロセッサ、メモリ、ストレージ、入力装置及び出力装置、その他既存コンピューティング装置の構成要素を含むことができる装置;ルーター、スイッチなどのような電子通信装置;ネットワーク付きストレージ(NAS)及びストレージ領域ネットワーク(SAN)のような電子情報ストレージシステム)とコンピュータソフトウェア(すなわち、コンピューティング装置によって特定方式で機能させるインストラクション)との組み合わせを利用して所望のシステム性能を達成するものであってもよい。
また、コンピューティング装置のプロセッサは、MPU(Micro Processing Unit)またはCPU(Central Processing Unit)、キャッシュメモリ(Cache Memory)、データバス(Data Bus)などのハードウェア構成を含むことができる。また、コンピューティング装置は、オペレーティングシステム、特定目的を遂行するアプリケーションのソフトウェア構成をさらに含むこともできる。
しかし、コンピューティング装置が本発明を実施するためのミディアム、プロセッサ及びメモリが統合された形態の統合プロセッサを含む場合を排除するものではない。
一方、本発明の一実施例として、連続学習サーバー2000は、それぞれのクライアントから伝送されるハードイメージ(hard image)によってクライアントに位置したクラシファイアに対応する連続学習サーバー2000に位置したクラシファイアを連続学習した後、アップデート情報をそれぞれのクライアントに伝送し、それぞれのクライアントに位置したクラシファイアをアップデートさせることができる。ここで、それぞれのクライアントのそれぞれのクラシファイアによって識別が難しいと判断されたそれぞれの獲得イメージをそれぞれのハードイメージによって決めることができる。
さらに、本発明の他の実施例として、多数のクライアントに位置した多数のクラシファイアに連続学習サーバー2000に位置した単一のクラシファイアによって対応することができる。このような場合、連続学習サーバー2000に位置した単一の対応するクラシファイアが多数のクライアントの多数のクラシファイアから伝送されたハードイメージより生成された学習データを利用して学習し、単一の対応するクラシファイアが多数のクライアントに位置した多数のクラシファイアに同時にアップデート情報を伝送することができるが、本発明がこれに限定されるものではない。
以下の図2ないし図5では、説明の便宜のために単一のクライアントの単一のクラシファイアと、これに対応する連続学習サーバー2000の単一のクラシファイアとで本発明を説明するが、クライアント内のクラシファイアまたは連続学習サーバー2000内のクラシファイアは本発明の他の実施例によって多数のクラシファイアで構成されることもできる。
このように構成された連続学習サーバー2000を利用して、本発明の実施例による連続学習サーバー2000を利用してクライアント1000のイメージを分類する第1クラシファイア1100をアップデートする方法を図2ないし図5を参照して説明すると、次のとおりである。
ここで、本発明の他の説明では、説明の便宜のために「獲得イメージ」を「イメージ」と表記することがある。
先ず、図2を参照すれば、クライアント1000はイメージに対する第1クラシファイア1100での第1クラシフィケーション情報(first classification information)によって動作し、イメージの第1クラシフィケーション情報によってイメージが第1ハードイメージ(first hard image)であるか否かを判断することができる。この時、クライアント1000はビデオ映像を獲得することができるし、この場合クライアント1000はビデオ映像でそれぞれのフレームに対応するイメージを獲得することができる。
この時、第1クラシフィケーション情報は第1クラシファイア1100がイメージを分類するように設定したそれぞれのクラス別確率(class-specific probabilities)であってもよく、クライアント1000は第1クラシフィケーション情報を参照して、獲得されたイメージが、第1クラシファイア1100が分類することができない第1ハードイメージであるか否かを判別することができる。
一例として、第1クラシフィケーション情報において、それぞれのクラスに対する確率が類似するため、クラス別確率分布の偏差が既設定された第1_1臨界値より低い場合、クライアント1000は該当イメージを、第1クラシファイア1100が学習することができなかったイメージであるか、または学習したが判別に失敗したイメージであり、第1クラシファイア1100が分類しにくいデータであるため、第1ハードイメージとして分類することができる。
一方、第1クラシフィケーション情報において、一つのクラスに対する確率が既設定された値より高くてクラス別確率分布の偏差が既設定された第1_2臨界値より高い場合、クライアント1000は該当イメージを、判別可能で、第1ハードイメージではないものとして分類することができる。ここで、既設定された第1_1臨界値と既設定された第1_2臨界値とは同一の値を設定することができるが、これに限定されるものではない。
以後、クライアント1000は第1ハードイメージとして判別されたイメージを連続学習サーバー2000に伝送することができる。この時、クライアント1000は第1ハードイメージをリアルタイムで連続学習サーバー2000に伝送することができるか、第1ハードイメージを内部の格納装置に格納した状態で一定条件、一例として、既設定された時間条件、既設定されたイメージのボリューム条件などが充たされると、格納された第1ハードイメージを連続学習サーバー2000に伝送することができる。
一方、クライアント1000はイメージを分類して第1ハードイメージを連続学習サーバー2000に伝送し、第1クラシファイア1100をアップデートするインストラクションを格納するメモリと、メモリに格納されたインストラクションに対応してイメージを分類して第1ハードイメージを連続学習サーバー2000に伝送し、第1クラシファイア1100をアップデートするための動作を遂行するプロセッサと、を含むことができる。
具体的に、クライアント1000は、典型的にコンピューティング装置(例えば、コンピュータプロセッサ、メモリ、ストレージ、入力装置及び出力装置、その他既存コンピューティング装置の構成要素を含むことができる装置;ルーター、スイッチなどのような電子通信装置;ネットワーク付きストレージ(NAS)及びストレージ領域ネットワーク(SAN)のような電子情報ストレージシステム)とコンピュータソフトウェア(すなわち、コンピューティング装置によって特定方式で機能させるインストラクション)との組み合わせを利用して所望のシステム性能を達成するものであってもよい。
また、コンピューティング装置のプロセッサは、MPU(Micro Processing Unit)またはCPU(Central Processing Unit)、キャッシュメモリ(Cache Memory)、データバス(Data Bus)などのハードウェア構成を含むことができる。また、コンピューティング装置は、オペレーティングシステム、特定目的を遂行するアプリケーションのソフトウェア構成をさらに含むこともできる。
しかし、コンピューティング装置が本発明を実施するためのミディアム、プロセッサ及びメモリが統合された形態の統合プロセッサを含む場合を排除するものではない。
また、クライアント1000は、自律走行自動車であってもよく、第1クラシファイア1100を通じて自動車の走行中に獲得される走行イメージからオブジェクト、車線などを検出させることができる。しかし、クライアント1000が自律走行自動車に限定されるものではなく、スマートフォン、製造工程ロボットなどのようにイメージに対するクラシフィケーションを通じてオブジェクトを認識し、認識されたオブジェクト情報にしたがう動作を遂行するコンピューティング装置を含むことができる。
次に、クライアント1000から第1ハードイメージが伝送されると、連続学習サーバー2000は、第1ハードイメージのそれぞれを敵対的オートエンコーダ(Adversarial Autoencoder、2100)に入力し、敵対的オートエンコーダ2100によって第1ハードイメージに対する追加分類作業を遂行させることができる。
この時、敵対的オートエンコーダ2100は敵対的オートエンコーダ2100に含まれたエンコーダ(encoder、2110)を通じて第1ハードイメージそれぞれをエンコーディングして潜在ベクトル(latent vector)を出力させ、敵対的オートエンコーダ2100に含まれたデコーダ(decoder、2120)を通じて潜在ベクトルそれぞれをデコーディングして第1ハードイメージそれぞれに対応する再構成イメージ(reconstructed image)を出力させることができる。
一例として、連続学習サーバー2000は、エンコーダ2110によって第1ハードイメージそれぞれに対して少なくとも一回のコンボリューション(convolution)演算と少なくとも一回のプーリング(pooling)演算とを適用させたダウン-サンプリング(down-sampling)を通じて第1ハードイメージそれぞれに対応するフィーチャー(feature)値を示す潜在ベクトルを生成させることができるが、本発明はこれに限定されるものではない。
また、連続学習サーバー2000はデコーダ2120によって入力された潜在ベクトルそれぞれに対して少なくとも一回のデコンボリューション(deconvolution)演算と少なくとも一回のアンプーリング(un-pooling)演算とを適用させたアップ-サンプリング(up-sampling)を通じて第1ハードイメージそれぞれに対応する再構成イメージを生成させることができるが、本発明はこれに限定されるものではない。
潜在ベクトルと再構成イメージとが獲得されると、連続学習サーバー2000は敵対的オートエンコーダ2100に含まれた判別器(discriminator、2130)を通じて再構成イメージがそれぞれ本物か偽物かに対する属性情報(attribute information)を出力させ、敵対的オートエンコーダに含まれた第2クラシファイア2140を通じて潜在ベクトルそれぞれに対する第2クラシフィケーション情報を出力させることができる。
以後、連続学習サーバー2000は敵対的オートエンコーダ2100から出力される判別器2130の属性情報と第2クラシファイア2140の第2クラシフィケーション情報とを参照して第1ハードイメージが敵対的オートエンコーダ2100にとっても分類が難しい第2ハードイメージであるか否かを確認することができる。
一例として、判別器2130を通じて偽物と判別されたか第2クラシファイア2140を通じて第2クラシフィケーション情報のクラス別確率分布の偏差が第2クラシファイア2140によって既設定された第2_1臨界値より小さいと判別された第1再構成イメージは、第2ハードイメージであり、第1学習データセットとして格納することができる。ここで、敵対的オートエンコーダ2100でも分類が大変な再構成イメージを第1再構成イメージと称し、第1学習データセットに第2ハードイメージとして格納することができる。また、第1ハードイメージは第1クラシフィケーション情報を参照してクライアント1000によって獲得されたイメージの中から選択される一方、第2ハードイメージは属性情報と第2クラシフィケーション情報とを参照して第1ハードイメージから生成された再構成イメージの中から選択される。
一方、判別器2130を通じて本物と判別されたか第2クラシファイア2140を通じて第2クラシフィケーション情報のクラス別確率分布の偏差が第2クラシファイアによって既設定された第2_2臨界値より大きいと判別された第2再構成イメージは、第2ハードイメージとして格納しないこともできる。ここで、敵対的オートエンコーダ2100で分類可能な再構成イメージを第2再構成イメージと称する。
したがって、このような場合、第2再構成イメージそれぞれに対応するエンコーダ2110の出力である潜在ベクトルをランダムに少しずつ調整して、デコーダ2120がランダムに調整された潜在ベクトルに対応するオーグメンティドイメージ(augmented image)を生成させることができる。ここで、既設定された第2_1臨界値と既設定された第2_2臨界値とは同一な値を設定することができるが、これに限定されるものではない。
データオーグメンテイション(data augmentation)のために潜在ベクトルをランダムに調整するにあたり、オーグメンティドイメージに基づいて生成されて調整された潜在ベクトルは、該オーグメンティドイメージが根拠とした第2再構成イメージに基づいて生成された既存の潜在ベクトルと全く違う第2クラシフィケーション情報を生成するほどに調整された潜在ベクトルが既存の潜在ベクトルを脱しないように潜在ベクトルの調整度合いを制御することができる。例えば、潜在ベクトルの各エレメント(element)を調整するとき、各エレメントの元の値との差が既設定された偏差限度内で発生するように潜在ベクトルを調整して潜在ベクトルの調整度合いを制御することができるが、本発明はこれに限定されるものではない。
これによって、連続学習サーバー2000は、判別器2130を通じてオーグメンティドイメージが本物と判別され、オーグメンティドイメージに対して生成された第2_1クラシフィケーション情報がオーグメンティドイメージに対応する第2再構成イメージに対して生成された第2_2クラシフィケーション情報と同一である場合、オーグメンティドイメージを第2学習データセットとして格納することができる。
一方、判別器2130を通じてオーグメンティドイメージが偽物と判別される場合であるか、オーグメンティドイメージに対して生成された第2_1クラシフィケーション情報がオーグメンティドイメージに対応する第2再構成イメージに対して生成された第2_2クラシフィケーション情報と同一でない場合、オーグメンティドイメージを第2学習データセットとして格納しないこともできる。
次に、連続学習サーバー2000は、敵対的オートエンコーダ(AAE、2100)の出力によって第2ハードイメージとして判断され、第1学習データセットに含まれた第1再構成イメージそれぞれが受動でラベリングされるようにし、第1ニューラベル付きの学習データ(first newly labeled training data)を生成することができる。これによって、連続学習サーバー2000は生成された第1ニューラベル付きの学習データと第1既存ラベル付きのイメージとが格納された第1既存ラベル付きの学習データ(first existing labeled training data)を利用して敵対的オートエンコーダ2100を連続学習させることができる。
具体的に、連続学習サーバー2000は、敵対的オートエンコーダ2100に対する連続学習を行い、敵対的オートエンコーダ2100を構成するオートエンコーダ(autoencoder)と判別器2130とを交差して連続学習させることができる。ここで、オートエンコーダはエンコーダ2110とデコーダ2120とを含み、敵対的オートエンコーダ2100はオートエンコーダと判別器2130とを含む。
図3は、本発明の一実施例によって敵対的オートエンコーダ(Adversarial Autoencoder)の連続学習を遂行する方法を簡略に示したものである。
図3を参照すれば、連続学習サーバー2000は、オートエンコーダ及び判別器それぞれに対して、先ず第1既存ラベル付きの学習データを利用して以前学習された既存オートエンコーダモデル(existing autoencoder model)または既存判別器モデル(existing discriminator model)を利用して第1既存ラベル付きの学習データに対する平均ロスである第1ベースロス(first base loss)を獲得し、連続学習を行うイテレーション(iteration)ごとに第1既存ラベル付きの学習データ及び第1ニューラベル付きの学習データそれぞれから特定の割合で第1ミニバッチ(first minibatch)をサンプリングさせることができる。
次いで、連続学習サーバー2000は、第1ミニバッチを既存オートエンコーダモデルや既存判別器モデルに入力して、既存オートエンコーダモデルや既存判別器モデルによって、第1既存ラベル付きの学習データに対応する原本正解(ground truth)を参照して第1既存ラベル付きの学習データに対応する第1既存ロス(first existing loss)を生成させ、第1ニューラベル付きの学習データに対応する原本正解を参照して第1ニューラベル付きの学習データに対応する第1ニューロス(first new loss)を生成させることができる。
その後、連続学習サーバー2000は、(i)第1ニューロスに対しては連続学習を行うイテレーションごとにバックプロパゲーション(back-propagation)を通じて学習を行い、(ii)第1既存ロスに対しては第1既存ロスが第1ベースロスより大きい一部のイテレーションに対してのみバックプロパゲーションを通じて学習を行ってオートエンコーダや判別器2130の学習を完了することができる。
すなわち、敵対的オートエンコーダ2100で確認された第2ハードイメージに対してラベラーが分析及び分類を行った後、上記のように説明した連続学習技法を利用して敵対的オートエンコーダ2100を構成する一部のニューラルネットワークレイヤー(neural network layer)のみを選択的に学習させ、選択されたニューラルネットワークレイヤーのパラメーターのみをアップデートさせたり、新しいニューラルネットワークレイヤーを一部追加したり、クラス(class)を追加するなどの方法で敵対的オートエンコーダ2100の性能を向上させることができる。
次に、再度図2を参照すれば、連続学習サーバー2000は、敵対的オートエンコーダ2100によって分類された第1学習データセットと第2学習データセットとを利用して連続学習サーバー2000に位置する第3クラシファイア2200を連続学習させることができる。この時、第3クラシファイア2200は、クライアント1000に位置する第1クラシファイア1100に対応することができる。
ここで、敵対的オートエンコーダ2100を通過して第2学習データセットとして格納されたオーグメンティドイメージは、第1クラシファイア1100が分類しにくいイメージに対してオーグメンテイション(augmentation)を経た結果であり、第1学習データセットとして格納された第2ハードイメージは敵対的オートエンコーダ2100さえ分類しにくいと判断されたイメージをラベラーがさらに分類した結果である。したがって、オーグメンティドイメージと第2ハードイメージとを利用して第3クラシファイア2200を連続学習してクライアント1000の第1クラシファイア1100をアップデートすることができる。
参照として、本発明における敵対的オートエンコーダ2100は、連続学習サーバー2000に位置して大きさに制約を受けないので、第1クラシファイア1100より高い性能を持って第1クラシファイアで分類しにくいものとして分類された第1ハードイメージに対して追加分類作業を行えるようにすることができる。これと同様、第3クラシファイア2200もまた第1クラシファイア1100と同一であるか、または高い性能を持つことができ、クライアント1000の大きさ、重さなどの物理的な制約によって、連続学習の結果としてアップデートされたパラメーター、クラス、レイヤーに対するアップデート情報の中で少なくとも一部のみを第1クラシファイア1100に伝送することができる。
図4は、本発明の一実施例によってクライアントのクラシファイアに対応する連続学習サーバーのクラシファイアに対する連続学習を遂行する方法を簡略に示したものである。
図4を参照すれば、連続学習サーバー2000は、第3クラシファイア2200に対して連続学習を遂行させる方法において、第2既存ラベル付きの学習データ(second existing labeled training data)を利用して以前学習された既存第3クラシファイアモデル(existing third classifier model)を利用して第2既存ラベル付きの学習データに対する平均ロスである第2ベースロス(second base loss)を獲得し、連続学習を行うイテレーションごとに第2既存ラベル付きの学習データ及び第2ニューラベル付きの学習データ(second newly labeled training data)それぞれから特定の割合で一部のデータを選択して第2ミニバッチ(second minibatch)をサンプリングさせることができる。ここで、第2既存ラベル付きの学習データは第2既存ラベル付きのイメージを含むことができる一方、第2ニューラベル付きの学習データは第1学習データセットに含まれた第1再構成イメージと第2学習データセットに含まれたオーグメンティドイメージとをラベリングして生成することができる。
次いで、連続学習サーバー2000は、第2ミニバッチを既存第3クラシファイアモデルに入力し、既存第3クラシファイアモデルによって、第2既存ラベル付きの学習データに対応する原本正解(ground truth)を参照して第2既存ラベル付きの学習データに対応する第2既存ロス(second existing loss)を生成させ、第2ニューラベル付きの学習データに対応する原本正解を参照して第2ニューラベル付きの学習データに対応する第2ニューロス(second new loss)を生成させることができる。
次に、連続学習サーバー2000は、(i)第2ニューロスに対しては連続学習を行うイテレーションごとにバックプロパゲーション(back-propagation)を通じて学習を行い、(ii)第2既存ロスに対しては第2既存ロスが第2ベースロスより大きい一部のイテレーションに対してのみバックプロパゲーションを通じて学習を行って第3クラシファイア2200の連続学習を完了することができる。
すなわち、このような連続学習方法では、第2ニューラベル付きの学習データを第3クラシファイア2200の連続学習に常に反映し、第2既存ラベル付きの学習データに対しては一部のみを性能が落ちる場合に限り第3クラシファイア2200の連続学習に反映することで、第2既存ラベル付きの学習データに対しては既存第3クラシファイアモデルとほとんど同一の性能を持ち、第2ニューラベル付きの学習データに対しては既存第3クラシファイアモデルより優れる性能を持つようにニュー第3クラシファイアモデルを学習させることができる。ここで、第2既存ラベル付きの学習データは、ニュー第3クラシファイアモデルの性能を向上させることに貢献することができるので、これらを第3クラシファイア2200の連続学習に反映することができる。
次に、再度図2を参照すれば、連続学習サーバー2000は、連続学習が行われた第3クラシファイア2200でアップデートされた一つ以上のパラメーターをクライアント1000にOTA(over-the-air)などのような方法を利用して伝送し、クライアント1000によって連続学習サーバー2000から伝送されたアップデートされたパラメーターを利用してクライアント1000の第1クラシファイア1100をアップデートさせることができる。
すなわち、図5を参照すれば、連続学習サーバー2000は、第3クラシファイア2200で連続学習を通じてアップデートされた一つ以上のパラメーター、アップデートされたニューラルネットワークレイヤー及びアップデートされたクラスに対するアップデート情報のみをクライアントのクライアント1000に伝送すればよいため、より効率的なデータ伝送が可能であり、クライアント1000でも伝送されたアップデートされたパラメーター、アップデートされたニューラルネットワークレイヤー及びアップデートされたクラスに対する情報のみを利用して第1クラシファイア1100をアップデートすることで効率を高めることができる。
ここで、連続学習サーバー2000は、クライアント1000によって第1クラシファイア1100を構成するニューラルネットワークレイヤーの少なくとも一部をアップデートされたパラメーターに対するアップデート情報を参照して選択的にアップデートさせるプロセス、アップデートされたニューラルネットワークレイヤーに対するアップデート情報を参照して少なくとも一つの新しいニューラルネットワークレイヤーを追加するプロセス、及びアップデートされたクラスに対するアップデート情報を参照して少なくとも一つのクラスを追加するプロセスの中で少なくともいずれか一つを通じて第1クラシファイア1100をアップデートさせることができる。
このように、本発明では第1ハードイメージに対する分類、再構成及びオーグメンテイションプロセスを遂行する敵対的オートエンコーダ(AAE)の構造と方法論を提案していて、これを通じてクラシファイアを学習させ、アップデートされたデータのみを効率的に伝送する全体的なフレームワークを提案している。
以上、説明された本発明による実施例は、多様なコンピュータ構成要素を通じて遂行できるプログラム命令語の形態で具現され、コンピュータ読み取り可能な記録媒体に記録することができる。前記コンピュータ読み取り可能な記録媒体は、プログラム命令語、データファイル、データ構造などを単独でまたは組み合わせて含むことができる。前記コンピュータ読み取り可能な記録媒体に記録されるプログラム命令語は、本発明のために特別に設計されて構成されたものであるか、またはコンピュータソフトウェア分野の当業者に公知にされて使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例には、ハードディスク、フレキシブルディスク及び磁気テープのような磁気媒体、CD-ROM、DVDのような光記録媒体、フロプティカルディスク(floptical disk)のような磁気-光媒体(magneto-optical media)、及びROM、RAM、フラッシュメモリなどのようなプログラム命令語を格納して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるもののような機械語コードのみならず、インタープリターなどを使用してコンピュータによって実行されることができる高級言語コードも含まれる。前記ハードウェア装置は、本発明による処理を行うために一つ以上のソフトウェアモジュールとして作動するように構成されることができるし、その逆も同様である。
以上、本発明が具体的な構成要素などのような特定事項と、限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解を助けるために提供されたものに過ぎず、本発明が前記実施例に限定されるものではなく、本発明が属する技術分野における通常の知識を有する者であれば、このような記載から多様な修正及び変形を図ることができる。
したがって、本発明の思想は前記説明された実施例に限って決められてはならず、後述する特許請求の範囲だけでなく、本特許請求の範囲と均等または等価的に変形された全てのものは本発明の思想の範疇に属するものとする。
Claims (22)
- 連続学習(continual learning)サーバーを利用してクライアント(client)のイメージを分類するクラシファイア(classifier)を連続学習する方法において、
(a)クライアントに位置する第1クラシファイアが獲得イメージそれぞれに対応する第1クラシフィケーション情報を出力し、前記獲得イメージに対応する前記第1クラシフィケーション情報によって前記第1クラシファイアが分類することができないものと判断された第1ハードイメージ(hard image)が前記クライアントから伝送されると、連続学習サーバーが、(i)前記第1ハードイメージそれぞれを敵対的オートエンコーダ(Adversarial Autoencoder;AAE)に入力し、前記敵対的オートエンコーダによって(i-1)前記敵対的オートエンコーダに含まれたエンコーダ(encoder)を通じて前記第1ハードイメージそれぞれをエンコーディングして潜在ベクトル(latent vector)それぞれを出力させ、(i-2)前記敵対的オートエンコーダに含まれたデコーダ(decoder)を通じて前記潜在ベクトルそれぞれをデコーディングして前記第1ハードイメージそれぞれに対応する再構成イメージ(reconstructed image)それぞれを出力させ、(i-3)前記敵対的オートエンコーダに含まれた判別器(discriminator)を通じて前記再構成イメージそれぞれが本物か偽物かに対する属性情報(attribute information)を出力させ、(i-4)前記敵対的オートエンコーダに含まれた第2クラシファイアを通じて前記潜在ベクトルそれぞれに対する第2クラシフィケーション情報を出力させるプロセス、及び(ii)前記属性情報と前記第2クラシフィケーション情報とを参照して前記再構成イメージが前記敵対的オートエンコーダの判別しがたい第2ハードイメージであるかを判別し、(ii-1)前記再構成イメージの中で前記第2ハードイメージとして判断された第1再構成イメージを第1学習データセットとして格納し、(ii-2)前記デコーダを通じて前記再構成イメージの中で前記第2ハードイメージではないと判断された第2再構成イメージそれぞれに対応する前記潜在ベクトルをランダムに調整することで、オーグメンティドイメージ(augmented image)を生成して第2学習データセットとして格納するプロセスを遂行するか、または遂行するように支援する段階と、
(b)前記連続学習サーバーが、前記第1学習データセットと前記第2学習データセットとを利用して前記連続学習サーバーに位置して前記第1クラシファイアに対応する第3クラシファイアを連続学習させるプロセスを遂行するか、または遂行するように支援する段階と、
(c)前記連続学習サーバーが、学習された前記第3クラシファイアの一つ以上のアップデートされたパラメーターを前記クライアントに伝送して前記クライアントによって前記アップデートされたパラメーターを利用して前記第1クラシファイアをアップデートさせるプロセスを遂行するか、または遂行するように支援する段階と、
を含む方法。 - 前記(c)の段階以前に、
前記連続学習サーバーは、前記第1学習データセットに含まれた(i)第1既存ラベル付きのイメージが含まれた第1既存ラベル付きの学習データ(first existing labeled training data)と(ii)前記第1再構成イメージそれぞれをラベリングした第1ニューラベル付きの学習データ(first newly labeled training data)とを利用して前記敵対的オートエンコーダを連続学習させるプロセスを遂行するか、または遂行するように支援することを特徴とする請求項1に記載の方法。 - 前記連続学習サーバーは、前記敵対的オートエンコーダに対する前記連続学習を行い、前記敵対的オートエンコーダを構成する前記エンコーダ及び前記デコーダを含むオートエンコーダ(autoencoder)と前記判別器とを交差して学習させるプロセスを遂行するか、または遂行するように支援し、
前記連続学習サーバーは、前記オートエンコーダ及び前記判別器それぞれに対して(i)前記第1既存ラベル付きの学習データを利用して以前学習された既存オートエンコーダモデルや前記第1既存ラベル付きの学習データを利用して以前学習された既存判別器モデルを利用して前記第1既存ラベル付きの学習データに対する平均ロスである第1ベースロス(first base loss)を獲得し、(ii)前記連続学習を行うイテレーション(iteration)ごとに前記第1既存ラベル付きの学習データ及び前記第1ニューラベル付きの学習データそれぞれから特定の割合で一部のデータを選択して第1ミニバッチ(first minibatch)をサンプリングした後、(iii)前記第1ミニバッチを前記既存オートエンコーダモデルや前記既存判別器モデルに入力し、前記既存オートエンコーダモデルや前記既存判別器モデルによって、前記第1既存ラベル付きの学習データに対応する原本正解(ground truth)を参照して前記第1既存ラベル付きの学習データに対応する第1既存ロス(first existing loss)を生成し、前記第1ニューラベル付きの学習データに対応する原本正解を参照して前記第1ニューラベル付きの学習データに対応する第1ニューロス(first new loss)を生成させるようにし、(iv)(iv-1)前記第1ニューロスに対しては前記連続学習を行うイテレーションごとにバックプロパゲーション(back-propagation)を通じて学習を行い、(iv-2)前記第1既存ロスに対しては前記第1既存ロスが前記第1ベースロスより大きい一部のイテレーションに対してのみバックプロパゲーションを通じて学習を行わせるプロセスを遂行するか、または遂行するように支援することを特徴とする請求項2に記載の方法。 - 前記(a)の段階において、
前記連続学習サーバーは、(i)前記判別器を通じて前記オーグメンティドイメージが本物と判別され、前記オーグメンティドイメージに対して生成された第2_1クラシフィケーション情報が前記オーグメンティドイメージに対応する前記第2再構成イメージに対して生成された第2_2クラシフィケーション情報と同一である場合、前記オーグメンティドイメージを第2学習データセットとして格納するプロセス、及び(ii)前記判別器を通じて前記オーグメンティドイメージが偽物と判別されたか、前記オーグメンティドイメージに対して生成された前記第2_1クラシフィケーション情報が前記オーグメンティドイメージに対応する前記第2再構成イメージに対して生成された前記第2_2クラシフィケーション情報と同一でない場合、前記オーグメンティドイメージを第2学習データセットとして格納しないプロセスを遂行するか、または遂行するように支援することを特徴とする請求項1に記載の方法。 - 前記(a)の段階において、
前記連続学習サーバーは、(i)前記判別器を通じて前記再構成イメージが偽物と判別されたか、前記第2クラシファイアを通じて前記再構成イメージに対して生成された前記第2クラシフィケーション情報のクラス別確率分布の偏差が前記第2クラシファイアによって既設定された第1臨界値より小さいと判別される場合、前記再構成イメージを前記第2ハードイメージであると判断するプロセス及び、(ii)前記判別器を通じて前記再構成イメージが本物と判別され、前記第2クラシファイアを通じて前記再構成イメージに対して生成された前記第2クラシフィケーション情報の前記クラス別確率分布の前記偏差が前記第2クラシファイアによって既設定された第2臨界値より大きいと判別される場合、前記再構成イメージを前記第2ハードイメージではないと判断するプロセスを遂行するか、または遂行するように支援することを特徴とする請求項1に記載の方法。 - 前記(a)の段階において、
前記連続学習サーバーは、(i)前記第1クラシファイアを通じて前記獲得イメージに対して生成された前記第1クラシフィケーション情報のクラス別確率分布の偏差が前記第1クラシファイアによって既設定された第1臨界値より小さいと判別される場合、前記獲得イメージを前記第1ハードイメージとして判断するプロセス及び、(ii)前記第1クラシファイアを通じて前記獲得イメージに対して生成された前記第1クラシフィケーション情報の前記クラス別確率分布の前記偏差が前記第1クラシファイアによって既設定された第2臨界値より大きいと判別される場合、前記獲得イメージを前記第1ハードイメージではないと判断するプロセスを遂行するか、または遂行するように支援することを特徴とする請求項1に記載の方法。 - 前記連続学習サーバーは、前記エンコーダによって前記第1ハードイメージそれぞれに対して少なくとも一回のコンボリューション(convolution)演算と少なくとも一回のプーリング(pooling)演算とを適用させたダウン-サンプリング(down-sampling)を通じて前記第1ハードイメージそれぞれに対応するフィーチャー(feature)値を示す前記潜在ベクトルを生成させるプロセスを遂行するか、または遂行するように支援することを特徴とする請求項1に記載の方法。
- 前記連続学習サーバーは、前記デコーダによって前記潜在ベクトルそれぞれに対して少なくとも一回のデコンボリューション(deconvolution)演算と少なくとも一回のアンプーリング(un-pooling)演算とを適用させたアップ-サンプリング(up-sampling)を通じて前記第1ハードイメージそれぞれに対応する前記再構成イメージを生成させるようにプロセスを遂行するか、または遂行するように支援することを特徴とする請求項1に記載の方法。
- 前記(b)の段階において、
前記連続学習サーバーは、前記第3クラシファイアに対して連続学習を行う方法において、(i)第2既存ラベル付きのイメージが含まれた第2既存ラベル付きの学習データ(second existing labeled training data)を利用して学習された既存第3クラシファイアモデルを利用して前記第2既存ラベル付きの学習データに対する平均ロスである第2ベースロス(second base loss)を獲得し、(ii)前記連続学習を行うイテレーションごとに前記第2既存ラベル付きの学習データ及び前記第1学習データセットに含まれた前記第1再構成イメージと前記第2学習データセットに含まれた前記オーグメンティドイメージとをラベリングして生成した第2ニューラベル付きの学習データ(second newly labeled training data)それぞれから特定の割合で一部のデータを選択して第2ミニバッチ(second minibatch)をサンプリングした後、(iii)前記第2ミニバッチを前記既存第3クラシファイアモデルに入力して、前記既存第3クラシファイアモデルによって、前記第2既存ラベル付きの学習データに対応する原本正解(ground truth)を参照して前記第2既存ラベル付きの学習データに対応する第2既存ロス(second existing loss)を生成させ、前記第2ニューラベル付きの学習データに対応する原本正解を参照して前記第2ニューラベル付きの学習データに対応する第2ニューロス(second new loss)を生成させるようにし、(iv)(iv-1)前記第2ニューロスに対しては前記連続学習を行うイテレーションごとにバックプロパゲーション(back-propagation)を通じて学習を行い、(iv-2)前記第2既存ロスに対しては前記第2既存ロスが前記第2ベースロスより大きい一部のイテレーションに対してのみバックプロパゲーションを通じて学習を行わせるプロセスを遂行するか、または遂行するように支援することを特徴とする請求項1に記載の方法。 - 前記連続学習サーバーは、一つ以上のアップデートされたパラメーター、アップデートされたニューラルネットワークレイヤー(neural network layer)及びアップデートされたクラスに対するアップデート情報のみを前記クライアントの前記第1クラシファイアに伝送し、前記クライアントによって伝送された前記アップデートされたパラメーター、前記アップデートされたニューラルネットワークレイヤー及び前記アップデートされたクラスに対する前記アップデート情報のみを利用して前記第1クラシファイアをアップデートさせるプロセスを遂行するか、または遂行するように支援することを特徴とする請求項9に記載の方法。
- 前記連続学習サーバーは、前記クライアントによって、(i)前記第1クラシファイアを構成するニューラルネットワークレイヤーの少なくとも一部を前記アップデートされたパラメーターに対する前記アップデート情報を参照して選択的にアップデートさせるプロセス、(ii)前記アップデートされたニューラルネットワークレイヤーに対する前記アップデート情報を参照して少なくとも一つの新しいニューラルネットワークレイヤーを追加するプロセス、及び(iii)前記アップデートされたクラスに対する前記アップデート情報を参照して少なくとも一つのクラスを追加するプロセスの中で少なくともいずれか一つを通じて前記第1クラシファイアをアップデートさせるプロセスを遂行するか、または遂行するように支援することを特徴とする請求項10に記載の方法。
- 連続学習(continual learning)サーバーを利用してクライアント(client)のイメージを分類するクラシファイア(classifier)を連続学習させる連続学習サーバーにおいて、
インストラクションを格納する少なくとも一つのメモリと、
前記インストラクションを実行するために構成された少なくとも一つのプロセッサと、を含み、
前記プロセッサは、(I)クライアントに位置する第1クラシファイアが獲得イメージそれぞれに対応する第1クラシフィケーション情報を出力し、前記獲得イメージに対応する前記第1クラシフィケーション情報によって前記第1クラシファイアが分類することができないものと判断された第1ハードイメージ(hard image)が前記クライアントから伝送されると、(i)前記第1ハードイメージそれぞれを敵対的オートエンコーダ(Adversarial Autoencoder;AAE)に入力し、前記敵対的オートエンコーダによって(i-1)前記敵対的オートエンコーダに含まれたエンコーダ(encoder)を通じて前記第1ハードイメージそれぞれをエンコーディングして潜在ベクトル(latent vector)それぞれを出力させ、(i-2)前記敵対的オートエンコーダに含まれたデコーダ(decoder)を通じて前記潜在ベクトルそれぞれをデコーディングして前記第1ハードイメージそれぞれに対応する再構成イメージ(reconstructed image)それぞれを出力させ、(i-3)前記敵対的オートエンコーダに含まれた判別器(discriminator)を通じて前記再構成イメージそれぞれが本物か偽物かに対する属性情報(attribute information)を出力させ、(i-4)前記敵対的オートエンコーダに含まれた第2クラシファイアを通じて前記潜在ベクトルそれぞれに対する第2クラシフィケーション情報を出力させるプロセス、及び(ii)前記属性情報と前記第2クラシフィケーション情報とを参照して前記再構成イメージが前記敵対的オートエンコーダの判別しがたい第2ハードイメージであるかを判別し、(ii-1)前記再構成イメージの中で前記第2ハードイメージとして判断された第1再構成イメージを第1学習データセットとして格納し、(ii-2)前記デコーダを通じて前記再構成イメージの中で前記第2ハードイメージではないと判断された第2再構成イメージそれぞれに対応する前記潜在ベクトルをランダムに調整することでオーグメンティドイメージ(augmented image)を生成して第2学習データセットとして格納するプロセスを遂行するか、または遂行するように支援するステップと、(II)前記第1学習データセットと前記第2学習データセットとを利用して前記プロセッサに位置して前記第1クラシファイアに対応する第3クラシファイアを連続学習させるプロセスを遂行するか、または遂行するように支援するステップと、(III)学習された前記第3クラシファイアの一つ以上のアップデートされたパラメーターを前記クライアントに伝送して前記クライアントによって前記アップデートされたパラメーターを利用して前記第1クラシファイアをアップデートさせるプロセスを遂行するか、または遂行するように支援するステップと、を遂行する連続学習サーバー。 - 前記(III)のステップ以前に、
前記プロセッサは、前記第1学習データセットに含まれた(i)第1既存ラベル付きのイメージが含まれた第1既存ラベル付きの学習データ(first existing labeled training data)と(ii)前記第1再構成イメージそれぞれをラベリングした第1ニューラベル付きの学習データ(first newly labeled training data)とを利用して前記敵対的オートエンコーダを連続学習させるプロセスを遂行するか、または遂行するように支援することを特徴とする請求項12に記載の連続学習サーバー。 - 前記プロセッサは、前記敵対的オートエンコーダに対する前記連続学習を行い、前記敵対的オートエンコーダを構成する前記エンコーダ及び前記デコーダを含むオートエンコーダ(autoencoder)と前記判別器とを交差して学習させるプロセスを遂行するか、または遂行するように支援し、
前記プロセッサは、前記オートエンコーダ及び前記判別器それぞれに対して(i)前記第1既存ラベル付きの学習データに以前学習された既存オートエンコーダモデルや前記第1既存ラベル付きの学習データに以前学習された既存判別器モデルを利用して前記第1既存ラベル付きの学習データに対する平均ロスである第1ベースロス(first base loss)を獲得し、(ii)前記連続学習を行うイテレーション(iteration)ごとに前記第1既存ラベル付きの学習データ及び前記第1ニューラベル付きの学習データそれぞれから特定の割合で一部のデータを選択して第1ミニバッチ(first minibatch)をサンプリングした後、(iii)前記第1ミニバッチを前記既存オートエンコーダモデルや前記既存判別器モデルに入力し、前記既存オートエンコーダモデルや前記既存判別器モデルによって、前記第1既存ラベル付きの学習データに対応する原本正解(ground truth)を参照して前記第1既存ラベル付きの学習データに対応する第1既存ロス(first existing loss)を生成させ、前記第1ニューラベル付きの学習データに対応する原本正解を参照して前記第1ニューラベル付きの学習データに対応する第1ニューロス(first new loss)を生成させるようにし、(iv)(iv-1)前記第1ニューロスに対しては前記連続学習を行うイテレーションごとにバックプロパゲーション(back-propagation)を通じて学習を行い、(iv-2)前記第1既存ロスに対しては前記第1既存ロスが前記第1ベースロスより大きい一部のイテレーションに対してのみバックプロパゲーションを通じて学習を行わせるプロセスを遂行するか、または遂行するように支援することを特徴とする請求項13に記載の連続学習サーバー。 - 前記(I)のステップにおいて、
前記プロセッサは、(i)前記判別器を通じて前記オーグメンティドイメージが本物と判別され、前記オーグメンティドイメージに対して生成された第2_1クラシフィケーション情報が前記オーグメンティドイメージに対応する前記第2再構成イメージに対して生成された第2_2クラシフィケーション情報と同一である場合、前記オーグメンティドイメージを第2学習データセットとして格納するプロセス、及び(ii)前記判別器を通じて前記オーグメンティドイメージが偽物と判別されたか、前記オーグメンティドイメージに対して生成された前記第2_1クラシフィケーション情報が前記オーグメンティドイメージに対応する前記第2再構成イメージに対して生成された前記第2_2クラシフィケーション情報と同一でない場合、前記オーグメンティドイメージを第2学習データセットとして格納しないプロセスを遂行するか、または遂行するように支援することを特徴とする請求項12に記載の連続学習サーバー。 - 前記(I)のステップにおいて、
前記プロセッサは、(i)前記判別器を通じて前記再構成イメージが偽物と判別されたか、前記第2クラシファイアを通じて前記再構成イメージに対して生成された前記第2クラシフィケーション情報のクラス別確率分布の偏差が前記第2クラシファイアによって既設定された第1臨界値より小さいと判別される場合、前記再構成イメージを前記第2ハードイメージであると判断するプロセス及び、(ii)前記判別器を通じて前記再構成イメージが本物と判別され、前記第2クラシファイアを通じて前記再構成イメージに対して生成された前記第2クラシフィケーション情報の前記クラス別確率分布の前記偏差が前記第2クラシファイアによって既設定された第2臨界値より大きいと判別される場合、前記再構成イメージを前記第2ハードイメージではないと判断するプロセスを遂行するか、または遂行するように支援することを特徴とする請求項12に記載の連続学習サーバー。 - 前記(I)のステップにおいて、
前記プロセッサは、(i)前記第1クラシファイアを通じて前記獲得イメージに対して生成された前記第1クラシフィケーション情報のクラス別確率分布の偏差が前記第1クラシファイアによって既設定された第1臨界値より小さいと判別される場合、前記獲得イメージを前記第1ハードイメージとして判断するプロセス及び、(ii)前記第1クラシファイアを通じて前記獲得イメージに対して生成された前記第1クラシフィケーション情報の前記クラス別確率分布の前記偏差が前記第1クラシファイアによって既設定された第2臨界値より大きいと判別される場合、前記獲得イメージを前記第1ハードイメージではないと判断するプロセスを遂行するか、または遂行するように支援することを特徴とする請求項12に記載の連続学習サーバー。 - 前記プロセッサは、前記エンコーダによって、前記第1ハードイメージそれぞれに対して少なくとも一回のコンボリューション(convolution)演算と少なくとも一回のプーリング(pooling)演算とを適用させたダウン-サンプリング(down-sampling)を通じて前記第1ハードイメージそれぞれに対応するフィーチャー(feature)値を示す前記潜在ベクトルを生成させるプロセスを遂行するか、または遂行するように支援することを特徴とする請求項12に記載の連続学習サーバー。
- 前記プロセッサは、前記デコーダによって、前記潜在ベクトルそれぞれに対して少なくとも一回のデコンボリューション(deconvolution)演算と少なくとも一回のアンプーリング(un-pooling)演算とを適用させたアップ-サンプリング(up-sampling)を通じて前記第1ハードイメージそれぞれに対応する前記再構成イメージを生成させるようにプロセスを遂行するか、または遂行するように支援することを特徴とする請求項12に記載の連続学習サーバー。
- 前記(II)のステップにおいて、
前記プロセッサは、前記第3クラシファイアに対して連続学習を遂行する方法において、(i)第2既存ラベル付きのイメージが含まれた第2既存ラベル付きの学習データ(second existing labeled training data)を利用して学習された既存第3クラシファイアモデルを利用して前記第2既存ラベル付きの学習データに対する平均ロスである第2ベースロス(second base loss)を獲得し、(ii)前記連続学習を行うイテレーションごとに前記第2既存ラベル付きの学習データ及び前記第1学習データセットに含まれた前記第1再構成イメージと前記第2学習データセットに含まれた前記オーグメンティドイメージとをラベリングして生成した第2ニューラベル付きの学習データ(second newly labeled training data)それぞれから特定の割合で一部のデータを選択して第2ミニバッチ(second minibatch)をサンプリングした後、(iii)前記第2ミニバッチを前記既存第3クラシファイアモデルに入力し、前記既存第3クラシファイアモデルによって、前記第2既存ラベル付きの学習データに対応する原本正解(ground truth)を参照して前記第2既存ラベル付きの学習データに対応する第2既存ロス(second existing loss)を生成させ、前記第2ニューラベル付きの学習データに対応する原本正解を参照して前記第2ニューラベル付きの学習データに対応する第2ニューロス(second new loss)を生成させるようにし、(iv)(iv-1)前記第2ニューロスに対しては、前記連続学習を行うイテレーションごとにバックプロパゲーション(back-propagation)を通じて学習を行わせ、(iv-2)前記第2既存ロスに対しては前記第2既存ロスが前記第2ベースロスより大きい一部のイテレーションに対してのみバックプロパゲーションを通じて学習を行わせるプロセスを遂行するか、または遂行するように支援することを特徴とする請求項12に記載の連続学習サーバー。 - 前記プロセッサは、一つ以上のアップデートされたパラメーター、アップデートされたニューラルネットワークレイヤー(neural network layer)及びアップデートされたクラスに対するアップデート情報のみを前記クライアントの前記第1クラシファイアに伝送し、前記クライアントによって伝送された前記アップデートされたパラメーター、前記アップデートされたニューラルネットワークレイヤー及び前記アップデートされたクラスに対する前記アップデート情報のみを利用して前記第1クラシファイアをアップデートさせるプロセスを遂行するか、または遂行するように支援することを特徴とする請求項20に記載の連続学習サーバー。
- 前記プロセッサは、前記クライアントによって、(i)前記第1クラシファイアを構成するニューラルネットワークレイヤーの少なくとも一部を前記アップデートされたパラメーターに対する前記アップデート情報を参照して選択的にアップデートさせるプロセス、(ii)前記アップデートされたニューラルネットワークレイヤーに対する前記アップデート情報を参照して少なくとも一つの新しいニューラルネットワークレイヤーを追加するプロセス、及び(iii)前記アップデートされたクラスに対する前記アップデート情報を参照して少なくとも一つのクラスを追加するプロセスの中で少なくともいずれか一つを通じて前記第1クラシファイアをアップデートさせるプロセスを遂行するか、または遂行するように支援することを特徴とする請求項21に記載の連続学習サーバー。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063017758P | 2020-04-30 | 2020-04-30 | |
US63/017,758 | 2020-04-30 | ||
US17/088,045 US10922788B1 (en) | 2020-04-30 | 2020-11-03 | Method for performing continual learning on classifier in client capable of classifying images by using continual learning server and continual learning server using the same |
US17/088,045 | 2020-11-03 | ||
PCT/KR2020/016418 WO2021221254A1 (en) | 2020-04-30 | 2020-11-19 | Method for performing continual learning on classifier in client capable of classifying images by using continual learning server and continual learning server using the same |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023514172A true JP2023514172A (ja) | 2023-04-05 |
JP7365511B2 JP7365511B2 (ja) | 2023-10-19 |
Family
ID=74570047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022548234A Active JP7365511B2 (ja) | 2020-04-30 | 2020-11-19 | 連続学習サーバーを利用してクライアントのイメージを分類するクラシファイアを連続学習する方法及びこれを利用した連続学習サーバー |
Country Status (6)
Country | Link |
---|---|
US (1) | US10922788B1 (ja) |
EP (1) | EP3905139A1 (ja) |
JP (1) | JP7365511B2 (ja) |
KR (1) | KR20220041943A (ja) |
CN (1) | CN115298670A (ja) |
WO (1) | WO2021221254A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11694088B2 (en) | 2019-03-13 | 2023-07-04 | Cortica Ltd. | Method for object detection using knowledge distillation |
US11488290B2 (en) | 2019-03-31 | 2022-11-01 | Cortica Ltd. | Hybrid representation of a media unit |
US11909482B2 (en) * | 2020-08-18 | 2024-02-20 | Qualcomm Incorporated | Federated learning for client-specific neural network parameter generation for wireless communication |
US11709915B2 (en) * | 2020-08-26 | 2023-07-25 | Adobe Inc. | Classifying images utilizing generative-discriminative feature representations |
US12049116B2 (en) | 2020-09-30 | 2024-07-30 | Autobrains Technologies Ltd | Configuring an active suspension |
US11961287B2 (en) * | 2020-10-02 | 2024-04-16 | Servicenow Canada Inc. | Method and system for meaningful counterfactual explanations |
CN113111755B (zh) * | 2021-04-02 | 2023-03-24 | 北京航空航天大学 | 一种高光谱图像异常检测方法 |
EP4194300A1 (en) | 2021-08-05 | 2023-06-14 | Autobrains Technologies LTD. | Providing a prediction of a radius of a motorcycle turn |
KR20230175007A (ko) * | 2022-06-22 | 2023-12-29 | 숭실대학교산학협력단 | 적대적 학습 시스템 및 적대적 학습 방법 |
WO2024128377A1 (ko) * | 2022-12-16 | 2024-06-20 | 한국과학기술원 | 잠재코드와 디코더를 이용한 데이터 압축 방법 및 시스템 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102034248B1 (ko) * | 2019-04-19 | 2019-10-18 | 주식회사 루닛 | GAN(Generative Adversarial Networks)을 이용하는 이상 검출 방법, 장치 및 그 시스템 |
US20190392304A1 (en) * | 2018-06-22 | 2019-12-26 | Insilico Medicine, Inc. | Mutual information adversarial autoencoder |
JP2020046883A (ja) * | 2018-09-18 | 2020-03-26 | 株式会社東芝 | 分類装置、分類方法およびプログラム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9639780B2 (en) * | 2008-12-22 | 2017-05-02 | Excalibur Ip, Llc | System and method for improved classification |
CN104680120B (zh) * | 2013-12-02 | 2018-10-19 | 华为技术有限公司 | 一种人脸检测的强分类器的生成方法及装置 |
US9842283B2 (en) * | 2016-04-29 | 2017-12-12 | Automotive Research & Testing Center | Target object detection system and a method for target object detection |
US10839291B2 (en) * | 2017-07-01 | 2020-11-17 | Intel Corporation | Hardened deep neural networks through training from adversarial misclassified data |
WO2019067960A1 (en) * | 2017-09-28 | 2019-04-04 | D5Ai Llc | AGGRESSIVE DEVELOPMENT USING COOPERATIVE GENERATORS |
US10592779B2 (en) * | 2017-12-21 | 2020-03-17 | International Business Machines Corporation | Generative adversarial network medical image generation for training of a classifier |
US11138731B2 (en) * | 2018-05-30 | 2021-10-05 | Siemens Healthcare Gmbh | Methods for generating synthetic training data and for training deep learning algorithms for tumor lesion characterization, method and system for tumor lesion characterization, computer program and electronically readable storage medium |
KR102565279B1 (ko) * | 2018-08-23 | 2023-08-09 | 삼성전자주식회사 | 객체 검출 방법, 객체 검출을 위한 학습 방법 및 그 장치들 |
US10719301B1 (en) * | 2018-10-26 | 2020-07-21 | Amazon Technologies, Inc. | Development environment for machine learning media models |
CN111753595A (zh) * | 2019-03-29 | 2020-10-09 | 北京市商汤科技开发有限公司 | 活体检测方法和装置、设备和存储介质 |
-
2020
- 2020-11-03 US US17/088,045 patent/US10922788B1/en active Active
- 2020-11-06 EP EP20206179.2A patent/EP3905139A1/en active Pending
- 2020-11-19 CN CN202080098759.1A patent/CN115298670A/zh active Pending
- 2020-11-19 JP JP2022548234A patent/JP7365511B2/ja active Active
- 2020-11-19 KR KR1020227009031A patent/KR20220041943A/ko unknown
- 2020-11-19 WO PCT/KR2020/016418 patent/WO2021221254A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190392304A1 (en) * | 2018-06-22 | 2019-12-26 | Insilico Medicine, Inc. | Mutual information adversarial autoencoder |
JP2020046883A (ja) * | 2018-09-18 | 2020-03-26 | 株式会社東芝 | 分類装置、分類方法およびプログラム |
KR102034248B1 (ko) * | 2019-04-19 | 2019-10-18 | 주식회사 루닛 | GAN(Generative Adversarial Networks)을 이용하는 이상 검출 방법, 장치 및 그 시스템 |
Also Published As
Publication number | Publication date |
---|---|
EP3905139A1 (en) | 2021-11-03 |
JP7365511B2 (ja) | 2023-10-19 |
US10922788B1 (en) | 2021-02-16 |
CN115298670A (zh) | 2022-11-04 |
WO2021221254A1 (en) | 2021-11-04 |
KR20220041943A (ko) | 2022-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2023514172A (ja) | 連続学習サーバーを利用してクライアントのイメージを分類するクラシファイアを連続学習する方法及びこれを利用した連続学習サーバー | |
WO2020048389A1 (zh) | 神经网络模型压缩方法、装置和计算机设备 | |
US20160078339A1 (en) | Learning Student DNN Via Output Distribution | |
JP6912835B2 (ja) | 自律走行自動車のレベル4を満たすために要求されるhdマップアップデートに利用される、少なくとも一つのアダプティブロス重み付け値マップを利用したアテンションドリブン・イメージセグメンテーション学習方法及び学習装置、そしてこれを利用したテスティング方法及びテスティング装置 | |
CN111402257B (zh) | 一种基于多任务协同跨域迁移的医学图像自动分割方法 | |
US11551076B2 (en) | Event-driven temporal convolution for asynchronous pulse-modulated sampled signals | |
CN113139446B (zh) | 一种端到端自动驾驶行为决策方法、系统及终端设备 | |
WO2022252455A1 (en) | Methods and systems for training graph neural network using supervised contrastive learning | |
WO2022217853A1 (en) | Methods, devices and media for improving knowledge distillation using intermediate representations | |
KR102163519B1 (ko) | 오토인코더 및 다중 인스턴스 학습을 통한 뉴럴 네트워크 학습 방법 및 이를 수행하는 컴퓨팅 시스템 | |
JP7295282B2 (ja) | 適応的ハイパーパラメータセットを利用したマルチステージ学習を通じて自律走行自動車のマシンラーニングネットワークをオンデバイス学習させる方法及びこれを利用したオンデバイス学習装置 | |
KR20230129410A (ko) | 신경망 모델들을 사용한 가변 비트 레이트 압축 | |
JP2023546582A (ja) | 個人化ニューラルネットワークプルーニング | |
JP2020123345A (ja) | Ganを用いて仮想世界における仮想データから取得したトレーニングデータを生成して、自律走行用ニューラルネットワークの学習プロセスに必要なアノテーションコストを削減する学習方法や学習装置、それを利用したテスト方法やテスト装置 | |
CN116757460B (zh) | 基于深度学习的应急指挥调度平台构建方法及系统 | |
KR20220004933A (ko) | 비단사적 변환을 포함하는 이미지 분류기 | |
AU2023233182A1 (en) | Image and object inpainting with diffusion models | |
CN109299780A (zh) | 神经网络模型压缩方法、装置和计算机设备 | |
CN117636626A (zh) | 强化道路周边空间特征的异质图交通预测方法及系统 | |
GB2624753A (en) | Multi-modal image editing | |
KR20220069336A (ko) | 객체 검출 방법 및 장치 | |
KR102645760B1 (ko) | Gan 기반 인공지능 고품질 이미지 압축 시스템 | |
CN118393973B (zh) | 一种自动驾驶控制方法、装置、系统、设备及存储介质 | |
US20240062064A1 (en) | Artificial Intelligence Computing Systems for Efficiently Learning Underlying Features of Data | |
KR102617344B1 (ko) | 비지도 학습 기반의 깊이 예측 방법 및 이를 이용하는 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220808 |
|
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: 20231003 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231006 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7365511 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |