JP7400719B2 - 学習装置、識別装置およびプログラム - Google Patents

学習装置、識別装置およびプログラム Download PDF

Info

Publication number
JP7400719B2
JP7400719B2 JP2020537669A JP2020537669A JP7400719B2 JP 7400719 B2 JP7400719 B2 JP 7400719B2 JP 2020537669 A JP2020537669 A JP 2020537669A JP 2020537669 A JP2020537669 A JP 2020537669A JP 7400719 B2 JP7400719 B2 JP 7400719B2
Authority
JP
Japan
Prior art keywords
neural network
data
learning
error
parameters
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
Application number
JP2020537669A
Other languages
English (en)
Other versions
JPWO2020129412A1 (ja
Inventor
夏子 尾崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Sony Group Corp
Original Assignee
Sony Corp
Sony Group Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp, Sony Group Corp filed Critical Sony Corp
Publication of JPWO2020129412A1 publication Critical patent/JPWO2020129412A1/ja
Application granted granted Critical
Publication of JP7400719B2 publication Critical patent/JP7400719B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/50Maintenance of biometric data or enrolment thereof
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/18Artificial neural networks; Connectionist approaches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Description

本開示は、学習装置、識別装置およびプログラムに関する。
近年、識別用の入力データに基づいて特徴量を抽出し、抽出した特徴量に基づいて識別処理を行う技術が知られている。例えば、学習用の入力データに基づく特徴量の抽出および特徴量に基づく識別処理を学習することによって、特徴量の抽出および識別処理の精度を向上させる技術が知られている(例えば、非特許文献1参照)。入力データの例としては、個人の顔画像が含まれた画像データが挙げられる。このとき、識別処理は、画像データに顔が写った個人を識別する処理であり得る。あるいは、入力データの例としては、個人の音声データが含まれた音データが挙げられる。このとき、識別処理は、音データに声が記録された個人を識別する処理であり得る。
このように、入力データには個人に関する高解像度な情報が含まれる。そのため、ユーザは入力データ自体を秘匿したいと考える場合がよくある。そこで、入力データの代わりに特徴量が保存され、保存された特徴量を用いて識別用の入力データに対する識別処理が行われることがある。
Sun,Yi、他2名、"Deep Learning Face Representation from Predicting 10,000 Classes"、[online]、CVPR2014、インターネット〈http://mmlab.ie.cuhk.edu.hk/pdf/YiSun_CVPR14.pdf〉 Yandong Wen1、他3名、"A Discriminative Feature Learning Approach for Deep Face Recognition"、[online]、ECCV2016、インターネット〈http://ydwen.github.io/papers/WenECCV16.pdf〉
しかし、入力データの代わりに特徴量が保存される場合であっても、保存された特徴量から個人に関する情報が復元されてしまう危険性がある。そこで、識別処理を可能にしつつ個人に関する情報が復元されにくい特徴量を利用することが可能な技術が提供されることが望まれる。
本開示によれば、第1のニューラルネットワークのパラメータを、前記第1のニューラルネットワークの前段に接続された第2のニューラルネットワークへの入力データと同一のデータと、前記第1のニューラルネットワークの出力データとの第1の誤差に基づいて学習する第1の学習部と、前記第2のニューラルネットワークの少なくとも一部のパラメータを、前記入力データとは異なるデータと前記第2のニューラルネットワークの出力データとの第2の誤差と、前記第1のニューラルネットワークから伝達された誤差の符号反転後データとに基づいて学習する第2の学習部と、を備える、学習装置が提供される。
本開示によれば、コンピュータを、第1のニューラルネットワークのパラメータを、前記第1のニューラルネットワークの前段に接続された第2のニューラルネットワークへの入力データと同一のデータと、前記第1のニューラルネットワークの出力データとの第1の誤差に基づいて学習する第1の学習部と、前記第2のニューラルネットワークの少なくとも一部のパラメータを、前記入力データとは異なるデータと前記第2のニューラルネットワークの出力データとの第2の誤差と、前記第1のニューラルネットワークから伝達された誤差の符号反転後データとに基づいて学習する第2の学習部と、を備える学習装置として機能させるためのプログラムが提供される。
本開示によれば、第1のニューラルネットワークのパラメータを、前記第1のニューラルネットワークの前段に接続された第2のニューラルネットワークへの入力データと同一のデータと、前記第1のニューラルネットワークの出力データとの第1の誤差に基づいて学習し、前記第2のニューラルネットワークの少なくとも一部のパラメータを、前記入力データとは異なるデータと前記第2のニューラルネットワークの出力データとの第2の誤差と、前記第1のニューラルネットワークから伝達された誤差の符号反転後データとに基づいて学習する学習部において学習されたニューラルネットワークに対して、識別対象データを入力する入力部と、前記ニューラルネットワークの出力データに基づいて、前記出力データに対応する識別情報を取得する取得部と、を備える、識別装置が提供される。
本開示によれば、コンピュータを、第1のニューラルネットワークのパラメータを、前記第1のニューラルネットワークの前段に接続された第2のニューラルネットワークへの入力データと同一のデータと、前記第1のニューラルネットワークの出力データとの第1の誤差に基づいて学習し、前記第2のニューラルネットワークの少なくとも一部のパラメータを、前記入力データとは異なるデータと前記第2のニューラルネットワークの出力データとの第2の誤差と、前記第1のニューラルネットワークから伝達された誤差の符号反転後データとに基づいて学習する学習部において学習されたニューラルネットワークに対して、識別対象データを入力する入力部と、前記ニューラルネットワークの出力データに基づいて、前記出力データに対応する識別情報を取得する取得部と、を備える、識別装置として機能させるためのプログラムが提供される。
一般的なニューラルネットワークの例を示す図である。 本開示の実施形態に係る情報処理システムの構成例を示す図である。 本開示の実施形態に係る学習装置の機能構成例を示す図である。 本開示の実施形態に係るクライアント装置の機能構成例を示す図である。 本開示の実施形態に係るサーバ装置の機能構成例を示す図である。 本開示の実施形態に係る学習処理に用いられるニューラルネットワークの例を示す図である。 第1のニューラルネットワークから伝達された誤差から符号反転後データへの変換の第1の例を示す図である。 第1のニューラルネットワークから伝達された誤差から符号反転後データへの変換の第2の例を示す図である。 本開示の実施形態に係る学習処理の流れの例を示すフローチャートである。 本開示の実施形態に係る登録処理の流れの例を示すフローチャートである。 本開示の実施形態に係る登録処理の流れの例を示すシーケンス図である。 本開示の実施形態に係る識別処理の流れの例を示すフローチャートである。 本開示の実施形態に係る識別処理の流れの例を示すシーケンス図である。 変形例1に係るニューラルネットワークの例を示す図である。 変形例2に係るニューラルネットワークの例を示す図である。 本開示の実施形態に係る学習装置のハードウェア構成例を示すブロック図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、本明細書および図面において、実質的に同一または類似の機能構成を有する複数の構成要素を、同一の符号の後に異なる数字を付して区別する場合がある。ただし、実質的に同一または類似の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。また、異なる実施形態の類似する構成要素については、同一の符号の後に異なるアルファベットを付して区別する場合がある。ただし、類似する構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。
なお、説明は以下の順序で行うものとする。
0.概要
1.実施形態の詳細
1.1.情報処理システムの構成例
1.2.学習装置の機能構成例
1.3.クライアント装置の機能構成例
1.4.サーバ装置の機能構成例
1.5.学習処理の詳細
1.6.学習処理の流れ
1.7.登録処理の流れ
1.8.識別処理の流れ
2.変形例
3.ハードウェア構成例
4.むすび
<0.概要>
近年、識別用の入力データに基づいて特徴量を抽出し、抽出した特徴量に基づいて識別処理を行う技術が知られている。例えば、学習用の入力データに基づく特徴量の抽出および特徴量に基づく識別処理を学習することによって、特徴量の抽出および識別処理の精度を向上させる技術が知られている。一例として、学習処理は、学習用の入力データに基づくニューラルネットワークのパラメータ(例えば、各処理層に含まれるニューロンの重みなど)の更新によって行われ得る。また、識別処理は、識別用の入力データに基づいて、パラメータ更新後のニューラルネットワークを用いて行われ得る。
入力データの例としては、個人の顔画像が含まれた画像データが挙げられる。このとき、識別処理は、画像データに顔が写った個人を識別する処理であり得る。あるいは、入力データの例としては、個人の音声データが含まれた音データが挙げられる。このとき、識別処理は、音データに声が記録された個人を識別する処理であり得る。本実施形態では、入力データとして個人の顔画像が含まれた画像データが用いられる場合を主に想定する。しかし、入力データとして個人の音声データが含まれた音データが用いられてもよいし、画像データおよび音データ以外のデータが用いられてもよい。
このように、入力データには個人に関する高解像度な情報が含まれる。そのため、ユーザは入力データ自体を秘匿したいと考える場合がよくある。そこで、入力データの代わりに特徴量が保存され、保存された特徴量を用いて識別用の入力データに対する識別処理が行われることがある。ここで、一般的な学習処理および識別処理について説明する。図1は、一般的なニューラルネットワークの例を示す図である。図1に示されるように、一般的なニューラルネットワーク80は、畳み込み層81、プーリング層82、全結合層(FC層:Full Connected Layer)83、および、SoftMax Loss層84を含んでいる。
学習用の入力データD80には、顔画像が含まれている。このような学習用の入力データD80がニューラルネットワーク80の上流側に入力されると、学習用の入力データD80が上流から下流に順伝播(forward propagation)される。畳み込み層81およびプーリング層82は、学習用の入力データD80に基づいてFeatureD81(特徴量)を出力する。また、全結合層83は、FeatureD81に基づいて識別ID(D82)を出力する。
SoftMax Loss層84は、識別ID(D82)にSoftMax関数を適用し、SoftMax関数適用後の識別IDと教師データとの交差エントロピー(cross entropy)を取った値(SoftMax Loss)を誤差の例として算出する。教師データは、学習用の入力データD80に顔が写る個人を識別するためのIDである。
続いて、SoftMax Lossが下流から上流に(方向R0に)逆伝播(back propagation)されることによって(誤差逆伝播法を用いて)、畳み込み層81および全結合層83それぞれのパラメータがSoftMax Lossが減少するように更新(学習)される。パラメータ更新手法としては、確率的勾配降下法(SGD:Stochastic Gradient Descent)などが用いられる。このような学習用の入力データD80に基づくパラメータの更新が、N枚(Nは1以上の整数)の学習用の入力データD80について繰り返し行われる。
かかる学習によって得られた畳み込み層81およびプーリング層82によって、入力データから特徴量が抽出され、抽出された特徴量が入力データの代わりに保存されて識別処理に利用される。しかし、入力データの代わりに特徴量が保存される場合であっても、保存された特徴量から個人に関する情報(ここでは、顔画像)が復元されてしまう危険性がある。例えば、オートエンコーダ(AE:Auto Encoder)学習用の画像を復元するように学習されたオートエンコーダ(AE)によれば、特徴量から個人に関する情報(ここでは、顔画像)を容易に復元できることが予想される。
そこで、本開示の実施形態においては、識別処理を可能にする特徴量かつ個人に関する情報が復元されにくい特徴量を利用することが可能な技術を主に提案する。一例として、本開示の実施形態においては、入力データ(画像データ)に顔が写る個人の識別を可能にする特徴量かつ顔画像が復元されにくい特徴量を利用することが可能な技術を主に提案する。
以上、本開示の実施形態の概要について説明した。
<1.実施形態の詳細>
[1.1.情報処理システムの構成例]
続いて、図面を参照しながら、本開示の実施形態に係る情報処理システムの構成例について説明する。図2は、本開示の実施形態に係る情報処理システムの構成例を示す図である。図2に示したように、本開示の実施形態に係る情報処理システム1は、学習装置10、クライアント装置20、サーバ装置30およびネットワーク50を有する。学習装置10、クライアント装置20およびサーバ装置30は、ネットワーク50を介して互いに通信可能に構成されている。
学習装置10は、例えば、コンピュータ(例えば、ワークステーションなど)によって構成される。学習装置10は、例えば、アプリケーションの開発者によって利用され、アプリケーションの開発者による操作に基づいて(あるいは自動的に)アプリケーション(ニューラルネットワークアプリケーション)を生成する。また、学習装置10は、学習用の入力データに基づいて学習を行うことによって、アプリケーション(学習済みのニューラルネットワークアプリケーション)を生成(構築)する。
学習装置10は、アプリケーション(学習済みのニューラルネットワークアプリケーション)を生成すると、生成したアプリケーションを、ネットワーク50を介してクライアント装置20に提供する。また、学習装置10は、学習によって得られた特徴量と識別情報との組み合わせを、ネットワーク50を介してサーバ装置30に提供する。なお、本開示の実施形態では、学習装置10がクライアント装置20およびサーバ装置30とは独立して存在しているが、学習装置10は、クライアント装置20およびサーバ装置30のいずれかに組み込まれていてもよい。また、本開示の実施形態では、学習装置10がネットワーク50に接続されているが、学習装置10は、ネットワーク50に接続されていなくてもよい。このとき、学習装置10によって生成されたアプリケーションが事前にクライアント装置20またはサーバ装置30に組み込まれていてもよい。
クライアント装置20は、識別処理を行う識別装置として機能し得る。クライアント装置20は、典型的にはスマートフォンであってよいが、タブレット端末であってもよいし、携帯電話であってもよいし、PC(Personal Computer)であってもよいし、他の電子機器であってもよい。クライアント装置20は、ユーザによる操作に基づいて(あるいは自動的に)アプリケーション(学習済みのニューラルネットワークアプリケーション)を学習装置10からダウンロードすると、ダウンロードしたアプリケーションを実行する。クライアント装置20は、アプリケーションの実行によって識別用の入力データに基づいて所定の識別処理を行う。
サーバ装置30は、例えば、コンピュータによって構成される。サーバ装置30は、クライアント装置20からネットワーク50を介して送信された要求を受信し、当該要求に応じた情報を、ネットワーク50を介してクライアント装置20に返信する。具体的には、サーバ装置30は、識別用の入力データに基づいて抽出された特徴量をクライアント装置20からネットワーク50を介して受信すると、受信した特徴量に対応する識別情報を、ネットワーク50を介してクライアント装置20に返信する。なお、サーバ装置30が有する機能は、クライアント装置20が有していてもよい。
以上、本開示の実施形態に係る情報処理システム1の構成例について説明した。
[1.2.学習装置の機能構成例]
続いて、本開示の実施形態に係る学習装置10の機能構成例について説明する。図3は、本開示の実施形態に係る学習装置10の機能構成例を示す図である。図3に示したように、学習装置10は、制御部110、操作部120、記憶部130、通信部140および出力部150を有している。
制御部110は、学習装置10の各部の制御を実行する。制御部110は、例えば、1または複数のCPU(Central Processing Unit;中央演算処理装置)などによって構成されていてよいし、1または複数のGPU(Graphics Processing Unit)などによって構成されてもよい。制御部110がCPUまたはGPUなどといった処理装置によって構成される場合、かかる処理装置は、電子回路によって構成されてよい。制御部110は、かかる処理装置によってプログラムが実行されることによって実現され得る。制御部110は、第1の学習部111および第2の学習部112を有している。これらのブロックの詳細は後に説明する。
操作部120は、開発者による操作の入力を受け付ける機能を有する。本開示の実施形態においては、操作部120がマウスおよびキーボードを含む場合を主に想定する。しかし、操作部120は、マウスおよびキーボードを含む場合に限定されない。例えば、操作部120は、タッチパネルを含んでもよいし、タッチパッドを含んでもよいし、スイッチを含んでもよいし、レバーを含んでもよいし、ボタンを含んでもよい。また、操作部120は、開発者の音声を検出するマイクロフォンを含んでもよいし、開発者の視線を検出するイメージセンサを含んでもよい。
記憶部130は、メモリを含んで構成され、制御部110によって実行されるプログラムを記憶したり、プログラムの実行に必要なデータを記憶したりする記録媒体である。また、記憶部130は、制御部110による演算のためにデータを一時的に記憶する。記憶部130は、磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または、光磁気記憶デバイスなどにより構成される。
通信部140は、通信回路を含んで構成され、ネットワーク50に接続されたクライアント装置20との間で、ネットワーク50を介して通信を行う機能を有する。また、通信部140は、ネットワーク50に接続されたサーバ装置30との間で、ネットワーク50を介して通信を行う機能を有する。
出力部150は、開発者に対して情報を出力する機能を有する。出力部150の種類は限定されない。例えば、出力部150は、開発者に視認可能な表示を行うことが可能なディスプレイを含んでよく、ディスプレイは、液晶ディスプレイであってもよいし、有機EL(Electro-Luminescence)ディスプレイであってもよいし、他のディスプレイであってもよい。あるいは、出力部150は、開発者に触覚を提示する触覚提示装置を含んでもよいし、開発者に音を提示するスピーカを含んでもよい。
以上、本開示の実施形態に係る学習装置10の機能構成例について説明した。
[1.3.クライアント装置の機能構成例]
続いて、本開示の実施形態に係るクライアント装置20の機能構成例について説明する。図4は、本開示の実施形態に係るクライアント装置20の機能構成例を示す図である。図4に示したように、クライアント装置20は、制御部210、操作部220、記憶部230、通信部240および出力部250を有している。
制御部210は、クライアント装置20の各部の制御を実行する。制御部210は、例えば、1または複数のCPU(Central Processing Unit;中央演算処理装置)などによって構成されていてよいし、1または複数のGPU(Graphics Processing Unit)などによって構成されてもよい。制御部210がCPUまたはGPUなどといった処理装置によって構成される場合、かかる処理装置は、電子回路によって構成されてよい。制御部210は、かかる処理装置によってプログラムが実行されることによって実現され得る。制御部210は、登録処理部211、識別対象データ入力部212、識別情報取得部213および出力制御部214を有している。これらのブロックの詳細は後に説明する。
操作部220は、ユーザによる操作の入力を受け付ける機能を有する。本開示の実施形態においては、操作部220がタッチパネルを含む場合を主に想定する。しかし、操作部220は、タッチパネルを含む場合に限定されない。例えば、操作部220は、マウスを含んでもよいし、キーボードを含んでもよいし、タッチパッドを含んでもよいし、スイッチを含んでもよいし、レバーを含んでもよいし、ボタンを含んでもよい。また、操作部220は、ユーザの音声を検出するマイクロフォンを含んでもよいし、ユーザの視線を検出するイメージセンサを含んでもよい。
記憶部230は、メモリを含んで構成され、制御部210によって実行されるプログラムを記憶したり、プログラムの実行に必要なデータを記憶したりする記録媒体である。また、記憶部230は、制御部210による演算のためにデータを一時的に記憶する。記憶部230は、磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または、光磁気記憶デバイスなどにより構成される。
通信部240は、通信回路を含んで構成され、ネットワーク50に接続された学習装置10との間で、ネットワーク50を介して通信を行う機能を有する。また、通信部240は、ネットワーク50に接続されたサーバ装置30との間で、ネットワーク50を介して通信を行う機能を有する。
出力部250は、ユーザに対して情報を出力する機能を有する。出力部250の種類は限定されない。例えば、出力部250は、ユーザに視認可能な表示を行うことが可能なディスプレイを含んでよく、ディスプレイは、液晶ディスプレイであってもよいし、有機EL(Electro-Luminescence)ディスプレイであってもよいし、他のディスプレイであってもよい。あるいは、出力部250は、ユーザに触覚を提示する触覚提示装置を含んでもよいし、ユーザに音を提示するスピーカを含んでもよい。
センサ部260は、センサを含んで構成され、センサによって識別用の入力データ(識別対象データ)を検出する。ここで、センサの種類は限定されない。例えば、センサは、(イメージセンサを含む)カメラを含んでもよいし、マイクロフォンを含んでもよいし、カメラおよびマイクロフォンとは異なるセンサを含んでもよい。センサ部260によって検出された識別用の入力データは、制御部210に提供され、アプリケーション(学習済みのニューラルネットワークアプリケーション)による識別処理に利用される。
以上、本開示の実施形態に係るクライアント装置20の機能構成例について説明した。
[1.4.サーバ装置の機能構成例]
続いて、本開示の実施形態に係るサーバ装置30の機能構成例について説明する。図5は、本開示の実施形態に係るサーバ装置30の機能構成例を示す図である。図5に示したように、サーバ装置30は、制御部310、記憶部330および通信部340を有している。
制御部310は、サーバ装置30の各部の制御を実行する。制御部310は、例えば、1または複数のCPU(Central Processing Unit;中央演算処理装置)などによって構成されていてよいし、1または複数のGPU(Graphics Processing Unit)などによって構成されてもよい。制御部310がCPUまたはGPUなどといった処理装置によって構成される場合、かかる処理装置は、電子回路によって構成されてよい。制御部310は、かかる処理装置によってプログラムが実行されることによって実現され得る。
記憶部330は、メモリを含んで構成され、制御部310によって実行されるプログラムを記憶したり、プログラムの実行に必要なデータを記憶したりする記録媒体である。また、記憶部330は、制御部310による演算のためにデータを一時的に記憶する。記憶部330は、磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または、光磁気記憶デバイスなどにより構成される。
通信部340は、通信回路を含んで構成され、ネットワーク50に接続された学習装置10との間で、ネットワーク50を介して通信を行う機能を有する。また、通信部340は、ネットワーク50に接続されたクライアント装置20との間で、ネットワーク50を介して通信を行う機能を有する。
以上、本開示の実施形態に係るサーバ装置30の機能構成例について説明した。
[1.5.学習処理の詳細]
続いて、本開示の実施形態に係る学習装置10によって実行される学習処理の詳細について説明する。ここで、学習処理に使用されるデータ(学習用の入力データ)の種類は限定されない。例えば、学習用の入力データは、画像データおよび音データの少なくともいずれか一つを含んでよい。学習用の入力データは、N個(Nは1以上の整数)の画像データを含み、教師データは、N個の画像データそれぞれに対応するIDラベル(すなわち、N個のIDラベル)を含む。
以下では、学習用の入力データとして、ユーザの顔画像が含まれた画像データが用いられる場合を主に想定する。このとき、識別処理は、画像データに顔が写ったユーザを識別する処理であり得る。しかし、学習用の入力データとして、ユーザの音声データが含まれた音データが用いられてもよい。このとき、識別処理は、音データに声が記録されたユーザを識別する処理であり得る。
より具体的に、以下では、ユーザの顔が写った入力データ(識別用の入力データ)に基づいて、ユーザがあらかじめ登録された個人(人名)であることが識別された場合に、システムの利用権限がユーザに与えられる場合を主に想定する。すなわち、識別処理が顔認証を用いたログインに用いられる場合を主に想定する。しかし、ユーザの声が記録された入力データ(識別用の入力データ)に基づいて、ユーザがあらかじめ登録された個人(人名)であることが識別された場合に、システムの利用権限がユーザに与えられてもよい。すなわち、識別処理は音声認証を用いたログインに用いられてもよい。
なお、本明細書において使用される「ニューラルネットワーク」は、入力層、中間層および出力層のすべてを有する処理層群だけを必ずしも意味しない。例えば、本明細書において使用される「ニューラルネットワーク」は、入力層、中間層および出力層のすべてを有する処理層群から一部だけ(例えば、一部の中間層のみなど)が切り出された1または複数の処理層をも意味し得る。また、ニューラルネットワークを構成する各処理層は、1または複数のニューロンを含んで構成され、各ニューロンには重みおよびバイアスが設定されている。学習処理では主に各ニューロンに設定されている重みが更新される。
図6は、本開示の実施形態に係る学習処理に用いられるニューラルネットワークの例を示す図である。図6に示されるように、本開示の実施形態に係る学習処理に用いられるニューラルネットワーク70-1は、畳み込み層71-1、プーリング層71-2、全結合層72、および、SoftMax Loss層74を含んでいる。さらに、ニューラルネットワーク70-1は、アップサンプリング層73-1、畳み込み層73-2およびL2 Loss層75を含んでいる。
図6を参照すると、第1のニューラルネットワークN1は、アップサンプリング層73-1および畳み込み層73-2を含んでいる。しかし、第1のニューラルネットワークN1に含まれる処理層の種類および数は限定されない。すなわち、第1のニューラルネットワークN1は、1または複数の処理層を含んでいればよいし、処理層の種類もアップサンプリング層および畳み込み層に限定されない。一例として、第1のニューラルネットワークN1は、全結合層を含んでいてもよい。第1のニューラルネットワークN1の出力データの教師データD20としては、学習用の入力データD10と同一のデータが利用される。すなわち、第1のニューラルネットワークN1は、オートエンコーダ(AE:Auto Encoder)として機能し得る。
第2のニューラルネットワークN2は、畳み込み層71-1およびプーリング層71-2を含んでいる。しかし、第2のニューラルネットワークN2に含まれる処理層の種類および数も限定されない。すなわち、第2のニューラルネットワークN2は、1または複数の処理層を含んでいればよいし、処理層の種類も畳み込み層およびプーリング層に限定されない。例えば、第2のニューラルネットワークN2は、全結合層を含んでいてもよい。第2のニューラルネットワークN2には、学習用の入力データD10が入力される。また、第2のニューラルネットワークN2からは、FeatureD12が出力される。
第3のニューラルネットワークN3は、全結合層72を含んでいる。第3のニューラルネットワークN3には、FeatureD12が入力される。また、第3のニューラルネットワークN3からは、個人を識別するための識別ID(D13)が出力される。なお、図6に示した例ででは、第2のニューラルネットワークN2の後段に、第1のニューラルネットワークN1と並列して第3のニューラルネットワークN3が接続されている。しかし、第2のニューラルネットワークN2の後段に、第3のニューラルネットワークN3は接続されていなくてもよい。かかる場合には、第3のニューラルネットワークN3と教師データとの誤差(第3の誤差)の代わりに、第2のニューラルネットワークN2と教師データとの誤差(第2の誤差)が算出されればよい。
第1の学習部111は、学習用の入力データD10を第2のニューラルネットワークN2に入力させる。そして、第1の学習部111は、学習用の入力データD10に基づいて、第2のニューラルネットワークN2および第1のニューラルネットワークN1の順にデータを順伝播させる。これによって、第1の学習部111は、第1のニューラルネットワークN1の出力データを得る。第1の学習部111は、第1のニューラルネットワークN1の出力データと教師データD20(学習用の入力データD10と同一のデータ)との誤差(第1の誤差)に基づいて、第1のニューラルネットワークN1のパラメータを学習する。
ここでは、L2 Loss層75によって、第1のニューラルネットワークN1の出力データと教師データD20との平均二乗誤差(MSE:Mean Squared Error)(以下、単に「L2 Loss」とも言う。)が第1の誤差として算出される場合を想定する。しかし、第1の誤差は、L2 Lossに限定されない。第1の学習部111は、L2 Lossが減少するように第1のニューラルネットワークN1のパラメータを学習する。すなわち、第1の学習部111は、FeatureD12から個人に関する情報(顔画像)が復元されやすくなるように第1のニューラルネットワークN1のパラメータを学習する。
例えば、第1の学習部111は、L2 Lossを下流から上流に(方向R1に)逆伝播(back propagation)させることによって(誤差逆伝播法を用いて)、第1のニューラルネットワークN1のパラメータを学習する。パラメータ更新手法としては、確率的勾配降下法(SGD:Stochastic Gradient Descent)が用いられてよい。しかし、パラメータ更新手法は、SGDに限定されない。例えば、パラメータ更新手法は、モーメンタム(Momentum)が用いられてもよいし、アダグラッド(AdaGrad)が用いられてもよいし、Adamが用いられてもよい。
一方、第2の学習部112は、学習用の入力データD10に基づいて、第2のニューラルネットワークN2の後段の第3のニューラルネットワークN3にもデータを順伝播させる。これによって、第2の学習部112は、第3のニューラルネットワークN3の出力データとして識別ID(D13)を得る。第2の学習部112は、識別ID(D13)と教師データとの第3の誤差に基づいて第3のニューラルネットワークN3のパラメータを更新する。
ここでは、SoftMax Loss層74によって、識別ID(D13)に対してSoftMax関数が適用され、SoftMax関数適用後の識別IDと教師データとの交差エントロピーが取られた値(以下、単に「SoftMax Loss」とも言う。)が第3の誤差として算出される場合を想定する。しかし、第3の誤差は、SoftMax Lossに限定されない。例えば、第3の誤差は、識別ID(D13)に基づくセンターロス(Center Loss)であってもよい。センターロスの計算については、上記の非特許文献2に詳細に記載されている。
例えば、第2の学習部112は、SoftMax Lossが減少するように第3のニューラルネットワークN3のパラメータを学習する。第2の学習部112は、SoftMax Lossを下流から上流に(方向R0に)逆伝播(back propagation)させることによって(誤差逆伝播法を用いて)、第3のニューラルネットワークN3のパラメータを学習する。パラメータ更新手法としては、第1のニューラルネットワークN1のパラメータ学習に用いられるパラメータ更新手法と同様に限定されない。そして、第2の学習部112は、第3のニューラルネットワークN3から第2のニューラルネットワークN2に向けて誤差(第2の誤差)を伝達させる。
第2の学習部112は、L2 Lossが増加するように(かつ、SoftMax Lossが減少するように)第2のニューラルネットワークN2の少なくとも一部のパラメータを学習する。すなわち、第2の学習部112は、FeatureD12から個人に関する情報(顔画像)が復元されにくくなるように第2のニューラルネットワークN2のパラメータを学習する。これによって、識別処理を可能にしつつ個人に関する情報(顔画像)が復元されにくいFeatureD12を利用(学習)することが可能となる。
具体的に、第2の学習部112は、第2のニューラルネットワークN2の少なくとも一部のパラメータを、第3のニューラルネットワークN3から伝達された第2の誤差(学習用の入力データD10とは異なるデータと第2のニューラルネットワークN2の出力データとの誤差)と、第1のニューラルネットワークN1から伝達された誤差の符号反転後データとに基づいて学習する。ここでは、第2のニューラルネットワークN2の全部(畳み込み層71-1およびプーリング層71-2)のパラメータが学習される場合を想定する。しかし、後に説明するように、必ずしも第2のニューラルネットワークN2の全部のパラメータが学習されなくてもよい。
ここで、第1のニューラルネットワークN1から伝達された誤差から符号反転後データへの変換は、第1のニューラルネットワークN1から伝達された誤差の絶対値が大きいほど符号反転後データの絶対値が大きくなるようにしつつ符号を反転させる所定の変換であるのがよい。これによって、第1のニューラルネットワークN1から伝達された誤差が大きいほど第2のニューラルネットワークN2に向けて伝達される誤差が小さくなる。ここで、第1のニューラルネットワークN1から伝達された誤差から符号反転後データへの変換の例について、図7および図8を参照しながら説明する。
図7は、第1のニューラルネットワークN1から伝達された誤差から符号反転後データへの変換の第1の例を示す図である。図8は、第1のニューラルネットワークN1から伝達された誤差から符号反転後データへの変換の第2の例を示す図である。図7および図8に示した例において、xは入力(第1のニューラルネットワークN1から伝達された誤差)を示している。一方、yは出力(符号反転後データ)を示している。図7には、y=-xが示されており、図8には、y=-tanh(x)が示されている。しかし、第1のニューラルネットワークN1から伝達された誤差から符号反転後データへの変換は、これらの例に限定されない。
図6に戻って説明を続ける。第2の学習部112は、演算結果を第2のニューラルネットワークN2に伝達させる。第2の学習部112は、第3のニューラルネットワークN3から伝達された第2の誤差と符号反転後データとに対して所定の演算76を行い、所定の演算76によって得た演算結果に基づいて第2のニューラルネットワークN2の少なくとも一部のパラメータを学習する。ここで、所定の演算は、加算を含んでよい。これによって、L2 Lossが増加するように、かつ、SoftMax Lossが減少するように、第2のニューラルネットワークN2の少なくとも一部のパラメータが学習される。
例えば、第2の学習部112は、第3のニューラルネットワークN3から伝達された第2の誤差と符号反転後データとに基づいて誤差逆伝播法を用いて第2のニューラルネットワークN2の少なくとも一部のパラメータを学習する。第2の学習部112は、第3のニューラルネットワークN3から伝達された第2の誤差を下流から上流に(方向R2に)逆伝播(back propagation)させることによって、第2のニューラルネットワークN2のパラメータを学習する。パラメータ更新手法としては、第1のニューラルネットワークN1のパラメータ学習に用いられるパラメータ更新手法と同様に限定されない。
N個の画像データおよびN個のIDラベルに基づくパラメータの更新が終わると、新たなN個の画像データおよびN個のIDラベルに基づくパラメータの更新が行われる。そして、所定の回数の計算(所定の回数のパラメータ更新)が終わった場合、学習処理が終了される。ここで、所定の回数は限定されない。例えば、所定の回数は、エポック単位(同じ学習用の入力データを繰り返し使った回数)で決められてもよいし、イテレーション単位(学習用の入力データを更新した回数)で決められてもよい。あるいは、誤差が所定値以下になった場合に学習処理が終了されてもよい。
以上、本開示の実施形態に係る学習装置10によって実行される学習処理の詳細について説明した。
[1.6.学習処理の流れ]
続いて、本開示の実施形態に係る学習処理の流れの例について説明する。図9は、本開示の実施形態に係る学習処理の流れの例を示すフローチャートである。なお、図9に示したフローチャートは、本開示の実施形態に係る学習処理の流れの一例を示しているに過ぎない。したがって、本開示の実施形態に係る学習処理の流れは、図9のフローチャートに示された例に限定されない。
第1の学習部111は、学習用の入力データの例としてN人の顔画像を第2のニューラルネットワークN2に入力させる。そして、第1の学習部111は、N人の顔画像に基づいて、第2のニューラルネットワークN2および第1のニューラルネットワークN1の順にforward計算する(データを順伝播させる)(S10)。これによって、第2のニューラルネットワークN2および第1のニューラルネットワークN1によって顔画像が推定されるため(S21)、第1の学習部111は、推定された顔画像D20を得る。
L2 Loss層75は、推定された顔画像D20とN人の顔画像とのL2 Loss(第1の誤差)を算出する(S22)。第1の学習部111は、L2 Lossに基づいて、第1のニューラルネットワークN1の下流から上流にbackword計算する(誤差を逆伝播させる)(S23)。これによって、第1のニューラルネットワークN1の重みが更新される(S24)。第1の学習部111は、L2 Lossの符号を反転させ(S25)、符号反転後データを第2のニューラルネットワークN2に向けて伝達させる。
第2の学習部112は、N人の顔画像に基づいて、第2のニューラルネットワークN2の後段の第3のニューラルネットワークN3の上流から下流にforward計算する(データを順伝播させる)(S10)。これによって、第3のニューラルネットワークN3によって識別IDが推定されるため(S11)、第2の学習部112は、識別ID(D13)を得る。
SoftMax Loss層74は、識別ID(D13)に対してSoftMax関数を適用し、SoftMax関数適用後の識別IDと教師データの例としてのN人のIDラベルとの誤差(SoftMax Loss)を第3の誤差として算出する(S12)。第2の学習部112は、SoftMax Lossに基づいて、第3のニューラルネットワークN3および第2のニューラルネットワークN2の順にbackword計算を開始する(誤差を逆伝播させる)(S13)。これによって、最初に第3のニューラルネットワークN3の重みが更新される(S14)。そして、第2の学習部112は、第3のニューラルネットワークN3から第2のニューラルネットワークN2に向けて誤差(第2の誤差)を伝達させる。
第2の学習部112は、第1のニューラルネットワークN1から伝達された誤差の符号反転後データと、第3のニューラルネットワークN3から伝達された誤差とに対する所定の演算(例えば、加算)を行い(S26)、得られた演算結果に基づいて、第2のニューラルネットワークN2の下流から上流に誤差を逆伝播させる。これによって、L2 Lossが増加するように(かつ、SoftMax Lossが減少するように)第2のニューラルネットワークN2の重みが更新される(S27)。すなわち、識別処理を可能にしつつ個人に関する情報(顔画像)が復元されにくいFeatureが学習される。
第2のニューラルネットワークN2の重みの更新が終わった場合には、動作がS28に移行される。そして、所定の回数の計算(所定の回数の重みの更新)が終わっていない場合(S28において「NO」)、S10に動作が移行され、新たなN人の顔画像およびN人のIDラベルに基づく重みの更新が行われる。一方、所定の回数の計算(所定の回数の重みの更新)が終わった場合(S28において「YES」)、学習処理が終了される。
以上、本開示の実施形態に係る学習処理の流れについて説明した。
[1.7.登録処理の流れ]
クライアント装置20は、ユーザによる操作に基づいて(あるいは自動的に)アプリケーション(学習済みのニューラルネットワークアプリケーション)を学習装置10からダウンロードする。かかるアプリケーションは、パラメータ更新後の第2のニューラルネットワークN2を含んだアプリケーションであり、登録用の入力データ(例えば、画像データ)から特徴量(例えば、顔特徴量)の抽出が可能なアプリケーションである。クライアント装置20は、ダウンロードしたアプリケーションを実行する。アプリケーションが実行されると、まず登録処理が実行される。
以下、本開示の実施形態に係る登録処理の流れの例について説明する。図10は、本開示の実施形態に係る登録処理の流れの例を示すフローチャートである。なお、図10に示したフローチャートは、本開示の実施形態に係る登録処理の流れの一例を示しているに過ぎない。したがって、本開示の実施形態に係る登録処理の流れは、図10のフローチャートに示された例に限定されない。
図10に示すように、登録処理が開始されると、登録処理部211は、センサ部260によって検出された画像データ(カメラ画像)を登録用の入力データの例として取得する(S31)。図10には、一例として顔D41が写ったカメラ画像D40が示されている。登録処理部211は、カメラ画像から顔が検出されるかを試み(S32)、カメラ画像に顔がない場合には(S33において「NO」)、S31に動作を移行させる。一方、登録処理部211は、カメラ画像に顔がある場合には(S33において「YES」)、カメラ画像から顔を識別できるかを判定する(S34)。
登録処理部211は、カメラ画像から顔を識別できない場合には(S34において「NO」)、S31に動作を移行させる。一方、登録処理部211は、カメラ画像から顔を識別できる場合には(S34において「YES」)、顔特徴量を計算する(S35)。具体的には、登録処理部211は、カメラ画像を学習済みの第2のニューラルネットワークN2に入力させて、学習済みの第2のニューラルネットワークN2からの出力データを顔特徴量D42として得る。
また、登録処理部211は、ユーザによって入力されたユーザ自身の人名D43を取得する(S36)。登録処理部211は、ユーザ自身の人名D43と顔特徴量D42とを、通信部240を介してサーバ装置30に提供する。このとき、ネットワーク50を顔特徴量D42が流れることになるが、顔画像が復元されにくいように顔特徴量D42が抽出されているため、顔特徴量D42が第三者に盗まれたとしても、顔特徴量D42から顔画像が第三者によって復元されてしまう危険性は低減される。さらに、顔特徴量D42は、暗号化された上でクライアント装置20からサーバ装置30に提供されてもよい。そうすれば、顔特徴量D42の頑健性がさらに向上する。
サーバ装置30の制御部310は、通信部340を介してユーザ自身の人名D43と顔特徴量D42とを取得する。制御部310は、取得したユーザ自身の人名D43がDB331に既に登録されている場合には(S37において「NO」)、S31に動作を移行させる。
一方、制御部310は、取得したユーザ自身の人名D43がまだDB331に登録されていない場合には(S37において「YES」)、ユーザ自身の人名D43と顔特徴量D42とをDB331に保存する(S38)。図10に示した例では、Cさんの人名「Name C」と特徴量「顔特徴量c」との組み合わせがDB331に保存されている。制御部310は、通信部340を介して登録完了通知をクライアント装置20に返信する。
クライアント装置20において、登録処理部211は、通信部240を介して登録完了通知を取得すると、登録完了した旨を表示し、登録された人名がアプリケーションによって利用される。
図11は、本開示の実施形態に係る登録処理の流れの例を示すシーケンス図である。なお、図11に示したシーケンス図は、本開示の実施形態に係る登録処理の流れの一例を示しているに過ぎない。したがって、本開示の実施形態に係る登録処理の流れは、図11のシーケンス図に示された例に限定されない。
図11に示すように、登録処理が開始されると、登録処理部211は、センサ部260によって検出された画像データ(カメラ画像)を取得する。登録処理部211は、カメラ画像から顔画像を取得し(S51)、顔画像から顔特徴量を計算する(S52)。具体的には、登録処理部211は、カメラ画像を学習済みの第2のニューラルネットワークN2に入力させて、学習済みの第2のニューラルネットワークN2からの出力データを顔特徴量cとして得る。
また、登録処理部211は、ユーザによって入力されたユーザ自身の人名「Cさん」を取得する(S53)。登録処理部211は、ユーザ自身の人名「Cさん」と顔特徴量cとを、通信部240を介してサーバ装置30に提供する。このとき、ネットワーク50を顔特徴量D42が流れることになるが、顔画像が復元されにくいように顔特徴量cが抽出されているため、顔特徴量cが第三者に盗まれたとしても、顔特徴量cから顔画像が第三者によって復元されてしまう危険性は低減される。さらに、顔特徴量cは、暗号化された上でクライアント装置20からサーバ装置30に提供されてもよい。そうすれば、顔特徴量cの頑健性がさらに向上する。
サーバ装置30の制御部310は、通信部340を介してユーザ自身の人名「Cさん」と顔特徴量cとを取得する。制御部310は、取得したユーザ自身の人名「Cさん」と顔特徴量cとをDB331に追加する(S54)。図11に示した例では、Cさんの人名「Name C」と「顔特徴量c」との組み合わせがDB331に追加されている。制御部310は、通信部340を介して登録完了通知D44をクライアント装置20に返信する。
クライアント装置20において、登録処理部211は、通信部240を介して登録完了通知D44を取得すると、登録が完了した旨が出力部250によって出力されるように出力部250を制御する。登録された人名は、クライアント装置20においてアプリケーションによって利用される(S55)。
以上、本開示の実施形態に係る登録処理の流れについて説明した。
[1.8.識別処理の流れ]
上記のようにして登録処理が終わった後、ユーザはアプリケーションを再度利用しようとする場合、アプリケーションを再度実行するための操作を行う。クライアント装置20は、ユーザによる操作に基づいて再度アプリケーションを実行する。アプリケーションが実行されると、識別処理が実行される。
以下、本開示の実施形態に係る識別処理の流れの例について説明する。図12は、本開示の実施形態に係る識別処理の流れの例を示すフローチャートである。なお、図12に示したフローチャートは、本開示の実施形態に係る識別処理の流れの一例を示しているに過ぎない。したがって、本開示の実施形態に係る識別処理の流れは、図12のフローチャートに示された例に限定されない。
図12に示すように、識別処理が開始されると、識別対象データ入力部212は、センサ部260によって検出された画像データ(カメラ画像)を識別用の入力データの例として取得する(S41)。図12には、一例として顔D11が写ったカメラ画像D10が示されている。識別対象データ入力部212は、カメラ画像から顔が検出されるかを試み(S42)、カメラ画像に顔がない場合には(S43において「NO」)、S41に動作を移行させる。一方、識別対象データ入力部212は、カメラ画像に顔がある場合には(S43において「YES」)、カメラ画像から顔を識別できるかを判定する(S44)。
識別対象データ入力部212は、カメラ画像から顔を識別できない場合には(S44において「NO」)、S41に動作を移行させる。一方、識別対象データ入力部212は、カメラ画像から顔を識別できる場合には(S44において「YES」)、顔特徴量を計算する(S45)。具体的には、識別対象データ入力部212は、カメラ画像を学習済みの第2のニューラルネットワークN2に入力させて、学習済みの第2のニューラルネットワークN2からの出力データを顔特徴量D12として得る。
また、識別情報取得部213は、顔特徴量D12を、通信部240を介してサーバ装置30に提供する。このとき、ネットワーク50を顔特徴量D12が流れることになるが、顔画像が復元されにくいように顔特徴量D12が抽出されているため、顔特徴量D12が第三者に盗まれたとしても、顔特徴量D12から顔画像が第三者によって復元されてしまう危険性は低減される。さらに、顔特徴量D12は、暗号化された上でクライアント装置20からサーバ装置30に提供されてもよい。そうすれば、顔特徴量D12の頑健性がさらに向上する。
サーバ装置30の制御部310は、通信部340を介して顔特徴量D12を取得する。制御部310は、取得した顔特徴量D12とDB331に登録されている顔特徴量との距離を比較する(S46)。制御部310は、顔特徴量D12とDB331に登録されている全ての顔特徴量それぞれとの距離を比較し終わるまでは(S47において「NO」)、S46に動作を移行させる。一方、制御部310は、顔特徴量D12とDB331に登録されている全ての顔特徴量それぞれとの距離を比較し終わった場合には(S47において「YES」)、顔特徴量D12との距離が最も小さい特徴量に対応する人名を識別情報の例としてDB331から取得する(S48)。
制御部310は、通信部340を介して人名をクライアント装置20に返信する。クライアント装置20において、識別情報取得部213は、通信部240を介して識別情報の人名を取得する。出力制御部214は、人名が出力されるように出力部250を制御する(S49)。出力された人名はアプリケーションによって利用される。
図13は、本開示の実施形態に係る識別処理の流れの例を示すシーケンス図である。なお、図13に示したシーケンス図は、本開示の実施形態に係る識別処理の流れの一例を示しているに過ぎない。したがって、本開示の実施形態に係る識別処理の流れは、図13のシーケンス図に示された例に限定されない。
図13に示すように、識別処理が開始されると、識別対象データ入力部212は、センサ部260によって検出された画像データ(カメラ画像)を取得する。識別対象データ入力部212は、カメラ画像から顔画像を取得し(S61)、顔画像から顔特徴量を計算する(S62)。具体的には、識別対象データ入力部212は、カメラ画像を学習済みの第2のニューラルネットワークN2に入力させて、学習済みの第2のニューラルネットワークN2からの出力データを顔特徴量xとして得る。
また、識別情報取得部213は、顔特徴量xを、通信部240を介してサーバ装置30に提供する。このとき、ネットワーク50を顔特徴量xが流れることになるが、顔画像が復元されにくいように顔特徴量xが抽出されているため、顔特徴量xが第三者に盗まれたとしても、顔特徴量xから顔画像が第三者によって復元されてしまう危険性は低減される。さらに、顔特徴量xは、暗号化された上でクライアント装置20からサーバ装置30に提供されてもよい。そうすれば、顔特徴量xの頑健性がさらに向上する。
サーバ装置30の制御部310は、通信部340を介して顔特徴量xを取得する。制御部310は、取得した顔特徴量xとDB331に登録されている顔特徴量との距離を計算し、顔特徴量xと最も距離が近い顔特徴量に対応する人名(人名Aとする)をDB331から取得する(S63)。図13に示した例では、「顔特徴量a」に対応するAさんの人名「Name A」がDB331から取得されている。制御部310は、通信部340を介して人名Aをクライアント装置20に返信する。
クライアント装置20において、識別情報取得部213は、通信部240を介して人名Aを取得する。そして、出力制御部214は、人名A「Aさん」が識別された旨が出力部250によって出力されるように出力部250を制御する。識別された人名は、アプリケーションによって利用される(S64)。
以上、本開示の実施形態に係る識別処理の流れについて説明した。
<2.変形例>
続いて、各種の変形例について説明する。上記では、第2のニューラルネットワークN2の後段に1つの第1のニューラルネットワークN1が接続されている例を説明した。しかし、第2のニューラルネットワークN2の後段には、複数の第1のニューラルネットワークN1が並列して接続されていてもよい。以下、図14を参照しながら、第2のニューラルネットワークN2の後段に、複数の第1のニューラルネットワークN1が並列して接続される例を変形例1として説明する。
図14は、変形例1に係るニューラルネットワークの例を示す図である。図14を参照すると、変形例1に係るニューラルネットワーク70-2が示されている。第2のニューラルネットワークN2の後段に3つの第1のニューラルネットワーク(第1のニューラルネットワークN11~N13)が並列して接続されている。しかし、第2のニューラルネットワークN2の後段に接続されている第1のニューラルネットワークの数は限定されない。
具体的に、第1のニューラルネットワークN11は、アップサンプリング層73-1、および、畳み込み層73-2を含んでいる。第1のニューラルネットワークN12は、アップサンプリング層73-3、および、畳み込み層73-3を含んでいる。第1のニューラルネットワークN13は、アップサンプリング層73-5、アップサンプリング層73-6、および、畳み込み層73-7を含んでいる。
図14に示すように、第1のニューラルネットワークN11の出力データの教師データD51としては、学習用の入力データD10と同一のデータが利用される。また、第1のニューラルネットワークN11においては、L2 Loss層75-1によって第1のニューラルネットワークN11の出力データと教師データD51とのL2 Lossが下流から上流に(方向R11に)逆伝播され、これによって第1のニューラルネットワークN11のパラメータが学習される。
同様に、第1のニューラルネットワークN12の出力データの教師データD52としては、学習用の入力データD10と同一のデータが利用される。また、第1のニューラルネットワークN12においては、L2 Loss層75-2によって第1のニューラルネットワークN12の出力データと教師データD52とのL2 Lossが下流から上流に(方向R12に)逆伝播され、これによって第1のニューラルネットワークN12のパラメータが学習される。
第1のニューラルネットワークN13の出力データの教師データD53としては、学習用の入力データD10と同一のデータが利用される。また、第1のニューラルネットワークN13においては、L2 Loss層75-3によって第1のニューラルネットワークN13の出力データと教師データD53とのL2 Lossが下流から上流に(方向R13に)逆伝播され、これによって第1のニューラルネットワークN13のパラメータが学習される。
第2の学習部112は、第2のニューラルネットワークN2の少なくとも一部のパラメータを、第3のニューラルネットワークN3から伝達された第2の誤差(学習用の入力データD10とは異なるデータと第2のニューラルネットワークN2の出力データとの誤差)と、第1のニューラルネットワークN11~N13それぞれから伝達された誤差の符号反転後データとに基づいて学習する。
第1のニューラルネットワークN11~N13それぞれに含まれる処理層の種類および数は限定されない。しかし、第1のニューラルネットワークN11~N13の少なくとも一部の間においてネットワーク構成(処理層の構成)を異ならせたり、パラメータの初期値を異ならせたりするとよい。これによって、第2のニューラルネットワークN2によって個人に関する情報(顔画像)への復元がより困難な特徴量が抽出され得る。
以上、変形例1について説明した。また、上記では、第2のニューラルネットワークN2の全部(畳み込み層71-1およびプーリング層71-2)のパラメータが学習される例について説明した。しかし、第2のニューラルネットワークN2の一部のみのパラメータが学習されてもよい。以下、図15を参照しながら、第2のニューラルネットワークN2を構成する一部の処理層のパラメータが更新されない例を変形例2として説明する。
図15は、変形例2に係るニューラルネットワークの例を示す図である。図15を参照すると、変形例2に係るニューラルネットワーク70-3が示されている。第2のニューラルネットワークN2は、畳み込み層71-1およびプーリング層71-2を有する他、畳み込み層71-1よりも上流に畳み込み層77を有している。畳み込み層77は、Feature(D71)を抽出する特徴量抽出機能を有する。そして、畳み込み層71-1およびプーリング層71-2は、Feature(D71)に基づいてFeature’(D72)を出力する特徴量変換機能を有する。特徴量抽出機能を有する処理層および特徴量変換機能を有する処理層それぞれの種類および数は限定されない。
ここで、特徴量抽出機能を有する畳み込み層77のパラメータは事前に学習されていてよい。そして、第2の学習部112は、第2のニューラルネットワークN2の一部(特徴量変換機能を有する畳み込み層71-1およびプーリング層71-2)のみのパラメータを、第3のニューラルネットワークN3から伝達された第2の誤差と、第1のニューラルネットワークN1から伝達された誤差の符号反転後データとに基づいて学習してよい。これによって、個人に関する情報(顔画像)への復元が困難な特徴量であり、かつ識別処理を可能にする特徴量の抽出(Feature(D71)からFeature’(D72)への変換)を学習することができる。
以上、変形例2について説明した。
<3.ハードウェア構成例>
次に、図16を参照して、本開示の実施形態に係る学習装置10のハードウェア構成例について説明する。図16は、本開示の実施形態に係る学習装置10のハードウェア構成例を示すブロック図である。なお、学習装置10は、必ずしも図16に示したハードウェア構成の全部を有している必要はなく、学習装置10の中に、図16に示したハードウェア構成の一部は存在しなくてもよい。また、クライアント装置20およびサーバ装置30それぞれのハードウェア構成も、学習装置10のハードウェア構成と同様に実現されてよい。
図16に示すように、学習装置10は、CPU(Central Processing unit)901、ROM(Read Only Memory)903、およびRAM(Random Access Memory)905を含む。また、学習装置10は、ホストバス907、ブリッジ909、外部バス911、インターフェース913、入力装置915、出力装置917、ストレージ装置919、ドライブ921、接続ポート923、通信装置925を含んでもよい。さらに、学習装置10は、必要に応じて、撮像装置933、およびセンサ935を含んでもよい。学習装置10は、CPU901に代えて、またはこれとともに、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)またはASIC(Application Specific Integrated Circuit)と呼ばれるような処理回路を有してもよい。
CPU901は、演算処理装置および制御装置として機能し、ROM903、RAM905、ストレージ装置919、またはリムーバブル記録媒体927に記録された各種プログラムに従って、学習装置10内の動作全般またはその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータなどを記憶する。RAM905は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一時的に記憶する。CPU901、ROM903、およびRAM905は、CPUバスなどの内部バスにより構成されるホストバス907により相互に接続されている。さらに、ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。
入力装置915は、例えば、ボタンなど、ユーザによって操作される装置である。入力装置915は、マウス、キーボード、タッチパネル、スイッチおよびレバーなどを含んでもよい。また、入力装置915は、ユーザの音声を検出するマイクロフォンを含んでもよい。入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、学習装置10の操作に対応した携帯電話などの外部接続機器929であってもよい。入力装置915は、ユーザが入力した情報に基づいて入力信号を生成してCPU901に出力する入力制御回路を含む。ユーザは、この入力装置915を操作することによって、学習装置10に対して各種のデータを入力したり処理動作を指示したりする。また、後述する撮像装置933も、ユーザの手の動き、ユーザの指などを撮像することによって、入力装置として機能し得る。このとき、手の動きや指の向きに応じてポインティング位置が決定されてよい。
出力装置917は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置917は、例えば、LCD(Liquid Crystal Display)、有機EL(Electro-Luminescence)ディスプレイなどの表示装置、スピーカおよびヘッドホンなどの音出力装置などであり得る。また、出力装置917は、PDP(Plasma Display Panel)、プロジェクタ、ホログラム、プリンタ装置などを含んでもよい。出力装置917は、学習装置10の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音声または音響などの音として出力したりする。また、出力装置917は、周囲を明るくするためライトなどを含んでもよい。
ストレージ装置919は、学習装置10の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)などの磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
ドライブ921は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体927のためのリーダライタであり、学習装置10に内蔵、あるいは外付けされる。ドライブ921は、装着されているリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されているリムーバブル記録媒体927に記録を書き込む。
接続ポート923は、機器を学習装置10に直接接続するためのポートである。接続ポート923は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポートなどであり得る。また、接続ポート923は、RS-232Cポート、光オーディオ端子、HDMI(登録商標)(High-Definition Multimedia Interface)ポートなどであってもよい。接続ポート923に外部接続機器929を接続することで、学習装置10と外部接続機器929との間で各種のデータが交換され得る。
通信装置925は、例えば、ネットワーク931に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置925は、例えば、有線または無線LAN(Local Area Network)、Bluetooth(登録商標)、またはWUSB(Wireless USB)用の通信カードなどであり得る。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデムなどであってもよい。通信装置925は、例えば、インターネットや他の通信機器との間で、TCP/IPなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置925に接続されるネットワーク931は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信などである。
撮像装置933は、例えば、CCD(Charge Coupled Device)またはCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。撮像装置933は、静止画を撮像するものであってもよいし、また動画を撮像するものであってもよい。
センサ935は、例えば、測距センサ、加速度センサ、ジャイロセンサ、地磁気センサ、振動センサ、光センサ、音センサなどの各種のセンサである。センサ935は、例えば学習装置10の筐体の姿勢など、学習装置10自体の状態に関する情報や、学習装置10の周辺の明るさや騒音など、学習装置10の周辺環境に関する情報を取得する。また、センサ935は、GPS(Global Positioning System)信号を受信して装置の緯度、経度および高度を測定するGPSセンサを含んでもよい。
<4.むすび>
本開示の実施形態によれば、第1のニューラルネットワークのパラメータを、前記第1のニューラルネットワークの前段に接続された第2のニューラルネットワークへの入力データと同一のデータと、前記第1のニューラルネットワークの出力データとの第1の誤差に基づいて学習する第1の学習部と、前記第2のニューラルネットワークの少なくとも一部のパラメータを、前記入力データとは異なるデータと前記第2のニューラルネットワークの出力データとの第2の誤差と、前記第1のニューラルネットワークから伝達された誤差の符号反転後データとに基づいて学習する第2の学習部と、を備える、学習装置が提供される。
かかる構成によれば、識別処理を可能にしつつ個人に関する情報が復元されにくい特徴量を利用することが可能となる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏し得る。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
第1のニューラルネットワークのパラメータを、前記第1のニューラルネットワークの前段に接続された第2のニューラルネットワークへの入力データと同一のデータと、前記第1のニューラルネットワークの出力データとの第1の誤差に基づいて学習する第1の学習部と、
前記第2のニューラルネットワークの少なくとも一部のパラメータを、前記入力データとは異なるデータと前記第2のニューラルネットワークの出力データとの第2の誤差と、前記第1のニューラルネットワークから伝達された誤差の符号反転後データとに基づいて学習する第2の学習部と、
を備える、学習装置。
(2)
前記第1の学習部は、前記第1の誤差が減少するように前記第1のニューラルネットワークのパラメータを学習する、
前記(1)に記載の学習装置。
(3)
前記第1の学習部は、前記第1の誤差に基づいて誤差逆伝播法を用いて前記第1のニューラルネットワークのパラメータを学習する、
前記(2)に記載の学習装置。
(4)
前記第2の学習部は、前記第1の誤差が増加するように前記第2のニューラルネットワークの少なくとも一部のパラメータを学習する、
前記(1)~(3)のいずれか一項に記載の学習装置。
(5)
前記第2の学習部は、前記第2の誤差と前記符号反転後データとに対して所定の演算が行われて得られた演算結果に基づいて前記第2のニューラルネットワークの少なくとも一部のパラメータを学習する、
前記(1)~(4)のいずれか一項に記載の学習装置。
(6)
前記所定の演算は、加算を含む、
前記(5)に記載の学習装置。
(7)
前記第2の学習部は、前記第2の誤差と前記符号反転後データとに基づいて誤差逆伝播法を用いて前記第2のニューラルネットワークの少なくとも一部のパラメータを学習する、
前記(5)または(6)に記載の学習装置。
(8)
前記第2の学習部は、前記演算結果を前記第2のニューラルネットワークに伝達させる、
前記(7)に記載の学習装置。
(9)
前記第2のニューラルネットワークの後段に前記第1のニューラルネットワークと並列して第3のニューラルネットワークが接続されており、
前記第2の学習部は、前記第3のニューラルネットワークから前記第2のニューラルネットワークに向けて前記第2の誤差を伝達させる、
前記(1)~(8)のいずれか一項に記載の学習装置。
(10)
前記第2の学習部は、前記第3のニューラルネットワークの出力データと教師データとの第3の誤差に基づいて誤差逆伝播法を用いて前記第3のニューラルネットワークのパラメータを更新し、前記第2のニューラルネットワークに向けて前記第2の誤差を伝達させる、
前記(9)に記載の学習装置。
(11)
前記第2のニューラルネットワークの後段には、複数の第1のニューラルネットワークが並列して接続されており、
前記第1の学習部は、前記複数の第1のニューラルネットワークのパラメータを、前記第2のニューラルネットワークへの入力データと同一のデータと、前記複数の第1のニューラルネットワークの出力データそれぞれとの第1の誤差に基づいて学習し、
前記第2の学習部は、前記第2のニューラルネットワークの少なくとも一部のパラメータを、前記入力データとは異なるデータと前記第2のニューラルネットワークの出力データとの第2の誤差と、前記複数の第1のニューラルネットワークそれぞれから伝達された誤差の符号反転後データとに基づいて学習する、
前記(1)~(10)のいずれか一項に記載の学習装置。
(12)
前記第1のニューラルネットワークから伝達された誤差から前記符号反転後データへの変換は、前記誤差の絶対値が大きいほど前記符号反転後データの絶対値が大きくなるようにしつつ符号を反転させる所定の変換である、
前記(1)~(11)のいずれか一項に記載の学習装置。
(13)
前記入力データは、画像データおよび音データの少なくともいずれか一つを含む、
前記(1)~(12)のいずれか一項に記載の学習装置。
(14)
前記第1の誤差は、平均二乗誤差である、
前記(1)~(13)のいずれか一項に記載の学習装置。
(15)
前記第3の誤差は、前記出力データに対してSoftMax関数を適用した後に前記入力データとは異なるデータとの交差エントロピーを取った値または前記出力データに基づくセンターロスである、
前記(10)に記載の学習装置。
(16)
コンピュータを、
第1のニューラルネットワークのパラメータを、前記第1のニューラルネットワークの前段に接続された第2のニューラルネットワークへの入力データと同一のデータと、前記第1のニューラルネットワークの出力データとの第1の誤差に基づいて学習する第1の学習部と、
前記第2のニューラルネットワークの少なくとも一部のパラメータを、前記入力データとは異なるデータと前記第2のニューラルネットワークの出力データとの第2の誤差と、前記第1のニューラルネットワークから伝達された誤差の符号反転後データとに基づいて学習する第2の学習部と、
を備える学習装置として機能させるためのプログラム。
(17)
第1のニューラルネットワークのパラメータを、前記第1のニューラルネットワークの前段に接続された第2のニューラルネットワークへの入力データと同一のデータと、前記第1のニューラルネットワークの出力データとの第1の誤差に基づいて学習し、
前記第2のニューラルネットワークの少なくとも一部のパラメータを、前記入力データとは異なるデータと前記第2のニューラルネットワークの出力データとの第2の誤差と、前記第1のニューラルネットワークから伝達された誤差の符号反転後データとに基づいて学習する学習部において学習されたニューラルネットワークに対して、
識別対象データを入力する入力部と、
前記ニューラルネットワークの出力データに基づいて、前記出力データに対応する識別情報を取得する取得部と、
を備える、識別装置。
(18)
前記識別情報には、前記出力データと同一のデータが特徴量としてあらかじめ対応付けられており、
前記取得部は、前記出力データに応じた前記特徴量に対応付けられた前記識別情報を取得する、
前記(17)に記載の識別装置。
(19)
前記取得部は、暗号化した出力データに基づいて前記識別情報を取得する、
前記(18)に記載の識別装置。
(20)
コンピュータを、
第1のニューラルネットワークのパラメータを、前記第1のニューラルネットワークの前段に接続された第2のニューラルネットワークへの入力データと同一のデータと、前記第1のニューラルネットワークの出力データとの第1の誤差に基づいて学習し、
前記第2のニューラルネットワークの少なくとも一部のパラメータを、前記入力データとは異なるデータと前記第2のニューラルネットワークの出力データとの第2の誤差と、前記第1のニューラルネットワークから伝達された誤差の符号反転後データとに基づいて学習する学習部において学習されたニューラルネットワークに対して、
識別対象データを入力する入力部と、
前記ニューラルネットワークの出力データに基づいて、前記出力データに対応する識別情報を取得する取得部と、
を備える、識別装置として機能させるためのプログラム。
1 情報処理システム
10 学習装置
110 制御部
111 第1の学習部
112 第2の学習部
120 操作部
130 記憶部
140 通信部
150 出力部
20 クライアント装置
210 制御部
211 登録処理部
212 識別対象データ入力部
213 識別情報取得部
214 出力制御部
220 操作部
230 記憶部
240 通信部
250 出力部
260 センサ部
30 サーバ装置
310 制御部
330 記憶部
340 通信部
50 ネットワーク

