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

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

▶ テクマトリックス株式会社の特許一覧

特開2023-774改ざん判定方法、改ざん判定プログラム及び改ざん判定装置
<>
  • 特開-改ざん判定方法、改ざん判定プログラム及び改ざん判定装置 図1
  • 特開-改ざん判定方法、改ざん判定プログラム及び改ざん判定装置 図2
  • 特開-改ざん判定方法、改ざん判定プログラム及び改ざん判定装置 図3
  • 特開-改ざん判定方法、改ざん判定プログラム及び改ざん判定装置 図4
  • 特開-改ざん判定方法、改ざん判定プログラム及び改ざん判定装置 図5
  • 特開-改ざん判定方法、改ざん判定プログラム及び改ざん判定装置 図6
  • 特開-改ざん判定方法、改ざん判定プログラム及び改ざん判定装置 図7
  • 特開-改ざん判定方法、改ざん判定プログラム及び改ざん判定装置 図8
  • 特開-改ざん判定方法、改ざん判定プログラム及び改ざん判定装置 図9
  • 特開-改ざん判定方法、改ざん判定プログラム及び改ざん判定装置 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023000774
(43)【公開日】2023-01-04
(54)【発明の名称】改ざん判定方法、改ざん判定プログラム及び改ざん判定装置
(51)【国際特許分類】
   G06N 3/02 20060101AFI20221222BHJP
