JP7339219B2 - 情報処理装置、情報処理方法、及びプログラム - Google Patents
情報処理装置、情報処理方法、及びプログラム Download PDFInfo
- Publication number
- JP7339219B2 JP7339219B2 JP2020138602A JP2020138602A JP7339219B2 JP 7339219 B2 JP7339219 B2 JP 7339219B2 JP 2020138602 A JP2020138602 A JP 2020138602A JP 2020138602 A JP2020138602 A JP 2020138602A JP 7339219 B2 JP7339219 B2 JP 7339219B2
- Authority
- JP
- Japan
- Prior art keywords
- learning model
- layer
- learning
- input
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Image Analysis (AREA)
Description
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
近年、CPU(Central Processing Unit)及びGPU(Graphics Processing Unit)の高速化、メモリの大容量化、及びニューラルネットワークを用いた機械学習技術が急速に進んできている。このため、数十万から百万といったオーダーの学習データを用いる機械学習が可能となり、精度の高い認識技術や分類技術が確立されつつある。
大量の学習データに基づく機械学習を実行するためには大量の計算コストがかかる。また、大量の学習データを用意すること、及び用意した学習データを機械学習に用いるためにする前処理にも膨大な労力を要する。このため、機械学習によって生成された学習モデルは一種の知的財産とも言える。
一方で、ニューラルネットワークを用いた機械学習によって生成された学習モデルはデジタルデータであり、その複製は容易である。そのため、その知的財産を守るための一つの方法として、学習モデルの中に電子透かしを埋め込む技術がある(例えば、非特許文献1を参照)。
J. Zhang, Z. Gu, J. Jang, H. Wu, M.P. Stoechlin, H.Huang and I. Molloy, "Protecting intellectual property of deep neural networks with watermarking," Proc. ACM ASIACCS2018, pp.159-172, 2018.
上記のような透かし埋め込み技術は、特定の入力データ(トリガ)を入力すると、入力データに対応する特定の出力ラベル(透かしデータ)を出力するように学習されている。このため、例えば転移学習等の手法によって学習モデルが再学習されると、透かしデータが消去されかねない。
本発明はこれらの点に鑑みてなされたものであり、ニューラルネットワーク学習モデルが他のニューラルネットワークの学習モデルに依拠しているか否かを推定するための技術を提供することを目的とする。
本発明の第1の態様は、情報処理装置である。この装置は、複数の層から構成されるニューラルネットワークの学習モデルである第1学習モデルを取得するモデル取得部と、前記第1学習モデルの層の中から所定の順番で層を選択する層選択部と、検査用の入力データセットのデータを前記第1学習モデルに入力した場合における選択された前記層の入力層側の隣接層に入力される入力値を取得する第1取得部と、前記データを前記第1学習モデルの出力層を含む少なくとも一部を改変した学習モデルであるか否かの検査対象となる第2学習モデルに入力したとき前記第2学習モデルの出力層から出力される出力値を取得する第2取得部と、前記出力値を入力したときに前記入力値を出力する新たなニューラルネットワークの学習モデルである逆フィルタを学習する学習部と、前記逆フィルタのパラメータの変動の大小を示す情報と、前記逆フィルタの学習が収束するまでの学習回数を示す情報と、前記逆フィルタの精度を示す情報との少なくとも一つの情報に基づく評価値を算出する評価部と、前記評価値の変動を解析して、前記改変の有無を推定する推定部と、を備える。
前記学習部は、前記逆フィルタの出力層のパラメータを、選択された前記層の入力層側の隣接層に関する逆フィルタのパラメータとなるように初期化して学習してもよい。
前記学習部は、前記逆フィルタの出力層のパラメータを乱数で初期化した場合の第1学習と、選択された前記層の入力層側の隣接層に関する逆フィルタとなるように初期化した場合の第2学習と、を実行してもよく、前記推定部は、前記第1学習における前記評価値と前記第2学習における前記評価値との差の変動を解析して前記改変の有無を推定してもよい。
前記推定部は、前記評価値の変動を解析して、前記第1学習モデルのうち改変された層を推定してもよい。
前記第1学習モデルは、透かし検出用データを入力したとき当該透かし検出用データに対応する透かしデータを出力するように学習された学習モデルであってもよく、前記情報処理装置は、前記第2学習モデルの出力層の後段に前記逆フィルタを接続するとともに、前記逆フィルタの出力層に替えて前記第2学習モデルで改変された層に相当する前記第1学習モデルの改変前の層を接続した連結モデルを生成する連結モデル生成部と、前記連結モデルに前記透かし検出用データを入力して得られる出力値と、前記透かし検出用データに対応する透かしデータとの一致度を算出する改変度算出部と、をさらに備えてもよい。
前記層選択部は、前記第1学習モデルの出力層から入力層に向かって順番に層を選択してもよい。
本発明の第2の態様は、情報処理方法である。この方法において、プロセッサが、複数の層から構成されるニューラルネットワークの学習モデルである第1学習モデルを取得するステップと、前記第1学習モデルの層の中から所定の順番で層を選択するステップと、検査用の入力データセットのデータを前記第1学習モデルに入力した場合における選択された前記層の入力層側の隣接層に入力される入力値を取得するステップと、前記データを前記第1学習モデルの出力層を含む少なくとも一部を改変した学習モデルであるか否かの検査対象となる第2学習モデルに入力したとき前記第2学習モデルの出力層から出力される出力値を取得するステップと、前記出力値を入力したときに前記入力値を出力する新たなニューラルネットワークの学習モデルである逆フィルタを学習するステップと、前記逆フィルタのパラメータの変動の大小を示す情報と、前記逆フィルタの学習が収束するまでの学習回数を示す情報と、前記逆フィルタの精度を示す情報との少なくとも一つの情報に基づく評価値を算出するステップと、前記評価値の変動を解析して、前記改変の有無を推定するステップと、を実行する。
本発明の第3の態様は、プログラムである。このプログラムは、コンピュータに、複数の層から構成されるニューラルネットワークの学習モデルである第1学習モデルを取得する機能と、前記第1学習モデルの層の中から所定の順番で層を選択する機能と、検査用の入力データセットのデータを前記第1学習モデルに入力した場合における選択された前記層の入力層側の隣接層に入力される入力値を取得する機能と、前記データを前記第1学習モデルの出力層を含む少なくとも一部を改変した学習モデルであるか否かの検査対象となる第2学習モデルに入力したとき前記第2学習モデルの出力層から出力される出力値を取得する機能と、前記出力値を入力したときに前記入力値を出力する新たなニューラルネットワークの学習モデルである逆フィルタを学習する機能と、前記逆フィルタのパラメータの変動の大小を示す情報と、前記逆フィルタの学習が収束するまでの学習回数を示す情報と、前記逆フィルタの精度を示す情報との少なくとも一つの情報に基づく評価値を算出する機能と、前記評価値の変動を解析して、前記改変の有無を推定する機能と、を実現させる。
本発明の第4の態様も、情報処理装置である。この装置は、複数の層から構成されるニューラルネットワークの学習モデルであってあらかじめ透かしが埋め込まれている第1学習モデルを取得するモデル取得部と、前記第1学習モデルを構成する層のうち、前記第1学習モデルの出力層を含む少なくとも一部を改変した学習モデルであるか否かの検査対象となる第2学習モデルと共通する層である共通層の指定を受け付ける共通層受付部と、検査用の入力データセットのデータを前記第1学習モデルに入力した場合における前記共通層の出力値である第1出力値を取得する第1取得部と、前記データを前記第2学習モデルに入力したとき前記第2学習モデルの出力層から出力される出力値である第2出力値を取得する第2取得部と、前記第2出力値を入力したときに前記第1出力値を出力する新たなニューラルネットワークの学習モデルである逆フィルタを学習する学習部と、前記第2学習モデルの出力層の後段に前記逆フィルタを接続するとともに、前記逆フィルタの後段に前記第1学習モデルを構成する層のうち前記共通層を除く層を接続した連結モデルを生成する連結モデル生成部と、前記連結モデルに透かし検出用データを入力して得られる出力値と、前記透かし検出用データに対応する透かしデータとの一致度を算出する改変度算出部と、を備える。
上記のプログラムを提供するため、あるいはプログラムの一部をアップデートするために、このプログラムを記録したコンピュータ読み取り可能な記録媒体が提供されてもよく、また、このプログラムが通信回線で伝送されてもよい。
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、ニューラルネットワーク学習モデルが他のニューラルネットワークの学習モデルに依拠しているか否かを推定することができる。
<実施の形態の概要>
本発明の実施の形態に係る情報処理装置の概要を述べる。実施の形態に係る情報処理装置は、ニューラルネットワークの学習モデルの後段部分を構成する1又は複数の層について、その層の逆フィルタを学習する。ニューラルネットワークの学習モデルを構成する1又は複数の層の入力データをベクトルx、出力データをベクトルyとすると、1又は複数の層は、ベクトルxをベクトルyに変換する関数F(y=F(x))と抽象化することができる。実施の形態に係る情報処理装置は、1又は複数の層を変更しながらFの逆フィルタ、すなわち、x=F-1(y)を学習し、学習が収束するまでの学習回数やその収束にかかる時間、パラメータの変化量、及び学習によって得られた逆フィルタの精度等を評価する評価値を算出する。
本発明の実施の形態に係る情報処理装置の概要を述べる。実施の形態に係る情報処理装置は、ニューラルネットワークの学習モデルの後段部分を構成する1又は複数の層について、その層の逆フィルタを学習する。ニューラルネットワークの学習モデルを構成する1又は複数の層の入力データをベクトルx、出力データをベクトルyとすると、1又は複数の層は、ベクトルxをベクトルyに変換する関数F(y=F(x))と抽象化することができる。実施の形態に係る情報処理装置は、1又は複数の層を変更しながらFの逆フィルタ、すなわち、x=F-1(y)を学習し、学習が収束するまでの学習回数やその収束にかかる時間、パラメータの変化量、及び学習によって得られた逆フィルタの精度等を評価する評価値を算出する。
ここで、実施の形態に係る情報処理装置は、特定の学習モデルを構成する層のパラメータから算出した値を用いて、逆フィルタを構成する層の少なくとも一部のパラメータの初期値を設定する。本願の発明者は、汎化性能が高くならないように逆フィルタを設計しても、逆フィルタの生成を試みる学習モデルが特定の学習モデルに依拠してその学習モデルの後段部分を改変したものである場合、逆フィルタを学習できることを実験により見出した。また、汎化性能が高くならないように逆フィルタを設計することにより、逆フィルタの生成を試みる学習モデルが特定の学習モデルに依拠してその学習モデルの後段部分を改変したものである場合と、特定の学習モデルと無関係な学習モデルの場合とでは、逆フィルタの学習が収束するまでの学習回数やその収束にかかる時間、学習によって変更されるモデルパラメータの変更量や学習によって得られた逆フィルタの精度等に差が出ることを実験により見出した。
そこで、実施の形態に係る情報処理装置は、1又は複数の層を変更しながら算出した評価値の変動を解析することにより、逆フィルタの生成を試みる学習モデルが特定の学習モデルに依拠したモデルか否かを推定する。
図1(a)-(e)は、実施の形態に係る情報処理装置が実行する処理の概要を説明するための図である。図1(a)は、一般的なニューラルネットワークの学習モデルである第1学習モデルMを説明するための模式図である。図1(a)に示すように、第1学習モデルMは、入力層と出力層とを含む複数の層から構成されている。既知の技術であるため詳細な説明は省略するが、第1学習モデルMは、入力Iが入力されると、入力Iに対応する何らかの出力O1を出力するように学習されている。例えば、第1学習モデルMが画像認識用の学習モデルである場合、第1学習モデルMに画像データである入力Iを入力すると、入力Iに含まれる被写体を示すラベルが出力O1として出力される。
図1(b)は、図1(a)に示す第1学習モデルMに依拠しつつ、第1学習モデルMの後段層が改変された第2学習モデルPを示す図である。具体的には、図1(b)に示す第2学習モデルPは、図1(a)に示す第1学習モデルMの後段3層が改変層P1となっており、残りの層は第1学習モデルMと共通する共通層M1である。改変層P1は第1学習モデルMの後段3層とは異なるため、第2学習モデルPに入力Iを入力しても、その出力は出力O1とは異なる出力O2となる。
このような第1学習モデルMの一部の改変は、転移学習やファインチューニングとして知られる既知の技術によって実現できる。第1学習モデルMを1から作成するために要する時間及び手間と比較して、第1学習モデルMに依拠して第2学習モデルPを作成するために要する時間及び手間は一般に非常に少ないにもかかわらず、第2学習モデルPは第1学習モデルMと同様の認識性能が得られると言われている。このため、第1学習モデルMの作成者は、作成にコストを要した第1学習モデルMが他者に盗用されることを抑制したいという要求がある。
そこで、第1学習モデルMの作成者は、第1学習モデルMの出所を明らかにするために、第1学習モデルMに電子的な透かしデータを埋め込むことがよく行われている。具体的には、複数の透かし検出用の入力Iと、透かし検出用入力データそれぞれに対応する出力Oとを用意し、第1学習モデルMが透かし検出用の入力Iに対して対応する出力Oを出力するように学習する。しかしながら、第1学習モデルMの後段層が改変されるとその出力Oも変わってしまうため、透かし検出が困難となりかねない。
第2学習モデルP自体が公開されている場合、第1学習モデルMの作成者は、第2学習モデルPを入手して前段層を解析することにより、盗用の有無を判定できる。しかしながら、第2学習モデルP自体は公開されず、例えば、入出力用のAPI(Application Programming Interface)のみが公開されているような場合、第1学習モデルMの作成者は第2学習モデルPを入手することは困難となる。そこで、実施の形態に係る情報処理装置は、第2学習モデルPの後段層の逆フィルタを学習し、その学習過程を解析することで、第2学習モデルPが第1学習モデルMに依拠して作成された学習モデルであるか否かを推定する。
図1(c)は、第1学習モデルMの後段2層の逆フィルタの学習を説明するための図である。また、図1(d)は第1学習モデルMの後段3層の逆フィルタの学習を説明するための図である。説明の便宜上、以下本明細書において、第1学習モデルMに依拠して後段層を改変した第2学習モデルPにおいて、改変した後段層と、第1学習モデルMを流用する前段層との境界面、すなわち共通層と改変層との境界面を「Z面」と呼ぶこととする。図1(b)の例では、出力層から数えて3層目と4層目との間にZ面が存在する。
図1(c)は、出力層から数えて2層目と3層目との間がZ面であると仮定した場合の例であり、仮定が正しくない場合の例である。第1学習モデルMの作成者は第1学習モデルMを所持しているため、第1学習モデルMに入力Iを入力したとき、Z面での出力m1を算出することができる。また、第1学習モデルMの作成者は、第2学習モデルPのAPIを利用して、第2学習モデルPに入力Iを入力した場合の出力O2を取得する。実施の形態に係る情報処理装置は、出力O2を入力したときに、Z面での出力m1を出力するように、逆フィルタIF1を学習によって生成する。
図1(d)は、出力層から数えて3層目と4層目との間がZ面であると仮定した場合の例であり、仮定が正しい場合の例である。図1(c)に示す例と同様に、実施の形態に係る情報処理装置は、第2学習モデルPに入力Iを入力した場合の出力O2を入力したとき、第1学習モデルMのZ面での出力m2を出力するように、逆フィルタIF2を学習によって生成する。
図1(e)は、逆フィルタIFの学習と、その学習に関する評価値との関係をグラフ形式で模式的に示す図である。図1(e)のグラフにおいて、横軸はZ面として仮定する位置を示し、縦軸はそのときの逆フィルタIFの学習及び逆フィルタIFの精度に関する評価値を示している。図1(e)のグラフは、細い実線は第2学習モデルPが第1学習モデルMに依拠していない場合の評価値の変動を示しており、太い実線は第2学習モデルPが第1学習モデルMに依拠している場合の評価値の変動を示している。
詳細は後述するが、本願の発明者は、逆フィルタIFを構成するパラメータの初期値を工夫することにより、第2学習モデルPが第1学習モデルMに依拠している場合はZ面の前後において評価値を大きく変動させることができることを実験により見出した。そのため、実施の形態に係る情報処理装置は、評価値の変動を解析することにより、第2学習モデルPが第1学習モデルMに依拠しているか否か、すなわち、第1学習モデルMの改変の有無を推定することができる。
<実施の形態に係る情報処理装置1の機能構成>
図2は、実施の形態に係る情報処理装置1の機能構成を模式的に示す図である。情報処理装置1は、記憶部2と制御部3とを備える。図2において、矢印は主なデータの流れを示しており、図2に示していないデータの流れがあってもよい。図2において、各機能ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、図2に示す機能ブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に分かれて実装されてもよい。機能ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてもよい。
図2は、実施の形態に係る情報処理装置1の機能構成を模式的に示す図である。情報処理装置1は、記憶部2と制御部3とを備える。図2において、矢印は主なデータの流れを示しており、図2に示していないデータの流れがあってもよい。図2において、各機能ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、図2に示す機能ブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に分かれて実装されてもよい。機能ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてもよい。
記憶部2は、情報処理装置1を実現するコンピュータのBIOS(Basic Input Output System)等を格納するROM(Read Only Memory)や情報処理装置1の作業領域となるRAM(Random Access Memory)、OS(Operating System)やアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDD(Hard Disk Drive)やSSD(Solid State Drive)等の大容量記憶装置である。
制御部3は、情報処理装置1のCPUやGPU等のプロセッサであり、記憶部2に記憶されたプログラムを実行することによってモデル取得部30、層選択部31、値取得部32、学習部33、評価部34、推定部35、連結モデル生成部36、及び改変度算出部37として機能する。値取得部32は、第1取得部320と第2取得部321とを含む。
なお、図2は、情報処理装置1が単一の装置で構成されている場合の例を示している。しかしながら、情報処理装置1は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部3を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
モデル取得部30は、複数の層から構成されるニューラルネットワークの学習モデルである第1学習モデルMを取得する。モデル取得部30は、あらかじめ記憶部2が第1学習モデルMを格納している場合には、第1学習モデルMを記憶部2から読み出して取得する。モデル取得部30は、インターネット等のネットワークを介して、第1学習モデルMをオンラインで取得してもよい。
層選択部31は、第1学習モデルMの層の中から所定の順番で層を選択する。例えば、層選択部31は、第1学習モデルMの出力層から入力層に向かって順番に層を選択する。あるいは、情報処理装置1は、出力層から入力層に向かって所定の数の層をランダムに選択してもよいし、出力層側の層からと入力側の層からとを交互に挟み込むように当該層を選択してもよい。
第1取得部320は、検査用の入力データセットのデータを第1学習モデルMに入力した場合における選択された層に入力される入力値を取得する。例えば、図1(c)に示す例において、出力層から数えて2層目が層選択部31によって選択されたとする。この場合、出力層から数えて3層目の出力値である出力m1が、出力層から数えて2層目の入力値となる。第1取得部320が取得する検査用の入力データセットとは、例えば、第1学習モデルMの透かし埋め込みに用いた複数の透かし検出用の入力Iである。検査用の入力データセットは、モデル取得部30が第1学習モデルMとともに取得する。
第2取得部321は、検査用の入力データセットのデータを第2学習モデルPに入力したとき第2学習モデルPの出力層から出力される出力値を取得する。ここで、第2学習モデルPは、第1学習モデルMの出力層を含む少なくとも一部を改変した学習モデルであるか否かの検査対象となる学習モデルである。第2取得部321は、例えば第2学習モデルPのAPIを利用して、検査用の入力データセットのデータを第2学習モデルPに入力したときの出力値を取得する。
学習部33は、第2取得部321が取得した第2学習モデルPの出力値を入力したときに、層選択部31が選択した層に入力される入力値を出力するような新たなニューラルネットワークの学習モデルである逆フィルタIFを学習する。評価部34は、逆フィルタIFのパラメータの変動の大小を示す情報と、逆フィルタIFの学習が収束するまでの学習回数を示す情報と、逆フィルタIFの精度を示す情報との少なくとも一つの情報に基づく評価値を算出する。
具体的には、評価部34は、逆フィルタIFの学習の収束回数Tを計測する。また、評価部34は、学習前の逆フィルタIFを構成するパラメータ、すなわち逆フィルタIFのパラメータの初期値の総和と、学習が収束した後の逆フィルタIFのパラメータの総和との差を差分Dとして算出する。さらに、評価部34は、逆フィルタIFの学習前後の出力値と正解値との差を学習の精度Rとして算出する。評価部34は、例えば、評価部34は、α、β、及びγを0以上の実数として、評価値Eを以下の式(1)に基づいて算出する。
評価値E=αT+βD+γR (1)
ただし、α+β+γ>0、α≧0、β≧0、γ≧0
ただし、α+β+γ>0、α≧0、β≧0、γ≧0
式(1)は、逆フィルタの学習が収束するまでの学習回数が少ないほど、差分Dが小さいほど、また、逆フィルタIFの精度Rが高い(すなわち、学習前後の出力値と正解値との差が小さい)ほど、評価値Eは小さくなる。評価部34は、層選択部31が選択した層を示す情報と算出した評価値とを紐づけて、記憶部2に格納する。式(1)においてα+β+γ>0、α≧0、β≧0、かつγ≧=0であるため、αとβとγとが同時に0になることはない。
推定部35は、層選択部31が層を選択する度に評価部34が算出した評価値Eの変動を解析して、第2学習モデルPが第1学習モデルMの一部を改変して作成された学習モデルであるか否か、すなわち層選択部31が選択した層の改変の有無を推定する。具体的には、推定部35は、評価値Eの値の変動が所定値以上(例えば、50%以上の変動がある場合)、改変が有ると判定する。なお、所定値の具体的な値は一例であり、第1学習モデルMの層の構造等を考慮して実験により定めればよい。
図3(a)-(c)は、実施の形態に係る学習部33が実行する逆フィルタIFの学習を説明するための図である。具体的には、図3(a)は真のZ面の位置を示す図である。図3(a)に示す例では、Z面は、出力層l1から入力層(不図示)に向かって4番目の層l4と、5番目の層l5との間にある。Z面が層l4と層l5との間にある場合、第2学習モデルPの層l5を構成するパラメータは第1学習モデルMの5番目の層l5と同一であるが、出力層l1から4番目の層l4までの層を構成するパラメータは改変されていることになる。
図3(a)において、5番目の層l5の出力値、すなわち4番目の層l4の入力値をデータm54と記載する。データm54は、5番目の層l5と4番目の層l4との間を流れるデータである。同様に、4番目の層l4と3番目の層l3の間を流れるデータをm43と記載する。以下同様である。
図3(b)は、層選択部31が4番目の層l4を選択した場合の例を示している。この場合、Z面は5番目の層l5と4番目の層l4との間にあり、真のZ面と一致する。第2学習モデルPにおいて、出力層から4番目の層までの層のパラメータは改変されているため、図3(b)では、層の表記を変更し、出力層を層p1、2番目の層を層p2、3番目の層を層p3、4番目の層を層p4と記載している。第2学習モデルPにおいて、出力層から4番目の層までの層のパラメータは改変されているため、第2学習モデルPの4番目の層l4と3番目の層l3の間を流れるデータの値は、第1学習モデルMの4番目の層l4と3番目の層l3の間を流れるデータm43とは異なり、m43*となる。他の層間を流れるデータの値も同様である。
図3(b)に示すように、学習部33は、第2学習モデルPの出力の値o2を入力したときに、Z面の入力層側の隣接層である層I5の入力値であるデータm65を出力するように逆フィルタIFを学習する。図3(b)では、層p1から層p4までの4層が改変していると仮定しているため、逆フィルタIFは、層f1から層f5までの5層となる。なお、Z面の入力層側の隣接層は、図3(b)のように層l5の1層のみでなくてもよい。例えば、層l5~層l6(不図示)の2層や層l5から層l7(不図示)までの3層としてもよい。それらの場合には、逆フィルタIFは、それぞれ、層f1から層f6までの6層や層f1から層f7までの7層となる。
ここで、学習部33は、逆フィルタIFの出力層のパラメータを、層選択部31が選択した層の入力層側の隣接層に関する逆フィルタのパラメータとなるように初期化して学習する。
図3(b)に示すように、第2学習モデルPの4番目の層p4は、第1学習モデルMの5番目の層l5と隣接している。したがって、図3(b)に示す例では、学習部33は、逆フィルタIFの5番目の層f5の初期値を、第1学習モデルMの5番目の層l5の逆フィルタIFのパラメータで初期化する。第1学習モデルMの5番目の層l5の逆フィルタはZ面を流れるデータm54が入力となることが想定されているため、上記の初期化は良い初期化と言える。つまり、学習部33が逆フィルタIFの5番目の層f5を第1学習モデルMの5番目の層l5の逆フィルタのパラメータで初期化する場合と、単に乱数で初期化する場合とを比較すると、前者の方が後者よりもパラメータの変更が少なく、逆フィルタIFの精度が高く、かつ学習の収束回数が少ないこと(言い換えると、学習の収束時間が短いこと)が期待できる。
図3(c)は、層選択部31が3番目の層l3を選択した場合の例を示している。この場合、Z面は4番目の層l4と3番目の層l3との間にあることを想定していることになり、真のZ面と一致しない。このとき、図3(b)に示す例と同様に、学習部33は、逆フィルタIFの出力層のパラメータを、層選択部31が選択した層の入力層側の隣接層(すなわち、第1学習モデルMの4番目の層I4)に関する逆フィルタのパラメータとなるように初期化して学習する。
ここで、第1学習モデルMの4番目の層l4の逆フィルタはデータm43が入力となることが想定されているが、逆フィルタIFの4番目の層f4(逆フィルタIFの出力層)の入力はデータm34であり、m43*を再現するデータである。したがって、逆フィルタIFの出力層を第1学習モデルMの4番目の層I4の逆フィルタのパラメータで初期化しても、想定される入力が異なるため良い初期化とは言えない。つまり、学習部33が逆フィルタIFの4番目の層f4を第1学習モデルMの4番目の層l4の逆フィルタのパラメータで初期化する場合と、単に乱数で初期化する場合とを比較すると、逆フィルタIFの精度やパラメータの変更量及び学習の収束に要する学習回数に差が生じることは期待できない。
そこで、学習部33は、逆フィルタIFの出力層のパラメータを乱数で初期化した場合の第1学習と、層選択部31が選択した層の入力層側の隣接層に関する逆フィルタとなるように初期化した場合の第2学習との2つの学習を実行する。推定部35は、第1学習における評価値と第2学習における評価値との差の変動を解析して改変の有無を推定する。
図4は、逆フィルタIFの学習における第1学習と第2学習との評価値の変動を模式的に示す図であり、第2学習モデルPが第1学習モデルMに依拠している場合における第1学習と第2学習との評価値の変動を示す図である。具体的には、図4において、太い実線は第1学習における評価値の変動を示しており、細い実線は第2学習における評価値の変動を示している。
図4に示すように、第2学習モデルPが第1学習モデルMに依拠している場合、第1学習における評価値はZ面前後で有意に異なる。図示はしないが、第2学習モデルPが第1学習モデルMに依拠していない場合、第1学習における評価値はZ面前後で変動せず、第2学習における評価値と同様な振る舞いとなる。したがって、推定部35は、第1学習における評価値と第2学習における評価値との差の変動を解析することにより、第2学習モデルPが第1学習モデルMを改変したモデルであるか否かを推定することができる。
さらに、推定部35は、評価部34が算出した評価値の変動を解析して、第1学習モデルのうち改変された層を推定することもできる。具体的には、推定部35は、図4に示す選択層と評価値とのグラフにおいて、第1学習における評価値の差が大きい箇所からZ面を推定し、改変された層を推定することができる。
この実現を容易とするために、層選択部31は、第1学習モデルの出力層から入力層に向かって順番に層を選択してもよい。これにより、推定部35は、第1学習モデルの出力層から入力層に向かって順番に層を選択した場合の評価値を解析し、上述した評価値の差が有意に異なった時点で学習を停止することができる。なお、推定部35がZ面を推定することにより、第2学習モデルPのうち改変された改変層も推定できる。
以上、推定部35による改変の有無の推定、Z面の推定、及び逆フィルタIFの推定について説明した。続いて、第2学習モデルPが第1学習モデルMを改変した学習モデルであることを特定する手法について説明する。
上述したように、第1学習モデルMは、透かし検出用データを入力したときその透かし検出用データに対応する透かしデータを出力するように学習された学習モデルであるとする。このとき、連結モデル生成部36は、まず、第2学習モデルPの出力層の後段に逆フィルタIFを接続する。続いて、連結モデル生成部36は、逆フィルタIFの出力層に替えて第2学習モデルPで改変された層に相当する第1学習モデルMの改変前の層を接続した連結モデルを生成する。
図5は、実施の形態に係る連結モデル生成部36が生成する連結モデルを模式的に示す図である。図5に示すように、改変層の出力は第2学習モデルPの出力となるため、その値はo2である。逆フィルタIFの学習が成功している場合、逆フィルタIFに値o2を入力すると、Z面を流れるデータ、すなわち5番目の層I5と4番目の層I4との間を流れるデータm54を出力することが期待できる。改変前の層は、データm54を入力すると、第1学習モデルMの最終的な出力値である値o1を出力する。
改変度算出部37は、連結モデル生成部36が生成した連結モデルに透かし検出用データを入力して得られる出力値と、透かし検出用データに対応する透かしデータとの一致度を算出する。
本願の発明者は、逆フィルタIFの汎化性能が低い場合であっても、第2学習モデルPが第1学習モデルMに依拠して作成されている場合には、学習部33は改変層の逆フィルタIFを学習できることを実験により見出した。このため、連結モデル生成部36が生成した連結モデルに透かし検出用データを入力して得られる出力値は、改変前の学習モデル、すなわち第1学習モデルMの出力値に類似することが期待できる。したがって、改変度算出部37が連結モデル生成部36によって生成された連結モデルに透かし検出用データを入力して得られる出力値と、透かし検出用データに対応する透かしデータとの一致度を算出することにより、第2学習モデルPが第1学習モデルMを改変した学習モデルであることを特定する。
ここで、改変度算出部37は、算出した一致度が所定の閾値(例えば80%)以上の一致度である場合、第2学習モデルPが第1学習モデルMを改変した学習モデルであることを特定する。この所定の閾値の具体的な値は一例であり、第1学習モデルMの層の複雑さ(すなわち、逆フィルタIFの学習の困難性)等を考慮して実験等により定めればよい。
<情報処理装置1が実行する情報処理方法の処理フロー>
図6は、実施の形態に係る情報処理装置1が実行する情報処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば情報処理装置1が起動したときに開始する。
図6は、実施の形態に係る情報処理装置1が実行する情報処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば情報処理装置1が起動したときに開始する。
モデル取得部30は、複数の層から構成されるニューラルネットワークの学習モデルである第1学習モデルMを取得する(S2)。層選択部31は、第1学習モデルMの層の中から所定の順番で層を選択する(S4)。
層選択部31による層の選択が終了するまでの間(S6のNo)、第1取得部320は、検査用の入力データセットのデータを第1学習モデルMに入力した場合における選択された層の入力層側の隣接層に入力される入力値を取得する(S8)。第2取得部321は、検査用の入力データセットのデータを第2学習モデルPに入力したとき第2学習モデルPの出力層から出力される出力値を取得する(S10)。
学習部33は、第2取得部321が取得した出力値を入力したときに、第1取得部320が取得した入力値を出力する新たなニューラルネットワークの学習モデルである逆フィルタIFを学習する(S12)。評価部34は、式(1)に基づいて評価値を算出する(S14)。情報処理装置1は、層選択部31による層の選択が終了するまでの間(S6のNo)、ステップS8の処理からステップS14の処理までを繰り返す。
層選択部31による層の選択が終了すると(S6のYes)、推定部35は、評価部34が算出した評価値の変動を解析して改変の有無を推定する(S16)。推定部35が改変の有無を推定すると、本フローチャートにおける処理は終了する。
<実施の形態に係る情報処理装置1が奏する効果>
以上説明したように、実施の形態に係る情報処理装置1によれば、ニューラルネットワーク学習モデルが他のニューラルネットワークの学習モデルに依拠しているか否かを推定することができる。
以上説明したように、実施の形態に係る情報処理装置1によれば、ニューラルネットワーク学習モデルが他のニューラルネットワークの学習モデルに依拠しているか否かを推定することができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果をあわせ持つ。以下、そのような変形例について説明する。
<変形例>
図7は、実施の形態の変形例に係る情報処理装置1の機能構成を模式的に示す図である。変形例に係る情報処理装置1は、実施の形態に係る情報処理装置1と比較すると、層選択部31に替えて共通層受付部38を備える点、及び評価部34と推定部35とを備えない点で異なるが、その他は共通する。以下、図7を参照しながら変形例に係る情報処理装置1を説明するが、図2に示す実施の形態に係る情報処理装置1と共通する部分については適宜省略又は簡略化して記載する。
図7は、実施の形態の変形例に係る情報処理装置1の機能構成を模式的に示す図である。変形例に係る情報処理装置1は、実施の形態に係る情報処理装置1と比較すると、層選択部31に替えて共通層受付部38を備える点、及び評価部34と推定部35とを備えない点で異なるが、その他は共通する。以下、図7を参照しながら変形例に係る情報処理装置1を説明するが、図2に示す実施の形態に係る情報処理装置1と共通する部分については適宜省略又は簡略化して記載する。
変形例に係る情報処理装置1は、検査対象の学習モデルである第2学習モデルPについて、あらかじめ第1学習モデルMを構成する層との共通部分である共通層に関する先見情報があることを前提としている。そこで、共通層受付部38は、第1学習モデルMを構成する層のうち、第2学習モデルPと共通する層である共通層の指定を受け付ける。第1取得部320は、検査用の入力データセットのデータを第1学習モデルMに入力した場合における共通層の出力値である第1出力値を取得する。
第2取得部321は、検査用の入力データセットのデータを第2学習モデルPに入力したとき第2学習モデルPの出力層から出力される出力値である第2出力値を取得する。学習部33は、第2出力値を入力したときに第1出力値を出力する逆フィルタIFを学習する。
連結モデル生成部36は、第2学習モデルPの出力層の後段に逆フィルタIFを接続するとともに、逆フィルタIFの後段に第1学習モデルMを構成する層のうち共通層を除く層を接続した連結モデルを生成する。改変度算出部37は、連結モデルに透かし検出用データを入力して得られる出力値と、透かし検出用データに対応する透かしデータとの一致度を算出する。
このように、変形例に係る情報処理装置1は、あらかじめ共通層に関する先見情報があることを前提とするため、改変の有無及びZ面の推定を省略して透かし検出用データで改変の特定を実施することができる。
1・・・情報処理装置
2・・・記憶部
3・・・制御部
30・・・モデル取得部
31・・・層選択部
32・・・値取得部
320・・・第1取得部
321・・・第2取得部
33・・・学習部
34・・・評価部
35・・・推定部
36・・・連結モデル生成部
37・・・改変度算出部
38・・・共通層受付部
2・・・記憶部
3・・・制御部
30・・・モデル取得部
31・・・層選択部
32・・・値取得部
320・・・第1取得部
321・・・第2取得部
33・・・学習部
34・・・評価部
35・・・推定部
36・・・連結モデル生成部
37・・・改変度算出部
38・・・共通層受付部
Claims (9)
- 複数の層から構成されるニューラルネットワークの学習モデルである第1学習モデルを取得するモデル取得部と、
前記第1学習モデルの層の中から所定の順番で層を選択する層選択部と、
検査用の入力データセットのデータを前記第1学習モデルに入力した場合における選択された前記層の入力層側の隣接層に入力される入力値を取得する第1取得部と、
前記データを前記第1学習モデルの出力層を含む少なくとも一部を改変した学習モデルであるか否かの検査対象となる第2学習モデルに入力したとき前記第2学習モデルの出力層から出力される出力値を取得する第2取得部と、
前記出力値を入力したときに前記入力値を出力する新たなニューラルネットワークの学習モデルである逆フィルタを学習する学習部と、
前記逆フィルタのパラメータの変動の大小を示す情報と、前記逆フィルタの学習が収束するまでの学習回数を示す情報と、前記逆フィルタの精度を示す情報との少なくとも一つの情報に基づく評価値を算出する評価部と、
前記評価値の変動を解析して、前記改変の有無を推定する推定部と、
を備える情報処理装置。 - 前記学習部は、前記逆フィルタの出力層のパラメータを、選択された前記層の入力層側の隣接層に関する逆フィルタのパラメータとなるように初期化して学習する、
請求項1に記載の情報処理装置。 - 前記学習部は、前記逆フィルタの出力層のパラメータを乱数で初期化した場合の第1学習と、選択された前記層の入力層側の隣接層に関する逆フィルタとなるように初期化した場合の第2学習と、を実行し、
前記推定部は、前記第1学習における前記評価値と前記第2学習における前記評価値との差の変動を解析して前記改変の有無を推定する、
請求項2に記載の情報処理装置。 - 前記推定部は、前記評価値の変動を解析して、前記第1学習モデルのうち改変された層を推定する、
請求項2又は3に記載の情報処理装置。 - 前記第1学習モデルは、透かし検出用データを入力したとき当該透かし検出用データに対応する透かしデータを出力するように学習された学習モデルであり、
前記情報処理装置は、
前記第2学習モデルの出力層の後段に前記逆フィルタを接続するとともに、前記逆フィルタの出力層に替えて前記第2学習モデルで改変された層に相当する前記第1学習モデルの改変前の層を接続した連結モデルを生成する連結モデル生成部と、
前記連結モデルに前記透かし検出用データを入力して得られる出力値と、前記透かし検出用データに対応する透かしデータとの一致度を算出する改変度算出部と、
をさらに備える請求項4に記載の情報処理装置。 - 前記層選択部は、前記第1学習モデルの出力層から入力層に向かって順番に層を選択する、
請求項1から5のいずれか1項に記載の情報処理装置。 - プロセッサが、
複数の層から構成されるニューラルネットワークの学習モデルである第1学習モデルを取得するステップと、
前記第1学習モデルの層の中から所定の順番で層を選択するステップと、
検査用の入力データセットのデータを前記第1学習モデルに入力した場合における選択された前記層の入力層側の隣接層に入力される入力値を取得するステップと、
前記データを前記第1学習モデルの出力層を含む少なくとも一部を改変した学習モデルであるか否かの検査対象となる第2学習モデルに入力したとき前記第2学習モデルの出力層から出力される出力値を取得するステップと、
前記出力値を入力したときに前記入力値を出力する新たなニューラルネットワークの学習モデルである逆フィルタを学習するステップと、
前記逆フィルタのパラメータの変動の大小を示す情報と、前記逆フィルタの学習が収束するまでの学習回数を示す情報と、前記逆フィルタの精度を示す情報との少なくとも一つの情報に基づく評価値を算出するステップと、
前記評価値の変動を解析して、前記改変の有無を推定するステップと、
を実行する情報処理方法。 - コンピュータに、
複数の層から構成されるニューラルネットワークの学習モデルである第1学習モデルを取得する機能と、
前記第1学習モデルの層の中から所定の順番で層を選択する機能と、
検査用の入力データセットのデータを前記第1学習モデルに入力した場合における選択された前記層の入力層側の隣接層に入力される入力値を取得する機能と、
前記データを前記第1学習モデルの出力層を含む少なくとも一部を改変した学習モデルであるか否かの検査対象となる第2学習モデルに入力したとき前記第2学習モデルの出力層から出力される出力値を取得する機能と、
前記出力値を入力したときに前記入力値を出力する新たなニューラルネットワークの学習モデルである逆フィルタを学習する機能と、
前記逆フィルタのパラメータの変動の大小を示す情報と、前記逆フィルタの学習が収束するまでの学習回数を示す情報と、前記逆フィルタの精度を示す情報との少なくとも一方の情報に基づく評価値を算出する機能と、
前記評価値の変動を解析して、前記改変の有無を推定する機能と、
を実現させるプログラム。 - 複数の層から構成されるニューラルネットワークの学習モデルであってあらかじめ透かしが埋め込まれている第1学習モデルを取得するモデル取得部と、
前記第1学習モデルを構成する層のうち、前記第1学習モデルの出力層を含む少なくとも一部を改変した学習モデルであるか否かの検査対象となる第2学習モデルと共通する層である共通層の指定を受け付ける共通層受付部と、
検査用の入力データセットのデータを前記第1学習モデルに入力した場合における前記共通層の出力値である第1出力値を取得する第1取得部と、
前記データを前記第2学習モデルに入力したとき前記第2学習モデルの出力層から出力される出力値である第2出力値を取得する第2取得部と、
前記第2出力値を入力したときに前記第1出力値を出力する新たなニューラルネットワークの学習モデルである逆フィルタを学習する学習部と、
前記第2学習モデルの出力層の後段に前記逆フィルタを接続するとともに、前記逆フィルタの後段に前記第1学習モデルを構成する層のうち前記共通層を除く層を接続した連結モデルを生成する連結モデル生成部と、
前記連結モデルに透かし検出用データを入力して得られる出力値と、前記透かし検出用データに対応する透かしデータとの一致度を算出する改変度算出部と、
を備える情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020138602A JP7339219B2 (ja) | 2020-08-19 | 2020-08-19 | 情報処理装置、情報処理方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020138602A JP7339219B2 (ja) | 2020-08-19 | 2020-08-19 | 情報処理装置、情報処理方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022034752A JP2022034752A (ja) | 2022-03-04 |
JP7339219B2 true JP7339219B2 (ja) | 2023-09-05 |
Family
ID=80443126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020138602A Active JP7339219B2 (ja) | 2020-08-19 | 2020-08-19 | 情報処理装置、情報処理方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7339219B2 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018173843A (ja) | 2017-03-31 | 2018-11-08 | Kddi株式会社 | 情報処理装置、情報処理方法、及びプログラム |
JP2019053542A (ja) | 2017-09-15 | 2019-04-04 | Kddi株式会社 | 情報処理装置、情報処理方法、及びプログラム |
JP2019053541A (ja) | 2017-09-15 | 2019-04-04 | Kddi株式会社 | 情報処理装置、情報処理方法、及びプログラム |
JP2019185417A (ja) | 2018-04-11 | 2019-10-24 | Kddi株式会社 | 情報処理装置、情報処理方法、及びプログラム |
JP2020098391A (ja) | 2018-12-17 | 2020-06-25 | Kddi株式会社 | 情報処理装置、透かし生成方法、及びプログラム |
-
2020
- 2020-08-19 JP JP2020138602A patent/JP7339219B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018173843A (ja) | 2017-03-31 | 2018-11-08 | Kddi株式会社 | 情報処理装置、情報処理方法、及びプログラム |
JP2019053542A (ja) | 2017-09-15 | 2019-04-04 | Kddi株式会社 | 情報処理装置、情報処理方法、及びプログラム |
JP2019053541A (ja) | 2017-09-15 | 2019-04-04 | Kddi株式会社 | 情報処理装置、情報処理方法、及びプログラム |
JP2019185417A (ja) | 2018-04-11 | 2019-10-24 | Kddi株式会社 | 情報処理装置、情報処理方法、及びプログラム |
JP2020098391A (ja) | 2018-12-17 | 2020-06-25 | Kddi株式会社 | 情報処理装置、透かし生成方法、及びプログラム |
Non-Patent Citations (2)
Title |
---|
小林栄介、酒澤茂之,DNNへの電子透かし埋め込みの特性調査,研究報告オーディオビジュアル複合情報処理(AVM),2020年02月20日,pp.1-5 |
酒澤茂之,深層学習モデルに対する電子透かしの要件分析,映像情報メディア学会年次大会講演予稿集(CD-ROM),日本,2018年08月15日 |
Also Published As
Publication number | Publication date |
---|---|
JP2022034752A (ja) | 2022-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10713597B2 (en) | Systems and methods for preparing data for use by machine learning algorithms | |
WO2018179765A1 (ja) | 情報処理装置、情報処理方法、及びコンピュータ可読記憶媒体 | |
JP6657137B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US11151335B2 (en) | Machine translation using attention model and hypernetwork | |
KR20190031318A (ko) | 도메인 분리 뉴럴 네트워크들 | |
US9208278B2 (en) | Clustering using N-dimensional placement | |
JP7042210B2 (ja) | 学習モデル生成装置、学習モデル生成方法、及びプログラム | |
BR112021009042A2 (pt) | geração automatizada de modelos de aprendizagem por máquina | |
JP7257756B2 (ja) | 画像識別装置、画像識別方法、学習装置、及びニューラルネットワーク | |
JP6901423B2 (ja) | 情報処理装置、情報処理端末、及びプログラム | |
CN108876847B (zh) | 图像定位方法、装置、系统和存储介质 | |
US10997528B2 (en) | Unsupervised model evaluation method, apparatus, server, and computer-readable storage medium | |
US20230177089A1 (en) | Identifying similar content in a multi-item embedding space | |
KR20200130759A (ko) | 데이터 세트에 정의되지 않은 특성 정보를 자동으로 생성하는 제로샷 인식 장치 및 방법 | |
Boscheri et al. | High order accurate direct Arbitrary-Lagrangian-Eulerian ADER-MOOD finite volume schemes for non-conservative hyperbolic systems with stiff source terms | |
Khosoussi et al. | A sparse separable SLAM back-end | |
Jakob et al. | Parallel globally consistent normal orientation of raw unorganized point clouds | |
US20220076121A1 (en) | Method and apparatus with neural architecture search based on hardware performance | |
Pajot et al. | Unsupervised adversarial image inpainting | |
JP7339219B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
Ben Charrada et al. | TopoNet: Topology Learning for 3D Reconstruction of Objects of Arbitrary Genus | |
CN111126566A (zh) | 基于gan模型的异常家具布局数据检测方法 | |
JP6854248B2 (ja) | 境界探索テスト支援装置および境界探索テスト支援方法 | |
CN116935089A (zh) | 信息处理装置 | |
JP6953376B2 (ja) | ニューラルネットワーク、情報付加装置、学習方法、情報付加方法、およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220616 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230822 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230824 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7339219 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |