(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-02-24
(54)【発明の名称】生成的敵対神経網ベースの分類システム及び方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20220216BHJP
【FI】
G06N20/00
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2020560365
(86)(22)【出願日】2020-03-17
(85)【翻訳文提出日】2020-10-27
(86)【国際出願番号】 KR2020003622
(87)【国際公開番号】W WO2021112335
(87)【国際公開日】2021-06-10
(31)【優先権主張番号】10-2019-0162109
(32)【優先日】2019-12-06
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2019-0162110
(32)【優先日】2019-12-06
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2019-0162111
(32)【優先日】2019-12-06
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2020-0023894
(32)【優先日】2019-12-06
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2020-0023895
(32)【優先日】2019-12-06
(33)【優先権主張国・地域又は機関】KR
(81)【指定国・地域】
(71)【出願人】
【識別番号】520408272
【氏名又は名称】アジャイルソーダ インコーポレイテッド
(74)【代理人】
【識別番号】100079049
【氏名又は名称】中島 淳
(74)【代理人】
【識別番号】100084995
【氏名又は名称】加藤 和詳
(72)【発明者】
【氏名】ロ、チョル-キョン
(72)【発明者】
【氏名】ミン、イェ-リン
(72)【発明者】
【氏名】ル、ファム-トゥエン
(57)【要約】
生成的敵対神経網ベースの分類システム及び方法を提供する。本発明は、欠測データを生成的敵対神経網(GAN)を用いて実際データと類似の欠測代替値として生成でき、データの全体的な質を向上させることができ、ラベルのあるラベルデータセットと、ラベルのない非ラベルデータセットのように不均衡なデータセットにおいても学習できる。
【特許請求の範囲】
【請求項1】
ラベルのあるデータセットから、ステートのうち欠測された部分に対して欠測代替値を生成する生成子(100);
前記生成子(100)が生成した欠測代替値と原本データとを区分する判別子(200);
前記生成子(100)によって生成された欠測代替値を用いて、政策によってアクション(Action)を予測するアクター(400);及び
前記欠測代替値に代替されたステート、前記予測されたアクション及び前記ラベルのあるデータセットのラベルに基づいて、リワードの加重値を生成する加重値関数部(500);を含み、
前記加重値関数部(500)は、頻度数が相対的に小さいラベルにはリワードの加重値が増加するようにし、頻度数が相対的に大きいラベルにはリワードの加重値が低くなるようにして、ラベル間の均衡が取れるように動作し、
前記アクター(400)は、前記予測されたアクションと加重値関数部(500)で生成されたリワードの加重値を反映して、政策損失関数(41)が最適化するように前記政策を学習することを特徴とする、生成的敵対神経網ベースの分類システム。
【請求項2】
前記リワードの加重値は、下記の式
【数1】
(ここで、r(S_h)(S_hはSの上にハット)は、ステートS_hから得られるリワードであり、aは、与えられたステートに対する政策πが予測したアクションであり、yはステートのラベルであり、ω
yとω
aは、ω
k=1-log
bφ
k(bは、ログに基づくe,10…)に基づく加重係数である)と定義されることを特徴とする、請求項1に記載の生成的敵対神経網ベースの分類システム。
【請求項3】
前記加重値関数部(500)は、頻度数が相対的に小さいラベルにはリワードの加重値が増加するようにし、頻度数が相対的に大きいラベルにはリワードの加重値が低くなるようにして、ラベル間の均衡が取れるように動作し、
前記ラベルの頻度数は、下記の式
【数2】
(ここで、n
kは、k番目ラベルのサンプル数であり、φ
kは、(0,1)の範囲に含まれる)に近似され、
前記アクター(400)は、前記予測されたアクションと加重値関数部(500)で生成されたリワードの加重値を反映して、政策損失関数(41)が最適化するように前記政策を学習することを特徴とする、請求項1に記載の生成的敵対神経網ベースの分類システム。
【請求項4】
前記加重値関数部(500)は、頻度数が相対的に小さいラベルにはリワードの加重値が増加するようにし、頻度数が相対的に大きいラベルにはリワードの加重値が低くなるようにして、ラベル間の均衡が取れるように動作し、
前記アクター(400)は、前記予測されたアクションと加重値関数部(500)で生成されたリワードの加重値を反映して、政策損失関数(41)が最適化するように前記政策を学習し、
前記政策の学習は、下記の式
【数3】
(ここで、yは、ステートのラベルであり、aは、与えられたステートに対する政策πが予測したアクションであり、W(S_h,a,y)は、ステート、アクション及びラベルに対するリワードの加重値である)を用いることを特徴とする、請求項1に記載の生成的敵対神経網ベースの分類システム。
【請求項5】
生成子(100)と、判別子(200)と、アクター(400)と加重値関数部(500)で構成された生成的敵対神経網(Generative Adversarial Network;GAN)を用いた生成的敵対神経網ベースの分類方法であって、
a)生成子(100)が、ラベルのあるデータセット10から、ステートのうち欠測された部分に対して欠測代替値を生成する段階;
b)アクター(400)が、前記生成子(100)によって生成された欠測代替値を用いて、政策によってアクション(Action)を予測する段階;
c)加重値関数部(500)が、前記欠測代替値に代替されたステート、前記予測されたアクション及び前記ラベルのあるデータセットのラベルに基づいて、リワードの加重値を生成する段階;及び
d)前記アクター(400)が、前記予測されたアクションと、加重値関数部(500)で生成されたリワードの加重値を反映して、政策損失関数(41)が最適化するように前記政策を学習する段階を含み、
前記c)段階において、前記加重値関数部(500)は、頻度数が相対的に小さいラベルにはリワードの加重値が増加するようにし、頻度数が相対的に大きいラベルにはリワードの加重値が低くなるようにして、ラベル間の均衡が取れるように動作することを特徴とする、生成的敵対神経網ベースの分類方法。
【請求項6】
前記a)段階は、i)前記生成子(100)が、ラベルのあるデータセット10から、欠測値のあるステート(State)と、前記ステートに該当するステートの元素が欠測されたか否かを示す欠測指標(m)を選択する段階;及び
ii)前記生成子(100)が、前記ステートに‘0’と‘1’間の均等分布から、ランダムノイズに代替された欠測代替値)(S_t)(S_tはSの上にチルダ)を用いて欠測代替値(S_h)を生成し、前記生成された欠測代替値(S_h)を用いて生成子(100)と判別子(200)を学習する前処理段階;をさらに含むことを特徴とする、請求項5に記載の生成的敵対神経網ベースの分類方法。
【請求項7】
前記c)段階の加重値関数部(500)は、頻度数が相対的に小さいラベルにはリワードの加重値が増加するようにし、頻度数が相対的に大きいラベルにはリワードの加重値が低くなるようにして、ラベル間の均衡が取れるように動作し、
前記ラベルの頻度数は、下記の式
【数4】
(ここで、n
kはk番目ラベルのサンプル数であり、φ
kは、(0,1)の範囲に含まれる)に近似され、
前記リワードの加重値は、下記の式
【数5】
(ここで、r(S_h)は、ステートS_hから得られるリワードであり、aは、与えられたステートに対する政策πが予測したアクションであり、yは、ステートのラベルであり、ω
yとω
aは、ω
k=1-log
bφ
k(bは、ログに基づくe,10…)に基づく加重係数である)と定義されることを特徴とする、請求項5に記載の生成的敵対神経網ベースの分類方法。
【請求項8】
前記c)段階の加重値関数部(500)は、頻度数が相対的に小さいラベルにはリワードの加重値が増加するようにし、頻度数が相対的に大きいラベルにはリワードの加重値が低くなるようにして、ラベル間の均衡が取れるように動作することを特徴とする、請求項5に記載の生成的敵対神経網ベースの分類方法。
【請求項9】
前記d)段階は、政策の学習を下記の式
【数6】
(ここで、yは、ステートのラベルであり、aは、与えられたステートに対する政策πが予測したアクションであり、W(S_h,a,y)は、ステート、アクション及びラベルに対するリワードの加重値である)を用いて学習することを特徴とする、請求項5に記載の生成的敵対神経網ベースの分類方法。
【請求項10】
ラベルのあるデータセット(S
L)又はラベルのないデータセット(S
U)から、ステートのうち欠測された部分に対して欠測代替値を生成する生成子(100a);
前記生成子(100a)が生成した欠測代替値と原本データとを区分する判別子(200a);
前記生成子(100a)によって生成された欠測代替値を用いて、政策によってアクション(Action)を予測するアクター(400a);
前記欠測代替値に代替されたステート、前記予測されたアクション及び前記ラベルのあるデータセットのラベルに基づいて、リワードの加重値を生成する加重値関数部(500a);及び
前記ラベルのあるデータセットと、ラベルのないデータセットを対象にアクター(400a)の政策が学習されるようにリワードを提供するリワード部(600a);を含み、
前記アクター(400a)は、前記予測されたアクションと、加重値関数部(500a)から生成されたリワードの加重値を反映して、政策損失関数(41a)が最適化するように前記政策を学習し、且つ前記予測されたアクションと、リワード部(600a)のリワードに基づいてセミ指導政策損失関数(42a)が最適化するように前記政策を学習し、
前記リワード部(600a)のリワードは、下記の式
【数7】
(ここで、R(S
L_h,a)(S
L_hは、S
Lの上にハット)は、リワード部が出力するラベルデータセット(S_h,a)対が、ラベルのあるラベルデータセットのラベルか或いはアクターが生成したラベルかに対する確率値であり、ε∈[0,1]は、ステート-アクション対がラベルデータセット中に含まれる可能性があるか否かを考慮した臨界値である)と定義されることを特徴とする、生成的敵対神経網ベースの分類システム。
【請求項11】
生成子(100a)と、判別子(200a)と、アクター(400a)と加重値関数部(500a)と、リワード部(600a)で構成された生成的敵対神経網(Generative Adversarial Network;GAN)を用いた生成的敵対神経網ベースの分類方法であって、
a)生成子(100a)が、ラベルのあるデータセット(S
L)から、ステートのうち欠測された部分に対して欠測代替値を生成する段階;
b)アクター(400a)が、前記生成子(100a)によって生成された欠測代替値を用いて、政策によってアクション(Action)を予測する段階;
c)加重値関数部(500a)が、前記欠測代替値に代替されたステート、前記予測されたアクション及び前記ラベルのあるデータセットのラベルに基づいて、リワードの加重値を生成する段階;及び
d)前記アクター(400a)が、前記予測されたアクションと、加重値関数部(500a)から生成されたリワードの加重値を反映して、政策損失関数(41a)が最適化するように前記政策を学習する段階;を含み、
前記a)段階において、ラベルのないデータセット(S
U)があれば、
a-1)前記生成子(100a)が、ラベルのないデータセット(S
U)から、ステートのうち欠測された部分に対して欠測代替値(S
U_h)(S
U_hは、S
Uの上にハット)を生成する段階;
b-1)前記アクター(400a)が、生成された欠測代替値(S
U_h)を用いて、政策によってアクション(Action)を予測する段階;
c-1)リワード部(600a)が、前記ラベルのあるデータセットとラベルのないデータセットを対象にアクター(400a)の政策が学習されるようにリワードを提供する段階;及び
d-1)前記アクター(400a)が、前記予測されたアクションと、前記リワード部(600a)のリワードに基づいて、セミ指導政策損失関数(42a)が最適化するように前記政策を学習する段階をさらに含み、
前記リワード部(600a)のリワードは、下記の式
【数8】
(ここで、R(S
L_h,a)は、リワード部が出力するラベルデータセット(S_h,a)対がラベルのあるラベルデータセットのラベルか或いはアクターが生成したラベルかに対する確率値であり、ε∈[0,1]は、ステート-アクション対がラベルデータセット中に含まれる可能性があるか否かを考慮した臨界値である)と定義されることを特徴とする、生成的敵対神経網ベースの分類方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、生成的敵対神経網ベースの分類システム及び方法に関し、より詳細には、生成的敵対神経網(Generative Adversarial Network;GAN)で生成した欠測代替値を用いて、ラベルのあるラベルデータセットとラベルのない非ラベルデータセットの不均衡なデータセットにおいても学習できる、生成的敵対神経網ベースの分類システム及び方法に関する。
【背景技術】
【0002】
マシンラーニングは、複雑なシステムが明示的にプログラミングされず、経験から自動で学習し改善可能にさせる人工知能の応用である。
【0003】
マシンラーニングモデルの正確度及び有効性は、それらのモデルを訓練させるために用いられるデータに部分的に依存できる。
【0004】
例えば、マシンラーニング分類子(Classifier)は、ラベルのある(又は、ラベリングされた)データ(Labeled data)セットを用いて訓練され得るが、ここで、分類子が認識するように、学習するデータのサンプルが、サンプルに対する分類(Classification)を識別する一つ以上のラベルと共に、分類子に提供される。
【0005】
ここで、ラベリングされたデータとは、データに対する答が与えられているもの(又は、評価がされているもの)を指す。
【0006】
しかし、意思決定システムでは、次のような問題から困難を経ることがある。
【0007】
図1は、通常の欠測データが含まれたデータセットを示す例示図であり、
図1に示すように、データセット10は、n個のステート(State)を含んで構成され、ステートの元素11は、ステート‘i’が持つ‘j’番目の元素で、‘S
i
j’と表現され、ここで、‘j’は1からdまでの定数であり、‘S
i
j’はスカラー又は欠測データ‘Z
i
j’12を有することができる。
【0008】
欠測データ(Missing data)は、データセット(Data set)の全体的な質を下げてしまい、意思決定システムで予測された結果が歪む問題点がある。
【0009】
また、ディープラーニングでは、ラベルのあるデータの量が性能において相当な影響力を持っているが、大部分の実データセットは通常、ラベルのない非ラベルデータを含んでおり、データをラベリングする費用が非常に高価となる問題点がある。
【0010】
また、通常のビジネス意思決定のためのビジネスデータセットには、多くの欠測値、非理想的なラベル不均衡の問題があり、分類システムを構築する上で困難が多い。
【0011】
また、通常のビジネス意思決定のためのビジネスデータセットには、不均衡のバラツキが非常に大きく、少数のクラスがデータにおいて非常に小さい部分だけを占めるが、結果的にこのようなクラスのサンプルは、意思決定システムをアップデートする上で殆どクエリ(Query)されないという問題点がある。
【0012】
また、通常のビジネス意思決定のためのビジネスデータセット、例えば、貸出詐欺ビジネスのデータセットである場合、詐欺件がわずかなため、通常の分類システムでは分類も予測もし難い問題点がある。
【発明の概要】
【発明が解決しようとする課題】
【0013】
このような問題点を解決するために、本発明は、生成的敵対神経網(Generative Adversarial Network;GAN)で生成した欠測代替値を用いて、ラベルのあるラベルデータセットとラベルのない非ラベルデータセットの不均衡なデータセットにおいても学習できる、生成的敵対神経網ベースの分類システム及び方法を提供することを目的とする。
【課題を解決するための手段】
【0014】
本発明の一実施例による生成的敵対神経網ベースの分類システムは、ラベルのあるデータセットから、ステートのうち欠測された部分に対して欠測代替値を生成する生成子;前記生成子が生成した欠測代替値と原本データとを区分する判別子;前記生成子によって生成された欠測代替値を用いて、政策によってアクション(Action)を予測するアクター;及び前記欠測代替値に代替されたステート、前記予測されたアクション及び前記ラベルのあるデータセットのラベルに基づいて、リワードの加重値を生成する加重値関数部;を含み、
【0015】
前記加重値関数部は、頻度数が相対的に小さいラベルにはリワードの加重値が増加するようにし、頻度数が相対的に大きいラベルにはリワードの加重値が低くなるようにして、ラベル間の均衡が取れるように動作し、
【0016】
前記アクターは、前記予測されたアクションと加重値関数部で生成されたリワードの加重値を反映して、政策損失関数が最適化するように前記政策を学習することを特徴とする。
【0017】
また、本発明の実施例によるリワードの加重値は、下記の式、
【数1】
(ここで、r(S_h)(S_hはSの上にハット)は、ステートS_hから得られるリワードであり、aは、与えられたステートに対する政策πが予測したアクションであり、yは、ステートのラベルであり、ω
yとω
aは、ω
k=1-log
bφ
k(bは、ログに基づくe,10…)に基づく加重係数である。)と定義されることを特徴とする。
【0018】
また、本発明の実施例による加重値関数部は、頻度数が相対的に小さいラベルにはリワードの加重値が増加するようにし、頻度数が相対的に大きいラベルにはリワードの加重値が低くなるようにして、ラベル間の均衡が取れるように動作する。
【0019】
また、本発明の実施例によるラベル頻度数は、下記の式
【数2】
(ここで、n
kは、k番目ラベルのサンプル数であり、φ
kは、(0,1)の範囲に含まれる。)に近似され、前記アクターは、前記予測されたアクションと加重値関数部で生成されたリワードの加重値を反映して、政策損失関数が最適化するように前記政策を学習することを特徴とする。
【0020】
また、本発明の実施例による加重値関数部は、頻度数が相対的に小さいラベルにはリワードの加重値が増加するようにし、頻度数が相対的に大きいラベルにはリワードの加重値が低くなるようにして、ラベル間の均衡が取れるように動作する
【0021】
また、本発明の実施例によるアクターは、前記予測されたアクションと加重値関数部で生成されたリワードの加重値を反映して、政策損失関数が最適化するように前記政策を学習する。
【0022】
また、本発明の実施例による政策の学習は、下記の式
【数3】
(ここで、yはステートのラベルであり、aは、与えられたステートに対する政策πが予測したアクションであり、W(S_h,a,y)は、ステート、アクション及びラベルに対するリワードの加重値である。)を用いることを特徴とする。
【0023】
また、本発明の一実施例による生成的敵対神経網ベースの分類システムを用いた分類方法は、生成子と、判別子と、アクターと加重値関数部とから構成された生成的敵対神経網(Generative Adversarial Network;GAN)を用い、a)生成子が、ラベルのあるデータセットから、ステートのうち欠測された部分に対して欠測代替値を生成する段階;b)アクターが、前記生成子によって生成された欠測代替値を用いて、政策によってアクション(Action)を予測する段階;c)加重値関数部が、前記欠測代替値に代替されたステート、前記予測されたアクション及び前記ラベルのあるデータセットのラベルに基づいて、リワードの加重値を生成する段階;及びd)前記アクターが、前記予測されたアクションと、加重値関数部で生成されたリワードの加重値を反映して、政策損失関数が最適化するように前記政策を学習する段階を含み、
【0024】
前記c)段階で、前記加重値関数部は、頻度数が相対的に小さいラベルにはリワードの加重値が増加するようにし、頻度数が相対的に大きいラベルにはリワードの加重値が低くなるようにして、ラベル間の均衡が取れるように動作することを特徴とする。
【0025】
また、本発明の実施例によるa)段階は、i)前記生成子がラベルのあるデータセットから、欠測値のあるステート(State)と、前記ステートに該当するステートの元素が欠測されたか否かを示す欠測指標(m)を選択する段階;及びii)前記生成子が、前記ステートに‘0’と’1’間の均等分布からランダムノイズに代替された欠測代替値(S_t)(S_tは、Sの上にチルダ)を用いて欠測代替値(S_h)を生成し、前記生成された欠測代替値(S_h)を用いて生成子と判別子を学習する前処理段階;をさらに含むことを特徴とする。
【0026】
また、本発明の実施例によるc)段階の加重値関数部は、頻度数が相対的に小さいラベルにはリワードの加重値が増加するようにし、頻度数が相対的に大きいラベルにはリワードの加重値が低くなるようにして、ラベル間の均衡が取れるように動作する。
【0027】
また、本発明の実施例による前記ラベル頻度数は、下記の式
【数4】
(ここで、n
kはk番目ラベルのサンプル数であり、φ
kは、(0,1)の範囲に含まれる。)に近似される。
【0028】
また、本発明の実施例による前記リワードの加重値は、下記の式
【数5】
(ここで、r(S_h)は、ステートS_hから得られるリワードであり、aは、与えられたステートに対する政策πが予測したアクションであり、yは、ステートのラベルであり、ω
yとω
aは、ω
k=1-log
bφ
k(bは、ログに基づくe,10…)に基づく加重係数である。)と定義されることを特徴とする。
【0029】
また、本発明の実施例によるc)段階の加重値関数部は、頻度数が相対的に小さいラベルにはリワードの加重値が増加するようにし、頻度数が相対的に大きいラベルにはリワードの加重値が低くなるようにして、ラベル間の均衡が取れるように動作することを特徴とする。
【0030】
また、本発明の実施例によるd)段階は、政策の学習を、下記の式
【数6】
(ここで、yは、ステートのラベルであり、aは、与えられたステートに対する政策πが予測したアクションであり、W(S_h,a,y)は、ステート、アクション及びラベルに対するりワードの加重値である。)を用いて学習することを特徴とする。
【0031】
また、本発明の一実施例による生成的敵対神経網ベースの分類システムは、ラベルのあるデータセット(SL)又はラベルのないデータセット(SU)から、ステートのうち欠測された部分に対して欠測代替値を生成する生成子;前記生成子が生成した欠測代替値と原本データとを区分する判別子;前記生成子によって生成された欠測代替値を用いて、政策によってアクション(Action)を予測するアクター;前記欠測代替値に代替されたステート、前記予測されたアクション及び前記ラベルのあるデータセットのラベルに基づいて、リワードの加重値を生成する加重値関数部;及び前記ラベルのあるデータセットと、ラベルのないデータセットを対象にアクターの政策が学習されるようにリワードを提供するリワード部;を含み、
【0032】
前記アクターは、前記予測されたアクションと、加重値関数部から生成されたリワードの加重値を反映して、政策損失関数が最適化するように前記政策を学習し、また、前記予測されたアクションと、リワード部のリワードに基づいてセミ政策損失関数が最適化するように前記政策を学習する。
【0033】
また、本発明の実施例による前記リワード部のリワードは、下記の式
【数7】
(ここで、R(S
L_h,a)(S
L_hは、S
Lの上にハット)は、リワード部が出力するラベルデータセット(S_h,a)対が、ラベルのあるラベルデータセットのラベルか或いはアクターが生成したラベルかに対する確率値であり、ε∈[0,1]は、ステート-アクション対がラベルデータセット中に含まれる可能性があるか否かを考慮した臨界値である。)と定義されることを特徴とする。
【0034】
また、本発明の一実施例による生成的敵対神経網ベースの分類システムを用いた生成的敵対神経網ベースの分類方法は、a)生成子が、ラベルのあるデータセット(SL)から、ステートのうち欠測された部分に対して欠測代替値を生成する段階;b)アクターが、前記生成子によって生成された欠測代替値を用いて、政策によってアクション(Action)を予測する段階;c)加重値関数部が、前記欠測代替値に代替されたステート、前記予測されたアクション及び前記ラベルのあるデータセットのラベルに基づいて、リワードの加重値を生成する段階;及びd)前記アクターが、前記予測されたアクションと、加重値関数部から生成されたリワードの加重値を反映して、政策損失関数が最適化するように前記政策を学習する段階;を含み、
【0035】
前記a)段階において、ラベルのないデータセット(SU)があれば、a-1)前記生成子が、ラベルのないデータセット(SU)から、ステートのうち欠測された部分に対して欠測代替値(SU_h)(SU_hは、SUの上にハット)を生成する段階;b-1)前記アクターが、生成された欠測代替値(SU_h)を用いて、政策によってアクション(Action)を予測する段階;c-1)リワード部が、前記ラベルのあるデータセットと、ラベルのないデータセットを対象にアクターの政策が学習されるようにリワードを提供する段階;及びd-1)前記アクターが、前記予測されたアクションと、前記リワード部のリワードに基づいて、セミ政策損失関数が最適化するように前記政策を学習する段階をさらに含む。
【0036】
また、本発明の実施例による前記リワード部のリワードは、下記の式
【数8】
(ここで、R(S
L_h,a)は、リワード部が出力するラベルデータセットR(S_h,a)対がラベルのあるラベルデータセットのラベルか或いはアクターが生成したラベルかに対する確率値であり、ε∈[0,1]は、ステート-アクション対がラベルデータセット中に含まれる可能性があるか否かを考慮した臨界値である。)と定義されることを特徴とする。
【発明の効果】
【0037】
本発明は、強化学習において‘Actor-critic’アーキテクチャーと生成的敵対神経網(GAN)アーキテクチャーを結合することによって、強化学習の最適のモデルを開発するための補償関数の設定に要求される時間と施行錯誤過程を画期的に短縮するためにデータの特性に合わせて自動で補償関数体系を提供できる長所がある。
【0038】
また、本発明は、欠測データを生成的敵対神経網(GAN)を用いて実際データと類似の欠測代替値で生成でき、データの全体的な質を向上させることができる長所がある。
【0039】
また、本発明は欠測データの否定的な効果を減少させることができる長所がある。
【0040】
本発明は、生成的敵対神経網(GAN)で生成した欠測データを用いて、ラベルのあるラベルデータセットとラベルのない非ラベルデータセットのように不均衡なデータセットにおいても学習できる長所がある。
【0041】
また、本発明は、ラベルデータセット及び非ラベルデータセットを同時に入力データとして用いると同時に、少ない数のデータセットにおいても学習できる長所がある。
【0042】
また、本発明は、ラベルの不均衡比率に関連付いたカスタマイズ(Customized)補償関数を提供し、分類システム及び方法の構築時間を減少させることができる長所がある。
【0043】
また、本発明は、銀行、カード会社又は保険会社などの金融機関や、システム、製造、航空会社などのビジネス意思決定最適化問題のための強化学習方法論を適用する際に、データセットに対する欠測代替のためのデザインや、補償関数を適用するためのデザイン無しで強化学習方法論を適用できる長所がある。
【0044】
また、本発明によれば、通常のビジネス意思決定のためのビジネスデータセットに発生し得る多くの欠測値、非理想的なラベル不均衡の問題を解決できるので、通常の分析家が分類システムを構築するのにかかる費用・時間を減らしながら強化学習方法論を適用することができる長所がある。
【0045】
また、本発明によれば、通常のビジネス意思決定のためのビジネスデータセット、例えば、貸出詐欺ビジネスのデータセッターである場合、詐欺件がわずかであっても、加重値関数を用いた加重値調節によって、詐欺件に対する補償値を相対的に大きくさせ、より詐欺件に集中するシステムを構成できる長所がある。
【図面の簡単な説明】
【0046】
【
図1】一般的な欠測データが含まれたデータセットを示す例示図である。
【
図2】本発明の一実施例による生成的敵対神経網ベースの分類システムの構成を示すブロック図である。
【
図3】本発明の一実施例による生成的敵対神経網ベースの分類方法を示すフローチャートである。
【
図4】
図3による生成的敵対神経網ベースの分類方法の欠測データ学習過程を示すフローチャートである。
【
図5】
図3による生成的敵対神経網ベースの分類方法の加重値を用いた指導分類学習過程を示すフローチャートである。
【
図6】
図3による生成的敵対神経網ベースの分類方法の加重値推定過程を示すフローチャートである。
【
図7】本発明の他の実施例による生成的敵対神経網ベースの分類システムの構成を示すブロック図である。
【
図8】本発明の他の実施例による生成的敵対神経網ベースの分類方法を示すフローチャートである。
【
図9】
図8による生成的敵対神経網ベースの分類方法の非ラベルデータの分類学習過程を示すフローチャートである。
【
図10】本発明の一実施例によるラベルデータ及び非ラベルデータを用いた生成的敵対神経網ベースの分類システムを活用して多数の欠測率による評価結果を示すグラフである。
【
図11】本発明の一実施例によるラベルデータ及び非ラベルデータを用いた生成的敵対神経網ベースの分類システムを活用して、学習過程中に生成された値の分布を示すグラフである。
【
図12】本発明の一実施例によるラベルデータ及び非ラベルデータを用いた生成的敵対神経網ベースの分類システムを活用して、プラグイン要素があるものとないものの性能を示す例示図である。
【
図13】本発明の一実施例によるラベルデータ及び非ラベルデータを用いた生成的敵対神経網ベースの分類システムを活用して、ラベルデータ比率と欠測率による性能比較を示すグラフである。
【発明を実施するための形態】
【0047】
以下、添付の図面を参照して本発明の一実施例によるラベルデータを用いた生成的敵対神経網ベースの分類システム及び方法の好ましい実施例を詳細に説明する。
【0048】
本明細書において、ある部分がある構成要素を“含む”とした表現は、他の構成要素を排除するものではなく、他の構成要素をさらに含んでもよいという意味である。
【0049】
また、“‥部”、“‥機”、“‥モジュール”などの用語は、少なくとも一つの機能や動作を処理する単位を意味し、これは、ハードウェア、ソフトウェア、又はこれらの結合に区分できる。
【0050】
また、本発明の詳細な説明及び請求項において‘学習’或いは‘ラーニング’は、コンピュータシステムにおいて手順に従うコンピューティング(computing)を通じて機械学習(machine learning)を行うことを称する言葉で、人間の教育活動のような精神的作用を意味するように意図されたものではなく、訓練(training)は、機械学習に関して通常理解される意味で用いられる。
【0051】
また、コンピューティング装置は、通信装置及びプロセッサを含み、通信装置を介して外部コンピューティング装置と直/間接的に通信することができる。
【0052】
具体的に、コンピューティング装置は、典型的なコンピュータハードウェア(例えば、コンピュータプロセッサ、メモリ、ストレージ、入力装置及び出力装置、その他既存のコンピューティング装置の構成要素を含み得る装置;ルータ、スイッチなどのような電子通信装置;ネットワーク接続型ストレージ(NAS;network-attached storage)及びストレージ領域ネットワーク(SAN;storage area network)のような電子情報ストレージシステム)とコンピュータソフトウェア(すなわち、コンピューティング装置を特定の方式で機能させる命令語)の組合せを用いて所望のシステム性能を達成するものであり得る。
【0053】
このようなコンピューティング装置の通信装置は、連動する他のコンピューティング装置と要請及び応答を送受信できるところ、一例示として、このような要請及び応答は同一のTCP(transmission control protocol)セッション(session)によってなされてもよいが、これに限定されず、例えば、UDP(user datagram protocol)データグラム(datagram)として送受信されてもよい。
【0054】
また、広い意味で通信装置は、命令語又は指示などを伝達するためのキーボード、マウス、その他外部入力装置、プリンタ、ディスプレイ、その他外部出力装置を含むことができる。
【0055】
また、コンピューティング装置のプロセッサは、MPU(micro processing unit)、CPU(central processing unit)、GPU(graphics processing unit)、NPU(neural processing unit)又はTPU(tensor processing unit)、キャッシュメモリ(cache memory)、データバス(data bus)などのハードウェア構成を含むことができる。
【0056】
(第1実施例)
【0057】
図2は、本発明の一実施例による生成的敵対神経網ベースの分類システムの構成を示すブロック図であり、
図3は、本発明の一実施例による生成的敵対神経網ベースの分類方法を示すフローチャートであり、
図4は、
図3による生成的敵対神経網ベースの分類方法の欠測データ学習過程を示すフローチャートであり、
図5は、
図3による生成的敵対神経網ベースの分類方法の加重値を用いた指導分類学習過程を示すフローチャートであり、
図6は、
図3による生成的敵対神経網ベースの分類方法の加重値推定過程を示すフローチャートである。
【0058】
図2~
図6を参照すると、生成的敵対神経網ベースの分類システムは、生成子(Generator)100と、判別子(Discriminator)200と、アクター(Actor)400と、加重値関数部(Weighted Function)500を含んで構成される。
【0059】
生成子100及び判別子200は、競合構造にあるネットワークである生成的敵対神経網(Generative Adversarial Network;GAN)を用いて、生成子100は、原本データの分布を見て判別子200をだます欠測代替値の生成のための学習を行い、判別子200は、どのデータが生成子100によって生成されたデータかを分別する学習を行う。
【0060】
また、生成子100は、原本データの分布を参照して、判別子200をだます欠測代替値の生成のための学習を行う。
【0061】
また、生成子100は、ラベルのあるデータ(SL)を用いた生成的敵対神経網ベースの分類システムであり、ラベルのあるデータセット10から欠測代替値を生成する。
【0062】
また、生成子100は、前処理過程として、ラベルのあるデータセットではなくラベルのないデータセットから欠測代替値を生成するための学習過程を行ってもよい。
【0063】
また、生成子100は、欠測代替値の生成のための入力として、データセット10からn個のステート(State)と、n個のステートに該当するステートの元素が欠測されたか否かを示すn個の欠測指標(20,mL)を選択する。
【0064】
ここで、SLは、各ステートがラベルのあるデータセットであることを意味し、mLは、ラベルのある欠測指標を意味する。
【0065】
また、ラベルのあるデータセット10は、S1,S2,S3,‥,Sn∈Rdからなるn個のステートを含み、ここで、dはステート特徴(feature)である。
【0066】
また、ステートiが持つj番目元素は、si
jと表現し、ここで、jは、dまでの定数であり、si
jは、スカラー又は欠測値を有することができる。
【0067】
また、データセット10は、ラベルのあるラベルデータ及びラベリングされていない非ラベルデータのうち少なくとも一つのデータで構成され得る。
【0068】
また、欠測指標20は、ステートの元素が欠測されたか否かを示すための指標であり、m1,m2,m3,‥,mn∈Rdを使用し、この時、mi
jは、si
jが欠測データを有すれば欠測指標値22は‘0’、そうでなければ欠測指標値21は‘1’と表示され得る。
【0069】
また、生成子100は、n個のステート中の任意の元素11に対して無作為(ランダム)に選別された欠測元素12にあらかじめ設定された値、例えば、‘0’と‘1’間の均等分布からランダムノイズ‘Z’に代替された欠測代替値(S_t)を受けて計算する。
【0070】
この時、欠測代替値(S_t)は、下記の式によって入力される。
【数9】
ここで、mは、ステートsに該当する欠測指標のベクトルであり、zは、‘0’と‘1’間の均等分布からランダムに選別されたノイズのベクトルであり、要素別積で表すことができる。
【0071】
また、生成子100は、欠測代替値(S_t)を用いて生成された元素のベクトルからなるステート(S_b)(S_bは、Sの上にバー)を出力する。
【0072】
また、生成子100は、ステート(S_b)に代替された欠測代替値(S_h)を生成して出力する。
【0073】
この時、生成子100の出力により、下記の式による欠測代替値(S_h)に該当するデータが、判別子200の学習のために用いられ得るようにする。
【数10】
ここで、mは、ステートsに該当する欠測指標のベクトルである。
【0074】
判別子200は、生成子100が生成した欠測代替値(S_h)と原本データを区分する構成であり、判別子200が出力したものの各元素が欠測(fake)か否か(real)を区分し、結果的にmは、(S_h)のためのラベルとして用いられ得る。
【0075】
また、判別子200は、関数によって、ステート(S_h)のi番目元素が欠測データでない確率に該当する判別子200のi番目出力を、S→[0,1]dと示すことができる。
【0076】
また、判別子200は、出力を、判別子出力指標30によってD1,D2,D3,‥,Ddと示すことができる。
【0077】
一方、生成子100と判別子200は損失関数によって学習され得るが、生成子100の学習のための生成子損失関数は、下記の式の通りであり得る。
【数11】
ここで、生成子損失関数は2つの項(term)で構成され得るが、一番目の項は、欠測データに対する確率D
iを最大化するものである。
【0078】
また、二番目の項は、原本データ分布を用いて、生成子100で生成された欠測データを原本データに近似するように変換する再構成損失(reconstruction loss)40であり、ここで、λはスケールファクター(scale factor)である。
【0079】
また、判別子200の学習のための判別子損失関数は、下記の式の通りであり得る。
【数12】
判別子損失関数は、i番目元素が欠測データであれば、確率D
iを最大化する方向に学習し、そうでなければ、逆に、確率D
iを最小化する方向に学習されるように構成できる。
【0080】
アクター400は、生成子100によって生成された欠測代替値からなるベクトルを政策(Policy)を用いてラベルのあるデータセットからアクション(Action)を行う確率を予測する。
【0081】
また、アクター400は、強化学習でよく知られた意思決定フレームワークである‘Actor-critic’アーキテクチャーの構成要素であり得る。
【0082】
また、アクター400は、ステートを入力として受け、与えられたアクション(Action)をする確率を出力し、‘Actor-critic’を用いて政策(Policy)πを学習するために、政策損失関数(Policy loss function)41は、下記の式のように定義され得る。
【数13】
ここで、Χ(S_h,a)は、与えられたステートから予測されたアクションが良いか或いは悪いかを決定するクリティック(Critic)から評価される関数である。
【0083】
また、Χ(S_h,a)は、‘total discounted reward’、‘action-value function’又は‘TD-error’のような形態を有してもよい。
【0084】
上記の政策損失関数は、アクションが決定されていない一般形態であり、アクター400は、正確なアクション及び不正確なアクションの両方から学習される必要がある。
【0085】
しかし、Χ(S_h,a)の推定値が悪い場合、その政策損失関数は、誤った方向に最適化をするようになり、その結果、徐々に収斂したり又は発散してしまうことがある。
【0086】
したがって、本発明の実施例によるアクター400は、政策損失関数41を不正確なアクションから学習される場合を省略し、与えられた正確なラベルだけを利用可能にする式と定義され得る。
【数14】
ここで、yは、ステートのラベルであり、aは、与えられたステートに対する政策πが予測したアクションであり、W(S_h,a,y)は、ステート、アクション及びラベルに対するリワードの加重値である。
【0087】
すなわち、予測されたアクションを正確なラベルに代替し、関数Χ(S_h,a)を加重値関数(Weighted Function)Wに代替する。
【0088】
したがって、指導政策損失(Supervised policy loss)LLは、加重値関数W(S_h,a,y)から得た分類損失加重値(Classification loss weighted)である。
【0089】
また、全てのステート、アクション、ラベルに対して加重値関数が‘1’である場合、LLは、分類損失加重値と完全に同一になる。
【0090】
また、アクター400は、指導分類のための政策損失関数41が加重値関数部500から生成されたリワードの加重値を用いて指導政策を学習できる。
【0091】
加重値関数部500は、ステートS_hから得られるリワードの加重値であり、ラベルのあるデータセットから、ラベルの頻度数に基づいてステート、アクション及びラベルに対するリワードの加重値を生成する。
【0092】
ここで、加重値関数部500が、K個のラベルがある(k=0,1,…,K-1)ラベルのあるデータセットS
Lを持っていると仮定すれば、K番目ラベルの頻度数は下記の式に近似され得る。
【数15】
ここで、n
kは、k番目ラベルのサンプル数であり、φ
kは、(0,1)の範囲に含まれる。
【0093】
また、加重係数ω
kは、各ラベルに対して下記の式で推定され得る。
【数16】
ここで、bはログに基づく(b=e,10,…)。
【0094】
したがって、ラベルの頻度数が相対的に小さい少数のラベル(minority lable)に対して高いリワードの加重値を与え、ラベルの頻度数が相対的に大きい(高い)多数のラベル(majority lable)にはより低いリワードの加重値を与えることによって、ラベル間の均衡が取れるように生成できる。
【0095】
また、加重値関数部500は、加重値関数、すなわちステート、アクション及びラベルに対するリワードの加重値を、下記の式と定義することができる。
【数17】
ここで、r(S_h)は、ステートS_hから得られるリワードであり、aは、与えられたステートに対する政策πが予測したアクションであり、yは、ステートのラベルであり、ω
yとω
aは、ω
k=1-log
bφ
k(bは、ログに基づくe,10…)に基づく加重係数である。
【0096】
次には、本発明の第1実施例によるラベルデータを用いた生成的敵対神経網ベースの分類及び学習方法を説明する。
【0097】
学習手順は、欠測値を生成する段階(S100)と学習政策を生成する段階(S200)の2段階に分けることができる。
【0098】
そして、各段階S100及びS200は、ラベルのあるデータセットの様々なエポック(epoch)によって反復しながらアップデートできるが、データセットを1回巡回することを1エポック(epoch)という。
【0099】
また、生成子100と、判別子200と、アクター400と、加重値関数部500とで構成された生成的敵対神経網(Generative Adversarial Network;GAN)を用いることができる。
【0100】
まず、欠測代替値を生成するS100段階は、生成子100と判別子200を学習するが、それぞれの反復において生成子100に入力されるデータセットから無作為(ランダム)にn個のステート(State)を選択する段階(S110)と、ステートに該当するステートの元素が欠測されたか否かを示すn個の欠測指標(m)を選択する段階(S120)を行う。
【0101】
この時、S110段階及びS120段階は、外部端末から提供されてもよく、あらかじめ設定されたデータセットから提供されてもよい。
【0102】
また、S110段階及びS120段階において、データセットは、ラベリングされたデータ及びラベリングされていないデータのうち少なくとも一つのデータからなるデータセットであり得る。
【0103】
n個のステートにあらかじめ設定された値、例えば、‘0’と‘1’間の均等分布から、ランダムノイズ‘Z’(ここで、Z∈[0,1])に代替したベクトルを選別(S130)し、それが生成子100に入力されると、生成子100は、欠測代替値(S_t)と、ステート(S_b)と、欠測代替値(S_h)を計算(S140)する。
【0104】
ここで、S_tは、ノイズ‘Z’に代替された欠測代替値であり、S_bは、生成子100によって生成されたステートを表し、S_hは、生成子によって生成された値に代替された欠測代替値である。
【0105】
S140段階において、生成子100は、ランダムノイズ‘Z’に代替された欠測代替値(S_t)からなるベクトルを入力として受けて計算するが、下記の式によって入力として受ける。
【数18】
また、生成子100は、S_b=G(S_t)によってS_b∈R
dを計算してステート(S_b)を生成する。
【0106】
また、生成子100は、生成されたステート(S_b)に代替された欠測代替値からなるベクトルである欠測代替値(S_h)を計算するが、下記の式によって計算され得る。
【数19】
また、生成子100が生成した欠測代替値(S_h)は判別子200に提供され、判別子損失関数を用いて判別子200が学習(S150)されるようにする。
【0107】
また、生成子100が生成した欠測代替値(S_h)は、生成子損失関数を用いて生成子100が学習(S160)されるようにする。
【0108】
一方、全ての構成要素を学習するために、媒介変数ごとにアップデート速度を最適に調節する‘Adam optimizer’を使用してもよい。
【0109】
学習政策を生成する段階(S200)は、それぞれの反復において、ラベルのあるデータセット(SL)から、無作為(ランダム)にn個のステート(State)と、ステートに該当するステートの元素が欠測されたか否かを示すn個の欠測指標(mL)を選択(S210)する。
【0110】
続いて、n個のステートにあらかじめ設定された値、例えば、‘0’と‘1’間の均等分布から、ランダムノイズ‘Z’(ここでZ∈[0,1])に代替したベクトルを選別(S220)し、それが生成子100に入力されると、生成子100は、欠測代替値(SL_t)(SL_tは、SLの上にチルダ)と、ステート(SL_b)(SL_bは、SLの上にバー)と、欠測代替値(SL_h)を計算(S230)する。
【0111】
ここで、SL_tは、ノイズ‘Z’に代替された欠測代替値であり、SL_bは、生成子100によって生成されたステートを表し、SL_hは、生成子によって生成された値に代替された欠測代替値である。
【0112】
S230段階において、生成子100は、ランダムノイズ‘Z’に代替された欠測代替値(S
L_t)からなるベクトルを入力として受けて計算するが、下記の式によって入力として受ける。
【数20】
また、生成子100は、S
L_b=G(S
L_t)によってS
L_b∈R
dを計算してステート(S
L_b)を生成する。
【0113】
また、生成子100は、生成されたステート(S
L_b)に代替された欠測代替値からなるベクトルである欠測代替値(S
L_h)を計算するが、下記の式によって計算され得る。
【数21】
続いて、アクター400は、生成された欠測代替値(S
L_h)が政策a=π(S
L_h)によってアクションを行う確率値を予測(S240)する。
【0114】
この時、加重値関数部500は、加重値関数を用いてステート、アクション及びラベルに対するリワードの加重値を下記の式によって生成(S250)する。
【数22】
また、S250段階において、加重値関数部500は、ステートから得られるリワードの加重値として、ラベルのあるデータセットからラベルの頻度数に基づいて、ステート、アクション及びラベルに対するリワードの加重値を反映できる。
【0115】
この時、ラベル頻度数は下記の式に近似できる。
【数23】
続いて、S250段階で生成された加重値は、下記の式を用いた指導政策損失関数41によって学習(S260)する。
【数24】
ここで、yは、ステートのラベルであり、aは、与えられたステートに対する政策πが予測したアクションであり、W(S_h,a,y)は、ステート、アクション及びラベルに対するリワードの加重値である。
【0116】
一方、全ての構成要素を学習するために、媒介変数ごとにアップデート速度を最適に調節する‘Adam optimizer’を使用してもよい。
【0117】
(第2実施例)
【0118】
図7は、本発明の第2実施例による生成的敵対神経網ベースの分類システムの構成を示すブロック図であり、
図8は、本発明の第2実施例による生成的敵対神経網ベースの分類方法を示すフローチャートであり、
図9は、
図8による生成的敵対神経網ベースの分類方法の非ラベルデータの分類学習過程を示すフローチャートである。
【0119】
図7~
図9を参照すると、生成的敵対神経網ベースの分類システムは、生成子(Generator)100aと、判別子(Discriminator)200aと、アクター(Actor)400aと、加重値関数部(Weighted Function)500aと、リワード部(Reward)600aを含んで構成される。
【0120】
生成子100a及び判別子200aは、競合構造にあるネットワークである生成的敵対神経網(Generative Adversarial Network;GAN)を用いて、生成子100は原本データの分布を見て判別子200aをだます欠測データの生成のための学習を行い、判別子200aは、どのデータが生成子100aによって生成されたデータかを分別する学習を行う。
【0121】
また、生成子100aは、原本データの分布を参照して、判別子200aをだます欠測データの生成のための学習を行う。
【0122】
また、生成子100aは、ラベルのあるラベルデータセット(SL)を用いたり、又はラベルのない非ラベルデータセット(SU)を用いることができる。
【0123】
ここで、Lは、ステートにラベルのあるデータセットであり、Uは、ステートにラベルのないデータセットを意味し、外部端末から任意のデータセットが入力されてもよい。
【0124】
また、生成子100aは、前処理過程として、ラベルのあるデータセット(SL)又はラベルのないデータセット(SU)から欠測代替値を生成するための学習過程を行ってもよい。
【0125】
また、生成子100aは、前処理過程として、ラベルのあるラベルデータセットではなくラベルのない非ラベルデータセットから欠測代替値を生成するための学習過程を行ってもよい。
【0126】
また、生成子100aは、欠測代替値の生成のための入力として、データセット10aからn個のステート(State)と、n個のステートに該当するステートの元素が欠測されたか否かを示すn個の欠測指標20aを選択する。
【0127】
欠測指標20aも、ラベルのあるラベルデータセット(SL)及びラベルのない非ラベルデータセット(SU)と同様に、ラベルのあるラベルデータセット(SL)はMLに、ラベルのない非ラベルデータセット(SU)はMUに分類され得る。
【0128】
また、データセット10aは、S1,S2,S3,‥,Sn∈Rdからなるn個のステートを含み、ここで、dは、ステート特徴(feature)である。
【0129】
また、ステートiが持つj番目元素はSi
jと表現し、ここで、jはdまでの定数であり、Si
jは、スカラー又は欠測値を有する。
【0130】
また、データセット10aは、ラベルのあるデータ及びラベリングされていないデータのうち少なくとも一つのデータで構成され得る。
【0131】
また、欠測指標20aは、ステートの元素が欠測されたか否かを示すための指標であり、m1,m2,m3,‥,mn∈Rdを使用し、この時、mi
jは、Si
jが欠測データを有すれば欠測指標値22は‘0’、そうでなければ欠測指標値21は‘1’と表示される。
【0132】
また、生成子100aは、n個のステートから任意の元素11に対して無作為(ランダム)に選別された欠測元素12にあらかじめ設定された値、例えば、‘0’と‘1’間の均等分布からランダムノイズ‘Z’に代替された欠測代替値(S_t)を入力として受けて計算する。
【0133】
この時、欠測代替値(S_t)を下記の式によって入力として受ける。
【数25】
ここで、mは、ステートsに該当する欠測指標のベクトルであり、zは、‘0’と‘1’間の均等分布からランダムに選別されたノイズのベクトルであり、要素別積で示すことができる。
【0134】
また、生成子100aは、欠測代替値(S_t)を用いて生成された元素のベクトルからなるステート(S_b)を出力する。
【0135】
また、生成子100aは、ステート(S_b)に代替された欠測代替値(S_h)を生成して出力する。
【0136】
この時、生成子100aの出力により、下記の式による欠測代替値(S_h)に該当するデータを判別子200aの学習のために利用可能にする。
【数26】
ここで、mは、ステートsに該当する欠測指標のベクトルである。
【0137】
判別子200aは、生成子100aが生成した欠測代替値(S_h)と原本データを区分する構成であり、判別子200aが出力したものの各元素が欠測(fake)か否か(real)を区分し、結果的に、mは、S_hのためのラベルとして用いられ得る。
【0138】
また、判別子200aは、関数を用いて、ステートS_hのi番目元素が欠測データでない確率に該当する判別子200aのi番目出力をS→[0,1]dと示すことができる。
【0139】
また、判別子200aは、出力を判別子出力指標30によってD1,D2,D3,‥,Ddと示すことができる。
【0140】
一方、生成子100a及び判別子200aは損失関数によって学習され得るが、生成子100aの学習のための生成子損失関数は、下記の式の通りであり得る。
【数27】
ここで、生成子損失関数は2つの項(term)で構成され得るが、一番目の項は、欠測データに対する確率D
iを最大化するものである。
【0141】
また、二番目の項は、原本データ分布を用いて生成子100aで生成された欠測データを原本データに近似するように変換する再構成損失(reconstruction loss)40aであり、ここで、λはスケールファクター(scale factor)である。
【0142】
また、判別子200aの学習のための判別子損失関数は、下記の式の通りであり得る。
【数28】
アクター400aは、生成子100aによって生成された欠測代替値からなるベクトルを政策(Policy)を用いてラベルのあるデータセットからアクション(Action)を行う確率を予測する。
【0143】
また、アクター400aは、強化学習においてよく知られた意思決定フレームワークである‘Actor-critic’アーキテクチャーの構成要素であり得る。
【0144】
また、アクター400aは、与えられたステートのラベルを生成することができる。
【0145】
また、アクター400aは、ステートを入力として受け、与えられたアクション(Action)をする確率を出力し、‘Actor-critic’を用いて政策(Policy)πを学習するために、政策損失関数(Policy loss function)は下記の式のように定義され得る。
【数29】
ここで、Χ(S_h,a)は、与えられたステートから予測されたアクションが良いか又は悪いかを決定するクリティック(Critic)から評価される関数である。
【0146】
また、Χ(S_h,a)は、‘total discounted reward’、‘action-value function’又は‘TD-error’のような形態を有してもよい。
【0147】
上記の政策損失関数は、アクションが決定されていない一般形態であり、アクター400aは、正確なアクション及び不正確なアクションの両方から学習される必要がある。
【0148】
しかし、Χ(S_h,a)の推定値が悪い場合、その政策損失関数は、誤った方向に最適化をすることになり、その結果、徐々に収斂したり又は発散してしまうことがある。
【0149】
したがって、本発明の実施例によるアクター400aは、政策損失関数41aを不正確なアクションから学習される場合を省略し、与えられた正確なラベルだけを利用できるように、下記の式と定義され得る。
【数30】
ここで、yは、ステートのラベルであり、aは、与えられたステートに対する政策πが予測したアクションであり、W(S_h,a,y)は、ステート、アクション及びラベルに対するリワードの加重値である。
【0150】
すなわち、予測されたアクションを正確なラベルに代替し、関数Χ(S_h,a)を加重値関数(Weighted Function)Wに代替する。
【0151】
したがって、指導政策損失(Supervised policy loss)LLは、加重値関数W(S_h,a,y)から得た分類損失加重値(Classification loss weighted)である。
【0152】
また、全てのステート、アクション、ラベルに対して加重値関数が‘1’である場合、LLは分類損失加重値と完全に同一になる。
【0153】
また、アクター400aは、指導分類のための政策損失関数(LL,41a)が加重値関数部500aから生成された加重値を用いて指導政策を学習できる。
【0154】
また、アクター400aは、セミ指導分類(Semi-supervised classification)のためのセミ政策損失関数(LU,42a)がアクター400aの政策とリワード部600aの出力を反映して政策を学習できる。
【0155】
すなわち、セミ指導分類は、ラベルのないデータセットを活用してアクター400aのアクション(a)とリワード部600aの出力間の協力によって生成子の役割を担うアクター400aの政策は、与えられたステートのラベルを生成し、判別子の役割を担うリワード部600aは、各ステート-アクション(S_h,a)対がラベルデータセットであるか否かを決定するようにする。
【0156】
また、セミ政策損失関数(LU,42a)は、ラベルのないデータセット(SU)を活用するために、リワード部600aの出力とアクター400aの政策が共に動作され得る。
【0157】
セミ政策損失関数(L
U)は、下記の式と定義され得る。
【数31】
ここで、セミ政策損失関数(L
U)は、政策損失(policy loss)から得られ、Χ(S_h,a)は、次のように定義されるリワード部600aのリワードであるr(S
U_h,a)に代替され得る。
【0158】
また、r(S
U_h,a)は、下記の式のように定義され得る。
【数32】
ここで、R(S
L_h,a)は、(S_h,a)対がラベルデータセットにあるラベルか否かに対する確率値であり、ε∈[0,1]は、ステート-アクション対がラベルデータセット中に含まれる可能性があるか否かを考慮した臨界値である。
【0159】
加重値関数部500aは、ステートS_hから得られるリワードの加重値であり、ラベルのあるデータセット(SL)からラベルの頻度数に基づいてステート、アクション、ラベルに対するリワードの加重値を生成する。
【0160】
ここで、加重値関数部500aが、K個のラベルがある(k=0,1,…,K-1)ラベルのあるデータセットS
Lを持っていると仮定すれば、K番目ラベルの頻度数は、下記の式に近似され得る。
【数33】
ここで、n
kは、k番目ラベルのサンプル数であり、φ
kは、(0,1)の範囲に含まれる。
【0161】
また、加重係数ω
kは、各ラベルに対して下記の式で推定され得る。
【数34】
ここで、bは、ログに基づく(b=e,10,…)。
【0162】
したがって、ラベルの頻度数が相対的に小さい少数のラベル(minority lable)に対して高いリワードの加重値を与え、ラベルの頻度数が相対的に大きい(高い)多数のラベル(majority lable)にはより低いリワードの加重値を与えることによって、ラベル間の均衡が取れるように動作できる。
【0163】
また、加重値関数部500aは、各クラスに対する加重値関数、すなわちステート、アクション及びラベルに対するリワードの加重値を、下記の式と定義することができる。
【数35】
ここで、r(S_h)は、ステートS_hから得られるリワードであり、aは、与えられたステートに対する政策πが予測したアクションであり、yは、ステートのラベルであり、ω
yとω
aは、ω
k=1-log
bφ
k(bは、ログに基づくe,10…)に基づく加重係数である。
【0164】
リワード部600aは、ラベルのあるデータセット(SL)にあるステート-アクション(S_h,a)対があるか否か決定し、ラベルのないデータセットに対するアクター400aの政策を学習させるようにリワードを提供する構成である。
【0165】
また、リワード部600aは、ラベルデータセットにあるステート-アクション(S_h,a)対に対する確率値に対してリワードを提供するリワードモデルからなり得る。
【0166】
また、リワードモデルは、ラベルデータセットにあるステート-アクション(S_h,a)対のラベルであるか否かに対する確率値を出力する関数であり、R:S×A→[0,1]であり得る。
【0167】
各ステート-アクション(S_h,a)対に対するラベルは、下記の式のように定義され得る。
【数36】
ここで、mはステートの欠測指標であり、yは、ステートのラベルであり、aは、与えられたステートに対してアクターの政策が予測したアクションである。
【0168】
また、リワード部600aは、ステート-アクション(S_h,a)対がラベルのあるデータセットにあるラベルであれば、確率値が最大化するようにしてリワード部600のリワード(r(SU_h,a))として提供し、ステート-アクション(S_h,a)対がラベルのあるデータセットにないラベルであれば、確率値が最小化するようにしてリワード部600aのリワード(r(SU_h,a))として提供し、前記リワード部600aは、リワードモデル損失関数(Lrew,61a)を用いて学習され得る。
【0169】
また、リワードモデル損失関数(Lrew,61a)は、2つの部分を構成できるが、ステート-アクション(SL_h,a)対がラベルのあるデータセットにあるラベルであれば、確率値が最大化するように学習し、ステート-アクション(SL_h,a)対がラベルのあるデータセットにないラベルであれば、確率値が最小化するように学習する。
【0170】
この時、下記の式のように定義され得る。
【数37】
次に、本発明の第2実施例による生成的敵対神経網ベースの指導分類及び学習方法を説明する。
【0171】
学習手順は、欠測代替値を生成する段階(S100’)と、ラルのあるデータセットを用いた学習過程(S200’)及びラベルのないデータセットを用いた学習過程(S300)段階を含む学習政策を生成する段階とで構成され得る。
【0172】
そして、各段階S100’、S200’及びS300は、データセットを様々なエポック(epoch)によって反復しながらアップデートできるが、データセットを1回巡回することを1エポック(epoch)という。
【0173】
また、生成子100aと、判別子200aと、アクター400aと、加重値関数部500aと、リワード部600aとで構成された生成的敵対神経網(Generative Adversarial Network;GAN)を用いることができる。
【0174】
まず、欠測代替値を生成するS100’段階及びS200’段階は、ラベルのあるラベルデータセットを用いて学習政策を行う段階であり、生成子100aと判別子200aは、第1実施例によるS100段階及びS200段階と同一に動作し、同一の構成要素に対する反復説明は省略する。
【0175】
ラベルのない非ラベルデータセット(SU)から学習政策を生成する段階(S300)は、ラベルのないデータセット(SU)から無作為(ランダム)にn個のステート(State)と、ステートに該当するステートの元素が欠測されたか否かを示すn個の欠測指標(mU)を選択(S310)する。
【0176】
続いて、n個のステートにあらかじめ設定された値、例えば、‘0’と‘1’間の均等分布から、ランダムノイズ‘Z’(ここで、Z∈[0,1])に代替したベクトルを選別(S320)し、これが生成子100aに入力されると、生成子100aは、欠測代替値(SU_t)(SU_tは、SUの上にチルダ)と、ステート(SU_b)(SU_bは、SUの上にバー)と、欠測データ、すなわち、欠測代替値(SU_h)を計算(S330)する。
【0177】
ここで、SU_tは、ノイズ‘Z’に代替された欠測代替値であり、SU_bは、生成子100aによって生成されたステートを示し、SU_hは、生成子によって生成された値に代替された欠測代替値である。
【0178】
S330段階において、生成子100aは、ランダムノイズ‘Z’に代替された欠測代替値(S
U_t)からなるベクトルを入力として受けて計算するが、下記の式によって入力として受ける。
【数38】
また、生成子100aは、S
U_b=G(S
U_t)によってS
U_b∈R
dを計算してステート(S
U_b)を生成する。
【0179】
また、生成子100aは、生成されたステート(S
U_b)に代替された欠測代替値(S
U_h)を計算するが、欠測代替値(S
U_h)は下記の式によって計算され得る。
【数39】
続いて、リワード部600aは、ラベルのあるデータセットに対するステート-アクション(S_h,a)対に対する確率値としてリワード部600aのリワードを提供し、前記リワード部600aは、リワードモデル損失関数(L
rew)を用いて学習する段階を行う(S340)。
【0180】
また、前記リワード部600aは、リワードモデルからなり得、前記リワードモデルは、ラベルデータセットにあるステート-アクション(S_h,a)対に対する確率を出力する関数であり、R:S×A→[0,1]であり得る。
【0181】
また、各ステート-アクション(S_h,a)対に対するラベルは、下記の式と定義され得る。
【数40】
ここで、mは、ステートの欠測指標であり、yは、ステートのラベルであり、aは、与えられたステートに対してアクターの政策が予測したアクションである。
【0182】
リワードモデル損失関数(Lrew)は、ステート-アクション(SL_h,a)対がラベルのあるデータセットにあるラベルであれば、確率値が最大化するように学習する。
【0183】
また、リワードモデル損失関数(Lrew)は、ステート-アクション(SL_h,a)対がラベルのあるデータセットにないラベルであれば、確率値が最小化するように学習する。
【0184】
この時、リワードモデル損失関数(L
rew)は、下記の式を用いて学習する。
【数41】
その後、アクター400aで生成された欠測代替値(S
L_h)と政策(Policy)を用いてアクションを行う確率a=π(S
U_h)を予測する過程を行う(S350)。
【0185】
S340段階で提供されるリワードモデルのリワードとS350段階で予測したアクションの予測結果は、アクター400aが、下記の式を用いたセミ政策損失関数(L
U)を用いてセミ政策損失関数42aで最適化するように政策を学習(S360)することができる。
【数42】
ここで、r(S
U_h,a)は、リワード部600aでリワードモデル関数に対するリワードである。
【0186】
また、r(S
U_h,a)は、下記の式のように定義され得る。
【数43】
ここで、R(S
L_h,a)は、リワード部が出力するラベルデータセット(S_h,a)対が、ラベルのあるラベルデータセットのラベルか或いはアクターが生成したラベルかに対する確率値であり、ε∈[0,1]は、ステート-アクション対がラベルデータセット中に含まれる可能性があるか否かを考慮した臨界値である。
【0187】
一方、全ての構成要素を学習するために、媒介変数ごとにアップデート速度を最適に調節する‘Adam optimizer’を使用してもよい。
【0188】
図10は、UCI(University of California)が公開した、22%詐欺取引を含む実際のクレジットカード取引データを用いた実験のデータであり、データを0.7テストセットと0.3テストセットの割合で進行した結果である。
【0189】
ここで、全体データセットは、10%、20%、30%、40%、50%の欠測率で欠測程度を示すように仮定され、データは、ゼロ-平均正規化を適用して前処理された。
【0190】
図10から確認できるように、多数の欠測率を用いた生成子と判別子の性能は、平均平方根誤差指標によって10回以上平均化して単純に欠測代替値を平均で満たすよりは、生成子を学習して欠測代替値を生成することが、元来の値にさらに類似して現れることが分かる。
【0191】
また、欠測率が増加するにつれてGANの効果も共に増加することが分かる。
【0192】
また、
図11は、学習過程中に生成された値の分布を示すグラフである。
【0193】
図11から確認できるように、学習過程中に生成された値の分布が、
図11(a)の0エポック(epoch)と、
図11(b)の1エポック後の分布と対比して、
図11(c)の10エポック後に生成された値の分布を元来値の分布と比較すると、より類似に現れることが分かる。
【0194】
また、
図12は、プラグイン要素があるものとないものの性能を示す例示図であり、F1-scoreを用いて他のstate-of-art模型と本発明に係るフレームワークとを比較したものである。
【0195】
ここで、GAN、加重値関数、リワードモデルを順次に具現することによって、それぞれ、2.2%、4.4%、及び1.04%の性能が向上したことが分かる。
【0196】
この加重値関数は性能に最も大きい影響を与え、これは、加重値関数を用いて学習するとき、政策(Policy)が少数クラスに一層多い加重値を与えて学習するためである。
【0197】
結果的に、より良いリコール点数を有し、これは、より良いF1点数が得られるようにする。
【0198】
また、リワードモデルは、εを調節すれば、フレームワークの性能を向上させるのに役立つことができる。
【0199】
また、εは、ラベルのないデータからどれくらいの情報を政策アップデートに利用するかを制限し、高い値を有するほど、ラベルのないデータ使用をより厳しく管理する。
【0200】
図13は、ラベルデータ比率と欠測率による性能比較を示すグラフである。
【0201】
図13は、ULBから得た0.172%の詐欺比率を持つ非常に不均衡なクレジットカードデータセットを用いた評価結果であり、評価結果はF1-score指標によって測定された。
【0202】
図13(a)から分かるように、同数のラベルデータを用いると、本発明に係るフレームワークが既存のmlpベースの分類機に比べてより良い性能を出すことが分かる。
【0203】
また、mlpベースの分類機は、欠測率が増加したとき、F1-scoreがより速く減少することが見られるが、これは、本発明のフレームワークが欠測値を扱うにおいてより良いフレームワークであるといえよう。
【0204】
また、2つのフレームワークがラベルデータを十分に含んでいるとき、両者の性能差は縮まり得る。
【0205】
例えば、50%のラベルデータのみを含む場合、本発明に係るフレームワークの性能は、完全なラベルデータセットを用いる場合に類似する性能を示すことが分かる。
【0206】
また、
図13(b)のプロットは、ラベルデータの量によるリワードモデルの出力を示すものであり、ラベルデータが多いほど、より速く一つの値に収斂することが分かる。
【0207】
以上、本発明の好ましい実施例を参照して説明したが、当該技術の分野における熟練した当業者であれば、添付する特許請求の範囲に記載された本発明の思想及び領域から逸脱しない範囲内で本発明を様々に修正及び変更可能であることが理解できよう。
【0208】
また、本発明の特許請求の範囲に記載されている図面番号は、説明の明瞭性と便宜のために記載しただけで、これに限定されるものではなく、実施例を説明する過程で図面に示す線の太さや構成要素の大きさなどは、説明の明瞭性と便宜のために誇張して示されていてもよく、上述した用語は本発明における機能を考慮して定義された用語であり、これは使用者、運用者の意図又は慣例によって変わり得るので、このような用語に対する解釈は本明細書全般における内容に基づいて下されるべきであろう。
【国際調査報告】