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

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

▶ 独立行政法人情報通信研究機構の特許一覧

特開2024-6647学習装置、機械学習プログラム、および機械学習方法
<>
  • 特開-学習装置、機械学習プログラム、および機械学習方法 図1
  • 特開-学習装置、機械学習プログラム、および機械学習方法 図2
  • 特開-学習装置、機械学習プログラム、および機械学習方法 図3
  • 特開-学習装置、機械学習プログラム、および機械学習方法 図4
  • 特開-学習装置、機械学習プログラム、および機械学習方法 図5
  • 特開-学習装置、機械学習プログラム、および機械学習方法 図6
  • 特開-学習装置、機械学習プログラム、および機械学習方法 図7
  • 特開-学習装置、機械学習プログラム、および機械学習方法 図8
  • 特開-学習装置、機械学習プログラム、および機械学習方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024006647
(43)【公開日】2024-01-17
(54)【発明の名称】学習装置、機械学習プログラム、および機械学習方法
(51)【国際特許分類】
   G06N 3/082 20230101AFI20240110BHJP
【FI】
G06N3/08 120
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022107734
(22)【出願日】2022-07-04
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 令和4年4月28日 ウェブサイト「https://arxiv.org/abs/2204.13361」を通じて公開 令和4年4月28日 下記ウェブサイトを通じて公開 「https://paperswithcode.com/paper/it-s-done-direct-one-shot-learning-without」 令和4年4月29日 下記ウェブサイトを通じて公開されたTwitterにて公開 「https://twitter.com/HosodaKazufumi/status/1519910703187996672」 令和4年6月2日 下記ウェブサイトを通じて公開 「https://github.com/hosodakazufumi/tfdone/commit/5f1475077809c8cabdbc8ba1aca4b20ff05701f2」「https://github.com/hosodakazufumi/tfdone」 令和4年6月3日 ウェブサイト「https://pypi.org/project/tfdone/0.0.1/」を通じて公開 令和4年6月5日 下記ウェブサイトを通じて公開されたFacebookにて公開 「https://www.facebook.com/permalink.php?story_fbid=pfbid02u88gZNV7MzvZAE3SzLYudFzJVeGh76GLbFekXboqHzeDPWq9SaeEHcxs9NEXoPshl&id=100011465735711」 令和4年6月6日 下記ウェブサイトを通じて公開されたTwitterにて公開 「https://twitter.com/HosodaKazufumi/status/1533644889011163136」 令和4年6月27日 ウェブサイト「https://www.loy-reports.com/」を通じて公開された「第7回 細胞生物若手の会交流会」のYou Tube Liveにて公開
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和3年度、総務省、情報通信技術の研究開発、「脳の仕組みに倣った省エネ型の人工知能関連技術の開発・実証事業」に係る委託研究 産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】301022471
【氏名又は名称】国立研究開発法人情報通信研究機構
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】細田 一史
(72)【発明者】
【氏名】柏岡 秀紀
(57)【要約】
【課題】ニューラルネットワークの統計的特徴によらず、ニューラルネットワークの性能を維持しながら、1つまたは少数の学習データを用いて、当該1つまたは少数の学習データに対応するクラスをニューラルネットワークに学習させる。
【解決手段】学習装置は、少なくとも1つの学習データDncについて少なくとも1つの隠れ層Lh~Lhから出力層Loへそれぞれ出力される少なくとも1つの活性値ベクトルから、少なくとも1つの学習データDncの特定クラスに対応する特定活性値ベクトルxnewを算出し、出力層Loの重み行列Woriを基準分布として参照するQuantile正規化Fを特定活性値ベクトルxnewに対して行って正規化ベクトルを算出し、正規化ベクトルを重み行列に追加し、特定クラスに対応するニューロンNoを出力層Loに追加する。
【選択図】図5
【特許請求の範囲】
【請求項1】
ニューラルネットワークが保存された記憶部と、
少なくとも1つの学習データに対応する特定クラスを前記ニューラルネットワークに学習させる制御部とを備え、
前記ニューラルネットワークは、前記少なくとも1つの学習データを受ける入力層と、複数のクラスにそれぞれ対応する複数のニューロンを含む出力層と、前記入力層と前記出力層との間に接続された少なくとも1つの隠れ層とを含み、
前記制御部は、
前記少なくとも1つの学習データについて前記少なくとも1つの隠れ層から前記出力層へそれぞれ出力される少なくとも1つの活性値ベクトルから、前記特定クラスに対応する特定活性値ベクトルを算出し、
前記出力層の重み行列を基準分布として参照するQuantile正規化を前記特定活性値ベクトルに対して行って正規化ベクトルを算出し、
前記正規化ベクトルを前記重み行列に追加し、
前記特定クラスに対応するニューロンを前記出力層に追加する、学習装置。
【請求項2】
前記ニューラルネットワークは、学習済みである、請求項1に記載の学習装置。
【請求項3】
前記少なくとも1つの学習データは、特定学習データを含み、
前記特定活性値ベクトルは、前記特定学習データに対応する活性値ベクトルである、請求項1または2に記載の学習装置。
【請求項4】
前記少なくとも1つの学習データは、複数の学習データであり、
前記少なくとも1つの活性値ベクトルは、前記複数の学習データにそれぞれ対応する複数の活性値ベクトルであり、
前記特定活性値ベクトルは、前記複数の活性値ベクトルの平均ベクトルである、請求項1または2に記載の学習装置。
【請求項5】
少なくとも1つの学習データに対応する特定クラスをニューラルネットワークに学習させる機械学習プログラムであって、
前記ニューラルネットワークは、前記少なくとも1つの学習データを受ける入力層と、複数のクラスにそれぞれ対応する複数のニューロンを含む出力層と、前記入力層と前記出力層との間に接続された少なくとも1つの隠れ層とを含み、
前記機械学習プログラムは、プロセッサに実行されることによって、
前記少なくとも1つの学習データについて前記少なくとも1つの隠れ層から前記出力層へそれぞれ出力される少なくとも1つの活性値ベクトルから、前記特定クラスに対応する特定活性値ベクトルを算出し、
前記出力層の重み行列を基準分布として参照するQuantile正規化を前記特定活性値ベクトルに対して行って正規化ベクトルを算出し、
前記正規化ベクトルを前記重み行列に追加し、
前記特定クラスに対応するニューロンを前記出力層に追加する、機械学習プログラム。
【請求項6】
少なくとも1つの学習データに対応する特定クラスをニューラルネットワークに学習させる機械学習方法であって、
前記ニューラルネットワークは、前記少なくとも1つの学習データを受ける入力層と、複数のクラスにそれぞれ対応する複数のニューロンを含む出力層と、前記入力層と前記出力層との間に接続された少なくとも1つの隠れ層とを含み、
前記機械学習方法は、
前記少なくとも1つの学習データについて前記少なくとも1つの隠れ層から前記出力層へそれぞれ出力される少なくとも1つの活性値ベクトルから、前記特定クラスに対応する特定活性値ベクトルを算出するステップと、
前記出力層の重み行列を基準分布として参照するQuantile正規化を前記特定活性値ベクトルに対して行って正規化ベクトルを算出するステップと、
前記正規化ベクトルを前記重み行列に追加するステップと、
前記特定クラスに対応するニューロンを前記出力層に追加するステップとを含む、機械学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、1つまたは少数の学習データに対応するクラスをニューラルネットワークに学習させる学習装置、機械学習プログラム、および機械学習方法に関する。
【背景技術】
【0002】
従来、1つまたは少数の学習データに対応するクラスをニューラルネットワークに学習させる機械学習方法が知られている。たとえば、非特許文献1には、新たなクラスの画像を学習済みのCNN(Convolutional Neural Network)に入力した場合に全結合層の最終層(出力層)に入力される活性値ベクトルを線形変換して出力層の重み行列に追加することにより、当該CNNに新たなクラスを追加するウェイトインプリンティングが開示されている。当該ウェイトインプリンティングによれば、追加の最適化を要することなく、1つの画像を用いて学習済みのCNNに当該画像に対応する新たなクラスを追加することができる。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Hang Qi, Matthew Brown, David G. Lowe, "Low-Shot Learning With Imprinted Weights", in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2018, pp. 5822-5830.
【発明の概要】
【発明が解決しようとする課題】
【0004】
活性値ベクトルが追加された重み行列の統計的特徴は、活性値ベクトルの統計的特徴によっては元の重み行列の統計的特徴と大きく異なり得る。重み行列の統計的特徴はバックプロパゲーション等の最適化の結果であるため、重み行列の統計的特徴の変化は学習済みであった元のニューラルネットワークの性能を大きく低下させ得る。そのため、非特許文献1に開示された機械学習方法が有効なニューラルネットワークは、活性値ベクトルの統計的特徴と重み行列の統計的特徴とが類似しているニューラルネットワークに限定され得る。
【0005】
本発明は、上述のような課題を解決するためになされたものであり、その目的は、ニューラルネットワークの統計的特徴によらず、ニューラルネットワークの性能を維持しながら、1つまたは少数の学習データを用いて、当該1つまたは少数の学習データに対応するクラスをニューラルネットワークに学習させることである。
【課題を解決するための手段】
【0006】
本発明の一局面に係る学習装置は、記憶部と、制御部とを備える。記憶部には、ニューラルネットワークが保存されている。制御部は、少なくとも1つの学習データに対応する特定クラスをニューラルネットワークに学習させる。ニューラルネットワークは、入力層と、少なくとも1つの隠れ層と、出力層とを含む。入力層は、少なくとも1つの学習データを受ける。出力層は、複数のクラスにそれぞれ対応する複数のニューロンを含む。少なくとも1つの隠れ層は、入力層と出力層との間に接続されている。制御部は、少なくとも1つの学習データについて少なくとも1つの隠れ層から出力層へそれぞれ出力される少なくとも1つの活性値ベクトルから、特定クラスに対応する特定活性値ベクトルを算出し、出力層の重み行列を基準分布として参照するQuantile正規化を特定活性値ベクトルに対して行って正規化ベクトルを算出し、正規化ベクトルを重み行列に追加し、特定クラスに対応するニューロンを出力層に追加する。
【0007】
本発明の他の局面に係る機械学習プログラムは、少なくとも1つの学習データに対応する特定クラスをニューラルネットワークに学習させる。ニューラルネットワークは、入力層と、少なくとも1つの隠れ層と、出力層とを含む。入力層は、少なくとも1つの学習データを受ける。出力層は、複数のクラスにそれぞれ対応する複数のニューロンを含む。少なくとも1つの隠れ層は、入力層と出力層との間に接続されている。機械学習プログラムは、プロセッサに実行されることによって、少なくとも1つの学習データについて少なくとも1つの隠れ層から出力層へそれぞれ出力される少なくとも1つの活性値ベクトルから、特定クラスに対応する特定活性値ベクトルを算出し、出力層の重み行列を基準分布として参照するQuantile正規化を特定活性値ベクトルに対して行って正規化ベクトルを算出し、正規化ベクトルを重み行列に追加し、特定クラスに対応するニューロンを出力層に追加する。
【0008】
本発明の他の局面に係る機械学習方法は、少なくとも1つの学習データに対応する特定クラスをニューラルネットワークに学習させる。ニューラルネットワークは、入力層と、少なくとも1つの隠れ層と、出力層とを含む。入力層は、少なくとも1つの学習データを受ける。出力層は、複数のクラスにそれぞれ対応する複数のニューロンを含む。少なくとも1つの隠れ層は、入力層と出力層との間に接続されている。機械学習方法は、少なくとも1つの学習データについて少なくとも1つの隠れ層から出力層へそれぞれ出力される少なくとも1つの活性値ベクトルから、特定クラスに対応する特定活性値ベクトルを算出するステップと、出力層の重み行列を基準分布として参照するQuantile正規化を特定活性値ベクトルに対して行って正規化ベクトルを算出するステップと、正規化ベクトルを重み行列に追加するステップと、特定クラスに対応するニューロンを出力層に追加するステップとを含む。
【発明の効果】
【0009】
本発明に係る学習装置および機械学習方法によれば、Quantile正規化により、ニューラルネットワークの統計的特徴によらず、ニューラルネットワークの性能を維持しながら、1つまたは少数の学習データを用いて、当該1つまたは少数の学習データに対応するクラスをニューラルネットワークに学習させることができる。
【図面の簡単な説明】
【0010】
図1】実施の形態1に係る学習装置の構成を示すブロック図である。
図2図1のニューラルネットワークの構造の一例を示す図である。
図3】実施の形態1の比較例に係る機械学習方法によって、図2のニューラルネットワークに、画像データに対応する新たなクラスが追加されたニューラルネットワークの構造の一例を示す図である。
図4図2の活性値ベクトルに含まれる活性値の分布の一例および図2の重み行列を構成する複数の重みベクトルの各々に含まれる重み値の分布の一例を併せて示す図である。
図5図1の学習装置によって、図2のニューラルネットワークに、画像データに対応する新たなクラスが追加されたニューラルネットワークの構造の一例を示す図である。
図6図1の学習装置によって、図5のニューラルネットワークに、画像データに対応する新たなクラスがさらに追加されたニューラルネットワークの構造の一例を示す図である。
図7図1の機械学習プログラムを実行するプロセッサによって行われる機械学習処理の流れの一例を示すフローチャートである。
図8】実施の形態2に係る学習装置の構成を示すブロック図である。
図9図8の機械学習プログラムを実行するプロセッサによって行われる機械学習処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、実施の形態について、図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は原則として繰り返さない。
【0012】
[実施の形態1]
図1は、実施の形態1に係る学習装置100の構成を示すブロック図である。図1に示されるように、学習装置100は、ストレージ101(記憶部)と、プロセッサ102(制御部)と、メモリ103と、ネットワークインターフェイス104と、入出力部105とを含む。
【0013】
ストレージ101は、不揮発性の記憶装置であり、たとえば、ハードディスクあるいは外付けの記憶媒体を含む。ストレージ101には、たとえばオペレーティングシステムのプログラム(不図示)、機械学習プログラムPg1、少なくとも1つの学習データDn、および学習済みのニューラルネットワークNwが保存されている。ニューラルネットワークNwは、たとえば、がん診断、異常検知、監視カメラ、あるいは自動運転における画像分類に使用される。あるいは、ニューラルネットワークNwは、自然言語処理あるいは別言語入力に用いられてもよいし、ネットワーク制御、計算エッジ分散、あるいは電炉制御等の多変量最適化に用いられてもよい。
【0014】
ニューラルネットワークNwは、たとえば、DNN(Deep Neural Network)を含む。ニューラルネットワークNwには、たとえば、ViT(Vision Transformer)、EfficientNet、GoogleNet(InceptionV1)、あるいはResNetを含む。なお、ニューラルネットワークNwは、学習済みでなくともよい。
【0015】
プロセッサ102は、ストレージ101に保存されている各種プログラムを実行することにより、学習装置100の機能を実現する。プロセッサ102は、たとえば、CPU(Central Processing Unit)、あるいはGPU(Graphics Processing Unit)を含む。プロセッサ102は、機械学習プログラムPg1を実行して、少なくとも1つの学習データDnのうちの1つの学習データによって当該学習データに対応する新たなクラス(特定クラス)をニューラルネットワークNwに学習させる機械学習(one-shotラーニング)を実現する。プロセッサ102は、ネットワークインターフェイス104を介して、インターネットに接続されている外部装置へデータを送信するとともに、当該外部装置からのデータを受信する。
【0016】
メモリ103は、揮発性の記憶装置であり、たとえば、RAM(Random Access Memory)を含む。メモリ103は、ワーキングメモリとして機能し、プログラムの実行に必要な各種データを一時的に格納する。
【0017】
入出力部105は、ユーザからの操作を受けるとともに、当該操作に対応するプログラムの処理結果をユーザに出力する。入出力部105は、たとえば、マウス、キーボード、タッチパネル、ディスプレイ、ランプ、およびスピーカを含む。入出力部105を介して、各種アプリケーションのGUI(Graphical User Interface)がユーザに表示される。
【0018】
図2は、図1のニューラルネットワークNwの構造の一例を示す図である。以下では、ニューラルネットワークNwが画像データの分類モデルとして機能する場合について説明する。
【0019】
図2に示されるように、ニューラルネットワークNwは、入力層Liと、少なくとも1つの隠れ層Lh~Lh(Mは1以上の自然数)と、出力層Loとを含む。
【0020】
入力層Liは、少なくとも1つの学習データDnを受ける。図2においては、一例として、少なくとも1つの学習データDnのうちの画像データDncを構成する複数のピクセルに関する情報が入力層Liに入力される様子が示されている。画像データDncに対応するクラス(特定クラス)は、たとえば、猫である。
【0021】
少なくとも1つの隠れ層Lh~Lhは、入力層Liと出力層Loとの間においてこの順に直列に接続されている。隠れ層Lhは、入力層Liと全結合している。隠れ層Lhは、出力層Loと全結合している。以下では、出力層Loと接続された隠れ層Lhを最後の隠れ層とも称する。Mが2以上である場合、隠れ層Lh(jは1以上M-1以下)は、Lhj+1と全結合している。なお、ニューラルネットワークNwに含まれる複数の層の各々は、当該層に隣接する層と全結合していなくともよい。
【0022】
入力層Li、少なくとも1つの隠れ層Lh~Lh、および出力層Loの各々は、複数のニューロンを含む。入力層Li、および少なくとも1つの隠れ層Lh~Lhの各々に関して、当該層に含まれる複数のニューロンは、当該層に順方向(入力層Liから出力層Loへの方向)に接続する層に複数の活性値をそれぞれ出力する。1つの層から出力される複数の活性値を以下では活性値ベクトルとも称する。
【0023】
隠れ層Lhは、ニューロンNM1,NM2,NM3,NM4を含む。図2においては、隠れ層Lhから出力層に出力される活性値ベクトルがxとして示されている。すなわち、活性値ベクトルxは、複数のニューロンNM1~NM4からそれぞれ出力される複数の活性値を成分として有する。なお、隠れ層Lhに含まれるニューロン数は3以下でもよいし、5以上でもよい。
【0024】
出力層Loは、ニューロンNo,Noを含む。ニューロンNo,Noは、ニューラルネットワークNwによって分類可能な複数のクラス(たとえば、ねずみ、および犬)にぞれぞれ対応する。出力ベクトルyは、出力層Loに含まれる複数のニューロンNo,Noからそれぞれ出力される複数の出力値を成分として有する。出力ベクトルyの成分のうち、最も大きい成分のニューロンに対応するクラスが、入力層Liに入力された画像データの分類として選択される。なお、出力層Loに含まれるニューロン数(ニューラルネットワークNwによって分類可能なクラス数)は3以上であってもよい。
【0025】
少なくとも1つの隠れ層Lh~Lh、および出力層Loの各々には、重み行列およびバイアスベクトルが定義されている。出力ベクトルyは、活性値ベクトルx、出力層Loの重み行列Wori、および出力層Loのバイアスベクトルbを用いて、以下の式(1)のように表される。
【0026】
【数1】
【0027】
重み行列Woriは、複数の重みベクトルを含む。複数の重みベクトルの各々の次元数は、活性値ベクトルxの次元数と等しい。また、複数の重みベクトルの数は、出力ベクトルの次元数(成分数)と等しい。すなわち、複数の重みベクトルは出力層Loに含まれる複数のニューロンにそれぞれ対応するため、ニューラルネットワークNwによって分類可能な複数のクラスにそれぞれ対応する。一例として、図2に示される重み行列Woriは、以下の式(2)のように表される。
【0028】
【数2】
【0029】
出力ベクトルyのi番目の成分yは、活性値ベクトルxと重みベクトルwとのコサイン類似度cosθを含む以下の式(3)のように表される。なお、自然数iは、1以上であり、かつ出力ベクトルyの次元数以下である。
【0030】
【数3】
【0031】
コサイン類似度cosθは、活性値ベクトルxと重みベクトルwとの内積を両者のLノルムの積で除した値として定義される。コサイン類似度cosθは、複数の重みベクトルのうち活性値ベクトルxに最も類似したベクトルが重みベクトルwである場合に最大となる。
【0032】
画像データDncのクラスである猫に対応するニューロンは、図2の出力層Loに含まれていない。画像データDncは、ニューラルネットワークNwによると、ニューロンNo,Noのいずれかに対応する誤ったクラスに分類される。画像データDncを正しいクラスに分類するためには、猫に対応する新たなクラスをニューラルネットワークNwに追加する必要がある。
【0033】
ニューラルネットワークNwによって分類可能な複数のクラスに画像データDncに対応する新たなクラスを追加する場合、画像データDncに対応する活性値ベクトルxnew(特定活性値ベクトル)を重み行列Woriにそのまま追加することにより、画像データDncに対応する活性値ベクトルxnewとのコサイン類似度を最大とすることができるとともに、新たなクラスに対応する重みベクトルを重み行列Woriに追加することができる。そこで、以下では、図3図4を用いて、実施の形態1の比較例として、画像データDncに対応する活性値ベクトルxnewを重み行列Woriにそのまま追加する機械学習方法について説明する。
【0034】
図3は、実施の形態1の比較例に係る機械学習方法によって、図2のニューラルネットワークNwに、画像データDncに対応する新たなクラスが追加されたニューラルネットワークNw1Aの構造の一例を示す図である。ニューラルネットワークNw1Aの構造は、図2の出力層Loに画像データDncのクラスに対応するニューロンNoが追加されているとともに、重み行列WoriがW1Aに置き換えられた構造である。重み行列W1Aの構成は、重み行列Woriに活性値ベクトルxnewが追加された構成である。ニューロンNo,活性値ベクトルxnewの追加に伴い、バイアスベクトルbにも、新たな成分(たとえば元のバイアスベクトルbの中央値)が追加される。これら以外のニューラルネットワークNw1Aの構造は、ニューラルネットワークNwと同様であるため、同様の構造についての説明を繰り返さない。
【0035】
図4は、図2の活性値ベクトルxに含まれる複数の成分(活性値)の分布Adsの一例および図2の重み行列Woriを構成する複数の重みベクトルの各々に含まれる複数の成分(重み値)の分布Wdsの一例を併せて示す図である。図4に示されるように、分布Wdsにおいて、ほとんどの重み値は、-0.2以上0.2以下の範囲に分布している。また、分布Wdsには、0付近の最頻値を中心に対称性が認められる。一方、分布Adsにおいては、-0.2より大きく0より小さい範囲に分布が偏っている。そのため、当該範囲にある最頻値より大きい範囲の分布と当該最頻値より小さい範囲の分布との間に対称性が認められない。そのため、分布Adsの統計的特徴(たとえば平均値)は、分布Wdsの統計的特徴と大きく異なり得る。
【0036】
再び図3を参照して、重み行列W1Aには、分布Adsの統計的特徴を有する重みベクトルw,wと分布Wdsの特徴を有する活性値ベクトルxnewとが混在している。そのため、重み行列W1Aの統計的特徴は、図2の重み行列Woriの統計的特徴と大きく異なり得る。重み行列Woriの統計的特徴はバックプロパゲーション等の最適化の結果であるため、重み行列Woriの統計的特徴の変化は学習済みであった元のニューラルネットワークNwの性能(たとえば、正解率、適合率、再現率、あるいはF値)を大きく低下させ得る。そのため、比較例に係る機械学習方法によって新たなクラスを学習済みのニューラルネットワークNwに追加する場合、性能を維持するために学習済みのニューラルネットワークNwに対して様々な修正(たとえば活性値ベクトルxのL正規化および重みベクトルの正規化)を行う必要が生じ得る。
【0037】
そこで、学習装置100においては、重み行列Woriを基準分布として参照するQuantile正規化を活性値ベクトルxnewに対して行うことによって得られる正規化ベクトルwを重み行列Woriに追加する。Quantile正規化によって、活性値ベクトルxnewの複数の成分の順位が正規化ベクトルwにおいて維持されるように、当該順位に対応する重み行列Woriの統計値が正規化ベクトルwの成分として使用される。当該統計値には、たとえば、基準分布における当該順位の平均値、あるいは当該順位に対応する分位数によって基準分布において特定される値が含まれる。その結果、新しいクラスに対応する画像データの特徴を正規化ベクトルwに残存させながら、元の重み行列Woriの統計的特徴を変化させずに重み行列Woriに正規化ベクトルwを追加することができる。
【0038】
実施の形態1に係る学習装置および機械学習方法によれば、ニューラルネットワークの統計的特徴によらず、ニューラルネットワークの性能を維持しながら、少数の学習データに対応するクラスをニューラルネットワークに学習させることができる。すなわち、ニューラルネットワークの重み行列に含まれる複数の重み行列に変更および最適化を行うことなく、新たなクラスの追加の必要が生じる度に、新たなクラスに対応する重みベクトルおよびニューロンをニューラルネットワークに追加するという汎用的かつ簡易な処理によって、新たなクラスをニューラルネットワークに学習させることができる。また、ニューラルネットワークが学習済みであることにより、元々のニューラルネットワークの高い性能を、新たなクラスを学習後のニューラルネットワークに承継させることができる。
【0039】
図5は、図1の学習装置100によって、図2のニューラルネットワークNwに、画像データDncに対応する新たなクラスが追加されたニューラルネットワークNw1の構造の一例を示す図である。ニューラルネットワークNw1の構造は、図3の重み行列W1AがW1に置き換えられた構造である。重み行列W1の構成は、活性値ベクトルxnewに、重み行列Woriを基準分布とするQuantile正規化Fが行われて得られた正規化ベクトルw図5においてはj=3)が、重み行列Woriに追加された構成である。これら以外のニューラルネットワークNw1の構造は、ニューラルネットワークNw1Aと同様であるため、同様の構造についての説明を繰り返さない。
【0040】
出力ベクトルyに含まれる複数の成分およびバイアスベクトルbに含まれる複数の成分のうち、正規化ベクトルwに対応する成分をそれぞれyおよびbとする。成分y、正規化ベクトルw、および成分bは、以下の式(4),(5),(6)のようにそれぞれ表される。なお、式(6)の右辺は、重み行列Woriに対応するバイアスベクトルbに含まれる複数の成分の中央値を表す。
【0041】
【数4】
【0042】
以下では、重み行列Wori,活性値ベクトルxnewが以下の式(7),(8)でそれぞれ表される場合を例にして、式(5)のQuantile正規化Fの処理の流れの一例を説明する。重み行列Woriが式(7)で表される場合、重み行列Woriに含まれる複数の成分の平均値は、-0.0075である。
【0043】
【数5】
【0044】
まず、重み行列Woriの複数の重みベクトルの各々に含まれる複数の成分にそれぞれ対応する複数の順位を特定し、複数の順位の各々について成分の平均値を算出する。具体的には、式(7)の重み行列Woriの複数の重みベクトルの各々に含まれる複数の成分を昇順にソートすることによって、以下の式(9)に示される行列Wsrtが得られる。
【0045】
【数6】
【0046】
行列Wsrtの第1列、第2列、第3列、および第4列には、各重みベクトルにおいて第1位、第2位、第3位、および第4位の成分がそれぞれ含まれている。重みベクトルにおける第1位、第2位、第3位、および第4位の成分の平均値は、式(9)に示されるように、それぞれ、-0.15、-0.05、0.03、および0.14となる。
【0047】
【数7】
【0048】
活性値ベクトルxnewの第1成分、第2成分、第3成分、および第4成分の昇順の順位は、式(10)に示されるように、それぞれ第3位、第2位、第1位、および第4位となる。活性値ベクトルxnewの各成分を、当該成分の順位を有する重みベクトルの成分の平均値に置換することにより、正規化ベクトルwが得られる。すなわち、式(10)の活性値ベクトルxnewの第1成分、第2成分、第3成分、および第4成分は、式(11)に示されるように、式(9)における第3位の0.03、第2位の-0.05、第1位の-0.15、および第4位の0.14にそれぞれ置換される。
【0049】
正規化ベクトルwの複数の成分の順位は、活性値ベクトルxnewの複数の成分の順位に一致している。また、重み行列Woriに正規化ベクトルwが追加された図5の重み行列W1の複数の成分の平均値は、-0.0075であり、重み行列Woriの複数の成分の平均値と等しい。Quantile正規化によって、新しいクラスに対応する画像データの特徴である活性値ベクトルxnewの複数の成分の順位を正規化ベクトルwに残存させながら、元の重み行列Woriの複数の成分の平均値を変化させずに重み行列Woriに正規化ベクトルwを追加することができる。
【0050】
図6は、図1の学習装置100によって、図5のニューラルネットワークNw1に、画像データDnsに対応する新たなクラスがさらに追加されたニューラルネットワークNw2の構造の一例を示す図である。ニューラルネットワークNw2の構造は、図5の重み行列W1がW2に置き換えられるとともに、出力層Loに画像データDnsのクラス(たとえば、ひまわり)に対応するニューロンNoが追加された構造である。重み行列W2の構成は、画像データDnsに対応する活性値ベクトルxnewに、重み行列W1を基準分布とするQuantile正規化Fが行われることによって得られた正規化ベクトルw図5においてはj=4)が、重み行列W1に追加されている構成である。また、バイアスベクトルbにも、式(6)によって示される新たな成分が追加されている。これら以外のニューラルネットワークNw2の構造は、ニューラルネットワークNw1と同様であるため、同様の構造についての説明を繰り返さない。
【0051】
図7は、図1の機械学習プログラムPg1を実行するプロセッサ102によって行われる機械学習処理の流れの一例を示すフローチャートである。以下ではステップを単にSと記載する。
【0052】
図7に示されるように、プロセッサ102は、S101において、新たなクラスの学習データについて最後の隠れ層から出力される活性値ベクトルを算出し、処理をS102に進める。プロセッサ102は、S102において、出力層の重み行列を基準分布として参照するQuantile正規化をS101において算出された活性値ベクトルに対して行って正規化ベクトルを算出し、処理をS103に進める。プロセッサ102は、S103において、正規化ベクトルを重み行列に追加して処理をS104に進める。プロセッサ102は、S104において、新たなクラスに対応するニューロンを出力層に追加して機械学習処理を終了する。
【0053】
以下の表1は、5つの新たなクラスの各々をone-shotラーニングによって4つの既知の学習済みDNNの各々に学習させるという機械学習方法として、非特許文献1の機械学習方法(Qi)を用いた場合の機械学習後のDNNの正解率の平均値および標準偏差と、実施の形態1に係る機械学習方法を用いた場合の機械学習後のDNNの正解率および標準偏差とを示す比較表である。表1に示されるように、4つの学習済みDNNの各々において、実施の形態1の正解率の平均値は、Qiの正解率の平均値よりも高い。
【0054】
【表1】
【0055】
以上、実施の形態1に係る学習装置、機械学習プログラム、および機械学習方法によれば、ニューラルネットワークの統計的特徴によらず、ニューラルネットワークの性能を維持しながら、1つの学習データを用いて、当該学習データに対応するクラスをニューラルネットワークに学習させることができる。
【0056】
[実施の形態2]
実施の形態1においては、1つの学習データを用いて、当該学習データに対応するクラスをニューラルネットワークに学習させる、いわゆるone-shotラーニングについて説明した。実施の形態2においては、新たなクラスに対応する2以上の少数の学習データを用いる、いわゆるfew-shotラーニングについて説明する。
【0057】
図8は、実施の形態2に係る学習装置200の構成を示すブロック図である。学習装置200の構成は、図1の機械学習プログラムPg1がPg2に置き換えられた構成である。少なくとも1つの学習データDnは、新たなクラスに対応する少数の学習データDn~Dn(自然数Kは2以上)を含む。これら以外の学習装置200の構成は、学習装置100と同様であるため、同様の構成についての説明を繰り返さない。
【0058】
少数の学習データDn~DnがニューラルネットワークNwの入力層に入力された場合に最後の隠れ層からそれぞれ出力される複数の活性値ベクトルをx~xとする。式(5)の活性値ベクトルxnewは、実施の形態2においては以下の式(12)のように活性値ベクトルx~xの平均ベクトル(特定活性値ベクトル)として表される。
【0059】
【数8】
【0060】
図9は、図8の機械学習プログラムPg2を実行するプロセッサ102によって行われる機械学習処理の流れの一例を示すフローチャートである。図9に示されるフローチャートは、図7のS101,S102がS201,S202にそれぞれ置き換えられたフローチャートである。
【0061】
図9に示されるように、プロセッサ102は、S201において、新たなクラスの少数の学習データについて最後の隠れ層からそれぞれ出力される複数の活性値ベクトルの平均ベクトルを算出し、処理をS202に進める。プロセッサ102は、S202において、出力層の重み行列を基準分布として参照するQuantile正規化を、S201において算出された平均ベクトルに対して行って正規化ベクトルを算出し、処理をS103に進める。プロセッサ102は、実施の形態1と同様にS103,S104を行って機械学習処理を終了する。
【0062】
以下の表2は、5つの新たなクラスの各々を5-shotラーニングによって4つの既知の学習済みDNNの各々に学習させるという機械学習方法として、非特許文献1の機械学習方法(Qi)を用いた場合の機械学習後のDNNの正解率の平均値および標準偏差と、実施の形態2に係る機械学習方法を用いた場合の機械学習後のDNNの正解率および標準偏差とを示す比較表である。表2に示されるように、4つの学習済みDNNの各々において、実施の形態2の正解率の平均値は、Qiの正解率の平均値よりも高い。
【0063】
【表2】
【0064】
以下の表3は、5つの新たなクラスの各々を4つの既知の学習済みDNNの各々に学習させるという機械学習方法として、実施の形態1に係る機械学習方法を用いた場合の機械学習後のDNNの正解率の平均値および標準偏差と、実施の形態2に係る機械学習方法を用いた場合の機械学習後のDNNの正解率および標準偏差とを示す比較表である。表3に示されるように、4つの学習済みDNNの各々において、実施の形態2の正解率の平均値は、実施の形態1の正解率の平均値よりも高い。
【0065】
【表3】
【0066】
以上、実施の形態2に係る学習装置、機械学習プログラム、および機械学習方法によれば、ニューラルネットワークの統計的特徴によらず、ニューラルネットワークの性能を維持しながら、少数の学習データを用いて、当該少数の学習データに対応するクラスをニューラルネットワークに学習させることができる。また、新たなクラスが追加されたニューラルネットワークの性能を実施の形態1よりも向上させることができる。
【0067】
今回開示された各実施の形態は、矛盾しない範囲で適宜組み合わされて実施されることも予定されている。今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0068】
100,200 学習装置、101 ストレージ、102 プロセッサ、103 メモリ、104 ネットワークインターフェイス、105 入出力部、Ads,Wds 分布、Dn,Dn~Dn 学習データ、Dnc,Dns 画像データ、Lh~Lh 隠れ層、Li 入力層、Lo 出力層、NM1~NM4,No1~No4 ニューロン、Nw,Nw1,Nw1A,Nw2 ニューラルネットワーク、Pg1,Pg2 機械学習プログラム、W1,W1A,W2,Wori 重み行列、Wsrt 行列、b バイアスベクトル、w,w,w 重みベクトル、w 正規化ベクトル、x,x~x,xnew 活性値ベクトル、y 出力ベクトル。
図1
図2
図3
図4
図5
図6
図7
図8
図9