特許第6561004号(P6561004)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社デンソーアイティーラボラトリの特許一覧

特許6561004ニューラルネットワークシステム、端末装置、管理装置およびニューラルネットワークにおける重みパラメータの学習方法
<>
  • 特許6561004-ニューラルネットワークシステム、端末装置、管理装置およびニューラルネットワークにおける重みパラメータの学習方法 図000002
  • 特許6561004-ニューラルネットワークシステム、端末装置、管理装置およびニューラルネットワークにおける重みパラメータの学習方法 図000003
  • 特許6561004-ニューラルネットワークシステム、端末装置、管理装置およびニューラルネットワークにおける重みパラメータの学習方法 図000004
  • 特許6561004-ニューラルネットワークシステム、端末装置、管理装置およびニューラルネットワークにおける重みパラメータの学習方法 図000005
  • 特許6561004-ニューラルネットワークシステム、端末装置、管理装置およびニューラルネットワークにおける重みパラメータの学習方法 図000006
  • 特許6561004-ニューラルネットワークシステム、端末装置、管理装置およびニューラルネットワークにおける重みパラメータの学習方法 図000007
  • 特許6561004-ニューラルネットワークシステム、端末装置、管理装置およびニューラルネットワークにおける重みパラメータの学習方法 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6561004
(24)【登録日】2019年7月26日
(45)【発行日】2019年8月14日
(54)【発明の名称】ニューラルネットワークシステム、端末装置、管理装置およびニューラルネットワークにおける重みパラメータの学習方法
(51)【国際特許分類】
   G06N 3/08 20060101AFI20190805BHJP
   G06N 20/00 20190101ALI20190805BHJP
   G06T 7/00 20170101ALI20190805BHJP
【FI】
   G06N3/08
   G06N20/00
   G06T7/00 350C
