(57)【特許請求の範囲】
【請求項１】
複数の端末装置と、管理装置と、を備えるニューラルネットワークシステムであって、
前記複数の端末装置のそれぞれは、
画像データが保存された記憶部と、
ニューラルネットワークにおける、画像識別を行うための重みパラメータを学習する画像識別器と、
学習によって得られた重みパラメータを前記管理装置に送信することと、前記画像データに基づいて生成される学習用データを他の端末装置または前記管理装置に送信することと、他の端末装置によって生成された前記学習用データを受信することと、を行う第１制御部と、を備え、
前記画像識別器は、自身の記憶部に保存された画像データのみならず、他の端末装置によって生成された前記学習用データを用いて前記重みパラメータを学習し、
前記管理装置は、前記学習によって得られた重みパラメータを前記複数の端末装置から受信し、最適な重みパラメータを選択する第２制御部を備える、ニューラルネットワークシステム。
【請求項２】
ニューラルネットワークは、複数の畳み込み層を有し、
前記第１制御部は、前記畳み込み層からの出力を、前記画像データに基づいて生成される学習用データとして送信する、請求項１に記載のニューラルネットワークシステム。
【請求項３】
前記画像識別器は、自身の記憶部に保存された画像データを用いて１層目の畳み込み層における学習を行い、自身の記憶部に保存された画像データと、他の端末装置によって生成された前記学習用データとを用いて２層目以降の畳み込み層における学習を行う、請求項２に記載のニューラルネットワークシステム。
【請求項４】
前記第１制御部または前記第２制御部は、前記画像データとは異なる検証用データを用いて、前記学習によって得られた重みパラメータの検証を行う、請求項１乃至３のいずれかに記載のニューラルネットワークシステム。
【請求項５】
前記第２制御部は、前記複数の端末装置から受信した前記学習によって得られた重みパラメータのうち、最も認識精度が高い重みパラメータを最適な重みパラメータとして選択する、請求項１乃至４のいずれかに記載のニューラルネットワークシステム。
【請求項６】
前記第２制御部は、前記複数の端末装置から受信した前記学習によって得られた重みパラメータに基づいて前記複数の端末装置をグループ化し、グループごとに最適な重みパラメータを選択する、請求項１乃至５のいずれかに記載のニューラルネットワークシステム。
【請求項７】
画像データが保存された記憶部と、
ニューラルネットワークにおける、画像識別を行うための重みパラメータを学習する画像識別器と、
学習によって得られた重みパラメータを管理装置に送信することと、前記画像データに基づいて生成される学習用データを他の端末装置または前記管理装置に送信することと、他の端末装置によって生成された前記学習用データを受信することと、を行う第１制御部と、を備え、
前記画像識別器は、自身の記憶部に保存された画像データのみならず、他の端末装置によって生成された前記学習用データを用いて前記重みパラメータを学習する、端末装置。
【請求項８】
複数の端末装置から、学習によって得られた重みパラメータと、認識精度と、を受信し、前記認識精度に基づいて、前記複数の端末装置から受信した重みパラメータから最適な重みパラメータを選択する第２制御部を備える、管理装置。
【請求項９】
端末装置が、ニューラルネットワークにおける、画像識別を行うための重みパラメータを学習する学習ステップと、
前記端末装置が、学習によって得られた重みパラメータを管理装置に送信ステップと、
前記管理装置が、前記学習によって得られた重みパラメータを複数の端末装置から受信し、最適な重みパラメータを選択する選択ステップと、を備え、
前記学習ステップは、前記端末装置が、
自身の記憶部に保存された画像データに基づいて生成される学習用データを他の端末装置または前記管理装置に送信することと、
他の端末装置によって生成された前記学習用データを受信することと、
自身の記憶部に保存された画像データのみならず、他の端末装置によって生成された前記学習用データを用いて前記重みパラメータを学習することと、を含む、ニューラルネットワークにおける重みパラメータの学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ニューラルネットワークにおける重みパラメータを学習するためのニューラルネットワークシステム、端末装置、管理装置およびニューラルネットワークにおける重みパラメータの学習方法に関する。
【背景技術】
【０００２】
近年、多層畳み込みニューラルネットワークを用いた画像認識が広く行われるようになってきている。畳み込みニューラルネットワークは、比較的小さな複数のフィルタを畳み込む畳み込み層と、矩形領域を集約するプーリング層とを十数層重ね合わせたネットワークによって構成される。
【０００３】
画像認識を行うためには、入力画像データと識別結果との誤差が最小となるよう、予め重みパラメータを適切に設定する必要がある。重みパラメータの探索および調整は学習と呼ばれる。画像認識の精度を向上するためには、多様かつ大量の画像データと、そのそれぞれについての正解データとの組を用いて学習しなければならない。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】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）
【非特許文献２】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）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このように多様かつ大量の画像データおよび正解データを用意するのは、多大な労力を要する。また、実際に認識対象となる画像データの母集団の標本となるデータ群を収集しなければならない。この点、研究や認識精度の検証などに広く用いられているデータセットは、必ずしも実ユーザが認識しようとする画像データでないことも多いし、実際のサービスで想定される画像データの母集団の標本となるものでもない。
【０００６】
そこで、写真共有サービスや保存サービスにアップロードされている不特定多数のユーザの画像データを用いることも考えられる。しかしながら、そのような画像データを用いるのは、プライバシー上の問題が懸念される。
【０００７】
本発明はこのような問題点に鑑みてなされたものであり、本発明の課題は、プライバシーを保護しつつ、多様かつ大量のデータを用いて学習を行うことができるニューラルネットワークシステム、端末装置、管理装置およびニューラルネットワークにおける重みパラメータの学習方法を提供することである。
【課題を解決するための手段】
【０００８】
本発明の一態様によれば、複数の端末装置と、管理装置と、を備えるニューラルネットワークシステムであって、前記複数の端末装置のそれぞれは、画像データが保存された記憶部と、ニューラルネットワークにおける、画像識別を行うための重みパラメータを学習する画像識別器と、学習によって得られた重みパラメータを前記管理装置に送信することと、前記画像データに基づいて生成される学習用データを他の端末装置または前記管理装置に送信することと、他の端末装置によって生成された前記学習用データを受信することと、を行う第１制御部と、を備え、前記画像識別器は、自身の記憶部に保存された画像データのみならず、他の端末装置によって生成された前記学習用データを用いて前記重みパラメータを学習し、前記管理装置は、前記学習によって得られた重みパラメータを前記複数の端末装置から受信し、最適な重みパラメータを選択する第２制御部を備える、ニューラルネットワークシステムが提供される。
【０００９】
端末装置から画像データそのものを送信するわけではないので、プライバシーを保護できる。また、画像データに基づいて生成される学習用データを他の端末装置と共用でき、多様かつ大量の画像データを学習に用いることができる。
【００１０】
ニューラルネットワークは、複数の畳み込み層を有し、前記第１制御部は、前記畳み込み層からの出力を、前記画像データに基づいて生成される学習用データとして送信してもよい。
畳み込み層からの出力から画像データを復元するのは困難であるため、プライバシーを保護できる。
【００１１】
前記画像識別器は、自身の記憶部に保存された画像データを用いて１層目の畳み込み層における学習を行い、自身の記憶部に保存された画像データと、他の端末装置によって生成された前記学習用データとを用いて２層目以降の畳み込み層における学習を行ってもよい。
これにより、２層目以降の畳み込み層の重みパラメータを精度よく学習できる。
【００１２】
前記第１制御部または前記第２制御部は、前記画像データとは異なる検証用データを用いて、前記学習によって得られた重みパラメータの検証を行ってもよい。
検証用データは端末装置に保存された画像データではないため、プライバシーを保護しつつ、学習によって得られた重みパラメータを検証でき、最適な重みパラメータの選択に利用できる。
【００１３】
前記第２制御部は、前記複数の端末装置から受信した前記学習によって得られた重みパラメータのうち、最も認識精度が高い重みパラメータを最適な重みパラメータとして選択してもよい。
これにより、他の端末でも最適な重みパラメータを用いることができるようになる。
【００１４】
前記第２制御部は、前記複数の端末装置から受信した前記学習によって得られた重みパラメータに基づいて前記複数の端末装置をグループ化し、グループごとに最適な重みパラメータを選択してもよい。
傾向が近い端末装置どうしをグループ化することで、端末装置に応じてグループごとに適切な重みパラメータを選択できる。
【００１５】
本発明の別の態様によれば、画像データが保存された記憶部と、ニューラルネットワークにおける、画像識別を行うための重みパラメータを学習する画像識別器と、学習によって得られた重みパラメータを管理装置に送信することと、前記画像データに基づいて生成される学習用データを他の端末装置または前記管理装置に送信することと、他の端末装置によって生成された前記学習用データを受信することと、を行う第１制御部と、を備え、前記画像識別器は、自身の記憶部に保存された画像データのみならず、他の端末装置によって生成された前記学習用データを用いて前記重みパラメータを学習する、端末装置が提供される。
【００１６】
本発明の別の態様によれば、複数の端末装置から、学習によって得られた重みパラメータと、認識精度と、を受信し、前記認識精度に基づいて、前記複数の端末装置から受信した重みパラメータから最適な重みパラメータを選択する第２制御部を備える、管理装置が提供される。
【００１７】
本発明の別の態様によれば、端末装置が、ニューラルネットワークにおける、画像識別を行うための重みパラメータを学習する学習ステップと、前記端末装置が、学習によって得られた重みパラメータを管理装置に送信ステップと、前記管理装置が、前記学習によって得られた重みパラメータを複数の端末装置から受信し、最適な重みパラメータを選択する選択ステップと、を備え、前記学習ステップは、前記端末装置が、自身の記憶部に保存された画像データに基づいて生成される学習用データを他の端末装置または前記管理装置に送信することと、他の端末装置によって生成された前記学習用データを受信することと、自身の記憶部に保存された画像データのみならず、他の端末装置によって生成された前記学習用データを用いて前記重みパラメータを学習することと、を含む、ニューラルネットワークにおける重みパラメータの学習方法が提供される。
が提供される。
【発明の効果】
【００１８】
本発明によれば、端末装置から画像データそのものではなく、画像データに基づいて生成される学習用データを他の端末装置と共用することで、プライバシーを保護しつつ、多様かつ大量の画像データを学習に用いることができる。
【図面の簡単な説明】
【００１９】
【図１】一実施形態に係るニューラルネットワークシステムの概略構成を示すブロック図。
【図２】畳み込みニューラルネットワーク構成を示す図。
【図３】ニューラルネットワークシステムによる学習時の処理動作の一例を示すシーケンス図。
【図４】教師なし事前学習の処理フローを示すシーケンス図。
【図５】分散学習による検証の処理フローを示すシーケンス図。
【図６】第２の実施形態に係る分散学習による検証の処理フローを示すシーケンス図。
【図７】グループごとの最適重みパラメータ選択を説明する図。
【発明を実施するための形態】
【００２０】
以下、本発明に係る実施形態について、図面を参照しながら具体的に説明する。
（第１の実施形態）
図１は、一実施形態に係るニューラルネットワークシステムの概略構成を示すブロック図である。このニューラルネットワークシステムは畳み込みニューラルネットワーク（Convolution Neural Network；以下、ＣＮＮという）における重みパラメータを学習することが可能であり、学習用の画像データを収集して利用する２以上の端末装置１と、各端末装置１での学習結果を共有、統合、送信するための管理装置２から構成される。
【００２１】
端末装置１のそれぞれは、例えばスマートフォンやタブレットといったモバイル機器であり、カメラ１１と、記憶部１２と、画像識別器１３と、制御部１４とを備えている。
【００２２】
カメラ１１は、端末装置１のユーザからの操作に応じて撮影を行い、画像データを生成する。この画像データは記憶部１２に保存される。当然であるが、各端末装置１の記憶部１２には端末装置１ごとに異なる画像データが保存されている。
画像識別器１３には、他の端末装置１とも共通するＣＮＮ構成が設定され、ＣＮＮにおける重みパラメータの学習や、所定の重みパラメータが設定されたＣＮＮによる画像の識別を行うことができる。
【００２３】
図２は、ＣＮＮ構成の一例を示す図である。図示のように、ＣＮＮは、畳み込み層ネットワーク３０と、その後段に配置された全結合層ネットワーク４０とから構成される。畳み込み層ネットワーク３０は、入力されるデータにフィルタを適用して畳み込み演算を施す畳み込み層３１と、畳み込み演算後のデータを集約して解像度を下げるプーリング層３２と、を複数段接続したものである。全結合層ネットワーク４０は複数の全結合層４１を有し、畳み込み層ネットワーク３０の出力から最終的な識別結果を出力する。なお、重みパラメータとは、畳み込み層３１におけるフィルタの重み係数やバイアスを指す。
【００２４】
このようなＣＮＮが設定される画像識別器１３は、重みパラメータの学習時には、全結合層ネットワーク４０を切り離した上で、正しい識別結果が得られるよう重みパラメータを更新（すなわち学習）する。得られた重みパラメータは記憶部１２に保存される。
また、画像識別器１３は、画像の識別時には、入力される任意の画像データを処理して、全結合層ネットワーク４０から識別結果を出力する。
【００２５】
図１に戻り、制御部１４は記憶部１２および画像識別器１３に接続されるとともに、端末装置１全体を制御する。例えば、制御部１４は、記憶部１２からデータを読み出したり、記憶部１２にデータを保存したりする。また、制御部１４は、画像識別器１３にＣＮＮ構成や重みパラメータを設定したり、学習を指示したりする。さらに、制御部１４は通信経路を介して管理装置２と通信する。具体的には、制御部１４は、学習に必要なデータを管理装置２に要求して受信したり、学習によって更新された重みパラメータを管理装置２に送信したりする。
【００２６】
管理装置２は、記憶部２１と、制御部２２とを備えている。
記憶部２１は、ＣＮＮ構成、初期重みパラメータ、最適重みパラメータ、事前学習用データ、検証用データセットなどを記憶している。
【００２７】
ＣＮＮ構成とは、例えば図２における畳み込み層３１の段数、フィルタの数やサイズなどＣＮＮを定義する情報である。初期重みパラメータとは、フィルタの重み係数やバイアスといった重みパラメータの初期値であり、例えば乱数で初期化されている。最適重みパラメータとは、１回以上の学習を行って得られた、最新の最適な重みパラメータである。
【００２８】
事前学習用データとは、後述する事前学習用の画像データのセットであり、各端末装置１から受信される。検証用データセットとは、後述する検証用の画像データおよび正解データの組のセットである。なお、検証用データセットは各端末装置１に配信されるものであるため、各端末装置１に保存されている画像データではなく、別途収集したものであるのが望ましい。
【００２９】
制御部２２は記憶部２１に接続されるとともに、管理装置２全体を制御する。例えば、制御部２２は、記憶部２１からデータを読み出したり、記憶部２１にデータを保存したりする。また、制御部２２は通信経路を介して各端末装置１と通信する。具体的には、制御部２２は、学習に必要なデータを管理装置２に送信したり、学習によって更新された重みパラメータを各端末装置１から受信したりする。
【００３０】
図３は、ニューラルネットワークシステムによる学習時の処理動作の一例を示すシーケンス図である。
まず、次のステップＳ１，Ｓ１１およびＳ２の処理によって、初期設定を行う。
【００３１】
すなわち、まず端末装置１の制御部１４は、ＣＮＮ構成および重みパラメータを管理装置２に要求する（ステップＳ１）。
この要求に応答して、管理装置２の制御部２２はＣＮＮ構成および重みパラメータを記憶部２１から読み出す。重みパラメータとして、初めて学習を行う場合には初期重みパラメータを読み出し、以前に学習を行って最適重みパラメータが記憶されている場合には最適重みパラメータを読み出せばよい。そして、制御部２２はＣＮＮ構成および重みパラメータを端末装置１に送信する（ステップＳ１１）。
【００３２】
端末装置１の制御部１４はＣＮＮ構成および重みパラメータを管理装置２から受信し、これらを画像識別器１３に設定する（ステップＳ２）。なお、重みパラメータは、管理装置２から送信されたものを用いる代わりに、端末装置１自身が乱数などによって設定してもよい。
【００３３】
続いて、画像識別器１３は教師なし事前学習を行って重みパラメータを更新する（ステップＳ３）。教師なし学習とは正解データを必要としない学習であり、１層目の畳み込み層から１層ずつ、出力側から入力側に逆演算処理を行う対称構造ネットワークを定義し、この対称構造ネットワークによって入力データが正しく再構成されるよう、重みパラメータを更新する手法である。教師なし学習の具体的なアルゴリズムとして、Ａｕｔｏ  ＥｎｃｏｄｅｒあるいはＤｅｎｏｉｓｉｎｇ  Ａｕｔｏ  Ｅｎｃｏｄｅｒ（上記非特許文献１，２参照）など、公知の手法を適用できる。
【００３４】
画像識別器１３は、自身の端末装置１における記憶部１２に保存された画像データのみを用いて教師なし事前学習を行ってもよいが、次に説明するように管理装置２と協働して教師なし事前学習を行うのが望ましい。
【００３５】
図４は、教師なし事前学習の処理フローを示すシーケンス図であり、図３のステップＳ３を詳しく説明するものである。
まず、画像識別器１３は、自身の端末装置１内の記憶部１２に保存された画像データを用いて、１層目の畳み込み層における重みパラメータの更新（「１層目の事前学習」という、以下同じ）を行う（ステップＳ２１）。
【００３６】
また、１層目から出力されるデータを他の端末装置１と共用すべく、制御部１４はこれを管理装置２に送信する（ステップＳ２２）。管理装置２の制御部２２は、受信したデータを２層目の事前学習用データとして受信し、記憶部２１に保存する（ステップＳ３１）。
【００３７】
ここで、端末装置１の制御部１４は、プライバシーに配慮し、記憶部１２に保存された画像データそのものを管理装置２に送信しない。その代わりに、制御部１４は１層目によって生成され出力されたデータを学習用データとして管理装置２に送信する。１層目から出力されたデータから元の画像データを完全に復元することは困難であるため、プライバシーは保たれる。しかも、１つの端末装置１内に保存された画像データに基づくデータを、他の端末装置１での学習に用いることができる。
【００３８】
１層目の事前学習が完了すると、２層目の事前学習を行うために、端末装置１の制御部１４は２層目の事前学習用データを管理装置２に要求する（ステップＳ２３）。管理装置２の制御部２２は、記憶部２１に保存された２層目の事前学習用データを読み出し、端末装置１に送信する（ステップＳ３２）。なお、図４では管理装置２を介して事前学習用データを他の端末装置１に送信して共用する例を示しているが、端末装置１どうしで直接送受信を行って共用してもよい。
【００３９】
端末装置１の制御部１４は２層目の事前学習用データを管理装置２から受信する（ステップＳ２４）。そして、画像識別器１３は２層目の事前学習を行う（ステップＳ２５）。事前学習の際、画像識別器１３は、自身の端末装置１内の記憶部１２に記憶された画像データを１層目に入力して得られた出力データ（以下、自データという）のみならず、管理装置２から受信した２層目の事前学習用データ（以下、共用データという）も用いて、事前学習を行うのが望ましい。これにより、学習に用いるデータが増え、識別精度が向上する。
【００４０】
なお、２層目の事前学習において、自データのみを用いてもよいし、共用データのみを用いてもよい。また、用いる自データと共用データの比率も任意に設定可能である。事前学習において、自データと共用データとで処理上の差異はない。
【００４１】
また、２層目によって生成され出力されるデータを他の端末装置１と共用すべく、制御部１４はこれを管理装置２に送信する（ステップＳ）。管理装置２の制御部２２は、受信したデータを３層目の事前学習用データとして受信し、記憶部２１に保存する（ステップＳ３３）。
【００４２】
以上のステップＳ２３〜Ｓ２６，Ｓ３２，Ｓ３３を３層目以降も繰り返し、全ての層について事前学習を行う（ステップＳ２７）。これにより、全層における重みパラメータの事前学習が完了し、重みパラメータが更新される。
【００４３】
ＣＮＮの画像認識精度を高くするためには、各層の重みパラメータを効率よく学習する必要がある。学習開始時の初期重みパラメータが乱数などによって初期化されたものである場合、学習の完了までに多くの学習データセットおよび重みパラメータ更新などの処理が必要となる。本実施形態においては、重みパラメータ学習時の初期重みパラメータとして、上述した教師なし事前学習を行う。そのため、以後の学習処理の収束および学習時間を短縮させることができる。
【００４４】
図３に戻り、画像識別器１３による教師なし事前学習が完了すると、制御部１４は、次のように管理装置２と協働して分散学習を行い、更新された重みパラメータの検証を行う。（ステップＳ４）。
【００４５】
図５は、分散学習による検証の処理フローを示すシーケンス図であり、図３のステップＳ４を詳しく説明するものである。
端末装置１の制御部１４は、教師なし事前学習が完了した旨を管理装置２に通知する（ステップＳ４１）。この通知は検証用データセットの要求と考えることもできる。
【００４６】
この通知に応答して、管理装置２の制御部２２は記憶部２１から検証用データセットを読み出し、端末装置１に送信する（ステップＳ５１）。上述したように、検証用データセットは検証用画像データと正解データとの組である。端末装置１の制御部１４は、検証用データセットを受信する（ステップＳ４２）。なお、各端末装置１が予め検証用データセットを保存しておくようにしてもよい。
【００４７】
端末装置１の画像識別器１３は、更新後の重みパラメータを用い、検証用画像データに対する識別を行う（ステップＳ４３）。
【００４８】
そして、制御部１４は、画像識別器１３が検証用画像データを処理して出力された識別結果と、正解データとが一致した割合（認識率）を認識精度として把握する。そして、制御部１４は更新後の重みパラメータおよび認識精度を管理装置２に送信する（ステップＳ４４）。なお、画像識別器１３が更新前の重みパラメータを用いた識別も行い、更新前後で認識精度がどの程度変化するかを管理装置２に送信してもよい。
【００４９】
管理装置２の制御部２２は、複数の端末装置１のそれぞれから、重みパラメータおよび認識精度を受信する（ステップＳ５２）。各端末装置１はそれぞれ異なる画像データを用いて事前学習が行われるため、それぞれ異なる重みパラメータおよび認識精度が得られる。
【００５０】
そこで、管理装置２の制御部２２は認識精度に基づいて重みパラメータを選択し（ステップＳ５３）、記憶部２１に保存する。具体的には、制御部２２は、最も高い認識精度が得られた端末装置１からの更新後の重みパラメータを、その時点での最適重みパラメータとして選択することとができる。
【００５１】
なお、図５では端末装置１が検証用データセットを用いて検証を行うこととしたが、端末装置１の制御部１４が重みパラメータを管理装置２に送信し、管理装置２内に画像識別器を設けて管理装置２の制御部２２が検証を行ってもよい。
以上のような分散学習が完了すると、管理装置２の制御部２２は最適重みパラメータを各端末装置１に送信する（図３のステップＳ１２）。
【００５２】
端末装置１の制御部１４は、最適重みパラメータを管理装置２から受信して記憶部１２に保存するとともに、画像識別器１３に設定する（ステップＳ５）。これにより、画像識別器１３は新たな重みパラメータを使用して学習や識別を行うことができる。なお、画像識別器１３は、更新前の重みパラメータと、更新後の重みパラメータ（つまり管理装置２から受信した最適重みパラメータ）を用いて識別を行って認識精度が低下しないことを確認した上で、更新後の重みパラメータを採用するようにしてもよい。
【００５３】
このように、第１の実施形態では、各端末装置１が持つ画像データそのものを管理装置２に（したがって別の端末装置１にも）送信する必要はない。そのため、プライバシーを保護できる。また、ＣＮＮ構造における１層目以降の出力データを管理装置２に送信して、事前学習用データとして他の端末装置１と共用する。事前学習用データは各端末装置１のユーザによって撮影された画像データに基づくものである。そのため、実際に認識対象となる画像データの母集団を統計的に代表するデータと言える。したがって、各端末装置１は多様かつ大量のデータを用いて学習を行うことができ、画像識別器１３の認識精度が向上する。
【００５４】
以上説明した本実施形態では、端末装置１がスマートフォンやタブレットである例を示した。しかしながら、端末装置１は分散学習を行うための大規模演算装置であってもよい。そして、管理装置２などから大量の画像データセットを予め各大規模演算装置に分散配布して、その記憶部１２内に保存しておけばよい。その他の処理動作は上述した通りである。
【００５５】
（第２の実施形態）
端末装置１がスマートフォンやタブレットである場合、各端末装置１に保存されている画像データには、ユーザの利用環境や思考に応じて何らかの傾向が存在することが多い。例えば、ユーザによって、日々の食事を多く撮影したり、風景を多く撮影したり、乗り物を多く撮影したりすることがある。また、ユーザの年齢や性別といった属性によって傾向が異なることもある。
【００５６】
上述した第１の実施形態は、各端末装置１に保存された画像データを用いて学習を行うものであった。例えば、ある端末装置１に乗り物の画像データが多く保存されている場合、その端末装置１の学習によれば、乗り物の画像データに対する認識精度は高くなる一方で、他の画像データに対する認識精度は低くなることもある。すなわち、識別を行う対象によって、最適な重みパラメータが異なり得る。
【００５７】
このような事情を考慮し、第２の実施形態では、傾向が共通する端末装置１をグループ化してより適切な重みパラメータを得るものとする。以下、第１の実施形態との相違点を中心に説明する。
【００５８】
図６は、第２の実施形態に係る分散学習による検証の処理フローを示すシーケンス図である。図５と比較してステップＳ６１が追加されている点およびステップＳ５３の処理が異なる。
【００５９】
図５と同様のステップＳ５２において、管理装置２の制御部２２は、複数の端末装置１のそれぞれから、重みパラメータおよび認識精度を受信する。そして、制御部２２は受信された重みパラメータに基づいて端末装置１を１または複数のグループに分類する（ステップＳ６１）。より具体的には、制御部２２は、重みパラメータが類似している端末装置１が同一グループに属するよう、分類を行う。類似しているか否かは、例えば対応する重みパラメータどうしの二乗誤差に基づいて判断できる。
【００６０】
これにより、類似する画像データが保存された端末装置１どうしが同一グループに分類されることが期待される。例えば、食事の画像データが多く保存された端末装置１が１つのグループに分類され、風景の画像データが多く保存された端末装置１が別のグループに分類され、乗り物の画像データが多く保存された端末装置１がまた別のグループに分類される。
【００６１】
次いで、制御部２２は、グループごとに重みパラメータを選択し（ステップＳ５３’）、記憶部２１に保存する。具体的には、各グループ内で最も高い認識精度が得られた端末装置１からの重みパラメータを、その時点での最適な重みパラメータとすることができる。
【００６２】
図７は、グループごとの最適重みパラメータ選択を説明する図である。説明を簡略化するために、図６のステップＳ６１において、端末装置Ａ，Ｃ，Ｅからなるグループ１と、端末装置Ｂ，Ｄ，Ｆからなるグループ２に分類されたとする。
【００６３】
グループ１に属する端末装置Ａ，Ｃ，Ｅのうち、端末装置Ａの認識率が８０％と最も高い。よって、制御部２２は、グループ１について、端末装置Ａから受信した重みパラメータＷａを最適重みパラメータとして選択する。この重みパラメータＷａは、端末装置Ａ，Ｃ，Ｅに保存された画像データを識別するのに適した重みパラメータと言える。
【００６４】
一方、グループ２に属する端末装置Ｂ，Ｄ，Ｆのうち、端末装置Ｂの認識率が６０％と最も高い。この場合、端末装置Ｂの認識率より端末装置Ａの認識率が高いが、制御部２２は、グループ２について、端末装置Ｂから受信した重みパラメータＷｂを最適重みパラメータとして選択する。この重みパラメータＷｂは、端末装置Ｂ，Ｄ，Ｆに保存された画像データを識別するのに適した重みパラメータと言える。
【００６５】
このようにして選択された最適パラメータは、制御部２２によって各グループに属する端末装置１に送信される。図７の例であれば、重みパラメータＷａが端末装置Ａ，Ｃ，Ｅに送信され、重みパラメータＷｂが端末装置Ｂ，Ｄ，Ｆに送信される。
【００６６】
例えば、端末装置Ａ，Ｃ，Ｅのユーザが食事をよく撮影するユーザであった場合、食事の識別に適した重みパラメータが設定される。そのため、このユーザが別の食事を新たに撮影して識別を行った場合に、高い精度で識別することができる。
【００６７】
このように、第２の実施形態では、重みパラメータが類似する端末装置１どうしをグループ化するため、グループごとに適切な重みパラメータを学習できる。
【００６８】
なお、各端末装置１が属するグループを予め定めておいてもよい。その場合、図６のステップＳ４４において、各端末装置１の制御部１４は、重みパラメータおよび認識精度に加え、グループを特定する情報を管理装置２に送信すればよい。そうすれば、管理装置２の制御部２２は、グループ化（ステップＳ６１）を行うことなく、グループごとに最適重みパラメータを選択（ステップＳ５３’）できる。
【００６９】
また、各端末装置１が属するグループを予め定めておく場合、教師なし事前学習で各層の出力データを送信する際に（図４のステップＳ２２，Ｓ２６）、やはりグループを特定する情報を管理装置２に送信してもよい。そして、管理装置２は、同一グループに属する他の端末装置１に事前学習用データを送信してもよい（ステップＳ３２）。
【００７０】
上述した実施形態は、本発明が属する技術分野における通常の知識を有する者が本発明を実施できることを目的として記載されたものである。上記実施形態の種々の変形例は、当業者であれば当然になしうることであり、本発明の技術的思想は他の実施形態にも適用しうることである。したがって、本発明は、記載された実施形態に限定されることはなく、特許請求の範囲によって定義される技術的思想に従った最も広い範囲とすべきである。
【符号の説明】
【００７１】
１  端末装置
１１  カメラ
１２  記憶部
１３  画像識別器
１４  制御部
２  管理装置
２１  記憶部
２２  制御部
３０  畳み込み層ネットワーク
３１  畳み込み層
３２  プーリング層
４０  全結合層ネットワーク
４１  全結合層
【図１】
0006561004.tif 000002
【図２】
0006561004.tif 000003
【図３】
0006561004.tif 000004
【図４】
0006561004.tif 000005
【図５】
0006561004.tif 000006
【図６】
0006561004.tif 000007
【図７】
0006561004.tif 000008