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

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

▶ 日本電信電話株式会社の特許一覧 ▶ 国立大学法人九州大学の特許一覧

特開2025-11943画像生成方法、画像生成装置およびプログラム
<>
  • 特開-画像生成方法、画像生成装置およびプログラム 図1
  • 特開-画像生成方法、画像生成装置およびプログラム 図2
  • 特開-画像生成方法、画像生成装置およびプログラム 図3
  • 特開-画像生成方法、画像生成装置およびプログラム 図4
  • 特開-画像生成方法、画像生成装置およびプログラム 図5
  • 特開-画像生成方法、画像生成装置およびプログラム 図6
  • 特開-画像生成方法、画像生成装置およびプログラム 図7
  • 特開-画像生成方法、画像生成装置およびプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025011943
(43)【公開日】2025-01-24
(54)【発明の名称】画像生成方法、画像生成装置およびプログラム
(51)【国際特許分類】
   G06T 1/40 20060101AFI20250117BHJP
   G06T 7/00 20170101ALI20250117BHJP
【FI】
G06T1/40
G06T7/00 350C
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023114406
(22)【出願日】2023-07-12
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】504145342
【氏名又は名称】国立大学法人九州大学
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】木村 昭悟
(72)【発明者】
【氏名】内田 誠一
(72)【発明者】
【氏名】片岡 蓮太郎
【テーマコード(参考)】
5B057
5L096
【Fターム(参考)】
5B057CA12
5B057CB12
5B057CE08
5B057DA12
5B057DB02
5L096DA01
5L096GA34
5L096HA11
5L096KA04
(57)【要約】
【課題】画像についても敵対的攻撃に対して頑健さを確保可能とすることができる技術の提供を目的としている。
【解決手段】画像生成方法は、学習用画像を用いて、学習用画像と同等の品質の画像を生成するように画像生成モデルのパラメータを学習する識別学習処理を行い、識別学習処理後、敵対的攻撃に対して頑健な画像を生成するように画像生成モデルのパラメータを学習する分類学習を行い、学習済の前記画像生成モデルを用いて画像を生成する。
【選択図】図3
【特許請求の範囲】
【請求項1】
学習用画像を用いて、前記学習用画像と同等の品質の画像を生成するように画像生成モデルのパラメータを学習する識別学習処理を行い、
前記識別学習処理後、敵対的攻撃に対して頑健な画像を生成するように前記画像生成モデルのパラメータを学習する分類学習を行い、
学習済の前記画像生成モデルを用いて画像を生成する、
画像生成方法。
【請求項2】
画像生成モデルである生成器が、入力された学習用画像を用いて、画像を生成し、
識別器が、生成された生成画像に対して、入力された画像が前記生成器で生成された画像であるか否かを判定する画像識別処理を行い、
識別損失計算部が、画像識別処理結果に基づいて、識別損失の計算と生成損失の計算を行い、
生成器係数更新部が、前記生成損失に基づいて、前記生成器のパラメータである生成器係数更新処理を行い、
識別器係数更新部が、前記識別損失に基づいて、識別器係数更新処理を行う、
請求項1に記載の画像生成方法。
【請求項3】
生成器が、入力された学習データを用いて、画像を生成し、
分類器が、生成された生成画像を分類し、
分類損失計算部が、前記分類された分類結果に基づいて、分類損失を計算し、
生成器係数更新部が、前記分類損失に基づいて、前記生成器のパラメータである生成器係数更新処理を行う、
請求項1に記載の画像生成方法。
【請求項4】
画像生成モデルである生成器が、入力された学習データを用いて画像を生成し、生成した生成画像に入力された生成用ラベルを付与し、
識別器が、生成された前記生成画像と前記生成用ラベルに対して、入力された画像が前記生成器で生成された画像であるか否かを判定する画像識別処理を行い、
識別損失計算部が、画像識別処理結果に基づいて、識別損失の計算と生成損失の計算を行い、
生成器係数更新部が、前記生成損失に基づいて、前記生成器のパラメータである生成器係数更新処理を行い、
識別器係数更新部が、前記識別損失に基づいて、識別器係数更新処理を行う、
請求項1に記載の画像生成方法。
【請求項5】
前記画像識別処理結果は、
学習用画像であれば真、生成画像であれば偽、
あるいは、前記真または前記偽である確信度を数値である、
請求項2に記載の画像生成方法。
【請求項6】
前記識別損失計算部が計算した結果は、
前記識別器への入力が、前記生成画像かつ識別結果が偽の場合に、前記識別損失が小かつ前記生成損失が大であり、
前記識別器への入力が、学習用画像かつ識別結果が真の場合に、前記識別損失が小かつ前記生成損失が大であり、
前記識別器への入力が、前記生成画像かつ識別結果が偽ではなく、または前記学習用画像かつ識別結果が真ではない場合に、前記識別損失が大かつ前記生成損失が小である、
請求項2に記載の画像生成方法。
【請求項7】
生成器入力情報を入力して、画像を生成する処理を行う生成器と、
入力された画像が、前記生成器で生成された画像か否かを判定する処理を行う識別器と、
前記識別器が識別した結果に基づいて、識別損失と生成損失を計算する識別損失計算部と、
計算された前記識別損失または前記生成損失に基づいて、生成器係数を更新する生成器係数更新部と、
計算された学習用識別損失に基づいて、識別器係数を更新する識別器係数分類部と、
入力された画像を分類する分類器と、
前記分類器が分類した結果に基づいて、分類損失を計算する分類損失計算部と、
前記生成器が生成した生成画像を出力する出力部と、
を備える画像生成装置。
【請求項8】
コンピューターを、
請求項7に記載の画像生成装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像生成方法、画像生成装置およびプログラムの技術に関する。
【背景技術】
【0002】
精緻に構成された微小な摂動を画像に追加することで、機械学習モデルが誤った出力をすることが知られている。敵対的攻撃は、このような機械学習モデルがある入力に対して誤った出力をするように、入力に加工をする手法の総称である。例えば、「パンダ」の画像に的確に設計されたノイズを加えることで、人間の目で差異がわからなくても、機械学習モデルは「テナガザル」であると誤識別してしまう。
【0003】
敵対的攻撃に対する頑健性向上技術としては、学習データ内のサンプルに対して敵対的攻撃を加えることで大量に生成した敵対的サンプルを学習データに追加して学習を行う敵対的学習(例えば非技術文献1参照)や、攻撃を受けていない通常サンプルに対する分類精度向上のバランスを取る手法(例えば非技術文献2参照)がある。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Alexey Kurakin, Ian Goodfellow, et al., "Adversarial machine learning at scale", Proc. International Conference on Machine Learning (ICML), 2017
【非特許文献2】Hongyang Zhang, Yaodong Yu, et al., "Theoretically principled trade-off between robustness and accuracy", Proc. International Conference on Machine Learning (ICML), 2019
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、これらの防御が、モデルを敵対的攻撃に対して頑健にする対策であり、画像そのものについて攻撃に対する防御が一切なされていないという問題がある。
【0006】
上記事情に鑑み、本発明は、画像についても敵対的攻撃に対して頑健さを確保可能とすることができる技術の提供を目的としている。
【課題を解決するための手段】
【0007】
本発明の一態様は、学習用画像を用いて、前記学習用画像と同等の品質の画像を生成するように画像生成モデルのパラメータを学習する識別学習処理を行い、前記識別学習処理後、敵対的攻撃に対して頑健な画像を生成するように前記画像生成モデルのパラメータを学習する分類学習を行い、学習済の前記画像生成モデルを用いて画像を生成する、画像生成方法である。
【0008】
本発明の一態様は、生成器入力情報を入力して、画像を生成する処理を行う生成器と、入力された画像が、前記生成器で生成された画像か否かを判定する処理を行う識別器と、前記識別器が識別した結果に基づいて、識別損失と生成損失を計算する識別損失計算部と、計算された前記識別損失または前記生成損失に基づいて、生成器係数を更新する生成器係数更新部と、計算された学習用識別損失に基づいて、識別器係数を更新する識別器係数分類部と、入力された画像を分類する分類器と、前記分類器が分類した結果に基づいて、分類損失を計算する分類損失計算部と、前記生成器が生成した生成画像を出力する出力部と、を備える画像生成装置である。
【0009】
本発明の一態様は、コンピューターを、上述の画像生成装置として機能させるためのプログラムである。
【発明の効果】
【0010】
本発明により、画像についても敵対的攻撃に対して頑健さを確保可能とすることができる。
【図面の簡単な説明】
【0011】
図1】実施形態の画像生成装置の構成例を示す図である。
図2】実施形態の構成と処理の概要を示す図である。
図3】実施形態で行う処理手順の概要のフローチャートである。
図4】実施形態の識別学習の処理手順例のフローチャートである。
図5】実施形態の分類学習の処理手順例のフローチャートである。
図6】実施形態の画像生成の処理手順例のフローチャートである。
図7】各クラス(文字)における実画像(original)と生成画像(generated)のdefensibilityの分布を示す図である。
図8】各クラス(文字)における実画像(original)と生成画像(generated)のdefensibilityの分布を示す図である。
【発明を実施するための形態】
【0012】
本発明の実施形態について、図面を参照して詳細に説明する。
図1は、本実施形態の画像生成装置1の構成例を示す図である。画像生成装置1は、例えば、取得部11と、学習部12と、生成器入力作成部13と、生成器14と、識別器16と、識別損失計算部17と、生成器係数更新部18と、識別器係数分類部19と、分類器20と、分類損失計算部21と、記憶部22と、出力部23と、を備える。
【0013】
取得部11は、例えば、学習に用いる画像を取得する。
【0014】
学習部12は、画像とそのラベルで構成される学習データを用意する処理を行う。
【0015】
生成器入力作成部13は、生成器14に入力する情報を作成する処理を行う。
【0016】
生成器14は、生成器入力情報を生成器14に入力して画像を生成する処理を行う。
【0017】
識別器16は、入力された画像が、画像生成処理で生成された画像か否かを判定する処理を行う。
【0018】
識別損失計算部17は、画像識別処理の結果が、望ましいか否かを評価する処理を行う。
【0019】
生成器係数更新部18は、計算された学習用損失(生成損失または分類損失)に基づいて、生成器係数を更新する処理を行う。
【0020】
識別器係数分類部19は、計算された学習用識別損失に基づいて、識別器係数を更新する処理を行う。
【0021】
分類器20は、入力された画像を分類する処理を行う。
【0022】
分類損失計算部21は、画像分類処理の結果が、望ましいか否かを評価する処理を行う。
【0023】
記憶部22は、例えば、画像生成装置1が各処理や学習で用いるパラメータやプログラムを記憶する。
【0024】
出力部23は、生成器15が生成した生成画像を外部装置に出力する。外部装置は、例えば、画像表示装置、携帯端末、パーソナルコンピュータ等である。
【0025】
画像生成装置1は、CPU(Central Processing Unit)等のプロセッサーとメモリーとを用いて構成される。画像生成装置1は、プロセッサーがプログラムを実行することによって、取得部11と、学習部12と、生成器入力作成部13と、生成器14と、識別器16と、識別損失計算部17と、生成器係数更新部18と、識別器係数分類部19と、分類器20と、分類損失計算部21と、出力部23として機能する。なお、画像生成装置1の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されても良い。上記のプログラムは、コンピューター読み取り可能な記録媒体に記録されても良い。コンピューター読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM、半導体記憶装置(例えばSSD:Solid State Drive)等の可搬媒体、コンピューターシステムに内蔵されるハードディスクや半導体記憶装置等の記憶装置である。上記のプログラムは、電気通信回線を介して送信されてもよい。
【0026】
図2は、本実施形態の構成と処理の概要を示す図である。図2において、zは生成器入力情報、Gは生成器14、Dは識別器16であり、Cは分類器20である。
符号g10のブロック図は、現実的な文字画像作成の処理を示している。生成器14は、生成器入力情報が入力され、生成画像g11を出力する。識別器16は、生成画像が入力され、入力された画像が画像生成処理で生成された画像か否かを判定した識別結果(real(真)またはfake(偽))を出力する。なお、生成器14と識別器16には、なお、生成用ラベル(class y)が入力されてもよい。また、学習時、識別器16には、生成画像または学習用画像(letter image x)が入力される。
【0027】
このように、本実施形態では、識別学習処理で自然な画像を生成できる画像生成モデルを学習し、その後に分類学習処理により敵対的攻撃に対して頑健な画像を生成できる画像生成モデルを学習する。すなわち、本実施形態では、リアルな文字画像を生成するための標準的なGANの学習処理で、生成器14と識別器16のペアを持つcGANを学習する。そして、識別器16は、生成器14による偽画像を検出する。これにより、本実施形態によれば、自然でありながら敵対的攻撃に対して頑健な画像を生成できる。
【0028】
符号g20のブロック図は、敵対的攻撃に対して頑健な画像生成の処理を示している。すなわち、本実施形態では、識別器16を分類器20に置き換え、生成器14がより防御的な文字画像を生成できるようにする。また、本実施形態では、画像のクラスラベルを予測する分類器20をあらかじめ学習して用いる。生成器14は、生成器入力情報が入力され、生成画像g21を出力する。学習済の分類器20は、生成画像g21が入力され、画像のクラスラベルを出力する。これにより、本実施形態によれば、生成画像が正解ではないラベルに分類される可能性を減らし、結果的に敵対的攻撃に対して頑健な画像を生成することが可能となる。
【0029】
図2のように、本実施形態では上記の2つの手法を用いることによって、敵対的攻撃に対して頑健な画像を生成することにより、敵対的攻撃に対しての防御力を強化することが可能になる。また、本実施形態では、GANベースのモデルに分類器20を加えることで、より防御力の高い文字画像を生成できる。なお、学習方法等については、後述する。
【0030】
[各処理の説明]
次に、学習処理や画像処理で用いる各処理について説明する。
【0031】
(学習データ準備処理)
学習データ準備処理において、入力は無し、出力は学習サンプル集合である。学習用画像xと学習用ラベルyを対にした学習サンプル(x,y)を多数集め、その集合{(x,yi=1 を学習サンプル集合とする。なお、学習用画像と学習用ラベルを遂にした学習用サンプルは、総計N(Nは2以上の整数)個、取り得るラベルの数をK(Kは2以上の整数)と設定する。また、i∈{1,2,…,N}番目の学習用画像をx∈R(R(Rは二重線文字)はD次元実数ベクトルの集合を示している)、学習用ラベルをy∈{1,2,…,K}と表現する.
【0032】
(生成器入力作成処理)
生成器入力作成処理入力において、入力は無し、出力は生成器入力情報である。なお、図3では、符号zと表記されている。
なお、生成器入力情報は、例えば一般的な敵対的生成ネットワーク(例えば参考文献1参照)の枠組で用いられる入力情報である標準正規分布から生成されたランダムベクトルzを用いるが、生成器14を駆動できる情報であればこれに限らず他の情報であってもよい。
【0033】
参考文献1;Ian J. Goodfellow, Jean Pouget-Abadie, et al., “Generative adversarial networks”, Proc. Annual Conference on Neural Information Processing Systems (NeurIPS), 2014
【0034】
(画像生成処理)
画像生成処理において、入力は生成器入力情報と生成器係数(+生成用ラベル)である。なお、生成用ラベルは、オプションであり、用いても用いなくてもよい。生成用ラベルは、学習用ラベルと同一でも良いが、一般的には異なる。生成器係数は、生成器14のモデルパラメータに相当する。
また、出力は、生成画像(+生成用ラベル)である。なお、生成用ラベルは、オプションであり、用いても用いなくてもよい。生成用ラベルが入力された場合には、生成画像と生成用ラベルを対にして出力する。
なお、図3において生成器14は、符号Gと表記されている。生成器14は、画像を生成できれば手法を問わないが、例えば、後述の画像識別処理と組み合わせて、敵対的生成ネットワーク(generative adversarial networks: GANs)の枠組を用いる。
また、生成用ラベルが追加の入力として与えられた場合には、条件付き敵対的生成ネットワーク(例えば参考文献2参考)の枠組を用いて画像を生成し、生成画像と生成用ラベルを対にして出力する。
【0035】
参考文献2;Mehdi Mirza, Simon Osindero, “Conditional generative adversarial nets”, arxiv:1411.1784, 2014
【0036】
(画像識別処理)
画像識別処理において、入力は、生成画像または学習用画像、これに加えて識別器係数(+学習用ラベルまたは生成用ラベル)である。なお、学習用生成用ラベルまたは生成用ラベルは、オプションであり、用いても用いなくてもよい。なお、識別器係数は、識別器16のモデルパラメータに相当する。画像識別処理では、を入力し、別途入力された識別器係数に基づいて構成された識別器16に入力された生成画像または学習用画像が、生成画像であるか否かを判定する。
出力は、学習用識別結果である。なお、図3において識別器16は、符号Dと表記されている。
【0037】
なお、本実施形態では、敵対的生成ネットワークの枠組に従って識別器16を構成し、生成画像か否かの判定を行う。また、学習用ラベルまたは生成用ラベルが追加で入力された場合には、画像生成過程と同様に条件付き敵対的生成ネットワークの枠組に従う識別器16の構成となる.すなわち、画像の識別の際には、ラベルを条件として用いることができる。
【0038】
なお、識別器16は、例えば二値分類を行う。出力である学習用識別結果は,r^∈{0,1}と表記して、0を生成画像、1を学習用画像とそれぞれ判定したことを示すものとする。同様に、入力画像が実際に学習用画像と生成画像のいずれであったかを示す正解識別結果も導入し、r∈{0,1}と表記する。また,学習用識別結果としはて、学習用画像と判定する確信度を0以上1以下の実数、すなわち0≦r^≦1として表現することも可能である。この場合には1であれば学習用画像である(realである)と判定する確信度が100%、0であれば生成画像(fakeである)と判定する確信度が100%となる。
【0039】
一方、学習用ラベルや生成用ラベルが追加で入力されない場合は、入力された画像が生成画像か否かの判定に加え、その画像のクラスラベルを予測しても良い。この予測ラベルはy^∈{1,2,…,K}と表現できる。また、予測は、ラベルそのものではなく、各ラベルに対しての確信度を0以上1以下の実数で表現することも可能である、この場合には、全クラスの確信度の総和が1になることが期待される。なお、学習用ラベルが与えられる場合は、real/fakeの判定のために、学習用ラベルを利用しても良い。
【0040】
(識別損失計算処理)
識別損失計算処理において、入力は、学習用識別結果と、画像識別過程への入力が生成画像と学習用画像のいずれであるかを示す情報(+学習用ラベル)である。なお、学習用ラベルは、オプションであり、用いても用いなくてもよい。
出力は、学習用識別損失と、学習用生成損失である。すなわち、識別損失計算処理では、学習用識別結果が望ましい結果であったか否かを評価する学習用識別損失と、生成器14が生成した画像を識別器16が学習用画像と判断しているかを評価する学習用生成損失を計算し、計算した学習用識別損失と、学習用生成損失を出力する。
【0041】
なお、識別損失計算部17は、例えば正解識別結果rと予測識別結果r^との乖離に基づき、学習用識別損失、学習用生成損失の損失を計算する。この計算では、敵対的生成ネットワークの枠組で用いられる様々な損失を利用可能であり、例えばWasserstein GAN with gradient penalty(WGAN-GP)(例えば参考文献3参照)などを用いる。
【0042】
参考文献3;Ishaan Gulrajani, Faruk Ahmed, et al., “Improving training of Wasserstein GANs”, Proc. Conference on Neural Information Processing Systems (NIPS), 2017
【0043】
画像識別処理の入力が生成画像、かつ学習用識別結果がfakeの場合は、識別損失が小、かつ生成損失が大であることを示す。
画像識別過程への入力が学習用画像、かつ学習用識別結果がrealの場合は、識別損失が小、かつ生成損失が大であることを示す。
上記のいずれでもない場合は、識別損失が大、かつ生成損失が小であることを示す。
【0044】
なお、学習用ラベルが与えられる場合には、画像識別処理で入力された画像のラベルを予測していることを想定し、その予測結果が学習用ラベルにどの程度近いかを識別損失に追加しても良い。
または、学習用ラベルが追加の入力として与えられ、かつ画像識別過程で入力された画像のラベルも同時に予測している場合には、学習用ラベルyと予測ラベルy^との乖離も学習用識別損失に加算できる。この計算には、例えば、cross entropy、またはKullback-Leibler divergenceを用いる。
【0045】
(生成器係数更新処理)
生成器係数更新処理において、入力は、学習用生成損失または学習用分類損失と現在の生成器係数である。
出力は、入力された損失に基づいて更新された生成器係数である。
【0046】
なお、画像生成処理は、ニューラルネットワークで表現されることが想定されていることから、学習用生成損失または学習用分類損失をニューラルネットワークに逆伝播することで、画像生成処理で用いる生成器14のモデルパラメータに対応する生成器係数を更新することができる。
【0047】
(識別器係数更新処理)
識別器係数更新処理において、入力は、学習用識別損失と、現在の識別器係数である。
出力は、入力された損失に基づいて更新された識別器係数である。
【0048】
なお、画像識別処理は、ニューラルネットワークで表現されることが想定されていることから、学習用識別損失をニューラルネットワークに逆伝播することで、識別器係数更新で用いる識別器16のモデルパラメータに対応する識別器係数を更新することができる。
【0049】
(画像分類処理)
画像分類処理において、入力は、生成画像と分類器係数である。分類器係数は、分類器20のモデルパラメータに相当する。なお、分類器係数は、別途学習されたモデルパラメータを固定して用いる。なお、用途や必要に応じて、分類器20の学習のための処理は、新たに設けても良い。
画像分類処理では、分類器20が生成画像のクラスラベルを予測し,この予測されたラベルに相当する学習用分類結果を出力する。
【0050】
なお、分類器20は、例えば一般的なニューラルネットワークなどを用いることができる。ただし、分類器20が正確な分類を行えるように予め学習をしておく必要がある。また、分類器20の学習は、例えば、学習用画像または生成用画像と、学習用ラベルを用いてパラメータの学習を行う。分類器20は、例えば、2つの畳み込み層と2つの完全接続層を持つCNN(Convolutional Neural Network)を、例えばアルファベット26文字の分類のために学習させる。各畳み込み層は、ReLU(Rectified Linear Unit)活性化とマックスプーリングを伴っている。学習処理では、例えば、負の対数尤度損失が用いられ、最適化手法のAdaDeltaによって最小化される。学習処理は、例えば、標準的な早期停止基準によって終了され、次の10エポックにわたって検証損失が減少しない場合に学習が停止される。
【0051】
また、分類器20は、ラベルそのものを予測するのではなく、各ラベルに対しての確信度を0以上1以下の実数で表現して出力する方法も可能である。すなわち、画像分類処理では、予測クラスラベルを出力してもよく、各ラベルに対する確信度を出力する形でもよい。
【0052】
(分類損失計算処理)
分類損失計算処理において、入力は、学習用分類結果と、学習用ラベルである。
分類損失計算処理では、学習用分類結果が望ましい結果であったか否かを評価する学習用分類損失を計算して、計算した学習用分類損失を出力する。
なお、分類器20での予測ラベルが学習用ラベルと一致した場合は、小さい損失値であることを示す。分類器20での予測ラベルが学習用ラベルと一致しない場合は、大きい損失値であることを示す。
【0053】
なお、画像分類処理は、ニューラルネットワークで表現されることが想定されていることから、学習用分類損失をニューラルネットワークに逆伝播することで、画像分類処理で用いる分類器20のモデルパラメータに対応する学習用分類損失を更新することができる。
【0054】
学習用分類損失の計算は、例えば、生成用ラベルyと学習用分類結果として得られた予測ラベルy^との乖離を計算する。この計算には、例えば、cross entropy、またはKullback-Leibler divergenceを用いる。
【0055】
なお、生成器14の損失関数は、例えば次式(1)である。また、識別器16の損失関数は、例えば次式(2)である。
【0056】
【数1】
【0057】
【数2】
【0058】
なお、式(1)、(2)において、p(x,y)は(x,y)の同時分布であり、p(z,y)は(z,y)の同時分布である。また、zは、ランダムなノイズベクトルである。
【0059】
また、分類器20の損失関数は、次式(3)の負の対数尤度である。
【0060】
【数3】
【0061】
式(3)において、E(二重線文字)(z、y)~p(z、y)[・]、E(二重線文字)(x、y)~p(x、y)[・]は、[・]の期待値を意味する。C(x)は、分類器20から得られたロジットベクトルのy番目の要素である。この損失関数の式(3)の考え方は、分類損失を最小化できる文字画像を出力するように生成器14を学習させたい、すなわち、生成された文字画像が分類器20(C)によってより認識されやすくなることである。
【0062】
ここで、比較例として従来技術のFGSM(Fast Gradient Sign Method)(例えば参考文献4参照)について説明する。FGSMは、敵対的な例x’を生成するために、攻撃対象のモデルに関する勾配∇θJ(θ,x,y)を用いる。ここで、θは対象モデルのパラメータ、J(θ,x,y)はモデル学習のための損失関数を表す。
具体的には、FGSMによってxから生成される敵対例x’は、次式(4)のように表される。
【0063】
【数4】
【0064】
式(4)の右辺の第2項は敵対的摂動であり、εは摂動の振幅を制御する。摂動された例x’はxより大きな損失値を与えると予想さる。したがってx’は、敵対的な例として振る舞うことができる。
【0065】
参考文献4;Ian J. Goodfellow, Jonathon Shlens, et al., “EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES”, In: Proceedings of the 3rd International Conference on Learning Representations (ICLR) 2015, 2015
【0066】
比較例では、式(4)のFGSMを繰り返すことで、敵対的な例を生成することができる。
これに対して、本実施形態では、式(3)の意味合いが式(4)による攻撃動作とは逆の動作であるため、生成された画像はより防御力が高くなる。
【0067】
[処理手順]
まず、本実施形態で行う処理手順の概要について説明する。図3は、本実施形態で行う処理手順の概要のフローチャートである。
(ステップS1)画像生成装置1は、学習用画像と遜色ない品質の画像を生成するモデルを学習するための識別学習を行う。
(ステップS2)画像生成装置1は、敵対的攻撃に対して頑健な画像を生成するモデルを学習するための分類学習を行う。
(ステップS3)画像生成装置1は、学習された画像生成モデルを用いて画像を生成する。
【0068】
(識別学習処理)
図4は、本実施形態の識別学習の処理手順例のフローチャートである。
(ステップS11)学習部12は、学習データ準備処理を行う。
(ステップS12)生成器入力作成13は、生成器入力作成処理を行う。
(ステップS13)生成器14は、画像生成処理を行う。
(ステップS14)識別器16は、生成画像に対して、画像識別処理を行う。
(ステップS15)識別損失計算部17は、画像識別処理の結果に基づいて、識別損失の計算と生成損失の計算を行う。
(ステップS16)生成器係数更新部18は、生成損失に基づいて、生成器係数更新処理を行う。
(ステップS17)識別器係数更新部19は、識別損失に基づいて、識別器係数更新処理を行う。処理後、画像生成装置1は、ステップS12の処理に戻す。
【0069】
(分類学習処理)
図5は、本実施形態の分類学習の処理手順例のフローチャートである。
(ステップS21)生成器入力作成13は、生成器入力作成処理を行う。
(ステップS22)生成器14は、画像生成処理を行う。
(ステップS23)分類器20は、画像分類処理を行う。
(ステップS24)分類損失計算部21は、分類損失計算処理を行う。
(ステップS25)生成器係数更新部18は、生成器係数更新処理を行う。処理後、画像生成装置1は、ステップS21の処理に戻す。
【0070】
(画像生成処理)
図6は、本実施形態の画像生成の処理手順例のフローチャートである。
(ステップS31)生成器入力作成13は、生成器入力作成処理を行う。
(ステップS32)生成器14は、画像生成処理を行う。
(ステップS33)出力部23は、生成された生成画像を外部装置に出力する。
【0071】
[評価]
次に、上述した画像生成装置1について、評価を行った結果を説明する。
評価では、Google(登録商標) Fonts(https://fonts.google.com)に含まれる3000強のフォントの英大文字バイナリ画像(64×64ピクセル)を収集し、それらを学習用3万枚、検証用4千枚、テスト用3万枚に分割した。また、評価では、文字種(A,B,…,Z)をクラスラベルとして用い、条件付き敵対的生成ネットワークに基づく画像生成における条件として用いた。
【0072】
敵対的攻撃に対する頑健性を評価するために、評価では、defensibilityという尺度を定義して用いた。このdefensibilityは、Fast Gradient Sign Method(例えば参考文献4参照)と呼ばれる敵対的攻撃手法を用いる。より具体的には、攻撃後の画像を入力した際の分類器の予測クラスが正解クラス以外となるまで対象の画像に繰り返し攻撃を実行し、その繰り返し回数をdefensibilityと定義する。評価では、このdefensibilityの値が大きいほど、対象の画像が敵対的攻撃に対して頑健であることになる。なお、定義上、分類器20の予測クラスが正解クラスと一致しない画像については、あらかじめ評価対象から外しておく必要がある。
【0073】
図7、8は、各クラス(文字)における実画像(original)と生成画像(generated)のdefensibilityの分布を示す図である。図7、8において、符号g101~g126のヒストグラムは、各文字について、1,000枚の元画像(符号g131)と1,000枚の生成画像(符号g132)の防御力のヒストグラムと、ヒストグラムの下段の画像は防御力上位8枚の生成画像である。また、符号g140のヒストグラムは、26文字のdefensibilityの値(k)とサンプル数(個)それぞれの総数のヒストグラムである。符号g101~126、符号g140のヒストグラムにおいて、符号g130のように、横軸はdefensibilityの値(k)、縦軸はサンプル数(個)である。なお、defensibilityの値(k)は、一般的な反復攻撃アルゴリズムの一つであるPGD(Projected Gradient Descent)(例えば参考文献5参照)の簡易版で原画または生成画像を攻撃してカウントした。
【0074】
図7、8のように、本実施形態によれば、ほぼすべてのクラス(文字)においてdefensibilityが実画像よりも大きい画像を生成できていることがわかる。また、本実施形態によれば、生成画像のdefensibilityの最頻値が実画像と近いクラスにおいても、分散がより小さくなり、defensibilityが小さな画像が大きく減少していることがわかる。
【0075】
参考文献5;Aleksamder Madry, Aleksandar, et al., “Towards deep learning models resistant to adversarial attacks”, In: Proceedings of the 6th International Conference on Learning Representations (ICLR), 2018
【0076】
以上のように、本実施形態では、識別学習処理と分類学習処理の二段階学習を行うようにした。すなわち、本実施形態では、識別学習処理で自然な画像を生成できる画像生成モデルを学習し、その後に分類学習処理により敵対的攻撃に対して頑健な画像を生成できる画像生成モデルを学習するようにした。
【0077】
これにより、本実施形態によれば、自然でありながら敵対的攻撃に対して頑健な画像を生成できる。
【0078】
以上のように、本実施形態では、上記処理に加えて、画像分類処理と分類損失計算処理を行うようにした。すなわち、本実施形態では、後段の分類学習処理で、生成画像であるか否かを見分ける識別器16ではなく、画像のクラスラベルを予測する分類器20を学習して用いるようにした。
【0079】
本実施形態によれば、識別学習処理と分類学習処理の二段階学習により、自然でありながら敵対的攻撃に対して頑健な画像を生成できる。
また、本実施形態によれば、画像分類処理と分類損失計算処理により、生成画像が正解ではないラベルに分類される可能性を減らし、結果的に敵対的攻撃に対して頑健な画像を生成することが可能となる。
また、本実施形態では、式(3)の意味合いが式(4)による攻撃動作とは逆の動作であるため、生成された画像はより防御力が高くなる。
【0080】
また、本実施形態によれば、従来技術とは異なり、敵対的攻撃に対して頑健な画像を生成することにより、敵対的攻撃に対しての防御力を強化することができる。
例えば、文字画像を考えると、敵対的攻撃に対して頑健な画像はすなわち、敵対的攻撃を受けても他の文字種に誤って分類される可能性が低い「文字デザイン」を提案することにつながり、人工知能時代の新しい文字デザインとして重要である。このため、本実施形態の手法で文字画像を生成することで、上記を実現できる。
【0081】
(変形例)
本実施形態では、文字列の例として、アルファベットの大文字を例に説明したが、これに限られない。本実施形態の手法は例えば、アルファベットの小文字、ギリシャ文字等、他の文字にも適用可能である。
【0082】
上述した例では、生成画像例として文字画像を例に説明したが、これに限らない。他の画像、例えば、模様、デザイン画像等にも、本実施形態の手法は適用可能である。
【0083】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【0084】
画像生成装置、画像識別装置、画像分類装置、画像生成方法、画像識別方法、および画像分類方法等に適用可能である。
【符号の説明】
【0085】
1…画像生成装置、11…取得部、12…学習部、13…生成器入力作成部、14…生成器、16…識別器、17…識別損失計算部、18…生成器係数更新部、19…識別器係数分類部、20…分類器、21…分類損失計算部、22…記憶部、23…出力部
図1
図2
図3
図4
図5
図6
図7
図8