【請求項の数】9
【全頁数】14
(21)【出願番号】特願2016-61926(P2016-61926)
(22)【出願日】2016年3月25日
(65)【公開番号】特開2017-174298(P2017-174298A)
(43)【公開日】2017年9月28日
【審査請求日】2018年7月26日
(73)【特許権者】
【識別番号】502324066
【氏名又は名称】株式会社デンソーアイティーラボラトリ
(74)【代理人】
【識別番号】230104019
【弁護士】
【氏名又は名称】大野 聖二
(74)【代理人】
【識別番号】100106840
【弁理士】
【氏名又は名称】森田 耕司
(74)【代理人】
【識別番号】100131451
【弁理士】
【氏名又は名称】津田 理
(74)【代理人】
【識別番号】100167933
【弁理士】
【氏名又は名称】松野 知紘
(74)【代理人】
【識別番号】100174137
【弁理士】
【氏名又は名称】酒谷 誠一
(72)【発明者】
【氏名】近藤 賢志
【審査官】 多胡 滋
(56)【参考文献】
【文献】 米国特許出願公開第2015/0294219(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00
G06N 20/00
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
複数の端末装置と、管理装置と、を備えるニューラルネットワークシステムであって、
前記複数の端末装置のそれぞれは、
画像データが保存された記憶部と、
ニューラルネットワークにおける、画像識別を行うための重みパラメータを学習する画像識別器と、
学習によって得られた重みパラメータを前記管理装置に送信することと、前記画像データに基づいて生成される学習用データを他の端末装置または前記管理装置に送信することと、他の端末装置によって生成された前記学習用データを受信することと、を行う第1制御部と、を備え、
前記画像識別器は、自身の記憶部に保存された画像データのみならず、他の端末装置によって生成された前記学習用データを用いて前記重みパラメータを学習し、
前記管理装置は、前記学習によって得られた重みパラメータを前記複数の端末装置から受信し、最適な重みパラメータを選択する第2制御部を備える、ニューラルネットワークシステム。
【請求項2】
ニューラルネットワークは、複数の畳み込み層を有し、
前記第1制御部は、前記畳み込み層からの出力を、前記画像データに基づいて生成される学習用データとして送信する、請求項1に記載のニューラルネットワークシステム。
【請求項3】
前記画像識別器は、自身の記憶部に保存された画像データを用いて1層目の畳み込み層における学習を行い、自身の記憶部に保存された画像データと、他の端末装置によって生成された前記学習用データとを用いて2層目以降の畳み込み層における学習を行う、請求項2に記載のニューラルネットワークシステム。
【請求項4】
前記第1制御部または前記第2制御部は、前記画像データとは異なる検証用データを用いて、前記学習によって得られた重みパラメータの検証を行う、請求項1乃至3のいずれかに記載のニューラルネットワークシステム。
【請求項5】
前記第2制御部は、前記複数の端末装置から受信した前記学習によって得られた重みパラメータのうち、最も認識精度が高い重みパラメータを最適な重みパラメータとして選択する、請求項1乃至4のいずれかに記載のニューラルネットワークシステム。
【請求項6】
前記第2制御部は、前記複数の端末装置から受信した前記学習によって得られた重みパラメータに基づいて前記複数の端末装置をグループ化し、グループごとに最適な重みパラメータを選択する、請求項1乃至5のいずれかに記載のニューラルネットワークシステム。
【請求項7】
画像データが保存された記憶部と、
ニューラルネットワークにおける、画像識別を行うための重みパラメータを学習する画像識別器と、
学習によって得られた重みパラメータを管理装置に送信することと、前記画像データに基づいて生成される学習用データを他の端末装置または前記管理装置に送信することと、他の端末装置によって生成された前記学習用データを受信することと、を行う第1制御部と、を備え、
前記画像識別器は、自身の記憶部に保存された画像データのみならず、他の端末装置によって生成された前記学習用データを用いて前記重みパラメータを学習する、端末装置。
【請求項8】
複数の端末装置から、学習によって得られた重みパラメータと、認識精度と、を受信し、前記認識精度に基づいて、前記複数の端末装置から受信した重みパラメータから最適な重みパラメータを選択する第2制御部を備える、管理装置。
【請求項9】
端末装置が、ニューラルネットワークにおける、画像識別を行うための重みパラメータを学習する学習ステップと、
前記端末装置が、学習によって得られた重みパラメータを管理装置に送信ステップと、
前記管理装置が、前記学習によって得られた重みパラメータを複数の端末装置から受信し、最適な重みパラメータを選択する選択ステップと、を備え、
前記学習ステップは、前記端末装置が、
自身の記憶部に保存された画像データに基づいて生成される学習用データを他の端末装置または前記管理装置に送信することと、
他の端末装置によって生成された前記学習用データを受信することと、
自身の記憶部に保存された画像データのみならず、他の端末装置によって生成された前記学習用データを用いて前記重みパラメータを学習することと、を含む、ニューラルネットワークにおける重みパラメータの学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ニューラルネットワークにおける重みパラメータを学習するためのニューラルネットワークシステム、端末装置、管理装置およびニューラルネットワークにおける重みパラメータの学習方法に関する。
【背景技術】
【0002】
近年、多層畳み込みニューラルネットワークを用いた画像認識が広く行われるようになってきている。畳み込みニューラルネットワークは、比較的小さな複数のフィルタを畳み込む畳み込み層と、矩形領域を集約するプーリング層とを十数層重ね合わせたネットワークによって構成される。
【0003】
画像認識を行うためには、入力画像データと識別結果との誤差が最小となるよう、予め重みパラメータを適切に設定する必要がある。重みパラメータの探索および調整は学習と呼ばれる。画像認識の精度を向上するためには、多様かつ大量の画像データと、そのそれぞれについての正解データとの組を用いて学習しなければならない。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】G. E. Hinton and R. R. Salakhutdinov, "Reducing the Dimensionality of Data with Neural Networks", Science, 28 July, 2006, Vol. 313 (5786), pp504-507(http://www.cs.toronto.edu/~hinton/science.pdf)
【非特許文献2】P.Vincent, H. Larochelle Y. Bengio and P.A. Manzagol, "Extracting and Composing Robust Features with Denoising Autoencoders", Proceedings of the Twenty-fifth International Conference on Machine Learning (ICML'08), 2008, pp 1096 - 1103, ACM(http://www.iro.umontreal.ca/~lisa/publications2/index.php/attachments/single/176)
【発明の概要】
【発明が解決しようとする課題】
【0005】
このように多様かつ大量の画像データおよび正解データを用意するのは、多大な労力を要する。また、実際に認識対象となる画像データの母集団の標本となるデータ群を収集しなければならない。この点、研究や認識精度の検証などに広く用いられているデータセットは、必ずしも実ユーザが認識しようとする画像データでないことも多いし、実際のサービスで想定される画像データの母集団の標本となるものでもない。
【0006】
そこで、写真共有サービスや保存サービスにアップロードされている不特定多数のユーザの画像データを用いることも考えられる。しかしながら、そのような画像データを用いるのは、プライバシー上の問題が懸念される。
【0007】
本発明はこのような問題点に鑑みてなされたものであり、本発明の課題は、プライバシーを保護しつつ、多様かつ大量のデータを用いて学習を行うことができるニューラルネットワークシステム、端末装置、管理装置およびニューラルネットワークにおける重みパラメータの学習方法を提供することである。
【課題を解決するための手段】
【0008】
本発明の一態様によれば、複数の端末装置と、管理装置と、を備えるニューラルネットワークシステムであって、前記複数の端末装置のそれぞれは、画像データが保存された記憶部と、ニューラルネットワークにおける、画像識別を行うための重みパラメータを学習する画像識別器と、学習によって得られた重みパラメータを前記管理装置に送信することと、前記画像データに基づいて生成される学習用データを他の端末装置または前記管理装置に送信することと、他の端末装置によって生成された前記学習用データを受信することと、を行う第1制御部と、を備え、前記画像識別器は、自身の記憶部に保存された画像データのみならず、他の端末装置によって生成された前記学習用データを用いて前記重みパラメータを学習し、前記管理装置は、前記学習によって得られた重みパラメータを前記複数の端末装置から受信し、最適な重みパラメータを選択する第2制御部を備える、ニューラルネットワークシステムが提供される。
【0009】
端末装置から画像データそのものを送信するわけではないので、プライバシーを保護できる。また、画像データに基づいて生成される学習用データを他の端末装置と共用でき、多様かつ大量の画像データを学習に用いることができる。
【0010】
ニューラルネットワークは、複数の畳み込み層を有し、前記第1制御部は、前記畳み込み層からの出力を、前記画像データに基づいて生成される学習用データとして送信してもよい。
畳み込み層からの出力から画像データを復元するのは困難であるため、プライバシーを保護できる。
【0011】
前記画像識別器は、自身の記憶部に保存された画像データを用いて1層目の畳み込み層における学習を行い、自身の記憶部に保存された画像データと、他の端末装置によって生成された前記学習用データとを用いて2層目以降の畳み込み層における学習を行ってもよい。
これにより、2層目以降の畳み込み層の重みパラメータを精度よく学習できる。
【0012】
前記第1制御部または前記第2制御部は、前記画像データとは異なる検証用データを用いて、前記学習によって得られた重みパラメータの検証を行ってもよい。
検証用データは端末装置に保存された画像データではないため、プライバシーを保護しつつ、学習によって得られた重みパラメータを検証でき、最適な重みパラメータの選択に利用できる。
【0013】
前記第2制御部は、前記複数の端末装置から受信した前記学習によって得られた重みパラメータのうち、最も認識精度が高い重みパラメータを最適な重みパラメータとして選択してもよい。
これにより、他の端末でも最適な重みパラメータを用いることができるようになる。
【0014】
前記第2制御部は、前記複数の端末装置から受信した前記学習によって得られた重みパラメータに基づいて前記複数の端末装置をグループ化し、グループごとに最適な重みパラメータを選択してもよい。
傾向が近い端末装置どうしをグループ化することで、端末装置に応じてグループごとに適切な重みパラメータを選択できる。
【0015】
本発明の別の態様によれば、画像データが保存された記憶部と、ニューラルネットワークにおける、画像識別を行うための重みパラメータを学習する画像識別器と、学習によって得られた重みパラメータを管理装置に送信することと、前記画像データに基づいて生成される学習用データを他の端末装置または前記管理装置に送信することと、他の端末装置によって生成された前記学習用データを受信することと、を行う第1制御部と、を備え、前記画像識別器は、自身の記憶部に保存された画像データのみならず、他の端末装置によって生成された前記学習用データを用いて前記重みパラメータを学習する、端末装置が提供される。
【0016】
本発明の別の態様によれば、複数の端末装置から、学習によって得られた重みパラメータと、認識精度と、を受信し、前記認識精度に基づいて、前記複数の端末装置から受信した重みパラメータから最適な重みパラメータを選択する第2制御部を備える、管理装置が提供される。
【0017】
本発明の別の態様によれば、端末装置が、ニューラルネットワークにおける、画像識別を行うための重みパラメータを学習する学習ステップと、前記端末装置が、学習によって得られた重みパラメータを管理装置に送信ステップと、前記管理装置が、前記学習によって得られた重みパラメータを複数の端末装置から受信し、最適な重みパラメータを選択する選択ステップと、を備え、前記学習ステップは、前記端末装置が、自身の記憶部に保存された画像データに基づいて生成される学習用データを他の端末装置または前記管理装置に送信することと、他の端末装置によって生成された前記学習用データを受信することと、自身の記憶部に保存された画像データのみならず、他の端末装置によって生成された前記学習用データを用いて前記重みパラメータを学習することと、を含む、ニューラルネットワークにおける重みパラメータの学習方法が提供される。
が提供される。
【発明の効果】
【0018】
本発明によれば、端末装置から画像データそのものではなく、画像データに基づいて生成される学習用データを他の端末装置と共用することで、プライバシーを保護しつつ、多様かつ大量の画像データを学習に用いることができる。
【図面の簡単な説明】
【0019】
図1】一実施形態に係るニューラルネットワークシステムの概略構成を示すブロック図。
図2】畳み込みニューラルネットワーク構成を示す図。
図3】ニューラルネットワークシステムによる学習時の処理動作の一例を示すシーケンス図。
図4】教師なし事前学習の処理フローを示すシーケンス図。
図5】分散学習による検証の処理フローを示すシーケンス図。
図6】第2の実施形態に係る分散学習による検証の処理フローを示すシーケンス図。
図7】グループごとの最適重みパラメータ選択を説明する図。
【発明を実施するための形態】
【0020】
以下、本発明に係る実施形態について、図面を参照しながら具体的に説明する。
(第1の実施形態)
図1は、一実施形態に係るニューラルネットワークシステムの概略構成を示すブロック図である。このニューラルネットワークシステムは畳み込みニューラルネットワーク(Convolution Neural Network;以下、CNNという)における重みパラメータを学習することが可能であり、学習用の画像データを収集して利用する2以上の端末装置1と、各端末装置1での学習結果を共有、統合、送信するための管理装置2から構成される。
【0021】
端末装置1のそれぞれは、例えばスマートフォンやタブレットといったモバイル機器であり、カメラ11と、記憶部12と、画像識別器13と、制御部14とを備えている。
【0022】
カメラ11は、端末装置1のユーザからの操作に応じて撮影を行い、画像データを生成する。この画像データは記憶部12に保存される。当然であるが、各端末装置1の記憶部12には端末装置1ごとに異なる画像データが保存されている。
画像識別器13には、他の端末装置1とも共通するCNN構成が設定され、CNNにおける重みパラメータの学習や、所定の重みパラメータが設定されたCNNによる画像の識別を行うことができる。
【0023】
図2は、CNN構成の一例を示す図である。図示のように、CNNは、畳み込み層ネットワーク30と、その後段に配置された全結合層ネットワーク40とから構成される。畳み込み層ネットワーク30は、入力されるデータにフィルタを適用して畳み込み演算を施す畳み込み層31と、畳み込み演算後のデータを集約して解像度を下げるプーリング層32と、を複数段接続したものである。全結合層ネットワーク40は複数の全結合層41を有し、畳み込み層ネットワーク30の出力から最終的な識別結果を出力する。なお、重みパラメータとは、畳み込み層31におけるフィルタの重み係数やバイアスを指す。
【0024】
このようなCNNが設定される画像識別器13は、重みパラメータの学習時には、全結合層ネットワーク40を切り離した上で、正しい識別結果が得られるよう重みパラメータを更新(すなわち学習)する。得られた重みパラメータは記憶部12に保存される。
また、画像識別器13は、画像の識別時には、入力される任意の画像データを処理して、全結合層ネットワーク40から識別結果を出力する。
【0025】
図1に戻り、制御部14は記憶部12および画像識別器13に接続されるとともに、端末装置1全体を制御する。例えば、制御部14は、記憶部12からデータを読み出したり、記憶部12にデータを保存したりする。また、制御部14は、画像識別器13にCNN構成や重みパラメータを設定したり、学習を指示したりする。さらに、制御部14は通信経路を介して管理装置2と通信する。具体的には、制御部14は、学習に必要なデータを管理装置2に要求して受信したり、学習によって更新された重みパラメータを管理装置2に送信したりする。
【0026】
管理装置2は、記憶部21と、制御部22とを備えている。
記憶部21は、CNN構成、初期重みパラメータ、最適重みパラメータ、事前学習用データ、検証用データセットなどを記憶している。
【0027】
CNN構成とは、例えば図2における畳み込み層31の段数、フィルタの数やサイズなどCNNを定義する情報である。初期重みパラメータとは、フィルタの重み係数やバイアスといった重みパラメータの初期値であり、例えば乱数で初期化されている。最適重みパラメータとは、1回以上の学習を行って得られた、最新の最適な重みパラメータである。
【0028】
事前学習用データとは、後述する事前学習用の画像データのセットであり、各端末装置1から受信される。検証用データセットとは、後述する検証用の画像データおよび正解データの組のセットである。なお、検証用データセットは各端末装置1に配信されるものであるため、各端末装置1に保存されている画像データではなく、別途収集したものであるのが望ましい。
【0029】
制御部22は記憶部21に接続されるとともに、管理装置2全体を制御する。例えば、制御部22は、記憶部21からデータを読み出したり、記憶部21にデータを保存したりする。また、制御部22は通信経路を介して各端末装置1と通信する。具体的には、制御部22は、学習に必要なデータを管理装置2に送信したり、学習によって更新された重みパラメータを各端末装置1から受信したりする。
【0030】
図3は、ニューラルネットワークシステムによる学習時の処理動作の一例を示すシーケンス図である。
まず、次のステップS1,S11およびS2の処理によって、初期設定を行う。
【0031】
すなわち、まず端末装置1の制御部14は、CNN構成および重みパラメータを管理装置2に要求する(ステップS1)。
この要求に応答して、管理装置2の制御部22はCNN構成および重みパラメータを記憶部21から読み出す。重みパラメータとして、初めて学習を行う場合には初期重みパラメータを読み出し、以前に学習を行って最適重みパラメータが記憶されている場合には最適重みパラメータを読み出せばよい。そして、制御部22はCNN構成および重みパラメータを端末装置1に送信する(ステップS11)。
【0032】
端末装置1の制御部14はCNN構成および重みパラメータを管理装置2から受信し、これらを画像識別器13に設定する(ステップS2)。なお、重みパラメータは、管理装置2から送信されたものを用いる代わりに、端末装置1自身が乱数などによって設定してもよい。
【0033】
続いて、画像識別器13は教師なし事前学習を行って重みパラメータを更新する(ステップS3)。教師なし学習とは正解データを必要としない学習であり、1層目の畳み込み層から1層ずつ、出力側から入力側に逆演算処理を行う対称構造ネットワークを定義し、この対称構造ネットワークによって入力データが正しく再構成されるよう、重みパラメータを更新する手法である。教師なし学習の具体的なアルゴリズムとして、Auto EncoderあるいはDenoising Auto Encoder(上記非特許文献1,2参照)など、公知の手法を適用できる。
【0034】
画像識別器13は、自身の端末装置1における記憶部12に保存された画像データのみを用いて教師なし事前学習を行ってもよいが、次に説明するように管理装置2と協働して教師なし事前学習を行うのが望ましい。
【0035】
図4は、教師なし事前学習の処理フローを示すシーケンス図であり、図3のステップS3を詳しく説明するものである。
まず、画像識別器13は、自身の端末装置1内の記憶部12に保存された画像データを用いて、1層目の畳み込み層における重みパラメータの更新(「1層目の事前学習」という、以下同じ)を行う(ステップS21)。
【0036】
また、1層目から出力されるデータを他の端末装置1と共用すべく、制御部14はこれを管理装置2に送信する(ステップS22)。管理装置2の制御部22は、受信したデータを2層目の事前学習用データとして受信し、記憶部21に保存する(ステップS31)。
【0037】
ここで、端末装置1の制御部14は、プライバシーに配慮し、記憶部12に保存された画像データそのものを管理装置2に送信しない。その代わりに、制御部14は1層目によって生成され出力されたデータを学習用データとして管理装置2に送信する。1層目から出力されたデータから元の画像データを完全に復元することは困難であるため、プライバシーは保たれる。しかも、1つの端末装置1内に保存された画像データに基づくデータを、他の端末装置1での学習に用いることができる。
【0038】
1層目の事前学習が完了すると、2層目の事前学習を行うために、端末装置1の制御部14は2層目の事前学習用データを管理装置2に要求する(ステップS23)。管理装置2の制御部22は、記憶部21に保存された2層目の事前学習用データを読み出し、端末装置1に送信する(ステップS32)。なお、図4では管理装置2を介して事前学習用データを他の端末装置1に送信して共用する例を示しているが、端末装置1どうしで直接送受信を行って共用してもよい。
【0039】
端末装置1の制御部14は2層目の事前学習用データを管理装置2から受信する(ステップS24)。そして、画像識別器13は2層目の事前学習を行う(ステップS25)。事前学習の際、画像識別器13は、自身の端末装置1内の記憶部12に記憶された画像データを1層目に入力して得られた出力データ(以下、自データという)のみならず、管理装置2から受信した2層目の事前学習用データ(以下、共用データという)も用いて、事前学習を行うのが望ましい。これにより、学習に用いるデータが増え、識別精度が向上する。
【0040】
なお、2層目の事前学習において、自データのみを用いてもよいし、共用データのみを用いてもよい。また、用いる自データと共用データの比率も任意に設定可能である。事前学習において、自データと共用データとで処理上の差異はない。
【0041】
また、2層目によって生成され出力されるデータを他の端末装置1と共用すべく、制御部14はこれを管理装置2に送信する(ステップS)。管理装置2の制御部22は、受信したデータを3層目の事前学習用データとして受信し、記憶部21に保存する(ステップS33)。
【0042】
以上のステップS23〜S26,S32,S33を3層目以降も繰り返し、全ての層について事前学習を行う(ステップS27)。これにより、全層における重みパラメータの事前学習が完了し、重みパラメータが更新される。
【0043】
CNNの画像認識精度を高くするためには、各層の重みパラメータを効率よく学習する必要がある。学習開始時の初期重みパラメータが乱数などによって初期化されたものである場合、学習の完了までに多くの学習データセットおよび重みパラメータ更新などの処理が必要となる。本実施形態においては、重みパラメータ学習時の初期重みパラメータとして、上述した教師なし事前学習を行う。そのため、以後の学習処理の収束および学習時間を短縮させることができる。
【0044】
図3に戻り、画像識別器13による教師なし事前学習が完了すると、制御部14は、次のように管理装置2と協働して分散学習を行い、更新された重みパラメータの検証を行う。(ステップS4)。
【0045】
図5は、分散学習による検証の処理フローを示すシーケンス図であり、図3のステップS4を詳しく説明するものである。
端末装置1の制御部14は、教師なし事前学習が完了した旨を管理装置2に通知する(ステップS41)。この通知は検証用データセットの要求と考えることもできる。
【0046】
この通知に応答して、管理装置2の制御部22は記憶部21から検証用データセットを読み出し、端末装置1に送信する(ステップS51)。上述したように、検証用データセットは検証用画像データと正解データとの組である。端末装置1の制御部14は、検証用データセットを受信する(ステップS42)。なお、各端末装置1が予め検証用データセットを保存しておくようにしてもよい。
【0047】
端末装置1の画像識別器13は、更新後の重みパラメータを用い、検証用画像データに対する識別を行う(ステップS43)。
【0048】
そして、制御部14は、画像識別器13が検証用画像データを処理して出力された識別結果と、正解データとが一致した割合(認識率)を認識精度として把握する。そして、制御部14は更新後の重みパラメータおよび認識精度を管理装置2に送信する(ステップS44)。なお、画像識別器13が更新前の重みパラメータを用いた識別も行い、更新前後で認識精度がどの程度変化するかを管理装置2に送信してもよい。
【0049】
管理装置2の制御部22は、複数の端末装置1のそれぞれから、重みパラメータおよび認識精度を受信する(ステップS52)。各端末装置1はそれぞれ異なる画像データを用いて事前学習が行われるため、それぞれ異なる重みパラメータおよび認識精度が得られる。
【0050】
そこで、管理装置2の制御部22は認識精度に基づいて重みパラメータを選択し(ステップS53)、記憶部21に保存する。具体的には、制御部22は、最も高い認識精度が得られた端末装置1からの更新後の重みパラメータを、その時点での最適重みパラメータとして選択することとができる。
【0051】
なお、図5では端末装置1が検証用データセットを用いて検証を行うこととしたが、端末装置1の制御部14が重みパラメータを管理装置2に送信し、管理装置2内に画像識別器を設けて管理装置2の制御部22が検証を行ってもよい。
以上のような分散学習が完了すると、管理装置2の制御部22は最適重みパラメータを各端末装置1に送信する(図3のステップS12)。
【0052】
端末装置1の制御部14は、最適重みパラメータを管理装置2から受信して記憶部12に保存するとともに、画像識別器13に設定する(ステップS5)。これにより、画像識別器13は新たな重みパラメータを使用して学習や識別を行うことができる。なお、画像識別器13は、更新前の重みパラメータと、更新後の重みパラメータ(つまり管理装置2から受信した最適重みパラメータ)を用いて識別を行って認識精度が低下しないことを確認した上で、更新後の重みパラメータを採用するようにしてもよい。
【0053】
このように、第1の実施形態では、各端末装置1が持つ画像データそのものを管理装置2に(したがって別の端末装置1にも)送信する必要はない。そのため、プライバシーを保護できる。また、CNN構造における1層目以降の出力データを管理装置2に送信して、事前学習用データとして他の端末装置1と共用する。事前学習用データは各端末装置1のユーザによって撮影された画像データに基づくものである。そのため、実際に認識対象となる画像データの母集団を統計的に代表するデータと言える。したがって、各端末装置1は多様かつ大量のデータを用いて学習を行うことができ、画像識別器13の認識精度が向上する。
【0054】
以上説明した本実施形態では、端末装置1がスマートフォンやタブレットである例を示した。しかしながら、端末装置1は分散学習を行うための大規模演算装置であってもよい。そして、管理装置2などから大量の画像データセットを予め各大規模演算装置に分散配布して、その記憶部12内に保存しておけばよい。その他の処理動作は上述した通りである。
【0055】
(第2の実施形態)
端末装置1がスマートフォンやタブレットである場合、各端末装置1に保存されている画像データには、ユーザの利用環境や思考に応じて何らかの傾向が存在することが多い。例えば、ユーザによって、日々の食事を多く撮影したり、風景を多く撮影したり、乗り物を多く撮影したりすることがある。また、ユーザの年齢や性別といった属性によって傾向が異なることもある。
【0056】
上述した第1の実施形態は、各端末装置1に保存された画像データを用いて学習を行うものであった。例えば、ある端末装置1に乗り物の画像データが多く保存されている場合、その端末装置1の学習によれば、乗り物の画像データに対する認識精度は高くなる一方で、他の画像データに対する認識精度は低くなることもある。すなわち、識別を行う対象によって、最適な重みパラメータが異なり得る。
【0057】
このような事情を考慮し、第2の実施形態では、傾向が共通する端末装置1をグループ化してより適切な重みパラメータを得るものとする。以下、第1の実施形態との相違点を中心に説明する。
【0058】
図6は、第2の実施形態に係る分散学習による検証の処理フローを示すシーケンス図である。図5と比較してステップS61が追加されている点およびステップS53の処理が異なる。
【0059】
図5と同様のステップS52において、管理装置2の制御部22は、複数の端末装置1のそれぞれから、重みパラメータおよび認識精度を受信する。そして、制御部22は受信された重みパラメータに基づいて端末装置1を1または複数のグループに分類する(ステップS61)。より具体的には、制御部22は、重みパラメータが類似している端末装置1が同一グループに属するよう、分類を行う。類似しているか否かは、例えば対応する重みパラメータどうしの二乗誤差に基づいて判断できる。
【0060】
これにより、類似する画像データが保存された端末装置1どうしが同一グループに分類されることが期待される。例えば、食事の画像データが多く保存された端末装置1が1つのグループに分類され、風景の画像データが多く保存された端末装置1が別のグループに分類され、乗り物の画像データが多く保存された端末装置1がまた別のグループに分類される。
【0061】
次いで、制御部22は、グループごとに重みパラメータを選択し(ステップS53’)、記憶部21に保存する。具体的には、各グループ内で最も高い認識精度が得られた端末装置1からの重みパラメータを、その時点での最適な重みパラメータとすることができる。
【0062】
図7は、グループごとの最適重みパラメータ選択を説明する図である。説明を簡略化するために、図6のステップS61において、端末装置A,C,Eからなるグループ1と、端末装置B,D,Fからなるグループ2に分類されたとする。
【0063】
グループ1に属する端末装置A,C,Eのうち、端末装置Aの認識率が80%と最も高い。よって、制御部22は、グループ1について、端末装置Aから受信した重みパラメータWaを最適重みパラメータとして選択する。この重みパラメータWaは、端末装置A,C,Eに保存された画像データを識別するのに適した重みパラメータと言える。
【0064】
一方、グループ2に属する端末装置B,D,Fのうち、端末装置Bの認識率が60%と最も高い。この場合、端末装置Bの認識率より端末装置Aの認識率が高いが、制御部22は、グループ2について、端末装置Bから受信した重みパラメータWbを最適重みパラメータとして選択する。この重みパラメータWbは、端末装置B,D,Fに保存された画像データを識別するのに適した重みパラメータと言える。
【0065】
このようにして選択された最適パラメータは、制御部22によって各グループに属する端末装置1に送信される。図7の例であれば、重みパラメータWaが端末装置A,C,Eに送信され、重みパラメータWbが端末装置B,D,Fに送信される。
【0066】
例えば、端末装置A,C,Eのユーザが食事をよく撮影するユーザであった場合、食事の識別に適した重みパラメータが設定される。そのため、このユーザが別の食事を新たに撮影して識別を行った場合に、高い精度で識別することができる。
【0067】
このように、第2の実施形態では、重みパラメータが類似する端末装置1どうしをグループ化するため、グループごとに適切な重みパラメータを学習できる。
【0068】
なお、各端末装置1が属するグループを予め定めておいてもよい。その場合、図6のステップS44において、各端末装置1の制御部14は、重みパラメータおよび認識精度に加え、グループを特定する情報を管理装置2に送信すればよい。そうすれば、管理装置2の制御部22は、グループ化(ステップS61)を行うことなく、グループごとに最適重みパラメータを選択(ステップS53’)できる。
【0069】
また、各端末装置1が属するグループを予め定めておく場合、教師なし事前学習で各層の出力データを送信する際に(図4のステップS22,S26)、やはりグループを特定する情報を管理装置2に送信してもよい。そして、管理装置2は、同一グループに属する他の端末装置1に事前学習用データを送信してもよい(ステップS32)。
【0070】
上述した実施形態は、本発明が属する技術分野における通常の知識を有する者が本発明を実施できることを目的として記載されたものである。上記実施形態の種々の変形例は、当業者であれば当然になしうることであり、本発明の技術的思想は他の実施形態にも適用しうることである。したがって、本発明は、記載された実施形態に限定されることはなく、特許請求の範囲によって定義される技術的思想に従った最も広い範囲とすべきである。
【符号の説明】
【0071】
1 端末装置
11 カメラ
12 記憶部
13 画像識別器
14 制御部
2 管理装置
21 記憶部
22 制御部
30 畳み込み層ネットワーク
31 畳み込み層
32 プーリング層
40 全結合層ネットワーク
41 全結合層
図1
図2
図3
図4
図5
図6
図7