(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-18
(45)【発行日】2023-05-26
(54)【発明の名称】AIによるディープラーニングネットワークを学習させる方法及びこれを利用した学習装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20230519BHJP
G06F 18/2113 20230101ALI20230519BHJP
【FI】
G06N20/00 160
G06F18/2113
(21)【出願番号】P 2021570479
(86)(22)【出願日】2020-12-17
(86)【国際出願番号】 KR2020018593
(87)【国際公開番号】W WO2021194056
(87)【国際公開日】2021-09-30
【審査請求日】2021-11-30
(32)【優先日】2020-03-26
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-12-04
(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)【代理人】
【識別番号】100120628
【氏名又は名称】岩田 慎一
(72)【発明者】
【氏名】金 桂賢
(72)【発明者】
【氏名】諸 泓模
(72)【発明者】
【氏名】康 鳳男
(72)【発明者】
【氏名】柳 宇宙
【審査官】北川 純次
(56)【参考文献】
【文献】特表2019-514107(JP,A)
【文献】特表2019-528511(JP,A)
【文献】米国特許出願公開第2008/0103996(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 3/02-3/10
G06F 18/21
(57)【特許請求の範囲】
【請求項1】
AI(Artificial Intelligence)によるディープラーニングネットワークを学習させる方法において、
(a)学習装置が、ラベルなしのデータをアクティブラーニングネットワークに入力して、前記アクティブラーニングネットワークをもって前記ラベルなしのデータのうち、
既存ラベル付きのデータを利用して学習された状態である既存ラーニングネットワークの学習に有用なハードイグザンプル(hard example)
として判断されるサブラベルなしのデータを抽出するようにし、前記サブラベルなしのデータをオートラベリングネットワークに入力して前記オートラベリングネットワークをもって前記サブラベルなしのデータの各々をラベリングして新規ラベル付きのデータを生成させる段階;
(b)前記学習装置が、コンティニュアルラーニングネットワークをもって前記新規ラベル付きのデータと前記既存ラベル付きのデータをサンプリングし、サンプリングされた新規ラベル付きのデータとサンプリングされた既存ラベル付きのデータとを含むミニバッチを生成するようにし、前記ミニバッチを利用して前記既存ラーニングネットワークを学習させ、前記サンプリングされた新規ラベル付きのデータは学習に全て反映し、前記サンプリングされた既存ラベル付きのデータは、前記既存ラーニングネットワークの性能が低くなる場合にのみ学習に反映して前記既存ラーニングネットワークを学習させ、学習されたラーニングネットワークを生成させる段階;及び
(c)前記学習装置が、エクスプレイナブル分析ネットワークをもって前記学習されたラーニングネットワークを介して検証データに対するインサイトフル(insightful)結果を生成するようにし、前記インサイトフル結果を少なくとも一つのヒューマンエンジニアに伝送して、前記ヒューマンエンジニアをもって前記インサイトフル結果を参照して前記学習されたラーニングネットワークの性能を分析した分析結果を伝送するようにし、前記分析結果を参照して前記アクティブラーニングネットワーク及び前記コンティニュアルラーニングネットワークのうち、少なくとも一つを修正及び改善する段階;
を含む方法。
【請求項2】
前記(a)段階において、
前記学習装置は、前記オートラベリングネットワークをもって前記サブラベルなしのデータの各々をラベリングして中間ラベル付きのデータを生成するようにし、前記中間ラベル付きのデータに対するアンサーティンティ(uncertainty)を評価して予測されたロスを生成するようにし、予測されたロスがロス臨界値以上の第1の中間ラベル付きのデータを少なくとも一つのヒューマンラベラーに伝送して、前記ヒューマンラベラーをもって前記第1の中間ラベル付きのデータを検証して検証されたラベル付きのデータを生成するようにし、前記検証されたラベル付きのデータと前記予測されたロスが前記ロス臨界値未満の第2の中間ラベル付きのデータとを前記新規ラベル付きのデータで生成する、請求項1に記載の方法。
【請求項3】
前記学習装置は、学習用データを前記オートラベリングネットワークに入力して、前記オートラベリングネットワークをもって前記学習用データをラベリングして学習用ラベル付きのデータを生成するようにし、前記学習用データに対する学習用アンサーティンティを評価して学習用予測されたロスを生成するようにし、前記学習用ラベル付きのデータとこれに対応する原本正解とを参照した学習用ラベリングロスと、前記学習用ラベリングロスと前記学習用予測されたロスとの差によるロス予測エラーとをバックプロパゲーションして前記オートラベリングネットワークを学習させた状態である、請求項2に記載の方法。
【請求項4】
前記学習装置は、前記検証されたラベル付きのデータと前記第1の中間ラベル付きのデータとを参照した正確度ロスを利用して前記オートラベリングネットワークをコンティニュアル学習させる、請求項2に記載の方法。
【請求項5】
前記(b)段階において、
前記既存ラベル付きのデータに対する前記既存ラーニングネットワークの既存出力情報に対する既存ロスを平均した平均ロスをベースロスとして獲得した状態で、
前記学習装置は、前記コンティニュアルラーニングネットワークをもって前記サンプリングされた新規ラベル付きのデータと前記サンプリングされた既存ラベル付きのデータとが1:1の割合になるように前記ミニバッチを生成し、前記サンプリングされた新規ラベル付きのデータに対する前記既存ラーニングネットワークのサンプリングされた新規出力情報を参照した新規ロスの全てを利用して前記既存ラーニングネットワークを学習させるようにし、前記サンプリングされた既存ラベル付きのデータに対する前記既存ラーニングネットワークのサンプリングされた既存出力情報を参照した既存ロスのうち、前記ベースロス以上の特定既存ロスのみを利用して前記既存ラーニングネットワークを学習させる、請求項1に記載の方法。
【請求項6】
前記(c)段階において、
前記学習装置は、前記エクスプレイナブル分析ネットワークをもって検証データに対する前記学習されたラーニングネットワークの検証出力情報の適合性を評価してピクセルワイズ説明を生成するようにし、前記ピクセルワイズ説明を前記インサイトフルの結果として獲得する、請求項1に記載の方法。
【請求項7】
前記(a)段階において、
前記学習装置は、前記アクティブラーニングネットワークをもって前記ラベルなしのデータに対する前記オートラベリングネットワークの第1のラベリング出力情報と前記既存ラーニングネットワークの第2のラベリング出力情報とを比べて、第1のラベリング出力情報と第2のラベリング出力情報との差のうち、差閾以上の特定差に対応される特定ラベルなしのデータを前記サブラベルなしのデータとして抽出する、請求項1に記載の方法。
【請求項8】
前記(a)段階において、
前記学習装置は、前記ラベルなしのデータを第1の変換方法ないし第nの変換方法によって第1の変換されたラベルなしのデータないし第nの変換されたラベルなしのデータに変換し、前記第1の変換されたラベルなしのデータないし前記第nの変換されたラベルなしのデータを前記アクティブラーニングネットワークに入力して、前記アクティブラーニングネットワークをもって前記第1の変換されたラベルなしのデータないし前記第nの変換されたラベルなしのデータの各々に対する前記既存ラーニングネットワークの第1の変換された出力情報ないし第nの変換された出力情報の分散を評価するようにし、前記分散のうち、分散臨界値以上の特定分散に対応される特定ラベルなしのデータを前記サブラベルなしのデータとして抽出させる、請求項1に記載の方法。
【請求項9】
前記(a)段階において、
前記学習装置は、前記アクティブラーニングネットワークをもって前記既存ラーニングネットワークを介して前記ラベルなしのデータに対するコンフィデンスを測定するようにし、コンフィデンスが最も低い順に既設定された個数になる特定ラベルなしのデータを前記サブラベルなしのデータとして抽出させる、請求項1に記載の方法。
【請求項10】
AI(Artificial Intelligence)によるディープラーニングネットワークを学習させる学習装置において、
AIによるディープラーニングネットワークを学習させるためのインストラクションが格納されたメモリ;及び
前記メモリに格納されたインストラクションによって前記AIによる前記ディープラーニングネットワークを学習させるための動作を遂行するプロセッサ;
を含み、
前記プロセッサは、(I)ラベルなしのデータをアクティブラーニングネットワークに入力して、前記アクティブラーニングネットワークをもって前記ラベルなしのデータのうち、
既存ラベル付きのデータを利用して学習された状態である既存ラーニングネットワークの学習に有用なハードイグザンプル(hard example)
として判断されるサブラベルなしのデータを抽出するようにし、前記サブラベルなしのデータをオートラベリングネットワークに入力して前記オートラベリングネットワークをもって前記サブラベルなしのデータの各々をラベリングして新規ラベル付きのデータを生成させるプロセス、(II)コンティニュアルラーニングネットワークをもって前記新規ラベル付きのデータと前記既存ラベル付きのデータとをサンプリングして、サンプリングされた新規ラベル付きのデータとサンプリングされた既存ラベル付きのデータとを含むミニバッチを生成するようにし、前記ミニバッチを利用して前記既存ラーニングネットワークを学習させ、前記サンプリングされた新規ラベル付きのデータは学習に全て反映し、前記サンプリングされた既存ラベル付きのデータは前記既存ラーニングネットワークの性能が低くなる場合にのみ学習に反映して前記既存ラーニングネットワークを学習させ、学習されたラーニングネットワークを生成させるプロセス、及び(III)エクスプレイナブル分析ネットワークをもって前記学習されたラーニングネットワークを介して検証データに対するインサイトフル(insightful)結果を生成するようにし、前記インサイトフル結果を少なくとも一つのヒューマンエンジニアに伝送して前記ヒューマンエンジニアをもって前記インサイトフル結果を参照して前記学習されたラーニングネットワークの性能を分析した分析結果を伝送するようにし、前記分析結果を参照して前記アクティブラーニングネットワーク及び前記コンティニュアルラーニングネットワークのうち、少なくとも一つを修正及び改善するプロセスを遂行する学習装置。
【請求項11】
前記プロセッサは、前記(I)プロセスにおいて、前記オートラベリングネットワークをもって前記サブラベルなしのデータの各々をラベリングして中間ラベル付きのデータを生成するようにし、前記中間ラベル付きのデータに対するアンサーティンティ(uncertainty)を評価して予測されたロスを生成するようにし、予測されたロスがロス臨界値以上の第1の中間ラベル付きのデータを少なくとも一つのヒューマンラベラーに伝送して、前記ヒューマンラベラーをもって前記第1の中間ラベル付きのデータを検証して検証されたラベル付きのデータを生成するようにし、前記検証されたラベル付きのデータと前記予測されたロスが前記ロス臨界値未満の第2の中間ラベル付きのデータとを前記新規ラベル付きのデータで生成する、請求項10に記載の学習装置。
【請求項12】
前記プロセッサは、学習用データを前記オートラベリングネットワークに入力し、前記オートラベリングネットワークをもって前記学習用データをラベリングして学習用ラベル付きのデータを生成するようにし、前記学習用データに対する学習用アンサーティンティを評価して学習用予測されたロスを生成するようにし、前記学習用ラベル付きのデータとこれに対応される原本正解とを参照した学習用ラベリングロスと、前記学習用ラベリングロスと前記学習用予測されたロスとの差によるロス予測エラーとをバックプロパゲーションして前記オートラベリングネットワークを学習させた状態である、請求項11に記載の学習装置。
【請求項13】
前記プロセッサは、前記検証されたラベル付きのデータと前記第1の中間ラベル付きのデータとを参照した正確度ロスを利用して前記オートラベリングネットワークをコンティニュアル学習させる、請求項11に記載の学習装置。
【請求項14】
前記プロセッサは、前記(II)プロセスにおいて、前記既存ラベル付きのデータに対する前記既存ラーニングネットワークの既存出力情報に対する既存ロスを平均した平均ロスをベースロスとして獲得した状態で、前記コンティニュアルラーニングネットワークをもって前記サンプリングされた新規ラベル付きのデータと前記サンプリングされた既存ラベル付きのデータとが1:1の割合になるように前記ミニバッチを生成し、前記サンプリングされた新規ラベル付きのデータに対する前記既存ラーニングネットワークのサンプリングされた新規出力情報を参照した新規ロスの全てを利用して前記既存ラーニングネットワークを学習させるようにし、前記サンプリングされた既存ラベル付きのデータに対する前記既存ラーニングネットワークのサンプリングされた既存出力情報を参照した既存ロスのうち、前記ベースロス以上の特定既存ロスのみを利用して前記既存ラーニングネットワークを学習させる、請求項10に記載の学習装置。
【請求項15】
前記プロセッサは、前記(III)プロセスにおいて、前記エクスプレイナブル分析ネットワークをもって検証データに対する前記学習されたラーニングネットワークの検証出力情報を適合性評価してピクセルワイズ説明を生成するようにし、前記ピクセルワイズ説明を前記インサイトフル結果として獲得する、請求項10に記載の学習装置。
【請求項16】
前記プロセッサは、前記(I)プロセスにおいて、前記アクティブラーニングネットワークをもって前記ラベルなしのデータに対する前記オートラベリングネットワークの第1のラベリング出力情報と前記既存ラーニングネットワークの第2のラベリング出力情報とを比べて、第1のラベリング出力情報と第2のラベリング出力情報との差の中で差閾以上の特定差に対応される特定ラベルなしのデータを前記サブラベルなしのデータとして抽出する、請求項10に記載の学習装置。
【請求項17】
前記プロセッサは、前記(I)プロセスにおいて、前記ラベルなしのデータを第1の変換方法ないし第nの変換方法によって第1の変換されたラベルなしのデータないし第nの変換されたラベルなしのデータに変換し、前記第1の変換されたラベルなしのデータないし前記第nの変換されたラベルなしのデータを前記アクティブラーニングネットワークに入力して、前記アクティブラーニングネットワークをもって前記第1の変換されたラベルなしのデータないし前記第nの変換されたラベルなしのデータの各々に対する前記既存ラーニングネットワークの第1の変換された出力情報ないし第nの変換された出力情報の分散を評価するようにし、前記分散の中で分散臨界値以上の特定分散に対応される特定ラベルなしのデータを前記サブラベルなしのデータとして抽出する、請求項10に記載の学習装置。
【請求項18】
前記プロセッサは、前記(I)プロセスにおいて、前記アクティブラーニングネットワークをもって前記既存ラーニングネットワークを介して前記ラベルなしのデータに対するコンフィデンスを測定するようにし、コンフィデンスが最も低い順に既設定された個数になる特定ラベルなしのデータを前記サブラベルなしのデータとして抽出する、請求項10に記載の学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ディープラーニングネットワークを学習させる方法及びこれを利用した学習装置に係り、より詳しくは、AI(Artificial Intelligence)によるディープラーニングネットワークを学習させる方法及びこれを利用した学習装置に関する。
【背景技術】
【0002】
最近、機械学習(machine learning)を利用して物体の識別などを遂行する方法に対する研究が行われている。
【0003】
このような機械学習の一つとして入力層(input layer)と出力層(output layer)との間にいくつかの隠れ層(hidden layer)を持つ神経網を利用した機械学習であるディープラーニング(deep learning)は高い識別性能を持っている。
【0004】
そして、ディープラーニングを利用するニューラルネットワーク(neural network)は、一般的にロス(loss)を利用したバックプロパゲーション(backpropagation)を通じて学習する。
【0005】
このようなディープラーニングネットワークの学習のために、従来はデータ収集政策にしたがって生(raw)データを収集し、ヒューマンラベラーが収集された生データにアノテーション(annotation)して新しいトレーニングデータを生成する。以後、新しいトレーニングデータと既存トレーニングデータとを利用してディープラーニングネットワークを学習させた後、ヒューマンエンジニアが性能を分析した結果を参照してディープラーニングネットワークの学習のための学習アルゴリズムを修正及び改善する。また、分析した結果を参照してデータ収集政策を変更し、誤ったアノテーションがあるか否かを再検収して修正する。
【0006】
しかし、このような従来の方法では、ディープラーニングネットワークの性能がよくなるほど、学習に有用なハードイグザンプル(hard example)は稀になるので、新しいトレーニングデータによるディープラーニングネットワークの性能向上効果が減少するようになり、ヒューマンラベラーによるデータアノテーションの投資収益が減少するようになる。
【0007】
また、従来の方法では、ヒューマンラベラーによってアノテーションされた新規トレーニングデータと既存トレーニングデータとを設定の割合で反映する場合、既存トレーニングデータは段々多くなり、それによって新規トレーニングデータによるディープラーニングネットワークの学習効果が段々減少するようになる。
【0008】
また、従来の方法では、ヒューマンエンジニアによる性能分析結果のみでは学習アルゴリズム、データ収集政策、トレーニングデータなどの学習モデルのいかなる部分が原因であり、改善すべきであるか分からない。すなわち、とても小さい要素一つを変更してみて、性能を比べる非効率的なトライ・アンド・エラーをするか、またはもっと詳細な原因を捜すために学習されたディープラーニングネットワークの結果値を一々直接検討しながら原因を推測しなければならないので、ヒューマンエンジニアの経験と判断に依存しなければならない。
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明は、上述した問題点を全て解決することをその目的とする。
【0010】
本発明は、データアノテーションの投資収益を増加させることを他の目的とする。
【0011】
本発明は、新規トレーニングデータによるディープラーニングネットワークの学習効果を向上させることをまた他の目的とする。
【0012】
本発明は、学習されたディープラーニングネットワークの出力値から性能を分析するためのインサイトフル(insightful)情報を提供することをまた他の目的とする。
【0013】
本発明は、ディープラーニングネットワークの学習のためのヒューマンの干渉を最小化することをまた他の目的とする。
【課題を解決するための手段】
【0014】
本発明の一実施例によれば、AI(Artificial Intelligence)によるディープラーニングネットワークを学習させる方法において、(a)学習装置が、ラベルなしのデータをアクティブラーニングネットワークに入力して、前記アクティブラーニングネットワークをもって前記ラベルなしのデータのうち、既存ラーニングネットワーク(前記既存ラーニングネットワークは既存ラベル付きのデータを利用して学習された状態である)の学習に有用なハードイグザンプル(hard example)で判断されるサブラベルなしのデータを抽出するようにし、前記サブラベルなしのデータをオートラベリングネットワークに入力して前記オートラベリングネットワークをもって前記サブラベルなしのデータの各々をラベリングして新規ラベル付きのデータを生成させる段階;(b)前記学習装置が、コンティニュアルラーニングネットワークをもって前記新規ラベル付きのデータと前記既存ラベル付きのデータをサンプリングし、サンプリングされた新規ラベル付きのデータとサンプリングされた既存ラベル付きのデータとを含むミニバッチを生成するようにし、前記ミニバッチを利用して前記既存ラーニングネットワークを学習させ、前記サンプリングされた新規ラベル付きのデータは学習に全て反映し、前記サンプリングされた既存ラベル付きのデータは、前記既存ラーニングネットワークの性能が低くなる場合にのみ学習に反映して前記既存ラーニングネットワークを学習させ、学習されたラーニングネットワークを生成させる段階;及び(c)前記学習装置が、エクスプレイナブル分析ネットワークをもって前記学習されたラーニングネットワークを介して検証データに対するインサイトフル(insightful)結果を生成するようにし、前記インサイトフル結果を少なくとも一つのヒューマンエンジニアに伝送して、前記ヒューマンエンジニアをもって前記インサイトフル結果を参照して前記学習されたラーニングネットワークの性能を分析した分析結果を伝送するようにし、前記分析結果を参照して前記アクティブラーニングネットワーク及び前記コンティニュアルラーニングネットワークのうち、少なくとも一つを修正及び改善する段階;を含む方法が提供される。
【0015】
前記学習装置は、前記オートラベリングネットワークをもって前記サブラベルなしのデータの各々をラベリングして中間ラベル付きのデータを生成するようにし、前記中間ラベル付きのデータに対するアンサーティンティ(uncertainty)を評価して予測されたロスを生成するようにし、予測されたロスがロス臨界値以上の第1の中間ラベル付きのデータを少なくとも一つのヒューマンラベラーに伝送して、前記ヒューマンラベラーをもって前記第1の中間ラベル付きのデータを検証して検証されたラベル付きのデータを生成するようにし、前記検証されたラベル付きのデータと前記予測されたロスが前記ロス臨界値未満の第2の中間ラベル付きのデータとを前記新規ラベル付きのデータで生成することができる。
【0016】
前記学習装置は、学習用データを前記オートラベリングネットワークに入力して、前記オートラベリングネットワークをもって前記学習用データをラベリングして学習用ラベル付きのデータを生成するようにし、前記学習用データに対する学習用アンサーティンティを評価して学習用予測されたロスを生成するようにし、前記学習用ラベル付きのデータとこれに対応する原本正解とを参照した学習用ラベリングロスと、前記学習用ラベリングロスと前記学習用予測されたロスとの差によるロス予測エラーとをバックプロパゲーションして前記オートラベリングネットワークを学習させた状態であってもよい。
【0017】
前記学習装置は、前記検証されたラベル付きのデータと前記第1の中間ラベル付きのデータとを参照した正確度ロスを利用して前記オートラベリングネットワークをコンティニュアル学習させることができる。
【0018】
前記(b)段階において、前記既存ラベル付きのデータに対する前記既存ラーニングネットワークの既存出力情報に対する既存ロスを平均した平均ロスをベースロスとして獲得した状態で、前記学習装置は前記コンティニュアルラーニングネットワークをもって前記サンプリングされた新規ラベル付きのデータと前記サンプリングされた既存ラベル付きのデータとが1:1の割合になるように前記ミニバッチを生成し、前記サンプリングされた新規ラベル付きのデータに対する前記既存ラーニングネットワークのサンプリングされた新規出力情報を参照した新規ロスの全てを利用して前記既存ラーニングネットワークを学習させるようにし、前記サンプリングされた既存ラベル付きのデータに対する前記既存ラーニングネットワークのサンプリングされた既存出力情報を参照した既存ロスのうち、前記ベースロス以上の特定既存ロスのみを利用して前記既存ラーニングネットワークを学習させることができる。
【0019】
前記(c)段階において、前記学習装置は、前記エクスプレイナブル分析ネットワークをもって検証データに対する前記学習されたラーニングネットワークの検証出力情報の適合性を評価してピクセルワイズ説明を生成するようにし、前記ピクセルワイズ説明を前記インサイトフルの結果として獲得することができる。
【0020】
前記(a)段階において、前記学習装置は、前記アクティブラーニングネットワークをもって前記ラベルなしのデータに対する前記オートラベリングネットワークの第1のラベリング出力情報と前記既存ラーニングネットワークの第2のラベリング出力情報とを比べて、第1のラベリング出力情報と第2のラベリング出力情報との差のうち、差閾以上の特定差に対応される特定ラベルなしのデータを前記サブラベルなしのデータとして抽出することができる。
【0021】
前記(a)段階において、前記学習装置は、前記ラベルなしのデータを第1の変換方法ないし第nの変換方法によって第1の変換されたラベルなしのデータないし第nの変換されたラベルなしのデータに変換し、前記第1の変換されたラベルなしのデータないし前記第nの変換されたラベルなしのデータを前記アクティブラーニングネットワークに入力して、前記アクティブラーニングネットワークをもって前記第1の変換されたラベルなしのデータないし前記第nの変換されたラベルなしのデータの各々に対する前記既存ラーニングネットワークの第1の変換された出力情報ないし第nの変換された出力情報の分散を評価するようにし、前記分散のうち、分散臨界値以上の特定分散に対応される特定ラベルなしのデータを前記サブラベルなしのデータとして抽出させることができる。
【0022】
前記(a)段階において、前記学習装置は、前記アクティブラーニングネットワークをもって前記既存ラーニングネットワークを介して前記ラベルなしのデータに対するコンフィデンスを測定するようにし、コンフィデンスが最も低い順に既設定された個数になる特定ラベルなしのデータを前記サブラベルなしのデータとして抽出させることができる。
【0023】
また、本発明の一実施例によれば、AI(Artificial Intelligence)によるディープラーニングネットワークを学習させる学習装置において、AIによるディープラーニングネットワークを学習させるためのインストラクションが格納されたメモリ;及び前記メモリに格納されたインストラクションによって前記AIによる前記ディープラーニングネットワークを学習させるための動作を遂行するプロセッサ;を含み、前記プロセッサは、(I)ラベルなしのデータをアクティブラーニングネットワークに入力して、前記アクティブラーニングネットワークをもって前記ラベルなしのデータのうち、既存ラーニングネットワーク(前記既存ラーニングネットワークは既存ラベル付きのデータを利用して学習された状態である)の学習に有用なハードイグザンプル(hard example)で判断されるサブラベルなしのデータを抽出するようにし、前記サブラベルなしのデータをオートラベリングネットワークに入力して前記オートラベリングネットワークをもって前記サブラベルなしのデータの各々をラベリングして新規ラベル付きのデータを生成させるプロセス、(II)コンティニュアルラーニングネットワークをもって前記新規ラベル付きのデータと前記既存ラベル付きのデータとをサンプリングして、サンプリングされた新規ラベル付きのデータとサンプリングされた既存ラベル付きのデータとを含むミニバッチを生成するようにし、前記ミニバッチを利用して前記既存ラーニングネットワークを学習させ、前記サンプリングされた新規ラベル付きのデータは学習に全て反映し、前記サンプリングされた既存ラベル付きのデータは前記既存ラーニングネットワークの性能が低くなる場合にのみ学習に反映して前記既存ラーニングネットワークを学習させ、学習されたラーニングネットワークを生成させるプロセス、及び(III)エクスプレイナブル分析ネットワークをもって前記学習されたラーニングネットワークを介して検証データに対するインサイトフル(insightful)結果を生成するようにし、前記インサイトフル結果を少なくとも一つのヒューマンエンジニアに伝送して前記ヒューマンエンジニアをもって前記インサイトフル結果を参照して前記学習されたラーニングネットワークの性能を分析した分析結果を伝送するようにし、前記分析結果を参照して前記アクティブラーニングネットワーク及び前記コンティニュアルラーニングネットワークのうち、少なくとも一つを修正及び改善するプロセスを遂行する学習装置が提供される。
【0024】
前記プロセッサは、前記(I)プロセスにおいて、前記オートラベリングネットワークをもって前記サブラベルなしのデータの各々をラベリングして中間ラベル付きのデータを生成するようにし、前記中間ラベル付きのデータに対するアンサーティンティ(uncertainty)を評価して予測されたロスを生成するようにし、予測されたロスがロス臨界値以上の第1の中間ラベル付きのデータを少なくとも一つのヒューマンラベラーに伝送して、前記ヒューマンラベラーをもって前記第1の中間ラベル付きのデータを検証して検証されたラベル付きのデータを生成するようにし、前記検証されたラベル付きのデータと前記予測されたロスが前記ロス臨界値未満の第2の中間ラベル付きのデータとを前記新規ラベル付きのデータで生成することができる。
【0025】
前記プロセッサは、学習用データを前記オートラベリングネットワークに入力し、前記オートラベリングネットワークをもって前記学習用データをラベリングして学習用ラベル付きのデータを生成するようにし、前記学習用データに対する学習用アンサーティンティを評価して学習用予測されたロスを生成するようにし、前記学習用ラベル付きのデータとこれに対応される原本正解とを参照した学習用ラベリングロスと、前記学習用ラベリングロスと前記学習用予測されたロスとの差によるロス予測エラーとをバックプロパゲーションして前記オートラベリングネットワークを学習させた状態であってもよい。
【0026】
前記プロセッサは、前記検証されたラベル付きのデータと前記第1の中間ラベル付きのデータとを参照した正確度ロスを利用して前記オートラベリングネットワークをコンティニュアル学習させることができる。
【0027】
前記プロセッサは、前記(II)プロセスにおいて、前記既存ラベル付きのデータに対する前記既存ラーニングネットワークの既存出力情報に対する既存ロスを平均した平均ロスをベースロスとして獲得した状態で、前記コンティニュアルラーニングネットワークをもって前記サンプリングされた新規ラベル付きのデータと前記サンプリングされた既存ラベル付きのデータとが1:1の割合になるように前記ミニバッチを生成し、前記サンプリングされた新規ラベル付きのデータに対する前記既存ラーニングネットワークのサンプリングされた新規出力情報を参照した新規ロスの全てを利用して前記既存ラーニングネットワークを学習させるようにし、前記サンプリングされた既存ラベル付きのデータに対する前記既存ラーニングネットワークのサンプリングされた既存出力情報を参照した既存ロスのうち、前記ベースロス以上の特定既存ロスのみを利用して前記既存ラーニングネットワークを学習させることができる。
【0028】
前記プロセッサは、前記(III)プロセスにおいて、前記エクスプレイナブル分析ネットワークをもって検証データに対する前記学習されたラーニングネットワークの検証出力情報を適合性評価してピクセルワイズ説明を生成するようにし、前記ピクセルワイズ説明を前記インサイトフル結果として獲得することができる。
【0029】
前記プロセッサは、前記(I)プロセスにおいて、前記アクティブラーニングネットワークをもって前記ラベルなしのデータに対する前記オートラベリングネットワークの第1のラベリング出力情報と前記既存ラーニングネットワークの第2のラベリング出力情報とを比べて、第1のラベリング出力情報と第2のラベリング出力情報との差の中で差閾以上の特定差に対応される特定ラベルなしのデータを前記サブラベルなしのデータとして抽出することができる。
【0030】
前記プロセッサは、前記(I)プロセスにおいて、前記ラベルなしのデータを第1の変換方法ないし第nの変換方法によって第1の変換されたラベルなしのデータないし第nの変換されたラベルなしのデータに変換し、前記第1の変換されたラベルなしのデータないし前記第nの変換されたラベルなしのデータを前記アクティブラーニングネットワークに入力して、前記アクティブラーニングネットワークをもって前記第1の変換されたラベルなしのデータないし前記第nの変換されたラベルなしのデータの各々に対する前記既存ラーニングネットワークの第1の変換された出力情報ないし第nの変換された出力情報の分散を評価するようにし、前記分散の中で分散臨界値以上の特定分散に対応される特定ラベルなしのデータを前記サブラベルなしのデータとして抽出することができる。
【0031】
前記プロセッサは、前記(I)プロセスにおいて、前記アクティブラーニングネットワークをもって前記既存ラーニングネットワークを介して前記ラベルなしのデータに対するコンフィデンスを測定するようにし、コンフィデンスが最も低い順に既設定された個数になる特定ラベルなしのデータを前記サブラベルなしのデータとして抽出することができる。
【0032】
これ以外にも、本発明の方法を実行するためのコンピュータープログラムを記録するためのコンピューター読み取りができる記録媒体がさらに提供される。
【発明の効果】
【0033】
本発明は、収集された生データのうち、ディープラーニングネットワークの性能を向上させることができるハードイグザンプルを抽出し、データアノテーションを遂行させることでデータアノテーションの投資収益を向上することができるようになる。
【0034】
また、本発明は、新規トレーニングデータと既存トレーニングデータとの最適反映の割合を自動に調整することで、ディープラーニングネットワークの学習効果を極大化することができるようになる。
【0035】
また、本発明は、学習されたディープラーニングネットワークの出力値より性能を分析するためのインサイトフル情報を提供することでヒューマンエンジニアによる性能分析の正確性を向上させることができるし、性能分析に要される時間を最小化することができるようになる。
【0036】
また、本発明は、ディープラーニングネットワークの学習のためのヒューマンの干渉を最小化することによって、ディープラーニングネットワークの学習のための費用及び時間を節減することができるようになる。
【図面の簡単な説明】
【0037】
本発明の実施例の説明に利用されるために添付された以下の図面は、本発明の実施例のうち単に一部であるに過ぎず、本発明の属する技術分野において通常の知識を有する者(以下「通常の技術者」)にとっては、発明的作業が行われずにこれらの図面に基づいて他の各図面が得られ得る。
【0038】
【
図1】
図1は、本発明の一実施例に係わるAIによるディープラーニングネットワークを学習させる学習装置を概略的に図示したものである。
【
図2】
図2は、本発明の一実施例に係わるAIによるディープラーニングネットワークを学習させる方法を概略的に図示したものである。
【
図3】
図3は、本発明の一実施例に係わるAIによるディープラーニングネットワークを学習させる方法において、アクティブラーニングネットワークの動作過程を概略的に図示したものである。
【
図4】
図4は、本発明の一実施例に係わるAIによるディープラーニングネットワークを学習させる方法において、アクティブラーニングネットワークの他の動作過程を概略的に図示したものである。
【
図5】
図5は、本発明の一実施例に係わるAIによるディープラーニングネットワークを学習させる方法において、オートラベリングネットワークの動作過程を概略的に図示したものである。
【
図6】
図6は、本発明の一実施例に係わるAIによるディープラーニングネットワークを学習させる方法において、オートラベリングネットワークを学習させる過程を概略的に図示したものである。
【
図7】
図7は、本発明の一実施例に係わるAIによるディープラーニングネットワークを学習させる方法において、コンティニュアル(continual)ラーニングネットワークの動作過程を概略的に図示したものである。
【
図8】
図8は、本発明の一実施例に係わるAIによるディープラーニングネットワークを学習させる方法において、エクスプレイナブル(explainable)分析ネットワークの動作過程を概略的に図示したものである。
【発明を実施するための形態】
【0039】
後述する本発明に対する詳細な説明は、本発明の目的、技術的解法及び長所を明確にするために、本発明が実施されることができる特定実施例を例示として図示する添付図面を参照する。これらの実施例は通常の技術者が本発明を実施することができるよう、十分且つ詳しく説明される。
【0040】
また、本発明の詳細な説明及び請求項にわたって「含む」という単語及びその変形は、他の技術的特徴、付加物、構成要素または段階を取り除くことで意図されたものではない。通常の技術者に本発明の他の目的、長所及び特性が、一部は本マニュアルから、そして一部は本発明の実施より表れる。以下の例示及び図面は実の例として提供され、本発明を限定するものとして意図されたものではない。
【0041】
さらに、本発明は本明細書に表示された実施例の全ての可能な組み合わせを網羅する。本発明の多様な実施例は相違するが、相互排他的である必要はないものとして理解しなければならない。例えば、ここに記載されている特定形状、構造及び特性は、一実施例に係わって本発明の精神及び範囲を脱することなく他の実施例に具現されることができる。また、各々の開示された実施例内の個別構成要素の位置または配置は、本発明の精神及び範囲を脱することなく変更されることができることを理解しなければならない。したがって、後述する詳細な説明は限定的な意味として取るものではなく、本発明の範囲は、適切に説明されれば、それらの請求項が主張することと均等な全ての範囲と共に添付された請求項のみによって限定される。図面で類似な参照符号は幾つかの側面にわたって同一または類似な機能を指す。
【0042】
以下、本発明が属する技術分野における通常の知識を有する者が本発明を容易に実施できるようにするために、本発明の好ましい実施例に関して添付の図面を参照して詳しく説明する。
【0043】
図1は本発明の一実施例に係わるAIによるディープラーニングネットワークを学習させる学習装置を概略的に図示したものであって、
図1を参照すれば、学習装置1000はAI基盤のディープラーニングネットワークを学習させるためのインストラクションが格納されたメモリ1001と、メモリ1001に格納されたインストラクションにしたがってAIによるディープラーニングネットワークを学習させるための動作を遂行するプロセッサ1002とを含むことができる。
【0044】
具体的に、学習装置1000は典型的にコンピューティング装置(例えば、コンピュータープロセッサ、メモリ、ストレージ、入力装置及び出力装置、その他既存コンピューティング装置の構成要素を含むことができる装置;ルーター、スイッチなどのような電子通信装置;ネットワーク付きストレージ(NAS)及びストレージ領域ネットワーク(SAN)のような電子情報ストレージシステム)とコンピューターソフトウェア(すなわち、コンピューティング装置をもって特定方式で機能させるインストラクション)の組み合わせを利用して所望のシステム性能を達成することであってもよい。
【0045】
また、コンピューティング装置のプロセッサは、MPU(Micro Processing Unit)またはCPU(Central Processing Unit)、キャッシュメモリ(Cache Memory)、データバス(Data Bus)などのハードウェア構成を含むことができる。また、コンピューティング装置は、運営体制、特定目的を遂行するアプリケーションのソフトウェア構成をさらに含むこともできる。
【0046】
しかし、コンピューティング装置が本発明を実施するためのミディアム、プロセッサ及びメモリが統合された形態のインテグレイティド(integrated)プロセッサを含む場合を排除するものではない。
【0047】
このように構成された本発明の一実施例に係わるAIによるディープラーニングネットワークを学習させる学習装置1000を利用してAIによるディープラーニングネットワークを学習させる方法について
図2を参照して説明すれば次のとおりである。
【0048】
先ず、学習に利用するための生データであるラベルなし(unlabeled)のデータが収集されれば、学習装置1000はラベルなしのデータをアクティブラーニングネットワーク100に入力して、アクティブラーニングネットワーク100をもってラベルなしのデータのうち、既存(existing)ラーニングネットワークの学習に有用なハードイグザンプル(hard example)データで判断されるサブ(sub)ラベルなしのデータを抽出させることができる。前記既存ラーニングネットワークは既存ラベル付き(labeled)のデータを利用して学習された状態であってもよい。
【0049】
この時、既存ラーニングネットワークの学習に有用なハードイグザンプルは、既存収集されてディープラーニングネットワークの学習に利用されたトレーニングデータとは差があるデータであってもよい。
【0050】
そして、アクティブラーニングネットワーク100はアンサーティンティ(uncertainty)サンプリング(sampling)、Query‐by‐Committee、Expected‐Mode‐Changeなどの多様な技法を利用してラベルなしのデータからハードイグザンプルのサブラベルなしのデータを抽出することができる。
【0051】
一例として、
図3を参照してアクティブラーニングネットワーク100がラベルなしのデータからサブラベルなしのデータを抽出する過程を説明すれば次のとおりである。
【0052】
学習装置1000は、ラベルなしのデータをアクティブラーニングネットワーク100に入力して、アクティブラーニングネットワーク100をもってラベルなしのデータに対するオートラベリングネットワーク200の第1のラベリング出力情報と既存ラーニングネットワーク400の第2のラベリング出力情報とを比べて、第1のラベリング出力情報と第2のラベリング出力情報との差(difference)のうち、差閾以上の特定差に対応される特定ラベルなしのデータをサブラベルなしのデータとして抽出することができる。
【0053】
すなわち、学習装置1000は収集されたラベルなしのデータをアクティブラーニングネットワーク100に入力することができる。
【0054】
それなら、アクティブラーニングネットワーク100はラベルなしのデータをオートラベリングネットワーク200と既存ラーニングネットワーク400にそれぞれ入力することができる。
【0055】
これによって、オートラベリングネットワーク200はラベルなしのデータの各々に対してラベリングを遂行し、ラベルなしのデータの各々に対する第1のラベリング情報を出力することができる。この時、第1のラベリング情報はラベルなしのデータに対する原本正解(ground truth)であり、原本正解はオブジェクトに対する領域情報、オブジェクトのクラス情報、ピクセルのクラス情報、オブジェクトの位置情報、ポイントの位置情報など多様な情報を含むことができる。
【0056】
そして、既存ラーニングネットワーク400はラベルなしのデータの各々に対してラーニング演算を遂行し、ラベルなしのデータの各々に対する第2のラベリング情報を出力することができる。この時、第2のラベリング情報はラベルなしのデータに対する認識結果であり、既存ラーニングネットワーク400が遂行しようとするタスク(task)によるオブジェクトに対する領域情報、オトゼックトのクラス情報、ピクセルのクラス情報、オブジェクトの位置情報、ポイントの位置情報など多様な情報を含むことができる。
【0057】
以後、アクティブラーニングネットワーク100は、第1のラベリング情報と第2のラベリング情報とを比べて第1のラベリング情報と第2のラベリング情報との差(difference)を確認し、第1のラベリング情報と第2のラベリング情報の差が差閾未満、すなわち、第1のラベリング情報と第2のラベリング情報とが同一または類似なものと確認されれば、これに対応されるラベルなしのデータを学習用データから取り除く、第1のラベリング情報と第2のラベリング情報との差が差閾以上、すなわち、第1のラベリング情報と第2のラベリング情報との差が大きければ、これに対応されるラベルなしのデータをハードイグザンプルとして判断してサブラベルなしのデータとして抽出することができる。
【0058】
他の実施例として、
図4を参照してアクティブラーニングネットワーク100がラベルなしのデータからサブラベルなしのデータを抽出する他の過程を説明すれば次のとおりである。
【0059】
学習装置1000は、ラベルなしのデータを第1の変換(modify)方法ないし第nの変換方法によって第1の変換されたラベルなしのデータないし第nの変換されたラベルなしのデータに変換し、第1の変換されたラベルなしのデータないし第nの変換されたラベルなしのデータをアクティブラーニングネットワーク100に入力し、アクティブラーニングネットワーク100をもって第1の変換されたラベルなしのデータないし第nの変換されたラベルなしのデータの各々に対する既存ラーニングネットワーク400の第1の変換された出力情報ないし第nの変換された出力情報の分散を測定/評価するようにし、分散の中で分散臨界値以上の特定分散に対応される特定ラベルなしのデータをサブラベルなしのデータとして抽出させることができる。
【0060】
すなわち、学習装置1000はラベルなしのデータを第1の変換方法ないし第nの変換方法によって変換して第1の変換されたラベルなしのデータないし第nの変換されたラベルなしのデータを生成することができる。
【0061】
この時、変換方法はラベルなしのデータのサイズをリサイズしたり、ラベルなしのデータのアスペクト比(aspect ratio)を変更したり、ラベルなしのデータのカラートーン(color tone)を変更するなど、多様な方法で遂行することができる。
【0062】
そして、学習装置1000は第1の変換されたラベルなしのデータないし第nの変換されたラベルなしのデータを既存ラーニングネットワーク400に入力することができる。
【0063】
それなら、既存ラーニングネットワーク400は第1の変換されたラベルなしのデータないし第nの変換されたラベルなしのデータに対してラーニング演算を遂行して、第1の変換されたラベルなしのデータないし第nの変換されたラベルなしのデータに対する第1の変換された出力情報ないし第nの変換された出力情報を出力することができる。
【0064】
この時、第1の変換された出力情報ないし第nの変換された出力情報は、第1の変換されたラベルなしのデータないし第nの変換されたラベルなしのデータに対する認識結果であり、既存ラーニングネットワーク400が遂行しようとするタスクによるオブジェクトに対する領域情報、オトゼックトのクラス情報、ピクセルのクラス情報、オブジェクトの位置情報、ポイントの位置情報など多様な情報を含むことができる。
【0065】
以後、アクティブラーニングネットワーク100は第1の変換された出力情報ないし第nの変換された出力情報の分散を演算し、ラベルなしのデータの各々に対する分散が分散臨界値以上であるか否かを確認し、分散臨界値以上の分散に対応される特定ラベルなしのデータをサブラベルなしのデータとして抽出することができるし、分散臨界値未満の分散に対応されるラベルなしのデータは学習用データから除くことができる。
【0066】
また、学習装置1000は
図3と
図4による方法以外にも、コンフィデンス(confidence)サンプリングを通じてラベルなしのデータからサブラベルなしのデータを抽出することができる。一例として、学習装置1000は、アクティブラーニングネットワーク100をもって既存ラーニングネットワーク400を介してラベルなしのデータに対するコンフィデンスを測定するようにし、コンフィデンスが最も低い順に既設定された個数になる特定ラベルなしのデータをサブラベルなしのデータとして抽出させることもできる。
【0067】
次に、学習装置1000はサブラベルなしのデータをオートラベリングネットワーク200に入力して、オートラベリングネットワーク200をもってサブラベルなしのデータの各々をラベリング、すなわち、アノテーションを遂行して新規ラベル付きのデータを生成させることができる。
【0068】
すなわち、
図5を参照すれば、学習装置1000によってサブラベルなしのデータが入力されれば、オートラベリングネットワーク200はサブラベルなしのデータの各々に対するアノテーション、すなわち、原本正解の生成のためのラベリングを遂行して中間(intermediate)ラベル付きのデータを生成することができる。
【0069】
そして、オートラベリングネットワーク200は中間ラベル付きのデータに対するアンサーティンティ(uncertainty)を評価して予測された(predicted)ロスを生成することができる。
【0070】
すなわち、オートラベリングネットワーク200は中間ラベル付きのデータに対するラベリング情報を生成し、ラベリング情報に対するアンサーティンティを利用して予測されたロスを生成することができる。
【0071】
以後、オートラベリングネットワーク200は予測されたロスの各々をロス臨界値と比べて、予測されたロスがロス臨界値以上の第1の中間ラベル付きのデータを少なくとも一つのヒューマンラベラー(labeler)に伝送して、ヒューマンラベラーをもって第1の中間ラベル付きのデータを検証して検証された(verified)ラベル付きのデータを生成させることができる。そして、オートラベリングネットワーク200はヒューマンラベラーの検証によってラベリング情報が修正された検証済みのラベル付きのデータと、予測ロスがロス臨界値未満である第2の中間ラベル付きのデータを新規ラベル付きのデータとして生成することができる。一方、予測されたロスを利用して第1の中間ラベル付きのデータをヒューマンラベラーに伝送し、検証されたラベル付きのデータと第2の中間ラベル付きのデータとを新規ラベル付きのデータとして生成する動作を学習装置1000が遂行することもできる。
【0072】
この時、オートラベリングネットワーク200はラベルなしのデータをオートラベリングするように予め学習された状態であってもよい。
【0073】
一例として、
図6を参照すれば、原本正解を含む学習用データが獲得されれば、学習装置2000が学習用データをオートラベリングネットワーク200に入力し、オートラベリングネットワーク200をもって学習用データをラベリングして学習用ラベル付きのデータを生成するようにし、学習用データに対する学習用アンサーティンティを評価して学習用予測ロスを生成させることができる。この時、学習装置2000はAIによるディープラーニングネットワークを学習させるための学習装置1000と同一であるか、またはオートラベリングネットワーク200のみを学習させるための別途学習装置であってもよい。
【0074】
そして、学習装置2000はオートラベリングネットワーク200が生成した学習用ラベル付きのデータにおけるラベリング情報と、これに対応される原本正解とを参照して学習用ラベリングロスを演算し、学習用予測ロスと学習用ラベリングロスとを参照してロス予測エラーを演算する。以後、学習装置2000は学習用ラベリングロスとロス予測エラーとを利用したバックプロパゲーション(backpropagation)を介してオートラベリングネットワーク200を学習させることができる。
【0075】
一方、学習装置1000は検証されたラベル付きのデータと第1の中間ラベル付きのデータとを参照した正確度(accuracy)ロスを利用してオートラベリングネットワーク200をコンティニュアルラーニングさせることができる。これを通じて、オートラベリングネットワーク200の性能を継続的に向上させることができる。
【0076】
次に、学習装置1000はコンティニュアルラーニングネットワーク300をもって新規ラベル付きのデータと既存ラベル付きのデータとをサンプリングし、サンプリングされた新規ラベル付きのデータとサンプリングされた既存ラベル付きのデータとを含むミニバッチ(minibatch)を生成するようにし、ミニバッチを利用して既存ラーニングネットワーク400を学習させ、サンプリングされた新規ラベル付きのデータは学習に全て反映し、サンプリングされた既存ラベル付きのデータは既存ラーニングネットワーク400の性能が低くなる場合にのみ学習に反映して既存ラーニングネットワーク400を学習させ、学習されたラーニングネットワーク400aを生成させることができる。
【0077】
すなわち、学習装置1000はミニバッチを利用して既存ラーニングネットワーク400を学習させて学習されたラーニングネットワーク400aを生成し、学習されたラーニングネットワーク400aが既存ラベル付きのデータに対しては既存ラーニングネットワーク400とほぼ同一な性能を持つようにし、新規ラベル付きのデータに対しては既存ラーニングネットワーク400より優れる性能を持つようにすることができる。この時、既存ラーニングネットワーク400は既存学習されたラーニングネットワークではなく、新しいディープラーニングモデルを生成するための新規ラーニングネットワークであってもよい。
【0078】
一例として、
図7を参照すれば、コンティニュアルラーニングネットワーク300は既存トレーニングデータベースに登録された既存ラベル付きのデータを既存ラーニングネットワーク400に入力して、既存ラーニングネットワーク400をもって既存ラベル付きのデータをラーニング演算して既存出力情報を出力するようにし、既存出力情報を平均した平均ロスをベースロスとして獲得することができる。
【0079】
以後、コンティニュアルラーニングネットワーク300は既存ラーニングネットワーク400を学習させるための毎イテレーション(iteration)ごとに新規トレーニングデータベースに登録された新規ラベル付きのデータと既存トレーニングデータベースに登録された既存ラベル付きのデータとをサンプリングして、サンプリングされた新規ラベル付きのデータとサンプリングされた既存ラベル付きのデータとを含むミニバッチを生成することができる。この時、コンティニュアルラーニングネットワーク300はミニバッチに含まれたサンプリングされた新規ラベル付きのデータとサンプリングされた既存ラベル付きのデータとの割合が1:1になるようにサンプリングすることができる。
【0080】
そして、コンティニュアルラーニングネットワーク300はサンプリングされた新規ラベル付きのデータとサンプリングされた既存ラベル付きのデータとを既存ラーニングネットワーク400に入力して、既存ラーニングネットワーク400をもってサンプリングされた新規ラベル付きのデータとサンプリングされた既存ラベル付きのデータとをラーニング演算して、サンプリングされた新規ラベル付きのデータに対応されるサンプリングされた新規出力情報とサンプリングされた既存ラベル付きのデータに対応されるサンプリングされた既存出力情報とを出力させることができる。この時、既存ラーニングネットワーク400は既存学習されたラーニングネットワークではなく、新しいディープラーニングモデルを生成するための新規ラーニングネットワークであってもよい。
【0081】
そして、コンティニュアルラーニングネットワーク300はサンプリングされた新規出力情報と、これに対応される原本正解とを参照して新規ロスを生成し、サンプリングされた既存出力情報とこれに対応される原本正解とを参照して既存ロスを生成することができる。
【0082】
以後、コンティニュアルラーニングネットワーク300は新規ロスと既存ロスとを利用したバックプロパゲーションを通じて既存ラーニングネットワーク400を学習させるが、新規ロスに対してはバックプロパゲーションを遂行しても、既存ロスに対してはベースロスに比べてベースロス以上の特定既存ロスに対してのみバックプロパゲーションを遂行し、ベースロス未満の他の既存ロスに対してはバックプロパゲーションを遂行しないようにすることができる。すなわち、新規ラベル付きのデータは全て学習に反映し、既存ラベル付きのデータに対しては性能が落ちる場合にのみ学習に反映することで、学習されたラーニングネットワーク400aが既存ラベル付きのデータに対しては既存ラーニングネットワーク400とほぼ同一な性能を持ち、新規ラベル付きのデータに対しては既存ラーニングネットワーク400より優れる性能を持つように学習させることができる。
【0083】
次に、学習装置1000はエクスプレイナブル分析ネットワーク500をもって学習されたラーニングネットワーク400aを通じて検証データに対するインサイトフル(insightful)結果を生成するようにし、インサイトフル結果を少なくとも一つのヒューマンエンジニアに伝送してヒューマンエンジニアをもってインサイトフル結果を参照して学習されたラーニングネットワーク400aの性能を分析した分析結果を伝送するようにし、分析結果を参照してアクティブラーニングネットワーク100及びコンティニュアルラーニングネットワーク300のうち、少なくとも一つを修正及び改善することができる。
【0084】
すなわち、学習装置1000は検証データを学習されたラーニングネットワーク400aに入力して、学習されたラーニングネットワーク400aをもって検証データをラーニング演算した検証出力情報を出力するようにし、検証データに対応される検証出力情報をエクスプレイナブル分析ネットワーク500に入力して、エクスプレイナブル分析ネットワーク500をもって検証出力情報を参照して学習されたラーニングネットワーク400aの性能分析のためのインサイトフル結果を出力させる。この時、学習装置1000が検証出力情報をエクスプレイナブル分析ネットワーク500に入力したが、これと違って、エクスプレイナブル分析ネットワーク500が検証データを学習されたラーニングネットワーク400aに入力して、学習されたラーニングネットワーク400aをもって検証データをラーニング演算した検証出力情報を出力させることで検証出力情報を獲得することもできる。
【0085】
この時、エクスプレイナブル分析ネットワーク500が生成したインサイトフル結果は、学習されたラーニングネットワーク400aの性能がよくないイグザンプル、一例として、誤検出または未検出イグザンプル、該当イグザンプルが誤検出または未検出された原因、一例として、入力データで出力に大きい影響を与えた領域、中間層の中で出力に大きい影響を与えたフィーチャーを表示したものであってもよい。
【0086】
一例として、
図8を参照すれば、(a)のように検証データを学習されたラーニングネットワーク400aに入力し、学習されたラーニングネットワーク400aをもって検証データをクラシフィケーション(classification)させた後、(b)のように学習されたラーニングネットワーク400aの検証出力情報をエクスプレイナブル分析ネットワーク500に入力して、エクスプレイナブル分析ネットワーク500をもって学習されたラーニングネットワーク400aの検証出力情報に対して適合性評価するようにして、ピクセルワイズ(pixel‐wise)説明を出力させる。すなわち、検証データが検証イメージである場合、各々のイメージピクセルに対して、i番目のフィーチャー(feature)が1増加する際、クラシフィケーション結果である「猫」のスコア変化量のフィーチャー適合性の変化量をイメージ上の(x、y)番目の入力ピクセルが1増加する際の「猫」のスコア変化量のピクセルワイズ説明として生成することで、インサイトフル結果を出力させることができる。一方、エクスプレイナブル分析ネットワーク500は、前記適合性評価以外にも多様な方法によって学習されたラーニングネットワーク400aの出力値に対するインサイトフル結果を生成することができる。
【0087】
次に、学習装置1000はエクスプレイナブル分析ネットワーク500によって生成されたインサイトフル結果をヒューマンエンジニアに伝えて、ヒューマンエンジニアがインサイトフル結果を参照して容易に学習されたラーニングネットワーク400aの性能を分析することができるようにする。
【0088】
そして、学習装置1000はヒューマンエンジニアによって生成された性能分析結果を参照してアクティブラーニングネットワーク100を修正及び改善し、コンティニュアルラーニングネットワーク300の学習モデルを修正及び改善することができる。
【0089】
また、以上で説明された本発明による実施例は、多様なコンピューター構成要素を通じて遂行できるプログラム命令語の形態で具現され、コンピューターの読み取り可能な記録媒体に記録されることができる。前記コンピューターの読み取り可能な記録媒体は、プログラム命令語、データファイル、データ構造などを単独でまたは組み合わせて含むことができる。前記コンピューターの読み取り可能な記録媒体に記録されるプログラム命令語は、本発明のために特別設計されて構成されたものであるか、またはコンピューターソフトウェア分野の当業者に公知されて使用可能なものであってもよい。コンピューターの読み取り可能な記録媒体の例には、ハードディスク、フロッピーディスク及び磁気テープのような磁気媒体、CD‐ROM、DVDのような光記録媒体、フロプティカルディスク(floptical disk)のような磁気‐光媒体(magneto‐optical media)、及びROM、RAM、フラッシュメモリなどのようなプログラム命令語を格納して遂行するように特別構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作われるもののような機械語コードのみならず、インタプリタなどを使用してコンピューターによって実行されることができる高級言語コードも含まれる。前記ハードウェア装置は、本発明による処理を行うために一つ以上のソフトウェアモジュールとして作動するように構成されることができるし、その逆も同様である。
【0090】
以上、本発明が具体的な構成要素などのような特定事項と、限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解を助けるために提供されたものに過ぎず、本発明が前記実施例に限定されるものではなく、本発明が属する技術分野における通常の知識を有する者であれば、このような記載から多様な修正及び変形を図ることができる。
【0091】
したがって、本発明の思想は前記説明された実施例に限って決まってはならず、後述する特許請求の範囲だけでなく、この特許請求の範囲と均等に、または等価的に変形された全てのものなどは本発明の思想の範疇に属するものとする。
【符号の説明】
【0092】
1000:学習装置
1001:メモリ
1002:プロセッサ