(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-07
(45)【発行日】2025-03-17
(54)【発明の名称】情報処理装置、方法およびプログラム
(51)【国際特許分類】
G06N 20/20 20190101AFI20250310BHJP
【FI】
G06N20/20
(21)【出願番号】P 2022019856
(22)【出願日】2022-02-10
【審査請求日】2024-03-01
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】加藤 佑一
(72)【発明者】
【氏名】高木 健太郎
(72)【発明者】
【氏名】中田 康太
【審査官】千葉 久博
(56)【参考文献】
【文献】特開2021-157451(JP,A)
【文献】特開2021-144422(JP,A)
【文献】特開2020-155111(JP,A)
【文献】特開2019-32773(JP,A)
【文献】特開2016-57701(JP,A)
【文献】国際公開第2021/193673(WO,A1)
【文献】国際公開第2021/140698(WO,A1)
【文献】国際公開第2021/084623(WO,A1)
【文献】韓国登録特許第10-2092684(KR,B1)
【文献】Ashwin Raaghav Narayanan, 外4名,"Multi-headed Neural Ensemble Search",[online],2021年07月09日,[検索日 2024.10.22], インターネット<URL:https://arxiv.org/pdf/2107.04369>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/20
(57)【特許請求の範囲】
【請求項1】
データの特徴量を抽出する1つの特徴抽出器と、複数の予測器のそれぞれとを結合し、学習モデルを生成する生成部と、
前記複数の予測器からのそれぞれの出力をアンサンブルした結果を用いて、特定のタスクに対して前記学習モデルを訓練する訓練部と、
前記学習モデルの訓練が終了した場合、前記学習モデルに含まれる前記特徴抽出器を学習済みモデルとして抽出する抽出部と、
を具備する情報処理装置。
【請求項2】
前記複数の予測器はそれぞれ構成が異なる、請求項1に記載の情報処理装置。
【請求項3】
前記複数の予測器はそれぞれ、重み係数と、層数と、ノード数と、ネットワーク構造との少なくとも1つが異なる、請求項1または請求項2に記載の情報処理装置。
【請求項4】
前記複数の予測器はそれぞれ、ドロップアウトを入れることで学習時のネットワーク構造が異なる、またはドロップアウトの数と、ドロップアウトの位置と、正則化の値との少なくとも1つが異なる、請求項1から請求項3のいずれか1項に記載の情報処理装置。
【請求項5】
前記複数の予測器が畳み込み層を含む場合、
前記複数の予測器はそれぞれ、プーリング層の位置が異なる、請求項1から請求項4のいずれか1項に記載の情報処理装置。
【請求項6】
前記訓練部は、前記複数の予測器の各出力の加算平均または加重平均を用いたロス関数に基づき、前記学習モデルを訓練する、請求項1から請求項
5のいずれか1項に記載の情報処理装置。
【請求項7】
前記訓練部は、前記複数の予測器それぞれの出力と前記複数の予測器の平均出力との距離が大きくなるように、前記学習モデルを訓練する、請求項1から請求項
6のいずれか1項に記載の情報処理装置。
【請求項8】
前記訓練部は、前記複数の予測器それぞれの出力が無相関となるように学習させる、請求項1から請求項
6のいずれか1項に記載の情報処理装置。
【請求項9】
前記学習モデルは、前記複数の予測器それぞれに入力される前記特徴抽出器からの出力にノイズが付加される構成を有する、請求項1から請求項
8のいずれか1項に記載の情報処理装置。
【請求項10】
生成手段が、データの特徴量を抽出する1つの特徴抽出器と、複数の予測器のそれぞれとを結合し、学習モデルを生成し、
訓練手段が、前記複数の予測器からのそれぞれの出力をアンサンブルした結果を用いて、特定のタスクに対して前記学習モデルを訓練
し、
抽出手段が、前記学習モデルの訓練が終了した場合、前記学習モデルに含まれる前記特徴抽出器を学習済みモデルとして抽出する、情報処理方法。
【請求項11】
コンピュータを、
データの特徴量を抽出する1つの特徴抽出器と、複数の予測器のそれぞれとを結合し、学習モデルを生成する生成手段と、
前記複数の予測器からのそれぞれの出力をアンサンブルした結果を用いて、特定のタスクに対して前記学習モデルを訓練する訓練手段と
、
前記学習モデルの訓練が終了した場合、前記学習モデルに含まれる前記特徴抽出器を学習済みモデルとして抽出する抽出手段として機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置、方法およびプログラムに関する。
【背景技術】
【0002】
機械学習においては、1つのモデルの予測よりも、複数のモデルの予測をアンサンブルすることにより精度が向上することが知られている。しかし、複数のモデルを用いるためには、それぞれのモデルで訓練および推論する必要があるため、訓練時およびデプロイ時にモデル数に比例してメモリや計算コストが増加するという問題がある。
【先行技術文献】
【非特許文献】
【0003】
【文献】Lee et al., “Why M Heads are Better than One: Training a Diverse Ensemble of Deep Networks”, [online],2015年11月19日,[2022年2月1日検索]、インターネット<URL:https://arxiv.org/abs/1511.06314>
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、上述の課題を解決するためになされたものであり、コストを抑制しつつ性能を向上できる情報処理装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0005】
本実施形態に係る情報処理装置は、生成部と、訓練部とを含む。生成部は、データの特徴量を抽出する1つの特徴抽出器と、複数の予測器のそれぞれとを結合し、学習モデルを生成する。訓練部は、前記複数の予測器からのそれぞれの出力をアンサンブルした結果を用いて、特定のタスクに対して前記学習モデルを訓練する。
【図面の簡単な説明】
【0006】
【
図1】本実施形態に係る情報処理装置を示すブロック図。
【
図2】本実施形態に係る情報処理装置の動作例を示すフローチャート。
【
図3】本実施形態に係る学習モデルのネットワーク構造の一例を示す図。
【
図4】本実施形態に係る学習モデルの訓練時におけるネットワーク構造の第1例を示す図。
【
図5】本実施形態に係る学習モデルの訓練時におけるネットワーク構造の第2例を示す図。
【
図6】本実施形態に係る情報処理装置のハードウェア構成の一例を示す図。
【発明を実施するための形態】
【0007】
以下、図面を参照しながら本実施形態に係る情報処理装置、方法およびプログラムについて詳細に説明する。なお、以下の実施形態では、同一の参照符号を付した部分は同様の動作をおこなうものとして、重複する説明を適宜省略する。
【0008】
本実施形態に係る情報処理装置について
図1のブロック図を参照して説明する。
第1実施形態に係る情報処理装置10は、格納部101と、取得部102と、生成部103と、訓練部104と、抽出部105とを含む。
【0009】
格納部101は、特徴抽出器、複数の予測器、訓練データなどを格納する。特徴抽出器は、データの特徴を抽出するネットワークモデルであり、例えばエンコーダと呼ばれるモデルである。具体的に、特徴抽出器は、ResNetなどの畳み込みニューラルネットワーク(CNN)を含む深層ネットワークモデルを想定するが、ResNetに限らず、特徴抽出または次元圧縮で用いられるネットワークモデルであれば、どのようなモデルでも適用可能である。
予測器は、MLP(Multi-Layer Perceptron)のネットワークモデルを用いることを想定する。訓練データは、後述の学習モデルを学習させるための学習用データである。
【0010】
取得部102は、格納部101から1つの特徴抽出器と、複数の予測器とを取得する。
生成部103は、1つの特徴抽出器と、複数の予測器のそれぞれとを結合し、学習モデルを生成する。学習モデルは、1つの特徴抽出器と複数の予測器とが結合された、いわゆるマルチヘッドモデルとして形成される。
【0011】
訓練部104は、訓練データを用いて学習モデルを訓練する。ここでは、訓練部104は、複数の予測器からのそれぞれの出力をアンサンブルした結果を用いて、特定のタスクに対して学習モデルを訓練する。
抽出部105は、学習モデルの訓練が終了した場合、学習済みモデルとして、学習モデルの特徴抽出器を抽出する。抽出された特徴抽出器は、クラス分類、物体検出などの下流タスクで用いることができる。
【0012】
次に、本実施形態に係る情報処理装置10の動作例について
図2のフローチャートを参照して説明する。
【0013】
ステップS201では、取得部102が、1つの特徴抽出器と複数の予測器とを取得する。
ステップS202では、生成部103が、1つの特徴抽出器と複数の予測器のそれぞれとを結合し、学習モデルを生成する。なお、S202において生成された学習モデルは、まだ訓練部104による訓練は行われていない。
【0014】
ステップS203では、訓練部104が、格納部101に格納される訓練データを用いて、学習モデルを訓練する。具体的には、訓練データに対する学習モデルからの出力に基づくロス関数を計算する。
ステップS204では、訓練部104が、学習モデルの訓練が終了したか否かを判定する。訓練が終了したか否かの判定は、例えば、複数の予測器からのそれぞれの出力を用いたロス関数のロス値が閾値以下である場合に学習が終了したと判定すればよい。または、ロス値の減少幅が収束した場合に訓練が終了したと判定してもよい。さらには、所定のエポック数の訓練を終了した場合に学習が終了したと判定してもよい。訓練が終了した場合は、ステップS205に進み、訓練が終了していない場合は、ステップS206に進む。
【0015】
ステップS205では、格納部101が、学習済みの特徴抽出器を、学習済みモデルとして格納する。
ステップS206では、訓練部104が、ロス値が最小となるように、例えば勾配降下法および誤差逆伝播法によって、学習モデルのパラメータ、具体的には、ニューラルネットワークの重みおよびバイアスなどを更新する。パラメータの更新後、ステップS203に戻り、新たな訓練データを用いて学習モデルの訓練を継続する。
【0016】
次に、本実施形態に係る学習モデルのネットワーク構造の一例について
図3を参照して説明する。
本実施形態に係る学習モデル30は、1つの特徴抽出器301と複数の予測器(ここではN個の予測器302-1~302-N、Nは2以上の自然数)とを含む。以下、特に区別しないときは単に予測器302と記載することとする。なお、
図3以降の例では、学習モデルに訓練データとして画像を入力する場合を想定するが、これに限らず、画像以外の2次元以上のデータでもよいし、センサ値などの1次元時系列データでもよい。
【0017】
図3に示すように特徴抽出器301には、ヘッドとしてN個の予測器302-1~302-Nがそれぞれ結合される。特徴抽出器301に画像が入力された場合、特徴抽出器301により、画像の特徴が抽出され、当該特徴が複数の予測器302-1~302-Nのそれぞれに入力される。複数の予測器302-1~302-Nからのそれぞれの出力がロス計算に用いられる。
【0018】
ここで、予測器302-1~302-Nはそれぞれ、互いに異なるように構成される。例えば、予測器302-1~302-Nはそれぞれ、ネットワークの重み係数と、ネットワークの層数と、ノード数と、ネットワーク構造(ニューラルネットワークアーキテクチャ)との少なくとも1つが異なっていればよい。ネットワーク構造が異なる場合としては、例えば、ある予測器はMLPであり、他の予測器はCNNである、といったように構成されればよい。予測器302-1~302-Nはそれぞれ、ドロップアウトを入れることで、学習時のネットワーク構造が異なるようにしても良い。
【0019】
また、これに限らず、予測器302-1~302-Nはそれぞれ、ドロップアウトを入れることで、学習時のネットワーク構造が異なるようにしてもよい。予測器302-1~302-Nはそれぞれ、ドロップアウトの数、ドロップアウトの位置と、weight decayなどの正則化の手法との少なくとも1つが異なってもよい。予測器302が畳み込み層を含む場合、畳み込み層を含む予測器302はそれぞれ、プーリング層の位置が異なってもよい。
【0020】
なお、上述の例は、予測器302-1~302-Nのそれぞれのネットワーク構成が異なることを想定したが、予測器302-1~302-Nがそれぞれ同じ構成である場合であっても、ネットワークの重み係数をそれぞれ異ならせるか、または特徴抽出器301からの出力である各予測器302へ入力にノイズを付加することで、異なる予測器302-1~302-Nを設計してもよい。
すなわち、予測器302-1~302-Nからの出力がそれぞれ異なるように設計されればよい。これにより、学習時の予測器302からの出力のバリエーションを確保でき、アンサンブルによる訓練効果を向上させることができる。
【0021】
次に、学習モデル30の訓練時におけるネットワーク構造の第1例について
図4を参照して説明する。
図4は、
図2に示す学習モデル30を、いわゆるBYOLのネットワーク構造40を用いた自己教師あり学習により訓練する場合を想定する。自己教師あり学習は、ラベルのないサンプルデータから、同一のデータ(正例)ほど距離が近く(類似度が高く)、異なるデータ(負例)ほど距離が遠く(類似度が低く)なるように学習する機械学習手法の1つである。なお、BYOLによる自己教師あり学習の場合は、負例を用いず正例のみでモデルを訓練する。
【0022】
図4に示すネットワーク構造40は、学習モデル30と、ターゲットエンコーダ41とを含む。学習モデル30とターゲットエンコーダ41とにはそれぞれ、訓練データとして、1つの画像Xをデータ増強(data augmentation)処理することで、1つの画像に基づく異なる画像が入力される。データ増強処理は、画像を反転、回転、クロップ、ノイズ付加するなどの処理により、1つの画像に基づき複数のデータを生成する処理である。つまり、学習モデル30には、元画像が反転した画像X
1が、ターゲットエンコーダ41には元画像が回転した画像X
2が入力されるなど、1つの画像からデータ増強されたデータがそれぞれ入力されればよい。
【0023】
学習モデル30では、複数の予測器302から画像特徴q1,・・・,qn(nは2以上の自然数)がそれぞれ出力される。一方、ターゲットエンコーダ41からも画像特徴kが出力される。ネットワーク構造40のロス関数Lは、複数の予測器302からの出力q1,・・・,qnと、ターゲットエンコーダ41からの出力kとの類似度のアンサンブルに基づき決定されればよく、例えば(1)式で表される。
【0024】
【0025】
(1)式において、nは、予測器302の数である。qiは、n個存在する予測器302のうちのi番目(1≦i≦n)の予測器302からの出力である。kは、ターゲットエンコーダ41の出力を示す。(1)式のロス関数は、予測器302の出力とターゲットエンコーダ41の出力との内積の加算平均であるが、各予測器302の出力を重み付け加算する、加重平均のロス関数を用いてもよい。訓練部104は、ロス関数Lが最小となるように、学習モデル30のパラメータ、つまり特徴抽出器301および複数の予測器302のネットワークに関する重み係数、バイアスなどを更新する。このときターゲットエンコーダ41のパラメータは更新しない。
【0026】
また、訓練部104は、ロス関数に、各予測器302の出力と、複数の予測器302-1~302-Nの平均出力との間の距離(マハラノビス距離)の項を加えて、当該距離が大きくなるように学習モデルのパラメータを更新してもよい。また、訓練部104は、ロス関数に各予測器302からの出力を無相関化(白色化)する項を加え、無相関化が進む方向に学習モデルのパラメータを更新してもよい。このように各予測器302からの出力値をばらつかせることで、アンサンブルによる訓練効果を増加させることができる。
【0027】
次に、学習モデル30の訓練時のネットワーク構造の第2例について
図5を参照して説明する。
図5に示すネットワーク構造50は、特徴抽出器301がエンコーダであり、複数の予測器302-1を複数のデコーダである場合のオートエンコーダを想定する。ネットワーク構造50における複数の予測器302はそれぞれ、特徴抽出器301の出力である画像特徴から、入力された画像を復元するようなデコーダネットワークで構成されればよい。
【0028】
ネットワーク構造50を用いた学習モデル30の学習では、例えば、入力画像と、各予測器302からの出力画像(画像1~画像N)との類似度をロス関数とし、当該ロス関数の値が小さくなるように、学習モデル30のパラメータを更新すればよい。すなわち、予測器302から出力がされる画像が入力画像に近づくように学習される。
【0029】
なお、
図4に示すネットワーク構造40および
図5に示すネットワーク構造50の学習には、
図4および
図5に示す手法の他、一般的な自己教師あり学習で用いられるような訓練手法を適用してもよい。つまり、本実施形態に係る学習モデル30を学習させるためのネットワーク構造は、
図4および
図5の例に限らず、対照学習(Contrastive learning)、回転予測など他の訓練手法を適用してもよい。
【0030】
上述の例では、複数の予測器302は予め格納部101に格納されることを想定していたが、学習モデルを訓練する際に複数の予測器302が生成されてもよい。
生成部103が、1つの予測器302をベースとして、例えば、重み係数、ネットワークの層数、ノード数、ドロップアウトの数、ドロップアウトの位置、正則化の値などの少なくとも1つをランダムに設定することで、複数の異なる予測器302を生成すればよい。
【0031】
次に、上述の実施形態に係る情報処理装置10のハードウェア構成の一例を
図6のブロック図に示す。
情報処理装置10は、CPU(Central Processing Unit)61と、RAM(Random Access Memory)62と、ROM(Read Only Memory)63と、ストレージ64と、表示装置65と、入力装置66と、通信装置67とを含み、それぞれバスにより接続される。
【0032】
CPU61は、プログラムに従って演算処理および制御処理などを実行するプロセッサである。CPU61は、RAM62の所定領域を作業領域として、ROM63およびストレージ64などに記憶されたプログラムとの協働により、上述した情報処理装置10の各部の処理を実行する。
【0033】
RAM62は、SDRAM(Synchronous Dynamic Random Access Memory)などのメモリである。RAM62は、CPU61の作業領域として機能する。ROM63は、プログラムおよび各種情報を書き換え不可能に記憶するメモリである。
【0034】
ストレージ64は、HDD(Hard Disc Drive)等の磁気記録媒体、フラッシュメモリなどの半導体による記憶媒体、または、HDDなどの磁気的に記録可能な記憶媒体、光学的に記録可能な記憶媒体などにデータを書き込みおよび読み出しをする装置である。ストレージ64は、CPU61からの制御に応じて、記憶媒体にデータの書き込みおよび読み出しをする。
【0035】
表示装置65は、LCD(Liquid Crystal Display)などの表示デバイスである。表示装置65は、CPU61からの表示信号に基づいて、各種情報を表示する。
【0036】
入力装置66は、マウスおよびキーボード等の入力デバイスである。入力装置66は、ユーザから操作入力された情報を指示信号として受け付け、指示信号をCPU61に出力する。
【0037】
通信装置67は、CPU61からの制御に応じて外部機器とネットワークを介して通信する。
【0038】
以上に示した第1の実施形態によれば、1つの特徴抽出器と、複数の予測器とを結合した学習モデルを用い、複数の予測器の出力をアンサンブルした結果を用いて訓練することで、特徴抽出器を訓練する。これにより、複数のエンコーダを用意したアンサンブル学習の場合と比較し、予測器の出力をアンサンブルするため、モデルの訓練時のメモリコストおよび計算コストを低減できる。また、複数の予測器は学習時に用い、推論時には用いないため、学習済みモデルとして下流タスクにデプロイされるモデルは、特徴抽出器である。よって、推論時においてもメモリコストおよび計算コストを低減できる。
【0039】
上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した情報処理装置の制御動作による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD-ROM、CD-R、CD-RW、DVD-ROM、DVD±R、DVD±RW、Blu-ray(登録商標)Discなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の情報処理装置の制御と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。
また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
【0040】
なお、本実施形態におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。
【0041】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行なうことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0042】
10…情報処理装置、30…学習モデル、40…ネットワーク構造、41…ターゲットエンコーダ、50…ネットワーク構造、61…CPU、62…RAM、63…ROM、64…ストレージ、65…表示装置、66…入力装置、67…通信装置、101…格納部、102…取得部、103…生成部、104…訓練部、105…抽出部、301…特徴抽出器、302-1~302-N…予測器。