Claims (20)

  1. 第1のニューラルネットワークのパラメータを、前記第1のニューラルネットワークの前段に接続された第2のニューラルネットワークへの入力データと同一のデータと、前記第1のニューラルネットワークの出力データとの第1の誤差に基づいて学習する第1の学習部と、
    前記第2のニューラルネットワークの少なくとも一部のパラメータを、前記入力データとは異なるデータと前記第2のニューラルネットワークの出力データとの第2の誤差と、前記第1のニューラルネットワークから伝達された誤差の符号反転後データとに基づいて学習する第2の学習部と、
    を備える、学習装置。
  2. 前記第1の学習部は、前記第1の誤差が減少するように前記第1のニューラルネットワークのパラメータを学習する、
    請求項1に記載の学習装置。
  3. 前記第1の学習部は、前記第1の誤差に基づいて誤差逆伝播法を用いて前記第1のニューラルネットワークのパラメータを学習する、
    請求項2に記載の学習装置。
  4. 前記第2の学習部は、前記第1の誤差が増加するように前記第2のニューラルネットワークの少なくとも一部のパラメータを学習する、
    請求項1に記載の学習装置。
  5. 前記第2の学習部は、前記第2の誤差と前記符号反転後データとに対して所定の演算が行われて得られた演算結果に基づいて前記第2のニューラルネットワークの少なくとも一部のパラメータを学習する、
    請求項1に記載の学習装置。
  6. 前記所定の演算は、加算を含む、
    請求項5に記載の学習装置。
  7. 前記第2の学習部は、前記第2の誤差と前記符号反転後データとに基づいて誤差逆伝播法を用いて前記第2のニューラルネットワークの少なくとも一部のパラメータを学習する、
    請求項5に記載の学習装置。
  8. 前記第2の学習部は、前記演算結果を前記第2のニューラルネットワークに伝達させる、
    請求項7に記載の学習装置。
  9. 前記第2のニューラルネットワークの後段に前記第1のニューラルネットワークと並列して第3のニューラルネットワークが接続されており、
    前記第2の学習部は、前記第3のニューラルネットワークから前記第2のニューラルネットワークに向けて前記第2の誤差を伝達させる、
    請求項1に記載の学習装置。
  10. 前記第2の学習部は、前記第3のニューラルネットワークの出力データと教師データとの第3の誤差に基づいて誤差逆伝播法を用いて前記第3のニューラルネットワークのパラメータを更新し、前記第2のニューラルネットワークに向けて前記第2の誤差を伝達させる、
    請求項9に記載の学習装置。
  11. 前記第2のニューラルネットワークの後段には、複数の第1のニューラルネットワークが並列して接続されており、
    前記第1の学習部は、前記複数の第1のニューラルネットワークのパラメータを、前記第2のニューラルネットワークへの入力データと同一のデータと、前記複数の第1のニューラルネットワークの出力データそれぞれとの第1の誤差に基づいて学習し、
    前記第2の学習部は、前記第2のニューラルネットワークの少なくとも一部のパラメータを、前記入力データとは異なるデータと前記第2のニューラルネットワークの出力データとの第2の誤差と、前記複数の第1のニューラルネットワークそれぞれから伝達された誤差の符号反転後データとに基づいて学習する、
    請求項1に記載の学習装置。
  12. 前記第1のニューラルネットワークから伝達された誤差から前記符号反転後データへの変換は、前記誤差の絶対値が大きいほど前記符号反転後データの絶対値が大きくなるようにしつつ符号を反転させる所定の変換である、
    請求項1に記載の学習装置。
  13. 前記入力データは、画像データおよび音データの少なくともいずれか一つを含む、
    請求項1に記載の学習装置。
  14. 前記第1の誤差は、平均二乗誤差である、
    請求項1に記載の学習装置。
  15. 前記第3の誤差は、前記出力データに対してSoftMax関数を適用した後に前記入力データとは異なるデータとの交差エントロピーを取った値または前記出力データに基づくセンターロスである、
    請求項10に記載の学習装置。
  16. コンピュータを、
    第1のニューラルネットワークのパラメータを、前記第1のニューラルネットワークの前段に接続された第2のニューラルネットワークへの入力データと同一のデータと、前記第1のニューラルネットワークの出力データとの第1の誤差に基づいて学習する第1の学習部と、
    前記第2のニューラルネットワークの少なくとも一部のパラメータを、前記入力データとは異なるデータと前記第2のニューラルネットワークの出力データとの第2の誤差と、前記第1のニューラルネットワークから伝達された誤差の符号反転後データとに基づいて学習する第2の学習部と、
    を備える学習装置として機能させるためのプログラム。
  17. 第1のニューラルネットワークのパラメータを、前記第1のニューラルネットワークの前段に接続された第2のニューラルネットワークへの入力データと同一のデータと、前記第1のニューラルネットワークの出力データとの第1の誤差に基づいて学習し、
    前記第2のニューラルネットワークの少なくとも一部のパラメータを、前記入力データとは異なるデータと前記第2のニューラルネットワークの出力データとの第2の誤差と、前記第1のニューラルネットワークから伝達された誤差の符号反転後データとに基づいて学習する学習部において学習されたニューラルネットワークに対して、
    識別対象データを入力する入力部と、
    前記ニューラルネットワークの出力データに基づいて、前記出力データに対応する識別情報を取得する取得部と、
    を備える、識別装置。
  18. 前記識別情報には、前記出力データと同一のデータが特徴量としてあらかじめ対応付けられており、
    前記取得部は、前記出力データに応じた前記特徴量に対応付けられた前記識別情報を取得する、
    請求項17に記載の識別装置。
  19. 前記取得部は、暗号化した出力データに基づいて前記識別情報を取得する、
    請求項18に記載の識別装置。
  20. コンピュータを、
    第1のニューラルネットワークのパラメータを、前記第1のニューラルネットワークの前段に接続された第2のニューラルネットワークへの入力データと同一のデータと、前記第1のニューラルネットワークの出力データとの第1の誤差に基づいて学習し、
    前記第2のニューラルネットワークの少なくとも一部のパラメータを、前記入力データとは異なるデータと前記第2のニューラルネットワークの出力データとの第2の誤差と、前記第1のニューラルネットワークから伝達された誤差の符号反転後データとに基づいて学習する学習部において学習されたニューラルネットワークに対して、
    識別対象データを入力する入力部と、
    前記ニューラルネットワークの出力データに基づいて、前記出力データに対応する識別情報を取得する取得部と、
    を備える、識別装置として機能させるためのプログラム。
