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

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

▶ コニカミノルタ株式会社の特許一覧

<>
  • 特許-学習方法および学習装置 図1
  • 特許-学習方法および学習装置 図2
  • 特許-学習方法および学習装置 図3
  • 特許-学習方法および学習装置 図4
  • 特許-学習方法および学習装置 図5
  • 特許-学習方法および学習装置 図6
  • 特許-学習方法および学習装置 図7
  • 特許-学習方法および学習装置 図8
  • 特許-学習方法および学習装置 図9
  • 特許-学習方法および学習装置 図10
  • 特許-学習方法および学習装置 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-18
(45)【発行日】2022-04-26
(54)【発明の名称】学習方法および学習装置
(51)【国際特許分類】
   G06N 3/08 20060101AFI20220419BHJP
   G06T 7/00 20170101ALI20220419BHJP
   G06N 20/00 20190101ALI20220419BHJP
【FI】
G06N3/08
G06T7/00 350C
G06N20/00 130
G06N20/00 160
【請求項の数】 20
(21)【出願番号】P 2018036501
(22)【出願日】2018-03-01
(65)【公開番号】P2019152964
(43)【公開日】2019-09-12
【審査請求日】2020-09-28
(73)【特許権者】
【識別番号】000001270
【氏名又は名称】コニカミノルタ株式会社
(74)【代理人】
【識別番号】110001933
【氏名又は名称】特許業務法人 佐野特許事務所
(72)【発明者】
【氏名】早田 啓介
(72)【発明者】
【氏名】関井 大気
(72)【発明者】
【氏名】岡▲崎▼ 智也
【審査官】多賀 実
(56)【参考文献】
【文献】特開平08-208134(JP,A)
【文献】国際公開第2017/023416(WO,A1)
【文献】国際公開第2017/165551(WO,A1)
【文献】Kuniaki Saito et al.,"Asymmetric Tri-training for Unsupervised Domain Adaptation",arXiv.org [online],arXiv:1702.08400v3,米国,Cornell University,2017年,[令和3年9月7日検索],インターネット:<URL: https://arxiv.org/pdf/1702.08400v3>
【文献】Muhammad Ghifary et al.,"Deep Reconstruction-Classification Networks for Unsupervised Domain Adaptation",arXiv.org [online],arXiv:1607.03516v2,米国,Cornell University,2016年,pp.1-21,[令和3年9月7日検索],インターネット:<URL: https://arxiv.org/pdf/1607.03516v2>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06T 7/00
G10L 15/16
(57)【特許請求の範囲】
【請求項1】
入力データから特徴を抽出し、抽出した前記特徴を用いて識別を行う認識処理部の機械学習における学習方法であって、
事前に入手した正解付きのデータセットAを用いて、前記認識処理部の事前学習を行う事前学習工程(1)と、
前記事前学習の後、前記データセットAと、前記データセットAとは異なる環境で取得された正解なしのデータセットBとを用いて、前記認識処理部の追加学習を行う追加学習工程(2)と、
前記追加学習による前記認識処理部の性能評価を行う性能評価工程(3)と、
前記性能評価の結果に基づいて、前記認識処理部のパラメータを、前記追加学習によって得られたパラメータに更新する更新工程(4)とを含み、
前記認識処理部が、前記入力データから前記特徴を抽出する特徴抽出層と、抽出した前記特徴を用いて識別を行う識別層とを含む場合において、
前記追加学習工程(2)は、前記特徴抽出層の追加学習L1を行う工程(2a)と、前記認識処理部の追加学習L2を行う工程(2b)とを含み、
前記性能評価工程(3)は、前記追加学習L1による前記特徴抽出層の性能評価E1を行う工程(3a)と、前記追加学習L2による前記認識処理部の性能評価E2を行う工程(3b)とを含み、
前記更新工程(4)は、前記性能評価E1の結果に基づいて、前記特徴抽出層のパラメータを、前記追加学習L1によって得られたパラメータに更新する工程(4a)と、前記性能評価E2の結果に基づいて、前記認識処理部のパラメータを、前記追加学習L2によって得られたパラメータに更新する工程(4b)とを含み、
前記工程(2a)、前記工程(3a)、前記工程(4a)、前記工程(2b)、前記工程(3b)および前記工程(4b)を、この順で行うことを特徴とする学習方法。
【請求項2】
前記工程(2a)では、前記データセットBに含まれるデータセットB1を用いて、前記特徴抽出層の前記追加学習L1を行い、
前記工程(3a)では、前記データセットBに含まれる前記データセットB1以外のデータセットB2を用いて、前記特徴抽出層の前記性能評価E1を行うことを特徴とする請求項1に記載の学習方法。
【請求項3】
前記工程(2b)では、前記データセットAを用いて、前記認識処理部の前記追加学習L2を行い、
前記工程(3b)では、予め用意した性能評価用のデータセットCを用いて、前記認識処理部の性能評価E2を行うことを特徴とする請求項1または2に記載の学習方法。
【請求項4】
前記工程(4a)では、前記性能評価E1の結果が一定の基準を満足している場合に、前記特徴抽出層のパラメータ更新を行うことを特徴とする請求項1から3のいずれかに記載の学習方法。
【請求項5】
前記工程(4a)では、前記性能評価E1の結果が一定の基準を満足していない場合に、前記特徴抽出層のパラメータを、前記追加学習L1を行う前のパラメータに維持することを特徴とする請求項1から4のいずれかに記載の学習方法。
【請求項6】
前記工程(4b)では、前記性能評価E2の結果が一定の基準を満足している場合に、前記認識処理部のパラメータ更新を行うことを特徴とする請求項1から5のいずれかに記載の学習方法。
【請求項7】
前記工程(4b)では、前記性能評価E2の結果が一定の基準を満足していない場合に、前記認識処理部のパラメータを、前記追加学習L2を行う前のパラメータに維持することを特徴とする請求項1から6のいずれかに記載の学習方法。
【請求項8】
前記工程(2b)では、前記データセットAを用いた前記追加学習L2を、前記識別層についてのみ行うことを特徴とする請求項1から7のいずれかに記載の学習方法。
【請求項9】
前記認識処理部は、ニューラルネットワークで構成されていることを特徴とする請求項1から8のいずれかに記載の学習方法。
【請求項10】
請求項1から9のいずれかに記載の学習方法をコンピュータに実行させるプログラム。
【請求項11】
請求項10に記載のプログラムを記録した、コンピュータ読取可能な記録媒体。
【請求項12】
入力データから特徴を抽出し、抽出した前記特徴を用いて識別を行う認識処理部と、
前記認識処理部を機械学習させる学習制御部とを備え、
前記学習制御部は、事前に入手した正解付きのデータセットAを用いて事前学習を行った前記認識処理部に対して、前記データセットAと、前記データセットAとは異なる環境で取得された正解なしのデータセットBとを用いて追加学習させた後、前記追加学習による前記認識処理部の性能評価を行い、前記性能評価の結果に基づいて、前記認識処理部のパラメータを、前記追加学習によって得られたパラメータに更新し、
前記認識処理部は、前記入力データから前記特徴を抽出する特徴抽出層と、抽出した前記特徴を用いて識別を行う識別層とを有しており、
前記学習制御部は、
前記特徴抽出層に対して追加学習L1を行った後、前記追加学習L1による前記特徴抽出層の性能評価E1を行い、前記性能評価E1の結果に基づいて、前記特徴抽出層のパラメータを、前記追加学習L1によって得られたパラメータに更新し、続いて、前記認識処理部の追加学習L2を行った後、前記追加学習L2による前記認識処理部の性能評価E2を行い、前記性能評価E2の結果に基づいて、前記認識処理部のパラメータを、前記追加学習L2によって得られたパラメータに更新することを特徴とする学習装置。
【請求項13】
前記学習制御部は、前記データセットBに含まれるデータセットB1を用いて、前記特徴抽出層の前記追加学習L1を行う一方、前記データセットBに含まれる前記データセットB1以外のデータセットB2を用いて、前記特徴抽出層の前記性能評価E1を行うことを特徴とする請求項12に記載の学習装置。
【請求項14】
前記学習制御部は、前記データセットAを用いて、前記認識処理部の前記追加学習L2を行う一方、予め用意した性能評価用のデータセットCを用いて、前記認識処理部の性能評価E2を行うことを特徴とする請求項12または13に記載の学習装置。
【請求項15】
前記学習制御部は、前記性能評価E1の結果が一定の基準を満足している場合に、前記特徴抽出層のパラメータ更新を行うことを特徴とする請求項12から14のいずれかに記載の学習装置。
【請求項16】
前記学習制御部は、前記性能評価E1の結果が一定の基準を満足していない場合に、前記特徴抽出層のパラメータを、前記追加学習L1を行う前のパラメータに維持することを特徴とする請求項12から15のいずれかに記載の学習装置。
【請求項17】
前記学習制御部は、前記性能評価E2の結果が一定の基準を満足している場合に、前記認識処理部のパラメータ更新を行うことを特徴とする請求項12から16のいずれかに記載の学習装置。
【請求項18】
前記学習制御部は、前記性能評価E2の結果が一定の基準を満足していない場合に、前記認識処理部のパラメータを、前記追加学習L2を行う前のパラメータに維持することを特徴とする請求項12から17のいずれかに記載の学習装置。
【請求項19】
前記学習制御部は、前記データセットAを用いた前記追加学習L2を、前記識別層についてのみ行うことを特徴とする請求項12から18のいずれかに記載の学習装置。
【請求項20】
前記認識処理部は、ニューラルネットワークで構成されていることを特徴とする請求項12から19のいずれかに記載の学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力データから特徴を抽出し、抽出した特徴を用いて識別を行う認識処理部を機械学習させる学習方法および学習装置に関する。
【背景技術】
【0002】
従来から、認識対象データに対して認識処理を行う認識処理部の機械学習が一般的に行われている。このような機械学習の一手法として、例えば、事前に用意した正解付きのデータ(事前学習データ)を用いて認識処理部の学習を行った後、認識処理部を活用する現地(例えば店舗)で得られるデータ(現地データ)を用いて認識処理部の再学習(追加学習)を行う方法がある。この方法は、追加学習を行うことによって、事前学習データのみならず、現地データに対する認識処理部の適合性を向上させて、汎化性を向上させようとする方法である。なお、汎化性とは、機械学習を行ったコンピュータ(例えば認識処理部)の、学習した問いと類似の未学習の問い(入力)についても正しい答え(出力)を導く能力のこと、つまり、学習したデータと類似の入力データについて、学習したデータによる結果と類似の結果を出力する性能のことを指す。上記のように事前学習を行った後に、現地データを用いて追加学習を行う例は、例えば特許文献1でも同様に開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2016-143353号公報(請求項1、段落〔0005〕、〔0006〕、〔0018〕、〔0021〕~〔0043〕、図1等参照)
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところが、認識処理部の事前学習および追加学習を行う従来の方法では、追加学習後の認識処理部の性能を全く検証していないため、追加学習によって認識処理部の性能が本当に向上したかどうかが不明である。例えば追加学習が過学習になる場合は、実際に学習したデータに対してだけ認識処理部が適合し、未知のデータに対しては適合しなくなるため、汎化性が低下する。認識処理部の性能を検証しない場合、この過学習による認識処理部の性能低下を発見することができない。このため、追加学習によって認識処理部のパラメータ(例えば重み)を無条件で変更(更新)すると、認識処理部の性能低下による汎化性の低下が起こり得る。
【0005】
本発明は、上記の問題点を解決するためになされたもので、その目的は、事前学習および追加学習を行う場合でも、追加学習による認識処理部の性能を検証してからパラメータ更新を行うことにより、追加学習による認識処理部の性能低下を回避して、汎化性を向上させることができる学習方法および学習装置を提供することにある。
【課題を解決するための手段】
【0006】
本発明の一側面に係る学習方法は、入力データから特徴を抽出し、抽出した前記特徴を用いて識別を行う認識処理部の機械学習における学習方法であって、事前に入手した正解付きのデータセットAを用いて、前記認識処理部の事前学習を行う事前学習工程(1)と、前記事前学習の後、前記データセットAと、前記データセットAとは異なる環境で取得された正解なしのデータセットBとを用いて、前記認識処理部の追加学習を行う追加学習工程(2)と、前記追加学習による前記認識処理部の性能評価を行う性能評価工程(3)と、前記性能評価の結果に基づいて、前記認識処理部のパラメータを、前記追加学習によって得られたパラメータに更新する更新工程(4)とを含む。
【0007】
本発明の他の側面に係る学習装置は、入力データから特徴を抽出し、抽出した前記特徴を用いて識別を行う認識処理部と、前記認識処理部を機械学習させる学習制御部とを備え、前記学習制御部は、事前に入手した正解付きのデータセットAを用いて事前学習を行った前記認識処理部に対して、前記データセットAと、前記データセットAとは異なる環境で取得された正解なしのデータセットBとを用いて追加学習させた後、前記追加学習による前記認識処理部の性能評価を行い、前記性能評価の結果に基づいて、前記認識処理部のパラメータを、前記追加学習によって得られたパラメータに更新する。
【発明の効果】
【0008】
上記の学習方法および学習装置によれば、認識処理部の事前学習および追加学習を行うだけでなく、追加学習による性能評価を行い、その結果に基づいてパラメータ更新を行う。これにより、認識処理部の(例えば過学習による)性能低下を回避して、汎化性を向上させることができる。
【図面の簡単な説明】
【0009】
図1】本発明の実施の形態の学習装置の概略の構成を示すブロック図である。
図2】上記学習装置の認識処理部の一構成例を模式的に示す説明図である。
図3】上記認識処理部の各層を構成するユニットを模式的に示す説明図である。
図4】上記学習装置を用いた学習方法の処理の流れを示すフローチャートである。
図5】上記認識処理部の事前学習の際のデータの伝播モデルを模式的に示す説明図である。
図6】上記認識処理部の特徴抽出層の追加学習の際のデータの伝播モデルを模式的に示す説明図である。
図7】上記特徴抽出層の性能評価の際のデータの伝播モデルを模式的に示す説明図である。
図8】上記認識処理部の識別層の追加学習の際のデータの伝播モデルを模式的に示す説明図である。
図9】上記識別層の性能評価の際のデータの伝播モデルを模式的に示す説明図である。
図10】上記学習方法による学習後の学習装置において、実際に認識を行う場合のデータの伝播モデルを示す説明図である。
図11】上記学習方法の他の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0010】
本発明の実施の形態について、図面に基づいて説明すれば、以下の通りである。なお、本発明は、以下の内容に限定されるわけではない。
【0011】
〔学習装置について〕
図1は、本実施形態の学習装置1の概略の構成を示すブロック図である。学習装置1は、入力データに対して所定の処理を行う処理部(例えば後述する認識処理部11に相当)を機械学習させることが可能な装置であり、例えばパーソナルコンピュータ(PC)のような端末装置で構成される。具体的には、学習装置1は、認識処理部11と、記憶部12と、入力部13と、表示部14と、通信部15と、制御部16とを有している。
【0012】
制御部16は、学習装置1の各部の動作を制御する中央演算処理装置(CPU;Central Processing Unit)で構成されており、記憶部12(後述するプログラム記憶部12a)に記憶された動作プログラムに従って動作する。本実施形態では、制御部16は、特に、認識処理部11を機械学習させる学習制御部として機能している。
【0013】
認識処理部11は、入力データから特徴を抽出し、抽出した特徴を用いて認識を行う演算装置であり、例えばリアルタイムな画像処理に特化した演算装置であるGPU(Graphics Processing Unit)で構成されている。なお、認識処理部11は、制御部16と同一のまたは別個のCPUで構成されていてもよい。
【0014】
ここで、上記入力データとしては、例えば店舗に設置された撮像部2(カメラ)での撮影によって取得された画像データ(動画または静止画のデータ)を考えることができる。上記の画像データは、例えば、撮像部2から有線または無線の通信回線(例えばLAN(Local Area Network)やインターネット)を介して学習装置1にリアルタイムで入力される。なお、上記の画像データを一旦、可搬型の記録媒体(光ディスクや不揮発性メモリなど)に記録しておき、図示しない読取装置によって上記記録媒体に記録された画像データを読み取ることにより、上記入力データを学習装置1に取り込むようにしてもよい。なお、認識処理部11の詳細については後述する。
【0015】
記憶部12は、プログラム記憶部12aと、学習・評価用データ記憶部12bと、処理用データ記憶部12cとを有している。プログラム記憶部12aは、学習装置1の各部を動作させるための動作プログラムを記憶するメモリである。学習・評価用データ記憶部12bは、認識処理部11の機械学習の際に用いる学習用データ(例えば後述するデータセットA)および性能(品質)評価用のデータ(例えば後述するデータセットC)を記憶するメモリである。処理用データ記憶部12cは、外部(例えば撮像部2)から学習装置1に入力された画像データ(例えば後述するデータセットB)、つまり、認識処理部11の認識処理を活用する現場で取得されて学習装置1に入力されたデータを一時的に格納するメモリである。記憶部12(プログラム記憶部12a、学習・評価用データ記憶部12b、処理用データ記憶部12c)は、例えばハードディスクで構成されるが、その他、RAM(Random Access Memory)、ROM(Read Only Memory)、光ディスク、光磁気ディスク、不揮発性メモリなどの記録媒体から適宜選択して構成されてもよい。
【0016】
入力部13は、例えばキーボード、マウス、タッチパッド、タッチパネルなどで構成され、例えば学習装置1を操作する操作者による各種の指示入力を受け付ける。表示部14は、認識処理部11での認識結果をはじめとして、各種の情報を表示するデバイスであり、例えば液晶表示装置で構成される。通信部15は、外部端末(例えばスマートフォンなどの携帯端末や他のPC)と通信するためのインターフェースであり、アンテナ、送受信回路、変調回路、復調回路などを含んで構成される。
【0017】
〔認識処理部の詳細について〕
次に、上記した認識処理部11の詳細について説明する。認識処理部11は、図2に示すように、入力層11a、特徴抽出層11bおよび識別層11cを有する階層型のニューラルネットワークによって構成されている。ニューラルネットワークとは、人間の神経ネットワークを模倣した情報処理システムのことである。ニューラルネットワークにおいて、神経細胞に相当する工学的なニューロンのモデルを、ここではユニットUと呼ぶ。入力層11a、特徴抽出層11bおよび識別層11cは、それぞれ複数のユニットUを有して構成されている。
【0018】
入力層11aは、通常、1層からなる。入力層11aの各ユニットUには、例えば1枚の画像を構成する各画素の画像データ(画素値)がそれぞれ入力される。上記画像データは、入力層11aの各ユニットUから特徴抽出層11bにそのまま出力される。
【0019】
特徴抽出層11bは、入力データ(入力層11aのデータ)から特徴を抽出して識別層11cに出力する層である。この特徴抽出層11bでは、各ユニットUでの演算により、例えば、入力された画像から人物が映っている領域を抽出する処理が行われる。
【0020】
識別層11cは、特徴抽出層11bが抽出した特徴を用いて識別を行う層である。識別層11cでは、各ユニットUでの演算により、例えば、特徴抽出層11bで抽出された人物の領域から、その人物の姿勢や行動を識別する処理が行われる。
【0021】
上記の特徴抽出層11bおよび識別層11cは、それぞれ複数層によって構成されている。これにより、認識処理部11全体として、ディープニューラルネットワーク(DNN)が構成されている。
【0022】
ここで、特徴抽出層11bおよび識別層11cを構成する各ユニットUについて説明を補足しておく。上記のユニットUとしては、通常、図3に示すような、多入力1出力の素子が用いられる。信号は一方向にだけ伝わり、ある重み(結合荷重:wi)をつけられて、ユニットUに入力される。この重みによって、階層的に並ぶユニットU・U間の結合の強さが表されるが、上記の重みは、学習によって変化させることができる。ユニットUからは、重みをつけられたそれぞれの入力値(wixi)の総和から閾値θを引いた値Xが応答関数f(X)による変形を受けた後、出力される。つまり、ユニットUの出力値yは、以下の数式で表される。
y=f(X)
ここで、
X=Σ(wixi-θ)
である。なお、応答関数としては、例えばシグモイド関数を用いることができる。
【0023】
入力層11aの各ユニットUは、通常、シグモイド特性や閾値をもたず、それゆえ、上述のように入力値がそのまま出力に表れる。一方、識別層11cの最終層(出力層)の各ユニットUは、識別層11cでの識別結果(識別された姿勢や行動に対応するデータ)を出力することになる。
【0024】
識別処理部11(階層型ニューラルネットワーク)の学習アルゴリズムとしては、例えば、正解を示す値(データ)と識別層11cからの出力値(データ)との2乗誤差が最小となるように、最急降下法を用いて識別層11cの重みおよび特徴抽出層11bの重みを順次変化させていく誤差逆伝播法(バックプロパゲーション)が用いられる。
【0025】
〔学習方法について〕
次に、上記構成の学習装置1における学習方法について説明する。図4は、本実施形態の学習方法の処理の流れを示すフローチャートである。本実施形態の学習方法は、認識処理部11の機械学習における学習方法であって、大きく見て、事前学習工程(I)と、第1の学習・評価・更新工程(II)と、第2の学習・評価・更新工程(III)とを含む。これらの各工程は、制御部16の制御のもとで順に行われる。以下、各工程の詳細について説明する。
【0026】
<事前学習工程>
事前学習工程(I)は、認識処理部11の事前学習(オフライン学習)を行う工程(S1)である。S1の工程では、事前に入手した正解付き(教師あり、アノテーションあり)のデータセットAを用いて、認識処理部11の事前学習を行う。ここで、データセットとは、1枚の画像を構成する各画素の画像データ(画素値)を1つの組として、この画像データの複数組分(画像複数枚分)に相当する。上記のデータセットAに含まれる画像データとしては、例えば、認識処理部11が店舗内での顧客の行動認識処理を行う場合において、その店舗(現場)とは異なる場所(例えば店舗から離れたスタジオなど)で予め取得された画像データを考えることができる。データセットAは、学習・評価用データ記憶部12bに予め記憶されており、このデータセットAを活用して事前学習が行われる。
【0027】
図5は、事前学習の際のデータの伝播モデルを模式的に示している。データセットAに含まれるデータは、画像1枚ごとに認識処理部11の入力層11aに入力され、入力層11aから特徴抽出層11bに出力される。特徴抽出層11bの各ユニットUでは、入力データに対して重み付きの演算が行われる。この演算により、特徴抽出層11bでは、入力データから特徴(例えば人物の領域)が抽出されるとともに、抽出した特徴を示すデータが、識別層11cに出力される。
【0028】
識別層11cの各ユニットUでは、入力データに対する重み付きの演算が行われ、これによって、上記特徴に基づく識別(例えば人物の行動の分析)が行われる。識別結果を示すデータは、識別層11cから出力される。
【0029】
制御部16は、識別層11cの出力値(データ)を、正解を示す値と比較してこれらの誤差(ロス)を算出し、この誤差が小さくなるように、識別層11cの重みおよび特徴抽出層11bの重みを順次変化させる(バックプロパゲーション)。これにより、識別層11cおよび特徴抽出層11bが学習される。
【0030】
<第1の学習・評価・更新価工程>
第1の学習・評価・更新工程(II)は、特徴抽出層11bの追加学習L1を行う工程(S2)と、追加学習L1による特徴抽出層11bの性能評価E1を行う工程(S3)と、性能評価E1の結果に基づいて、特徴抽出層11bのパラメータ(重み)を、追加学習L1によって得られたパラメータに更新する工程(S4~S6)とを含む。
【0031】
(追加学習L1)
S2では、事前学習工程(I)の後、正解付きのデータセットAと、データセットAとは異なる環境で取得された正解なしのデータセットBとを用いて、特徴抽出層11bの追加学習L1を行う。ここで、上記のデータセットBとしては、認識処理部11による認識処理の対象となるデータセットを考えることができ、例えば、認識処理部11が店舗内での顧客の行動認識処理を行う場合には、その店舗(現場)で取得して学習装置1に入力される画像のデータ(店舗内の撮像部2で取得した画像データ)のセットを考えることができる。データセットBは、処理用データ記憶部12cに記憶され、学習・評価用データ記憶部12bに予め記憶された上記のデータセットAとともに、追加学習L1に用いられる。なお、以下での説明の便宜上、データセットBのうち、追加学習L1に用いるデータセットを、データセットB1と称する。
【0032】
図6は、特徴抽出層11bの追加学習L1の際のデータの伝播モデルを模式的に示している。S2では、識別層11cの代わりに、識別層11c’を用いる。識別層11c’は、特徴抽出層11bの追加学習L1と、後述する性能評価E1およびパラメータ更新を行うときのみ使用する識別層であり、仮識別層またはデコーダで構成される。仮識別層は、弱教師あり学習用に構成された識別層である。一方、デコーダは、教師なし学習用に構成された層であり、特徴抽出層11bからの出力値を入力値に戻す処理(デコード)を行う。すなわち、弱教師あり学習を行う場合は、識別層11c’として仮識別層が用いられ、教師なし学習を行う場合は、識別層11c’としてデコーダが用いられる。
【0033】
ここで、弱教師あり学習とは、識別層11c’が出力する出力値に基づいて得られる正解率(スコア)がある閾値以上である場合のみ識別結果を正解とみなして学習を行うことを言う。なお、上記の正解率は、テストデータの数をn個とし、識別結果が正解であった数をa個としたときに、a/nで表現される指標である。
【0034】
S2では、データセットAおよびデータセットBを例えば交互に入力層11aに入力しながら追加学習L1を行う。データセットAと併せてデータセットB1を用いて追加学習L1を行うことにより、データセットAのみならず、データセットB1にも、つまり、現場で得られるデータにも特徴抽出層11bを適合させることが可能となる。入力データとして、データセットAを用いる場合、S1の事前学習と同様の手順で、特徴抽出層11bの追加学習L1を行う。
【0035】
一方、入力データとしてデータセットB1を用いる場合は、以下のようにして特徴抽出層11bの追加学習L1を行う。追加学習L1として弱教師あり学習を行う場合、制御部16は、識別層11c’としての仮識別層の出力値に基づいて得られる正解率が閾値以上であるときに(一定の基準を満足している場合に)、特徴抽出層11bのパラメータ更新を行わず、正解率が閾値未満であるときのみ(一定の基準を満足していない場合のみ)、正解率と閾値との誤差(ロス)が小さくなるように、特徴抽出層11bのパラメータを更新する(重みを変化させる)。また、追加学習L1として教師なし学習を行う場合、制御部16は、デコーダの出力値が元のデータ(入力層11aの入力値)と一致するか否かを判断し、一致する場合は(一定の基準を満足している場合は)、特徴抽出層11bのパラメータ更新を行わず、一致しない場合のみ(一定の基準を満足していない場合のみ)、出力値と入力値との誤差(ロス)が小さくなるように、特徴抽出層11bのパラメータを更新する(重みを変化させる)。これにより、特徴抽出層11bが追加学習される。
【0036】
(性能評価E1)
S3の工程では、制御部16が、S2の追加学習L1による特徴抽出層11bの性能評価E1を行う。より具体的には、制御部16は、データセットBに含まれるデータセットB1以外のデータセットB2を用いて、特徴抽出層11bの性能評価E1を行う。なお、特徴抽出層11bの性能評価E1を行う際には、識別層として、S2の追加学習L1で用いたものと同じ識別層11c’(仮識別層またはデコーダ)を用いる。
【0037】
図7は、特徴抽出層11bの性能評価E1の際のデータの伝播モデルを模式的に示している。S3では、評価用のデータセットB2、すなわち、現場データのうちで追加学習L1の際には用いなかったデータを用い、このデータセットB2のデータを入力層11aに入力する。入力層11aに入力された上記データは、特徴抽出層11bに出力される。特徴抽出層11bでは、入力データに対して重み付きの演算が行われ、その演算結果を示すデータが識別層11c’に出力される。識別層11c’では、特徴抽出層11bから入力されるデータに対して重み付きの演算が行われ、その演算結果を示すデータが、識別層11c’から出力される。
【0038】
S2で弱教師あり学習を行った場合、制御部16は、識別層11c’としての仮識別層の出力値に基づいて得られる正解率がある閾値以上であるか否かを判断することにより、特徴抽出層11bの性能評価E1を行う。例えば、上記正解率が閾値以上である場合には、制御部16は、特徴抽出層11bの性能が一定の基準を満足していると判断する。一方、上記正解率が閾値未満である場合には、制御部16は、特徴抽出層11bの性能が一定の基準を満足していないと判断する。
【0039】
また、S2で教師なし学習を行った場合、制御部16は、識別層11c’としてのデコーダの出力値が元のデータ(入力層11aの入力値)と一致するか否かを判断することにより、特徴抽出層11bの性能評価E1を行う。例えば、上記出力値が元のデータと一致する場合には、制御部16は、特徴抽出層11bの性能が一定の基準を満足していると判断する。一方、上記出力値が元のデータと一致していない場合には、制御部16は、特徴抽出層11bの性能が一定の基準を満足していないと判断する。
【0040】
(特徴抽出層のパラメータ更新)
次に、図4に示すように、制御部16は、S3での性能評価E1の結果に基づいて、特徴抽出層11bのパラメータ更新を行う(S4~S6)。具体的には、S3での性能評価E1の結果が一定の基準を満足している場合には(S4でYes)、特徴抽出層11bのパラメータ更新を行う(S5)。例えば、特徴抽出層11bのパラメータ(例えば重みw1)を、追加学習L1によって得られたパラメータ(例えば重みw1’)に更新する。一方、S3での性能評価E1の結果が一定の基準を満足していない場合には(S4でNo)、制御部16は、特徴抽出層11bのパラメータを、追加学習L1を行う前のパラメータ(例えば重みw1)に維持する(S6)。
【0041】
<第2の学習・評価・更新工程>
第2の学習・評価・更新工程(III)は、識別層11cの追加学習L2を行う工程(S7)と、追加学習L2による識別層11cの性能評価E2を行う工程(S8)と、性能評価E2の結果に基づいて、識別層11cのパラメータ(重み)を、追加学習L2によって得られたパラメータに更新する工程(S9~S11)とを含む。
【0042】
(追加学習L2)
S7では、第1の学習・評価・更新工程(II)の後、正解付きのデータセットAを用いて、識別層11cの追加学習L2を行う。図8は、識別層11cの追加学習L2の際のデータの伝播モデルを模式的に示している。S7では、S2~S6で用いた識別層11c’を、S1の事前学習で用いた識別層11cに戻し、事前学習と同様の手順で、識別層11cの追加学習L2を行う。
【0043】
すなわち、データセットAのデータを、入力層11aを介して特徴抽出層11bに入力する。特徴抽出層11bの各ユニットUでは、入力データに対して重み付きの演算が行われる。この演算により、特徴抽出層11bでは、入力データから特徴が抽出され、抽出した特徴を示すデータが、識別層11cに出力される。識別層11cの各ユニットUでは、入力データに対する重み付きの演算が行われ、これによって、上記特徴に基づく識別が行われる。識別結果を示すデータは、識別層11cから出力される。
【0044】
制御部16は、識別層11cの出力値(データ)を、正解を示す値と比較してこれらの誤差(ロス)を算出し、この誤差が小さくなるように、識別層11cの重みを変化させる(バックプロパゲーション)。これにより、識別層11cが追加学習される。なお、追加学習L2においては、上記誤差が小さくなるように、識別層11cのみならず、特徴抽出層11bの重みを変化させてもよいが、ここでは追加学習を識別層11cまでに留めている(特徴抽出層11bの追加学習を行っていない)。その理由については後述する。
【0045】
(性能評価E2)
S8の工程では、制御部16が、S7の追加学習L2による識別層11cの性能評価E2を行う。より具体的には、制御部16は、データセットCを用いて、識別層11cの性能評価E2を行う。データセットCは、性能評価用として予め用意されたデータセットであり、学習・評価用データ記憶部12bに記憶されている。
【0046】
図9は、識別層11cの性能評価E2の際のデータの伝播モデルを模式的に示している。S8では、評価用のデータセットCのデータを入力層11aに入力する。入力層11aに入力された上記データは、特徴抽出層11bに出力される。特徴抽出層11bでは、入力データに対して重み付きの演算が行われ、その演算結果を示すデータが識別層11cに出力される。識別層11cでは、特徴抽出層11bから入力されるデータに対して重み付きの演算が行われ、その演算結果を示すデータが、識別層11cから出力される。
【0047】
制御部16は、識別層11cの出力値に基づいて得られる性能値(例えば正解率)がある閾値以上であるか否かを判断することにより、識別層11cの性能評価E2を行う。例えば、制御部16は、上記性能値が閾値以上である場合には、制御部16は、識別層11bの性能が一定の基準を満足していると判断する。一方、上記性能値が閾値未満である場合には、制御部16は、識別層11cの性能が一定の基準を満足していないと判断する。
【0048】
(識別層のパラメータ更新)
次に、制御部16は、S8での性能評価E2の結果に基づいて、識別層11cのパラメータ更新を行う(S9~S11)。具体的には、S8での性能評価E2の結果が一定の基準を満足している場合には(S9でYes)、制御部16は、識別層11cのパラメータ更新を行う(S10)。例えば、識別層11cのパラメータ(例えば重みw2)を、追加学習L2によって得られたパラメータ(例えば重みw2’)に更新する。一方、S8での性能評価E2の結果が一定の基準を満足していない場合には(S9でNo)、制御部16は、識別層11cのパラメータを、追加学習L2を行う前のパラメータ(例えば重みw2)に維持する(S11)。
【0049】
なお、上記した第2の学習・評価・更新工程(III)では、認識処理部11のうち、識別層11cのみ追加学習L2を行うようにしているが、バックプロパゲーションにより、特徴抽出層11bの追加学習を行うようにしてもよい。そして、性能評価E2に基づくパラメータ更新では、識別層11cに加えて、特徴抽出層11bについてもパラメータ更新を行うようにしてもよい。つまり、第2の学習・評価・更新工程(III)では、追加学習L2およびパラメータ更新の対象を、特徴抽出層11bおよび識別層11cを含む認識処理部11としてもよい。
【0050】
ただし、特徴抽出層11bは、第1の学習・評価・更新工程(II)において、データセットAのみならず、データセットBについても適合するように既に追加学習されている。このため、第2の学習・評価・更新工程(III)において、データセットAに基づく追加学習L2を特徴抽出層11bまで行うと、特徴抽出層11bのデータセットBに対する適合性が、データセットAへの適合に引っ張られて低下することが懸念される。したがって、外部から取得したデータへの適合性を向上させる観点では、第2の学習・評価・更新工程(III)での追加学習L2は、識別層11cについてのみ行うことが望ましい。
【0051】
なお、上記した第1の学習・評価・更新工程(II)および第2の学習・評価・更新工程(III)は、データセットBの取得と並行して(現場でデータセットBを取得しながら同時に)それぞれ行ってもよいし、データセットBの取得時とは異なるタイミングで(例えば店舗の閉店後に)それぞれ行ってもよい。
【0052】
図10は、上記の学習方法(工程(I)~(III))によって学習された学習装置1を用い、現場(例えば店舗)で得られたデータを入力として実際に認識(例えば顧客の行動認識)を行う場合のデータの伝播モデルを示している。学習装置1の活用時(運用時)には、性能評価E1の結果に応じてパラメータが更新された特徴抽出層11bと、性能評価E2の結果に応じてパラメータが更新された識別層11c(学習専用の識別層11c’ではない)とを用いて、特徴抽出および識別が行われることになる。
【0053】
〔効果〕
以上のように、本実施形態の学習方法は、事前に入手した正解付きのデータセットAを用いて、認識処理部11の事前学習を行う事前学習工程(1)と、事前学習の後、データセットAと、データセットAとは異なる環境で取得されたデータセットBとを用いて、認識処理部11の追加学習を行う追加学習工程(2)と、上記追加学習による認識処理部11の性能評価を行う性能評価工程(3)と、上記性能評価の結果に基づいて、認識処理部11のパラメータを、上記追加学習によって得られたパラメータに更新する更新工程(4)とを含む。なお、事前学習工程(1)は、上述したS1の工程に対応し、追加学習工程(2)は、上述したS2およびS7の各工程に対応し、性能評価工程(3)は、上述したS3およびS8の各工程に対応し、更新工程(4)は、上述したS4~S6およびS9~S11の各工程に対応する。
【0054】
また、本実施形態の学習装置1は、入力データから特徴を抽出し、抽出した特徴を用いて識別を行う認識処理部11と、認識処理部11を機械学習させる学習制御部としての制御部16とを備え、制御部16は、事前に入手した正解付きのデータセットAを用いて事前学習を行った認識処理部11に対して、データセットAと、データセットAとは異なる環境で取得されたデータセットBとを用いて追加学習させた後、上記追加学習による認識処理部11の性能評価を行い、上記性能評価の結果に基づいて、認識処理部11のパラメータを、上記追加学習によって得られたパラメータに更新する。
【0055】
上記の学習方法および学習装置1の構成によれば、正解付きのデータセットAを用いて認識処理部11の事前学習を行った後、データセットAとデータセットBとを用いて追加学習を行う。これにより、データセットAに対してのみならず、データセットAとは異なる環境で得られたデータセットB(例えば認識処理部11を実際に活用したい現場で得られるデータ)に対しても、認識処理部11の適合性を高めて、汎化性向上を図ることができる。
【0056】
しかも、追加学習を行った後、認識処理部11の性能評価(検証)を実際に行い、その結果に基づいて認識処理部11のパラメータ更新を行う。これにより、例えば、追加学習によって認識処理部11の性能が実際に向上する場合のみパラメータ更新を行う一方、追加学習(例えば過学習)によって認識処理部11の性能が低下する場合には、パラメータ更新を行わずに追加学習前のパラメータをそのまま維持することができる。したがって、事前学習および追加学習を行う場合でも、認識処理部11の(過学習による)性能低下を回避して、汎化性を向上させることができる。
【0057】
上記の学習方法において、追加学習工程(2)は、特徴抽出層11bの追加学習L1を行う工程(2a)と、認識処理部11(例えば識別層11c)の追加学習L2を行う工程(2b)とを含む。なお、工程(2a)は、S2の工程に対応し、工程(2b)は、S7の工程に対応する。また、性能評価工程(3)は、追加学習L1による特徴抽出層11bの性能評価E1を行う工程(3a)と、追加学習L2による認識処理部11の性能評価E2を行う工程(3b)とを含む。なお、工程(3a)は、S3の工程に対応し、工程(3b)は、S8の工程に対応する。さらに、更新工程(4)は、性能評価E1の結果に基づいて、特徴抽出層11bのパラメータを、追加学習L1によって得られたパラメータに更新する工程(4a)と、性能評価E2の結果に基づいて、認識処理部11(例えば識別層11c)のパラメータを、追加学習L2によって得られたパラメータに更新する工程(4b)とを含む。なお、工程(4a)は、S4~S6の工程に対応し、工程(4b)は、S9~S11の工程に対応する。そして、本実施形態では、工程(2a)、工程(3a)、工程(4a)、工程(2b)、工程(3b)および工程(4b)を、この順で行う。
【0058】
また、上記の学習装置1において、制御部16は、特徴抽出層11bに対して追加学習L1を行った後、追加学習L1による特徴抽出層11bの性能評価E1を行い、性能評価E1の結果に基づいて、特徴抽出層11bのパラメータを、追加学習L1によって得られたパラメータに更新し、続いて、認識処理部11(例えば識別層11c)の追加学習L2を行った後、追加学習L2による認識処理部11の性能評価E2を行い、性能評価E2の結果に基づいて、認識処理部11のパラメータを、追加学習L2によって得られたパラメータに更新する。
【0059】
認識処理部11が特徴抽出層11bと識別層11cとを含む場合において、先に特徴抽出層11bの追加学習L1、性能評価E1およびパラメータ更新を行ってから、識別層11cを含めた認識処理部11の追加学習L2、性能評価E2およびパラメータ更新を行う。これにより、認識処理部11の実際の運用時には(実際に現場データを用いて認識処理を行う際には)、特徴抽出層11bで入力データから適切に抽出された特徴を用いて、識別層11cにて識別を適切に行うことができる。
【0060】
上記の学習方法において、工程(2a)では、データセットBに含まれるデータセットB1を用いて、特徴抽出層11bの追加学習L1を行い、工程(3a)では、データセットBに含まれるデータセットB1以外のデータセットB2を用いて、特徴抽出層11bの性能評価E1を行う。また、上記の学習装置1において、制御部16は、データセットBに含まれるデータセットB1を用いて、特徴抽出層11bの追加学習L1を行う一方、データセットBに含まれるデータセットB1以外のデータセットB2を用いて、特徴抽出層11bの性能評価E1を行う。
【0061】
特徴抽出層11bの追加学習L1については、データセットBに含まれるデータセットB1を用いて行い、特徴抽出層11bの性能評価E1については、データセットBに含まれるデータセットB1以外のデータセットB2を用いて行うため、追加学習L1で用いたデータ以外のデータを入力とする場合でも、特徴抽出層11bが適切な性能を発揮するかどうか(入力データから特徴を適切に抽出しているかどうか)を評価することができる。このことは、汎化性向上にもつながる。
【0062】
上記の学習方法において、工程(2b)では、データセットAを用いて、認識処理部11(例えば識別層11c)の追加学習L2を行い、工程(3b)では、予め用意した性能評価用のデータセットCを用いて、認識処理部11の性能評価E2を行う。また、上記の学習装置1において、制御部16は、データセットAを用いて、認識処理部11(例えば識別層11c)の追加学習L2を行う一方、予め用意した性能評価用のデータセットCを用いて、認識処理部11の性能評価E2を行う。
【0063】
認識処理部11の追加学習L2を、正解ありのデータセットAを用いて行うことにより、認識処理部11からの出力が正解に近づくように認識処理部11を学習させることができる。また、認識処理部11の性能評価E2を、予め用意した性能評価用のデータセットCを用いて行うことにより、認識処理部11の性能評価を適切に行うことができる。
【0064】
上記の学習方法において、工程(4a)では、性能評価E1の結果が一定の基準を満足している場合に、特徴抽出層11bのパラメータ更新を行う(S5)。また、上記の学習装置1において、制御部16は、性能評価E1の結果が一定の基準を満足している場合に、特徴抽出層11bのパラメータ更新を行う。
【0065】
性能評価E1の結果が一定の基準を満足している場合には、特徴抽出層11bのパラメータ更新によって、特徴抽出層11bの性能を、追加学習L1の前よりも向上させることができる。
【0066】
上記の学習方法において、工程(4a)では、性能評価E1の結果が一定の基準を満足していない場合に、特徴抽出層11bのパラメータを、追加学習L1を行う前のパラメータに維持する(S6)。また、上記の学習装置1において、制御部16は、性能評価E1の結果が一定の基準を満足していない場合に、特徴抽出層11bのパラメータを、追加学習L1を行う前のパラメータに維持する。
【0067】
性能評価E1の結果が一定の基準を満足していない場合には、特徴抽出層11bのパラメータが、追加学習L1を行う前のパラメータに維持されるため、特徴抽出層11bの性能が、追加学習L1(例えば過学習)によって低下するのを回避することができる。
【0068】
上記の学習方法において、工程(4b)では、性能評価E2の結果が一定の基準を満足している場合に、認識処理部11(例えば識別層11c)のパラメータ更新を行う(S10)。また、上記の学習装置1において、制御部16は、性能評価E2の結果が一定の基準を満足している場合に、認識処理部(例えば識別層11c)のパラメータ更新を行う。
【0069】
性能評価E2の結果が一定の基準を満足している場合には、認識処理部11のパラメータ更新によって、認識処理部11の性能を、追加学習L2の前よりも向上させることができる。
【0070】
上記の学習方法において、工程(4b)では、性能評価E2の結果が一定の基準を満足していない場合に、認識処理部11(例えば識別層11c)のパラメータを、追加学習L2を行う前のパラメータに維持する(S11)。また、上記の学習装置1において、制御部16は、性能評価E2の結果が一定の基準を満足していない場合に、認識処理部11(例えば識別層11c)のパラメータを、追加学習L2を行う前のパラメータに維持する。
【0071】
性能評価E2の結果が一定の基準を満足していない場合には、認識処理部11のパラメータが、追加学習L2を行う前のパラメータに維持されるため、認識処理部11の性能が、追加学習L2(例えば過学習)によって低下するのを回避することができる。
【0072】
上記の学習方法において、工程(2b)では、データセットAを用いた追加学習L2を、識別層11cについてのみ行う。また、上記の学習装置1において、制御部16は、データセットAを用いた追加学習L2を、識別層11cについてのみ行う。
【0073】
追加学習L2を識別層11cについてのみ行うことにより、先に追加学習L1によってデータセットBを用いて適切にチューニング(パラメータ調整)された特徴抽出層11bが、正解ありのデータセットAに引っ張られて学習されるのを防ぐことができる。これにより、特徴抽出層11bの過学習を防止して、特徴抽出層11bの性能低下を防止しながら、識別層11cのみを適切に学習させることができる。
【0074】
上記の学習方法および学習装置1において、認識処理部11は、ニューラルネットワークで構成されている。この場合、ニューラルネットワークの機械学習によって、認識処理部11の性能(汎化性)を向上させることができる。
【0075】
〔プログラムおよび記録媒体〕
本実施形態で説明した学習装置1は、例えば、所定のプログラム(アプリケーションソフトウェア)をインストールしたコンピュータ(PC)で構成することができる。上記プログラムをコンピュータ(例えばCPUとしての制御部16)が読み取って実行することにより、学習装置1の各部を動作させて上述した各処理(各工程)を実行させることができる。このようなプログラムは、例えばネットワークを介して外部からダウンロードすることによって取得されてプログラム記憶部12aに記憶される。また、上記プログラムは、例えばCD-ROM(Compact Disk-Read Only Memory)などのコンピュータ読取可能な記録媒体に記録され、この記録媒体から上記プログラムをコンピュータが読み取ってプログラム記憶部12aに記憶する形態であってもよい。
【0076】
〔補足〕
図11は、本実施形態の学習方法の他の処理の流れを示すフローチャートである。制御部16は、S3での性能評価E1の結果が一定の基準を満足しているか否かを判断し(S4)、一定の基準を満足していない場合には、S2に戻り、正解付きのデータセットAと、データセットBに含まれるデータセットB1以外のデータセットB3とを用いて、特徴抽出層11bの追加学習L1を再度行うようにしてもよい。性能評価E1の結果が一定の基準を満足していない場合に、特徴抽出層11bの追加学習L1を再度行うことにより、特徴抽出層11bの性能向上を再度試みることができ、これによって汎化性向上が期待できる。
【0077】
本実施形態では、認識処理部11をニューラルネットワークで構成した例について説明したが、この構成に限定されるわけではない。例えば、認識処理部11の識別層11cとしは、サポートベクターマシン(SVM:support vector machine)やランダムフォレスト(random forest)などを用いることができ、この場合でも本実施形態で説明した学習方法を適用することが可能である。
【0078】
〔まとめ〕
本実施形態では、認識処理部11の追加学習L1・L2による学習結果を、評価用のデータを用いて評価し、その評価結果に基づいて各層(特徴抽出層11b、識別層11c)のパラメータ更新を行う。学習結果の評価に基づいて、特徴抽出または識別の精度が向上する見込みであれば、特徴抽出層11bおよび識別層11cのパラメータ更新をそれぞれ行うため、特徴抽出または識別の精度を向上させて、汎化性を向上させることができる。
【0079】
また、特徴抽出層11bと識別層11cとを備えた認識処理部11の機械学習を行うにあたって、事前に集めた正解付きのデータ(データセットA)を用いた学習だけでは、実際に認識(識別)を行う現地のデータ(データセットB)に対する適合性が低く、汎化性を向上させることができない。また、現地のデータは、収集してもアノテーションがなく、識別層11cの出力が正解であるかどうかわからないため、識別層11cの学習には利用できない。しかし、事前に集めた正解付きのデータと併せて、現地のデータも用いて認識処理部11を学習させることにより、用いるデータが多様化し、現地のデータにも合わせた学習が可能となって、汎用性が向上する。つまり、本実施形態のように、事前に入手した正解付きのデータ(データセットA)と、実運用を行う現場で取得されるデータ(データセットB)とを用い、データの組み合わせと学習範囲とを調整しながら、事前学習および追加学習L1・L2を行うことにより、汎化性を向上させることができる。また、正解付きのデータを用いて識別層11cの追加学習を行うことにより、識別の精度を向上させることができる。
【0080】
特に、特徴抽出層11bの追加学習L1は、データセットAおよびデータセットBを用いて行うことで汎化性を向上させ、識別層11cの追加学習L2は、正解付きのデータセットAを用いて行うことで、識別の精度を向上させることができる。また、識別層11cの追加学習L2のときに、特徴抽出層11bの追加学習(パラメータ学習)を行わないようにすることで、特徴抽出層11bのデータセットAへの過学習を抑えることができる。
【0081】
〔その他〕
以上で説明した本実施形態の学習方法および学習装置は、以下のように表現されてもよい。また、本実施形態で説明した内容は、以下のプログラムおよび記録媒体を含む。
【0082】
1.入力データから特徴を抽出し、抽出した前記特徴を用いて識別を行う認識処理部の機械学習における学習方法であって、
事前に入手した正解付きのデータセットAを用いて、前記認識処理部の事前学習を行う事前学習工程(1)と、
前記事前学習の後、前記データセットAと、前記データセットAとは異なる環境で取得された正解なしのデータセットBとを用いて、前記認識処理部の追加学習を行う追加学習工程(2)と、
前記追加学習による前記認識処理部の性能評価を行う性能評価工程(3)と、
前記性能評価の結果に基づいて、前記認識処理部のパラメータを、前記追加学習によって得られたパラメータに更新する更新工程(4)とを含むことを特徴とする学習方法。
【0083】
2.前記認識処理部が、前記入力データから前記特徴を抽出する特徴抽出層と、抽出した前記特徴を用いて識別を行う識別層とを含む場合において、
前記追加学習工程(2)は、前記特徴抽出層の追加学習L1を行う工程(2a)と、前記認識処理部の追加学習L2を行う工程(2b)とを含み、
前記性能評価工程(3)は、前記追加学習L1による前記特徴抽出層の性能評価E1を行う工程(3a)と、前記追加学習L2による前記認識処理部の性能評価E2を行う工程(3b)とを含み、
前記更新工程(4)は、前記性能評価E1の結果に基づいて、前記特徴抽出層のパラメータを、前記追加学習L1によって得られたパラメータに更新する工程(4a)と、前記性能評価E2の結果に基づいて、前記認識処理部のパラメータを、前記追加学習L2によって得られたパラメータに更新する工程(4b)とを含み、
前記工程(2a)、前記工程(3a)、前記工程(4a)、前記工程(2b)、前記工程(3b)および前記工程(4b)を、この順で行うことを特徴とする前記1に記載の学習方法。
【0084】
3.前記工程(2a)では、前記データセットBに含まれるデータセットB1を用いて、前記特徴抽出層の前記追加学習L1を行い、
前記工程(3a)では、前記データセットBに含まれる前記データセットB1以外のデータセットB2を用いて、前記特徴抽出層の前記性能評価E1を行うことを特徴とする前記2に記載の学習方法。
【0085】
4.前記工程(2b)では、前記データセットAを用いて、前記認識処理部の前記追加学習L2を行い、
前記工程(3b)では、予め用意した性能評価用のデータセットCを用いて、前記認識処理部の性能評価E2を行うことを特徴とする前記2または3に記載の学習方法。
【0086】
5.前記工程(4a)では、前記性能評価E1の結果が一定の基準を満足している場合に、前記特徴抽出層のパラメータ更新を行うことを特徴とする前記2から4のいずれかに記載の学習方法。
【0087】
6.前記工程(4a)では、前記性能評価E1の結果が一定の基準を満足していない場合に、前記特徴抽出層のパラメータを、前記追加学習L1を行う前のパラメータに維持することを特徴とする前記2から5のいずれかに記載の学習方法。
【0088】
7.前記工程(4b)では、前記性能評価E2の結果が一定の基準を満足している場合に、前記認識処理部のパラメータ更新を行うことを特徴とする前記2から6のいずれかに記載の学習方法。
【0089】
8.前記工程(4b)では、前記性能評価E2の結果が一定の基準を満足していない場合に、前記認識処理部のパラメータを、前記追加学習L2を行う前のパラメータに維持することを特徴とする前記2から7のいずれかに記載の学習方法。
【0090】
9.前記工程(2b)では、前記データセットAを用いた前記追加学習L2を、前記識別層についてのみ行うことを特徴とする前記2から8のいずれかに記載の学習方法。
【0091】
10前記認識処理部は、ニューラルネットワークで構成されていることを特徴とする前記1から9のいずれかに記載の学習方法。
【0092】
11.入力データから特徴を抽出し、抽出した前記特徴を用いて識別を行う認識処理部と、
前記認識処理部を機械学習させる学習制御部とを備え、
前記学習制御部は、事前に入手した正解付きのデータセットAを用いて事前学習を行った前記認識処理部に対して、前記データセットAと、前記データセットAとは異なる環境で取得された正解なしのデータセットBとを用いて追加学習させた後、前記追加学習による前記認識処理部の性能評価を行い、前記性能評価の結果に基づいて、前記認識処理部のパラメータを、前記追加学習によって得られたパラメータに更新することを特徴とする学習装置。
【0093】
12.前記認識処理部は、前記入力データから前記特徴を抽出する特徴抽出層と、抽出した前記特徴を用いて識別を行う識別層とを有しており、
前記学習制御部は、
前記特徴抽出層に対して追加学習L1を行った後、前記追加学習L1による前記特徴抽出層の性能評価E1を行い、前記性能評価E1の結果に基づいて、前記特徴抽出層のパラメータを、前記追加学習L1によって得られたパラメータに更新し、続いて、前記認識処理部の追加学習L2を行った後、前記追加学習L2による前記認識処理部の性能評価E2を行い、前記性能評価E2の結果に基づいて、前記認識処理部のパラメータを、前記追加学習L2によって得られたパラメータに更新することを特徴とする前記11に記載の学習装置。
【0094】
13.前記学習制御部は、前記データセットBに含まれるデータセットB1を用いて、前記特徴抽出層の前記追加学習L1を行う一方、前記データセットBに含まれる前記データセットB1以外のデータセットB2を用いて、前記特徴抽出層の前記性能評価E1を行うことを特徴とする前記12に記載の学習装置。
【0095】
14.前記学習制御部は、前記データセットAを用いて、前記認識処理部の前記追加学習L2を行う一方、予め用意した性能評価用のデータセットCを用いて、前記認識処理部の性能評価E2を行うことを特徴とする前記12または13に記載の学習装置。
【0096】
15.前記学習制御部は、前記性能評価E1の結果が一定の基準を満足している場合に、前記特徴抽出層のパラメータ更新を行うことを特徴とする前記12から14のいずれかに記載の学習装置。
【0097】
16.前記学習制御部は、前記性能評価E1の結果が一定の基準を満足していない場合に、前記特徴抽出層のパラメータを、前記追加学習L1を行う前のパラメータに維持することを特徴とする前記12から15のいずれかに記載の学習装置。
【0098】
17.前記学習制御部は、前記性能評価E2の結果が一定の基準を満足している場合に、前記認識処理部のパラメータ更新を行うことを特徴とする前記12から16のいずれかに記載の学習装置。
【0099】
18.前記学習制御部は、前記性能評価E2の結果が一定の基準を満足していない場合に、前記認識処理部のパラメータを、前記追加学習L2を行う前のパラメータに維持することを特徴とする前記12から17のいずれかに記載の学習装置。
【0100】
19.前記学習制御部は、前記データセットAを用いた前記追加学習L2を、前記識別層についてのみ行うことを特徴とする前記12から18のいずれかに記載の学習装置。
【0101】
20.前記認識処理部は、ニューラルネットワークで構成されていることを特徴とする前記11から19のいずれかに記載の学習装置。
【0102】
21.前記工程(2a)は、前記工程(4a)において前記性能評価E1の結果が一定の基準を満足していない場合に、前記データセットAと、前記データセットBに含まれる未使用のデータセットB3とを用いて、前記特徴抽出層の追加学習L1を再度行うことを特徴とする前記2から5のいずれかに記載の学習方法。
【0103】
22.前記学習制御部は、前記性能評価E1の結果が一定の基準を満足していない場合に、前記データセットAと、前記データセットBに含まれる未使用のデータセットB3とを用いて、前記特徴抽出層の追加学習L1を再度行うことを特徴とする前記12から15のいずれかに記載の学習装置。
【0104】
23.前記1~10、21のいずれかに記載の学習方法をコンピュータに実行させるプログラム。
【0105】
24.前記23に記載のプログラムを記録した、コンピュータ読取可能な記録媒体。
【0106】
以上、本発明の実施形態について説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で拡張または変更して実施することができる。
【産業上の利用可能性】
【0107】
本発明は、入力データから特徴を抽出し、抽出した前記特徴を用いて識別を行う認識処理部の機械学習における学習方法および学習装置に利用可能である。
【符号の説明】
【0108】
1 学習装置
11 認識処理部
11b 特徴抽出層
11c 識別層
16 制御部(学習制御部)
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11