IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特許7583256データ生成プログラム、情報処理装置及びデータ生成方法
<>
  • 特許-データ生成プログラム、情報処理装置及びデータ生成方法 図1
  • 特許-データ生成プログラム、情報処理装置及びデータ生成方法 図2
  • 特許-データ生成プログラム、情報処理装置及びデータ生成方法 図3
  • 特許-データ生成プログラム、情報処理装置及びデータ生成方法 図4
  • 特許-データ生成プログラム、情報処理装置及びデータ生成方法 図5
  • 特許-データ生成プログラム、情報処理装置及びデータ生成方法 図6
  • 特許-データ生成プログラム、情報処理装置及びデータ生成方法 図7
  • 特許-データ生成プログラム、情報処理装置及びデータ生成方法 図8
  • 特許-データ生成プログラム、情報処理装置及びデータ生成方法 図9
  • 特許-データ生成プログラム、情報処理装置及びデータ生成方法 図10
  • 特許-データ生成プログラム、情報処理装置及びデータ生成方法 図11
  • 特許-データ生成プログラム、情報処理装置及びデータ生成方法 図12
  • 特許-データ生成プログラム、情報処理装置及びデータ生成方法 図13
  • 特許-データ生成プログラム、情報処理装置及びデータ生成方法 図14
  • 特許-データ生成プログラム、情報処理装置及びデータ生成方法 図15
  • 特許-データ生成プログラム、情報処理装置及びデータ生成方法 図16
  • 特許-データ生成プログラム、情報処理装置及びデータ生成方法 図17
  • 特許-データ生成プログラム、情報処理装置及びデータ生成方法 図18
  • 特許-データ生成プログラム、情報処理装置及びデータ生成方法 図19
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-06
(45)【発行日】2024-11-14
(54)【発明の名称】データ生成プログラム、情報処理装置及びデータ生成方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20241107BHJP
   G06N 20/00 20190101ALI20241107BHJP
   G06N 3/08 20230101ALI20241107BHJP