JP2020537669A 2018-12-17 2019-10-29 学習装置、識別装置およびプログラム Active JP7400719B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018235235 2018-12-17
JP2018235235 2018-12-17
PCT/JP2019/042235 WO2020129412A1 (ja) 2018-12-17 2019-10-29 学習装置、識別装置およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2020129412A1 JPWO2020129412A1 (ja) 2021-10-28
JP7400719B2 true JP7400719B2 (ja) 2023-12-19

Family

ID=71101178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020537669A Active JP7400719B2 (ja) 2018-12-17 2019-10-29 学習装置、識別装置およびプログラム

Country Status (5)

Country Link
US (1) US20210012205A1 (ja)
EP (1) EP3745316A4 (ja)
JP (1) JP7400719B2 (ja)
CN (1) CN111771216A (ja)
WO (1) WO2020129412A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005092465A (ja) 2003-09-16 2005-04-07 Fuji Xerox Co Ltd データ認識装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5259064A (en) * 1991-01-25 1993-11-02 Ricoh Company, Ltd. Signal processing apparatus having at least one neural network having pulse density signals as inputs and outputs
JPH0512241A (ja) * 1991-06-28 1993-01-22 Matsushita Electric Ind Co Ltd 信号処理装置
US5819226A (en) * 1992-09-08 1998-10-06 Hnc Software Inc. Fraud detection using predictive modeling
US6918429B2 (en) * 2003-11-05 2005-07-19 Cpumate Inc. Dual-layer heat dissipating structure
KR20100060555A (ko) * 2008-11-27 2010-06-07 상지대학교산학협력단 알에프아이디 기술 및 퍼지이론을 이용한 가상대학 시스템과 이를 이용한 학사 관리 방법
US10860946B2 (en) * 2011-08-10 2020-12-08 Konlanbi Dynamic data structures for data-driven modeling
US10055551B2 (en) * 2013-10-10 2018-08-21 Board Of Regents Of The University Of Texas System Systems and methods for quantitative analysis of histopathology images using multiclassifier ensemble schemes
US9798751B2 (en) * 2013-10-16 2017-10-24 University Of Tennessee Research Foundation Method and apparatus for constructing a neuroscience-inspired artificial neural network
US9474481B2 (en) * 2013-10-22 2016-10-25 Mindstrong, LLC Method and system for assessment of cognitive function based on electronic device usage
US9978014B2 (en) * 2013-12-18 2018-05-22 Intel Corporation Reconfigurable processing unit
US11322248B2 (en) * 2015-03-26 2022-05-03 Surgical Safety Technologies Inc. Operating room black-box device, system, method and computer readable medium for event and error prediction
US10460237B2 (en) * 2015-11-30 2019-10-29 International Business Machines Corporation Neuron-centric local learning rate for artificial neural networks to increase performance, learning rate margin, and reduce power consumption
WO2017145852A1 (ja) * 2016-02-24 2017-08-31 日本電気株式会社 ニューラルネットワーク学習装置、ニューラルネットワーク学習方法及びプログラムを記憶する記憶媒体
US11501130B2 (en) * 2016-09-09 2022-11-15 SK Hynix Inc. Neural network hardware accelerator architectures and operating method thereof
JP6921526B2 (ja) * 2016-12-22 2021-08-18 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US10387298B2 (en) * 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
US10679129B2 (en) * 2017-09-28 2020-06-09 D5Ai Llc Stochastic categorical autoencoder network
EP3467717A1 (en) * 2017-10-04 2019-04-10 Prowler.io Limited Machine learning system
CN108920981B (zh) * 2018-07-06 2020-06-30 成都大象分形智能科技有限公司 涉及数据迭代加密的神经网络模型加密保护系统及方法
US11520923B2 (en) * 2018-11-07 2022-12-06 Nec Corporation Privacy-preserving visual recognition via adversarial learning

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005092465A (ja) 2003-09-16 2005-04-07 Fuji Xerox Co Ltd データ認識装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MAKHZANI, Alireza et al.,"Adversarial Autoencoders",arXiv [online],2015年11月,[2023年10月26日検索],インターネット<URL:https://arxiv.org/abs/1511.05644v1>,1511.05644v1

