本発明は、前述の従来技術の問題点をすべて解決することをその目的とする。
また、本発明は、データ内で個人識別情報を探す作業が要求されないため、比較的簡単でありながらも正確に非識別(Anonymization)作業を遂行し得るようにすることをまた他の目的とする。
そして、本発明は、原本データから非可逆的に変調(0bfuscation)して非識別(Anonymization)処理されたデータを生成することによって、原本データのセキュリティ及びプライバシーを守り得ることをまた他の目的とする。
また、本発明は、人間にとっては全く異なるように見えるデータであるものの、コンピュータには互いに同一又は類似するように見えるデータを生成することをまた他の目的とする。
さらに、本発明は、ビッグデータの取引市場をより活性化させることをまた他の目的とする。
前記の目的を達成するための本発明の代表的な構成は、以下の通りである。
本発明の一態様によると、個人情報保護のために原本データをコンシール(Concealing)処理する方法において、(a)前記原本データが取得されると、データ変調装置が、前記原本データ又はこれに対応する変換データ(Modified Data)をラーニングネットワーク(Learning Network)に入力して、前記ラーニングネットワークをもって(i)前記ラーニングネットワークの少なくとも一つの学習済みパラメータを利用して、前記原本データ又は前記変換データに対してネットワーク演算を適用させて(ii)前記原本データ又は前記変換データに関する特性情報(Characteristic Information)を出力させる段階、及び(b)前記データ変調装置が、(i)前記特性情報とこれに対応する少なくとも一つの第1原本正解(Ground Truth)とを参照して算出された少なくとも一つの第1ロスと、(ii)(ii−1)前記特性情報を利用して生成された少なくとも一つのタスク特化出力(Task Specific Output)及び(ii−2)これに対応する少なくとも一つの第2原本正解とを参照して算出された少なくとも一つの第2ロスとのうち少なくとも一部を利用したバックプロパゲーション(Backpropagation)を通じて前記原本データ又は前記変換データをアップデートして、前記原本データに対応する変調済みデータ(Obfuscated Data)を生成する段階を含む。
一実施例において、前記ラーニングネットワークは、少なくとも1つの第1学習済みパラメータ乃至少なくとも1つの第n学習済みパラメータをそれぞれ有する第1ラーニングネットワーク乃至第nラーニングネットワークを含み、前記nは1以上の整数(integer)である場合、前記(a)段階で、前記データ変調装置は、前記原本データ又は前記変換データを前記第1ラーニングネットワークに入力して、前記第1ラーニングネットワークをもって(i)前記第1ラーニングネットワークの前記第1学習済みパラメータを利用して、前記原本データ又は前記変換データに対してネットワーク演算を適用させて(ii)前記原本データ又は前記変換データに関する第1特性情報を出力させ、前記(b)段階で、前記データ変調装置は、(i)前記第1特性情報とこれに対応する少なくとも1つの第1_1原本正解とを参照して算出された少なくとも1つの第1_1ロスと、(ii)(ii−1)前記第1特性情報を利用して生成された少なくとも1つの第1タスク特化出力と、(ii−2)前記第1タスク特化出力に対応する少なくとも1つの第2_1原本正解とを参照して算出された少なくとも一つの第2_1ロスとのうち少なくとも一部を利用したバックプロパゲーションを通じて前記原本データ又は前記変換データをアップデートして、前記原本データ又は前記変換データに対応する第1変調済みデータを生成し、前記データ変調装置が、整数であるkを2からnまで増加させて行き、(i)第k−1変調済みデータを第kラーニングネットワークに入力して、前記第kラーニングネットワークをもって(i−1)前記第kラーニングネットワークの少なくとも一つの第k学習済みパラメータを利用して、前記第k−1変調済みデータに対してネットワーク演算を適用させて(i−2)前記第k−1変調済みデータに対する第k特性情報を出力させ、(ii)(ii−1)前記第k特性情報と、これに対応する少なくとも一つの第1_k原本正解とを参照して生成された少なくとも一つの第1_kロスと、(ii−2)前記第k特性情報を利用して生成された少なくとも一つの第kタスク特定値及びこれに対応する少なくとも一つの第2_k原本正解とを参照して算出された少なくとも一つの第2_kロスとのうち少なくとも一部を利用したバックプロパゲーションを通じて前記第k−1変調済みデータをアップデートして、前記第k−1変調済みデータに対応する第k変調済みデータを生成するプロセスを繰り返すことにより、前記原本データに対応する前記変調済みデータである第n変調済みデータを生成する。
一実施例において、前記データ変調装置は、(i)前記第1_1ロス乃至第1_nロスを平均した第1平均ロス、(ii)前記第2_1ロス乃至第2_nロスを平均した第2平均ロス、及び(iii)前記第1_1ロス乃至第1_nロスと前記第1_1ロス乃至第1_nロスそれぞれに対応する前記第2_1ロス乃至第2_nロスとをそれぞれ要素別に合算(Piecewise Summation)した第1合算ロス乃至第n合算ロスを平均した第3平均ロスのうち少なくとも一部を利用したバックプロパゲーションを通じて前記原本データ又は前記変換データをアップデートして、前記変調済みデータを生成する。
一実施例において、前記(b)段階で、前記データ変調装置は、前記第1ロスと前記第2ロスとのうち少なくとも一部を利用したバックプロパゲーションの進行中に前記ラーニングネットワークの前記学習済みパラメータを固定された値に保持する。
一実施例において、前記(b)段階で、前記データ変調装置は、前記第1ロスと前記第2ロスとのうち少なくとも一部を最小化するための少なくとも一つのロスグラディエント(Loss Gradient)を取得し、前記ロスグラディエントを前記原本データ又は前記変換データにバックプロパゲーションする。
一実施例において、前記(a)段階で、前記データ変調装置は、前記原本データに対するランダムノイズ生成ネットワークを通じて生成されたランダムノイズ追加プロセス、前記原本データに対するブラー(Blur)処理プロセス、及び前記原本データの解像度変更プロセスのうち少なくとも一つのプロセスを遂行して前記原本データに対応する前記変換データを生成する。
一実施例において、前記ラーニングネットワークは、少なくとも1つの第1学習済みパラメータ乃至少なくとも1つの第n学習済みパラメータを有する第1ラーニングネットワーク乃至第nラーニングネットワークを含み、前記nは1以上の整数である場合、前記(a)段階で、前記データ変調装置は、前記原本データ又は前記変換データを前記第1ラーニングネットワーク乃至前記第nラーニングネットワークそれぞれに入力して、それぞれの前記第1ラーニングネットワーク乃至前記第nラーニングネットワークをもって、(i)前記第1ラーニングネットワーク乃至前記第nラーニングネットワークそれぞれの前記第1学習済みパラメータ乃至前記第n学習済みパラメータを利用して、前記原本データ又は前記変換データに対して当該ラーニングネットワークに対応するネットワーク演算を適用させて(ii)前記原本データ又は前記変換データに対するそれぞれの第1特性情報乃至第n特性情報を出力させ、前記(b)段階で、前記データ変調装置は、(i)前記第1特性情報乃至前記第n特性情報と、これにそれぞれ対応する少なくとも1つの第1_1原本正解乃至少なくとも1つの第1_n原本正解とを参照して算出された第1_1ロス乃至第1_nロスの平均である第1ロスのうち一つ、(ii)前記第1特性情報乃至前記第n特性情報それぞれを利用して生成された第1タスク特化出力乃至第nタスク特化出力と、これにそれぞれ対応する少なくとも1つの第2_1原本正解のうち一つ、及び(iii)前記第1_1ロス乃至前記第1_nロスと、これにそれぞれ対応する第2_1ロス乃至第2_nロスとをそれぞれ要素ごとに合算(Piecewise Summation)した第1合算ロス乃至第n合算ロスを平均した第3ロスのうち少なくとも一部を利用したバックプロパゲーションを通じて前記原本データ又は前記変換データをアップデートして、前記原本データに対応する前記変調済みデータを生成する。
本発明の他の態様によると、個人情報保護のために原本データをコンシール処理する方法において、(a)前記原本データが取得されると、データ変調装置が、前記原本データを変換して変換データを生成する段階と、(b)前記データ変調装置が、(i)前記原本データをラーニングネットワークに入力して、前記ラーニングネットワークをもって(i−1)前記ラーニングネットワークの少なくとも一つの学習済みパラメータを利用して、前記原本データに対してネットワーク演算を適用させて(i−2)前記原本データに対する第1特性情報を出力させ、(ii)前記変換データを前記ラーニングネットワークに入力して、前記ラーニングネットワークをもって(ii−1)前記学習済みパラメータを利用して、前記変換データに対してネットワーク演算を適用させて(ii−2)前記変換データに対する第2特性情報を出力させる段階と、(c)前記データ変調装置が、(i)前記第1特性情報と前記第2特性情報とを参照して算出された少なくとも一つの第1ロスと、(ii)(ii−1)前記第2特性情報を利用して生成された少なくとも一つのタスク特化出力と、(ii−2)これに対応する少なくとも一つの原本正解(Ground Truth)とを参照して算出された少なくとも一つの第2ロスとのうち少なくとも一部を参照して生成された少なくとも一つのデータロスを利用したバックプロパゲーション(Backpropagation)を通じて前記原本データ又は前記変換データをアップデートして、前記原本データに対応する変調済みデータを生成する段階と、を含む。
一実施例において、前記ラーニングネットワークは、少なくとも1つの第1学習済みパラメータ乃至少なくとも1つの第n学習済みパラメータを有する第1ラーニングネットワーク乃至第nラーニングネットワークを含み、前記nは1以上の整数である場合、前記(b)段階で、前記データ変調装置は、(i)前記原本データを前記第1ラーニングネットワークに入力して、前記第1ラーニングネットワークをもって(i−1)前記第1ラーニングネットワークの少なくとも1つの第1学習済みパラメータを利用して、前記原本データに対してネットワーク演算を適用させて(i−2)前記原本データに対する第1_1特性情報を出力させ、(ii)前記変換データを前記第1ラーニングネットワークに入力して、前記第1ラーニングネットワークをもって(ii−1)前記第1学習済みパラメータを利用して、前記変換データに対してネットワーク演算を適用させて(ii−2)前記変換データに対する第2_1特性情報を出力させ、前記(c)段階で、前記データ変調装置は、(i)前記第1_1特性情報と前記第2_1特性情報とを参照して生成された少なくとも一つの第1_1ロスと、(ii)(ii−1)前記第2_1特性情報を利用して生成された少なくとも一つの第1タスク特化出力と、(ii−2)これに対応する少なくとも一つの第1原本正解とを参照して生成された少なくとも一つの第2_1ロスとのうち少なくとも一部を参照して算出された少なくとも一つの第1データロスを利用したバックプロパゲーションを通じて前記変換データをアップデートして、前記変換データに対応する第1変調済みデータを生成し、前記データ変調装置が、整数であるkを2からnまで増加させて行き、(i)前記原本データを第kラーニングネットワークに入力して、前記第kラーニングネットワークをもって(i−1)前記第kラーニングネットワークの少なくとも一つの第k学習済みパラメータを利用して、前記原本データに対してネットワーク演算を適用させて(i−2)前記原本データに対する第1_k特性情報を出力させるプロセス、(ii)第k−1変調済みデータを前記第kラーニングネットワークに入力して、前記第kラーニングネットワークをもって(ii−1)前記第k学習済みパラメータを利用して、前記第k−1変調済みデータに対してネットワーク演算を適用させて(ii−2)前記第k−1変調済みデータに対する第2_k特性情報を出力させるプロセス、及び(iii)(iii−1)前記第1_k特性情報と前記第2_k特性情報とを参照して算出された少なくとも1つの第1_kロスと、(iii−2)前記第2_k特性情報を利用して生成された少なくとも1つの第kタスク特化出力と、これに対応する少なくとも1つの第k原本正解とを参照して算出された少なくとも一つの第2_kロスとのうち少なくとも一部を参照して生成された少なくとも1つの第kデータロスを利用したバックプロパゲーションを通じて前記第k−1変調済みデータをアップデートして、前記第k−1変調済みデータに対応する第k変調済みデータを生成するプロセスを繰り返すことにより、前記原本データに対応する前記変調済みデータである第n変調済みデータを生成する。
一実施例において、前記データ変調装置は、前記第1データロス乃至第nデータロスを平均した少なくとも一つの平均データロスを利用したバックプロパゲーションを通じて前記原本データ又は前記変換データをアップデートして、前記変調済みデータを生成する。
一実施例において、(i)前記第1_1ロス乃至前記第1_nロスを平均した少なくとも一つの平均を第1サブロス(Sub Loss)として算出し、(ii)前記特定の特性情報と前記第2_1ロス乃至前記第2_nロスを平均した平均値とを参照して第2サブロスを算出する。
一実施例において、前記(c)段階で、前記データ変調装置は、前記データロスを利用したバックプロパゲーションの進行中に前記ラーニングネットワークの前記学習済みパラメータを固定された値に保持する。
一実施例において、前記(a)段階で、前記データ変調装置は、前記原本データに対するランダムノイズ生成ネットワークを通じて生成されたランダムノイズ追加プロセス、前記原本データに対するブラー(Blur)処理プロセス、及び前記原本データの解像度変更プロセスのうち少なくとも一つのプロセスを遂行して前記原本データに対応する前記変換データを生成する。
一実施例において、前記ラーニングネットワークは、少なくとも1つの第1学習済みパラメータ乃至少なくとも1つの第n学習済みパラメータを有する第1ラーニングネットワーク乃至第nラーニングネットワークを含み、前記nは1以上の整数である場合、前記(b)段階で、前記データ変調装置は、(i)前記原本データ及び前記変換データを前記第1ラーニングネットワーク乃至前記第nラーニングネットワークそれぞれに入力して、(ii)それぞれの前記第1ラーニングネットワーク乃至前記第nラーニングネットワークをもって(ii−1)前記第1ラーニングネットワーク乃至前記第nラーニングネットワークそれぞれの前記第1学習済みパラメータ乃至前記第n学習済みパラメータを利用して、前記原本データ及び前記変換データに対して当該ラーニングネットワークに対応するネットワーク演算を適用させて(ii−2)前記原本データに対するそれぞれの第1_1特性情報乃至第1_n特性情報を出力させ、(ii−3)前記変換データに対するそれぞれの第2_1特性情報乃至第2_n特性情報を出力させ、前記(c)段階で、前記データ変調装置は、(i)前記第1_1特性情報乃至前記第1_n特性情報と、これにそれぞれ対応する前記第2_1特性情報乃至第2_n特性情報を参照して算出された第1_1ロス乃至第1_nロスの平均である前記第1ロスのうち一つ、(ii)前記第2_1特性情報乃至前記第2_n特性情報それぞれを利用して生成された第1タスク特化出力乃至第nタスク特化出力と、これにそれぞれ対応する少なくとも一つの第1原本正解乃至少なくとも一つの第n原本正解とを参照して算出された第2_1ロス乃至第2_nロスの平均である第2ロスのうち一つ、及び(iii)前記第1_1ロス乃至前記第1_nロスと、これにそれぞれ対応する前記第2_1ロス乃至第2_nロスとをそれぞれ要素ごとに合算(Piecewise Summation)した第1合算ロス乃至第n合算ロスを平均した第3ロスのうち少なくとも一部を利用したバックプロパゲーションを通じて前記原本データ又は前記変換データをアップデートして、前記原本データに対応する前記変調済みデータを生成する。
本発明のまた他の態様によると、個人情報保護のために原本データをコンシール処理するデータ変調装置(Data Obfuscation Device)において、インストラクションを格納する少なくとも1つのメモリと、(I)前記原本データが取得されると、前記原本データ又はこれに対応する変換データ(Modified Data)をラーニングネットワーク(Learning Network)に入力して、前記ラーニングネットワークをもって(i)前記ラーニングネットワークの少なくとも一つの学習済みパラメータを利用して、前記原本データ又は前記変換データに対してネットワーク演算を適用させて(ii)前記原本データ又は前記変換データに関する特性情報(Characteristic Information)を出力させるプロセス、及び(II)(i)前記特性と、これに対応する少なくとも一つの第1原本正解(Ground Truth)とを参照して算出された少なくとも一つの第1ロスと、(ii)(ii−1)前記特性情報を利用して生成された少なくとも1つのタスク特化出力(Task Specific Output)及び(ii−2)これに対応する少なくとも1つの第2原本正解を参照して算出された少なくとも1つの第2ロスとのうち少なくとも一部を利用したバックプロパゲーション(Backpropagation)を通じて前記原本データ又は前記変換データをアップデートして、前記原本データに対応する変調済みデータ(Obfuscated Data)を生成するプロセスを遂行するための前記インストラクションを実行するように構成された少なくとも一つのプロセッサと、を含む。
一実施例において、前記ラーニングネットワークは、少なくとも1つの第1学習済みパラメータ乃至少なくとも1つの第n学習済みパラメータをそれぞれ有する第1ラーニングネットワーク乃至第nラーニングネットワークを含み、前記nは1以上の整数である場合、前記(I)プロセスで、前記プロセッサは、前記原本データ又は前記変換データを前記第1ラーニングネットワークに入力して、前記第1ラーニングネットワークをもって(i)前記第1ラーニングネットワークの前記第1学習済みパラメータを利用して、前記原本データ又は前記変換データに対してネットワーク演算を適用させて(ii)前記原本データ又は前記変換データに関する第1特性情報を出力させ、前記(II)プロセスで、前記プロセッサは、(i)前記第1特性情報と、これに対応する少なくとも1つの第1_1原本正解とを参照して算出された少なくとも1つの第1_1ロスと、(ii)(ii−1)前記第1特性情報を利用して生成された少なくとも1つの第1タスク特化出力と、(ii−2)これに対応する少なくとも1つの第2_1原本正解とを参照して算出された少なくとも1つの第2_1ロスとのうち少なくとも一部を利用したバックプロパゲーションを通じて前記原本データ又は前記変換データをアップデートして、前記原本データ又は前記変換データに対応する第1変調済みデータを生成し、前記プロセッサが、整数であるkを2からnまで増加させて行き、(i)第k−1変調済みデータを第kラーニングネットワークに入力して、前記第kラーニングネットワークをもって(i−1)前記第kラーニングネットワークの少なくとも一つの第k学習済みパラメータを利用して、前記第k−1変調済みデータに対してネットワーク演算を適用させて(i−2)前記第k−1変調済みデータに対する第k特性情報を出力させ、(ii)(ii−1)前記第k特性情報とこれに対応する少なくとも一つの第1_k原本正解とを参照して生成された少なくとも一つの第1_kロスと、(ii−2)前記第k特性情報を利用して生成された少なくとも1つの第kタスク特定値及びこれに対応する少なくとも一つの第2_k原本正解とを参照して算出された少なくとも一つの第2_kロスとのうち少なくとも一部を利用したバックプロパゲーションを通じて前記第k−1変調済みデータをアップデートして、前記第k−1変調済みデータに対応する第k変調済みデータを生成するプロセスを繰り返すことにより、前記原本データに対応する前記変調済みデータである第n変調済みデータを生成する。
一実施例において、前記プロセッサは、(i)前記第1_1ロス乃至第1_nロスを平均した第1平均ロス、(ii)前記第2_1ロス乃至第2_nロスを平均した第2平均ロス、及び(iii)前記第1_1ロス乃至第1_nロスと前記第1_1ロス乃至第1_nロスそれぞれに対応する前記第2_1ロス乃至第2_nロスとをそれぞれ要素ごとに合算(Piecewise Summation)した第1合算ロス乃至第n合算ロスを平均した第3ロスのうち少なくとも一部を利用したバックプロパゲーションを通じて前記原本データ又は前記変換データをアップデートして、前記変調済みデータを生成する。
一実施例において、前記(II)プロセスで、前記プロセッサは、前記第1ロスと前記第2ロスとのうち少なくとも一部を利用したバックプロパゲーションの進行中に前記ラーニングネットワークの前記学習済みパラメータを固定された値に保持する。
一実施例において、前記(II)プロセスで、前記プロセッサは、前記第1ロスと前記第2ロスとのうち少なくとも一部を最小化するための少なくとも一つのロスグラディエント(Loss Gradient)を取得し、前記ロスグラディエントを前記原本データ又は前記変換データにバックプロパゲーションする。
一実施例において、前記(I)プロセスで、前記プロセッサは、前記原本データに対するランダムノイズ生成ネットワークを通じて生成されたランダムノイズ追加プロセス、前記原本データに対するブラー(Blur)処理プロセス、及び前記原本データの解像度変更プロセスのうち少なくとも一つのプロセスを遂行して前記原本データに対応する前記変換データを生成する。
一実施例において、前記ラーニングネットワークは、少なくとも1つの第1学習済みパラメータ乃至少なくとも1つの第n学習済みパラメータを有する第1ラーニングネットワーク乃至第nラーニングネットワークを含み、前記nは1以上の整数である場合、前記(I)プロセスで、前記プロセッサは、前記原本データ又は前記変換データを前記第1ラーニングネットワーク乃至前記第nラーニングネットワークそれぞれに入力して、それぞれの前記第1ラーニングネットワーク乃至前記第nラーニングネットワークをもって(i)前記第1ラーニングネットワーク乃至前記第nラーニングネットワークそれぞれの前記第1学習済みパラメータ乃至第n学習済みパラメータを利用して、前記原本データ又は前記変換データに対して当該ラーニングネットワークに対応するネットワーク演算を適用させて(ii)前記原本データ又は前記変換データに対するそれぞれの第1特性情報乃至第n特性情報を出力させ、前記(II)プロセスで、前記プロセッサは、(i)前記第1特性情報乃至前記第n特性情報と、これにそれぞれ対応する少なくとも1つの第1_1原本正解乃至少なくとも1つの第1_n原本正解とを参照して算出された第1_1ロス乃至第1_nロスの平均である第1ロスのうちの1つ、(ii)前記第1特性情報乃至前記第n特性情報それぞれを利用して生成された第1タスク特化出力乃至第nタスク特化出力と、これにそれぞれ対応する少なくとも1つの第2_1原本正解乃至少なくとも一つの第2_n原本正解とを参照して生成された第2_1ロス乃至第2_nロスの平均である第2ロスのうち一つ、及び(iii)前記第1_1ロス乃至前記第1_nロスと、これにそれぞれ対応する第2_1ロス乃至第2_nロスとをそれぞれ要素ごとに合算(Piecewise Summation)した第1合算ロス乃至第n合算ロスを平均した第3ロスのうち少なくとも一部を利用したバックプロパゲーションを通じて前記原本データ又は前記変換データをアップデートして、前記原本データに対応する前記変調済みデータを生成する。
本発明のまた他の態様によると、個人情報保護のために原本データをコンシール処理するデータ変調装置において、インストラクションを格納する少なくとも1つのメモリと、(I)前記原本データが取得されると、前記原本データを変換して変換データを生成するプロセス、(II)(i)前記原本データをラーニングネットワークに入力して、前記ラーニングネットワークをもって(i−1)前記ラーニングネットワークの少なくとも一つの学習済みパラメータを利用して、前記原本データに対してネットワーク演算を適用させて(i−2)前記原本データに対する第1特性情報を出力させ、(ii)前記変換データを前記ラーニングネットワークに入力して、前記ラーニングネットワークをもって(ii−1)前記学習済みパラメータを利用して、前記変換データに対してネットワーク演算を適用させて(ii−2)前記変換データに対する第2特性情報を出力させるプロセス、及び(III)(i)前記第1特性情報と前記第2特性情報とを参照して算出された少なくとも1つの第1ロスと、(ii)(ii−1)前記第2特性情報を利用して生成された少なくとも1つのタスク特化出力と、(ii−2)これに対応する少なくとも1つの原本正解(Ground Truth)とを参照して算出された少なくとも1つの第2ロスとのうち少なくとも一部を参照して生成された少なくとも1つのデータロスを利用したバックプロパゲーション(Backpropropation)を通じて前記原本データ又は前記変換データをアップデートして、前記原本データに対応する変調済みデータを生成するプロセスを遂行するための前記インストラクションを実行するか、他の装置をもって実行するように構成された少なくとも1つのプロセッサと、を含む。
一実施例において、前記ラーニングネットワークは、少なくとも1つの第1学習済みパラメータ乃至少なくとも1つの第n学習済みパラメータを有する第1ラーニングネットワーク乃至第nラーニングネットワークを含み、前記nは1以上の整数である場合、前記(II)プロセスで、前記プロセッサは、(i)前記原本データを前記第1ラーニングネットワークに入力して、前記第1ラーニングネットワークをもって(i−1)前記第1ラーニングネットワークの少なくとも1つの第1学習済みパラメータを利用して、前記原本データに対してネットワーク演算を適用させて(i−2)前記原本データに対する第1_1特性情報を出力させ、(ii)前記変換データを前記第1ラーニングネットワークに入力して、前記第1ラーニングネットワークをもって(ii−1)前記第1学習済みパラメータを利用して、前記変換データに対してネットワーク演算を適用させて(ii−2)前記変換データに対する第2_1特性情報を出力させ、前記(III)プロセスで、前記プロセッサは、(i)前記第1_1特性情報と前記第2_1特性情報とを参照して生成された少なくとも一つの第1_1ロスと、(ii)(ii−1)前記第2_1特性情報を利用して生成された少なくとも一つの第1タスク特化出力と、(ii−2)これに対応する少なくとも一つの第1原本正解とを参照して生成された少なくとも一つの第2_1ロスとのうち少なくとも一部を参照して算出された少なくとも一つの第1データロスを利用したバックプロパゲーションを通じて前記変換データをアップデートして、前記変換データに対応する第1変調済みデータを生成し、前記プロセッサが、整数であるkを2からnまで増加させて行き、(i)前記原本データを第kラーニングネットワークに入力して、前記第kラーニングネットワークをもって(i−1)前記第kラーニングネットワークの少なくとも一つの第k学習済みパラメータを利用して、前記原本データに対してネットワーク演算を適用させて(i−2)前記原本データに対する第1_k特性情報を出力させるプロセス、(ii)第k−1変調済みデータを前記第kラーニングネットワークに入力して、前記第kラーニングネットワークをもって(ii−1)前記第k学習済みパラメータを利用して、前記第k−1変調済みデータに対してネットワーク演算を適用させて(ii−2)前記第k−1変調済みデータに対する第2_k特性情報を出力させるプロセス、及び(iii)(iii−1)前記第1_k特性情報と、前記第2_k特性情報とを参照して算出された少なくとも1つの第1_kロスと、(iii−2)前記第2_k特性情報を利用して生成された少なくとも1つの第kタスク特化出力と、これに対応する少なくとも1つの第k原本正解とを参照して算出された少なくとも1つの第2_kロスとのうち少なくとも一部を参照して生成された少なくとも一つの第kデータロスを利用したバックプロパゲーションを通じて前記第k−1変調済みデータをアップデートして、前記第k−1変調済みデータに対応する第k変調済みデータを生成するプロセスを繰り返すことにより、前記原本データに対応する前記変調済みデータである第n変調済みデータを生成する。
一実施例において、前記データ変調装置は、前記第1データロス乃至第nデータロスを平均した少なくとも一つの平均データロスを利用したバックプロパゲーションを通じて前記原本データ又は前記変換データをアップデートして、前記変調済みデータを生成する。
一実施例において、(i)前記第1_1ロス乃至前記第1_nロスを平均した少なくとも一つの平均を第1サブロス(Sub Loss)として算出し、(ii)前記特定の特性情報と前記第2_1ロス乃至前記第2_nロスを平均した平均値とを参照して第2サブロスを算出する。
一実施例において、前記(III)プロセスで、前記プロセッサは、前記データロスを利用したバックプロパゲーションの進行中に前記ラーニングネットワークの前記学習済みパラメータを固定された値に保持する。
一実施例において、前記(I)プロセスで、前記プロセッサは、前記原本データに対するランダムノイズ生成ネットワークを通じて生成されたランダムノイズ追加プロセス、前記原本データに対するブラー(Blur)処理プロセス、及び前記原本データの解像度変更プロセスのうち少なくとも一つのプロセスを遂行して前記原本データに対応する前記変換データを生成する。
一実施例において、前記ラーニングネットワークは、少なくとも1つの第1学習済みパラメータ乃至少なくとも1つの第n学習済みパラメータを有する第1ラーニングネットワーク乃至第nラーニングネットワークを含み、前記nは1以上の整数である場合、前記(II)プロセスで、前記プロセッサは、(i)前記原本データ及び前記変換データを前記第1ラーニングネットワーク乃至前記第nラーニングネットワークそれぞれに入力して、(ii)それぞれの前記第1ラーニングネットワーク乃至前記第nラーニングネットワークをもって(ii−1)前記第1ラーニングネットワーク乃至前記第nラーニングネットワークそれぞれの前記第1学習済みパラメータ乃至第n学習済みパラメータを利用して、前記原本データ及び前記変換データに対して当該ラーニングネットワークに対応するネットワーク演算を適用させて(ii−2)前記原本データに対するそれぞれの第1_1特性情報乃至第1_n特性情報を出力させ、(ii−3)前記変換データに対するそれぞれの第2_1特性情報乃至第2_n特性情報を出力させ、前記(III)プロセスで、前記プロセッサは、(i)前記第1_1特性情報乃至前記第1_n特性情報と、これにそれぞれ対応する前記第2_1特性情報乃至第2_n特性情報を参照して算出された第1_1ロス乃至第1_nロスの平均である前記第1ロスのうち一つ、(ii)前記第2_1特性情報乃至前記第2_n特性情報それぞれを利用して生成された第1タスク特化出力乃至第nタスク特化出力と、これにそれぞれ対応する少なくとも一つの第1原本正解乃至少なくとも一つの第n原本正解とをさらに参照して算出された第2_1ロス乃至第2_nロスの平均である前記第2ロスのうち一つ、及び(iii)前記第1_1ロス乃至前記第1_nロスと、これにそれぞれ対応する第2_1ロス乃至第2_nロスとをそれぞれ要素ごとに合算(Piecewise Summation)した第1合算ロス乃至第n合算ロスを平均した第3ロスのうち少なくとも一部を利用したバックプロパゲーションを通じて前記原本データ又は前記変換データをアップデートして、前記原本データに対応する前記変調済みデータを生成する。
その他にも、本発明の方法を実行するためのコンピュータプログラムを格納するためのコンピュータ読取り可能な記録媒体がさらに提供される。
本発明は、データ内で個人識別情報を探す作業が要求されないため、簡単かつ正確にコンシーリング(Concealing)作業を遂行することができる効果がある。
また、本発明は、原本データから非可逆的に変調(0bfuscation)されてコンシール処理されたデータを生成することによって、原本データのセキュリティ及びプライバシーを守ることができる他の効果がある。
また、本発明は、人間にとっては異なるように見えるデータであるものの、コンピュータには互いに同一又は類似するように見えるデータを生成し得るまた他の効果がある。
さらに、本発明は、ビッグデータの取引市場をより活性化させることができるまた他の効果がある。
本発明の実施例の説明に利用されるために添付された図面は、本発明の実施例のうち単に一部であるだけであり、本発明の属する技術分野において通常の知識を有する者(以下、「通常の技術者」)にとっては、発明的作業が行われることなく、これらの図面に基づいて他の図面が得られ得る。
後述する本発明に関する詳細な説明は、本発明が実施され得る特定の実施例を例示として示す添付図面を参照する。これらの実施例は、当業者が本発明を実施し得るように十分詳細に説明される。本発明の多様な実施例は互いに異なるものの、相互に排他的である必要はないことが理解されるべきである。例えば、ここに記載されている特定の機能、構造及び特性は、本発明の精神及び範囲を逸脱せず、かつ一つの実施例から他の実施例に変更されて具現され得る。また、それぞれの実施例内の個別の構成要素の位置又は配置は、本発明の精神及び範囲を逸脱せず、かつ変更され得ることが理解されるべきである。したがって、後述する詳細な説明は、限定的な意味として受け取ろうとするものではなく、本発明の範囲は、特許請求の範囲の請求項が請求する範囲及びそれに均等なすべての範囲を包括するものと受け取られるべきである。図面において類似の参照符号は、様々な側面にわたって同一であるか、類似した構成要素を示す。
以下では、本発明の詳細な説明と請求項に含まれる「含む」とは、用語と当該用語の多様な表現は、他の技術的特徴、追加、構成要素又は段階を排除することを意味するものではない。本発明の他の目的、恩恵及び特徴は、部分的には明細書から、及び部分的には本発明の履行から、技術分野における通常の知識を有する者に明らかにされるであろう。以下の各例示と図面は例示として示されているが、本発明はこれに制限されるわけではない。
本発明の属する技術分野において、通常の知識を有する者が本発明を容易に実施し得るようにするために、本発明の様々な好ましい実施例について添付された図面を参照して詳細に説明する。
図1は、本発明の一実施例において、データをコンシール処理するためのデータ変調装置を簡略に示したものである。
図1を参照すると、本発明の実施例によるデータ変調装置100は、変調済みデータ(Obfuscated Data)をコンシール処理されたデータ(例えば、非識別処理されたデータ)として生成するためのインストラクションを格納するメモリ110と、メモリ110に格納された各インストラクションにしたがって、原本データに対応する変調済みデータを生成するプロセスを遂行するプロセッサ120とを含むことができる。この場合、変調済みデータを利用して算出された出力結果は、原本データを利用して算出された出力結果と同一又は類似し得る。
具体的に、データ変調装置100は、少なくとも一つのコンピューティング装置(例えば、コンピュータプロセッサ、メモリ、ストレージ、入力装置、出力装置、又は、その他既存のコンピューティング装置の構成要素;ルータ、スイッチなどのような電子通信装置;ネットワーク接続ストレージ(NAS)及びストレージ領域ネットワーク(SAN)のような電子情報ストレージシステム)と少なくとも一つのコンピュータソフトウェア(すなわち、コンピューティング装置をもって特定の方式で機能させる各インストラクション)との組み合わせを利用して所望のシステム性能を一般的に達成するものであり得る。
また、コンピューティング装置のプロセッサは、MPU(Micro Processing Unit)又はCPU(Central Processing Unit)、キャッシュメモリ(Cache Memory)、データバス(Data Bus)などのハードウェア構成を含むことができる。また、コンピューティング装置は、オペレーティングシステム、特定の目的を遂行するアプリケーションのソフトウェア構成をさらに含むこともできる。
しかし、コンピューティング装置が、本発明を実施するためのプロセッサ、メモリ、ミディアム又は他のコンピューティング要素の任意の組み合わせを含む統合装置を排除するものではない。
一方、原本データが取得されると、メモリ110に格納されたインストラクションにしたがってデータ変調装置100のプロセッサ120が、(i)原本データ又はこれに対応する変換データ(Modified Data)をラーニングネットワークに入力して、ラーニングネットワークをもって(i−1)ラーニングネットワークの少なくとも一つの学習済みパラメータを利用して、原本データ又は変換データに対してネットワーク演算を適用させて(i−2)原本データ又は変換データに関する特性情報(Characteristic Information)を出力させるプロセス、及び(ii)(ii−1)前記特性情報と、これに対応する少なくとも一つの第1原本正解(Ground Truth)とを参照して算出された少なくとも一つの第1ロスと、(ii−2)前記特性情報を利用して生成された少なくとも一つのタスク特化出力(Task Specific Output)と、これに対応する少なくとも一つの第2原本正解とを参照して生成された少なくとも一つの第2ロスとのうち少なくとも一部を利用したバックプロパゲーション(Backpropagation)を通じて原本データ又は変換データをアップデートするプロセスを実行して原本データに対応する変調済みデータを生成することができる。この際、ラーニングネットワークは学習済みパラメータを有するネットワークであり得、当該学習は完了した状態であり得る。
また、原本データが取得されると、メモリ110に格納されたインストラクションにしたがってデータ変調装置100のプロセッサ120が、(i)原本データを変換して変換データを生成するプロセス、(ii)原本データをラーニングネットワークに入力して、ラーニングネットワークをもって(ii−1)ラーニングネットワークの学習済みパラメータを利用して、原本データに対してネットワーク演算を適用させて(ii−2)原本データに対する第1特性情報を出力させるプロセス、及び(iii)変換データをラーニングネットワークに入力して、ラーニングネットワークをもって(iii−1)学習済みパラメータを利用して、変換データに対してネットワーク演算を適用させて(iii−2)変換データに対する第2特性情報を出力させるプロセスを遂行することができる。以後、(i)第1特性情報と第2特性情報とを参照して生成された少なくとも1つの第1ロスと、(ii)(ii−1)第2特性情報を利用して生成されたタスク特化出力と、(ii−2)これに対応する原本正解とを参照して生成された第2ロスとのうち少なくとも一部を参照して算出された少なくとも1つのデータロスを利用したバックプロパゲーションを通じて原本データ又は変換データをアップデートするプロセスを遂行して、原本データに対応する変調済みデータを生成することができる。
このように構成された本発明の一実施例によるデータ変調装置100を利用して、個人情報保護のために原本データをコンシール処理する方法を図2乃至図8を参照して説明すると次のとおりである。
図2は、コンシール処理されたデータ(例えば、非識別データ)として変調済みデータを生成する方法を簡略に示した図である。本発明の一実施例において、変調済みデータを利用して算出された出力結果が、学習済みパラメータを有するラーニングネットワーク130、すなわちパラメータが調整されたラーニングネットワーク130を利用して、原本データを利用して算出された出力結果と互いに同一又は類似し得るため、所望の結果がトレーニングデータから出力される。
先ず、原本データxが取得されると、データ変調装置100が、原本データxをラーニングネットワーク130に入力して、ラーニングネットワーク130をもって(i)ラーニングネットワーク130の少なくとも一つの学習済みパラメータを利用して、原本データに対してネットワーク演算を適用させて(ii)原本データに関する特性情報yを出力させるプロセスを遂行することができる。
すなわち、コンシール処理のための原本データxが取得されると、データ変換装置100のメモリ110に格納されたインストラクションにしたがってデータ変換装置100、すなわちプロセッサ120が、原本データxをラーニングネットワーク130に入力する。この際、ラーニングネットワーク130はマシンラーニングネットワークを含むことができるが、これに限定されず、学習済みパラメータを利用して入力される原本データxに対してネットワーク演算を適用させて出力を生成させる全てのラーニングネットワークを含むことができる。そして、マシンラーニングネットワークは、K−近傍法(K−Nearest Neighbors)、線形回帰(Linear Regression)、ロジスティック回帰(Logistic Regression)、サポートベクトルマシン(SVM、Support Vector Machine)、デシジョンツリー(Decision Tree)とランダムフォレスト(Random Forest)、ニューラルネットワーク(Neural Network)、クラスタリング(Clustering)、視覚化(Visualization)と次元縮小(Dimensionality Reduction)、関連規則学習(Association Rule Learning)、深層信頼ネットワーク(Deep Belief Network)、強化学習(Reinforcement Learning)、及びディープラーニングアルゴリズム(Deep Learning Algorithm)のうち少なくとも一つを含むことができるが、マシンラーニングネットワークはこれに限定されず、多様なラーニングアルゴリズムを含むことができる。また、コンシール処理のための対象(例えば、非識別対象)は、原本データxに含まれている個人情報であり得、この際、個人情報は個人識別情報、個人の医療情報、個人の生体情報、個人の行動情報など、個人に関わるすべての情報を含むことができる。他の例として、個人情報は、ハードウェア回路図、事業機密などのような敏感な情報や内密の情報を含むことができる。
そうすると、ラーニングネットワーク130は、入力される原本データxに対してラーニングネットワークの学習済みパラメータを利用して、ネットワーク演算を適用させて原本データxに対する特性情報yを出力する。この際、特性情報yは、原本データxに対する特徴(Feature)又はロジット(Logit)であり得る。また、特性情報yは、原本データ内の所定の特徴と関連する特徴値、又は所定の特徴と関連するベクトル(Vector)、行列(Matrix)及び座標(Coordinate)のうち少なくとも一つに関する値を含むロジットであり得る。例えば、原本データが顔イメージデータである場合に、上記の結果は顔認識のためのクラス、顔の特徴、一例として、笑顔の表情、顔の特徴点(Landmark Point、例えば、目の両端点)に関する座標であり得る。
次に、データ変調装置100は、(i)特性情報yと、これに対応する第1原本正解とを参照して算出された少なくとも一つの第1ロスと、(ii)(ii−1)特性情報yを利用して生成された少なくとも一つのタスク特化出力と、(ii−2)これに対応する少なくとも一つの第2原本正解とを参照して算出された少なくとも一つの第2ロスとのうち少なくとも一部を利用したバックプロパゲーションを通じて原本データをアップデートするプロセスを遂行して、原本データに対応する変調済みデータを生成することができる。
この際、データ変調装置100は、第1ロスと第2ロスとのうち少なくとも一つを利用したバックプロパゲーションの進行中にラーニングネットワーク130の学習済みパラメータは固定してアップデートせず、原本データに対してのみ第1ロスと第2ロスとのうち少なくとも一部を最小化するようにバックプロパゲーションを遂行することにより、原本データを変調するようになる。そうすると、変調済みデータは人にとっては原本データとは異なるデータとして認識されるが、ラーニングネットワークでは原本データと同一又は類似したデータとして認識され得る。
また、データ変調装置100は、第1ロスと第2ロスとのうち少なくとも一部を利用したバックプロパゲーションの進行中に、第1ロスと第2ロスとのうち少なくとも一部を最小化するための少なくとも1つのロスグラディエント(Loss Gradient)を取得し、ロスグラディエントを原本データにバックプロパゲーションすることができる。
一方、タスク特化出力は、ラーニングネットワーク130が遂行しようとするタスク(Task)に対する出力であって、クラス分類のためのクラスに対する確率、位置検出のためのリグレッションによる座標値などのように、ラーニングネットワーク130によって学習済みのタスクによる様々な結果を有することができ、ラーニングネットワーク130から出力される特性情報に対して活性化ユニット(Activation Unit)の活性化関数(Activation Function)が適用されて、ラーニングネットワーク130で遂行しようとするタスクによるタスク特化出力を生成することができる。この際、活性化関数としては、シグモイド(Sigmoid)関数、線形(Linear)関数、ソフトマックス(Softmax)関数、ReLU(Rlinear)関数、二乗(Square)関数、SQRT関数、Srlinear関数、ABS関数、TANH関数、Brlinear関数などが使用され得るが、これに限定されない。
一例として、ラーニングネットワーク130がクラス分類のためのタスクを遂行する場合、データ変調装置100のプロセッサ120は、ラーニングネットワーク130から出力される特性情報をクラスごとにマッピングして、原本データに対してクラスごとに少なくとも一つの確率を生成することができる。この際、クラスごとの確率はクラスごとにラーニングネットワーク130から出力される特性情報が正解である確率を示すことができる。例えば、原本データが顔イメージデータである場合に、顔が笑顔の状態である確率は0.75、笑顔でない状態である確率は0.25等のように出力され得る。この際、ラーニングネットワーク130から出力される特性情報をクラスごとにマッピングするのにソフトマックスアルゴリズムを使用することができるが、これに限定されず、特性情報をクラスごとにマッピングするために様々なアルゴリズムが利用され得る。
図3は、第1変調済みデータ乃至第n変調済みデータをコンシール処理されたデータとして生成するための方法を簡略に示した図である。本発明の一実施例において第1変調済みデータ乃至第n変調済みデータを利用して算出された出力結果は、学習済みパラメータを有する多数のラーニングネットワーク130_1、130_2、…、130_nを利用して、原本データを利用して算出される結果と互いに同一又は類似し得る。この際,多数のラーニングネットワーク130_1,130_2,…、130_nそれぞれは、少なくとも部分的に互いに異なるタスクを遂行するように学習済みの状態であり得る。下記の説明では、図2の説明で容易に理解可能な部分については詳細な説明を省略することにする。
先ず、原本データxが取得されると、データ変調装置100が、原本データxを第1ラーニングネットワーク130_1に入力して、第1ラーニングネットワーク130_1をもって(i)第1ラーニングネットワーク130_1の少なくとも1つの第1学習済みパラメータを利用して、原本データに対してネットワーク演算を適用させて(ii)原本データに対する第1特性情報yを出力させる。
すなわち、コンシール処理のための原本データxが取得されると、データ変換装置100のメモリ110に格納されたインストラクションにしたがってデータ変換装置100、すなわちプロセッサ120が、原本データxを第1ラーニングネットワーク130_1に入力する。
そうすると、第1ラーニングネットワーク130_1は、入力される原本データxに対して第1ラーニングネットワークの第1学習済みパラメータを利用して、ネットワーク演算を適用させて原本データxに対する第1特性情報y1を出力する。
次に、データ変調装置100は、(i)第1特性情報yと、これに対応する少なくとも一つの第1_1原本正解とを参照して取得した少なくとも一つの第1_1ロスと、(ii)(ii−1)第1特性情報y1を利用して生成された少なくとも一つの第1タスク特化出力と、(ii−2)これに対応する少なくとも一つの第2_1原本正解とを参照して算出された少なくとも一つの第2_1ロスとのうち少なくとも一部を利用したバックプロパゲーションを通じて原本データをアップデートして、原本データに対応する第1変調済みデータを生成することができる。
以後、データ変調装置100は、整数(integer)であるkを2からnまで増加させて行き、(i)第k−1変調済みデータを第kラーニングネットワークに入力して、第kラーニングネットワークをもって(i−1)第kラーニングネットワークの少なくとも一つの第k学習済みパラメータを利用して、第k−1変調済みデータに対してネットワーク演算を適用させて(i−2)第k−1変調済みデータに対する第k特性情報を出力させ、(ii)(ii−1)第k特性情報と、これに対応する少なくとも一つの第1_k原本正解とを参照して算出された少なくとも一つの第1_kロスと、(ii−2)(ii−2a)第k特性情報を利用して生成された少なくとも一つの第kタスク特化出力と、(ii−2b)これに対応する少なくとも一つの第2_k原本正解とを参照して算出された少なくとも一つの第2_kロスとのうち少なくとも一部を利用したバックプロパゲーションを通じて第k−1変調済みデータをアップデートして、第k−1変調済みデータに対応する第k変調済みデータを生成するプロセスを繰り返す。
このような方法により、データ変調装置100は、第2ラーニングネットワーク130_2乃至第nラーニングネットワーク130_nをもって、それぞれ以前のラーニングネットワークを利用したバックプロパゲーションにより生成された以前の変調済みデータとして入力して、バックプロパゲーションを遂行させて第n変調済みデータを生成するプロセスを繰り返した結果、原本データに対してコンシールされた変調済みデータとして第n変調済みデータを生成することができる。
また、前記では、原本データに対してコンシールされた変調済みデータとして第n変調済みデータを生成したが、第1ラーニングネットワーク130_1乃至第nラーニングネットワーク130_nをもって第1_1ロス乃至第1_nロスと、第2_1乃至第2_nロスとを利用させ、原本データをアップデートして原本データに対してコンシール処理された変調済みデータを生成することもできる。
すなわち、前記のような過程を通じて、第1ラーニングネットワーク130_1乃至第nラーニングネットワーク130_nを利用してデータ変調装置100は、(i)第1_1ロス乃至第1_nロスを平均した第1平均ロス、(ii)第2_1ロス乃至第2_nロスを平均した第2平均ロス、及び(iii)第1_1ロス乃至第1_nロスと、これにそれぞれ対応する第2_1ロス乃至第2_nロスとをそれぞれ要素ごとに合算(Piecewise Summation)した第1合算ロス乃至第2合算ロスを平均した第3ロスのうち少なくとも一部を利用したバックプロパゲーションを通じて原本データをアップデートして、前記原本データに対するコンシール処理された変調済みデータを生成することができる。
一方、前記に示したように、データ変調装置100は、第2ラーニングネットワーク130_2乃至第nラーニングネットワーク130_nそれぞれをもって、以前のラーニングネットワークを利用したバックプロパゲーションにより生成された以前の変調済みデータとして入力してバックプロパゲーションを遂行させて変調済みデータを生成したが、原本データxを第1ラーニングネットワーク130_1乃至第nラーニングネットワーク130_nそれぞれに入力して、一度のバックプロパゲーションを通じて変調済みデータを生成することもできる。
すなわち、データ変調装置100は、原本データxを第1ラーニングネットワーク乃至第nラーニングネットワークそれぞれに入力して、それぞれの第1ラーニングネットワーク130_1乃至第nラーニングネットワーク130_nをもって(i)第1ラーニングネットワーク130_1乃至第nラーニングネットワーク130_nそれぞれの第1学習済みパラメータ乃至第n学習済みパラメータをそれぞれ利用して、原本データxに対してネットワーク演算を適用させて(ii)第1学習済みパラメータ乃至第n学習済みパラメータをそれぞれ利用して原本データxに対するそれぞれの第1特性情報乃至第n特性情報を出力させる。そして、データ変調装置100は、(i)第1特性情報乃至第n特性情報と、(ii)これにそれぞれ対応する第1_1原本正解乃至第1_n原本正解とを参照して算出された第1_1ロス乃至第1_nロスの平均である第1ロスを利用したバックプロパゲーションを通じて原本データをアップデートして、原本データに対応する変調済みデータを生成することができる。
また、データ変調装置100は、(i)第1特性情報乃至第n特性情報それぞれを利用して生成された第1タスク特化出力乃至第nタスク特化出力と、(ii)これにそれぞれ対応する少なくとも1つの第2_1原本正解乃至少なくとも1つの第2_n原本正解とを参照して算出された第2_1ロス乃至第2_nロスの平均である第2ロスを利用したバックプロパゲーションを通じて原本データをアップデートして、原本データに対応する変調済みデータを生成することができる。
これに加えて、データ変調装置100は、第1_1ロス乃至第1_nロスと、これにそれぞれ対応する第2_1ロス乃至第2_nロスとをそれぞれ要素ごとに合算(Piecewise Summation)した第1合算ロス乃至第n合算ロスを平均した第3ロスを利用したバックプロパゲーションを通じて原本データをアップデートして、原本データに対応する変調済みデータを生成することもできる。
図4は、本発明の一実施例において、原本データを変換して生成された変換データを入力として、原本データに対応する変調済みデータをコンシール処理されたデータとして生成する方法を簡略に示したものである。下記の説明では、図2の説明で容易に理解可能な部分については詳細な説明を省略することにする。
まず、原本データxが取得されると、データ変調装置100が、原本データxを変換して変換データx’を生成する。
この際、変換データx’は、原本データxにランダムノイズ生成ネットワーク(図示せず)を通じて生成された少なくとも一つのランダムノイズを追加して生成することができる。一例として、ランダムノイズ生成ネットワークをもって正規分布N(0,σ)を有するランダムノイズを生成させ、生成されたノイズを原本データxに追加して変換データx’を生成することができる。また、変換データx’はランダムノイズ以外にも、原本データxをブラー(Blur)処理するか原本データxの解像度を変更して生成することができるが、これに限定されず、原本データを変換する様々な方法が適用され得る。
次に、データ変調装置100は、変換データx’をラーニングネットワーク130に入力して、ラーニングネットワーク130をもって(i)ラーニングネットワーク130の学習済みパラメータを利用して、変換データに対してネットワーク演算を適用させて(ii)変換データに関する特性情報yを出力させることができる。
すなわち、コンシール処理のための原本データxが取得されると、データ変換装置100のメモリ110に格納されたインストラクションにしたがってデータ変換装置100、すなわち、プロセッサ120が、原本データxを変換データx’に変換した後、変換データx’をラーニングネットワーク130に入力する。
そうすると、ラーニングネットワーク130は、入力される変換データx’に対してラーニングネットワークの学習済みパラメータを利用して、ネットワーク演算を適用させて変換データx’に対する特性情報yを出力する。
次に、データ変調装置100は、(i)特性情報yと、これに対応する少なくとも一つの第1原本正解とを参照して算出された第1ロスと、(ii)(ii−1)特性情報yを利用して生成されたタスク特化出力と、(ii−2)これに対応する少なくとも一つの第2原本正解とを参照して算出された第2ロスとのうち少なくとも一部を利用したバックプロパゲーションを通じて原本データ又は変換データをアップデートするプロセスを遂行して原本データに対応する変調済みデータを生成することができる。
図5は、本発明の一実施例において、原本データを変換して生成された変換データを入力として、原本データに対応する第1変調済みデータ乃至第n変調済みデータをコンシール処理されたデータとして生成する方法を簡略に示したものである。下記の説明では、図2乃至図4の説明で容易に理解可能な部分については詳細な説明を省略することにする。
まず、原本データxが取得されると、データ変調装置100が、原本データxを変換して変換データx’を生成する。
次に、データ変調装置100が、変換データx’を第1ラーニングネットワーク130_1に入力して、第1ラーニングネットワーク130_1をもって(i)第1ラーニングネットワーク130_1の第1学習済みパラメータを利用して、変換データに対してネットワーク演算を適用させて(ii)変換データに対する第1特性情報yを出力させる。
すなわち、コンシール処理のための原本データxが取得されると、データ変換装置100のメモリ110に格納されたインストラクションにしたがってデータ変換装置100、すなわち、プロセッサ120が、原本データxを変換データx’に変換した後、変換データx’を第1ラーニングネットワーク130_1に入力する。
そうすると、第1ラーニングネットワーク130_1は、入力される変換データx’に対して第1ラーニングネットワークの第1学習済みパラメータを利用して、ネットワーク演算を適用させて変換データx’に対する第1特性情報y1を出力する。
次に、データ変調装置100は、(i)第1特性情報y1と、これに対応する少なくとも一つの第1_1原本正解とを参照して算出された少なくとも一つの第1_1ロスと、(ii)(ii−1)第1特性情報y1を利用して生成された少なくとも一つの第1タスク特化出力と、(ii−2)これに対応する少なくとも一つの第2_1原本正解とを参照して算出された少なくとも一つの第2_1ロスとのうち少なくとも一部を利用したバックプロパゲーションを通じて変換データをアップデートして変換データに対応する第1変調済みデータを生成することができる。
以後、データ変調装置100は、整数であるkを2からnまで増加させて行き、(i)第k−1変調済みデータを第kラーニングネットワークに入力して、第kラーニングネットワークをもって(i−1)第kラーニングネットワークの少なくとも一つの第k学習済みパラメータを利用して、第k−1変調済みデータに対してネットワーク演算を適用させて(i−2)第k−1変調済みデータに対する第k特性情報を出力させ、(ii)(ii−1)第k特性情報と、これに対応する少なくとも一つの第1_k原本正解とを参照して算出された少なくとも一つの第1_kロスと、(ii−2)(ii−2a)第k特性情報を利用して生成された少なくとも一つの第kタスク特化出力と、(ii−2b)これに対応する少なくとも一つの第2_k原本正解とを参照して算出された少なくとも一つの第2_kロスとのうち少なくとも一部を利用したバックプロパゲーションを通じて第k−1変調済みデータをアップデートして第k−1変調済みデータに対応する第k変調済みデータを生成することができる。
このような方法により、データ変調装置100は、第2ラーニングネットワーク130_2乃至第nラーニングネットワーク130_nをもって、それぞれ以前のラーニングネットワークを利用したバックプロパゲーションにより生成された以前の変調済みデータとして入力して、バックプロパゲーションをそれぞれ遂行させて第n変調済みデータを生成するプロセスを繰り返すことにより、原本データに対してコンシールされた第n変調済みデータを生成することができる。
また、前記では、原本データに対してコンシールされた変調済みデータとして第n変調済みデータを生成したが、第1ラーニングネットワーク130_1乃至第nラーニングネットワーク130_nをもって第1_1ロス乃至第1_nロスと、第2_1ロス乃至第2_nロスとを利用させて原本データ又は変換データをアップデートして、原本データに対してコンシール処理された変調済みデータを生成することもできる。
すなわち、データ変調装置100は、前記のような過程を通じて第1ラーニングネットワーク130_1乃至第nラーニングネットワーク130_nを利用して、(i)第1_1ロス乃至第1_nロスを平均した第1平均ロス、(ii)第2_1ロス乃至第2_nロスを平均した第2平均ロス、及び(iii)第1_1ロス乃至第1_nロスと、これに対応する第2_1ロス乃至第2_nロスとをそれぞれ要素ごとに合算(Piecewise Summation)した第1合算ロス乃至第2合算ロスを平均した第3平均ロスのうち少なくとも一部を利用したバックプロパゲーションを通じて原本データ又は変換データをアップデートして、原本データに対するコンシール処理された変調済みデータを生成することができる。
一方、前記では、第2ラーニングネットワーク130_2乃至第nラーニングネットワーク130_nをもって、それぞれ以前のラーニングネットワークを利用したバックプロパゲーションにより生成された以前の変調済みデータとして入力して、バックプロパゲーションをそれぞれ遂行して変調済みデータを生成したが、変換データx’を第1ラーニングネットワーク130_1乃至第nラーニングネットワーク130_nそれぞれに入力して、一度のバックプロパゲーションを通じて変調済みデータを取得することもできる。
すなわち、データ変調装置100は、変換データx’を第1ラーニングネットワーク130_1乃至第nラーニングネットワーク130_nそれぞれに入力し、それぞれの第1ラーニングネットワーク130_1乃至第nラーニングネットワーク130_nをもって(i)第1ラーニングネットワーク130_1乃至第nラーニングネットワーク130_nそれぞれの第1学習済みパラメータ乃至第n学習済みパラメータを利用して、変換データx’に対してネットワーク演算を適用させて(ii)変換データx’に対するそれぞれの第1特性情報乃至第n特性情報を出力させる。そして、データ変調装置100は、(i)第1特性情報乃至第n特性情報と、(ii)これにそれぞれ対応する第1_1原本正解乃至第1_n原本正解とを参照して算出された第1_1ロス乃至第1_nロスの平均である第1ロスを利用したバックプロパゲーションを通じて原本データ又は変換データをアップデートして、原本データに対応する変調済みデータを生成することができる。
また、データ変調装置100は、(i)第1特性情報乃至第n特性情報それぞれを利用して生成された第1タスク特化出力乃至第nタスク特化出力と、(ii)これにそれぞれ対応する第2_1原本正解乃至第2_n原本正解とを参照して算出された第2_1ロス乃至第2_nロスの平均である第2ロスを利用したバックプロパゲーションを通じて原本データ又は変換データをアップデートして、原本データに対応する変調済みデータを生成することができる。
これに加えて、データ変調装置100は、第1_1ロス乃至第1_nロスと、これにそれぞれ対応する第2_1ロス乃至第2_nロスとをそれぞれ要素ごとに合算(Piecewise Summation)した第1合算ロス乃至第n合算ロスをそれぞれ平均した第3ロスを利用したバックプロパゲーションを通じて原本データ又は変換データをアップデートして、原本データに対応する変調済みデータを生成することもできる。
図6は、本発明のまた他の実施例において、データをコンシール処理する方法を示したものである。以下の説明において、図2乃至図5の説明から容易に理解可能な部分については詳細な説明を省略することにする。
まず、原本データxが取得されると、データ変調装置100が、原本データxを変換して変換データx’を生成する。
次に、データ変調装置100は、原本データxをラーニングネットワーク130に入力して、ラーニングネットワークをもって(i)ラーニングネットワークの少なくとも一つの学習済みパラメータを利用して、原本データxに対してネットワーク演算を適用させて(ii)原本データに対する第1特性情報yを出力させる。また、データ変調装置100は、変換データx’をラーニングネットワーク130に入力して、ラーニングネットワーク130をもって(i)学習済みパラメータを利用して、変換データx’に対してネットワーク演算を適用させて(ii)変換データxに対する第2特性情報y’を出力させる。
次に、データ変調装置100は、(i)第1特性情報yと第2特性情報y’とを参照して生成された少なくとも1つの第1ロスと、(ii)(ii−1)第2特性情報y’を利用して生成された少なくとも1つのタスク特化出力と、(ii−2)これに対応する少なくとも1つの原本正解とを参照して生成された少なくとも1つの第2ロスとのうち少なくとも一部を参照して算出されたデータロスを利用したバックプロパゲーションを通じて原本データx又は変換データx’をアップデートして、原本データに対応する変調済みデータを生成することができる。
この際、第1特性情報と第2特性情報とを参照して第1ロスを算出するにおいて、データ変調装置100は、第1特性情報と第2特性情報との間の差異値、一例として、ノルム(Norm)||y−y’||を利用して第1ロスを算出するか、 第1特性情報と第2特性情報との間のコサイン類似度(Cosine Similarity)を利用して第1ロスを算出することができるが、これに限定されない。
また、データ変調装置100は、データロスを利用したバックプロパゲーションの進行中にラーニングネットワーク130の学習済みパラメータは固定してアップデートせず、原本データ又は変換データに対してのみ、第1ロスと第2ロスとのうち少なくとも一部を最小化するようにバックプロパゲーションを遂行することにより、原本データを変調することができる。そうすると、変調済みデータは人にとっては原本データとは異なるデータとして認識されるが、ラーニングネットワークでは原本データと同一又は類似したデータとして認識され得る。
また、データ変調装置100は、データロスを利用したバックプロパゲーションの進行中に、データロスを利用して第1ロスと第2ロスとのうち少なくとも一部を最小化するためのロスグラディエントを取得し、ロスグラディエントを原本データにバックプロパゲーションすることができる。
図7は、本発明のまた他の実施例において、第1変調済みデータ乃至第n変調済みデータをコンシール処理されたデータとして生成する方法を簡略に示した図である。変調済みデータを利用して算出された出力結果は、本発明のまた他の実施例において、学習済みパラメータを有する多数のラーニングネットワーク130_1、130_2、…、130_nを利用して、原本データを利用して算出された出力結果と同一であるか類似する。下記の説明では、図2乃至図6の説明で容易に理解可能な部分については詳細な説明を省略することにする。
まず、原本データxが取得されると、データ変調装置100が、原本データxを変換して変換データx’を生成する。
次に、データ変調装置100は、原本データxを第1ラーニングネットワーク130_1に入力して、第1ラーニングネットワーク130_1をもって(i)第1ラーニングネットワーク130_1の第1学習済みパラメータを利用して、原本データxに対してネットワーク演算を適用させて(ii)原本データに対する第1_1特性情報y1を出力させる。また、データ変調装置100は、変換データx’を第1ラーニングネットワーク130_1に入力して、第1ラーニングネットワーク130_1をもって(i)学習済みパラメータを利用して、変換データx’に対してネットワーク演算を適用させて(ii)変換データxに対する第2_1特性情報y1’を出力させる。
次に、データ変調装置100は、(i)第1_1特性情報y1と第2_1特性情報y1’とを参照して生成された少なくとも一つの第1_1ロスと、(ii)(ii−1)第2_1特性情報y1’を利用して生成した第1タスク特化出力と、(ii−2)これに対応する少なくとも一つの第1原本正解とを参照して生成された少なくとも一つの第2_1ロスとのうち少なくとも一部を参照して算出された第1データロスを利用したバックプロパゲーションを通じて変換データx’をアップデートして第1変調済みデータを生成することができる。
以後、データ変調装置100は、整数であるkを2からnまで増加させて行き、(i)原本データxを第kラーニングネットワークに入力して、第kラーニングネットワークをもって(i−1)第kラーニングネットワークの第k学習済みパラメータを利用して、原本データxに対してネットワーク演算を適用させて(i−2)原本データに対する第1_k特性情報ykを出力させ、(ii)第k−1変調済みデータを第kラーニングネットワークに入力して、第kラーニングネットワークをもって(ii−1)第kラーニングネットワークの第k学習済みパラメータを利用して、第k−1変調済みデータに対してネットワーク演算を適用させて(ii−2)第k−1変調済みデータに対する第2_k特性情報yk’を出力させ、(iii)(iii−1)第1_k特性情報ykと第2_k特性情報yk’とを参照して生成された少なくとも一つの第1_kロスと、(iii−2)(iii−2a)第2_k特性情報yk’を利用して生成された少なくとも一つの第kタスク特化出力と、(iii−2b)これに対応する少なくとも一つの第k原本正解とを参照して生成された少なくとも一つの第2_kロスとのうち少なくとも一部を参照して算出された少なくとも一つの第kデータロスを利用したバックプロパゲーションを通じて第k−1変調済みデータをアップデートして、第k−1変調済みデータに対応する第k変調済みデータを生成するプロセスを繰り返すことにより、原本データに対応する変調済みデータである第n変調済みデータを生成することができる。
また、前記では、原本データに対してコンシールされた変調済みデータとして第n変調済みデータを生成したが、第1ラーニングネットワーク130_1乃至第nラーニングネットワーク130_nをもって第1データロス乃至第nデータロスを利用させて原本データ又は変換データをアップデートして、原本データに対してコンシール処理された変調済みデータを生成することもできる。
すなわち、データ変調装置100は、前記のような過程を通じて(i)第1ラーニングネットワーク130_1乃至第nラーニングネットワーク130_nを通じた第1データロス乃至第nデータロスを取得し、(ii)取得された第1データロス乃至第nデータロスを平均した少なくとも1つの平均データロスを利用したバックプロパゲーションを通じて原本データ又は変換データをアップデートして原本データに対するコンシール処理された変調済みデータを生成することができる。
また、前記では、第1ラーニングネットワーク130_1乃至第nラーニングネットワーク130_nそれぞれに原本イメージを入力して原本イメージに対する特性情報を取得し、これを利用して第1_1ロス乃至第1_nロスを算出したが、原本データを第1ラーニングネットワーク130_1乃至第nラーニングネットワーク130_nのうち少なくとも1つの特定のラーニングネットワークに入力して原本データに対する特定の特性情報を取得し、これを利用して原本データ又は変換データをアップデートすることもできる。
一例として、データ変調装置100は、原本データxを第1ラーニングネットワーク130_1乃至第nラーニングネットワーク130_nのうち少なくとも1つの特定のラーニングネットワークをもって(i)特定のラーニングネットワークの少なくとも1つの特定の学習済みパラメータを利用して、原本データに対してネットワーク演算を適用させて(ii)原本データに対する特定の特性情報を出力させる。
そして、データ変調装置100は、(i)変換データx’を第1ラーニングネットワーク130_1に入力して、第1ラーニングネットワーク130_1をもって(i−1)第1学習済みパラメータを利用して、変換データに対してネットワーク演算を適用させて(ii)変換データに対する第2_1特性情報を出力させ、(ii)第2_1特性情報をクラスごとにマッピングして生成された変換データに対する少なくとも一つの第1確率と、原本データに対応する少なくとも一つの原本正解とを参照して第1_1ロスを算出し、(iii)前記第1_1ロスを利用したバックプロパゲーションを通じて変換データをアップデートして、これに対応する第1変調済みデータを生成する。そして、データ変調装置100は、整数であるkを2からnまで増加させて行き、(i)第k−1変調済みデータを第kラーニングネットワークに入力して、第kラーニングネットワークをもって(i−1)第kラーニングネットワークの第k学習済みパラメータを利用して、第k−1変調済みデータに対してネットワーク演算を適用させて(i−2)第k−1変調済みデータに関する第2_k特性情報を出力させ、(ii)第2_k特性情報をクラスごとにマッピングして生成された第k−1変調済みデータに対する少なくとも1つの第k確率と、原本データに対応する少なくとも一つの原本正解とを参照して第1_kロスを算出し、(iii)第1_kロスを利用したバックプロパゲーションを通じて第k−1変調済みデータをアップデートして、第k−1変調済みデータに対応する第k変調済みデータを生成するプロセスを繰り返して第n変調済みデータを生成する。
以後、データ変調装置100は、(i)第1_1ロス乃至第1_nロスを参照して算出された少なくとも一つの第1サブロスと、(ii)(ii−1)特定の特性情報と(ii−2)第2_1特性情報乃至第2_n特性情報とを参照して算出された少なくとも一つの第2サブロスとのうち少なくとも一部を利用して原本データ又は変換データをアップデートして、原本データに対応する変調済みデータを生成することができる。
この際、データ変調装置100は、(i)第1_1ロス乃至第1_nロスの平均ロスを少なくとも一つの第1サブロスとして生成し、(ii)第2_1特性情報乃至第2_n特性情報の平均と特定の特性情報とを参照して第2サブロスを生成することができる。
一方、前記では、データ変調装置100は、第2ラーニングネットワーク130_2乃至第nラーニングネットワーク130_nそれぞれをもって、以前のラーニングネットワークを利用したバックプロパゲーションにより生成された以前の変調済みデータを入力して、バックプロパゲーションをそれぞれ遂行して変調済みデータを生成したが、変換データx’を第1ラーニングネットワーク130_1乃至第nラーニングネットワーク130_nそれぞれに入力して、一度のバックプロパゲーションを通じて変調済みデータを生成することもできる。
すなわち、データ変調装置100は、原本データxを第1ラーニングネットワーク130_1乃至第nラーニングネットワーク130_nそれぞれに入力して、それぞれの第1ラーニングネットワーク130_1乃至第nラーニングネットワーク130_nをもって(i)第1ラーニングネットワーク130_1乃至第nラーニングネットワーク130_nそれぞれの第1学習済みパラメータ乃至第n学習済みパラメータをそれぞれ利用して、原本データxに対してそれぞれのネットワークに対応するネットワーク演算を適用させて(ii)原本データxに対するそれぞれの第1_1特性情報y1乃至第1_n特性情報ynを出力させる。また、データ変換装置100は、変換データx’を第1ラーニングネットワーク130_1乃至第nラーニングネットワーク130_nそれぞれに入力して、それぞれの第1ラーニングネットワーク130_1乃至第nラーニングネットワーク130_nをもって(i)第1ラーニングネットワーク130_1乃至第nラーニングネットワーク130_nそれぞれの第1学習済みパラメータ乃至第n学習済みパラメータをそれぞれ利用して、変換データx’に対してそれぞれのネットワークに対応するネットワーク演算を適用させて(ii)第1学習済みパラメータ乃至第n学習済みパラメータをそれぞれ利用して、変換データx’に対するそれぞれの第2_1特性情報y1’乃至第2_n特性情報(yn’)を出力させる。
そして、データ変調装置100は、(i)第1_1特性情報乃至第1_n特性情報と(ii)第1_1特性情報乃至第1_n特性情報それぞれに対応する第2_1特性情報乃至第2_n特性情報とを参照して算出された第1_1ロス乃至第1_nロスの平均である第1ロスを利用したバックプロパゲーションを通じて原本データ又は変換データをアップデートして、原本データに対応する変調済みデータを生成することができる。
また、データ変調装置100は、(i)第2_1特性情報乃至第2_n特性情報それぞれを利用して生成された第1タスク特化出力乃至第nタスク特化出力と、(ii)これにそれぞれ対応する第1原本正解乃至第n原本正解とを参照して算出された第2_1ロス乃至第2_nロスの平均である第2ロスを利用したバックプロパゲーションを通じて原本データ又は変換データをアップデートして、原本データに対応する変調済みデータを生成することができる。
これに加えて、データ変調装置100は、第1_1ロス乃至第1_nロスと、これにそれぞれ対応する第2_1ロス乃至第2_nロスとをそれぞれ要素ごとに合算(Piecewise Summation)した第1合算ロス乃至第n合算ロスを平均した第3ロスを利用したバックプロパゲーションを通じて、原本データ又は変換データをアップデートして、原本データに対応する変調済みデータを生成することができる。
図8A及び図8Bは、本発明の実施例において、原本データとコンシール処理された原本データとを簡略に示したものである。
図8Aはカナダ高等研究所(CIFAR:Canadian Institute for Advanced Research)においてイメージ分類の問題解決のために収集して整理したデータである、CIFAR−10データセットから選定された64個のイメージサンプルを例示的に示す図面である。
図8Aのイメージサンプルを原本データとして、本発明の実施例においてコンシール処理した変調済みデータは、図8Bのように示される。
図8A及び図8Bを参照すると、本発明の実施例においてコンシール処理された図8Bの64個の変調済みデータは、図8Aの64個の原本データとは視覚的に異なるが、ラーニングネットワークに入力する場合、ラーニングネットワークは原本データと同一であるか類似した結果を出力する。
一方、本発明の実施例において、データ変調装置100でコンシール処理された変調済みデータは、イメージビッグデータの購入者に提供又は販売され得る。
また、本発明の一実施例によると、上記の購入者に対してコンシール処理されたイメージデータが提供又は販売されるとともに、データ変調装置100における方法を多様なコンピュータ構成要素を通じて実行することができるプログラムインストラクションの形態で具現されて、コンピュータ読取り可能な記録媒体に格納されて提供され得る。本発明の一実施例によると、購入者は、記録媒体に格納されたプログラムインストラクションをコンピューティング装置を利用して実行することによって、自らが別途に保有しているか他の出処から取得された原本データからコンシール処理されたデータを生成することができ、コンシール処理されたデータを自らのラーニングネットワークで利用することが可能となる。また、購入者は、そのコンシール処理されたデータ、自らが保有しているか他の出処から取得された原本イメージデータ、及び自らに提供又は販売されたコンシール処理済みのイメージデータのうち少なくとも二つ以上を自らのラーニングネットワークで共に使用することも可能になる。
一方、本発明の一実施例によると、データ変調装置100の方法を多様なコンピュータ構成要素を通じて実行され得るプログラムインストラクションの形態で具現した場合、正確度が高く設定されることから購入者のコンピューティング装置においてはコンピューティングオーバーヘッド(Computational Overhead)を発生させることがあり得るため、購入者が設定を通じて正確度を減少させることができるようにして、コンピューティングオーバーヘッドを防止し得るようにすることが可能になる。
一方、本明細書に明示された「平均」は、加重平均(Weighted Average)を意味するが、これに限定されるわけではない。
以上にて説明された本発明による実施例は、多様なコンピュータの構成要素を通じて実行することができるプログラム命令語の形態で具現されて、コンピュータ読取り可能な記録媒体に格納され得る。前記コンピュータ読取り可能な記録媒体は、プログラム命令語、データファイル、データ構造などを単独で又は組み合わせて含むことができる。前記コンピュータ読取り可能な記録媒体に格納されるプログラム命令語は、本発明のために特別に設計され、構成されたものであるか、コンピュータソフトウェア分野の当業者に公知にされて使用可能なものであり得る。コンピュータ読取り可能な記録媒体の例には、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスク(Floptical Disk)のような磁気−光メディア(Magneto−Optical Media)、及びROM、RAM、フラッシュメモリなどのようなプログラム命令語を格納して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるもののような機械語コードだけでなく、インタープリターなどを使用してコンピュータによって実行され得る高級言語コードも含まれる。前記ハードウェア装置は、本発明による処理を実行するために一つ以上のソフトウェアモジュールとして作動するように構成され得、その反対も同様である。
以上にて本発明が具体的な構成要素などのような特定事項と限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解の一助とするために提供されたものであるに過ぎず、本発明が前記実施例に限られるものではなく、本発明が属する技術分野において通常の知識を有する者であれば、かかる記載から多様な修正及び変形が行われ得る。
したがって、本発明の思想は、前記説明された実施例に局限されて定められてはならず、後述する特許請求の範囲だけでなく、本特許請求の範囲と均等又は等価的に変形されたものすべては、本発明の思想の範囲に属するといえる。