【FI】
G06T7/00 350C
G06N20/00 130
G06N3/08
【請求項の数】 9
(21)【出願番号】P 2020211460
(22)【出願日】2020-12-21
(65)【公開番号】P2022098104
(43)【公開日】2022-07-01
【審査請求日】2023-08-04
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100094525
【弁理士】
【氏名又は名称】土井 健二
(74)【代理人】
【識別番号】100094514
【弁理士】
【氏名又は名称】林 恒徳
(72)【発明者】
【氏名】川下 光也
【審査官】吉田 千裕
(56)【参考文献】
【文献】特許第7424595(JP,B2)
【文献】特開2020-205030(JP,A)
【文献】米国特許出願公開第2020/0364624(US,A1)
【文献】Radford, Alec, Luke Metz, and Soumith Chintala ,"Unsupervised representation learning with deep convolutional generative adversarial networks",arXiv preprint,2015年,arXiv:1511.06434
【文献】フォスター デビット David Foster,生成 Deep Learning 初版 Generative Deep Learning,第1版,株式会社オライリー・ジャパン オライリー ティム,2020年10月01日,pp.110-124
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06N 20/00
G06N 3/08
(57)【特許請求の範囲】
【請求項1】
敵対的生成ネットワークを用いて教師データを生成する処理を行う処理をコンピュータに実行させるデータ生成プログラムであって、
複数の教師データのそれぞれに対してランダムに発生させたノイズを加えることによって複数の第1データを生成し、
生成した前記複数の第1データのそれぞれについての真偽に関する評価値を算出し、
生成した前記複数の第1データのうち、前記評価値が基準データよりも低い複数の第2データにおいて共通する特徴を特定し、
特定した前記特徴を有しない前記複数の第1データを生成可能なノイズを前記複数の教師データのそれぞれに対して加えることによって前記教師データを生成する、
処理をコンピュータに実行させることを特徴とするデータ生成プログラム。
【請求項2】
請求項1において、さらに、
前記評価値を算出する処理、前記特徴を特定する処理及び前記教師データを生成する処理を、前記複数の第1データのうちの1以上のデータについての前記評価値が所定の条件を満たすまで繰り返し行い、
前記繰り返し行う処理において前記1以上のデータについての前記評価値が前記所定の条件を満たした場合、前記1以上のデータを前記教師データとして出力する、
ことを特徴とするデータ生成プログラム。
【請求項3】
請求項1において、
前記評価値を算出する処理では、前記複数の第1データのそれぞれが前記第1データを生成する処において生成されたデータでない確率を、前記複数の第1データのそれぞれに対応する前記評価値として算出する、
ことを特徴とするデータ生成プログラム。
【請求項4】
請求項2において、
前記出力する処理では、前記1以上のデータについての前記評価値が閾値以上になった場合、前記1以上のデータを出力する、
ことを特徴とするデータ生成プログラム。
【請求項5】
請求項1において、
前記複数の第1データ及び前記基準データは、画像データであり、
前記複数の第1データを生成する処理では、前記基準データに含まれる複数の画素の輝度を変更することによって前記複数の第1データを生成する、
ことを特徴とするデータ生成プログラム。
【請求項6】
請求項5において、
前記特徴を特定する処理では、
前記複数の第2データのそれぞれについて、前記基準データにおける同じ位置の画素よりも輝度が大きい第1画素と、前記基準データにおける同じ位置の画素よりも輝度が小さい第2画素とをそれぞれ特定し、
前記複数の第2データのそれぞれにおいて画素が配置されている複数の位置のうち、前記複数の第2データのうちの所定割合のデータにおいて前記第1画素が配置されていると特定された第1位置と、前記複数の第2データのうちの前記所定割合のデータにおいて前記第2画素が配置されていると特定された第2位置とを特定し、
前記第1位置に前記第1画素が配置されていることを示す情報と、前記第2位置に前記第2画素が配置されていることを示す情報とを前記特徴として特定する、
ことを特徴とするデータ生成プログラム。
【請求項7】
請求項5において、
前記特徴を特定する処理では、
前記複数の第2データのそれぞれについて、複数の画素からなるブロックごとに、前記基準データにおける同じ位置のブロックよりも輝度が大きい第1ブロックと、前記基準データにおける同じ位置のブロックよりも輝度が小さい第2ブロックとをそれぞれ特定し、
前記複数の第2データのそれぞれにおいてブロックが配置されている複数の位置のうち、前記複数の第2データのうちの所定割合のデータにおいて前記第1ブロックが配置されていると特定された第3位置と、前記複数の第2データのうちの前記所定割合のデータにおいて前記第2ブロックが配置されていると特定された第4位置とを特定し、
前記第3位置に前記第1ブロックが配置されていることを示す情報と、前記第4位置に前記第2ブロックが配置されていることを示す情報とを前記特徴として特定する、
ことを特徴とするデータ生成プログラム。
【請求項8】
敵対的生成ネットワークを用いて教師データを生成する情報処理装置であって、
複数の教師データのそれぞれに対してランダムに発生させたノイズを加えることによって複数の第1データを生成するデータ生成部と、
生成した前記複数の第1データのそれぞれについての真偽に関する評価値を算出するデータ識別部と
生成した前記複数の第1データのうち、前記評価値が基準データよりも低い複数の第2データにおいて共通する特徴を特定する特徴特定部と、を有し、
前記データ生成部は、特定した前記特徴を有しない前記複数の第1データを生成可能なノイズを前記複数の教師データのそれぞれに対して加えることによって前記教師データを生成する、
ことを特徴とする情報処理装置。
【請求項9】
敵対的生成ネットワークを用いて教師データを生成する処理を行う処理をコンピュータが実行するデータ生成方法であって、
複数の教師データのそれぞれに対してランダムに発生させたノイズを加えることによって複数の第1データを生成し、
生成した前記複数の第1データのそれぞれについての真偽に関する評価値を算出し、
生成した前記複数の第1データのうち、前記評価値が基準データよりも低い複数の第2データにおいて共通する特徴を特定し、
特定した前記特徴を有しない前記複数の第1データを生成可能なノイズを前記複数の教師データのそれぞれに対して加えることによって前記教師データを生成する、
処理をコンピュータが実行することを特徴とするデータ生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ生成プログラム、情報処理装置及びデータ生成方法に関する。
【背景技術】
【0002】
例えば、機械学習モデルの生成に用いる教師データの自動生成を行う方法として、敵対的生成ネットワーク(GAN:Generative Adversarial Networks)を用いた方法が知られている。
【0003】
この敵対的生成ネットワークは、ノイズを用いることによってデータ(以下、偽物データとも呼ぶ)を生成するジェネレータと、ジェネレータが生成した偽物データの真偽判定を行うディスクリミネータとから構成される。
【0004】
具体的に、敵対的生成ネットワークは、ジェネレータによる偽物データの生成とディスクリミネータによる偽物データの真偽判定とを繰り返すことによって、ジェネレータ及びディスクリミネータの精度をそれぞれ向上させる。そして、敵対的生成ネットワークは、ジェネレータ及びディスクリミネータの精度を十分に向上させた後、ジェネレータが生成した偽物データのうち、ディスクリミネータが本物データであると判定した偽物データを教師データとすることによって、機械学習モデルの生成に用いる教師データの生成を行う(例えば、特許文献1乃至3を参照)。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2018-163554号公報
【文献】国際公開第2020/008710号
【文献】特許第6687962号
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記のような敵対的生成ネットワークでは、例えば、ランダムに発生させたノイズを用いることによって偽物データの生成が行われる。そのため、敵対的生成ネットワークでは、教師データとして用いることが可能な偽物データ(ディスクリミネータが本物データと判定する偽物データ)の生成に長い時間を要する場合がある。
【0007】
そこで、一つの側面では、本発明は、教師データの生成に要する時間を短縮することを可能とするデータ生成プログラム、情報処理装置及びデータ生成方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
実施の形態の一態様では、敵対的生成ネットワークを用いてデータを生成する処理を行う処理をコンピュータに実行させるデータ生成プログラムであって、ランダムに発生させたノイズから複数の第1データを生成し、生成した前記複数の第1データのそれぞれについての真偽に関する評価値を算出し、生成した前記複数の第1データのうち、前記評価値が基準データよりも低い複数の第2データにおいて共通する特徴を特定し、特定した前記特徴を有しない前記複数の第1データを再度生成する、処理をコンピュータに実行させる。
【発明の効果】
【0009】
一つの側面によれば、教師データの生成に要する時間を短縮することを可能とする。
【図面の簡単な説明】
【0010】
図1図1は、情報処理システム10の構成について説明する図である。
図2図2は、敵対的生成ネットワークについて説明する図である。
図3図3は、情報処理装置1のハードウエア構成を説明する図である。
図4図4は、情報処理装置1の機能のブロック図である。
図5図5は、第1の実施の形態におけるデータ生成処理の概略を説明するフローチャート図である。
図6図6は、第1の実施の形態におけるデータ生成処理の概略を説明するフローチャート図である。
図7図7は、第1の実施の形態におけるデータ生成処理の詳細を説明するフローチャート図である。
図8図8は、第1の実施の形態におけるデータ生成処理の詳細を説明するフローチャート図である。
図9図9は、第1の実施の形態におけるデータ生成処理の詳細を説明するフローチャート図である。
図10図10は、第1の実施の形態におけるデータ生成処理の詳細を説明するフローチャート図である。
図11図11は、第1の実施の形態におけるデータ生成処理の詳細を説明するフローチャート図である。
図12図12は、S41からS45の処理の具体例について説明する図である。
図13図13は、S41からS45の処理の具体例について説明する図である。
図14図14は、S41からS45の処理の具体例について説明する図である。
図15図15は、S41からS45の処理の他の具体例について説明する図である。
図16図16は、S41からS45の処理の他の具体例について説明する図である。
図17図17は、S41からS45の処理の他の具体例について説明する図である。
図18図18は、第2の実施の形態におけるデータ生成処理を説明するフローチャート図である。
図19図19は、第3の実施の形態におけるデータ生成処理を説明するフローチャート図である。
【発明を実施するための形態】
【0011】
[情報処理システムの構成]
初めに、情報処理システム10の構成について説明を行う。図1は、情報処理システム10の構成について説明する図である。
【0012】
図1に示す情報処理システム10は、例えば、1以上の物理マシンからなる情報処理装置1と、教師データの生成を行う作業者(以下、単に作業者とも呼ぶ)が必要な情報の入力等を行う操作端末2とを有する。操作端末2は、例えば、PC(Persoanl Computer)であってよい。また、情報処理装置1と操作端末2とは、例えば、インターネット等のネットワークNWを介して接続されている。
【0013】
情報処理装置1は、例えば、敵対的生成ネットワークを用いて教師データの生成を行う処理(以下、データ生成処理とも呼ぶ)を実行する。以下、敵対的生成ネットワークについて説明を行う。
【0014】
[敵対的生成ネットワーク]
図2は、敵対的生成ネットワークについて説明する図である。
【0015】
図2に示す敵対的生成ネットワークGAは、ノイズ発生部113と、データ生成部114と、データ識別部115とを有する。以下、データ生成部114がジェネレータに対応し、データ識別部115がディスクリミネータに対応するものとして説明を行う。
【0016】
データ生成部114は、例えば、予め用意された複数の教師データDT1(以下、本物データDT1とも呼ぶ)に対して、ノイズ発生部113がランダムに発生させたノイズを加えることによって複数の偽物データDT2を生成する。
【0017】
また、データ識別部115は、例えば、複数の本物データDT1についての学習を行った後、データ生成部114が生成した複数の偽物データDT2の真偽についての判定を行う。
【0018】
そして、データ生成部114及びデータ識別部115は、偽物データDT2の生成と偽物データDT2の判定とを交互に繰り返すことにより、それぞれ精度を向上させる。
【0019】
具体的に、データ生成部114は、データ識別部115による偽物データDT2の判定結果を用いることによって、データ識別部115が偽物データでないと判定する偽物データDT2(データ識別部115が本物データと判定する偽物データDT2)の生成が可能になるように繰り返し学習を行う。また、データ識別部115は、偽物データDT2の判定結果が妥当であったか否かを示す情報を用いることによって、データ生成部114が生成した偽物データDT2を偽物データとして判定することが可能になるように繰り返し学習を行う。
【0020】
これにより、作業者は、図2に示すように、例えば、十分な学習が行われた後のデータ生成部114が生成した偽物データDT2のうち、十分な学習が行われた後のデータ識別部115が本物データであると判定した偽物データDT2を、新たな教師データDT3として取得することが可能になる。
【0021】
しかしながら、データ生成部114は、例えば、ランダムに発生させたノイズを用いることによって偽物データDT2の生成を行う。そのため、データ生成部114は、教師データDT3として用いることができる偽物データDT2(データ識別部115が本物データと判定する偽物データDT2)の生成に長い時間を要する場合がある。
【0022】
そこで、本実施の形態における情報処理装置1は、ランダムに発生させたノイズから複数の偽物データDT2(以下、第1データとも呼ぶ)を生成し、生成した複数の偽物データDT2のそれぞれについての真偽に関する評価値を算出する。
【0023】
そして、情報処理装置1は、生成した複数の偽物データDT2のうち、評価値が基準データよりも低い複数の偽物データDT2(以下、第2データとも呼ぶ)において共通する特徴を特定する。その後、情報処理装置1は、特定した特徴を有しない複数の偽物データDT2を再度生成する。
【0024】
すなわち、本実施の形態における情報処理装置1は、データ識別部115が偽物データDT2を偽物データとして判定した要因の少なくとも1つであった可能性が高い特徴(偽物データDT2に含まれる特徴)を特定する。そして、情報処理装置1は、特定した特徴が含まれないように偽物データDT2の再生成を行う。
【0025】
これにより、本実施の形態における情報処理装置1は、教師データDT3の生成が行われるまでに、データ生成部114及びデータ識別部115が生成及び真偽判定を行う必要がある偽物データDT2の数を抑えることが可能になる。そのため、情報処理装置1は、教師データDT3の生成に要する時間を短縮することが可能になる。
【0026】
[情報処理装置のハードウエア構成]
次に、情報処理装置1のハードウエア構成について説明する。図3は、情報処理装置1のハードウエア構成を説明する図である。
【0027】
情報処理装置1は、図3に示すように、プロセッサであるCPU101と、メモリ102と、通信装置103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
【0028】
記憶媒体104は、例えば、データ生成処理を行うためのプログラム110を記憶するプログラム格納領域(図示しない)を有する。また、記憶媒体104は、例えば、データ生成処理を行う際に用いられる情報を記憶する情報格納領域130を有する。なお、記憶媒体104は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)であってよい。
【0029】
CPU101は、記憶媒体104からメモリ102にロードされたプログラム110を実行してデータ生成処理を行う。
【0030】
また、通信装置103は、例えば、ネットワークNWを介して操作端末2との通信を行う。
【0031】
[情報処理装置の機能]
次に、情報処理装置1の機能について説明を行う。図4は、情報処理装置1の機能のブロック図である。
【0032】
情報処理装置1は、図4に示すように、CPU101やメモリ102等のハードウエアとプログラム110とが有機的に協働することにより、例えば、データ受信部111と、データ管理部112と、ノイズ発生部113と、データ生成部114と、データ識別部115と、特徴特定部116と、データ出力部117とを含む各種機能を実現する。
【0033】
また、情報処理装置1は、図4に示すように、例えば、本物データDT1と、偽物データDT2と、教師データDT3と、特徴情報131とを情報格納領域130に記憶する。
【0034】
データ受信部111は、例えば、操作端末2から送信された本物データDT1を受信する。そして、データ管理部112は、例えば、データ受信部111が受信した本物データDT1を情報格納領域130に記憶する。
【0035】
ノイズ発生部113は、例えば、ランダムにノイズを発生させる。
【0036】
データ生成部114は、例えば、ノイズ発生部113が発生させたノイズから偽物データDT2を生成する。また、データ生成部114は、例えば、ノイズ発生部113が発生させたノイズと、情報格納領域130に記憶した本物データDT1とから偽物データDT2を生成する。そして、データ管理部112は、例えば、データ生成部114が生成した偽物データDT2を情報格納領域130に記憶する。
【0037】
データ識別部115は、データ生成部114が生成した偽物データDT2のそれぞれについての真偽についての判定を行う。そして、データ識別部115は、データ生成部114が生成した偽物データDT2のそれぞれに関する評価値を算出する。
【0038】
特徴特定部116は、データ生成部114が生成した偽物データDT2のうち、データ識別部115が算出した評価値が基準データよりも低い複数の偽物データDT2において共通する特徴を特定する。基準データは、例えば、データ生成部114が偽物データDT2の生成に用いた本物データDT1である。そして、データ管理部112は、例えば、特徴特定部116が生成した特徴を示す情報である特徴情報131を情報格納領域130に記憶する。
【0039】
データ出力部117は、例えば、データ生成部114が生成した偽物データDT2のうち、データ識別部115が算出した評価値が閾値以上である偽物データDT2を教師データDT3として出力する。すなわち、データ出力部117は、例えば、データ生成部114が生成した偽物データDT2のうち、データ識別部115が本物データDT1であると判定した偽物データDT2を教師データDT3として出力する。
【0040】
[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明する。図5は、第1の実施の形態におけるデータ生成処理の概略を説明するフローチャート図である。また、図6は、第1の実施の形態におけるデータ生成処理の概略を説明する図である。
【0041】
情報処理装置1は、図5に示すように、例えば、データ生成タイミングになるまで待機する(S11のNO)。データ生成タイミングは、例えば、作業者が教師データDT3の生成を行う旨を入力したタイミングであってよい。
【0042】
そして、データ生成タイミングになった場合(S11のYES)、情報処理装置1は、ランダムに発生させたノイズから複数の偽物データDT2を生成する(S12)。
【0043】
続いて、情報処理装置1は、S12の処理において生成した複数の偽物データDT2のそれぞれについての真偽に関する評価値を算出する(S13)。
【0044】
さらに、情報処理装置1は、S12の処理において生成した複数の偽物データDT2のうち、S13の処理において算出した評価値が基準データよりも低い複数の偽物データDT2において共通する特徴を特定する(S14)。
【0045】
その後、情報処理装置1は、S14の処理において特定した特徴を有しない複数の偽物データDT2を再度生成する(S15)。
【0046】
すなわち、特徴特定部116は、図6に示すように、データ識別部115から取得した評価値から、データ識別部115が偽物データDT2を偽物データとして判定した要因の少なくとも1つであった可能性が高い特徴を特定する。そして、データ生成部114は、特徴特定部116から取得した特徴が含まれない偽物データDT2の再生成を行う。
【0047】
これにより、本実施の形態における情報処理装置1は、評価値の高い偽物データDT2の再作成を促すことが可能になる。そのため、情報処理装置1は、教師データDT3の生成が行われるまでに、データ生成部114及びデータ識別部115が生成及び判定を行う必要がある偽物データDT2の数を抑えることが可能になる。したがって、情報処理装置1は、教師データDT3の生成に要する時間を短縮することが可能になる。
【0048】
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。図7から図11は、第1の実施の形態におけるデータ生成処理の詳細を説明するフローチャート図である。また、図12から図17は、第1の実施の形態におけるデータ生成処理の詳細を説明する図である。
【0049】
[データ学習処理]
初めに、データ生成処理のうち、データ識別部115の学習を行う処理(以下、データ学習処理とも呼ぶ)について説明を行う。図7は、データ学習処理について説明するフローチャート図である。
【0050】
データ受信部111は、図7に示すように、例えば、操作端末2から送信された複数の本物データDT1を受信するまで待機する(S21のNO)。
【0051】
そして、複数の本物データDT1を受信した場合(S21のYES)、データ管理部112は、S21の処理において受信した複数の本物データDT1を情報格納領域130に記憶する(S22)。
【0052】
さらに、データ識別部115は、情報格納領域130に記憶された複数の本物データDT1を学習する(S23)。
【0053】
これにより、情報処理装置1は、後述するように、データ生成部114によって生成される偽物データDT2についての真偽判定を行うことが可能になる。
【0054】
[データ生成処理のメイン処理]
次に、データ生成処理のメイン処理について説明を行う。図8から図11は、データ生成処理のメイン処理について説明するフローチャート図である。
【0055】
ノイズ発生部113は、図8に示すように、例えば、データ生成タイミングになるまで待機する(S31のNO)。
【0056】
そして、データ生成タイミングになった場合(S31のYES)、特徴特定部116は、例えば、情報格納領域130に記憶した本物データDT1のうちのいずれかを基準データとして特定する(S32)。
【0057】
続いて、ノイズ発生部113は、ランダムにノイズを発生させる(S33)。
【0058】
さらに、データ生成部114は、例えば、S33の処理において生成させたノイズと、S32の処理において特定した基準データとから複数の偽物データDT2を生成する(S34)。
【0059】
その後、データ識別部115は、S34の処理において生成した複数の偽物データDT2のそれぞれが偽物データでない確率(本物データである確率)を示す評価値を算出する(S35)。
【0060】
そして、特徴特定部116は、S34の処理またはS52の処理(後述する処理)において生成した複数の偽物データDT2のうち、S35の処理において算出した評価値が基準データよりも低い複数の偽物データDT2を特定する(S36)。
【0061】
続いて、特徴特定部116は、図9に示すように、S36の処理において特定した複数の偽物データDT2のそれぞれについて、S32の処理において特定した基準データにおける同じ位置の画素よりも輝度が大きい第1画素を特定する(S41)。
【0062】
また、特徴特定部116は、S36の処理において特定した複数の偽物データDT2のそれぞれについて、S32の処理において特定した基準データにおける同じ位置の画素よりも輝度が小さい第2画素を特定する(S42)。
【0063】
さらに、特徴特定部116は、S36の処理において特定した複数の偽物データDT2に含まれる所定割合のデータにおいて第1画素が配置されていると特定された第1位置を特定する(S43)。
【0064】
また、特徴特定部116は、S36の処理において特定した複数の偽物データDT2に含まれる所定割合のデータにおいて第2画素が配置されていると特定された第2位置を特定する(S44)。
【0065】
その後、特徴特定部116は、S43の処理において特定した第1位置において第1画素が配置されていることを示す情報と、S44の処理において特定した第2位置において第2画素が配置されていることを示す情報とを含む情報を特徴情報131として特定する(S45)。以下、S41からS45までの処理の具体例について説明を行う。
【0066】
[S41からS45の処理の具体例(1)]
図12から図14は、S41からS45の処理の具体例について説明する図である。なお、図12等に示す例において、基準データにおける同じ位置に配置された画素よりも輝度が大きい画素が配置された位置には「UP」が設定される。また、図12に示す例において、基準データにおける同じ位置に配置された画素よりも輝度が小さい画素が配置された位置には「DN」が設定される。
【0067】
具体的に、図12(A)に示す偽物データDT2aにおいて、1行目3列目、2行目2列目及び4行目1列目に対応する位置のそれぞれには、「UP」が設定されており、1行目1列目、3行目3列目及び4行目3列目に対応する位置のそれぞれには、「DN」が設定されている。
【0068】
そのため、特徴特定部116は、図12(A)に示す偽物データDT2aにおける1行目3列目、2行目2列目及び4行目1列目のそれぞれに対応する位置の画素を第1画素として特定する(S41)。また、特徴特定部116は、図12(A)に示す偽物データDT2aにおける1行目1列目、3行目3列目及び4行目3列目のそれぞれに対応する位置の画素を第2画素として特定する(S42)。
【0069】
同様に、特徴特定部116は、図12(B)に示す偽物データDT2bにおける1行目3列目、1行目4列目、2行目2列目及び3行目3列目のそれぞれに対応する位置の画素を第1画素として特定する(S41)。また、特徴特定部116は、図12(B)に示す偽物データDT2bにおける4行目1列目及び4行目3列目のそれぞれに対応する位置の画素を第2画素として特定する(S42)。
【0070】
さらに、特徴特定部116は、図12(C)に示す偽物データDT2cにおける1行目3列目、2行目2列目、3行目4列目及び4行目1列目のそれぞれに対応する位置の画素を第1画素として特定する(S41)。また、特徴特定部116は、図12(C)に示す偽物データDT2cにおける2行目1列目、3行目1列目及び4行目3列目のそれぞれに対応する位置の画素を第2画素として特定する(S42)。
【0071】
ここで、1行目3列目及び2行目2列目のそれぞれに対応する位置は、図12(A)、図12(B)及び図12(C)に示す全ての偽物データDT2において第1画素として特定された位置である。また、4行目3列目に対応する位置は、図12(A)、図12(B)及び図12(C)に示す全ての偽物データDT2において第2画素として特定された位置である。
【0072】
そのため、特徴特定部116は、この場合、図13(A)、(B)及び(C)の下線部分に示すように、1行目3列目及び2行目2列目のそれぞれに対応する位置を第1位置として特定する(S43)。また、特徴特定部116は、この場合、図13(A)、(B)及び(C)の下線部分に示すように、4行目3列目に対応する位置を第2位置として特定する(S44)。
【0073】
その後、特徴特定部116は、1行目3列目に対応する位置の画素が第1画素であることを示す情報と、2行目2列目に対応する位置の画素が第1画素であることを示す情報と、4行目3列目に対応する位置の画素が第2画素であることを示す情報とを含む特徴情報131を生成する(S45)。そして、データ管理部112は、例えば、特徴特定部116が生成した特徴情報131を情報格納領域130に記憶する。以下、特徴情報131の具体例について説明を行う。
【0074】
[特徴情報の具体例(1)]
図14及び図18は、特徴情報131の具体例である。
【0075】
図14等に示す特徴情報131は、S43及びS44の処理において特定した位置が設定される「位置」と、S41及びS42の処理において特定した画素が設定される「画素」とを項目として有する。
【0076】
具体的に、図14に示す特徴情報131において、1行目の情報には、「位置」として「1行目3列目」が設定され、「画素」として「第1画素」が設定されている。また、2行目の情報には、「位置」として「2行目2列目」が設定され、「画素」として「第1画素」が設定されている。さらに、3行目の情報には、「位置」として「4行目3列目」が設定され、「画素」として「第2画素」が設定されている。
【0077】
[S41からS45の処理の具体例(2)]
図15から図17は、S41からS45の処理の他の具体例について説明する図である。
【0078】
具体的に、図15(A)に示す偽物データDT2dにおいて、2行目4列目及び4行目1列目のそれぞれに対応する位置には、「UP」が設定されており、1行目3列目及び3行目2列目のそれぞれに対応する位置には、「DN」が設定されている。
【0079】
そのため、特徴特定部116は、図15(A)に示す偽物データDT2dにおける2行目4列目及び4行目1列目のそれぞれに対応する位置の画素を第1画素として特定する(S41)。また、特徴特定部116は、図15(A)に示す偽物データDT2dにおける1行目3列目及び3行目2列目のそれぞれに対応する位置の画素を第2画素として特定する(S42)。
【0080】
同様に、特徴特定部116は、図15(B)に示す偽物データDT2eにおける1行目2列目、1行目4列目及び2行目4列目のそれぞれに対応する位置の画素を第1画素として特定する(S41)。また、特徴特定部116は、図15(B)に示す偽物データDT2eにおける2行目2列目及び4行目3列目のそれぞれに対応する位置の画素を第2画素として特定する(S42)。
【0081】
さらに、特徴特定部116は、図15(C)に示す偽物データDT2fにおける1行目3列目、2行目1列目、2行目4列目及び3行目3列目のそれぞれに対応する位置の画素を第1画素として特定する(S41)。また、特徴特定部116は、図15(C)に示す偽物データDT2fにおける3行目4列目に対応する位置の画素を第2画素として特定する(S42)。
【0082】
ここで、2行目4列目に対応する位置は、図15(A)、図15(B)及び図15(C)に示す全ての偽物データDT2において第1画素として特定された位置である。
【0083】
そのため、特徴特定部116は、この場合、図16(A)、(B)及び(C)の下線部分に示すように、2行目4列目に対応する位置を第1位置として特定する(S43)。一方、特徴特定部116は、第2位置の特定を行わない。
【0084】
その後、特徴特定部116は、2行目4列目に対応する位置の画素が第1画素であることを示す情報を含む特徴情報131を生成する(S45)。
【0085】
具体的に、特徴特定部116は、図17に示すように、「位置」として「2行目4列目」が設定され、「画素」として「第1画素」が設定された情報からなる特徴情報131を生成する。
【0086】
図10に戻り、ノイズ発生部113は、ランダムにノイズを発生させる(S51)。具体的に、ノイズ発生部113は、例えば、S45の処理において特定した特徴を有する偽物データDT2が生成される割合が閾値以下になるようにノイズを発生させる。
【0087】
そして、データ生成部114は、例えば、S51の処理において発生させたノイズと、S32の処理で特定した基準データとから複数の偽物データDT2を生成する(S52)。
【0088】
さらに、データ識別部115は、S52の処理において生成した複数の偽物データDT2のそれぞれについて本物データDT1である確率を示す評価値を算出する(S53)。
【0089】
その後、データ識別部115は、S51の処理において生成した複数の偽物データDT2に、S52の処理において算出した評価値が閾値以上であるデータが存在するか否かを判定する(S54)。
【0090】
その結果、S52の処理において算出した評価値が閾値以上であるデータが存在しないと判定した場合(S55のNO)、情報処理装置1は、S36以降の処理を再度行う。
【0091】
すなわち、特徴特定部116は、この場合、S51の処理において生成した複数の偽物データDT2に、教師データDT3として用いることが可能な偽物データDT2が含まれていないと判定し、S36以降の処理を再度行う。
【0092】
一方、S52の処理において算出した評価値が閾値以上であるデータが存在すると判定した場合(S55のYES)、データ出力部117は、図11に示すように、S54の処理において存在すると判定したデータを教師データDT3として出力する(S61)。
【0093】
そして、データ出力部117は、例えば、S61の処理において出力した教師データDT3の数が閾値に到達したか否かを判定する(S62)。
【0094】
その結果、S61の処理において出力した教師データDT3の数が閾値に到達していないと判定した場合(S63のNO)、情報処理装置1は、S36以降の処理を再度行う。
【0095】
一方、S61の処理において出力した教師データDT3の数が閾値に到達したと判定した場合(S63のYES)、情報処理装置1は、データ生成処理を終了する。
【0096】
なお、情報処理装置1は、S61の処理において出力された教師データDT3の数が所定数に到達した場合、S32以降の処理を再度行うものであってもよい。すなわち、情報処理装置1は、基準データを適宜変更しながら教師データDT3の生成を行うものであってもよい。
【0097】
このように、本実施の形態における情報処理装置1は、ランダムに発生させたノイズから複数の偽物データDT2(第1データ)を生成し、生成した複数の第1データDT2のそれぞれについての真偽に関する評価値を算出する。
【0098】
そして、情報処理装置1は、生成した複数の偽物データDT2のうち、評価値が基準データよりも低い複数の偽物データDT2(第2データ)において共通する特徴を特定する。その後、情報処理装置1は、特定した特徴を有しない複数の偽物データDT2を再度生成する。
【0099】
すなわち、本実施の形態における情報処理装置1は、データ識別部115が偽物データDT2を偽物データとして判定した要因の少なくとも1つとなった特徴を特定する。そして、情報処理装置1は、特定した特徴が含まれないように偽物データDT2の再生成を行う。
【0100】
これにより、本実施の形態における情報処理装置1は、教師データDT3の生成が行われるまでに、データ生成部114及びデータ識別部115が生成及び判定を行う必要がある偽物データDT2の数を抑えることが可能になる。そのため、情報処理装置1は、教師データDT3の生成に要する時間を短縮することが可能になる。
【0101】
具体的に、例えば、図17で説明した特徴情報131は、2行目4列目に対応する位置の画素が第1画素であることを示している。そのため、例えば、基準データを構成する各画素が256諧調であり、基準データにおける2行目4列目に対応する画素の諧調が128である場合、データ生成部114は、2行目4列目に対応する画素の諧調が128未満である偽物データDT2の生成頻度(生成数)を下げることが可能になる。
【0102】
なお、上記の例では、偽物データDT2と基準データとの比較を画素ごとに行う場合について説明を行ったが、情報処理装置1は、偽物データDT2と基準データとの比較を複数の画素(以下、ブロックとも呼ぶ)ごとに行うものであってもよい。
【0103】
具体的に、特徴特定部116は、この場合、例えば、S36の処理において特定した偽物データDT2のそれぞれについて、各偽物データDT2において隣接した位置に配置された複数の画素からなるブロックごとに、基準データにおける同じ位置のブロックよりも輝度(例えば、輝度の平均)が大きいブロック(以下、第1ブロックとも呼ぶ)と、基準データにおける同じ位置のブロックよりも輝度(例えば、輝度の平均)が小さいブロック(以下、第2ブロックとも呼ぶ)とをそれぞれ特定するものであってよい。
【0104】
さらに、特徴特定部116は、この場合、S36の処理において特定した複数の偽物データDT2のうちの所定割合のデータにおいて第1ブロックが配置されていると特定された位置(以下、第3位置とも呼ぶ)と、前記複数の第2データのうちの前記所定割合のデータにおいて前記第2ブロックが配置されていると特定された位置(以下、第4位置とも呼ぶ)とを特定するものであってよい。そして、特徴特定部116は、第3位置に第1ブロックが配置されていることを示す情報と、第4位置に第2ブロックが配置されていることを示す情報とを特徴情報131として特定するものであってもよい。
【0105】
これにより、情報処理装置1は、例えば、特徴特定部116による処理負担を軽減させることが可能になる。
【0106】
[第2の実施の形態の詳細]
次に、第2の実施の形態について説明する。図18は、第2の実施の形態におけるデータ生成処理を説明するフローチャート図である。
【0107】
第2の実施の形態では、データ識別部115の学習に用いた本物データDT1が追加された場合、生成済の教師データDT3の全てを再生成する。なお、以下、第1の実施の形態と異なる点についてのみ説明を行う。
【0108】
[データ再学習処理(1)]
初めに、データ生成処理のうち、追加された本物データDT1の学習を行う処理(以下、再学習処理とも呼ぶ)について説明を行う。図18は、データ再学習処理について説明するフローチャート図である。
【0109】
データ管理部112は、図18に示すように、操作端末2から1以上の本物データDT1を受信するまで待機する(S71のNO)。すなわち、データ管理部112は、新たな本物データDT1が追加されるまで待機する。
【0110】
そして、1以上の本物データDT1を受信した場合(S71のYES)、データ管理部112は、S71の処理において受信した1以上の本物データDT1を情報格納領域130に記憶する(S72)。
【0111】
続いて、データ管理部112は、情報格納領域130に記憶した教師データDT3を削除する(S73)。
【0112】
その後、データ識別部115は、S71の処理において受信した1以上の本物データDT1をさらに学習する(S74)。そして、情報処理装置1は、例えば、図8から図11で説明したデータ生成処理を実行する。
【0113】
すなわち、追加された本物データDT1の学習を行った場合、データ識別部115による偽物データDT2の真偽判定の基準が変わる可能性がある。そのため、第2の実施の形態における情報処理装置1は、データ識別部115の学習に用いる本物データDT1が追加された場合、教師データDT3の再生成を行う。
【0114】
これにより、第2の実施の形態における情報処理装置1は、本物データDT1が追加された場合に、より精度の高い教師データDT3の生成を行うことが可能になる。
【0115】
[第3の実施の形態の詳細]
次に、第3の実施の形態について説明する。図19は、第3の実施の形態におけるデータ生成処理を説明するフローチャート図である。
【0116】
第3の実施の形態では、データ識別部115の学習に用いた本物データDT1が追加された場合、生成済の教師データDT3のうちの少なくとも一部を再生成する。なお、以下、第1の実施の形態と異なる点についてのみ説明を行う。
【0117】
[データ再学習処理(2)]
初めに、データ生成処理のうち、再学習処理について説明を行う。図19は、データ再学習処理について説明するフローチャート図である。
【0118】
データ管理部112は、図19に示すように、操作端末2から1以上の本物データDT1を受信するまで待機する(S81のNO)。
【0119】
そして、1以上の本物データDT1を受信した場合(S81のYES)、データ管理部112は、S81の処理において受信した1以上の本物データDT1を情報格納領域130に記憶する(S82)。
【0120】
続いて、データ識別部115は、S81の処理において受信した1以上の本物データDT1をさらに学習する(S83)。
【0121】
さらに、データ識別部115は、情報格納領域130に記憶した教師データDT3のそれぞれが本物データDT1である確率を示す評価値を算出する(S84)。
【0122】
その後、データ管理部112は、情報格納領域130に記憶した教師データDT3のうち、S84の処理において算出した評価値が閾値以下である教師データDT3を削除する(S85)。そして、情報処理装置1は、例えば、図8から図11で説明したデータ生成処理を実行する。
【0123】
すなわち、第3の実施の形態における情報処理装置1は、生成済の教師データDT3のうち、追加された本物データDT1によって学習が行われたデータ識別部115が偽物データと判定したデータについてのみ再生成を行う。
【0124】
これにより、第3の実施の形態における情報処理装置1は、本物データDT1が追加された場合においても、教師データDT3の生成を効率的に行うことが可能になる。
【0125】
なお、情報処理装置1は、図8におけるS35以降の処理が、データ再学習処理の終了後に行われるように制御する。
【0126】
以上の実施の形態をまとめると、以下の付記のとおりである。
【0127】
(付記1)
敵対的生成ネットワークを用いてデータを生成する処理を行う処理をコンピュータに実行させるデータ生成プログラムであって、
ランダムに発生させたノイズから複数の第1データを生成し、
生成した前記複数の第1データのそれぞれについての真偽に関する評価値を算出し、
生成した前記複数の第1データのうち、前記評価値が基準データよりも低い複数の第2データにおいて共通する特徴を特定し、
特定した前記特徴を有しない前記複数の第1データを再度生成する、
処理をコンピュータに実行させることを特徴とするデータ生成プログラム。
【0128】
(付記2)
付記1において、さらに、
前記評価値を算出する処理、前記特徴を特定する処理及び前記複数の第1データを再度生成する処理を、前記複数の第1データのうちの1以上のデータについての前記評価値が所定の条件を満たすまで繰り返し行い、
前記繰り返し行う処理において前記1以上のデータについての前記評価値が前記所定の条件を満たした場合、前記1以上のデータを出力する、
ことを特徴とするデータ生成プログラム。
【0129】
(付記3)
付記1において、
前記評価値を算出する処理では、前記複数の第1データのそれぞれが前記第1データを生成する処理または前記第1データを再度生成する処理において生成されたデータでない確率を、前記複数の第1データのそれぞれに対応する前記評価値として算出する、
ことを特徴とするデータ生成プログラム。
【0130】
(付記4)
付記2において、
前記出力する処理では、前記1以上のデータについての前記評価値が閾値以上になった場合、前記1以上のデータを出力する、
ことを特徴とするデータ生成プログラム。
【0131】
(付記5)
付記1において、
前記複数の第1データ及び前記基準データは、画像データであり、
前記複数の第1データを生成する処理では、前記基準データに含まれる複数の画素の輝度を変更することによって前記複数の第1データを生成する、
ことを特徴とするデータ生成プログラム。
【0132】
(付記6)
付記5において、
前記特徴を特定する処理では、
前記複数の第2データのそれぞれについて、前記基準データにおける同じ位置の画素よりも輝度が大きい第1画素と、前記基準データにおける同じ位置の画素よりも輝度が小さい第2画素とをそれぞれ特定し、
前記複数の第2データのそれぞれにおいて画素が配置されている複数の位置のうち、前記複数の第2データのうちの所定割合のデータにおいて前記第1画素が配置されていると特定された第1位置と、前記複数の第2データのうちの前記所定割合のデータにおいて前記第2画素が配置されていると特定された第2位置とを特定し、
前記第1位置に前記第1画素が配置されていることを示す情報と、前記第2位置に前記第2画素が配置されていることを示す情報とを前記特徴として特定する、
ことを特徴とするデータ生成プログラム。
【0133】
(付記7)
付記6において、
前記複数の第1データを再度生成する処理では、前記第1位置に前記第1画素が配置され、かつ、前記第2位置に前記第2画素が配置されたデータの割合が閾値以下になるように、前記複数の第1データを再度生成する、
ことを特徴とするデータ生成プログラム。
【0134】
(付記8)
付記5において、
前記特徴を特定する処理では、
前記複数の第2データのそれぞれについて、複数の画素からなるブロックごとに、前記基準データにおける同じ位置のブロックよりも輝度が大きい第1ブロックと、前記基準データにおける同じ位置のブロックよりも輝度が小さい第2ブロックとをそれぞれ特定し、
前記複数の第2データのそれぞれにおいてブロックが配置されている複数の位置のうち、前記複数の第2データのうちの所定割合のデータにおいて前記第1ブロックが配置されていると特定された第3位置と、前記複数の第2データのうちの前記所定割合のデータにおいて前記第2ブロックが配置されていると特定された第4位置とを特定し、
前記第3位置に前記第1ブロックが配置されていることを示す情報と、前記第4位置に前記第2ブロックが配置されていることを示す情報とを前記特徴として特定する、
ことを特徴とするデータ生成プログラム。
【0135】
(付記9)
敵対的生成ネットワークを用いてデータを生成する情報処理装置であって、
ランダムに発生させたノイズから複数の第1データを生成するデータ生成部と、
生成した前記複数の第1データのそれぞれについての真偽に関する評価値を算出し、
生成した前記複数の第1データのうち、前記評価値が基準データよりも低い複数の第2データにおいて共通する特徴を特定する特徴特定部と、を有し、
前記データ生成部は、特定した前記特徴を有しない前記複数の第1データを再度生成する、
ことを特徴とする情報処理装置。
【0136】
(付記10)
付記9において、
前記複数の第1データ及び前記基準データは、画像データであり、
前記データ生成部は、前記基準データに含まれる複数の画素の輝度を変更することによって前記複数の第1データを生成する、
ことを特徴とする情報処理装置。
【0137】
(付記11)
付記10において、
前記特徴特定部は、
前記複数の第2データのそれぞれについて、前記基準データにおける同じ位置の画素よりも輝度が大きい第1画素と、前記基準データにおける同じ位置の画素よりも輝度が小さい第2画素とをそれぞれ特定し、
前記複数の第2データのそれぞれにおいて画素が配置されている複数の位置のうち、前記複数の第2データのうちの所定割合のデータにおいて前記第1画素が配置されていると特定された第1位置と、前記複数の第2データのうちの前記所定割合のデータにおいて前記第2画素が配置されていると特定された第2位置とを特定し、
前記第1位置に前記第1画素が配置されていることを示す情報と、前記第2位置に前記第2画素が配置されていることを示す情報とを前記特徴として特定する、
ことを特徴とする情報処理装置。
【0138】
(付記12)
敵対的生成ネットワークを用いてデータを生成する処理を行う処理をコンピュータが実行するデータ生成方法であって、
ランダムに発生させたノイズから複数の第1データを生成し、
生成した前記複数の第1データのそれぞれについての真偽に関する評価値を算出し、
生成した前記複数の第1データのうち、前記評価値が基準データよりも低い複数の第2データにおいて共通する特徴を特定し、
特定した前記特徴を有しない前記複数の第1データを再度生成する、
処理をコンピュータが実行することを特徴とするデータ生成方法。
【0139】
(付記13)
付記12において、
前記複数の第1データ及び前記基準データは、画像データであり、
前記複数の第1データを生成する処理では、前記基準データに含まれる複数の画素の輝度を変更することによって前記複数の第1データを生成する、
ことを特徴とするデータ生成方法。
【0140】
(付記14)
付記13において、
前記特徴を特定する処理では、
前記複数の第2データのそれぞれについて、前記基準データにおける同じ位置の画素よりも輝度が大きい第1画素と、前記基準データにおける同じ位置の画素よりも輝度が小さい第2画素とをそれぞれ特定し、
前記複数の第2データのそれぞれにおいて画素が配置されている複数の位置のうち、前記複数の第2データのうちの所定割合のデータにおいて前記第1画素が配置されていると特定された第1位置と、前記複数の第2データのうちの前記所定割合のデータにおいて前記第2画素が配置されていると特定された第2位置とを特定し、
前記第1位置に前記第1画素が配置されていることを示す情報と、前記第2位置に前記第2画素が配置されていることを示す情報とを前記特徴として特定する、
ことを特徴とするデータ生成方法。
【符号の説明】
【0141】
1:情報処理装置 2:操作端末
10:情報処理システム 113:ノイズ発生部
114:データ生成部 115:データ識別部
DT1:本物データ DT2:偽物データ
DT3:新たな教師データ GA:敵対的生成ネットワーク
NW:ネットワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19