【FI】
G06N3/02
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021101781
(22)【出願日】2021-06-18
(71)【出願人】
【識別番号】399056820
【氏名又は名称】テクマトリックス株式会社
(74)【代理人】
【識別番号】100114306
【弁理士】
【氏名又は名称】中辻 史郎
(72)【発明者】
【氏名】西田啓一
(72)【発明者】
【氏名】中島裕生
(57)【要約】
【課題】学習済モデルに入力される判別対象データが、人の目では判別不能なわずかなノイズを加えられた改ざんデータであるか否かを効率良く判定することが課題。
【解決手段】画像認識装置10の改ざん判定部40は、学習済モデル20の各隠れ層の出力から、層出力値データを収集し、隣り合う隠れ層にノードの活性化がどのように伝播するかの確率(層間伝達値)を算出する。そして、各隠れ層の層出力値データと層間伝達値データに基づいて、原入力データを入力した場合の統合値データの確率密度と、原入力データの統合値データの一部を、判定をおこなうための判定画像データを入力した場合の統合値データで置き換えた判定用の統合値データの確率密度の比を算出して、その算出値が一定の閾値(例えば20)を越えたならば、入力された判定画像データは改ざんが施されていると判定する。
【選択図】図1
【特許請求の範囲】
【請求項1】
複数のレイヤを有する機械学習モデルに対して原入力データを用いた教師有り学習を行って学習済モデルを生成し、生成した学習済モデルに判定対象データを入力して該学習済モデルから出力された出力結果に基づいて前記判定対象データの判定処理を行う判定装置における改ざん判定方法であって、
前記原入力データを前記学習済モデルに入力した場合に、各レイヤから出力されたデータに基づいて第1の統合値データを生成する第1の生成工程と、
前記判定対象データを前記学習済モデルに入力した場合に、各レイヤから出力されたデータに基づいて第2の統合値データを生成する第2の生成工程と、
前記第1の統合値データ及び前記第2の統合値データに基づいて、前記判定対象データの改ざんの有無を判定する判定工程と
を含むことを特徴とする改ざん判定方法。
【請求項2】
前記第1の生成工程は、
前記原入力データを前記学習済モデルに入力した場合に、各レイヤから出力された第1の層出力値データを取得する第1の取得工程と、
前記第1の層出力値データに基づいて、前記原入力データに係る第1の層間伝達値データを算出する第1の算出工程と、
前記第1の層出力値データ及び前記第1の層間伝達値データに基づいて、前記原入力データに係る第1の統合値データを算出する第2の算出工程と
を含むことを特徴とする請求項1に記載の改ざん判定方法。
【請求項3】
前記第2の生成工程は、
前記判定対象データを前記学習済モデルに入力した場合に、各レイヤから出力された第2の層出力値データを取得する第2の取得工程と、
前記第2の層出力値データに基づいて、前記判定対象データに係る第2の層間伝達値データを算出する第3の算出工程と、
前記第2の層出力値データ及び前記第2の層間伝達値データに基づいて、前記原入力データに係る第2の統合値データを算出する第4の算出工程と
を含むことを特徴とする請求項1又は2に記載の改ざん判定方法。
【請求項4】
前記第1の算出工程又は前記第3の算出工程は、パーセプトロンを用いた学習済モデルを用いて算出することを特徴とする請求項2又は3に記載の改ざん判定方法。
【請求項5】
前記第1の算出工程又は前記第3の算出工程は、畳み込みニューラルネットワークを用いた学習済モデルを用いて算出することを特徴とする請求項2又は3に記載の改ざん判定方法。
【請求項6】
複数のレイヤを有する機械学習モデルに対して原入力データを用いた教師有り学習を行って学習済モデルを生成し、生成した学習済モデルに判定対象データを入力して該学習済モデルから出力された出力結果に基づいて前記判定対象データの判定処理を行う判定装置における改ざん判定プログラムであって、
前記原入力データを前記学習済モデルに入力した場合に、各レイヤから出力されたデータに基づいて第1の統合値データを生成する第1の生成手順と、
前記判定対象データを前記学習済モデルに入力した場合に、各レイヤから出力されたデータに基づいて第2の統合値データを生成する第2の生成手順と、
前記第1の統合値データ及び前記第2の統合値データに基づいて、前記判定対象データの改ざんの有無を判定する判定手順と
をコンピュータに実行させることを特徴とする改ざん判定プログラム。
【請求項7】
複数のレイヤを有する機械学習モデルに対して原入力データを用いた教師有り学習を行って学習済モデルを生成し、生成した学習済モデルに判定対象データを入力して該学習済モデルから出力された出力結果に基づいて前記判定対象データの判定処理を行う判定装置における改ざん判定装置であって、
前記原入力データを前記学習済モデルに入力した場合に、各レイヤから出力されたデータに基づいて第1の統合値データを生成する第1の生成手段と、
前記判定対象データを前記学習済モデルに入力した場合に、各レイヤから出力されたデータに基づいて第2の統合値データを生成する第2の生成手段と、
前記第1の統合値データ及び前記第2の統合値データに基づいて、前記判定対象データの改ざんの有無を判定する判定手段と
を備えたことを特徴とする改ざん判定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習済モデルに入力される判定対象データが、人の目では判定不能なわずかなノイズを加えられた改ざんデータであるか否かを効率良く判定することができる改ざん判定方法、改ざん判定プログラム及び改ざん判定装置に関する。
【背景技術】
【0002】
従来、教師データを用いた教師有り学習を行って学習済モデルを生成しておき、判定対象データを学習済モデルに入力することにより、該判定対象データの種別を判定する技術が知られている。ここで、判定対象データに人間の目では判定不能なわずかなノイズを加えた改ざんデータを生成し、この改ざんデータを学習済モデルに入力させることにより、判定対象データの種別を誤判定させる不正が知られている。なお、このような人間の目では判定不能なわずかなノイズを加える不正は、「Adversarial Examples」と呼ばれている。
【0003】
かかる不正の防止に関連して、特許文献1には、CNN(Convolutional Neural Network)モデルを適用する認識システムにおいて、入力データに対するCNNモデルの出力結果と、入力データにノイズを印加した改ざんデータに対するCNNモデルの出力結果との比較結果に基づいて、入力データに対するCNNモデルの信頼性を判定する技術が開示されている。
【0004】
また、非特許文献1には、原入力データ(学習済モデルを作成する際に使用された入力データ)に施された、人の目では判定不能なわずかなノイズを加えた改ざんの有無を判定する技術が開示されている。具体的には、学習済モデルの各レイヤから出力されるデータをVI(Value Invariant)として収集する。さらにレイヤごとに導出モデルを作成して、レイヤの出力を2値の確率に変換したPI(Provenance Invariant)を作成して収集する。そして、全てのVI、PIを合成してNIC(Neural Network Invariant Checking)とし、NICで原入力データから生成されたNICを1クラス分類(正常データとAdversarial Example)を行い、結果を1クラス分類モデルとして保存する。判定対象となる入力データも同様にVI、PI、NICを計算して1クラス分類モデルに投入して判定を行う技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2020-154386号公報
【非特許文献】
【0006】
【非特許文献1】NIC: Detecting Adversarial Samples with Neural Network Invariant Checking: https://www.ndss-symposium.org/wp-content/uploads/2019/02/ndss2019_03A-4_Ma_paper.pdf
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1のものは、入力データと、該入力データにノイズを加えた改ざんデータの両方を用いてCNNモデルの信頼性を判定するものであり、入力データと改ざんデータの両方が必要となる。言い換えると、学習済モデルに入力される入力データそのものに改ざんが行われているか否かを判定する技術ではない。このため、この特許文献1を用いたとしても、入力データを学習済モデルに投入した場合に、この入力データが意図的にノイズを付加された改ざんデータであるか否かを判定することができない。
【0008】
また、非特許文献1のものは、PIを計算する際に必要となるレイヤからの導出モデルの作成方法の詳細と扱い方が開示されておらず、NIC合成を行う際の具体的な計算手順も開示されていない。また、1クラス分類を行う場合に、RBFカーネルのγパラメータの最適値を決定することが困難であるため、実用上の判定機として使用することが難しいという問題がある。
【0009】
これらのことから、学習済モデルに入力される入力データが、人の目では判定不能なわずかなノイズを加えられた改ざんデータであるか否かをいかに効率良く判定するかが重要な課題となっている。
【0010】
本発明は、上述した従来技術による問題点(課題)を解決するためになされたものであって、学習済モデルに入力される判定対象データが、人の目では判定不能なわずかなノイズを加えられた改ざんデータであるか否かを効率良く判定することができる改ざん判定方法、改ざん判定プログラム及び改ざん判定装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
上述した課題を解決し、目的を達成するため、本発明は、複数のレイヤを有する機械学習モデルに対して原入力データを用いた教師有り学習を行って学習済モデルを生成し、生成した学習済モデルに判定対象データを入力して該学習済モデルから出力された出力結果に基づいて前記判定対象データの判定処理を行う判定装置における改ざん判定方法であって、前記原入力データを前記学習済モデルに入力した場合に、各レイヤから出力されたデータに基づいて第1の統合値データを生成する第1の生成工程と、前記判定対象データを前記学習済モデルに入力した場合に、各レイヤから出力されたデータに基づいて第2の統合値データを生成する第2の生成工程と、前記第1の統合値データ及び前記第2の統合値データに基づいて、前記判定対象データの改ざんの有無を判定する判定工程とを含むことを特徴とする。
【0012】
また、本発明は、上記発明において、前記第1の生成工程は、前記原入力データを前記学習済モデルに入力した場合に、各レイヤから出力された第1の層出力値データを取得する第1の取得工程と、前記第1の層出力値データに基づいて、前記原入力データに係る第1の層間伝達値データを算出する第1の算出工程と、前記第1の層出力値データ及び前記第1の層間伝達値データに基づいて、前記原入力データに係る第1の統合値データを算出する第2の算出工程とを含むことを特徴とする。
【0013】
また、本発明は、上記発明において、前記第2の生成工程は、前記判定対象データを前記学習済モデルに入力した場合に、各レイヤから出力された第2の層出力値データを取得する第2の取得工程と、前記第2の層出力値データに基づいて、前記判定対象データに係る第2の層間伝達値データを算出する第3の算出工程と、前記第2の層出力値データ及び前記第2の層間伝達値データに基づいて、前記原入力データに係る第2の統合値データを算出する第4の算出工程とを含むことを特徴とする。
【0014】
また、本発明は、上記発明において、前記第1の算出工程又は前記第3の算出工程は、パーセプトロンを用いた学習済モデルを用いて算出することを特徴とする。
【0015】
また、本発明は、上記発明において、前記第1の算出工程又は前記第3の算出工程は、畳み込みニューラルネットワークを用いた学習済モデルを用いて算出することを特徴とする。
【0016】
また、本発明は、複数のレイヤを有する機械学習モデルに対して原入力データを用いた教師有り学習を行って学習済モデルを生成し、生成した学習済モデルに判定対象データを入力して該学習済モデルから出力された出力結果に基づいて前記判定対象データの判定処理を行う判定装置における改ざん判定プログラムであって、前記原入力データを前記学習済モデルに入力した場合に、各レイヤから出力されたデータに基づいて第1の統合値データを生成する第1の生成手順と、前記判定対象データを前記学習済モデルに入力した場合に、各レイヤから出力されたデータに基づいて第2の統合値データを生成する第2の生成手順と、前記第1の統合値データ及び前記第2の統合値データに基づいて、前記判定対象データの改ざんの有無を判定する判定手順とをコンピュータに実行させることを特徴とする。
【0017】
また、本発明は、複数のレイヤを有する機械学習モデルに対して原入力データを用いた教師有り学習を行って学習済モデルを生成し、生成した学習済モデルに判定対象データを入力して該学習済モデルから出力された出力結果に基づいて前記判定対象データの判定処理を行う判定装置における改ざん判定装置であって、前記原入力データを前記学習済モデルに入力した場合に、各レイヤから出力されたデータに基づいて第1の統合値データを生成する第1の生成手段と、前記判定対象データを前記学習済モデルに入力した場合に、各レイヤから出力されたデータに基づいて第2の統合値データを生成する第2の生成手段と、前記第1の統合値データ及び前記第2の統合値データに基づいて、前記判定対象データの改ざんの有無を判定する判定手段とを備えたことを特徴とする。
【発明の効果】
【0018】
本発明によれば、学習済モデルに入力される判定対象データが、人の目では判定不能なわずかなノイズを加えられた改ざんデータであるか否かを効率良く判定することができる。
【図面の簡単な説明】
【0019】
図1図1は、本実施形態に係る画像認識装置の装置構成の概要を示す図である。
図2図2は、図1に示した画像認識装置の学習済モデルの作成の一例を示す図である。
図3図3は、図2に示した学習済モデル作成時の勾配降下法の概要を示す図である。
図4図4は、図2に示した学習済モデル作成時の誤差逆伝播法の概要を示す図である。
図5図5は、図1に示した画像認識装置の改ざん判定部の概要を示す図である。
図6図6は、図1に示した画像認識装置の機能構成を示す機能ブロック図である。
図7図7は、図1に示した画像認識装置の認識処理部の概要を示す図である。
図8図8は、図1に示した画像認識装置の改ざん判定部の処理手順を示すフローチャート(その1)である。
図9図9は、図1に示した画像認識装置の改ざん判定部の処理手順を示すフローチャート(その2)である。
図10図10は、図1に示した画像認識装置の改ざん判定部の画像識別番号と確率密度比の値の関係を示した図である。
【発明を実施するための形態】
【0020】
以下に、本発明に係る改ざん判定方法、改ざん判定プログラム及び改ざん判定装置の実施形態を図面に基づいて詳細に説明する。なお、以下に示す実施形態では、本発明に係る改ざん判定方法を画像認識装置に適用した場合について説明する。
【0021】
<本実施形態に係る画像認識装置の概要>
本実施形態に係る画像認識装置の概要について図1を用いて説明する。図1は、実施形態に係る画像認識装置10の概要を説明するための説明図である。この画像認識装置10は、入力画像に対して意図的にノイズを付加した改ざん画像であるか否かを判定することができる装置である。
【0022】
従来、判定対象データの種別を判定する場合に、あらかじめ教師データを用いた教師有り学習を行って学習済モデルを生成しておき、判定対象データを学習済モデルに入力することにより、該判定対象データの種別を判定する。例えば、猫、犬、馬及び牛の教師データを用いて教師有り学習を行った学習済モデルに、判定対象データとして別の猫の画像を入力すると、判定対象データの種別を猫と判定する。
【0023】
しかしながら、判定対象データに人間の目では判定不能なわずかなノイズを加えた改ざんデータを生成し、この改ざんデータを学習済モデルに入力することにより、判定対象データの種別を誤判定させる不正が知られている。例えば、人間の目では猫の画像に見えても、この画像にわずかなノイズを加えることにより、画像認識装置10は、猫と判定すべきところを犬と誤判定してしまう。
【0024】
このため、本実施形態に係る画像認識装置10では、原入力データで学習したニューラルネットワークを学習済モデル20として用意し、判定画像データを画像認識装置10に入力する。そして、学習済モデル20からの出力は、認識部30に入力され認識確率の高い認識物を認識結果として出力する。また、学習済モデル20の複数ある隠れ層の各層の出力を改ざん判定部40に入力し、各層の出力に基づいて、入力した判定画像データがノイズを加えられた画像か否かを判定する。
【0025】
具体的には、図1に示すように、画像認識装置10は、学習済モデル20と、認識部30と、改ざん判定部40とで構成される。学習済モデル20は、原入力データを用いて学習したニューラルネットワークであり、入出力層の他に複数の隠れ層(例えば3層の隠れ層)から構成されている。認識部30は、判定を行うための判定画像データを学習済モデル20に入力された場合に、学習済モデル20の出力である複数の認識物の認識確率から、閾値を超える認識物を特定する。
【0026】
例えば、認識部30の認識の閾値を80%以上とし、学習済モデル20の出力が、猫の確率:85%、犬の確率:5%、馬の確率:8%、牛の確率:2%とすると、猫の確率が85%と閾値を超えているので、入力された判定画像データは、猫の画像であると認識する。改ざん判定部40は、学習済モデル20の各隠れ層の出力から、層出力値(以下、「LV:Layer output Value」と言う)データを収集し、各隠れ層のノードの活性化の分布状態と、隣り合う隠れ層にノードの活性化がどのように伝播するかに基づいて、入力データの正常である確率(層間伝達値)(以降、「LLV:Between Layer to Layer drove Value」と言う)を算出する。そして、改ざん判定部40は、各隠れ層のLVデータとLLVデータに基づいて、学習済モデルのネットワーク全体の状態(統合値)(以降、「JV:Joint Value」と言う)を算出し、原入力データを入力した場合のネットワークのJVデータと、判定をおこなうための判定画像データを入力した場合のネットワークのJVデータに基づいて、確率密度比を算出して、その算出値が一定の閾値(例えば20)を越えたならば、入力された判定画像データは改ざんが施されていると判定する。
【0027】
<学習済モデルについて>
本実施形態では、学習済モデルを生成するに際して、一例として全結合型ニューラルネットワークを利用する。この全結合型ニューラルネットワークに対して原入力データを入力して教師有り学習を行わせることにより、学習済モデル生成する。全結合型ニューラルネットワーク及び深層学習については、周知技術であるため、ここではその詳細な説明を省略するが、ここでは教師有り学習の概要について説明する。
【0028】
図2は、全結合型ニューラルネットワークの一例を示す。図2に示すように該全結合型ニューラルネットワークは、入力層と、3つの隠れ層及び出力層とを有する。また、該全結合型ニューラルネットワークは、入力層に5つ、出力層に4つのノードが有り、4分類を認識する。wは、各ノード間の結合強度を表わす重みである。
【0029】
学習は、4分類問題を解くために全結合型ニューラルネットワークをチューニングするステップで、チューニングのために原入力データを用いる。原入力データは、4分類を行うための4種類の認識を行う複数の画像とそのそれぞれの画像に対する正解値のセットで構成されている。全結合型ニューラルネットワークの学習においてチューニングの対象になるパラメータは、ノード間の結合強度を表わす重みwである。
【0030】
学習は、原入力データに対するニューラルネットワークの出力値と正解値の誤差が小さくなるように重みをチューニングすることである。重みをチューニングするためには、誤差を数値で表現する必要があるため、ニューラルネットワークの出力値と正解値で計算される誤差関数を定義する。誤差関数には、いくつかの種類が存在するが、ここでは、誤差関数として分類問題に良く利用されるクロスエントロピー関数を使用する。
【0031】
図2に示すクロスエントロピーの式の場合だと、誤差関数E(w)が最小になるような各層の重みを求めればよい。しかしながら、yk(w)は、かなり複雑な式となり解析的に求めることは難しいので、一般的には、E(w)を最小にするような重みwの近似値を求めるという手法を用いる。この近似値を求める際に用いられる手法が、勾配降下法及び誤算逆伝播法(バックプロパゲーション)である。
【0032】
図3は、勾配降下法の概要を説明する図である。図3に示すように、勾配降下法では、まず、重みwの初期値を与え、その初期値における誤差関数の勾配を求め、その勾配が正の場合は、重みwを小さくするように更新し、その勾配が負の場合は、重みwを大きくするように値の更新を行う。図3では、初期値を入れて計算した誤差関数の傾きが正であるため、重みwを小さくして更新している。
【0033】
そして、更新された重みwを用いて誤差関数の傾きを計算すると、傾きは負であるため、重みwを大きくして2回目の更新を行う。この更新作業を繰り返すことにより、重みwを目標に近づける。勾配降下法を用いる場合には、勾配情報が必要となるが、この勾配を求める手法に誤差逆伝播法がある。
【0034】
図4は、誤差逆伝播法の概要を説明する図である。図4に示すように、出力層に近い層の勾配を算出し、順次入力側の勾配を求める手法である。図4では、3層目の勾配情報をδE/δw3として算出し、次に、2層目の勾配情報をδE/δw2、1層目の勾配情報をδE/δw1として算出している。学習済モデルを作成するためには、1分類につき10000程度の画像を入力し学習させる必要がある。
【0035】
<改ざん判定部の概要>
次に、図1に示した画像認識装置10の改ざん判定部40の処理の概要について説明する。図5は、図1に示した画像認識装置10の改ざん判定部40の処理概要を説明するための図である。図5に示すように、画像認識装置10は、原入力データを用いて学習済モデルを作成する(S1)。
【0036】
そして、改ざん判定部40は、画像認識装置10の学習済モデルに、学習時に使用した原入力データが入力されたならば(S2)、各隠れ層のそれぞれの出力データを収集し、原入力データの各隠れ層におけるLVを取得し、それぞれ第1の隠れ層(以降「L1」と言う)のLV(LVL1)、第2の隠れ層(以降、「L2」と言う)のLV(LVL2)、第3の隠れ層(以降、「L3」と言う)のLV(LVL3)として記憶する(S3)。次に、改ざん判定部40は、学習済モデル20の原入力データ入力時の各隠れ層からの出力を収集し、隣り合う隠れ層の出力値の組(LVL1、LVL2)、(LVL2、LVL3)及び(LVL3、LVL3)のデータを作成する。そして該データを多層パーセプトロンで学習させ、確率モデルを算出する。
【0037】
該確率モデルに原入力データを入力し、原入力データが正常か否かの確率配列の組データを算出し、原入力データのLLV(LLVL1,LLVL2、LLVL3)として記憶する(S4)。次に、改ざん判定部40は、記憶されたLVL1、LVL2、LVL3及びLLVL1、LLVL2、LLVL3より{(LVL1、LLVL1)(LVL2、LLVL2)(LVL3、LLVL3)}の組データを作成する。そして、該組データの各要素の和を取り、原入力データのJVを算出する(S5)。そして算出された原入力データのJVを記憶する。
【0038】
次に、改ざん判定部40は、画像認識装置10の学習済モデルに判定対象データが入力されたならば(S6)、各隠れ層のそれぞれの出力データを収集し、判定対象データの各隠れ層におけるLVを取得し、それぞれ判定対象データのL1のLV(LV'L1)、判定対象データのL2のLV(LV'L2)、判定対象データのL3のLV(LV'L3)として記憶する(S7)。次に、改ざん判定部40は、学習済モデル20の判定対象データ入力時の各隠れ層からの出力を収集し、隣り合う隠れ層の出力値の組(LV'L1,LV'L2)、(LV'L2,LV'L3)及び(LV'L3,LV'L3)のデータを作成する。そして該データをS4で作成した確率モデルに入力し、判定対象データが正常か否かの確率配列の組データLLVをLLV'L1、LLV'L2、LLV'L3として記憶する(S8)。
【0039】
次に、改ざん判定部40は、記憶されたLV'L1、LV'L2、LV'L3及びLLV'L1、LLV'L2、LLV'L3より{(LV'L1,LLV'L1)(LV'L2,LLV'L2)(LV'L3,LLV'L3)}の組データを作成する。そして、該組データの各要素の和を取り、判定対象データのJVを算出する(S9)。そして算出された判定対象データのJVを記憶する。
【0040】
次に、改ざん判定部40は、記憶された原入力データのJVの一部を判定対象データのJVのデータに入れ替えて判定用のJVを算出し(S10)、記憶する。そして、改ざん判定部40は、原入力データのJVから生成された確率分布をp、判定用のJVから生成された確率分布をp'、原入力データのJVをxとして、この2つの確率分布の比(確率密度比)r(x)=p(x)/p'(x)を算出する。このr(x)が閾値(例えば20)を越えたならば、入れ替えを行ったデータを生成した判定画像データはノイズが加えられた改ざん画像であると判定する(S11)。
【0041】
<画像認識装置10の構成>
次に、図1に示した画像認識装置10の構成について説明する。図6は、図1に示した画像認識装置10の構成を示す機能ブロック図である。図6に示すように、画像認識装置10は、表示部11と、操作部12と、通信I/F部13と、記憶部14と、制御部15とを有する。
【0042】
表示部11は、液晶パネル又はディスプレイ装置などの表示デバイスであり、操作部12は、キーボードやマウスなどの入力デバイスである。通信I/F部13は、他の装置と通信を行うためのインターフェース部である。
【0043】
記憶部14は、不揮発性メモリ又はハードディスク装置などの記憶デバイスであり、原入力データ14a、学習済モデル14b、原入力LVデータ14c、原入力LLVデータ14d、原入力JVデータ14e、判定対象データ14f、判定対象LVデータ14g、判定対象LLVデータ14h、判定対象JVデータ14j及び判定用JVデータ14kを記憶する。
【0044】
制御部15は、画像認識装置10の全体を制御する制御部であり、認識処理部15a、LV取得部15b、LLV算出部15c、JV算出部15d、確率密度比推定部15e及び判定部15fを有する。実際には、これらプログラムをCPUにロードして実行することにより、認識処理部15a、LV取得部15b、LLV算出部15c、JV算出部15d、確率密度比推定部15e及び判定部15fにそれぞれ対応するプロセスを実行させることになる。
【0045】
認識処理部15aは、学習済モデル20から出力される複数の分類確率に基づいて、入力画像がどの分類に属するのかを認識する処理部である。具体的には図7に示すように、判定対象データ14fの画像を学習済モデルに入力したならば、この学習済モデルから例えば4種類の分類確率Pi(i=1~4)が出力される。そして、認識処理部15aは、分類確率Piが所定値(例えば「0.8」)より大きい値であるならば、その分類確率に属する分類を認識結果として出力する。
【0046】
LV取得部15bは、学習済モデル20の各隠れ層(L1,L2,L3)の出力を収集し、LVデータの生成処理を行う。LLV算出部15cは、学習済モデル20の各隠れ層(L1,L2,L3)の出力を収集し、隣り合う隠れ層の出力を対としたデータ(LVL1,LVL2)(LVL2,LVL3)(LVL3、LVL3)を生成し、このデータを用いて多層パーセプトロンを学習させ、確率モデルPL1、PL2、PL3を算出する。そして画像データを確率モデルPL1、PL2、PL3に入力し、その出力を入力した画像データのLLVL1,LLVL2、LLVL3として記憶する処理を行う。
【0047】
JV算出部15dは、取得済のLVデータ及び算出済のLLVデータからJVを算出する処理を行う。確率密度比推定部15eは、原入力データ14aから生成された原入力JVデータ14eの確率分布と判定用JVデータ14kの確率分布の比を求める処理を行う。判定部15fは、確率密度比推定部15eの出力が所定の閾値(例えば20)を越えているか否かを判定し、越えている場合は、改ざん画像の判定を出力する。
【0048】
次に、図1の画像認識装置10の改ざん判定部40の処理手順について説明する。図8及び図9は、画像認識装置10の改ざん判定部40の処理手順を示すフローチャートである。図8及び図9に示すように、改ざん判定部40は、学習済モデル20に原入力データ14a内の1枚の画像が入力されたならば(ステップS101)、学習済モデル20の各隠れ層L1、L2、L3の出力を原入力データのLVLi(i=1~3)の配列として取得し、原入力LVデータ14cとして記憶部14に記憶する(ステップS102)。
【0049】
原入力データ14aが最後のデータでない場合は(ステップS103;No)、ステップS101に戻り、原入力データ14a内の次の画像を学習済モデル20に入力し、原入力データのLVの取得、記憶の工程を繰り返す。改ざん判定部40は、学習済モデル20に入力された原入力データ14aが最後のデータである場合は(ステップS103;Yes)、取得された原入力LVデータ14cから隣り合う隠れ層のLVデータの組{(LVL1,LVL2)(LVL2,LVL3)(LVL3,LVL3)}を生成し、このデータの組を入力データとして各隠れ層の確率モデルPLi(i=1~3)を算出する(ステップS104)。確率モデルPLiは、多層パーセプトロンを用いた確率モデルである。
【0050】
確率モデルPLiは、具体的には、例えば入力層、隠れ層2、出力層の4層構成の多層パーセプトロンで、入力層は、学習済モデルの隠れ層Li及びLi+1の出力データを入力する。また、出力層は、2つのノードで構成され、判定対象データが正しいか、正しくないかの確率を示す。学習は、原入力データを用いて、L1、L2、L3の各隠れ層の出力に対して、すべてが正しいという正解値を入れて学習させる。
【0051】
次に、算出された確率モデルPLiに、原入力データ14a内の1枚の画像を入力し各隠れ層の確率モデルの出力LLVLi(i=1~3)を原入力LLVデータ14dとして記憶部14に記憶する(ステップS105)。入力された原入力データ14aが最後の原入力データ14aでない場合は、(ステップS106;No)、ステップS105に戻り、原入力データ14a内の次の画像を確率モデルPLiに入力し、LLVLiの算出工程を繰り返す。改ざん判定部40は、確率モデルPLiに入力された原入力データ14aが最後のデータである場合は(ステップS106;Yes)、記憶した原入力LVデータ14cと原入力LLVデータ14dから{(LVL1,LLVL1)(LVL2,LLVL2)(LVL3,LLVL3)}の組を生成する。そして、各要素の和を取り、原入力JVデータ14eとして記憶部14に記憶する(ステップS107)。
【0052】
次に、改ざん判定部40は、学習済モデル20に判定対象データ14f内の1枚の画像が入力されたならば(ステップS108)、学習済モデル20の各隠れ層L1、L2、L3の出力を判定対象データのLV'Li(i=1~3)の配列として取得し、判定対象LVデータ14gとして記憶部14に記憶する(ステップS109)。次に、改ざん判定部40は、取得された判定対象LVデータ14gから隣り合う隠れ層のLVデータの組{(LV'L1,LV'L2)(LV'L2,LV'L3)(LV'L3,LV'L3)}を生成する(S110)。そして、改ざん判定部40は、生成された隣り合う隠れ層のLVデータの組を、原入力データで作成された確率モデルPLiに入力し、その出力を判定対象LLVデータ14hとして記憶部14に記憶する(ステップS111)。
【0053】
改ざん判定部40は、判定対象データ14fが最後のデータでない場合は(ステップS112;No)、ステップS108に戻り、判定対象データ14f内の次の画像を学習済モデル20に入力し、判定対象データのLVの算出、記憶及び判定対象データのLLVの算出、記憶の工程を繰り返す。
【0054】
改ざん判定部40は、学習済モデル20に入力された判定対象データ14fが最後のデータである場合は(ステップS112;Yes)、記憶した判定対象LVデータ14gと判定対象LLVデータ14hから{(LV'L1,LLV'L1)(LV'L2,LLV'L2)(LV'L3,LLV'L3)}の組を構成する。そして、各要素の和を取り、判定対象JVデータ14jとして記憶部14に記憶する(ステップS113)。
【0055】
次に、改ざん判定部40は、記憶した原入力JVデータ14eの一部のデータを記憶した判定対象JVデータ14jのデータに入れ替えて判定用JVデータ14kを生成し、記憶部14に記憶する(ステップS114)。そして、原入力JVデータ14eの確率分布をp、判定用JVデータ14kの確率分布をp'、原入力JVデータ14eをxとした時に、この2つの比はr(x)=p(x)/p'(x)で表わすことができ、確率密度比推定法を用いてr(x)をp(x)及びp'(x)を求めることなくr(x)を直接求める。求めたr(x)が所定の値(例えば20)より大きい場合は、入力画像に改ざんがあると判定し、所定の値を超えない場合は、入力画像の改ざんがないと判定する(ステップS115)。
【0056】
なお、改ざん判定部40は、原入力JVデータ14eの一部のデータを記憶した判定対象JVデータ14jのデータに入れ替えて判定用JVデータ14kを生成しているが、入れ替えるデータ数は1つでも、複数のデータを入れ替えてもよい。
【0057】
次に、改ざん判定部40の改ざん画像の検知結果例を説明する。図10は、学習済モデル20に2800枚の原入力データ14aを入力し、その中の4枚(画像識別番号=100、500,1000、1500)にFGSM(Fast Gradient Sign Method)で改ざんを加えた画像データを入力した時の、画像識別番号と確率密度比の値の関係を示した図である。図10に示すように、改ざんが加えられた画像データ(画像識別番号=100,500、1000,1500)の確率密度比の値が30と大きくなっており、改ざん画像の検出が可能であることを示している。
【0058】
上述してきたように、本実施形態では、画像認識装置10が改ざん判定部40を具備し、改ざん判定部40は、学習済モデル20の各隠れ層の出力から、LVデータを収集し、各隠れ層のノードの活性化の分布状態と、隣り合う隠れ層にノードの活性化がどのように伝播するかのデータに基づいて、入力データの正常である確率LLVを算出する。そして、改ざん判定部40は、各隠れ層のLVデータとLLVデータに基づいて、学習済モデルのネットワーク全体の状態JVを算出し、原入力データを入力した場合のネットワークのJVデータと、判定をおこなうための判定画像データを入力した場合のネットワークのJVデータに基づいて、確率密度比を算出して、その算出値が一定の閾値(例えば20)を越えたならば、入力された判定画像データは改ざんが施されていると判定するように構成されているため、画像認識精度を落とすことなく入力画像に改ざんが加えられているか否かを判定することができる。
【0059】
なお、上記実施形態では、学習済モデル20は全結合型ニューラルネットワークを使用していたが、畳み込みニューラルネットワーク(CNN)を使用してもよい。また、LLVデータを生成するための確率モデルに多層パーセプトロンを使用していたが、畳み込みニューラルネットワークを使用してもよい。
【0060】
また、上記実施形態では、改ざん判定部40を画像認識装置10に適用した場合を説明したが、改ざん判定部40を音声認識、自然言語認識、物体認識等認識系の装置に適用してもよい。
【0061】
上記の実施形態で図示した各構成は機能概略的なものであり、必ずしも物理的に図示の構成をされていることを要しない。すなわち、各装置の分散・統合の形態は図示のものに限られず、その全部又は一部を各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【産業上の利用可能性】
【0062】
本発明に係る改ざん判定方法、改ざん判定プログラム及び改ざん判定装置は、学習済モデルに入力される判定対象画像が、人の目では判定不能なわずかなノイズを加えられた改ざんデータであるか否かを効率良く判定する場合に適している。
【符号の説明】
【0063】
10 画像認識装置
11 表示部
12 操作部
13 通信I/F部
14 記憶部
14a 原入力データ
14b 学習済モデル
14c 原入力LVデータ
14d 原入力LLVデータ
14e 源入力JVデータ
14f 判定対象データ
14g 判定対象LVデータ
14h 判定対象LLVデータ
14j 判定対象JVデータ
14k 判定用JVデータ
15 制御部
15a 認識判定部
15b LV取得部
15c LLV算出部
15d JV算出部
15e 確率密度比推定部
15f 判定部
20 学習済モデル
30 認識部
40 改ざん判定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10