(57)【要約】      （修正有）【課題】少なくとも認識精度の低下を抑制できる学習装置システム、識別装置及びプログラムを提供する。【解決手段】学習識別システムは、少なくとも１つのメモリと、少なくとも１つの回路とを備え、回路は、転移元学習用データにより学習された第１ニューラルネットワークと、転移先学習用データとを取得し、転移先学習用データは、それぞれ第１ラベルが付与された複数の第１データと、それぞれ第２ラベルが付与された複数の第２データとを含み、第２ニューラルネットワーク１０２に、複数の第１データを入力して、複数の第１出力ベクトルを取得し、かつ、第２ニューラルネットワーク１０２に、複数の第２データを入力して、複数の第２出力ベクトルとを取得し、複数の第１出力ベクトルを用いて、第１ラベルに対応させた第１関連度ベクトルを生成し、かつ、複数の第２出力ベクトルを用いて、第２ラベルに対応させた第２関連度ベクトルを生成する。【選択図】図７
2018022473.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのメモリと、少なくとも１つの回路とを備える学習装置であって、
前記回路は、
（ａ）元ドメインにおける正解ラベル付き学習用データである転移元学習用データにより学習された第１ニューラルネットワークと、目標ドメインにおける正解ラベル付き学習用データである転移先学習用データとを取得し、前記転移先学習用データは、それぞれ第１ラベルが付与された複数の第１データと、それぞれ第２ラベルが付与された複数の第２データとを含み、
（ｂ）第２ニューラルネットワークに、前記複数の第１データを入力して、複数の第１出力ベクトルを取得し、かつ、前記第２ニューラルネットワークに、複数の第２データを入力して、複数の第２出力ベクトルとを取得し、前記第１ニューラルネットワークと前記第２ニューラルネットワークは、同じ荷重値、同じ隠れ層の数、各隠れ層に含まれるニューロン数が同じ、入力層のニューロン数が同じ、出力層のニューロン数が同じであり、
（ｃ）前記複数の第１出力ベクトルを用いて、前記第１ラベルに対応させた第１関連度ベクトルを生成し、かつ、前記複数の第２出力ベクトルを用いて、前記第２ラベルに対応させた第２関連度ベクトルを生成する、
学習装置。
【請求項２】
（ｉ）前記第２ニューラルネットワークに、前記第１ラベルが付与された第１データが入力したときの出力ベクトルは、前記第２関連度ベクトルより前記第１関連度ベクトルに近く、
（ii）前記第２ニューラルネットワークに、前記第２ラベルが付与された第２データを入力したときの出力ベクトルは、前記第１関連度ベクトルより前記第２関連度ベクトルに近い、
請求項１に記載の学習装置。
【請求項３】
前記回路は、さらに、
（ｄ）前記第１関連度ベクトル及び前記第２関連度ベクトルを用いて、前記第２ニューラルネットワークの荷重情報を更新し、
前記回路は、前記（ｄ）において、
前記複数の第１データに対する出力である複数の第１出力ベクトルが、前記第１関連度ベクトルを正解とし、前記複数の第２データに対する出力である複数の第２出力ベクトルが、前記第２関連度ベクトルを正解とする学習を行うことによって、前記荷重情報を更新する、
請求項１または２に記載の学習装置。
【請求項４】
前記回路は、前記（ｃ）において、
前記複数の第１出力ベクトルの平均ベクトルを前記第１関連度ベクトルとし、前記複数の第２出力ベクトルの平均ベクトルを前記第２関連度ベクトルとして生成する、
請求項１〜３のいずれか１項に記載の学習装置。
【請求項５】
前記回路は、前記（ｃ）において、
前記第１関連度ベクトルの値が、前記複数の第１出力ベクトルから計算される第１標準偏差の定数倍の範囲内であり、
前記第２関連度ベクトルの値が前記複数の第２出力ベクトルから計算される第２標準偏差の定数倍の範囲内であり、かつ、
前記第１関連度ベクトル及び前記第２関連度ベクトルの間の差分値が大きくなるように、
前記第１関連度ベクトルの値及び第２関連度ベクトルの値を調整する、
請求項３に記載の学習装置。
【請求項６】
前記学習装置は、さらに、
正解ラベル付き学習用データである転移元学習用データを複数セットと、正解ラベルそれぞれの類似度を計算するための距離情報とを保持しており、
前記回路は、さらに、
前記複数セットの転移元学習用データそれぞれに付与されたすべての正解ラベルと、前記転移先学習用データに付与されたすべての正解ラベルとの距離を計算し、その中で最も小さい距離を有する転移元学習用データのセットを選択し、
選択した前記転移元学習用データのセットを用いて学習させることで前記第１ニューラルネットワークを生成し、
生成した前記第１ニューラルネットワークの構成情報及び荷重値を、前記メモリに保存する、
請求項１〜５のいずれか１項に記載の学習装置。
【請求項７】
前記転移先学習用データは、等電点と分子量によって分離されたたんぱく質の２次元電気泳動像であり、
前記第１ラベルは、敗血症であり、
前記第２ラベルは、非敗血症である、
請求項１〜６のいずれか１項に記載の学習装置。
【請求項８】
前記転移元学習用データは、健常者における、等電点と分子量によって分離されたたんぱく質の２次元電気泳動像であり、
前記転移元学習用データの正解ラベルは、健常者である、
請求項７に記載の学習装置。
【請求項９】
少なくとも１つの回路とを備える識別装置であって、
前記回路は、
請求項１〜７のいずれか１項に記載の学習装置から、前記第１関連度ベクトル及び前記第２関連度ベクトルを取得し、
前記転移先学習用データと同種かつラベルなしデータであるテストデータを取得し、
前記第２ニューラルネットワークに、取得した前記テストデータを入力して、前記テストデータに対する出力ベクトルを取得し、
取得した前記出力ベクトル及び前記第１関連度ベクトルの距離と、取得した前記出力ベクトル及び前記第２関連度ベクトルの距離とを計算し、
前記第１関連度ベクトル及び前記第２関連度ベクトルのうち、前記出力ベクトルとの距離が近い方に対応する、前記第１ラベルまたは前記第２ラベルを、前記テストデータに対する正解ラベルとして出力する、
識別装置。
【請求項１０】
少なくとも１つのメモリと、少なくとも１つの第１回路とを有する学習装置と、少なくとも１つの第２回路を有する識別装置とを備える学習識別システムであって、
前記学習装置では、前記第１回路は、
元ドメインにおける正解ラベル付き学習用データである転移元学習用データにより学習された第１ニューラルネットワークと、目標ドメインにおける正解ラベル付き学習用データである転移先学習用データとを取得し、前記転移先学習用データは、それぞれ第１ラベルが付与された複数の第１データと、それぞれ第２ラベルが付与された複数の第２データとを含み、
第２ニューラルネットワークに、前記複数の第１データを入力して、複数の第１出力ベクトルを取得し、かつ、前記第２ニューラルネットワークに、複数の第２データを入力して、複数の第２出力ベクトルを取得し、前記第１ニューラルネットワークと前記第２ニューラルネットワークは、同じ荷重値、同じ隠れ層の数、各隠れ層に含まれるニューロン数が同じ、入力層のニューロン数が同じ、出力層のニューロン数が同じであり、
前記複数の第１出力ベクトルを用いて、前記第１ラベルに対応させた第１関連度ベクトルを生成し、かつ、前記複数の第２出力ベクトルを用いて、前記第２ラベルに対応させた第２関連度ベクトルを生成し、
前記識別装置では、前記第２回路は、
前記学習装置から、前記第１関連度ベクトル及び前記第２関連度ベクトルを取得し、
前記転移先学習用データと同種かつラベルなしデータであるテストデータを取得し、
前記第２ニューラルネットワークに、取得した前記テストデータを入力して、前記テストデータに対する出力ベクトルを取得し、
取得した前記出力ベクトル及び前記第１関連度ベクトルの距離と、取得した前記出力ベクトル及び前記第２関連度ベクトルの距離とを計算し、
前記第１関連度ベクトル及び前記第１関連度ベクトルのうち、前記出力ベクトルとの距離が近い方に対応する、前記第１ラベルまたは前記第２ラベルを、前記テストデータに対する正解ラベルとして出力する、
学習識別システム。
【請求項１１】
少なくとも１つのメモリと、少なくとも１つの回路とを備える学習装置の学習方法をコンピュータに実行させるためのプログラムであって、
前記回路に、
元ドメインにおける正解ラベル付き学習用データである転移元学習用データにより学習された第１ニューラルネットワークと、目標ドメインにおける正解ラベル付き学習用データである転移先学習用データとを取得させ、前記転移先学習用データは、それぞれ第１ラベルが付与された複数の第１データと、それぞれ第２ラベルが付与された複数の第２データとを含み、
第２ニューラルネットワークに、前記複数の第１データを入力して、複数の第１出力ベクトルを取得し、かつ、前記第２ニューラルネットワークに、複数の第２データを入力して、複数の第２出力ベクトルとを取得させ、前記第１ニューラルネットワークと前記第２ニューラルネットワークは、同じ荷重値、同じ隠れ層の数、各隠れ層に含まれるニューロン数が同じ、入力層のニューロン数が同じ、出力層のニューロン数が同じであり、
前記複数の第１出力ベクトルを用いて、前記第１ラベルに対応させた第１関連度ベクトルを生成し、かつ、前記複数の第２出力ベクトルを用いて、前記第２ラベルに対応させた第２関連度ベクトルを生成させる、
プログラム。
【請求項１２】
少なくとも１つの回路とを備える識別装置の識別方法をコンピュータに実行させるためのプログラムであって、
前記回路に、
請求項１〜７のいずれか１項に記載の学習装置から、前記第１関連度ベクトル及び前記第２関連度ベクトルを取得させ、
前記転移先学習用データと同種かつラベルなしデータであるテストデータを取得させ、
前記第２ニューラルネットワークに、取得した前記テストデータを入力させて、前記テストデータに対する出力である出力ベクトルを取得させ、
取得した前記出力ベクトル及び前記第１関連度ベクトルの距離と、取得した前記出力ベクトル及び前記第２関連度ベクトルの距離とを計算させ、
前記第１関連度ベクトル及び前記第２関連度ベクトルのうち、前記出力ベクトルとの距離が近い方に対応する、前記第１ラベルまたは前記第２ラベルを、前記テストデータに対する正解ラベルとして出力させる、
プログラム。
【請求項１３】
少なくとも１つのメモリと、少なくとも１つの回路とを備える学習装置であって、
前記回路は、
（ａ）元ドメインにおける正解ラベル付き学習用データである転移元学習用データにより学習されたニューラルネットワークと、目標ドメインにおける正解ラベル付き学習用データである転移先学習用データとを取得し、前記転移先学習用データは、それぞれ第１ラベルが付与された複数の第１データと、それぞれ第２ラベルが付与された複数の第２データとを含み、
（ｂ）前記ニューラルネットワークに、前記複数の第１データを入力して、複数の第１出力ベクトルを取得し、かつ、前記ニューラルネットワークに、複数の第２データを入力して、複数の第２出力ベクトルを取得し、
（ｃ）前記複数の第１出力ベクトルを用いて、前記第１ラベルに対応させた第１関連度ベクトルを生成し、かつ、前記複数の第２出力ベクトルを用いて、前記第２ラベルに対応させた第２関連度ベクトルを生成する、
学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、学習装置、認識装置、学習認識システム、及び、プログラムに関する。特には、ニューラルネットワークを用いて転移学習を行う学習装置、認識装置、学習認識システム、及び、プログラムに関する。
【背景技術】
【０００２】
近年、ニューラルネットワークにおける転移学習に関する研究がある。ニューラルネットワークにおける転移学習とは、解きたい問題とは異なる正解ラベルが付されたデータ（以下、転移元学習用データと記載）での学習結果を、実際に解きたい問題の正解ラベルが付された転移先のデータ（以下、転移先学習用データと記載）の分類及び/または回帰などの特徴抽出に利用するための適応させる深層学習をいう。
【０００３】
例えば、非特許文献１では、転移元学習用データを用いて深層学習させた多層ニューラルネットワークを、転移先学習用データに適応するようにさらに学習させる方法、すなわち転移学習の方法が開示されている。より具体的には、深層学習後の多層ニューラルネットワークの入力層から、ある隠れ層までの下位層を、汎用の特徴抽出器としてそのまま利用することが開示されている。そして、多層ニューラルネットワークの隠れ層の出力を受ける隠れ層から出力層までの上位層を、新たに構成した適応層（つまり、新たな隠れ層及び出力層）で置き換え、転移先学習用データを用いて当該適応層の学習を行うことが開示されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】MaximeOquab,LeonBottou,IvanLaptev,JosefSivic,“Learning and Transferring Mid-Level Image Representations using Convolutional Neural Networks”、CVPR,June 2014
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、本発明者らは、非特許文献１に開示される転移学習に関し、過学習や認識精度の低下などといった学習効果を損ない得るいくつかの問題に気づいた。
【０００６】
本開示の一態様に係る学習装置は、上記の問題点に着目したものであり、少なくとも認識精度の低下を抑制できる学習装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本開示の一態様に係る学習装置は、少なくとも１つのメモリと、少なくとも１つの回路とを備える学習装置であって、前記回路は、（ａ）元ドメインにおける正解ラベル付き学習用データである転移元学習用データにより学習された第１ニューラルネットワークと、目標ドメインにおける正解ラベル付き学習用データである転移先学習用データとを取得し、前記転移先学習用データは、それぞれ第１ラベルが付与された複数の第１データと、それぞれ第２ラベルが付与された複数の第２データとを含み、（ｂ）第２ニューラルネットワークに、前記複数の第１データを入力して、複数の第１出力ベクトルを取得し、かつ、前記第２ニューラルネットワークに、複数の第２データを入力して、複数の第２出力ベクトルとを取得し、前記第１ニューラルネットワークと前記第２ニューラルネットワークは、同じ荷重値、同じ隠れ層の数、各隠れ層に含まれるニューロン数が同じ、入力層のニューロン数が同じ、出力層のニューロン数が同じであり、（ｃ）前記複数の第１出力ベクトルを用いて、前記第１ラベルに対応させた第１関連度ベクトルを生成し、かつ、前記複数の第２出力ベクトルを用いて、前記第２ラベルに対応させた第２関連度ベクトルを生成する。
【０００８】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能な記録媒体で実現されてもよく、装置、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。コンピュータで読み取り可能な記録媒体はＣＤ−ＲＯＭを含む。
【発明の効果】
【０００９】
本開示によれば、少なくとも認識精度の低下を抑制できる学習装置を提供することができる。本開示の一態様の付加的な恩恵及び有利な点は本明細書及び図面から明らかとなる。この恩恵及び／又は有利な点は、本明細書及び図面に開示した様々な態様及び特徴により個別に提供され得るものであり、その１以上を得るために全てが必要ではない。
【図面の簡単な説明】
【００１０】
【図１】図１は、ニューラルネットワークが行う演算の計算モデルを説明するための概念図である。
【図２】図２は、ニューラルネットワークの学習の一例を説明するための図である。
【図３】図３は、実施の形態１に係る学習識別システムの機能的な構成の一例を示すブロック図である。
【図４】図４は、実施の形態１に係る転移元ニューラルネットワーク学習装置の機能的な構成の一例を示すブロック図である。
【図５】図５は、実施の形態１に係る転移学習装置の機能的な構成の一例を示すブロック図である。
【図６】図６は、実施の形態１に係る識別装置の機能的な構成の一例を示すブロック図である。
【図７】図７は、実施の形態１に係る学習識別システムの機能的な構成の別の一例を示すブロック図である。
【図８】図８は、実施の形態１に係る学習識別システムにおいて実行される転移学習の一例を示すフローチャートである。
【図９】図９は、実施の形態１に係る転移学習装置において行われる転移学習の一例を示す図である。
【図１０】図１０は、２次元電気泳動像の模式図である。
【図１１Ａ】図１１Ａは、敗血症に関する関連度ベクトルの一例を示す図である。
【図１１Ｂ】図１１Ｂは、非敗血症に関する関連度ベクトルの一例を示す図である。
【図１２】図１２は、実施の形態１に係る識別装置において実行される識別処理の一例を示すフローチャートである。
【図１３】図１３は、実施の形態２に係る転移学習装置の機能的な構成の一例を示すブロック図である。
【図１４】図１４は、実施の形態２に係る転移学習装置において実行される転移学習の一例を示すフローチャートである。
【図１５】図１５は、実施の形態３に係る転移学習装置の機能的な構成の一例を示すブロック図である。
【図１６】図１６は、実施の形態３に係る転移学習装置の動作の一例を示すフローチャートである。
【図１７】図１７は、実施の形態４に係る学習識別システムの機能的な構成の一例を示すブロック図である。
【図１８】図１８は、実施の形態４における系統樹保持部が保持する系統樹の一例を示す図である。
【図１９】図１９は、実施の形態４に係る学習識別システムにおいて実行される動作の一部の一例を示すフローチャートである。
【図２０】図２０は、本開示の学習装置、認識装置及び学習認識システムを実現するためのハードウェア構成の一例を示すブロック図である。
【図２１】図２１は、データサーバを利用したコンピュータの一例を示す模式図である。
【図２２】図２２は、実施の形態３に係る転移学習装置の動作の別の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
（本開示の基礎となった知見）
上記非特許文献１に開示される転移学習では、深層学習後の多層ニューラルネットワークの入力層から、ある隠れ層までの下位層を、汎用の特徴抽出器としてそのまま利用する。そして、多層ニューラルネットワークにおいて、当該隠れ層の出力を受ける隠れ層から出力層までの上位層を、新たに構成した適応層（つまり、新たな隠れ層及び出力層）で置き換え、転移先学習用データを用いて当該適応層の学習を行う。
【００１２】
また、上記非特許文献１では、画像プロセッサで動作するソフトウェアによってエミュレートされる多層ニューラルネットワークを、転移元学習用データとして約１２０万枚の転移元画像を用いて深層学習させた後、転移先学習用データとして異種の転移先画像を用いて上述の転移学習を行う実験についても開示されている。当該実験により、転移先画像が転移元画像とは異種の画像であるにも関わらず、転移学習によって、転移先画像に表される物体及び動作の認識精度が向上することが開示示されている。
【００１３】
しかしながら、本発明者らは、上記非特許文献１に開示される転移学習に関し、学習効果を損ない得るいくつかの問題に気づいた。
【００１４】
より具体的には、上記非特許文献１に開示される転移学習では、深層学習後の多層ニューラルネットワークの下位層がそのまま利用される一方で上位層が新たに構成され、転移先学習用データに適応するように学習される。しかしながら、まず、利用できる下位層の好適な範囲を定める明確な基準がないという問題がある。そのため、好適な上位層を新たに構成する手間がかかる。次に、転移先学習用データが比較的小規模なデータである場合に問題がある。すなわち、新たに構成される上位層を、当該小規模なデータである転移先学習用データを用いて初期状態から学習させると、過学習に陥る恐れがあるという問題がある。加えて、下位層と上位層とを異なるデータ（転移元学習用データと転移先学習用データ）を用いて学習させるため、データの組み合わせによっては、認識精度が低下する悪影響が生じる懸念があるという問題もある。
【００１５】
そこで、本発明者らは、少なくとも認識精度が低下するといった問題を解決すべく、以下に開示される学習装置、認識装置、学習認識システム、及び、プログラムに到達した。
【００１６】
本開示の一態様に係る学習装置は、少なくとも１つのメモリと、少なくとも１つの回路とを備える学習装置であって、前記回路は、（ａ）元ドメインにおける正解ラベル付き学習用データである転移元学習用データにより学習された第１ニューラルネットワークと、目標ドメインにおける正解ラベル付き学習用データである転移先学習用データとを取得し、前記転移先学習用データは、それぞれ第１ラベルが付与された複数の第１データと、それぞれ第２ラベルが付与された複数の第２データとを含み、（ｂ）第２ニューラルネットワークに、前記複数の第１データを入力して、複数の第１出力ベクトルを取得し、かつ、前記第２ニューラルネットワークに、複数の第２データを入力して、複数の第２出力ベクトルとを取得し、前記第１ニューラルネットワークと前記第２ニューラルネットワークは、同じ荷重値、同じ隠れ層の数、各隠れ層に含まれるニューロン数が同じ、入力層のニューロン数が同じ、出力層のニューロン数が同じであり、（ｃ）前記複数の第１出力ベクトルを用いて、前記第１ラベルに対応させた第１関連度ベクトルを生成し、かつ、前記複数の第２出力ベクトルを用いて、前記第２ラベルに対応させた第２関連度ベクトルを生成する。
【００１７】
この構成により、転移元ニューラルネットワーク、すなわち、第１ニューラルネットワークの構成情報及び荷重値をそのまま使用した転移先ニューラルネットワーク、すなわち、第２ニューラルネットワークに、転移先学習用データに適応させるための転移学習を行うことができる。
【００１８】
これにより、少なくとも認識精度の低下を抑制できる。さらに、転移学習の際に、転移先学習用データを利用して転移元ニューラルネットワーク、すなわち、第１ニューラルネットワークの構成情報及び荷重値を変更する手間もなく、構成情報や前記荷重値の変更によって生じ得る過学習による悪影響もないという効果を奏する。
【００１９】
ここで、例えば、（ｉ）前記第２ニューラルネットワークに、前記第１ラベルが付与された第１データが入力したときの出力ベクトルは、前記第２関連度ベクトルより前記第１関連度ベクトルに近く、（ii）前記第２ニューラルネットワークに、前記第２ラベルが付与された第２データを入力したときの出力ベクトルは、前記第１関連度ベクトルより前記第２関連度ベクトルに近い。
【００２０】
また、例えば、前記回路は、さらに、（ｄ）前記第１関連度ベクトル及び前記第２関連度ベクトルを用いて、前記第２ニューラルネットワークの荷重情報を更新し、前記回路は、前記（ｄ）において、前記複数の第１データに対する出力である複数の第１出力ベクトルが、前記第１関連度ベクトルを正解とし、前記複数の第２データに対する出力である複数の第２出力ベクトルが、前記第２関連度ベクトルを正解とする学習を行うことによって、前記荷重情報を更新するとしてもよい。
【００２１】
この構成により、転移先学習用データを用いた教師付き学習によって、転移先ニューラルネットワーク、すなわち、第２ニューラルネットワークの荷重値を、転移元学習用データで学習済みの転移元ニューラルネットワーク、すなわち、第１ニューラルネットワークの荷重値を初期値として更新する。これにより、学習済みの転移元ニューラルネットワーク、すなわち、第１ニューラルネットワークの荷重値をそのまま用いず、かつ、少量の転移先学習用データで学習する場合に起こり得る過学習を抑制することができる。
【００２２】
また、例えば、前記回路は、前記（ｃ）において、前記複数の第１出力ベクトルの平均ベクトルを前記第１関連度ベクトルとし、前記複数の第２出力ベクトルの平均ベクトルを前記第２関連度ベクトルとして生成するとしてもよい。
【００２３】
この構成により、転移元学習用データと転移先学習用データとから、関連度ベクトルを一意に決定することができる。
【００２４】
また、例えば、前記回路は、前記（ｃ）において、前記第１関連度ベクトルの値が、前記複数の第１出力ベクトルから計算される第１標準偏差の定数倍の範囲内であり、前記第２関連度ベクトルの値が前記複数の第２出力ベクトルから計算される第２標準偏差の定数倍の範囲内であり、かつ、前記第１関連度ベクトル及び前記第２関連度ベクトルの間の差分値が大きくなるように、前記第１関連度ベクトルの値及び第２関連度ベクトルの値を調整するとしてもよい。
【００２５】
この構成により、関連度ベクトルが近しい場合には、関連度ベクトル間の差が大きくすることができるので、認識精度を向上できる。
【００２６】
また、例えば、前記学習装置は、さらに、正解ラベル付き学習用データである転移元学習用データを複数セットと、正解ラベルそれぞれの類似度を計算するための距離情報とを保持しており、前記回路は、さらに、前記複数セットの転移元学習用データそれぞれに付与されたすべての正解ラベルと、前記転移先学習用データに付与されたすべての正解ラベルとの距離を計算し、その中で最も小さい距離を有する転移元学習用データのセットを選択し、選択した前記転移元学習用データのセットを用いて学習させることで前記第１ニューラルネットワークを生成し、生成した前記第１ニューラルネットワークの構成情報及び荷重値を、前記メモリに保存するとしてもよい。
【００２７】
この構成により、転移先学習用データに最も近い（最も類似する）転移元学習用データセットを用いて転移元ニューラルネットワーク、すなわち、第１ニューラルネットワークを構築することができる。
【００２８】
また、例えば、前記転移先学習用データは、等電点と分子量によって分離されたたんぱく質の２次元電気泳動像であり、前記第１ラベルは、敗血症であり、前記第２ラベルは、非敗血症であるとしてもよい。
【００２９】
この構成により、患者から得られる２次元電気泳動像を用いてその患者が病気に罹っているか否かを判定することができる。
【００３０】
ここで、例えば、前記転移元学習用データは、健常者における、等電点と分子量によって分離されたたんぱく質の２次元電気泳動像であり、前記転移元学習用データの正解ラベルは、健常者であるとしてもよい。
【００３１】
また、本開示の一態様に係る識別装置は、少なくとも１つの回路とを備える識別装置であって、前記回路は、請求項１〜７のいずれか１項に記載の学習装置から、前記第１関連度ベクトル及び前記第２関連度ベクトルを取得し、前記転移先学習用データと同種かつラベルなしデータであるテストデータを取得し、前記第２ニューラルネットワークに、取得した前記テストデータを入力して、前記テストデータに対する出力ベクトルを取得し、取得した前記出力ベクトル及び前記第１関連度ベクトルの距離と、取得した前記出力ベクトル及び前記第２関連度ベクトルの距離とを計算し、前記第１関連度ベクトル及び前記第２関連度ベクトルのうち、前記出力ベクトルとの距離が近い方に対応する、前記第１ラベルまたは前記第２ラベルを、前記テストデータに対する正解ラベルとして出力する。
【００３２】
また、本開示の一態様に係る学習識別システムは、少なくとも１つのメモリと、少なくとも１つの第１回路とを有する学習装置と、少なくとも１つの第２回路を有する識別装置とを備える学習識別システムであって、前記学習装置では、前記第１回路は、元ドメインにおける正解ラベル付き学習用データである転移元学習用データにより学習された第１ニューラルネットワークと、目標ドメインにおける正解ラベル付き学習用データである転移先学習用データとを取得し、前記転移先学習用データは、それぞれ第１ラベルが付与された複数の第１データと、それぞれ第２ラベルが付与された複数の第２データとを含み、第２ニューラルネットワークに、前記複数の第１データを入力して、複数の第１出力ベクトルを取得し、かつ、前記第２ニューラルネットワークに、複数の第２データを入力して、複数の第２出力ベクトルを取得し、前記第１ニューラルネットワークと前記第２ニューラルネットワークは、同じ荷重値、同じ隠れ層の数、各隠れ層に含まれるニューロン数が同じ、入力層のニューロン数が同じ、出力層のニューロン数が同じであり、前記複数の第１出力ベクトルを用いて、前記第１ラベルに対応させた第１関連度ベクトルを生成し、かつ、前記複数の第２出力ベクトルを用いて、前記第２ラベルに対応させた第２関連度ベクトルを生成し、前記識別装置では、前記第２回路は、前記学習装置から、前記第１関連度ベクトル及び前記第２関連度ベクトルを取得し、前記転移先学習用データと同種かつラベルなしデータであるテストデータを取得し、前記第２ニューラルネットワークに、取得した前記テストデータを入力して、前記テストデータに対する出力ベクトルを取得し、取得した前記出力ベクトル及び前記第１関連度ベクトルの距離と、取得した前記出力ベクトル及び前記第２関連度ベクトルの距離とを計算し、前記第１関連度ベクトル及び前記第１関連度ベクトルのうち、前記出力ベクトルとの距離が近い方に対応する、前記第１ラベルまたは前記第２ラベルを、前記テストデータに対する正解ラベルとして出力する。
【００３３】
本開示の一態様に係る学習装置は、少なくとも１つのメモリと、少なくとも１つの回路とを備える学習装置であって、前記回路は、（ａ）元ドメインにおける正解ラベル付き学習用データである転移元学習用データにより学習されたニューラルネットワークと、目標ドメインにおける正解ラベル付き学習用データである転移先学習用データとを取得し、前記転移先学習用データは、それぞれ第１ラベルが付与された複数の第１データと、それぞれ第２ラベルが付与された複数の第２データとを含み、（ｂ）前記ニューラルネットワークに、前記複数の第１データを入力して、複数の第１出力ベクトルを取得し、かつ、前記ニューラルネットワークに、複数の第２データを入力して、複数の第２出力ベクトルを取得し、（ｃ）前記複数の第１出力ベクトルを用いて、前記第１ラベルに対応させた第１関連度ベクトルを生成し、かつ、前記複数の第２出力ベクトルを用いて、前記第２ラベルに対応させた第２関連度ベクトルを生成する。
【００３４】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【００３５】
以下、図面を参照して本開示の実施の形態を詳細に説明する。
【００３６】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００３７】
（ニューラルネットワーク）
まず、図１及び図２を用いて、ニューラルネットワークが行う演算の計算モデルを説明する。
【００３８】
図１は、ニューラルネットワークが行う演算の計算モデルを説明するための概念図である。ニューラルネットワークは、周知のように、生物のニューラルネットワークを模した計算モデルに従って演算を行う演算装置である。
【００３９】
図１に示されるように、ニューラルネットワーク２００は、ニューロンに相当する複数のユニット（白丸で示されている）を、入力層２０１、隠れ層２０２、及び出力層２０３に配置して構成される。
【００４０】
隠れ層２０２は、図１に示す例では、２つの隠れ層２０２ａ、隠れ層２０２ｂで構成されているが、単一の隠れ層若しくは３以上の隠れ層で構成されてもよい。なお、複数の隠れ層を有するニューラルネットワークは、特に、多層ニューラルネットワーク装置と呼ばれることがある。
【００４１】
ここで、入力層２０１に近い層を下位層とし、出力層２０３に近い層を上位層とする。この場合、各ユニットは、下位層に配置されたユニットから受信した計算結果を荷重値に応じて結合（例えば、荷重和演算）し、該当結合の結果を上位層に配置されたユニットに送信する計算要素である。
【００４２】
ニューラルネットワーク２００の機能は、ニューラルネットワーク２００が有する層の数や各層に配置されるユニットの数などを表す構成情報と、各ユニットでの荷重値和計算に用いられる荷重値を表す荷重Ｗ＝［ｗ１、ｗ２、・・・］とで定義される。
【００４３】
図１に示すように、ニューラルネットワーク２００は、入力層２０１の入力ユニット２０５に入力データＸ＝［ｘ１、ｘ２、・・・］（画像であれば画素値）が入力される。これにより、隠れ層２０２の隠れユニット２０６及び出力層２０３の出力ユニット２０７において荷重Ｗ＝［ｗ１、ｗ２、・・・］を用いた荷重和演算がなされ、出力層２０３の出力ユニット２０７から出力ベクトルＹ＝［ｙ１、ｙ２、・・・］が出力される。
【００４４】
なお、本開示では、ニューラルネットワーク２００の具体的な実装について限定しない。ニューラルネットワーク２００は、例えば、再構成可能なハードウェアで実現されてもよく、また、ソフトウェアによるエミュレーションによって実現されてもよい。
【００４５】
また、本開示では、ニューラルネットワーク２００の学習は、周知の方法に従って行われるものとし、具体的な方法を限定しない。例えば、ニューラルネットワーク２００は、学習装置によって、以下で述べる周知の方法に従って学習されてもよい。
【００４６】
図２は、ニューラルネットワーク２００の学習の一例を説明するための図である。
【００４７】
図２では、転移元ニューラルネットワークを、正解ラベルが付されたデータである転移元学習用データを用いて学習する場合の例が示されている。ここで、転移元ニューラルネットワークは、転移元学習用データにより学習されるニューラルネットワークである。また、転移元学習用データは、元ドメインにおける正解ラベル付き学習用データである。
【００４８】
図２に示される例では、転移元学習用データは、車の画像、横断歩道の画像、自転車の画像、人の画像、猫の画像である。そして、各画像には、正解ラベルとして、「車」を示す値［１，０，０，０，０］、「横断歩道」を示す値［０，１，０，０，０］、「自転車」を示す値［０，０，１，０，０］、「人」を示す値［０，０，０，１，０］、及び「猫」を示す値［０，０，０，０，１］が付されている。
【００４９】
ニューラルネットワーク２００は、入力データＸを分類する分類問題を解く。より具体的には、ニューラルネットワーク２００では、各出力ユニットは入力データＸを分類するための異なる正解ラベルに対応付けられ、荷重Ｗは、複数の入力データＸの各々が入力されたときに、当該入力データＸの正しい正解ラベルに対応する出力ユニットの出力値が１に近づき、他の出力ユニットの出力値が０に近づくように調整される。
【００５０】
つまり、図２に示される例では、ニューラルネットワーク２００において、各出力ユニットは、「車」、「横断歩道」、「自転車」、「人」、及び「猫」を示す正解ラベルのうち異なる１つの正解ラベルに対応付けられる。また、荷重Ｗは、転移元学習用データである画像が入力されたときに出力される出力ユニットの出力値を並べた出力ベクトルＹと当該画像に付された正解ラベルとの差分が小さくなるように教師付き学習によって調整される。例えば、「車」を示す正解ラベル［１，０，０，０，０］を持つ転移元学習用データを用いて学習した場合、出力ベクトルＹがベクトルＺ＝［１，０，０，０，０］となるように調整される。以降では、ベクトルＺのことを正解ベクトルと呼ぶ。
【００５１】
なお、ニューラルネットワーク２００に教師付き学習を行う場合、例えば、入力データＸ、荷重Ｗ及び正解ラベルを用いて、正解ベクトルと出力ベクトルＹとの誤差を表す損失関数を定義し、勾配降下法により当該損失関数を減少させる勾配に沿って荷重Ｗを更新してもよい。
【００５２】
また、ニューラルネットワーク２００が多層ニューラルネットワークである場合、特に、前記教師付き学習を行う前に、layer-wise pre-trainingと呼ばれる教師無し学習によ
って、荷重値を隠れ層ごとに個別に調整してもよい。これにより、その後の教師付き学習によって、より正確な分類ができる荷重Ｗが得られる。
【００５３】
また、ニューラルネットワーク２００の荷重値の調整には、上述した勾配降下法の他にも、例えば、バックプロパゲーションなどの周知のアルゴリズムが用いられ得る。また、ニューラルネットワーク２００の学習では、荷重値を調整せずに、ニューラルネットワーク２００の構成の変更（例えば、ユニットの追加及び／または削除）を行っても良く、荷重値の調整と構成の変更の両方を行ってもよい。ニューラルネットワーク２００が多層ニューラルネットワークである場合、各層で個別に学習を行ってもよい。
【００５４】
以下では、元ドメインにおける正解ラベル付き学習用データである転移元学習用データで学習済みのニューラルネットワーク２００における転移学習について、複数の態様に基づいて説明する。なお、以下で説明する転移先ニューラルネットワークは、転移先学習用データにより学習されるニューラルネットワークである。また、転移先学習用データは、目標ドメインにおける正解ラベル付き学習用データである。
【００５５】
（実施の形態１）
［学習識別システム１の構成］
図３は、実施の形態１に係る学習識別システム１の機能的な構成の一例を示すブロック図である。
【００５６】
図３に示す学習識別システム１は、転移学習装置１０と、識別装置２０と、転移先学習用データ保持部３０と、テストデータなどのデータが入力されるデータ入力部４０とを備える。学習識別システム１は、転移元ニューラルネットワーク学習装置２より、転移元学習用データで学習済みの転移元ニューラルネットワークの構成情報及び荷重値を取得する。
【００５７】
［転移元ニューラルネットワーク学習装置２の構成］
図４は、実施の形態１に係る転移元ニューラルネットワーク学習装置２の機能的な構成の一例を示すブロック図である。
【００５８】
図４に示す転移元ニューラルネットワーク学習装置２は、転移元ニューラルネットワーク生成部２１と、転移元学習用データ保持部２２とを備える。なお、転移元ニューラルネットワーク学習装置２の各構成は、例えば、画像プロセッサ又はマイクロプロセッサが所定のプログラムを実行することにより発揮されるソフトウェア機能として実現されてもよい。
【００５９】
転移元学習用データ保持部２２は、例えばメモリであり、正解ラベル付き学習用データである転移元学習用データを保持する。転移元学習用データは、例えば、デジタルカメラで撮像される画像、インターネットで取得された画像、および健常者から得られた等電点と分子量とによって分離されたたんぱく質の２次元電気泳動像である。例えば、２次元電気泳動像は、泳動像の生成方法の種類、健常者の性別、または年齢が正解ラベルとして付与されている。転移元学習用データは、学習を十分に行うことができる程の比較的大規模なデータである。
【００６０】
転移元ニューラルネットワーク生成部２１は、転移元ニューラルネットワークを構成する構成情報と荷重値（学習前の初期値）を取得する。例えば、ユーザがキーボード（図示せず）を用いて、転移元ニューラルネットワーク学習装置２に、転移元ニューラルネットワークを構成する構成情報と荷重値（学習前の初期値）を入力し、そして、転移元ニューラルネットワーク生成部２１は、転移元ニューラルネットワークを構成する構成情報と荷重値（学習前の初期値）を取得してもよい。構成情報は、隠れ層の数、各隠れ層のニューロン数、入力層のニューロン数、出力層のニューロン数、各ニューロン間の結合関係を示す情報（どのニューロンがどのニューロンと結合しているか）、各ニューロンの活性化関数、各ニューロンのバイアスパラメータを含んでもよい。結合する２つのニューロン間で１つの荷重値を定義してもよい。
【００６１】
図２の例では、構成情報は、隠れ層の数＝２、入力層のニューロン数＝４、出力層のニューロン数＝５、入力層に最も近い隠れ層（隠れ層１と呼ぶ）のニューロン数＝３、出力層に最も近い隠れ層（隠れ層２と呼ぶ）のニューロン数＝２、各ニューロン間の結合関係を示す情報として「（ｉ）入力層の４つのニューロンのそれぞれは隠れ層１の３つのニューロンと結合している、（ｉｉ）隠れ層１の３つのニューロンのそれぞれは隠れ層２の２つのニューロンと結合している、（ｉｉｉ）隠れ層２の２つのニューロンのそれぞれは出力層の５つのニューロンと結合している」を示す情報を含んでもよい。
【００６２】
図２の例では、２８個の荷重値を定義してもよい。すなわち、入力層のニューロンの各々と隠れ層１のニューロンの各々の間の荷重値（１２個）、隠れ層１のニューロンの各々と隠れ層２のニューロンの各々の間の加重値（６個）、隠れ層２のニューロンの各々と出力層のニューロンの各々の間の荷重値（１０個）を定義してもよい。
【００６３】
また、転移元ニューラルネットワーク生成部２１は、転移元学習用データ保持部２２が保持する転移元学習用データを用いて、構成情報から決定される構造を有するニューラルネットワークの学習を行い、転移元ニューラルネットワークを生成する。そして、転移元ニューラルネットワーク生成部２１は、生成した転移元ニューラルネットワークの構成情報及び荷重値（学習後）を学習識別システム１に出力する。本実施の形態では、転移元ニューラルネットワーク生成部２１は、生成した転移元ニューラルネットワークの構成情報及び荷重値を転移学習装置１０のメモリ（構成情報保持部１０４と荷重保持部１０５）に出力する。
【００６４】
なお、学習識別システム１が転移元学習用データ保持部２２を有すれば、転移元ニューラルネットワーク学習装置２は、転移元学習用データ保持部２２を有さないとしてもよい。
【００６５】
［転移先学習用データ保持部３０の構成］
転移先学習用データ保持部３０は、例えばメモリであり、正解ラベル付き学習用データである転移先学習用データを保持する。転移先学習用データは、例えば、敗血症または非敗血を正解ラベルとして付与されたたんぱく質の２次元電気泳動像などである。たんぱく質の２次元電気泳動像は、等電点と分子量とによって分離された像である。転移先学習用データは、転移元学習用データより小規模なデータである。
【００６６】
［転移学習装置１０の構成］
図５は、実施の形態１に係る転移学習装置１０の機能的な構成の一例を示すブロック図である。
【００６７】
転移学習装置１０は、例えば少なくとも１つのメモリと、少なくとも１つの第１回路とを有する学習装置の一例である。なお、転移学習装置１０の各構成は、例えば、画像プロセッサ及び／またはマイクロプロセッサが所定のプログラムを実行することにより発揮されるソフトウェア機能として実現されてもよいし、上記のように第１回路とメモリとで実現されてもよい。
【００６８】
転移学習装置１０は、元ドメインにおける正解ラベル付き学習用データである転移元学習用データにより学習された転移元ニューラルネットワークの構成情報及び荷重値を取得する。すなわち、構成情報保持部１０４と荷重保持部１０５は転移元ニューラルネットワークの構成情報及び荷重値を転移元ニューラルネットワーク生成部２１から受け取る。転移学習装置１０は、転移元ニューラルネットワークの構成情報及び荷重値を用いて構成される転移先ニューラルネットワーク１０２に、目標ドメインにおける正解ラベル付き学習用データである転移先学習用データとして、それぞれ第１ラベルが付与された複数の第１データと、それぞれ第２ラベルが付与された複数の第２データとを転移先学習用データ保持部３０から取得して入力する。転移先ニューラルネットワーク１０２の入力層には、複数の第１データ、複数の第２データが入力される。転移先ニューラルネットワーク１０２の入力層には、第１ラベル、第２ラベルは入力されなくてもよい。そして、転移先ニューラルネットワーク１０２から、複数の第１データに対する出力である複数の第１出力ベクトルと、複数の第２データに対する出力である複数の第２出力ベクトルとを取得する。複数の第１データと複数の第１出力ベクトルは１対１対応する。複数の第２データと複数の第２出力ベクトルは１対１対応する。転移学習装置１０は、複数の第１出力ベクトルを用いて、第１ラベルに対応させた第１関連度ベクトルを生成し、かつ、複数の第２出力ベクトルを用いて、前記第２ラベルに対応させた第２関連度ベクトルを生成する。ここで、第１関連度ベクトル及び第２関連度ベクトルは、転移先ニューラルネットワーク１０２を用いて、データを識別する際に用いられる識別用データとも表記する。
【００６９】
ここで、例えば、転移学習装置１０は、複数の第１出力ベクトルの平均ベクトルを第１関連度ベクトルとし、複数の第２出力ベクトルの平均ベクトルを第２関連度ベクトルとして生成する。複数のベクトル[x11,…,xn1],…,[x1i,…,xni],…,[x1k,…,xnk]の平均ベクトルは[(x11+…+x1i+…x1k)/k,…,(xn1+…+xni+…xnk)/k]である。
【００７０】
また、転移先ニューラルネットワーク１０２に、第１ラベルに対応する第１データが入力されたとき転移先ニューラルネットワーク１０２から第１出力ベクトルが出力され、転移先ニューラルネットワーク１０２に、第２ラベルに対応する第２データが入力されたとき、転移先ニューラルネットワーク１０２から第２出力ベクトルが出力されるとする。この場合、第１出力ベクトルと第１関連度ベクトルの距離は、第１出力ベクトルと第２関連度ベクトルの距離より小さく、第２出力ベクトルと第２関連度ベクトルの距離は、第２出力ベクトルと第１関連度ベクトルの距離より小さい。
【００７１】
本実施の形態では、転移学習装置１０は、図５に示されるように、関連度ベクトル生成部１０１と、転移先ニューラルネットワーク１０２とを備える。
【００７２】
転移先ニューラルネットワーク１０２は、構成情報保持部１０４、荷重保持部１０５、及び、データ演算部１０３を有する。
【００７３】
構成情報保持部１０４は、例えばメモリであり、転移先ニューラルネットワーク１０２を構成する構成情報を保持している。この構成情報には、転移先ニューラルネットワーク１０２を構成する層の数及び層ごとに配置される入力ユニット、隠れユニット及び出力ユニットの数などが示されている。荷重保持部１０５は、例えばメモリであり、転移先ニューラルネットワーク１０２を構成する隠れユニット及び出力ユニットでの荷重和計算に用いられる荷重値を示す荷重Ｗを保持している。データ演算部１０３は、構成情報保持部１０４が保持する構成情報によって表される入力ユニット、隠れユニット及び出力ユニットの配置に従って構成した転移先ニューラルネットワークと、荷重Ｗによって示される荷重値とを用いた荷重和演算を行う。つまり、データ演算部１０３は、入力データＸが入力ユニットに与えられたときの各ユニットでの荷重和を算出する。
【００７４】
換言すると、転移学習装置１０は、複数の転移先学習用データを、転移先学習用データ保持部３０から取得し、転移元ニューラルネットワーク生成部２１で生成された転移元ニューラルネットワークの構成情報及び荷重値を持つ転移先ニューラルネットワーク１０２に入力する。そして、転移学習装置１０は、転移先ニューラルネットワーク１０２から、各ユニットでの荷重和が算出され、各出力ユニットから出力される出力値を並べた出力ベクトルを取得して、関連度ベクトル生成部１０１に入力する。なお、複数の転移先学習用データの各々には、転移元学習用データの正解ラベルとは異なる１以上の正解ラベルが付されている。
【００７５】
関連度ベクトル生成部１０１は、各転移先学習用データに対応する出力ベクトルを用いて、転移先学習用データの正解ラベルに１対１対応する関連度ベクトルを生成する。換言すると、関連度ベクトル生成部１０１は、転移元ニューラルネットワークを用いて構成される転移先ニューラルネットワーク１０２に入力した転移先学習用データの出力ベクトルが、当該転移先学習用データの正解ラベルと１対１に対応するように紐付けるために関連度ベクトルを生成する。
【００７６】
以上のように、転移学習装置１０は、転移元学習用データで学習済みの転移元ニューラルネットワークの構成情報及び荷重値をそのまま転移先ニューラルネットワーク１０２に使用する。そして、転移学習装置１０は、転移先ニューラルネットワーク１０２に入力した転移先学習用データそれぞれの出力ベクトルと、当該転移先学習用データの正解ラベルのそれぞれと１対１対応させることができる関連度ベクトルを計算する。このようにして、転移学習装置１０は、計算した関連度ベクトルを用いることにより、転移元ニューラルネットワークをそのまま用いて構成される転移先ニューラルネットワーク１０２を、転移先学習用データに適応させる転移学習を行うことができる。
【００７７】
［識別装置２０の構成］
図６は、実施の形態１に係る識別装置２０の機能的な構成の一例を示すブロック図である。
【００７８】
識別装置２０は、例えば少なくとも１つの第２回路とを有する識別装置の一例である。なお、識別装置２０の各構成は、例えば、画像プロセッサ及び／またはマイクロプロセッサが所定のプログラムを実行することにより発揮されるソフトウェア機能として実現されてもよい、上記のように第２回路とで実現されてもよい。
【００７９】
識別装置２０は、転移学習装置１０から、第１関連度ベクトル及び第２関連度ベクトルを取得し、転移先学習用データと同種かつラベルなしデータであるテストデータをデータ入力部４０から取得する。識別装置２０は、転移先ニューラルネットワーク１０２に、取得したテストデータを入力して、テストデータに対する出力である出力ベクトルを取得する。
【００８０】
識別装置２０は、取得した出力ベクトルと第１関連度ベクトルの距離である第１距離、及び、取得した出力ベクトルと第２関連度ベクトルの距離である第２距離を計算する。第１距離が第１関連度ベクトルに対応し、第２距離が第２関連度ベクトルに対応する。第１距離と第２距離のうち値が小さい距離に対応する関連ベクトルを、第１関連度ベクトルと第２関連度ベクトルから選択する。選択した関連ベクトルに対応するラベルを、第１ラベル、第２ラベルから選択してテストデータに対する正解ラベルとして出力する。なお、第１ラベルに第１関連ベクトルが対応し、第２ラベルに第２関連ベクトルが対応する。
【００８１】
本実施の形態では、識別装置２０は、図６に示されるように、出力ユニット比較部２２０と、転移先ニューラルネットワーク１０２とを備える。なお、転移先ニューラルネットワーク１０２は、転移学習装置１０から取得したものであり、構成情報保持部１０４、荷重保持部１０５、及び、データ演算部１０３を有する。詳細は、上述した通りであるので、説明を省略する。
【００８２】
出力ユニット比較部２２０は、データ演算部１０３で出力ユニットの荷重和をして算出された出力ベクトルと、関連度ベクトル生成部１０１で生成される関連度ベクトルとを取得し、これらを比較する。出力ユニット比較部２２０は、比較した結果、出力ベクトルの値と最も近い関連度ベクトルに対応する転移先学習用データの正解ラベルを、データ入力部４０により入力されたテストデータに対する出力ベクトルとして出力する。出力ユニット比較部２２０は、例えば、（出力ベクトルＹ−関連度ベクトルＲ）×（出力ベクトルＹ−関連度ベクトルＲ）の値が最も小さくなる関連度ベクトルに対応する転移先学習用データの正解ラベルを、入力されたテストデータに対する出力ベクトルとして出力する。
【００８３】
なお、識別装置２０は、転移先ニューラルネットワーク１０２を自身で有さず、転移学習装置１０の転移先ニューラルネットワーク１０２を共用するとしてもよい。
【００８４】
図７は、実施の形態１に係る学習識別システム１Ａの機能的な構成の別の一例を示すブロック図である。図７に示す学習識別システム１Ａは、図３に示す学習識別システム１と比較して、転移元ニューラルネットワーク学習装置２Ａ、識別装置２０Ａ、及び、転移元学習用データ保持部２２Ａの構成が異なる。より具体的には、転移元ニューラルネットワーク学習装置２Ａは、転移元学習用データ保持部２２を有さず、学習識別システム１Ａが転移元学習用データ保持部２２Ａを有する点で構成が異なる。識別装置２０Ａは、転移先ニューラルネットワーク１０２を有さず、転移学習装置１０の転移先ニューラルネットワーク１０２を共用する点で構成が異なる。詳細については上述した通りであるので、ここでの説明は省略する。
【００８５】
［学習識別システム１の動作］
次に、上述のように構成された学習識別システム１の動作の一例について説明する。
【００８６】
まずは、図８〜図１１Ｂを用いて、転移学習について説明し、その後、図１２を用いて識別処理について説明する。
【００８７】
（転移学習）
図８は、実施の形態１に係る学習識別システム１において実行される転移学習の一例を示すフローチャートである。
【００８８】
まず、転移元ニューラルネットワーク学習装置２は転移元学習を行う（Ｓ１）。
【００８９】
転移元ニューラルネットワーク生成部２１は、隠れ層の数Ｈ、及び、各隠れ層のニューロン数Ｎｉ（ｉ＝１、２、…、Ｈ）を取得する（Ｓ１１）。
【００９０】
次いで、転移元ニューラルネットワーク生成部２１は、転移元学習用データ保持部２２に保持されている、実数で表現される正解ラベルｙｊ（ｙｉ＝１、２、…、Ｍ）と、画像の各画素を１列に並べた出力ベクトルｘｊの複数組｛（ｘｊ，ｙｊ）｜ｊ＝１，２，…，Ｎ｝を取得する（Ｓ１２）。
【００９１】
次いで、転移元ニューラルネットワーク生成部２１は、隠れ層の数Ｈ及び各隠れ層のニューロン数Ｎｉから一意に決定されるニューラルネットワークを作成して、その隠れ層の数及び各隠れ層のニューロン数を構成情報保持部１０４に出力する（Ｓ１３）。
【００９２】
次いで、転移元ニューラルネットワーク生成部２１は、各出力ベクトルｘｊをニューラルネットワークに入力し、ニューラルネットワークの荷重Ｗ＝［ｗ１、ｗ２、…］の値を算出する。荷重値は、各ユニットの荷重和を算出して最終的に出力されるＭ次元のベクトルが、対となる正解ラベルｙｊに対応する値が１、それ以外の正解ラベルに対応する値が０となるような勾配降下法によって算出される。算出した荷重Ｗを入力層と入力層と一番近い隠れ層との間の荷重から順番に荷重保持部１０５に出力する（Ｓ１４）。
【００９３】
次に、学習識別システム１の転移学習装置１０は転移先学習を行う（Ｓ２）。
【００９４】
データ演算部１０３は、転移先学習用データ保持部３０より、実数で表現される正解ラベルｙ’ｊ（ｙ’ｊ＝１、２、…、Ｍ’）と画像の各画素を一列に並べたベクトルｘ‘ｊの複数組｛（ｘ’ｊ，ｙ’ｊ）｜ｊ＝１、２、…、Ｎ’｝を取得する（Ｓ２１）。
【００９５】
次いで、データ演算部１０３は、荷重保持部１０５に保持されている荷重の値と構成情報保持部１０４に保持されている隠れ層の数及び各隠れ層のニューロン数から転移元ニューラルネットワークの構造を復元した転移先ニューラルネットワーク１０２に、複数のベクトル｛ｘ’ｊ｜ｊ＝１、２、・・・、Ｎ’｝を入力し、各ユニットの荷重和を算出し、最終的な算出結果を関連度ベクトル生成部１０１に複数のＭ次元の出力ベクトル｛Ｙｊ｜ｊ＝１、２、…、Ｎ’｝を出力する（Ｓ２２）。画像の各画素を一列に並べたベクトルｘ’ｊと出力ベクトルＹｊ（ｊ＝１、２、・・・、Ｎ’）が一対一対応する。
【００９６】
次いで、関連度ベクトル生成部１０１は、データ演算部１０３が出力した複数のＭ次元の出力ベクトル｛Ｙｊ｜ｊ＝１、２、…、Ｎ’｝のそれぞれを、対応する正解ラベルｙ’ｊの値毎に分類する。すなわち、この分類によって、複数のＭ次元の出力ベクトルの各々は、正解ラベルの値の種類数であるＭ’個のグループに分類される。そして、関連度ベクトル生成部１０１は、各正解ラベルの値に属する出力ベクトルの平均ベクトルを算出し、関連度ベクトルＲｊ＝［Ｒ１、Ｒ２、…、ＲＭ］（ｊ＝１、２、…、Ｍ’）として識別装置２０に出力する（Ｓ２３）。
【００９７】
図９は、実施の形態１に係る転移学習装置１０において行われる転移学習の一例を示す図である。図１０は、２次元電気泳動像の模式図である。
【００９８】
図９に示される例では、転移先学習用データは、複数の２次元電気泳動像の画像である。そして、各画像には、正解ラベルとして「敗血症」及び「非敗血症」が付されている。
【００９９】
ここで、２次元電気泳動像６００は、図１０に示されるように、たんぱく質を電荷量と分子量とで２次元的に分離することで得られる画像である。２次元電気泳動像６００は、その画像中のたんぱく質６０１の位置または濃度（すなわち画素値）によって患者の状態を取得することができる。また、敗血症は、全身性炎症反応症候群の一種であり、医療現場において早期の発見が必要とされている。なお、敗血症の患者の２次元電気泳動像の画像を多数収集することは困難である。そのため、敗血症の患者の２次元電気泳動像の画像は、学習を十分に行うことができない程の比較的小規模な学習用データに該当する。
【０１００】
図９に示される例では、転移学習装置１０において、２次元電気泳動像６００の識別を行うため転移学習を行う。これにより、識別装置２０で敗血症と非敗血症の識別を精度よく行うことができるようになる。
【０１０１】
より具体的には、転移学習装置１０において、転移先ニューラルネットワーク１０２は、転移元学習用データで学習済みの転移元ニューラルネットワークの構成情報及び荷重Ｗをそのまま使用している。そして、転移先ニューラルネットワーク１０２は、転移先学習用データが入力されるたびに、各出力ユニットの出力値からなる出力ベクトルＹ＝［ｙ１、ｙ２、ｙ３、ｙ４、ｙ５］を関連度ベクトル生成部１０１に出力する。
【０１０２】
関連度ベクトル生成部１０１は、転移先学習用データの正解ラベル毎に、出力ベクトルＹの平均値を計算し、関連度ベクトルＲとして算出する。このようにして、転移元ニューラルネットワークをそのまま用いて構成される転移先ニューラルネットワーク１０２を、転移先学習用データに適応させる転移学習を行う。
【０１０３】
図１１Ａは、「敗血症」に関する関連度ベクトルの一例を示す図である。図１１Ｂは、「非敗血症」に関する関連度ベクトルの一例を示す図である。
【０１０４】
図１１Ａには、複数枚すなわち例えば３枚の敗血症画像が入力データＸとして、図９に示される転移先ニューラルネットワーク１０２に入力されたときの、３つの出力ベクトルＹから関連度ベクトルＲを算出する場合の例が示されている。より具体的には、図１１Ａに示す関連度ベクトルＲは、３つの出力ベクトルＹ７０１〜７０３の値すなわち図９に示す５つの出力ユニットのそれぞれの出力値ｙ１、ｙ２、ｙ３、ｙ４、及びｙ５の値の平均値として算出される。つまり、関連度ベクトル生成部１０１は、
出力ベクトルＹ７０１＝[ｙ１１,ｙ２１,ｙ３１,ｙ４１,ｙ５１]＝[０．０１,−０．３,０．１,０．４,０．２]、
出力ベクトルＹ７０２＝[ｙ１２,ｙ２２,ｙ３２,ｙ４２,ｙ５２]＝[−０．０１,−０．１５,０．１５,０．５５,０．３]、
出力ベクトルＹ７０３＝[ｙ１３,ｙ２３,ｙ３３,ｙ４３,ｙ５３]＝[０．０３,−０．２，０．１,０．３５,０．２５]
を用いて、正解ラベル＝「敗血症」に対応する関連度ベクトルＲ１＝[（ｙ１１+ｙ１２+ｙ１３）／３,（ｙ２１+ｙ２２+ｙ２３）／３,（ｙ３１+ｙ３２+ｙ３３）／３,（ｙ４１+ｙ４２+ｙ４３）／３,（ｙ５１+ｙ５２+ｙ５３）／３]＝[０．０１,−０．２２,０．１２,０．４３,０．２５]を算出する。
【０１０５】
一方、図１１Ｂには、複数枚すなわち例えば３枚の非敗血症画像が入力データＸとして、図９に示される転移先ニューラルネットワーク１０２に入力されたときの、３つの出力ベクトルＹから関連度ベクトルＲを算出する場合の例が示されている。より具体的には、図１１Ｂに示す関連度ベクトルＲは、３つの出力ベクトルＹ７０４〜７０６の値すなわち図９に示す５つの出力ユニットのそれぞれの出力値ｙ１、ｙ２、ｙ３、ｙ４、及びｙ５の値の平均値として算出される。つまり、関連度ベクトル生成部１０１は、
出力ベクトルＹ７０４＝[ｙ１４,ｙ２４,ｙ３４,ｙ４４,ｙ５４]＝[０．２２,−０．１,０．１４,０．２,０．２５]、
出力ベクトルＹ７０５＝[ｙ１５,ｙ２５,ｙ３５,ｙ４５,ｙ５５]＝[−０．０３,−０．１,０．１,０．３,０．３５]、
出力ベクトルＹ７０６＝[ｙ１６,ｙ２６,ｙ３６,ｙ４６,ｙ５６]＝[０．１,−０．１４，０．１２,０．５,０．４]
を用いて、正解ラベル＝「非敗血症」に対応する関連度ベクトルＲ２＝[（ｙ１４+ｙ１５+ｙ１６）／３,（ｙ２４+ｙ２５+ｙ２６）／３,（ｙ３４+ｙ３５+ｙ３６）／３,（ｙ４４+ｙ４５+ｙ４６）／３,（ｙ５４+ｙ５５+ｙ５６）／３]＝[０．０３,−０．１１,０．１２,０．３３,０．３３]を算出する。
【０１０６】
そして、上述したように、本実施の形態では、上記の関連度ベクトルＲを計算することが、転移先学習用データに適応するための転移学習となる。
【０１０７】
（識別処理）
図１２は、実施の形態１に係る識別装置２０において実行される識別処理Ｓ３の一例を示すフローチャートである。
【０１０８】
より詳細には、まず、データ演算部１０３は、データ入力部４０より転移先学習用データ保持部３０内に保持されているベクトルｘ’ｊとは異なるベクトルｘを取得する（Ｓ３１）。ここで、ベクトルｘは、例えばテストデータに該当し、ベクトルｘ’ｊと同種、かつ、正解ラベルが付されていないデータである。ここで、同種とは、識別対象が同カテゴリであること、識別対象の種別が同一、または、識別対象の種別が類似することを意味してもよい。
【０１０９】
次いで、データ演算部１０３は荷重保持部１０５に保持されている荷重の値と構成情報保持部１０４に保持されている隠れ層の数及び各隠れ層のニューロン数から転移元ニューラルネットワークの構造を復元した転移先ニューラルネットワークに、ベクトルｘを入力し、各ユニットの荷重和を算出し、最終的な算出結果Ｙを出力ユニット比較部２２０に出力する（Ｓ３２）。
【０１１０】
次いで、出力ユニット比較部２２０は、データ演算部１０３が出力した算出結果と、転移学習装置１０の関連度ベクトル生成部１０１が出力したＭ’個の関連度ベクトルＲｊ（ｊ＝１、２、…、Ｍ’）を比較し、（Ｒｊ−Ｙ）×（Ｒｊ−Ｙ）の値が最も小さいＲｊに対応する正解ラベルの値をベクトルｘのラベルとしてユーザに提示する（Ｓ３３）。
【０１１１】
例えば、識別装置２０において、ある２次元電気泳動像を識別（分類）したときの出力ベクトルＹが、［０．０３、−０．２、０．１、０．３５、０．２５］であったとする。この場合、識別装置２０は、「敗血症」及び「非敗血症」に関する関連度ベクトル［０．０１、−０．２２、０．１２、０．４３、０．２５］及び[０．０３,−０．１１,０．１２,０．３３,０．３３]のうちで最も距離が近い関連度ベクトル［０．０１、−０．２２、０．１２、０．４３、０．２５］に対応する正解ラベルである「敗血症」を出力する。
【０１１２】
ここで、図９、図１１Ａ、図１１Ｂの例を用いて説明する。データ演算部１０３は、転移先学習用データ保持部３０内に保持されているテストデータであるベクトルｘを取得する。データ演算部１０３が、テストデータであるベクトルｘを用いて算出し、出力ユニット比較部２２０に出力した出力ベクトルＹ（算出結果）が[ｙ１０、ｙ２０、ｙ３０、ｙ４０、ｙ５０]＝[０,−０．２３,０．１１,０．４２,０．２４]であったとする。
【０１１３】
出力ユニット比較部２２０は、正解ラベル＝「敗血症」に対応する関連度ベクトルＲ１＝[ｒ１１,ｒ２１,ｒ３１,ｒ４１,ｒ５１]＝[０．０１,−０．２２,０．１２,０．４３,０．２５]と出力ベクトルＹ＝ [ｙ１０, ｙ２０,ｙ３０,ｙ４０,ｙ５０] ＝ [０,−０．２３,０．１１,０．４２,０．２４]の距離の２乗の値を算出する。つまり、出力ユニット比較部２２０は（ｙ１０−ｒ１１）２＋（ｙ２０−ｒ２１）２＋（ｙ３０−ｒ３１）２＋（ｙ４０−ｒ４１）２＋（ｙ５０−ｒ５１）２＝（０−０．０１）２＋（−０．２３−（−０．２２））２＋（０．１１−０．１２）２＋（０．４２−０．４３）２＋（０．２４−０．２５）２＝０．００５を算出する。
【０１１４】
出力ユニット比較部２２０は、正解ラベル＝「非敗血症」に対応する関連度ベクトルＲ２＝[ｒ１２,ｒ２２,ｒ３２,ｒ４２,ｒ５２]＝[０．０３, −０．１１,０．１２,０．３３,０．３３] と出力ベクトルＹ＝ [ｙ１０, ｙ２０,ｙ３０,ｙ４０,ｙ５０] ＝ [０,−０．２３,０．１１,０．４２,０．２４]の距離の２乗の値を算出する。つまり、出力ユニット比較部２２０は（ｙ１０−ｒ１２）２＋（ｙ２０−ｒ２２）２＋（ｙ３０−ｒ３２）２＋（ｙ４０−ｒ４２）２＋（ｙ５０−ｒ５２）２＝（０−０．０３）２＋（−０．２３−（−０．１１））２＋（０．１１−０．１２）２＋（０．４２−０．３３）２＋（０．２４−０．３３）２＝０．０３１６を算出する。
【０１１５】
出力ユニット比較部２２０は正解ラベル＝「敗血症」に対応する関連度ベクトルＲ１と出力ベクトルＹの距離の２乗の値＝０．００５と、正解ラベル＝「非敗血症」に対応する関連度ベクトルＲ２と出力ベクトルＹの距離の２乗の値＝０．０３１６を比較して、より小さい距離の２乗の値である０．００５に対応する正解ラベルである「敗血症」を出力する。
【０１１６】
出力ユニット比較部２２０は距離の２乗の値を求めて、距離の２乗の値を比較したが、これに変えて、出力ユニット比較部２２０は距離を求めて、距離を比較してもよい。すなわち、出力ユニット比較部２２０は正解ラベル＝「敗血症」に対応する関連度ベクトルＲ１と出力ベクトルＹの距離＝（０．００５）1/2と、正解ラベル＝「非敗血症」に対応する関連度ベクトルＲ２と出力ベクトルＹの距離＝（０．０３１６）1/2を比較して、より小さい距離である（０．００５）1/2に対応する正解ラベルである「敗血症」を出力してもよい。
【０１１７】
［実施の形態１の効果等］
以上のように、実施の形態１に係る学習装置及び学習認識システムによれば、転移元学習用データでの学習によって生成された転移元ニューラルネットワークの構成情報及び荷重値をそのまま転移先ニューラルネットワークとして使用する。そして、転移先ニューラルネットワークに転移先学習用データそれぞれを入力したときの出力ベクトルを、当該転移先学習用データそれぞれの正解ラベルと１対１対応させることができる関連度ベクトルを計算する。このようにして、転移元ニューラルネットワークの構成情報及び荷重値をそのまま使用した転移先ニューラルネットワークに、転移先学習用データに適応させるための転移学習を行うことができる学習装置及び学習認識システムを実現することができる。
【０１１８】
また、実施の形態１に係る認識装置によれば、転移先学習用データと同種だが正解ラベルが付されていない新規データを識別するときには、新規データそれぞれを入力したときの出力ベクトルと各関連度ベクトルとを比較する。そして、当該出力ベクトルに最も近い関連度ベクトルと対応する転移先学習用データの正解ラベルの値を当該出力ベクトルのラベルとして出力する。
【０１１９】
これにより、転移学習の際に、転移先学習用データを利用して転移元ニューラルネットワークの構成情報及び荷重値を変更する手間や、構成情報や荷重値の変更によって生じ得る過学習や認識精度の低下といった悪影響がない学習装置、認識装置及び学習認識システムを得ることができる。
【０１２０】
なお、転移元ニューラルネットワーク学習装置２、及び転移学習装置１０に入力されるデータに、正規化、閾値処理、ノイズ除去、及びデータサイズの統一などを含むデータ整形処理を行ってもよい。正規化は、入力データに限らず、正解ベクトルに対して行ってもよい。データ整形処理は、転移元ニューラルネットワーク学習装置２、及び転移学習装置１０のいずれかが行ってもよい。データ整形処理を行うことによって、転移元学習用データから転移先学習用データへの整合性の高い転移学習が可能になる。
【０１２１】
（実施の形態２）
実施の形態１では、転移元学習用データで学習済みの転移元ニューラルネットワークの構成情報及び荷重Ｗをそのまま使用した転移先ニューラルネットワークの転移学習と識別処理について説明したが、それに限らない。そのまま使用した転移先ニューラルネットワークにおいて、さらに荷重Ｗを更新させてもよい。以下、この場合について実施の形態２として説明する。なお、以下では、実施の形態１と異なるところを中心に説明する。
【０１２２】
［転移学習装置１０Ｂの構成］
図１３は、実施の形態２に係る転移学習装置１０Ｂの機能的な構成の一例を示すブロック図である。図５と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０１２３】
図１３に示される転移学習装置１０Ｂは、実施の形態１に係る転移学習装置１０に対して、荷重調整部１０６が追加され、転移先ニューラルネットワーク１０２Ｂが変化する点が異なる。
【０１２４】
荷重調整部１０６は、第１関連度ベクトル及び第２関連度ベクトルを用いて、転移先ニューラルネットワーク１０２Ｂの荷重情報を更新する。より具体的には、荷重調整部１０６は、複数の第１データに対する出力である複数の第１出力ベクトルが、第１関連度ベクトルを正解とし、複数の第２データに対する出力である複数の第２出力ベクトルが、第２関連度ベクトルを正解とする学習を行うことによって、荷重情報を更新する。
【０１２５】
本実施の形態では、転移学習装置１０Ｂは、荷重保持部１０５Ｂに保持されている荷重値を、転移元学習用データで学習済みの転移元ニューラルネットワークの荷重値を初期値として、関連度ベクトル生成部１０１で生成された関連度ベクトルを正解（教師）として、教師付き学習によって更新する。例えば、転移学習装置１０Ｂは、転移先学習用データの正解ベクトルＺを対応する関連度ベクトルＲとする。そして、転移学習装置１０Ｂは、荷重Ｗを、複数の入力データＸの各々が入力されたときに、当該入力データＸに対応する正解ベクトルＺの各値と近しい値（対応する関連度ベクトルＲの値）が各出力ユニットの出力値から出力されるように、学習により調整する。
【０１２６】
このように、実施の形態２に係る学習識別システムは、実施の形態１で説明した関連度ベクトルの算出に加え、転移先ニューラルネットワークの荷重値を更新する機能を有する。そして、転移先ニューラルネットワークの荷重値は、複数の転移元学習用データで学習済みの転移元ニューラルネットワークの荷重値を初期値として、転移先学習用データを用いた教師付き学習によって更新される。
【０１２７】
［転移学習装置１０Ｂの動作］
次に、以上のように構成された転移学習装置１０Ｂの動作について説明する。
【０１２８】
図１４は、実施の形態２に係る転移学習装置１０Ｂにおいて実行される転移学習の一例を示すフローチャートである。図８と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０１２９】
まず、転移学習装置１０Ｂにおいて、ステップＳ２１〜Ｓ２３で、関連度ベクトルが算出される。なお、ステップＳ２１〜Ｓ２３は上述した通りであるので、説明を省略する。
【０１３０】
次に、荷重調整部１０６は、転移先ニューラルネットワークにおける荷重値を関連度ベクトルを正解とする教師付き学習によって更新する（Ｓ２４）。
【０１３１】
より具体的には、荷重調整部１０６は、まず、正解ラベル付き学習用データである複数の転移先学習用データを、転移先学習用データ保持部３０から取得する。次いで、荷重調整部１０６は、転移先ニューラルネットワーク１０２Ｂにおける荷重値を複数の転移元学習用データで学習済みの転移元ニューラルネットワークの荷重値を初期値として、転移先学習用データそれぞれに対応する関連度ベクトルを正解ベクトルとした教師付き学習によって更新する。
【０１３２】
換言すると、荷重調整部１０６は、転移先ニューラルネットワーク１０２Ｂの荷重Ｗを、正解ラベル毎に割り振られている正解ベクトルＺと出力ベクトルＹとの値が近くなるように、更新する。例えば、荷重調整部１０６は、「敗血症」の転移先学習用データの出力ベクトルＹ１と「敗血症」の正解ベクトルＺ１との誤差Ｌ１＝（Ｙ１−Ｚ１）×（Ｙ１−Ｚ１）の値が小さくなるように、転移先ニューラルネットワーク１０２Ｂの荷重Ｗを更新する。また、例えば、荷重調整部１０６は、「非敗血症」の転移先学習用データの出力ベクトルＺ２と「非敗血症」の正解ベクトルＥ２との誤差Ｌ２＝（Ｙ２−Ｚ２）×（Ｙ２−Ｚ２）の値が小さくなるように、転移先ニューラルネットワーク１０２Ｂの荷重Ｗを更新する。
【０１３３】
なお、上述したように、転移先ニューラルネットワーク１０２Ｂに教師付き学習を行う場合、例えば、入力データＸ、荷重Ｗ及び正解ラベルを用いて、正解ベクトルＺと出力データＹとの誤差を表す損失関数（Ｌ１やＬ２）を定義し（例えばＬ＝｜Ｙ−Ｚ｜、｜｜は絶対値を表す）、勾配降下法やバックプロパゲーションにより当該損失関数を減少させる勾配に沿って荷重Ｗを更新してもよい。
【０１３４】
また、実施の形態１で説明したのと同様に、転移元ニューラルネットワーク学習装置２、及び転移学習装置１０Ｂに入力される入力データに、正規化、閾値処理、ノイズ除去、及びデータサイズの統一などを含むデータ整形処理を行ってもよい。正規化は、入力データに限らず、正解ベクトルに対して行ってもよい。データ整形処理は、転移元ニューラルネットワーク学習装置２、及び転移学習装置１０のいずれが行ってもよい。
【０１３５】
［実施の形態２の効果等］
以上のように、実施の形態２に係る学習装置及び学習認識システムによれば、転移先学習用データを用いた教師付き学習によって、転移先ニューラルネットワークの荷重値を、転移元学習用データで学習済みの転移元ニューラルネットワークの荷重値を初期値として更新する。これにより、学習済みの転移元ニューラルネットワークの荷重値をそのまま用いず、かつ、少量の転移先学習用データで学習する場合に起こり得る過学習を抑制することができる。
【０１３６】
なお、荷重調整部１０６は、転移先ニューラルネットワーク１０２Ｂが有する全てのユニットの荷重値を更新の対象として、転移先学習用データでの学習を行ってもよい。これにより、例えば、転移先ニューラルネットワーク１０２Ｂが多層ニューラルネットワークである場合、上位層に位置するユニットの荷重値を更新し、他の層に位置するユニットの荷重値を更新しないなど、転移先ニューラルネットワーク１０２Ｂにおける荷重値を一部のユニットについて更新し、他のユニット荷重値を更新しないするときに起こり得る認識精度の低下を抑制することができる。
【０１３７】
（実施の形態３）
実施の形態１では、転移先学習用データに対応する出力ベクトルを用いて、転移先学習用データの正解ラベルに１対１対応する関連度ベクトルを生成することについて説明した。しかし、生成した関連度ベクトル同士の値が近い（距離が近い）場合には、認識精度が落ちてしまう場合がある。そこで、関連度ベクトルの値を調整し、関連度ベクトル間の差分が大きくなるようにしてもよい。以下、この場合について実施の形態３として説明する。なお、以下では、実施の形態１と異なるところを中心に説明する。
【０１３８】
［転移学習装置１０Ｃの構成］
図１５は、実施の形態３に係る転移学習装置１０Ｃの機能的な構成の一例を示すブロック図である。図５と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０１３９】
図１５に示される転移学習装置１０Ｃは、実施の形態１に係る転移学習装置１０に対して、関連度ベクトル調整部１０７が追加される点で構成が異なる。
【０１４０】
関連度ベクトル調整部１０７は、第１関連度ベクトルの値が、複数の第１出力ベクトルから計算される第１標準偏差の定数倍の範囲内であり、第２関連度ベクトルの値が複数の第２出力ベクトルから計算される第２標準偏差の定数倍の範囲内であり、かつ、第１関連度ベクトル及び第２関連度ベクトルの間の差分値が大きくなるように、第１関連度ベクトルの値及び第２関連度ベクトルの値を調整する。つまり、関連度ベクトル調整部１０７は、関連度ベクトル生成部１０１が生成した関連度ベクトルを、所定の範囲で関連度ベクトル間の差分が大きくなるように調整する。
【０１４１】
［転移学習装置１０Ｃの動作］
次に、以上のように構成された転移学習装置１０Ｃの動作について説明する。
【０１４２】
図１６は、実施の形態３に係る転移学習装置１０Ｃの動作の一例を示すフローチャートである。図８と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０１４３】
まず、転移学習装置１０Ｃにおいて、ステップＳ２１〜Ｓ２３Ｃで、関連度ベクトルが生成される。なお、ステップＳ２３Ｃと、図８で説明したステップＳ２３と異なる点は、次の通りである。すなわち、ステップＳ２３では、生成した関連度ベクトルＲｊを識別装置２０に出力する。一方、ステップＳ２３Ｃでは、生成した関連度ベクトルＲｊを識別装置２０に出力しない。
【０１４４】
次に、関連度ベクトル調整部１０７は、生成した関連度ベクトルの各値に対して乱数△を生成する（Ｓ２５１）。ここで、乱数△は、転移先学習用データの正解ラベル毎に出力ベクトルＹの共分散行列を計算し、計算した共分散行列に基づいてBox-Muller法などの周知のアルゴリズムに基づいて生成することができる。
【０１４５】
次に、関連度ベクトル調整部１０７は、関連度ベクトルの各値に生成した乱数△を加算し（Ｓ２５１）、新たな関連度ベクトルＲ’＝［ｒ１＋△１、ｒ２＋△２、・・・］を生成する。
【０１４６】
次に、関連度ベクトル調整部１０７は、新たな関連度ベクトル間の差分値が閾値ＴＨ以上かを判定する（Ｓ２５３）。ここで、差分値は、新たな関連度ベクトル間のユークリッド距離もしくはマハラノビス距離によって判定することができる。
【０１４７】
新たな関連度ベクトル間の差分値が閾値ＴＨ以上の場合（Ｓ２５３でＹＥＳ）、ステップＳ２５４に進む。なお、新たな関連度ベクトル間の差分値が閾値ＴＨ未満の場合（Ｓ２５３でＮＯ）、ステップＳ２５１に戻る。
【０１４８】
次に、ステップＳ２５４において、関連度ベクトル調整部１０７は、新たな関連度ベクトルそれぞれが、対応する正解ラベルが付された転移先学習用データによって求められる出力ベクトルＹの標準偏差のＮ倍以内に収まっているかを判定する。
【０１４９】
ステップＳ２５４において、新たな関連度ベクトルそれぞれが、対応する出力ベクトルＹのＮ倍以内に収まっている場合（Ｓ２５４でＹＥＳ）、ステップＳ２５５に進む。なお、新たな関連度ベクトルそれぞれが、対応する出力ベクトルＹのＮ倍より大きい場合（Ｓ２５４でＮＯ）、ステップＳ２５１に戻る。
【０１５０】
そして、ステップＳ２５５において、関連度ベクトル調整部１０７は、Ｓ２３Ｃで生成した関連度ベクトルに代えて、新たな関連度ベクトルを識別装置２０に出力する。
【０１５１】
なお、ステップＳ２５４は、新たな関連度ベクトルが、その関連度ベクトルに対応する正解ラベルの出力ベクトルＹから算出し得ないほどの乱数を加算したものでないことを判定する処理である。Ｎは一般的に３もしくは５に設定する。これは、対応する正解ラベルを持つほぼ全ての転移先学習用データを包含するという意味であり、その範囲外のベクトルは、対応する正解ラベルを持つ転移先学習用データでは算出できないことを示す。
【０１５２】
ここで、図９で説明した複数の２次元電気泳動像の画像を転移先学習用データとする場合を例に挙げて、実施例として説明する。
【０１５３】
（実施例）
例えば、「敗血症」の関連度ベクトルＲ１がＲ１＝［０．２１、０．０３、−０．５４、１．０８、―０．０４，０．０８，０．０３，０．１３，０．１３，０．０１］であるとする。また、ステップＳ２５１で生成した乱数を△１＝０．０２、△２＝０．１、△３＝―０．０１、△４＝―０．０５、△５＝０．０１、△６＝０．０４、△７＝０．０２、△８＝０．０２、及び△９＝０．０２であるとする。この場合、ステップＳ２５２において、関連度ベクトル調整部１０７は、関連度ベクトルＲ１の各値に生成した上記の乱数を加算して、新たな関連度ベクトルＲ１’＝［０．２３、０．１３、−０．５５、１．０３、−０．０３、０．１２、０．０５、０．１５、０．０３］を生成する。
【０１５４】
また、例えば、「非敗血症」の関連度ベクトルＲ２がＲ２＝［０．ｌ６、０．０３、０．０、０．２７、０．０７、０．０４、０．１４、０．１５、０．１３］であるとする。また、ステップＳ２５１で生成した乱数が△１＝０．０、△２＝０．０１、△３＝０．０１、△４＝０．０５、△５＝―０．０３、△６＝０．０６、△７＝−０．０４、△８＝−０．０１、及び△９＝−０．１０であるとする。この場合、ステップＳ２５２において、関連度ベクトル調整部１０７は、関連度ベクトルＲ２の各値に生成した上記の乱数を加算して、新たな関連度ベクトルＲ２’＝［０．１６、０．０４、０．０１、０．３２、０．０４、０．１、０．１、０．１４、０．０３］を生成する。
【０１５５】
次に、ステップＳ２５３において、関連度ベクトル調整部１０７は、新たな関連度ベクトルＲ１‘と新たな関連度ベクトルＲ２との間の差分値としてユークリッド距離ｄを計算すると、ユークリッド距離ｄ＝０．９１となる。ここで、閾値ＴＨを乱数加算前のユークリッド距離とすると、閾値ＴＨ＝１．０１となるので、関連度ベクトル調整部１０７は、上記の乱数加算後の新たな関連度ベクトルＲ１‘及び新たな関連度ベクトルＲ２‘を棄却して、ステップＳ２５１に戻って処理をやり直す。
【０１５６】
次に、関連度ベクトル調整部１０７は、ステップＳ２５１に戻って、「敗血症」の乱数を例えば△１＝−０．０１、△２＝−０．０３、△３＝０．０３、△４＝０．０７、△５＝−０．０５、△６＝０．０１、△７＝０．０４、△８＝０．０２、及び△９＝０．０２として生成する。この場合、ステップＳ２５２において、関連度ベクトル調整部１０７は、関連度ベクトルＲ１の各値に生成した上記の乱数を加算して、新たな関連度ベクトルＲ１‘＝［０．２０、０．０、−０．５１、１．１５、−０．０９、０．１０、−０．０７、０．０３、０．０］を生成する。
【０１５７】
一方、関連度ベクトル調整部１０７は、ステップＳ２５１において、「非敗血症」の乱数を例えば△１＝０．０２、△２＝０．０１、△３＝―０．０７、△４＝―０．１３、△５＝０．０２、△６＝−０．０２、△７＝０．１５、△８＝０．２、及び△９＝０．１として生成する。この場合、ステップＳ２５２において、関連度ベクトル調整部１０７は、関連度ベクトルＲ２の各値に生成した上記の乱数を加算して、新たな関連度ベクトルＲ２‘＝［０．１８、０．０４、-０．０７、０．１４、０．０９、０．０２、０．１５、０
．２０、０．１０］を生成する。
【０１５８】
次に、ステップＳ２５３において、関連度ベクトル調整部１０７は、新たな関連度ベクトルＲ１’と新たな関連度ベクトルＲ２との間の差分値としてユークリッド距離ｄを計算すると、ユークリッド距離ｄ＝１．２１となる。このユークリッド距離ｄ＝１．２１は、上述した閾値ＴＨ以上となるので、関連度ベクトル調整部１０７は、ステップＳ２５４に進む。そして、関連度ベクトル調整部１０７は、ステップＳ２５４において、新たな関連度ベクトルＲ１‘＝［０．２０、０．０、−０．５１、１．１５、−０．０９、０．１０、−０．０７、０．０３、０．０］、及び新たな関連度ベクトルＲ２’＝［０．１８、０．０４、-０．０７、０．１４、０．０９、０．０２、０．１５、０．２０、０．１０］
が、それぞれの出力ベクトルから計算される標準偏差の５倍以内に収まっているかどうかを判定し、収まっていれば、新たな関連度ベクトルＲ１‘及びＲ２’を識別装置２０に出力する。
【０１５９】
［実施の形態３の効果等］
以上のように、実施の形態３に係る学習装置及び学習認識システムによれば、関連度ベクトル生成部１０１で生成した各関連度ベクトルの値を乱数に基づいて調整することができる。関連度ベクトル生成部１０１で生成した各関連度ベクトルの値が近い場合、認識精度が低下しうるが、本実施の形態のように生成した各関連度ベクトルの値を乱数に基づいて調整することで、認識精度の低下を抑制することができる。
【０１６０】
なお、実施の形態１及び実施の形態２で説明したように、転移元ニューラルネットワーク学習装置２及び転移学習装置１０Ｃに入力される入力データに、正規化、閾値処理、ノイズ除去、及びデータサイズの統一などを含むデータ整形処理を行ってもよい。正規化は、入力データに限らず、正解ベクトルに対して行ってもよい。データ整形処理は、転移元ニューラルネットワーク学習装置２及び転移学習装置１０Ｃのいずれが行ってもよい。
【０１６１】
また、実施の形態３に係る学習装置及び学習認識システムは、さらに、実施の形態２で説明した荷重調整部を有してもよい。このような構成によれば、関連度ベクトルを正解ベクトルとして、転移先学習用データを用いて教師付き学習を行うことにより、転移先ニューラルネットワークにおける荷重値を、学習済みの転移元ニューラルネットワークの荷重値を初期値として更新することができる。これにより、学習済みの転移元ニューラルネットワークの荷重値をそのまま用いず学習により最適化されるので、かつ少量の転移先学習用データで学習する場合に起こり得る過学習を抑制することができる。
【０１６２】
また、関連度ベクトル調整部が生成した関連度ベクトルに基づいて、荷重値を更新した後、更新した荷重値に基づいて、関連度ベクトル生成部が関連度ベクトルを生成しても良い。関連度ベクトル調整部が生成した関連度ベクトルに基づいて、さらに荷重値を 更新
する。これにより、少しずつ荷重値が変更されていくため、無理なく関連度ベクトルを引き離していくことができる。
【０１６３】
また、転移先ニューラルネットワークに教師付き学習を行う場合、例えば、入力データＸ、荷重Ｗ及び正解ラベルを用いて、正解ベクトルＺと出力データＹとの誤差を表す損失関数（Ｌ１やＬ２）を定義し（例えばＬ＝｜Ｙ−Ｚ｜、｜｜は絶対値を表す）、勾配降下法やバックプロパゲーションにより当該損失関数を減少させる勾配に沿って荷重Ｗを更新してもよい。また、データ演算部１０３にて荷重保持部１０５に保持されている荷重値にも乱数を加えてもよい。図２２に動作の一例を示すフローチャートを示す。ステップＳ２２Ａにてデータ演算部１０３にて荷重保持部１０５に保持されている荷重値に乱数を加え、ステップＳ２２Ｂにて複数のベクトルと各ユニットの荷重和を算出し、最終的な算出結果を関連度ベクトル生成部に出力する。そして、ステップＳ２５６にてｋ＜Ｋか否かを判定し、計算した場合（ステップＳ２５６でＹＥＳ）、ステップＳ２５７にて関連度ベクトルの差分値が最大となる乱数付き荷重値を選択し、荷重保持部１０５へ出力しつつ、関連度ベクトルを識別装置に出力する。計算が終了していない場合（ステップＳ２５６でＮＯ）はｋ＝ｋ＋１としてステップＳ２２Ａに戻る。これにより、関連度ベクトル間の距離がより離れた転移学習装置を実施できる。
【０１６４】
（実施の形態４）
実施の形態４では、学習識別システム１Ｄが、転移先学習用データに基づき、転移元ニューラルネットワーク学習装置に学習させる転移元学習用データを選択できる場合について説明する。以下では、実施の形態１と異なるところを中心に説明する。
【０１６５】
［学習識別システム１Ｄの構成］
図１７は、実施の形態４に係る学習識別システム１Ｄの機能的な構成の一例を示すブロック図である。図３及び図７と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０１６６】
図１７に示す学習識別システム１Ｄは、転移元ニューラルネットワーク学習装置２Ｄと、転移学習装置１０と、識別装置２０Ａ、転移元学習用データセット保持部２２Ｄと、転移先学習用データ保持部３０、系統樹保持部３１と、データ入力部４０とを備える。
【０１６７】
図１７に示される学習識別システム１Ｄは、実施の形態１に係る図７に示される学習識別システム１Ａに対して、系統樹保持部３１が追加されており、転移元ニューラルネットワーク学習装置２Ｄ及び転移元学習用データセット保持部２２Ｄの構成が異なる。
【０１６８】
［転移元学習用データセット保持部２２Ｄの構成］
転移元学習用データセット保持部２２Ｄは、例えばメモリからなり、正解ラベル付き学習用データである転移元学習用データを複数セット（以下、複数の転移元学習用データセットと記載）を保持する。ここで、転移元学習用データセットは、例えば、数字画像セットや一般画像セット、２次元電気泳動像セットやＣＴ画像セットである。
【０１６９】
［系統樹保持部３１の構成］
系統樹保持部３１は、例えばメモリからなり、正解ラベルそれぞれの類似度を計算するための距離情報を保持する。本実施の形態では、系統樹保持部３１は、複数の転移元学習用データセット及び転移先学習用データに関連する系統樹を保持している。ここで、系統樹とは、対象物体の類縁関係を樹枝状の線でグラフ化したものである。以下では、説明を簡単のために、一般的な生物に関する系統樹を基に説明するが、系統樹はこれに限定されるものではない。例えば、「敗血症」か否かを判定するために、病気に応じて変化するたんぱく質に基づいて作成された系統樹を利用して、２次元電気泳動像を用いた「敗血症」及び「非敗血症」の識別を実施することも可能である。
【０１７０】
図１８は、実施の形態４における系統樹保持部３１が保持する系統樹８０１の一例を示す図である。なお、図１８には、「ヒト」に関する系統樹が示されている。
【０１７１】
例えば、図１８に示される系統樹８０１から、「ヒト」に最も近い動物が「チンパンジー」であることがわかる。このようにして、正解ラベルそれぞれの類似度の計算を正解ラベル間の系統樹８０１上の距離から行うことができる。
【０１７２】
［転移元ニューラルネットワーク学習装置２Ｄの構成］
転移元ニューラルネットワーク学習装置２Ｄは、図１７に示されるように、転移元ニューラルネットワーク生成部２１Ｄと、転移元学習用データセット選択部２３とを備える。
【０１７３】
転移元学習用データセット選択部２３は、複数の転移元学習用データセットそれぞれに付与されたすべての正解ラベルと、転移先学習用データに付与されたすべての正解ラベルとの類似度を、系統樹保持部３１に保持されている、正解ラベルそれぞれの類似度を計算するための距離情報を用いて計算する。転移元学習用データセット選択部２３は、計算した距離情報に基づき、複数の転移元学習用データセットのうち、転移先学習用データに付与されたすべての正解ラベルに最も近い正解ラベルが付与された転移元学習用データセットを選択する。つまり、転移元学習用データセット選択部２３は、複数の転移元学習用データセットの中から最も適した転移元学習用データセットを選択する。
【０１７４】
そして、転移元学習用データセット選択部２３は、選択した転移元学習用データセットを転移元ニューラルネットワーク生成部２１に出力する。
【０１７５】
本実施の形態では、転移元学習用データセット選択部２３は、その複数の転移元学習用データセットの中から、系統樹保持部３１が保持する系統樹上の距離に基づいて、学習に利用する転移元学習用データセットを選択する。
【０１７６】
転移元ニューラルネットワーク生成部２１Ｄは、ユーザにより、隠れ層の数、各隠れ層のニューロン数などニューラルネットワークを構成する構成情報が入力される。また、転移元ニューラルネットワーク生成部２１Ｄは、転移元学習用データセット選択部２３より出力された、転移元学習用データのセットを用いて、入力された構成情報から決定される構造からなるニューラルネットワークの学習を行い、転移元ニューラルネットワークを生成する。
【０１７７】
なお、転移元ニューラルネットワーク学習装置２Ｄの各構成は、例えば、画像プロセッサやマイクロプロセッサが所定のプログラムを実行することにより発揮されるソフトウェア機能として実現されてもよい。また、転移元ニューラルネットワーク学習装置２Ｄが、転移元学習用データセット保持部２２Ｄを備えるとしてもよい。
【０１７８】
［学習識別システム１Ｄの動作］
次に、以上のように構成された学習識別システム１Ｄの動作について説明する。
【０１７９】
図１９は、実施の形態４に係る学習識別システム１Ｄにおいて実行される動作の一部の一例を示すフローチャートである。図１９では、転移元ニューラルネットワーク学習装置２Ｄで実行される転移元学習用データセットの選択処理（Ｓ４０）について示されている。なお、転移元ニューラルネットワーク学習装置２Ｄが行う転移元学習と、転移学習装置１０が行う転移先学習とは、図８で説明したステップＳ１とステップＳ２と同様であるため、ここでの説明は省略する。また、ステップＳ４０で実行される転移元学習用データセットの選択処理は、図８で説明したステップＳ１のステップＳ１１及びステップＳ１２の間に行われる。
【０１８０】
図１９に示されるように、転移元ニューラルネットワーク学習装置２Ｄは、転移元学習用データセットの選択処理を行う（Ｓ４０）。
【０１８１】
より詳細には、まず、転移元学習用データセット選択部２３は、転移元学習用データセット保持部２２Ｄより、複数の転移元学習用データセットのうち一の転移元学習用データセットを選択する（Ｓ４０１）。
【０１８２】
次に、転移元学習用データセット選択部２３は、系統樹保持部３１に保持されている系統樹から、選択した一の転移元学習用データセット内の全ての正解ラベルと、転移先学習用データの全ての正解ラベルとの距離を計算する（Ｓ４０２）。
【０１８３】
次に、転移元学習用データセット選択部２３は、計算した距離の中で最も小さい距離を転移可能距離として選択する（Ｓ４０３）。
【０１８４】
次に、転移元学習用データセット選択部２３は、全ての転移先学習用データセットに対して転移可能距離の選択を実行したか否かを判定する（Ｓ４０４）。全ての転移先学習用データセットに対して転移可能距離の選択が完了していない場合（Ｓ４０４でＮＯ）、ステップＳ４０１に戻って処理を繰り返す。
【０１８５】
一方、全ての転移先学習用データセットに対して転移可能距離の選択が完了した場合（Ｓ４０４でＹＥＳ）、転移元学習用データセット選択部２３は、選択した転移可能距離のうち最小の転移可能距離を持つ転移元学習用データセットを選択する（Ｓ４０５）。
【０１８６】
そして、転移元ニューラルネットワーク生成部２１Ｄは、転移元学習用データセット保持部２２Ｄに保持され、かつ、転移元学習用データセット選択部２３により選択された転移先学習用データセットを用いて、転移元ニューラルネットワークを生成する（Ｓ４０６）。
【０１８７】
（実施例）
本実施例では、系統樹保持部３１が図１８に示す系統樹８０１を保持しており、転移元学習用データセット選択部２３が系統樹８０１に基づき算出した距離情報から、複数の転移元学習用データセットの中から転移元学習用データを選択する場合について説明する。
【０１８８】
転移元学習用データセット選択部２３は、転移先学習用データの全ての正解ラベルと、全ての転移元学習用データセット内の正解ラベルとの距離を計算し、その中で最も小さい距離を有する転移元学習用データセットを選択する。ここで、当該距離は、系統樹８０１上の節８０２の数から計算することができる。
【０１８９】
例えば、転移先学習用データの正解ラベルに「ヒト」と「カエル」が含まれているとする。また、転移元学習用データセットＡ内の正解ラベルとして、「チンパンジー」、「ゴリラ」、「オランウータン」、「テナガザル」が含まれているとする。
【０１９０】
この場合、転移元学習用データセット選択部２３は、「ヒト」と「チンパンジー」との系統樹８０１上での距離を１（分類に利用する節が１個）、「ヒト」と「ゴリラ」との系統樹８０１上での距離を２（分類に利用する節が２個）と計算する。同様に、転移元学習用データセット選択部２３は、「ヒト」と「オランウータン」との系統樹８０１上での距離を３（分類に利用する節が３個）、「ヒト」と「テナガザル」との系統樹８０１上での距離を４（分類に利用する節が４個）と計算する。
【０１９１】
また、転移元学習用データセット選択部２３は、「カエル」と「チンパンジー」との系統樹８０１上での距離を７（分類に利用する節が７個）、「カエル」と「ゴリラ」との系統樹８０１上での距離を６（分類に利用する節が６個）と計算する。同様に、転移元学習用データセット選択部２３は、「カエル」と「オランウータン」との系統樹８０１上での距離を５（分類に利用する節が５個）、「カエル」と「テナガザル」との系統樹８０１上での距離を４（分類に利用する節が４個）と計算する。
【０１９２】
したがって、転移元学習用データセット選択部２３は、この転移元学習用データセットＡにおける転移可能距離として「ヒト」と「チンパンジー」との距離である「１」を選択する。
【０１９３】
一方、別の転移元学習用データセットＢ内の正解ラベルとして、「ネコ」、「ゴリラ」、「タカ」、「トカゲ」が含まれているとする。この場合、転移元学習用データセット選択部２３は、転移元学習用データセットにおける転移可能距離はとして、「ヒト」と「ゴリラ」、及び「カエル」と「ネコ」のの距離である「２」を選択する。
【０１９４】
以上から、転移元学習用データセット選択部２３は、選択した転移可能距離のうち、最小の転移可能距離である「１」の転移元学習用データセットＡを選択する。
【０１９５】
なお、上記の例の場合、転移元学習用データセットＡでは「カエル」との最小の距離「４」であり、「ヒト」との最小の距離「１」と比べて遠かった。一方、転移元学習用データセットＢでは「カエル」も「ヒト」も最小距離は「２」であった。本実施の形態では、転移元学習用データセット選択部２３は、転移先学習用データの各正解ラベルとの最小距離の平均値ではなく、最小距離の最小値を転移可能距離とする。これは、転移学習においては、系統樹上で一部でも非常に近い転移元学習用データが存在する場合の方が認識精度の向上が期待できるためである。例えば、「ヒト」の正解ラベルを持つ転移先学習用データを正確に識別するように学習できれば、識別装置２０において、それ以外の例えば「カエル」の正解ラベルを持つ転移先学習用データも高精度に識別できるからである。
【０１９６】
［実施の形態４の効果等］
以上のように、実施の形態４に係る学習装置及び学習認識システムによれば、転移先学習用データと系統樹上の距離が最も近しい転移元学習用データを含む転移元学習用データセットを用いて転移元ニューラルネットワークを生成することができる。つまり、転移先学習用データにより類似する転移元学習用データを含む転移元学習用データセットを用いて転移元ニューラルネットワークを生成する。これにより、転移学習に最適な転移元学習用データセットを選択することができるので、認識精度の向上が期待できる。
【０１９７】
なお、実施の形態１及び実施の形態２で説明したように、転移元ニューラルネットワーク学習装置２Ｄ及び転移学習装置１０に入力される入力データに、正規化、閾値処理、ノイズ除去、及びデータサイズの統一などを含むデータ整形処理を行ってもよい。正規化は、入力データに限らず、正解ベクトルに対して行ってもよい。データ整形処理は、転移元ニューラルネットワーク学習装置２及び転移学習装置１０Ｃのいずれが行ってもよい。
【０１９８】
また、実施の形態４に係る学習装置及び学習認識システムは、さらに、実施の形態２で説明した荷重調整部と、実施の形態３で説明した関連度ベクトル調整部とを有してもよい。この場合、例えば、転移元学習用データセットの選択を行った後に、関連度ベクトルを生成し、荷重調整を行えばよい。
【０１９９】
このような構成によれば、関連度ベクトルを正解ベクトルとして、転移先学習用データを用いて教師付き学習を行うことにより、転移先ニューラルネットワークにおける荷重値を、学習済みの転移元ニューラルネットワークの荷重値を初期値として更新することができる。これにより、学習済みの転移元ニューラルネットワークの荷重値をそのまま用いず最適化できるので、少量の転移先学習用データで学習する場合に起こり得る過学習を抑制することができる。
【０２００】
また、転移先ニューラルネットワークに教師付き学習を行う場合、例えば、入力データＸ、荷重Ｗ及び正解ラベルを用いて、正解ベクトルＺと出力データＹとの誤差を表す損失関数（Ｌ１やＬ２）を定義し（例えばＬ＝｜Ｙ−Ｚ｜、｜｜は絶対値を表す）、勾配降下法やバックプロパゲーションにより当該損失関数を減少させる勾配に沿って荷重Ｗを更新してもよい。
【０２０１】
以上、本開示の実施の形態に係る学習装置、認識装置及び学習認識システムについて説明したが、本開示はこれら実施の形態に限定されるものではない。
【０２０２】
例えば、本開示の学習装置、認識装置及び学習認識システムは、コンピュータを利用して実現してもよい。
【０２０３】
図２０は、本開示の学習装置、認識装置及び学習認識システムを実現するためのハードウェア構成を示すブロック図である。
【０２０４】
本開示の学習装置、認識装置及び学習認識システムは、コンピュータ１０００とコンピュータ１０００に指示を与えるためのキーボード１０１１及びマウス１０１２と、コンピュータ１０００の演算結果等の情報を提示するためのディスプレイ１０１０と、コンピュータ１０００で実行されるプログラムを読み取るためのＯＤＤ（Ｏｐｔｉｃａｌ  Ｄｉｓｋ  Ｄｒｉｖｅ）１００８とを含む。
【０２０５】
本開示の学習装置、認識装置及び学習認識システムが実行するプログラムは、コンピュータで読み取り可能な光記憶媒体１００９に記憶され、ＯＤＤ１００８で読み取られる。または、コンピュータネットワークを通じてＮＩＣ１００６で読み取られる。
【０２０６】
コンピュータ１０００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１００１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１００４と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１００３と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２００５と、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃｏｎｔｒｏｌｌｅｒ）１００６と、バス１００７とを含む。
【０２０７】
さらに、コンピュータ１０００は、高速演算を行うためのＧＰＵ（Ｇｒａｐｈｉｃａｌ
Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１００２を含んでもよい。
【０２０８】
ＣＰＵ１００１とＧＰＵ１００２は、ＯＤＤ１００８またはＮＩＣ１００６を介して読み取られたプログラムを実行する。ＲＯＭ１００４は、コンピュータ１０００の動作に必要なプログラムやデータを記憶する。ＲＡＭ１００３は、プログラム実行時のパラメータなどのデータを記憶する。ＨＤＤ１００５は、プログラムやデータなどを記憶する。ＮＩＣ１００６は、コンピュータネットワークを介して他のコンピュータとの通信を行う。バス１００７は、ＣＰＵ１００１、ＲＯＭ１００４、ＲＡＭ１００３、ＨＤＤ１００５、ＮＩＣ１００６、ディスプレイ１０１０、キーボード１０１１、マウス１０１２及びＯＤＤ１００８を相互に接続する。なお、コンピュータ１０００に接続されているキーボード１１１１、マウス１０１２、及びＯＤＤ１００８は、例えばディスプレイ１０１０がタッチパネルになっている場合やＮＩＣ１００６を利用する場合には、取り外してもよい。
【０２０９】
さらに、上記の各装置を構成するデータ識別装置３００の構成要素の一部または全ては、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に蓄積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。ＲＡＭには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。
【０２１０】
さらにまた、上記の各装置を構成する構成要素の一部または全ては、各装置に着脱可能なＩＣカードまたは単体モジュールから構成されているとしてもよい。ＩＣカードまたはモジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。ＩＣカードまたはモジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、ＩＣカードまたはモジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【０２１１】
また、本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムを含んでもよいし、前記コンピュータプログラムからなるデジタル信号を含んでもよい。
【０２１２】
さらに、本開示は、上記コンピュータプログラムまたは上記デジタル信号をコンピュータで読み取り可能な非一時的な記憶媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、半導体メモリなどに記憶したものを含んでもよい。また、これら非一時的な記憶媒体に記録されている上記デジタル信号を含んでもよい。
【０２１３】
また、本開示は、上記コンピュータプログラムまたは上記デジタル信号を、電気通信回線、無線または有線通信回路、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０２１４】
また、上記プログラムまたは上記デジタル信号を上記非一時的な記憶媒体に記録して移送することにより、または上記プログラムまたは上記デジタル信号は上記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０２１５】
また、本開示は、図２１のように、コンピュータ１０００以外にも別途データサーバ１１０１を構築し、そのデータサーバ１１０１上にメモリ等の保存すべきデータを置き、上記ネットワーク等を経由してその情報をコンピュータ１０００が読み出してもよい。また、データサー１１０１から情報を読み出す、コンピュータ１０００は１台である必要はなく、複数であってもよい。その際、各コンピュータ１０００が、本開示の学習装置、認識装置及び学習認識システムの構成要素の一部をそれぞれ実施してもよい。
【０２１６】
さらに、上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【０２１７】
また、今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は上記した説明ではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【産業上の利用可能性】
【０２１８】
本開示によれば、学習装置、認識装置、学習認識システム、及び、プログラムに利用でき、特に画像やセンサ値を認識及び/または分類するために過学習に左右されない転移学習を実施することができる学習装置、認識装置、学習認識システム、及び、プログラムに利用できる。
【符号の説明】
【０２１９】
１、１Ａ、１Ｄ    学習識別システム
２、２Ａ、２Ｄ    転移元ニューラルネットワーク学習装置
１０、１０Ｃ    転移学習装置
２０、２０Ａ    識別装置
２１、２１Ｄ    転移元ニューラルネットワーク生成部
２２、２２Ａ    転移元学習用データ保持部
２２Ｄ    転移元学習用データセット保持部
２３    転移元学習用データセット選択部
３０    転移先学習用データ保持部
３１    系統樹保持部
４０    データ入力部
１０２    転移先ニューラルネットワーク
１０３    データ演算部
１０４    構成情報保持部
１０５    荷重保持部
１０６    荷重調整部
１０７    関連度ベクトル調整部
２００    ニューラルネットワーク
２０１    入力層  ２０２、２０２ａ、２０２ｂ    隠れ層
２０３    出力層
２０５    入力ユニット
２０６    隠れユニット
２０７    出力ユニット
２２０    出力ユニット比較部
８０１    系統樹
【図１】
2018022473.tif 000003
【図２】
2018022473.tif 000004
【図３】
2018022473.tif 000005
【図４】
2018022473.tif 000006
【図５】
2018022473.tif 000007
【図６】
2018022473.tif 000008
【図７】
2018022473.tif 000009
【図８】
2018022473.tif 000010
【図９】
2018022473.tif 000011
【図１０】
2018022473.tif 000012
【図１１Ａ】
2018022473.tif 000013
【図１１Ｂ】
2018022473.tif 000014
【図１２】
2018022473.tif 000015
【図１３】
2018022473.tif 000016
【図１４】
2018022473.tif 000017
【図１５】
2018022473.tif 000018
【図１６】
2018022473.tif 000019
【図１７】
2018022473.tif 000020
【図１８】
2018022473.tif 000021
【図１９】
2018022473.tif 000022
【図２０】
2018022473.tif 000023
【図２１】
2018022473.tif 000024
【図２２】
2018022473.tif 000025