(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-11
(45)【発行日】2023-10-19
(54)【発明の名称】連続学習サーバーを利用してクライアントのイメージを分類するクラシファイアを連続学習する方法及びこれを利用した連続学習サーバー
(51)【国際特許分類】
G06T 7/00 20170101AFI20231012BHJP
G06V 10/82 20220101ALI20231012BHJP
【FI】
G06T7/00 350C
G06V10/82
(21)【出願番号】P 2022548234
(86)(22)【出願日】2020-11-19
(86)【国際出願番号】 KR2020016418
(87)【国際公開番号】W WO2021221254
(87)【国際公開日】2021-11-04
【審査請求日】2022-08-08
(32)【優先日】2020-04-30
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-11-03
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】517038176
【氏名又は名称】株式会社ストラドビジョン
【氏名又は名称原語表記】STRADVISION,INC.
【住所又は居所原語表記】Suite 304-308,5th Venture-dong,394,Jigok-ro,Nam-gu,Pohang-si,Gyeongsangbuk-do 37668 Republic of Korea
(74)【代理人】
【識別番号】100121728
【氏名又は名称】井関 勝守
(74)【代理人】
【識別番号】100165803
【氏名又は名称】金子 修平
(74)【代理人】
【識別番号】100170900
【氏名又は名称】大西 渉
(72)【発明者】
【氏名】▲ユ▼東奎
(72)【発明者】
【氏名】諸泓模
(72)【発明者】
【氏名】康鳳男
(72)【発明者】
【氏名】柳宇宙
【審査官】小池 正彦
(56)【参考文献】
【文献】韓国登録特許第10-2034248(KR,B1)
【文献】特開2020-46883(JP,A)
【文献】米国特許出願公開第2019/0392304(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06V 10/82
(57)【特許請求の範囲】
【請求項1】
連続学習(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クラシファイアをアップデートさせるプロセスを遂行するか、または遂行するように支援する段階と、
を含む方法。
【請求項2】
前記(c)の段階以前に、
前記連続学習サーバーは、前記第1学習データセットに含まれた(i)第1既存ラベル付きのイメージが含まれた第1既存ラベル付きの学習データ(first existing labeled training data)と(ii)前記第1再構成イメージそれぞれをラベリングした第1ニューラベル付きの学習データ(first newly labeled training data)とを利用して前記敵対的オートエンコーダを連続学習させるプロセスを遂行するか、または遂行するように支援することを特徴とする請求項1に記載の方法。
【請求項3】
前記連続学習サーバーは、前記敵対的オートエンコーダに対する前記連続学習を行い、前記敵対的オートエンコーダを構成する前記エンコーダ及び前記デコーダを含むオートエンコーダ(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に記載の方法。
【請求項4】
前記(a)の段階において、
前記連続学習サーバーは、(i)前記判別器を通じて前記オーグメンティドイメージが本物と判別され、前記オーグメンティドイメージに対して生成された第2_1クラシフィケーション情報が前記オーグメンティドイメージに対応する前記第2再構成イメージに対して生成された第2_2クラシフィケーション情報と同一である場合、前記オーグメンティドイメージを第2学習データセットとして格納するプロセス、及び(ii)前記判別器を通じて前記オーグメンティドイメージが偽物と判別されたか、前記オーグメンティドイメージに対して生成された前記第2_1クラシフィケーション情報が前記オーグメンティドイメージに対応する前記第2再構成イメージに対して生成された前記第2_2クラシフィケーション情報と同一でない場合、前記オーグメンティドイメージを第2学習データセットとして格納しないプロセスを遂行するか、または遂行するように支援することを特徴とする請求項1に記載の方法。
【請求項5】
前記(a)の段階において、
前記連続学習サーバーは、(i)前記判別器を通じて前記再構成イメージが偽物と判別されたか、前記第2クラシファイアを通じて前記再構成イメージに対して生成された前記第2クラシフィケーション情報のクラス別確率分布の偏差が前記第2クラシファイアによって既設定された第1臨界値より小さいと判別される場合、前記再構成イメージを前記第2ハードイメージであると判断するプロセス及び、(ii)前記判別器を通じて前記再構成イメージが本物と判別され、前記第2クラシファイアを通じて前記再構成イメージに対して生成された前記第2クラシフィケーション情報の前記クラス別確率分布の前記偏差が前記第2クラシファイアによって既設定された第2臨界値より大きいと判別される場合、前記再構成イメージを前記第2ハードイメージではないと判断するプロセスを遂行するか、または遂行するように支援することを特徴とする請求項1に記載の方法。
【請求項6】
前記(a)の段階において、
前記連続学習サーバーは、(i)前記第1クラシファイアを通じて前記獲得イメージに対して生成された前記第1クラシフィケーション情報のクラス別確率分布の偏差が前記第1クラシファイアによって既設定された第1臨界値より小さいと判別される場合、前記獲得イメージを前記第1ハードイメージとして判断するプロセス及び、(ii)前記第1クラシファイアを通じて前記獲得イメージに対して生成された前記第1クラシフィケーション情報の前記クラス別確率分布の前記偏差が前記第1クラシファイアによって既設定された第2臨界値より大きいと判別される場合、前記獲得イメージを前記第1ハードイメージではないと判断するプロセスを遂行するか、または遂行するように支援することを特徴とする請求項1に記載の方法。
【請求項7】
前記連続学習サーバーは、前記エンコーダによって前記第1ハードイメージそれぞれに対して少なくとも一回のコンボリューション(convolution)演算と少なくとも一回のプーリング(pooling)演算とを適用させたダウン-サンプリング(down-sampling)を通じて前記第1ハードイメージそれぞれに対応するフィーチャー(feature)値を示す前記潜在ベクトルを生成させるプロセスを遂行するか、または遂行するように支援することを特徴とする請求項1に記載の方法。
【請求項8】
前記連続学習サーバーは、前記デコーダによって前記潜在ベクトルそれぞれに対して少なくとも一回のデコンボリューション(deconvolution)演算と少なくとも一回のアンプーリング(un-pooling)演算とを適用させたアップ-サンプリング(up-sampling)を通じて前記第1ハードイメージそれぞれに対応する前記再構成イメージを生成させるようにプロセスを遂行するか、または遂行するように支援することを特徴とする請求項1に記載の方法。
【請求項9】
前記(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に記載の方法。
【請求項10】
前記連続学習サーバーは、一つ以上のアップデートされたパラメーター、アップデートされたニューラルネットワークレイヤー(neural network layer)及びアップデートされたクラスに対するアップデート情報のみを前記クライアントの前記第1クラシファイアに伝送し、前記クライアントによって伝送された前記アップデートされたパラメーター、前記アップデートされたニューラルネットワークレイヤー及び前記アップデートされたクラスに対する前記アップデート情報のみを利用して前記第1クラシファイアをアップデートさせるプロセスを遂行するか、または遂行するように支援することを特徴とする請求項9に記載の方法。
【請求項11】
前記連続学習サーバーは、前記クライアントによって、(i)前記第1クラシファイアを構成するニューラルネットワークレイヤーの少なくとも一部を前記アップデートされたパラメーターに対する前記アップデート情報を参照して選択的にアップデートさせるプロセス、(ii)前記アップデートされたニューラルネットワークレイヤーに対する前記アップデート情報を参照して少なくとも一つの新しいニューラルネットワークレイヤーを追加するプロセス、及び(iii)前記アップデートされたクラスに対する前記アップデート情報を参照して少なくとも一つのクラスを追加するプロセスの中で少なくともいずれか一つを通じて前記第1クラシファイアをアップデートさせるプロセスを遂行するか、または遂行するように支援することを特徴とする請求項10に記載の方法。
【請求項12】
連続学習(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クラシファイアをアップデートさせるプロセスを遂行するか、または遂行するように支援するステップと、を遂行する連続学習サーバー。
【請求項13】
前記(III)のステップ以前に、
前記プロセッサは、前記第1学習データセットに含まれた(i)第1既存ラベル付きのイメージが含まれた第1既存ラベル付きの学習データ(first existing labeled training data)と(ii)前記第1再構成イメージそれぞれをラベリングした第1ニューラベル付きの学習データ(first newly labeled training data)とを利用して前記敵対的オートエンコーダを連続学習させるプロセスを遂行するか、または遂行するように支援することを特徴とする請求項12に記載の連続学習サーバー。
【請求項14】
前記プロセッサは、前記敵対的オートエンコーダに対する前記連続学習を行い、前記敵対的オートエンコーダを構成する前記エンコーダ及び前記デコーダを含むオートエンコーダ(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に記載の連続学習サーバー。
【請求項15】
前記(I)のステップにおいて、
前記プロセッサは、(i)前記判別器を通じて前記オーグメンティドイメージが本物と判別され、前記オーグメンティドイメージに対して生成された第2_1クラシフィケーション情報が前記オーグメンティドイメージに対応する前記第2再構成イメージに対して生成された第2_2クラシフィケーション情報と同一である場合、前記オーグメンティドイメージを第2学習データセットとして格納するプロセス、及び(ii)前記判別器を通じて前記オーグメンティドイメージが偽物と判別されたか、前記オーグメンティドイメージに対して生成された前記第2_1クラシフィケーション情報が前記オーグメンティドイメージに対応する前記第2再構成イメージに対して生成された前記第2_2クラシフィケーション情報と同一でない場合、前記オーグメンティドイメージを第2学習データセットとして格納しないプロセスを遂行するか、または遂行するように支援することを特徴とする請求項12に記載の連続学習サーバー。
【請求項16】
前記(I)のステップにおいて、
前記プロセッサは、(i)前記判別器を通じて前記再構成イメージが偽物と判別されたか、前記第2クラシファイアを通じて前記再構成イメージに対して生成された前記第2クラシフィケーション情報のクラス別確率分布の偏差が前記第2クラシファイアによって既設定された第1臨界値より小さいと判別される場合、前記再構成イメージを前記第2ハードイメージであると判断するプロセス及び、(ii)前記判別器を通じて前記再構成イメージが本物と判別され、前記第2クラシファイアを通じて前記再構成イメージに対して生成された前記第2クラシフィケーション情報の前記クラス別確率分布の前記偏差が前記第2クラシファイアによって既設定された第2臨界値より大きいと判別される場合、前記再構成イメージを前記第2ハードイメージではないと判断するプロセスを遂行するか、または遂行するように支援することを特徴とする請求項12に記載の連続学習サーバー。
【請求項17】
前記(I)のステップにおいて、
前記プロセッサは、(i)前記第1クラシファイアを通じて前記獲得イメージに対して生成された前記第1クラシフィケーション情報のクラス別確率分布の偏差が前記第1クラシファイアによって既設定された第1臨界値より小さいと判別される場合、前記獲得イメージを前記第1ハードイメージとして判断するプロセス及び、(ii)前記第1クラシファイアを通じて前記獲得イメージに対して生成された前記第1クラシフィケーション情報の前記クラス別確率分布の前記偏差が前記第1クラシファイアによって既設定された第2臨界値より大きいと判別される場合、前記獲得イメージを前記第1ハードイメージではないと判断するプロセスを遂行するか、または遂行するように支援することを特徴とする請求項12に記載の連続学習サーバー。
【請求項18】
前記プロセッサは、前記エンコーダによって、前記第1ハードイメージそれぞれに対して少なくとも一回のコンボリューション(convolution)演算と少なくとも一回のプーリング(pooling)演算とを適用させたダウン-サンプリング(down-sampling)を通じて前記第1ハードイメージそれぞれに対応するフィーチャー(feature)値を示す前記潜在ベクトルを生成させるプロセスを遂行するか、または遂行するように支援することを特徴とする請求項12に記載の連続学習サーバー。
【請求項19】
前記プロセッサは、前記デコーダによって、前記潜在ベクトルそれぞれに対して少なくとも一回のデコンボリューション(deconvolution)演算と少なくとも一回のアンプーリング(un-pooling)演算とを適用させたアップ-サンプリング(up-sampling)を通じて前記第1ハードイメージそれぞれに対応する前記再構成イメージを生成させるようにプロセスを遂行するか、または遂行するように支援することを特徴とする請求項12に記載の連続学習サーバー。
【請求項20】
前記(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に記載の連続学習サーバー。
【請求項21】
前記プロセッサは、一つ以上のアップデートされたパラメーター、アップデートされたニューラルネットワークレイヤー(neural network layer)及びアップデートされたクラスに対するアップデート情報のみを前記クライアントの前記第1クラシファイアに伝送し、前記クライアントによって伝送された前記アップデートされたパラメーター、前記アップデートされたニューラルネットワークレイヤー及び前記アップデートされたクラスに対する前記アップデート情報のみを利用して前記第1クラシファイアをアップデートさせるプロセスを遂行するか、または遂行するように支援することを特徴とする請求項20に記載の連続学習サーバー。
【請求項22】
前記プロセッサは、前記クライアントによって、(i)前記第1クラシファイアを構成するニューラルネットワークレイヤーの少なくとも一部を前記アップデートされたパラメーターに対する前記アップデート情報を参照して選択的にアップデートさせるプロセス、(ii)前記アップデートされたニューラルネットワークレイヤーに対する前記アップデート情報を参照して少なくとも一つの新しいニューラルネットワークレイヤーを追加するプロセス、及び(iii)前記アップデートされたクラスに対する前記アップデート情報を参照して少なくとも一つのクラスを追加するプロセスの中で少なくともいずれか一つを通じて前記第1クラシファイアをアップデートさせるプロセスを遂行するか、または遂行するように支援することを特徴とする請求項21に記載の連続学習サーバー。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、2020年4月30日付にて出願された米国特許出願第63/017,758号及び2020年11月3日付にて出願された米国特許出願第17/088,045号に対する優先権を主張し、これは本願に参照として組み込まれる。
【0002】
本発明は連続学習(continual learning)サーバーを利用してイメージを分類するクライアント(client)のクラシファイア(classifier)を連続学習する方法及びこれを利用した連続学習サーバーに係り、より詳細には、クライアントのクラシファイアが分類しにくいと判別されたハードイメージ(hard image)に対して再構成(reconstruction)及びオーグメンテイション(augmentation)プロセスを適用して複数の学習データを生成した後、連続学習サーバーで学習データより連続学習のためのパラメーター(parameter)を生成してクライアントに伝送することで、クライアントのクラシファイアをアップデートできるようにする方法及びこれを利用した連続学習サーバーに関する。
【背景技術】
【0003】
イメージクラシフィケーション(image classification)は、保安システム、ロボティクス、自動車、医療、ソーシャルメディアなどの多様な分野で人間または機械が物体を認識して分析するために利用されている。
【0004】
このようなイメージクラシフィケーションでは、入力されるイメージの種類、イメージクラシフィケーションの使用目的、イメージクラシフィケーションが使用される環境の特徴によってイメージクラシファイア(image classifier)に対して要求される性能と学習方法が変わる。
【0005】
したがって、イメージクラシフィケーションでは利用可能なデータの種類とイメージクラシフィケーションの使用目的によってイメージクラシファイアのアルゴリズムを学習する学習方法として、指導学習(supervised learning)、非指導学習(unsupervised learning)、強化学習(reinforcement learning)及び連続学習(continual learning)などの中で少なくとも一つ以上が採用されて利用されている。
【0006】
特に、従来のイメージクラシフィケーション方法では、ニューラルネットワーク(neural network;NN)を適用したイメージクラシファイアを学習させる方法として一般的な連続学習方法を通じて新しいモデルを学習し、新しいモデルが以前モデルよりよければ新しいモデルを選択し、以前モデルがよければ以前モデルを選択する方式を利用している。
【0007】
しかし、従来のイメージクラシフィケーション方法では、イメージクラシフィケーションを遂行する過程で、天気、ノイズなど多様な変数が発生してクラシフィケーションし難いハードイメージが生成される場合、これらの中で少なくとも一部に対しては人間または機械がイメージを識別するのに困難を経験することがある。このようなハードイメージを正確に識別するためには、とても多くの量の学習用データが要求され、新しい学習用データを収容することによってネットワークの容量が大きくなるほど多くのコンピューティングパワーと高い学習費用が要されることがある。
【0008】
また、ネットワークの容量が大きくなることにつれ、多くのコンピューティングパワーが要求されるほど、これに応えるためにイメージクラシファイアが物理的に大きくて重くなることがあるが、このように大きくて重いイメージクラシファイアは移動式装置や小型端末に搭載し難いという問題がある。
【0009】
また、従来のイメージクラシフィケーション方法では、新しいタスク(task)を学習する過程で、以前覚えたタスクに対する情報を失う破滅的忘却(Catastrophic Forgetting(CF))のような慢性的問題が発生することがある。
【0010】
したがって、前記問題点を解決するための改善方案が要求されているのが実情である。
【発明の概要】
【発明が解決しようとする課題】
【0011】
本発明は、上述した問題点を全て解決することをその目的とする。
【0012】
また、本発明は連続学習サーバー(continual learning server)の敵対的オートエンコーダ(Adversarial Autoencoder;AAE)を通じて生成された学習データを利用してクライアント(client)のクラシファイア(classifier)に対応する連続学習サーバーのクラシファイアを学習させ、アップデートされたパラメーター(parameter)情報のみを利用してクライアントのクラシファイアをアップデートすることを目的とする。
【0013】
また、本発明は、連続学習サーバーで学習されたクラシファイアのパラメーターを利用してクライアントのクラシファイアをアップデートする時、一部のレイヤー(layer)のパラメーターのみをアップデートしたり、レイヤーを少し拡張または追加する連続学習技法を利用して従来方法に比べて少ない演算量でも効率的にクラシファイアに対する学習を遂行させることをまた他の目的とする。
【課題を解決するための手段】
【0014】
本発明の一実施例によると、連続学習(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クラシファイアをアップデートさせるプロセスを遂行するか、または遂行するように支援する段階と、を含む方法が提供される。
【0015】
前記(c)の段階以前に、前記連続学習サーバーは、前記第1学習データセットに含まれた(i)第1既存ラベル付きのイメージが含まれた第1既存ラベル付きの学習データ(first existing labeled training data)と(ii)前記第1再構成イメージそれぞれをラベリングした第1ニューラベル付きの学習データ(first newly labeled training data)とを利用して前記敵対的オートエンコーダを連続学習させるプロセスを遂行するか、または遂行するように支援することを特徴とする。
【0016】
前記連続学習サーバーは、前記敵対的オートエンコーダに対する前記連続学習を行い、前記敵対的オートエンコーダを構成する前記エンコーダ及び前記デコーダを含むオートエンコーダ(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ベースロスより大きい一部のイテレーションに対してのみバックプロパゲーションを通じて学習を行わせるプロセスを遂行するか、または遂行するように支援することを特徴とする。
【0017】
前記(a)の段階において、前記連続学習サーバーは、(i)前記判別器を通じて前記オーグメンティドイメージが本物と判別され、前記オーグメンティドイメージに対して生成された第2_1クラシフィケーション情報が前記オーグメンティドイメージに対応する前記第2再構成イメージに対して生成された第2_2クラシフィケーション情報と同一である場合、前記オーグメンティドイメージを第2学習データセットとして格納するプロセス、及び(ii)前記判別器を通じて前記オーグメンティドイメージが偽物と判別されたか、前記オーグメンティドイメージに対して生成された前記第2_1クラシフィケーション情報が前記オーグメンティドイメージに対応する前記第2再構成イメージに対して生成された前記第2_2クラシフィケーション情報と同一でない場合、前記オーグメンティドイメージを第2学習データセットとして格納しないプロセスを遂行するか、または遂行するように支援することを特徴とする。
【0018】
前記(a)の段階において、前記連続学習サーバーは、(i)前記判別器を通じて前記再構成イメージが偽物と判別されたか、前記第2クラシファイアを通じて前記再構成イメージに対して生成された前記第2クラシフィケーション情報のクラス別確率分布の偏差が前記第2クラシファイアによって既設定された第1臨界値より小さいと判別される場合、前記再構成イメージを前記第2ハードイメージであると判断するプロセス及び、(ii)前記判別器を通じて前記再構成イメージが本物と判別され、前記第2クラシファイアを通じて前記再構成イメージに対して生成された前記第2クラシフィケーション情報の前記クラス別確率分布の前記偏差が前記第2クラシファイアによって既設定された第2臨界値より大きいと判別される場合、前記再構成イメージを前記第2ハードイメージではないと判断するプロセスを遂行するか、または遂行するように支援することを特徴とする。
【0019】
前記(a)の段階において、前記連続学習サーバーは、(i)前記第1クラシファイアを通じて前記獲得イメージに対して生成された前記第1クラシフィケーション情報のクラス別確率分布の偏差が前記第1クラシファイアによって既設定された第1臨界値より小さいと判別される場合、前記獲得イメージを前記第1ハードイメージとして判断するプロセス及び、(ii)前記第1クラシファイアを通じて前記獲得イメージに対して生成された前記第1クラシフィケーション情報の前記クラス別確率分布の前記偏差が前記第1クラシファイアによって既設定された第2臨界値より大きいと判別される場合、前記獲得イメージを前記第1ハードイメージではないと判断するプロセスを遂行するか、または遂行するように支援することを特徴とする。
【0020】
前記連続学習サーバーは、前記エンコーダによって前記第1ハードイメージそれぞれに対して少なくとも一回のコンボリューション(convolution)演算と少なくとも一回のプーリング(pooling)演算とを適用させたダウン-サンプリング(down-sampling)を通じて前記第1ハードイメージそれぞれに対応するフィーチャー(feature)値を示す前記潜在ベクトルを生成させるプロセスを遂行するか、または遂行するように支援することを特徴とする。
【0021】
前記連続学習サーバーは、前記デコーダによって前記潜在ベクトルそれぞれに対して少なくとも一回のデコンボリューション(deconvolution)演算と少なくとも一回のアンプーリング(un-pooling)演算とを適用させたアップ-サンプリング(up-sampling)を通じて前記第1ハードイメージそれぞれに対応する前記再構成イメージを生成させるようにプロセスを遂行するか、または遂行するように支援することを特徴とする。
【0022】
前記(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ベースロスより大きい一部のイテレーションに対してのみバックプロパゲーションを通じて学習を行わせるプロセスを遂行するか、または遂行するように支援することを特徴とする。
【0023】
前記連続学習サーバーは、一つ以上のアップデートされたパラメーター、アップデートされたニューラルネットワークレイヤー(neural network layer)及びアップデートされたクラスに対するアップデート情報のみを前記クライアントの前記第1クラシファイアに伝送し、前記クライアントによって伝送された前記アップデートされたパラメーター、前記アップデートされたニューラルネットワークレイヤー及び前記アップデートされたクラスに対する前記アップデート情報のみを利用して前記第1クラシファイアをアップデートさせるプロセスを遂行するか、または遂行するように支援することを特徴とする。
【0024】
前記連続学習サーバーは、前記クライアントによって、(i)前記第1クラシファイアを構成するニューラルネットワークレイヤーの少なくとも一部を前記アップデートされたパラメーターに対する前記アップデート情報を参照して選択的にアップデートさせるプロセス、(ii)前記アップデートされたニューラルネットワークレイヤーに対する前記アップデート情報を参照して少なくとも一つの新しいニューラルネットワークレイヤーを追加するプロセス、及び(iii)前記アップデートされたクラスに対する前記アップデート情報を参照して少なくとも一つのクラスを追加するプロセスの中で少なくともいずれか一つを通じて前記第1クラシファイアをアップデートさせるプロセスを遂行するか、または遂行するように支援することを特徴とする。
【0025】
また、本発明の他の実施例によると、連続学習(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クラシファイアをアップデートさせるプロセスを遂行するか、または遂行するように支援するステップと、を遂行する連続学習サーバーが提供される。
【0026】
前記(III)のステップ以前に、前記プロセッサは、前記第1学習データセットに含まれた(i)第1既存ラベル付きのイメージが含まれた第1既存ラベル付きの学習データ(first existing labeled training data)と(ii)前記第1再構成イメージそれぞれをラベリングした第1ニューラベル付きの学習データ(first newly labeled training data)とを利用して前記敵対的オートエンコーダを連続学習させるプロセスを遂行するか、または遂行するように支援することを特徴とする。
【0027】
前記プロセッサは、前記敵対的オートエンコーダに対する前記連続学習を行い、前記敵対的オートエンコーダを構成する前記エンコーダ及び前記デコーダを含むオートエンコーダ(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ベースロスより大きい一部のイテレーションに対してのみバックプロパゲーションを通じて学習を行わせるプロセスを遂行するか、または遂行するように支援することを特徴とする。
【0028】
前記(I)のステップにおいて、前記プロセッサは、(i)前記判別器を通じて前記オーグメンティドイメージが本物と判別され、前記オーグメンティドイメージに対して生成された第2_1クラシフィケーション情報が前記オーグメンティドイメージに対応する前記第2再構成イメージに対して生成された第2_2クラシフィケーション情報と同一である場合、前記オーグメンティドイメージを第2学習データセットとして格納するプロセス、及び(ii)前記判別器を通じて前記オーグメンティドイメージが偽物と判別されたか、前記オーグメンティドイメージに対して生成された前記第2_1クラシフィケーション情報が前記オーグメンティドイメージに対応する前記第2再構成イメージに対して生成された前記第2_2クラシフィケーション情報と同一でない場合、前記オーグメンティドイメージを第2学習データセットとして格納しないプロセスを遂行するか、または遂行するように支援することを特徴とする。
【0029】
前記(I)のステップにおいて、前記プロセッサは、(i)前記判別器を通じて前記再構成イメージが偽物と判別されたか、前記第2クラシファイアを通じて前記再構成イメージに対して生成された前記第2クラシフィケーション情報のクラス別確率分布の偏差が前記第2クラシファイアによって既設定された第1臨界値より小さいと判別される場合、前記再構成イメージを前記第2ハードイメージであると判断するプロセス及び、(ii)前記判別器を通じて前記再構成イメージが本物と判別され、前記第2クラシファイアを通じて前記再構成イメージに対して生成された前記第2クラシフィケーション情報の前記クラス別確率分布の前記偏差が前記第2クラシファイアによって既設定された第2臨界値より大きいと判別される場合、前記再構成イメージを前記第2ハードイメージではないと判断するプロセスを遂行するか、または遂行するように支援することを特徴とする。
【0030】
前記(I)のステップにおいて、前記プロセッサは、(i)前記第1クラシファイアを通じて前記獲得イメージに対して生成された前記第1クラシフィケーション情報のクラス別確率分布の偏差が前記第1クラシファイアによって既設定された第1臨界値より小さいと判別される場合、前記獲得イメージを前記第1ハードイメージとして判断するプロセス及び、(ii)前記第1クラシファイアを通じて前記獲得イメージに対して生成された前記第1クラシフィケーション情報の前記クラス別確率分布の前記偏差が前記第1クラシファイアによって既設定された第2臨界値より大きいと判別される場合、前記獲得イメージを前記第1ハードイメージではないと判断するプロセスを遂行するか、または遂行するように支援することを特徴とする。
【0031】
前記プロセッサは、前記エンコーダによって、前記第1ハードイメージそれぞれに対して少なくとも一回のコンボリューション(convolution)演算と少なくとも一回のプーリング(pooling)演算とを適用させたダウン-サンプリング(down-sampling)を通じて前記第1ハードイメージそれぞれに対応するフィーチャー(feature)値を示す前記潜在ベクトルを生成させるプロセスを遂行するか、または遂行するように支援することを特徴とする。
【0032】
前記プロセッサは、前記デコーダによって、前記潜在ベクトルそれぞれに対して少なくとも一回のデコンボリューション(deconvolution)演算と少なくとも一回のアンプーリング(un-pooling)演算とを適用させたアップ-サンプリング(up-sampling)を通じて前記第1ハードイメージそれぞれに対応する前記再構成イメージを生成させるようにプロセスを遂行するか、または遂行するように支援することを特徴とする。
【0033】
前記(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ベースロスより大きい一部のイテレーションに対してのみバックプロパゲーションを通じて学習を行わせるプロセスを遂行するか、または遂行するように支援することを特徴とする。
【0034】
前記プロセッサは、一つ以上のアップデートされたパラメーター、アップデートされたニューラルネットワークレイヤー(neural network layer)及びアップデートされたクラスに対するアップデート情報のみを前記クライアントの前記第1クラシファイアに伝送し、前記クライアントによって伝送された前記アップデートされたパラメーター、前記アップデートされたニューラルネットワークレイヤー及び前記アップデートされたクラスに対する前記アップデート情報のみを利用して前記第1クラシファイアをアップデートさせるプロセスを遂行するか、または遂行するように支援することを特徴とする。
【0035】
前記プロセッサは、前記クライアントによって、(i)前記第1クラシファイアを構成するニューラルネットワークレイヤーの少なくとも一部を前記アップデートされたパラメーターに対する前記アップデート情報を参照して選択的にアップデートさせるプロセス、(ii)前記アップデートされたニューラルネットワークレイヤーに対する前記アップデート情報を参照して少なくとも一つの新しいニューラルネットワークレイヤーを追加するプロセス、及び(iii)前記アップデートされたクラスに対する前記アップデート情報を参照して少なくとも一つのクラスを追加するプロセスの中で少なくともいずれか一つを通じて前記第1クラシファイアをアップデートさせるプロセスを遂行するか、または遂行するように支援することを特徴とする。
【0036】
この他にも、本発明の方法を行うためのコンピュータプログラムを記録するためのコンピュータ読み取り可能な記録媒体がさらに提供される。
【発明の効果】
【0037】
本発明は、連続学習サーバー(continual learning server)の敵対的オートエンコーダ(Adversarial Autoencoder;AAE)を通じて生成された学習データを利用してクライアント(client)のクラシファイア(classifier)に対応する連続学習サーバーのクラシファイアを学習させ、アップデートされたパラメーター(parameter)情報のみを利用してクライアントのクラシファイアをアップデートすることができる効果がある。
【0038】
また、本発明は、連続学習サーバーで学習されたクラシファイアのパラメーターを利用してクライアントのクラシファイアをアップデートする時、一部レイヤー(layer)のパラメーターのみをアップデートしたり、レイヤーを少し拡張または追加する連続学習技法を利用して従来方法に比べて少ない演算量でも効率的にクラシファイアに対する学習を遂行させる効果がある。
【図面の簡単な説明】
【0039】
本発明の実施例の説明に利用されるために添付された以下の図面は、本発明の実施例のうち単に一部であるに過ぎず、本発明の属する技術分野において通常の知識を有する者(以下「通常の技術者」)にとっては、発明的作業が行われずにこれらの図面に基づいて他の各図面が得られる。
【
図1】
図1は、本発明の一実施例によってイメージを分類するクライアント(client)のクラシファイア(classifier)をアップデートする連続学習(continual learning)サーバーを簡略に示したものである。
【
図2】
図2は、本発明の一実施例によって連続学習サーバーを利用してクライアントのクラシファイアをアップデートする方法を簡略に示したものである。
【
図3】
図3は、本発明の一実施例によって敵対的オートエンコーダ(Adversarial Autoencoder)の連続学習を遂行する方法を簡略に示したものである。
【
図4】
図4は、本発明の一実施例によってクライアントのクラシファイアに対応する連続学習サーバーのクラシファイアに対する連続学習を遂行する方法を簡略に示したものである。
【
図5】
図5は、本発明の実施例によって連続学習サーバーのクラシファイアから伝送されたアップデート情報を利用してクライアントのクラシファイアをアップデートする方法を簡略に示したものである。
【発明を実施するための形態】
【0040】
後述する本発明に関する詳細な説明は、本発明の各目的、各技術的解法、及び各長所を明らかにするために本発明が実施され得る特定の実施例を例示として示す添付図面を参照する。これらの実施例は、当業者が本発明を実施することができるように十分詳細に説明される。さらに、本発明は、本明細書に示された実施例のすべての可能な組み合わせを網羅する。本発明の多様な実施例は互いに異なるが、相互に排他的である必要はないことが理解されるべきである。例えば、ここに記載されている特定の形状、構造及び特性は、一実施例に関連して本発明の精神及び範囲を逸脱せず、かつ他の実施例で具現され得る。また、それぞれの開示された実施例内の個別の構成要素の位置又は配置は、本発明の精神及び範囲を逸脱せず、かつ変更され得ることが理解されるべきである。したがって、後述の詳細な説明は、限定的な意味として受け取られるべきものではなく、本発明の範囲は適切に説明されるのであれば、その請求項が主張することと均等な全ての範囲とともに添付された請求項によってのみ限定される。図面において類似の参照符号は、様々な態様にわたって同一であるか、又は類似の機能を指す。
【0041】
本発明で言及している各種イメージは、舗装または非舗装道路関連のイメージを含むことができ、この場合、道路環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではなく、本発明で言及している各種イメージは、道路と関係のないイメージ(例えば、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内と関連したイメージ)でもあり得、この場合、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではない。ここに提供された本開示の題目及び発明の概要は単に便宜のためのものであり、実施例の範囲または意味を制限しない。
【0042】
また、本発明の詳細な説明及び各請求項にわたって、「含む」という単語及びそれらの変形は、他の技術的各特徴若しくは各付加物、構成要素又は段階を除外することを意図したものではない。通常の技術者にとって本発明の他の各目的、長所及び各特性が、一部は本明細書から、また一部は本発明の実施から明らかになるであろう。以下の例示及び図面は実例として提供され、本発明を限定することを意図したものではない。
【0043】
ここに提供された本開示の題目及び発明の概要は単に便宜のためのものであり、実施例の範囲または意味を制限しない。以下、本発明の属する技術分野において通常の知識を有する者が本発明を容易に実施し得るようにするために、本発明の好ましい実施例について、添付された図面を参照して詳細に説明することにする。
【0044】
図1は、本発明の一実施例によってイメージを分類するクライアント(client)のクラシファイア(classifier)をアップデートする連続学習(continual learning)サーバー2000を簡略に示したものである。
【0045】
図1を参照すれば、連続学習サーバー2000は、クライアントのイメージを分類するクラシファイアをアップデートするためのインストラクションを格納するメモリ2001とメモリ2001に格納されたインストラクションに対応してクライアントのイメージを分類するクラシファイアとをアップデートするための動作を遂行するプロセッサ2002を含むことができる。
【0046】
具体的に、連続学習サーバー2000は、典型的にコンピューティング装置(例えば、コンピュータプロセッサ、メモリ、ストレージ、入力装置及び出力装置、その他既存コンピューティング装置の構成要素を含むことができる装置;ルーター、スイッチなどのような電子通信装置;ネットワーク付きストレージ(NAS)及びストレージ領域ネットワーク(SAN)のような電子情報ストレージシステム)とコンピュータソフトウェア(すなわち、コンピューティング装置によって特定方式で機能させるインストラクション)との組み合わせを利用して所望のシステム性能を達成するものであってもよい。
【0047】
また、コンピューティング装置のプロセッサは、MPU(Micro Processing Unit)またはCPU(Central Processing Unit)、キャッシュメモリ(Cache Memory)、データバス(Data Bus)などのハードウェア構成を含むことができる。また、コンピューティング装置は、オペレーティングシステム、特定目的を遂行するアプリケーションのソフトウェア構成をさらに含むこともできる。
【0048】
しかし、コンピューティング装置が本発明を実施するためのミディアム、プロセッサ及びメモリが統合された形態の統合プロセッサを含む場合を排除するものではない。
【0049】
一方、本発明の一実施例として、連続学習サーバー2000は、それぞれのクライアントから伝送されるハードイメージ(hard image)によってクライアントに位置したクラシファイアに対応する連続学習サーバー2000に位置したクラシファイアを連続学習した後、アップデート情報をそれぞれのクライアントに伝送し、それぞれのクライアントに位置したクラシファイアをアップデートさせることができる。ここで、それぞれのクライアントのそれぞれのクラシファイアによって識別が難しいと判断されたそれぞれの獲得イメージをそれぞれのハードイメージによって決めることができる。
【0050】
さらに、本発明の他の実施例として、多数のクライアントに位置した多数のクラシファイアに連続学習サーバー2000に位置した単一のクラシファイアによって対応することができる。このような場合、連続学習サーバー2000に位置した単一の対応するクラシファイアが多数のクライアントの多数のクラシファイアから伝送されたハードイメージより生成された学習データを利用して学習し、単一の対応するクラシファイアが多数のクライアントに位置した多数のクラシファイアに同時にアップデート情報を伝送することができるが、本発明がこれに限定されるものではない。
【0051】
以下の
図2ないし
図5では、説明の便宜のために単一のクライアントの単一のクラシファイアと、これに対応する連続学習サーバー2000の単一のクラシファイアとで本発明を説明するが、クライアント内のクラシファイアまたは連続学習サーバー2000内のクラシファイアは本発明の他の実施例によって多数のクラシファイアで構成されることもできる。
【0052】
このように構成された連続学習サーバー2000を利用して、本発明の実施例による連続学習サーバー2000を利用してクライアント1000のイメージを分類する第1クラシファイア1100をアップデートする方法を
図2ないし
図5を参照して説明すると、次のとおりである。
【0053】
ここで、本発明の他の説明では、説明の便宜のために「獲得イメージ」を「イメージ」と表記することがある。
【0054】
先ず、
図2を参照すれば、クライアント1000はイメージに対する第1クラシファイア1100での第1クラシフィケーション情報(first classification information)によって動作し、イメージの第1クラシフィケーション情報によってイメージが第1ハードイメージ(first hard image)であるか否かを判断することができる。この時、クライアント1000はビデオ映像を獲得することができるし、この場合クライアント1000はビデオ映像でそれぞれのフレームに対応するイメージを獲得することができる。
【0055】
この時、第1クラシフィケーション情報は第1クラシファイア1100がイメージを分類するように設定したそれぞれのクラス別確率(class-specific probabilities)であってもよく、クライアント1000は第1クラシフィケーション情報を参照して、獲得されたイメージが、第1クラシファイア1100が分類することができない第1ハードイメージであるか否かを判別することができる。
【0056】
一例として、第1クラシフィケーション情報において、それぞれのクラスに対する確率が類似するため、クラス別確率分布の偏差が既設定された第1_1臨界値より低い場合、クライアント1000は該当イメージを、第1クラシファイア1100が学習することができなかったイメージであるか、または学習したが判別に失敗したイメージであり、第1クラシファイア1100が分類しにくいデータであるため、第1ハードイメージとして分類することができる。
【0057】
一方、第1クラシフィケーション情報において、一つのクラスに対する確率が既設定された値より高くてクラス別確率分布の偏差が既設定された第1_2臨界値より高い場合、クライアント1000は該当イメージを、判別可能で、第1ハードイメージではないものとして分類することができる。ここで、既設定された第1_1臨界値と既設定された第1_2臨界値とは同一の値を設定することができるが、これに限定されるものではない。
【0058】
以後、クライアント1000は第1ハードイメージとして判別されたイメージを連続学習サーバー2000に伝送することができる。この時、クライアント1000は第1ハードイメージをリアルタイムで連続学習サーバー2000に伝送することができるか、第1ハードイメージを内部の格納装置に格納した状態で一定条件、一例として、既設定された時間条件、既設定されたイメージのボリューム条件などが充たされると、格納された第1ハードイメージを連続学習サーバー2000に伝送することができる。
【0059】
一方、クライアント1000はイメージを分類して第1ハードイメージを連続学習サーバー2000に伝送し、第1クラシファイア1100をアップデートするインストラクションを格納するメモリと、メモリに格納されたインストラクションに対応してイメージを分類して第1ハードイメージを連続学習サーバー2000に伝送し、第1クラシファイア1100をアップデートするための動作を遂行するプロセッサと、を含むことができる。
【0060】
具体的に、クライアント1000は、典型的にコンピューティング装置(例えば、コンピュータプロセッサ、メモリ、ストレージ、入力装置及び出力装置、その他既存コンピューティング装置の構成要素を含むことができる装置;ルーター、スイッチなどのような電子通信装置;ネットワーク付きストレージ(NAS)及びストレージ領域ネットワーク(SAN)のような電子情報ストレージシステム)とコンピュータソフトウェア(すなわち、コンピューティング装置によって特定方式で機能させるインストラクション)との組み合わせを利用して所望のシステム性能を達成するものであってもよい。
【0061】
また、コンピューティング装置のプロセッサは、MPU(Micro Processing Unit)またはCPU(Central Processing Unit)、キャッシュメモリ(Cache Memory)、データバス(Data Bus)などのハードウェア構成を含むことができる。また、コンピューティング装置は、オペレーティングシステム、特定目的を遂行するアプリケーションのソフトウェア構成をさらに含むこともできる。
【0062】
しかし、コンピューティング装置が本発明を実施するためのミディアム、プロセッサ及びメモリが統合された形態の統合プロセッサを含む場合を排除するものではない。
【0063】
また、クライアント1000は、自律走行自動車であってもよく、第1クラシファイア1100を通じて自動車の走行中に獲得される走行イメージからオブジェクト、車線などを検出させることができる。しかし、クライアント1000が自律走行自動車に限定されるものではなく、スマートフォン、製造工程ロボットなどのようにイメージに対するクラシフィケーションを通じてオブジェクトを認識し、認識されたオブジェクト情報にしたがう動作を遂行するコンピューティング装置を含むことができる。
【0064】
次に、クライアント1000から第1ハードイメージが伝送されると、連続学習サーバー2000は、第1ハードイメージのそれぞれを敵対的オートエンコーダ(Adversarial Autoencoder、2100)に入力し、敵対的オートエンコーダ2100によって第1ハードイメージに対する追加分類作業を遂行させることができる。
【0065】
この時、敵対的オートエンコーダ2100は敵対的オートエンコーダ2100に含まれたエンコーダ(encoder、2110)を通じて第1ハードイメージそれぞれをエンコーディングして潜在ベクトル(latent vector)を出力させ、敵対的オートエンコーダ2100に含まれたデコーダ(decoder、2120)を通じて潜在ベクトルそれぞれをデコーディングして第1ハードイメージそれぞれに対応する再構成イメージ(reconstructed image)を出力させることができる。
【0066】
一例として、連続学習サーバー2000は、エンコーダ2110によって第1ハードイメージそれぞれに対して少なくとも一回のコンボリューション(convolution)演算と少なくとも一回のプーリング(pooling)演算とを適用させたダウン-サンプリング(down-sampling)を通じて第1ハードイメージそれぞれに対応するフィーチャー(feature)値を示す潜在ベクトルを生成させることができるが、本発明はこれに限定されるものではない。
【0067】
また、連続学習サーバー2000はデコーダ2120によって入力された潜在ベクトルそれぞれに対して少なくとも一回のデコンボリューション(deconvolution)演算と少なくとも一回のアンプーリング(un-pooling)演算とを適用させたアップ-サンプリング(up-sampling)を通じて第1ハードイメージそれぞれに対応する再構成イメージを生成させることができるが、本発明はこれに限定されるものではない。
【0068】
潜在ベクトルと再構成イメージとが獲得されると、連続学習サーバー2000は敵対的オートエンコーダ2100に含まれた判別器(discriminator、2130)を通じて再構成イメージがそれぞれ本物か偽物かに対する属性情報(attribute information)を出力させ、敵対的オートエンコーダに含まれた第2クラシファイア2140を通じて潜在ベクトルそれぞれに対する第2クラシフィケーション情報を出力させることができる。
【0069】
以後、連続学習サーバー2000は敵対的オートエンコーダ2100から出力される判別器2130の属性情報と第2クラシファイア2140の第2クラシフィケーション情報とを参照して第1ハードイメージが敵対的オートエンコーダ2100にとっても分類が難しい第2ハードイメージであるか否かを確認することができる。
【0070】
一例として、判別器2130を通じて偽物と判別されたか第2クラシファイア2140を通じて第2クラシフィケーション情報のクラス別確率分布の偏差が第2クラシファイア2140によって既設定された第2_1臨界値より小さいと判別された第1再構成イメージは、第2ハードイメージであり、第1学習データセットとして格納することができる。ここで、敵対的オートエンコーダ2100でも分類が大変な再構成イメージを第1再構成イメージと称し、第1学習データセットに第2ハードイメージとして格納することができる。また、第1ハードイメージは第1クラシフィケーション情報を参照してクライアント1000によって獲得されたイメージの中から選択される一方、第2ハードイメージは属性情報と第2クラシフィケーション情報とを参照して第1ハードイメージから生成された再構成イメージの中から選択される。
【0071】
一方、判別器2130を通じて本物と判別されたか第2クラシファイア2140を通じて第2クラシフィケーション情報のクラス別確率分布の偏差が第2クラシファイアによって既設定された第2_2臨界値より大きいと判別された第2再構成イメージは、第2ハードイメージとして格納しないこともできる。ここで、敵対的オートエンコーダ2100で分類可能な再構成イメージを第2再構成イメージと称する。
【0072】
したがって、このような場合、第2再構成イメージそれぞれに対応するエンコーダ2110の出力である潜在ベクトルをランダムに少しずつ調整して、デコーダ2120がランダムに調整された潜在ベクトルに対応するオーグメンティドイメージ(augmented image)を生成させることができる。ここで、既設定された第2_1臨界値と既設定された第2_2臨界値とは同一な値を設定することができるが、これに限定されるものではない。
【0073】
データオーグメンテイション(data augmentation)のために潜在ベクトルをランダムに調整するにあたり、オーグメンティドイメージに基づいて生成されて調整された潜在ベクトルは、該オーグメンティドイメージが根拠とした第2再構成イメージに基づいて生成された既存の潜在ベクトルと全く違う第2クラシフィケーション情報を生成するほどに調整された潜在ベクトルが既存の潜在ベクトルを脱しないように潜在ベクトルの調整度合いを制御することができる。例えば、潜在ベクトルの各エレメント(element)を調整するとき、各エレメントの元の値との差が既設定された偏差限度内で発生するように潜在ベクトルを調整して潜在ベクトルの調整度合いを制御することができるが、本発明はこれに限定されるものではない。
【0074】
これによって、連続学習サーバー2000は、判別器2130を通じてオーグメンティドイメージが本物と判別され、オーグメンティドイメージに対して生成された第2_1クラシフィケーション情報がオーグメンティドイメージに対応する第2再構成イメージに対して生成された第2_2クラシフィケーション情報と同一である場合、オーグメンティドイメージを第2学習データセットとして格納することができる。
【0075】
一方、判別器2130を通じてオーグメンティドイメージが偽物と判別される場合であるか、オーグメンティドイメージに対して生成された第2_1クラシフィケーション情報がオーグメンティドイメージに対応する第2再構成イメージに対して生成された第2_2クラシフィケーション情報と同一でない場合、オーグメンティドイメージを第2学習データセットとして格納しないこともできる。
【0076】
次に、連続学習サーバー2000は、敵対的オートエンコーダ(AAE、2100)の出力によって第2ハードイメージとして判断され、第1学習データセットに含まれた第1再構成イメージそれぞれが受動でラベリングされるようにし、第1ニューラベル付きの学習データ(first newly labeled training data)を生成することができる。これによって、連続学習サーバー2000は生成された第1ニューラベル付きの学習データと第1既存ラベル付きのイメージとが格納された第1既存ラベル付きの学習データ(first existing labeled training data)を利用して敵対的オートエンコーダ2100を連続学習させることができる。
【0077】
具体的に、連続学習サーバー2000は、敵対的オートエンコーダ2100に対する連続学習を行い、敵対的オートエンコーダ2100を構成するオートエンコーダ(autoencoder)と判別器2130とを交差して連続学習させることができる。ここで、オートエンコーダはエンコーダ2110とデコーダ2120とを含み、敵対的オートエンコーダ2100はオートエンコーダと判別器2130とを含む。
【0078】
図3は、本発明の一実施例によって敵対的オートエンコーダ(Adversarial Autoencoder)の連続学習を遂行する方法を簡略に示したものである。
【0079】
図3を参照すれば、連続学習サーバー2000は、オートエンコーダ及び判別器それぞれに対して、先ず第1既存ラベル付きの学習データを利用して以前学習された既存オートエンコーダモデル(existing autoencoder model)または既存判別器モデル(existing discriminator model)を利用して第1既存ラベル付きの学習データに対する平均ロスである第1ベースロス(first base loss)を獲得し、連続学習を行うイテレーション(iteration)ごとに第1既存ラベル付きの学習データ及び第1ニューラベル付きの学習データそれぞれから特定の割合で第1ミニバッチ(first minibatch)をサンプリングさせることができる。
【0080】
次いで、連続学習サーバー2000は、第1ミニバッチを既存オートエンコーダモデルや既存判別器モデルに入力して、既存オートエンコーダモデルや既存判別器モデルによって、第1既存ラベル付きの学習データに対応する原本正解(ground truth)を参照して第1既存ラベル付きの学習データに対応する第1既存ロス(first existing loss)を生成させ、第1ニューラベル付きの学習データに対応する原本正解を参照して第1ニューラベル付きの学習データに対応する第1ニューロス(first new loss)を生成させることができる。
【0081】
その後、連続学習サーバー2000は、(i)第1ニューロスに対しては連続学習を行うイテレーションごとにバックプロパゲーション(back-propagation)を通じて学習を行い、(ii)第1既存ロスに対しては第1既存ロスが第1ベースロスより大きい一部のイテレーションに対してのみバックプロパゲーションを通じて学習を行ってオートエンコーダや判別器2130の学習を完了することができる。
【0082】
すなわち、敵対的オートエンコーダ2100で確認された第2ハードイメージに対してラベラーが分析及び分類を行った後、上記のように説明した連続学習技法を利用して敵対的オートエンコーダ2100を構成する一部のニューラルネットワークレイヤー(neural network layer)のみを選択的に学習させ、選択されたニューラルネットワークレイヤーのパラメーターのみをアップデートさせたり、新しいニューラルネットワークレイヤーを一部追加したり、クラス(class)を追加するなどの方法で敵対的オートエンコーダ2100の性能を向上させることができる。
【0083】
次に、再度
図2を参照すれば、連続学習サーバー2000は、敵対的オートエンコーダ2100によって分類された第1学習データセットと第2学習データセットとを利用して連続学習サーバー2000に位置する第3クラシファイア2200を連続学習させることができる。この時、第3クラシファイア2200は、クライアント1000に位置する第1クラシファイア1100に対応することができる。
【0084】
ここで、敵対的オートエンコーダ2100を通過して第2学習データセットとして格納されたオーグメンティドイメージは、第1クラシファイア1100が分類しにくいイメージに対してオーグメンテイション(augmentation)を経た結果であり、第1学習データセットとして格納された第2ハードイメージは敵対的オートエンコーダ2100さえ分類しにくいと判断されたイメージをラベラーがさらに分類した結果である。したがって、オーグメンティドイメージと第2ハードイメージとを利用して第3クラシファイア2200を連続学習してクライアント1000の第1クラシファイア1100をアップデートすることができる。
【0085】
参照として、本発明における敵対的オートエンコーダ2100は、連続学習サーバー2000に位置して大きさに制約を受けないので、第1クラシファイア1100より高い性能を持って第1クラシファイアで分類しにくいものとして分類された第1ハードイメージに対して追加分類作業を行えるようにすることができる。これと同様、第3クラシファイア2200もまた第1クラシファイア1100と同一であるか、または高い性能を持つことができ、クライアント1000の大きさ、重さなどの物理的な制約によって、連続学習の結果としてアップデートされたパラメーター、クラス、レイヤーに対するアップデート情報の中で少なくとも一部のみを第1クラシファイア1100に伝送することができる。
【0086】
図4は、本発明の一実施例によってクライアントのクラシファイアに対応する連続学習サーバーのクラシファイアに対する連続学習を遂行する方法を簡略に示したものである。
【0087】
図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学習データセットに含まれたオーグメンティドイメージとをラベリングして生成することができる。
【0088】
次いで、連続学習サーバー2000は、第2ミニバッチを既存第3クラシファイアモデルに入力し、既存第3クラシファイアモデルによって、第2既存ラベル付きの学習データに対応する原本正解(ground truth)を参照して第2既存ラベル付きの学習データに対応する第2既存ロス(second existing loss)を生成させ、第2ニューラベル付きの学習データに対応する原本正解を参照して第2ニューラベル付きの学習データに対応する第2ニューロス(second new loss)を生成させることができる。
【0089】
次に、連続学習サーバー2000は、(i)第2ニューロスに対しては連続学習を行うイテレーションごとにバックプロパゲーション(back-propagation)を通じて学習を行い、(ii)第2既存ロスに対しては第2既存ロスが第2ベースロスより大きい一部のイテレーションに対してのみバックプロパゲーションを通じて学習を行って第3クラシファイア2200の連続学習を完了することができる。
【0090】
すなわち、このような連続学習方法では、第2ニューラベル付きの学習データを第3クラシファイア2200の連続学習に常に反映し、第2既存ラベル付きの学習データに対しては一部のみを性能が落ちる場合に限り第3クラシファイア2200の連続学習に反映することで、第2既存ラベル付きの学習データに対しては既存第3クラシファイアモデルとほとんど同一の性能を持ち、第2ニューラベル付きの学習データに対しては既存第3クラシファイアモデルより優れる性能を持つようにニュー第3クラシファイアモデルを学習させることができる。ここで、第2既存ラベル付きの学習データは、ニュー第3クラシファイアモデルの性能を向上させることに貢献することができるので、これらを第3クラシファイア2200の連続学習に反映することができる。
【0091】
次に、再度
図2を参照すれば、連続学習サーバー2000は、連続学習が行われた第3クラシファイア2200でアップデートされた一つ以上のパラメーターをクライアント1000にOTA(over-the-air)などのような方法を利用して伝送し、クライアント1000によって連続学習サーバー2000から伝送されたアップデートされたパラメーターを利用してクライアント1000の第1クラシファイア1100をアップデートさせることができる。
【0092】
すなわち、
図5を参照すれば、連続学習サーバー2000は、第3クラシファイア2200で連続学習を通じてアップデートされた一つ以上のパラメーター、アップデートされたニューラルネットワークレイヤー及びアップデートされたクラスに対するアップデート情報のみをクライアントのクライアント1000に伝送すればよいため、より効率的なデータ伝送が可能であり、クライアント1000でも伝送されたアップデートされたパラメーター、アップデートされたニューラルネットワークレイヤー及びアップデートされたクラスに対する情報のみを利用して第1クラシファイア1100をアップデートすることで効率を高めることができる。
【0093】
ここで、連続学習サーバー2000は、クライアント1000によって第1クラシファイア1100を構成するニューラルネットワークレイヤーの少なくとも一部をアップデートされたパラメーターに対するアップデート情報を参照して選択的にアップデートさせるプロセス、アップデートされたニューラルネットワークレイヤーに対するアップデート情報を参照して少なくとも一つの新しいニューラルネットワークレイヤーを追加するプロセス、及びアップデートされたクラスに対するアップデート情報を参照して少なくとも一つのクラスを追加するプロセスの中で少なくともいずれか一つを通じて第1クラシファイア1100をアップデートさせることができる。
【0094】
このように、本発明では第1ハードイメージに対する分類、再構成及びオーグメンテイションプロセスを遂行する敵対的オートエンコーダ(AAE)の構造と方法論を提案していて、これを通じてクラシファイアを学習させ、アップデートされたデータのみを効率的に伝送する全体的なフレームワークを提案している。
【0095】
以上、説明された本発明による実施例は、多様なコンピュータ構成要素を通じて遂行できるプログラム命令語の形態で具現され、コンピュータ読み取り可能な記録媒体に記録することができる。前記コンピュータ読み取り可能な記録媒体は、プログラム命令語、データファイル、データ構造などを単独でまたは組み合わせて含むことができる。前記コンピュータ読み取り可能な記録媒体に記録されるプログラム命令語は、本発明のために特別に設計されて構成されたものであるか、またはコンピュータソフトウェア分野の当業者に公知にされて使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例には、ハードディスク、フレキシブルディスク及び磁気テープのような磁気媒体、CD-ROM、DVDのような光記録媒体、フロプティカルディスク(floptical disk)のような磁気-光媒体(magneto-optical media)、及びROM、RAM、フラッシュメモリなどのようなプログラム命令語を格納して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるもののような機械語コードのみならず、インタープリターなどを使用してコンピュータによって実行されることができる高級言語コードも含まれる。前記ハードウェア装置は、本発明による処理を行うために一つ以上のソフトウェアモジュールとして作動するように構成されることができるし、その逆も同様である。
【0096】
以上、本発明が具体的な構成要素などのような特定事項と、限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解を助けるために提供されたものに過ぎず、本発明が前記実施例に限定されるものではなく、本発明が属する技術分野における通常の知識を有する者であれば、このような記載から多様な修正及び変形を図ることができる。
【0097】
したがって、本発明の思想は前記説明された実施例に限って決められてはならず、後述する特許請求の範囲だけでなく、本特許請求の範囲と均等または等価的に変形された全てのものは本発明の思想の範疇に属するものとする。