Also Published As

Publication number Publication date
EP3745316A1 (en) 2020-12-02
CN111771216A (zh) 2020-10-13
JPWO2020129412A1 (ja) 2021-10-28
WO2020129412A1 (ja) 2020-06-25
US20210012205A1 (en) 2021-01-14
EP3745316A4 (en) 2021-06-02

Similar Documents

Publication Publication Date Title
CN109800732B (zh) 用于生成漫画头像生成模型的方法和装置
CN110585699B (zh) 云游戏的控制方法、装置、设备及存储介质
JP7154678B2 (ja) 目標の位置取得方法、装置、コンピュータ機器及びコンピュータプログラム
CN102708120B (zh) 生活流式传输
JP6897673B2 (ja) 情報処理装置、情報処理方法および情報提供方法
US20190012347A1 (en) Information processing device, method of processing information, and method of providing information
TWI837557B (zh) 用於自監督多圖框單眼深度估計模型之電腦實施方法及非暫時性電腦可讀儲存媒體
WO2021238599A1 (zh) 对话模型的训练方法、装置、计算机设备及存储介质
WO2024016611A1 (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
WO2018170510A1 (en) Mirror loss neural networks
CN112733970A (zh) 图像分类模型处理方法、图像分类方法及装置
CN114282035A (zh) 图像检索模型的训练和检索方法、装置、设备及介质
JP7400719B2 (ja) 学習装置、識別装置およびプログラム
WO2018211602A1 (ja) 学習装置、推定装置、学習方法及びプログラム
CN114154520A (zh) 机器翻译模型的训练方法、机器翻译方法、装置及设备
CN113032560A (zh) 语句分类模型训练方法、语句处理方法及设备
WO2022168441A1 (ja) 推論装置、推論方法およびプログラム
WO2022168442A1 (ja) 推論装置、推論方法およびプログラム
US11471765B2 (en) Handwriting recognition using cardinal directions between sample points
US20230421985A1 (en) Localization using Audio and Visual Data
JP7238579B2 (ja) 端末装置、出席管理システム、出席管理方法、及びプログラム
US20190074091A1 (en) Information processing device, method of processing information, and program
US11317293B2 (en) Methods for authenticating a user of an electronic device
JP7391029B2 (ja) 情報処理装置、情報処理方法および情報処理システム
CN115080959A (zh) 黑盒攻击方法、装置、设备及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221007

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: 20231107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231120

R151 Written notification of patent or utility model registration

Ref document number: 7400719

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151