IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ KDDI株式会社の特許一覧

<>
  • 特許-学習装置、学習方法及びプログラム 図1
  • 特許-学習装置、学習方法及びプログラム 図2
  • 特許-学習装置、学習方法及びプログラム 図3
  • 特許-学習装置、学習方法及びプログラム 図4
  • 特許-学習装置、学習方法及びプログラム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-08
(45)【発行日】2023-03-16
(54)【発明の名称】学習装置、学習方法及びプログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20230309BHJP
   G06N 3/08 20230101ALI20230309BHJP
   G06N 20/00 20190101ALI20230309BHJP
【FI】
G06T7/00 350C
G06N3/08
G06N20/00
【請求項の数】 10
(21)【出願番号】P 2019231295
(22)【出願日】2019-12-23
(65)【公開番号】P2021099677
(43)【公開日】2021-07-01
【審査請求日】2021-11-17
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100166006
【弁理士】
【氏名又は名称】泉 通博
(74)【代理人】
【識別番号】100154070
【弁理士】
【氏名又は名称】久恒 京範
(74)【代理人】
【識別番号】100153280
【弁理士】
【氏名又は名称】寺川 賢祐
(72)【発明者】
【氏名】石川 彰夫
(72)【発明者】
【氏名】服部 元
【審査官】片岡 利延
(56)【参考文献】
【文献】特開平01-233579(JP,A)
【文献】特開平05-035710(JP,A)
【文献】特開平04-084282(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06N 3/08
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
複数の処理層を含み、画像を入力すると当該画像に含まれている被写体が、識別可能な複数の既知被写体のうちのいずれかであることを示すラベルを出力可能な学習モデルを取得するモデル取得部と、
前記学習モデルが識別不能な未知被写体が含まれている未学習画像を取得する画像取得部と、
前記学習モデルに含まれる前記複数の処理層のうちの一以上の前記処理層に対して、新規ユニットを追加するユニット追加部と、
追加された前記新規ユニットごとに、当該新規ユニットが追加された前記処理層である構成変更処理層に隣接する隣接処理層に属するユニットと、当該新規ユニットとの間においてデータを伝搬させる新規エッジを追加するエッジ追加部と、
前記新規ユニット及び前記新規エッジが追加された前記学習モデルである構成変更モデルに前記未学習画像を入力したときに前記構成変更モデルによって出力されたラベルが前記未知被写体を示すように、前記構成変更モデルにおいて調整可能なモデルパラメータであって、前記新規ユニット及び前記新規エッジに対応する前記モデルパラメータのみを調整する調整部と、
を有し、
前記調整部は、前記構成変更モデルに前記未学習画像を入力したときに前記構成変更処理層に属する複数のユニットの中で前記新規ユニットが活性化する度合いが相対的に高くなるように、当該新規ユニットに入力されるデータにバイアスを付与するために用いられるバイアスパラメータを、前記モデルパラメータとして調整する、
学習装置。
【請求項2】
複数の処理層を含み、画像を入力すると当該画像に含まれている被写体が、識別可能な複数の既知被写体のうちのいずれかであることを示すラベルを出力可能な学習モデルを取得するモデル取得部と、
前記学習モデルが識別不能な未知被写体が含まれている未学習画像を取得する画像取得部と、
前記学習モデルに含まれる前記複数の処理層のうちの一以上の前記処理層に対して、新規ユニットを追加するユニット追加部と、
追加された前記新規ユニットごとに、当該新規ユニットが追加された前記処理層である構成変更処理層に隣接する隣接処理層に属するユニットと、当該新規ユニットとの間においてデータを伝搬させる新規エッジを追加するエッジ追加部と、
前記新規ユニット及び前記新規エッジが追加された前記学習モデルである構成変更モデルに前記未学習画像を入力したときに前記構成変更モデルによって出力されたラベルが前記未知被写体を示すように、前記構成変更モデルにおいて調整可能なモデルパラメータであって、前記新規ユニット及び前記新規エッジに対応する前記モデルパラメータのみを調整する調整部と、
を有し、
前記調整部は、前記新規エッジによって伝搬されるデータに重みを付与するために用いられる重みパラメータを前記モデルパラメータとして調整する場合において、前記構成変更処理層に属する前記新規ユニットと、当該構成変更処理層の直前の前記隣接処理層である前段処理層に属する複数のユニットのうち、前記構成変更モデルに前記未学習画像を入力したときに活性化した活性化ユニットとの間に追加された前記新規エッジに対応する前記重みパラメータに正の数値を設定する、
習装置。
【請求項3】
前記画像取得部は、前記未学習画像である第1未学習画像に所定の変換を施した第2未学習画像をさらに取得し、
前記調整部は、前記構成変更処理層に属する前記新規ユニットと、当該構成変更処理層に対応する前記前段処理層に属する複数のユニットのうち、前記構成変更モデルに前記第1未学習画像と前記第2未学習画像とを入力したときに共通して活性化した前記活性化ユニットとの間に追加された前記新規エッジに対応する前記重みパラメータに正の数値を設定する、
請求項に記載の学習装置。
【請求項4】
前記ユニット追加部は、第1処理層と、当該第1処理層の直後の前記処理層である第2処理層とにそれぞれ前記新規ユニットを追加し、
前記調整部は、前記第1処理層に属する前記新規ユニットと、前記第2処理層に属する前記新規ユニットとの間に追加された前記新規エッジに対応する前記重みパラメータに正の数値を設定する、
請求項又はに記載の学習装置。
【請求項5】
前記調整部は、前記第1処理層に属する前記新規ユニットと、前記第2処理層に属する前記新規ユニット以外の既存ユニットとの間に追加された前記新規エッジに対応する前記重みパラメータに0又は負の数値を設定する、
請求項に記載の学習装置。
【請求項6】
前記調整部は、前記第1処理層に属する前記新規ユニットと、前記第2処理層に属する前記新規ユニット以外の既存ユニットとの間に追加された前記新規エッジに対応する前記重みパラメータを、前記構成変更モデルに前記未学習画像を入力したときにおいて、当該新規エッジ以外の一以上の既存エッジそれぞれが当該既存ユニットに入力するために伝搬したデータが示す数値を合計した合計値と、当該新規エッジが当該既存ユニットに入力するために伝搬したデータが示す数値との和が0に近くなるように調整する、
請求項に記載の学習装置。
【請求項7】
コンピュータが実行する、
複数の処理層を含み、画像を入力すると当該画像に含まれている被写体が、識別可能な複数の既知被写体のうちのいずれかであることを示すラベルを出力可能な学習モデルを取得するステップと、
前記学習モデルが識別不能な未知被写体が含まれている未学習画像を取得するステップと、
前記学習モデルに含まれる前記複数の処理層のうちの一以上の前記処理層に対して、新規ユニットを追加するステップと、
追加された前記新規ユニットごとに、当該新規ユニットが追加された処理層である構成変更処理層に隣接する隣接処理層に属するユニットと、当該新規ユニットとの間においてデータを伝搬させる新規エッジを追加するステップと、
前記新規ユニット及び前記新規エッジが追加された前記学習モデルである構成変更モデルに前記未学習画像を入力したときに前記構成変更モデルによって出力されたラベルが前記未知被写体を示すように、前記構成変更モデルにおいて調整可能なモデルパラメータであって、前記新規ユニット及び前記新規エッジに対応する前記モデルパラメータのみを調整するステップと、
を有し、
前記モデルパラメータを調整するステップにおいて、前記構成変更モデルに前記未学習画像を入力したときに前記構成変更処理層に属する複数のユニットの中で前記新規ユニットが活性化する度合いが相対的に高くなるように、当該新規ユニットに入力されるデータにバイアスを付与するために用いられるバイアスパラメータを、前記モデルパラメータとして調整する、
学習方法。
【請求項8】
コンピュータを、
複数の処理層を含み、画像を入力すると当該画像に含まれている被写体が、識別可能な複数の既知被写体のうちのいずれかであることを示すラベルを出力可能な学習モデルを取得するモデル取得部、
前記学習モデルが識別不能な未知被写体が含まれている未学習画像を取得する画像取得部、
前記学習モデルに含まれる前記複数の処理層のうちの一以上の前記処理層に対して、新規ユニットを追加するユニット追加部、
追加された前記新規ユニットごとに、当該新規ユニットが追加された処理層である構成変更処理層に隣接する隣接処理層に属するユニットと、当該新規ユニットとの間においてデータを伝搬させる新規エッジを追加するエッジ追加部、及び
前記新規ユニット及び前記新規エッジが追加された前記学習モデルである構成変更モデルに前記未学習画像を入力したときに前記構成変更モデルによって出力されたラベルが前記未知被写体を示すように、前記構成変更モデルにおいて調整可能なモデルパラメータであって、前記新規ユニット及び前記新規エッジに対応する前記モデルパラメータのみを調整する調整部、
として機能させ
前記調整部は、前記構成変更モデルに前記未学習画像を入力したときに前記構成変更処理層に属する複数のユニットの中で前記新規ユニットが活性化する度合いが相対的に高くなるように、当該新規ユニットに入力されるデータにバイアスを付与するために用いられるバイアスパラメータを、前記モデルパラメータとして調整する、
プログラム。
【請求項9】
コンピュータが実行する、
複数の処理層を含み、画像を入力すると当該画像に含まれている被写体が、識別可能な複数の既知被写体のうちのいずれかであることを示すラベルを出力可能な学習モデルを取得するステップと、
前記学習モデルが識別不能な未知被写体が含まれている未学習画像を取得するステップと、
前記学習モデルに含まれる前記複数の処理層のうちの一以上の前記処理層に対して、新規ユニットを追加するステップと、
追加された前記新規ユニットごとに、当該新規ユニットが追加された処理層である構成変更処理層に隣接する隣接処理層に属するユニットと、当該新規ユニットとの間においてデータを伝搬させる新規エッジを追加するステップと、
前記新規ユニット及び前記新規エッジが追加された前記学習モデルである構成変更モデルに前記未学習画像を入力したときに前記構成変更モデルによって出力されたラベルが前記未知被写体を示すように、前記構成変更モデルにおいて調整可能なモデルパラメータであって、前記新規ユニット及び前記新規エッジに対応する前記モデルパラメータのみを調整するステップと、
を有し、
前記モデルパラメータを調整するステップにおいて、前記新規エッジによって伝搬されるデータに重みを付与するために用いられる重みパラメータを前記モデルパラメータとして調整する場合において、前記構成変更処理層に属する前記新規ユニットと、当該構成変更処理層の直前の前記隣接処理層である前段処理層に属する複数のユニットのうち、前記構成変更モデルに前記未学習画像を入力したときに活性化した活性化ユニットとの間に追加された前記新規エッジに対応する前記重みパラメータに正の数値を設定する、
学習方法。
【請求項10】
コンピュータを、
複数の処理層を含み、画像を入力すると当該画像に含まれている被写体が、識別可能な複数の既知被写体のうちのいずれかであることを示すラベルを出力可能な学習モデルを取得するモデル取得部、
前記学習モデルが識別不能な未知被写体が含まれている未学習画像を取得する画像取得部、
前記学習モデルに含まれる前記複数の処理層のうちの一以上の前記処理層に対して、新規ユニットを追加するユニット追加部、
追加された前記新規ユニットごとに、当該新規ユニットが追加された処理層である構成変更処理層に隣接する隣接処理層に属するユニットと、当該新規ユニットとの間においてデータを伝搬させる新規エッジを追加するエッジ追加部、及び
前記新規ユニット及び前記新規エッジが追加された前記学習モデルである構成変更モデルに前記未学習画像を入力したときに前記構成変更モデルによって出力されたラベルが前記未知被写体を示すように、前記構成変更モデルにおいて調整可能なモデルパラメータであって、前記新規ユニット及び前記新規エッジに対応する前記モデルパラメータのみを調整する調整部、
として機能させ、
前記調整部は、前記新規エッジによって伝搬されるデータに重みを付与するために用いられる重みパラメータを前記モデルパラメータとして調整する場合において、前記構成変更処理層に属する前記新規ユニットと、当該構成変更処理層の直前の前記隣接処理層である前段処理層に属する複数のユニットのうち、前記構成変更モデルに前記未学習画像を入力したときに活性化した活性化ユニットとの間に追加された前記新規エッジに対応する前記重みパラメータに正の数値を設定する、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習モデルに画像に写っている被写体を学習させる学習装置、学習方法及びプログラムに関する。
【背景技術】
【0002】
近年、CPU(Central Processing Unit)及びGPU(Graphics Processing Unit)の高速化、メモリの大容量化、及び機械学習技術が急速に進んできている。このため、数十万から数百万といった大量の学習データを用いる機械学習が可能となり、精度の高い識別技術や分類技術が確立されつつある(非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0003】
【文献】Yangqing Jia, Evan Shelhamer, Jeff Donahue, Sergey Karayev, Jonathan Long, Ross Girshick, Sergio Guadarrama, and Trevor Darrell. Caffe: Convolutional architecture for fast feature embedding. In Proceedings of the 22nd ACM international conference on Multimedia (pp. 675-678). ACM.
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記技術を用いて、学習モデルに様々な被写体が写った大量の画像を学習データとして学習させることにより、画像に写っている被写体を学習モデルに識別させることができる。しかしながら、学習モデルに新たな被写体を識別させる場合、新たな被写体が写った大量の画像が必要となり、学習モデルを管理する管理者の負担が大きかった。そのため、少ない画像を用いて学習モデルに新たな被写体を識別させることが求められている。
【0005】
そこで、本発明はこれらの点に鑑みてなされたものであり、学習モデルに新たな被写体を識別させることができる学習装置、学習方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1の態様にかかる学習装置は、複数の処理層を含み、画像を入力すると当該画像に含まれている被写体が、識別可能な複数の既知被写体のうちのいずれかであることを示すラベルを出力可能な学習モデルを取得するモデル取得部と、前記学習モデルが識別不能な未知被写体が含まれている未学習画像を取得する画像取得部と、前記学習モデルに含まれる前記複数の処理層のうちの一以上の前記処理層に対して、新規ユニットを追加するユニット追加部と、追加された前記新規ユニットごとに、当該新規ユニットが追加された前記処理層である構成変更処理層に隣接する隣接処理層に属するユニットと、当該新規ユニットとの間においてデータを伝搬させる新規エッジを追加するエッジ追加部と、前記新規ユニット及び前記新規エッジが追加された前記学習モデルである構成変更モデルに前記未学習画像を入力したときに前記構成変更モデルによって出力されたラベルが前記未知被写体を示すように、前記構成変更モデルにおいて調整可能なモデルパラメータであって、前記新規ユニット及び前記新規エッジに対応する前記モデルパラメータを調整する調整部と、を有する。
【0007】
前記調整部は、前記構成変更モデルに前記未学習画像を入力したときに前記構成変更処理層に属する複数のユニットの中で前記新規ユニットが活性化する度合いが相対的に高くなるように、当該新規ユニットに入力されるデータにバイアスを付与するために用いられるバイアスパラメータを、前記モデルパラメータとして調整してもよい。
【0008】
前記調整部は、前記新規エッジによって伝搬されるデータに重みを付与するために用いられる重みパラメータを前記モデルパラメータとして調整する場合において、前記構成変更処理層に属する前記新規ユニットと、当該構成変更処理層の直前の前記隣接処理層である前段処理層に属する複数のユニットのうち、前記構成変更モデルに前記未学習画像を入力したときに活性化した活性化ユニットとの間に追加された前記新規エッジに対応する前記重みパラメータに正の数値を設定してもよい。
【0009】
前記画像取得部は、前記未学習画像である第1未学習画像に所定の変換を施した第2未学習画像をさらに取得してもよいし、前記調整部は、前記構成変更処理層に属する前記新規ユニットと、当該構成変更処理層に対応する前記前段処理層に属する複数のユニットのうち、前記構成変更モデルに前記第1未学習画像と前記第2未学習画像とを入力したときに共通して活性化した前記活性化ユニットとの間に追加された前記新規エッジに対応する前記重みパラメータに正の数値を設定してもよい。
【0010】
前記ユニット追加部は、第1処理層と、当該第1処理層の直後の前記処理層である第2処理層とにそれぞれ前記新規ユニットを追加してもよいし、前記調整部は、前記第1処理層に属する前記新規ユニットと、前記第2処理層に属する前記新規ユニットとの間に追加された前記新規エッジに対応する前記重みパラメータに正の数値を設定してもよい。
【0011】
前記調整部は、前記第1処理層に属する前記新規ユニットと、前記第2処理層に属する前記新規ユニット以外の既存ユニットとの間に追加された前記新規エッジに対応する前記重みパラメータに0又は負の数値を設定してもよい。
【0012】
前記調整部は、前記第1処理層に属する前記新規ユニットと、前記第2処理層に属する前記新規ユニット以外の既存ユニットとの間に追加された前記新規エッジに対応する前記重みパラメータを、前記構成変更モデルに前記未学習画像を入力したときにおいて、当該新規エッジ以外の一以上の既存エッジそれぞれが当該既存ユニットに入力するために伝搬したデータが示す数値を合計した合計値と、当該新規エッジが当該既存ユニットに入力するために伝搬したデータが示す数値との和が0に近くなるように調整してもよい。
【0013】
本発明の第2の態様にかかる学習方法は、コンピュータが実行する、複数の処理層を含み、画像を入力すると当該画像に含まれている被写体が、識別可能な複数の既知被写体のうちのいずれかであることを示すラベルを出力可能な学習モデルを取得するステップと、前記学習モデルが識別不能な未知被写体が含まれている未学習画像を取得するステップと、前記学習モデルに含まれる前記複数の処理層のうちの一以上の前記処理層に対して、新規ユニットを追加するステップと、追加された前記新規ユニットごとに、当該新規ユニットが追加された処理層である構成変更処理層に隣接する隣接処理層に属するユニットと、当該新規ユニットとの間においてデータを伝搬させる新規エッジを追加するステップと、前記新規ユニット及び前記新規エッジが追加された前記学習モデルである構成変更モデルに前記未学習画像を入力したときに前記構成変更モデルによって出力されたラベルが前記未知被写体を示すように、前記構成変更モデルにおいて調整可能なモデルパラメータであって、前記新規ユニット及び前記新規エッジに対応する前記モデルパラメータを調整するステップと、を有する。
【0014】
本発明の第3の態様にかかるプログラムは、コンピュータを、複数の処理層を含み、画像を入力すると当該画像に含まれている被写体が、識別可能な複数の既知被写体のうちのいずれかであることを示すラベルを出力可能な学習モデルを取得するモデル取得部、前記学習モデルが識別不能な未知被写体が含まれている未学習画像を取得する画像取得部、前記学習モデルに含まれる前記複数の処理層のうちの一以上の前記処理層に対して、新規ユニットを追加するユニット追加部、追加された前記新規ユニットごとに、当該新規ユニットが追加された処理層である構成変更処理層に隣接する隣接処理層に属するユニットと、当該新規ユニットとの間においてデータを伝搬させる新規エッジを追加するエッジ追加部、及び前記新規ユニット及び前記新規エッジが追加された前記学習モデルである構成変更モデルに前記未学習画像を入力したときに前記構成変更モデルによって出力されたラベルが前記未知被写体を示すように、前記構成変更モデルにおいて調整可能なモデルパラメータであって、前記新規ユニット及び前記新規エッジに対応する前記モデルパラメータを調整する調整部、として機能させる。
【発明の効果】
【0015】
本発明によれば、学習モデルに新たな被写体を識別させることができるという効果を奏する。
【図面の簡単な説明】
【0016】
図1】学習装置の概要を説明するための図である。
図2】学習装置の構成を示す図である。
図3】構成変更モデルの一部を模式的に表した図である。
図4】構成変更モデルの一部を模式的に表した図である。
図5】学習装置の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0017】
[学習装置1の概要]
図1は、学習装置1の概要を説明するための図である。学習装置1は、学習モデルMに新たな被写体を識別させるために用いられる装置であり、例えばPC(Personal Computer)をはじめとするコンピュータである。
【0018】
学習モデルMは、学習済みのモデルであり、画像を入力すると当該画像に含まれている被写体が、複数の既知被写体のうちのいずれかであることを示すラベルを出力可能なモデルである。既知被写体は、学習モデルMが識別可能な被写体である。学習モデルMが出力するラベルは、例えばビット列であり、各ビットが複数の既知被写体のうちのいずれかに対応する。
【0019】
学習モデルMは、例えば、畳み込みニューラルネットワーク(Convolutional Neural Network)の学習モデルであり、複数の処理層を含む。図1に示す例において、学習モデルMは、複数の処理層として、入力層M10、隠れ層M20及び出力層M30を含む。隠れ層M20は、畳み込み層M21、プーリング層M22、第1全結合層M23及び第2全結合層M24を含む。隠れ層M20は、正規化層、畳み込み層M21とは異なる他の畳み込み層、プーリング層M22とは異なる他のプーリング層をさらに含んでもよい。
【0020】
図1に示す画像G1は、既知被写体(図1に示す例においてヒナギク)が写っている学習済画像である。図1に示す画像G2は、未知被写体(図1に示す例においてサクラ)が写っている未学習画像である。未知被写体は、学習モデルMが識別不能な被写体である。未知被写体は、既知被写体と同じ種類の被写体(例えば、既知被写体及び未知被写体いずれも植物の種類等)であってもよいし、既知被写体とは異なる種類の被写体(例えば、既知被写体が植物の種類であり、未知被写体が動物の種類である等)であってもよい。学習装置1は、学習モデルMが画像G2に含まれている未知被写体を新たな被写体として識別できるように学習させる。
【0021】
学習モデルMに新たな被写体を識別させる方法として、一部の処理層の構成を変更して学習させる転移学習、及び学習モデルMで予め別途学習済みの既存のモデルパラメータを初期値として用いて学習させるファインチューニング等がある。このような方法を用いて学習させることにより、学習モデルMに新たな被写体を識別させることが可能となるが、学習モデルMにおいて既存のモデルパラメータが変更されてしまい、既知被写体を識別する精度も変更され得るという問題があった。
【0022】
そこで、学習装置1は、学習モデルMにおいて、既存のモデルパラメータを変更せずに、新たに識別させる未知被写体を学習させる。具体的には、学習装置1は、まず、学習モデルMに含まれる処理層に対して、入力されたデータに演算処理を施す新規ユニットを追加し、追加した新規ユニットと、当該新規ユニットを追加した処理層に隣接する隣接処理層に属するユニットとの間においてデータを伝搬する新規エッジを追加する。
【0023】
そして、学習装置1は、新規ユニット及び新規エッジが追加された学習モデルMである構成変更モデルに未学習画像を入力したときに当該構成変更モデルによって出力されたラベルが当該未学習画像に写っている未知被写体を示すように、新規ユニット及び新規エッジに対応するモデルパラメータを調整する。詳細については後述するが、モデルパラメータは、学習モデルMにおいて調整可能なパラメータであって、構成変更モデルに含まれるユニット及びエッジそれぞれに関連付けられているパラメータである。
【0024】
このようにすることで、学習装置1は、学習モデルMにおいて予め設定された既存のモデルパラメータを変更せずに、当該学習モデルMに対応する構成変更モデルに新たな被写体を識別させることができる。これにより、学習装置1は、構成変更モデルにおいて既知被写体の識別精度が変わることを防ぐことができる。また、学習装置1は、少なくとも1つの未学習画像を用いて構成変更モデルに学習させることにより、当該構成変更モデルに新たな被写体を識別させることができる。これにより、学習装置1は、管理者の負担を軽減させることができる。
以下、学習装置1の構成について説明する。
【0025】
[学習装置1の構成]
図2は、学習装置1の構成を示す図である。学習装置1は、記憶部11と、制御部12とを有する。記憶部11は、ROM(Read Only Memory)、RAM(Random Access Memory)及びハードディスク等の記憶媒体である。記憶部11は、制御部12が実行するプログラムを記憶している。
【0026】
制御部12は、例えばCPU又はGPUである。制御部12は、記憶部11に記憶されたプログラムを実行することにより、モデル取得部121、画像取得部122、ユニット追加部123、エッジ追加部124及び調整部125として機能する。
【0027】
モデル取得部121は、学習モデルMを取得する。例えば、記憶部11には、学習モデルMが記憶されており、モデル取得部121は、記憶部11に記憶されている学習モデルMを取得する。例えば、学習装置1は、ネットワークに接続するための不図示の通信部を有し、モデル取得部121は、通信部を介して、外部の装置から学習モデルMを取得してもよい。
【0028】
画像取得部122は、未学習画像を取得する。未学習画像は、例えば、カメラをはじめとする撮像装置が撮像した画像であり、静止画像又は動画像に含まれるフレーム画像である。画像取得部122は、記憶部11に記憶されている未学習画像を取得してもよいし、通信部を介して外部の装置から未学習画像を取得してもよい。
【0029】
ユニット追加部123は、モデル取得部121が取得した学習モデルMに含まれる複数の処理層のうちの一以上の処理層に対して、新規ユニットを追加する。ユニット追加部123が追加した新規ユニットは、学習モデルMに未学習画像が入力されたときに活性化させるためのユニットである。活性化は、例えば、ユニットが出力したデータによって示される数値(以下、「ユニットの出力値」という)が予め定められた所定の閾値を上回ること、又はある処理層においてユニットの出力値の大きさが他の複数のユニットそれぞれの出力値の中で予め定められた所定の順位を上回ること等である。
【0030】
新規ユニットには、予め定められた活性化関数と、任意の数値が設定されたバイアスパラメータとが関連付けられている。バイアスパラメータは、入力されるデータにバイアスを付与するために用いられるパラメータである。ユニット追加部123は、1つの処理層に対して、1つの新規ユニットを追加してもよいし、複数の新規ユニットを追加してもよい。
【0031】
ユニット追加部123は、例えば、出力層M30において1つのユニットが1つの既知被写体に対応する場合に、未学習画像に含まれている未知被写体に対応させるための新規ユニットを追加する。ユニット追加部123は、複数の全結合層(第1全結合層M23、第2全結合層M24)のうち、少なくとも一部の全結合層に新規ユニットを追加してもよい。ユニット追加部123は、畳み込み層M21に新規ユニットを追加する場合、新たな畳み込みフィルタを新規ユニットとして追加してもよい。
【0032】
エッジ追加部124は、追加された新規ユニットごとに、当該新規ユニットが追加された処理層である構成変更処理層に隣接する隣接処理層に属するユニットと、当該新規ユニットとの間においてデータを伝搬させる新規エッジを追加する。新規エッジには、任意の数値が設定された重みパラメータが関連付けられている。重みパラメータは、新規エッジによって伝搬されるデータに重みを付与するために用いられるパラメータである。
【0033】
図3及び図4は、構成変更モデルの一部を模式的に表した図である。図3及び図4に示す例においては、第1全結合層M23、第2全結合層M24及び出力層M30の構成を示す。図3及び図4に示す例において、実線で示すユニット(円形のオブジェクト)及びエッジ(2つのユニット間を結ぶ線)は、学習モデルMに予め存在する既存ユニット及び既存エッジであり、破線で示すユニット及びエッジは、新規ユニット及び新規エッジである。図3及び図4に示す例においては、第2全結合層M24及び出力層M30にそれぞれ1つの新規ユニット(ユニットU5、U8)が追加されている。
【0034】
図3に示す例において、エッジ追加部124は、ユニットU5に関する処理として、当該ユニットU5と、第2全結合層M24に隣接する第1全結合層M23及び出力層M30それぞれに属するユニットU1、U2、U6、U7との間に追加された新規エッジとしてエッジL3、L6、L13、L14を追加する。同様に、エッジ追加部124は、ユニットU8に関する処理として、当該ユニットU8と、出力層M30に隣接する第2全結合層M24に属するユニットU3、U4、U5との間に追加された新規エッジとしてエッジL9、L12、L15を追加する。
【0035】
図2に戻り、調整部125は、新規ユニット及び新規エッジが追加された学習モデルMである構成変更モデルに未学習画像を入力したときに当該構成変更モデルによって出力されたラベルが当該未学習画像に含まれている未知被写体を示すように、新規ユニット及び新規エッジに対応するモデルパラメータを調整する。調整部125は、例えば、誤差逆伝搬法を用いて、構成変更モデルに未学習画像を入力したときに当該構成変更モデルによって出力されたラベルが当該未学習画像に含まれている未知被写体を示すように、新規ユニット及び新規エッジに対応するモデルパラメータを調整する。
【0036】
調整部125は、例えば、新規ユニットに対応するバイアスパラメータを、新規ユニットに対応するモデルパラメータとして調整する。具体的には、調整部125は、構成変更モデルに未学習画像を入力したときに構成変更処理層に属する複数のユニットの中で新規ユニットが活性化する度合いが相対的に高くなるように、当該新規ユニットに対応するバイアスパラメータを調整する。
【0037】
図3に示す例において、調整部125は、構成変更モデルに未学習画像を入力したときに第2全結合層M24に属するユニットU3、U4、U5それぞれの出力値の中でユニットU5の出力値が最大になるように、ユニットU5に対応するバイアスパラメータを調整する。同様に、調整部125は、構成変更モデルに未学習画像を入力したときに出力層M30に属するユニットU6、U7、U8それぞれの出力値の中でユニットU8の出力値が最大になるように、ユニットU8に対応するバイアスパラメータを調整する。このようにすることで、学習装置1は、構成変更モデルに未知被写体を識別させることができる。
【0038】
調整部125は、新規エッジに対応する重みパラメータを、新規エッジに対応するモデルパラメータとして調整してもよい。具体的には、調整部125は、構成変更処理層に属する新規ユニットと、当該構成変更処理層に対応する前段処理層に属する複数の既存ユニットのうち、構成変更モデルに未学習画像を入力したときに活性化した活性化ユニットとの間に追加された新規エッジに対応する重みパラメータに正の数値を設定する。構成変更処理層に対応する前段処理層は、構成変更処理層の直前の隣接処理層、すなわち構成変更処理層に対して入力層M10側に隣接する処理層である。
【0039】
図4に示す例においては、太い線で示すユニット(ユニットU1、U3、U4、U6)が活性化ユニットであるとして説明する。この場合において、調整部125は、新規ユニットであるユニットU5に関する処理として、当該ユニットU5と、第2全結合層M24の直前の第1全結合層M23に属するユニットU1との間に追加されたエッジL3に対応する重みパラメータに正の数値を設定する。同様に、調整部125は、新規ユニットであるユニットU8に関する処理として、当該ユニットU8と、出力層M30の直前の第2全結合層M24に属するユニットU3、U4それぞれとの間に追加されたエッジL9、L12それぞれに対応する重みパラメータに正の数値を設定する。このようにすることで、学習装置1は、構成変更モデルに未学習画像を入力した場合に、新規ユニットに高い数値を示すデータを出力させることができる。
【0040】
調整部125は、未学習画像と、当該未学習画像を拡張した拡張画像とを用いて、新規エッジに対応する重みパラメータに正の数値を設定してもよい。具体的には、まず、画像取得部122は、未学習画像である第1未学習画像に所定の変換を施した第2未学習画像を拡張画像としてさらに取得する。所定の変換は、例えば、平行移動、回転移動、拡大・縮小、アフィン変換、射影変換、鏡映変換、輝度変換及び雑音付与等である。画像取得部122は、取得した第1未学習画像に所定の変換を施して第2未学習画像を生成することによって、当該第2未学習画像を取得してもよい。
【0041】
そして、調整部125は、構成変更処理層に属する新規ユニットと、当該構成変更処理層に対応する前段処理層に属する複数の既存ユニットのうち、構成変更モデルに第1未学習画像と第2未学習画像とを入力したときに共通して活性化した活性化ユニットとの間に追加された新規エッジに対応する重みパラメータに正の数値を設定する。このようにすることで、学習装置1は、新規ユニットが出力するデータのロバスト性を向上させることができる。
【0042】
調整部125は、相互に隣接する複数の構成変更処理層それぞれに属する新規ユニットの間に追加された新規エッジに対応する重みパラメータに正の数値を設定してもよい。具体的には、まず、ユニット追加部123は、相互に隣接する複数の構成変更処理層として、第1処理層と、当該第1処理層の直後の処理層である第2処理層とにそれぞれ新規ユニットを追加する。第2処理層は、第1処理層の直後の処理層、すなわち第1処理層に対して出力層M30側に隣接する処理層である。そして、調整部125は、第1処理層に属する新規ユニットと、第2処理層に属する新規ユニットとの間に追加された新規エッジに対応する重みパラメータに正の数値を設定する。
【0043】
図4に示す例においては、第1処理層が第2全結合層M24であり、第2処理層が出力層M30であるとして説明する。この場合において、調整部125は、第2全結合層M24に属する新規ユニットであるユニットU5と、出力層M30に属する新規ユニットであるユニットU8との間に追加されたエッジL15に対応する重みパラメータに正の数値を設定する。このようにすることで、学習装置1は、構成変更モデルに未学習画像を入力した場合に、新規ユニットに高い数値を示すデータを出力させることができる。
【0044】
調整部125は、第1処理層に属する新規ユニットの出力に起因して第2処理層に属する既存ユニットが活性化しないように、当該新規ユニットと当該既存ユニットとの間に追加された新規エッジに対応する重みパラメータを設定してもよい。具体的には、調整部125は、第1処理層に属する新規ユニットと、第2処理層に属する既存ユニットとの間に追加された新規エッジ(以下、「新規既存間エッジ」という)に対応する重みパラメータに0又は負の数値を設定する。図4に示す例において、調整部125は、第2全結合層M24に属する新規ユニットであるユニットU5と、出力層M30に属する既存ユニットであるユニットU6、U7それぞれとの間に追加された新規既存間エッジであるエッジL13、L14それぞれに対応する重みパラメータに0又は負の数値を設定する。
【0045】
調整部125は、新規既存間エッジに対応する重みパラメータに負の数値を設定する場合、第2処理層に属する複数のユニットそれぞれの出力値の中で新規ユニットの出力値が最大になるように、新規既存間エッジに対応する重みパラメータに負の数値を設定してもよい。調整部125は、例えば、第2処理層において、新規ユニットの出力値が、複数の既存ユニットそれぞれの出力値の中で最も大きい出力値(以下、「最大出力値」という)に予め定められたマージンを加算した合計値以上になるように、新規既存間エッジに対応する重みパラメータに負の数値を設定する。
【0046】
図4に示す例においては、既存ユニットであるユニットU6、U7それぞれの出力値の中でユニットU6の出力値が最大出力値であることを仮定して説明する。この場合において、調整部125は、新規ユニットであるユニットU8の出力値が、ユニットU6の出力値にマージンを加算した合計値以上となるように、新規既存間エッジであるエッジL13、L14それぞれに対応する重みパラメータに負の数値を設定する。
【0047】
なお、調整部125は、構成変更モデルに未学習画像及び拡張画像それぞれを入力した場合、各画像を入力したときの第2処理層に属する新規ユニットの出力値の中で最小の出力値が、既存ユニットの最大出力値にマージンを加算した合計値以上になるように、新規既存間エッジに対応する重みパラメータに負の数値を設定してもよい。このように、学習装置1は、新規既存間エッジに対応する重みパラメータに0又は負の数値を設定することにより、構成変更モデルにおいて既知被写体を識別する精度の低下を防ぎつつ、新たな被写体を識別させることができる。
【0048】
調整部125は、構成変更モデルに未学習画像を入力したときに、第2処理層に属する既存ユニットが活性化しないように、新規既存間エッジに対応する重みパラメータを調整してもよい。具体的には、調整部125は、一以上の既存エッジそれぞれが第2処理層に属する既存ユニットに入力するために伝搬したデータが示す数値を合計した合計値と、新規エッジが当該既存ユニットに入力するために伝搬したデータが示す数値との和が0に近くなるように、新規既存間エッジに対応する重みパラメータを調整する。既存エッジは、新規エッジ以外のエッジである。「エッジがユニットに入力するために伝搬したデータが示す数値」は、エッジが伝搬するデータを出力したユニットの出力値に当該エッジに対応する重みパラメータが示す数値を乗じた数値である。
【0049】
図4に示す例において、調整部125は、エッジL13に対応する重みパラメータを調整する場合、既存エッジであるエッジL7、L10それぞれがユニットU6に入力するために伝搬したデータが示す数値を合計した合計値と、エッジL13がユニットU6に入力するために伝搬したデータが示す数値との和が0に近くなるように重みパラメータを調整する。
【0050】
調整部125は、例えば、構成変更モデルに1つの未学習画像を入力した場合、エッジL7、L10それぞれがユニットU6に入力するために伝搬したデータが示す数値を合計した合計値と、エッジL13がユニットU6に入力するために伝搬したデータによって示される数値との和が0になる数値を、エッジL13に対応する重みパラメータに設定する。また、調整部125は、例えば、構成変更モデルに未学習画像及び拡張画像を入力した場合、各画像を入力したときにおいて、エッジL7、L10それぞれがユニットU6に入力するために伝搬したデータが示す数値を合計した合計値それぞれと、エッジL13がユニットU6に入力するために伝搬したデータによって示される数値それぞれとの和が0に近い数値を、エッジL13に対応する重みパラメータに設定する。このようにすることで、学習装置1は、構成変更モデルに未学習画像を入力したときに既存ユニットが活性化することを防ぐことができる。
【0051】
調整部125は、未学習画像を用いて新規ユニット及び新規エッジに関連するモデルパラメータを調整した後に、未学習画像とは異なる他の画像を用いて新規ユニット及び新規エッジに関連するモデルパラメータをさらに調整してもよい。例えば、他の画像に含まれている被写体が、未学習画像に含まれている未知被写体と同じ種類である場合、当該他の画像を構成変更モデルに入力したときに新規ユニットが活性化するように、新規ユニット及び新規エッジに対応するモデルパラメータを調整する。また、例えば、他の画像に含まれている被写体が、未学習画像に含まれている未知被写体とは異なる種類である場合、当該他の画像を構成変更モデルに入力したときに新規ユニットが活性化しないように、新規ユニット及び新規エッジに対応するモデルパラメータを調整する。このようにすることで、学習装置1は、構成変更モデルが新たな被写体を識別する精度を向上させることができる。
【0052】
[学習装置1の処理]
続いて、学習装置1の処理の流れについて説明する。図5は、学習装置1の処理の流れを示すフローチャートである。本フローチャートは、モデル取得部121が学習モデルMを取得したことを契機として開始する(S1)。画像取得部122は、未学習画像を取得する(S2)。
【0053】
ユニット追加部123は、モデル取得部121が取得した学習モデルMに含まれる複数の処理層のうちの一以上の処理層に対して、新規ユニットを追加する(S3)。エッジ追加部124は、追加された新規ユニットごとに、当該新規ユニットが属する構成変更処理層に隣接する隣接処理層に属するユニットと、当該新規ユニットとの間においてデータを伝搬させる新規エッジを追加する(S4)。
【0054】
そして、調整部125は、構成変更モデルに未学習画像を入力したときに当該構成変更モデルによって出力されたラベルが当該未学習画像に含まれている未知被写体を示すように、新規ユニット及び新規エッジに対応するモデルパラメータを調整する(S5)。
【0055】
[本実施の形態における効果]
以上説明したとおり、学習装置1は、取得した学習モデルMに含まれる複数の処理層のうちの一以上の処理層に新規ユニットを追加し、追加した新規ユニットごとに、当該新規ユニットが属する構成変更処理層に隣接する隣接処理層に属するユニットと、当該新規ユニットとの間においてデータを伝搬させる新規エッジを追加する。そして、学習装置1は、構成変更モデルに未学習画像を入力したときに当該構成変更モデルによって出力されたラベルが当該未学習画像に含まれている未知被写体を示すように、新規ユニット及び新規エッジに対応するモデルパラメータを調整する。
【0056】
このようにすることで、学習装置1は、学習モデルMにおいて予め設定された既存のモデルパラメータを変更せずに、当該学習モデルMに対応する構成変更モデルに新たな被写体を識別させることができる。これにより、学習装置1は、構成変更モデルにおいて既知被写体の識別精度が変わることを防ぐことができる。また、学習装置1は、少なくとも1つの未学習画像を用いて構成変更モデルに学習させることにより、当該構成変更モデルに新たな被写体を識別させることができる。これにより、学習装置1は、管理者の負担を軽減させることができる。
【0057】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を併せ持つ。
【符号の説明】
【0058】
1 学習装置
11 記憶部
12 制御部
121 モデル取得部
122 画像取得部
123 ユニット追加部
124 エッジ追加部
125 調整部
M 学習モデル
M10 入力層
M20 隠れ層
M21 畳み込み層
M22 プーリング層
M23 第1全結合層
M24 第2全結合層
M30 出力層
図1
図2
図3
図4
図5