JP2020107042A - 学習モデル生成装置、学習モデル生成方法、及びプログラム - Google Patents

学習モデル生成装置、学習モデル生成方法、及びプログラム Download PDF

Info

Publication number
JP2020107042A
JP2020107042A JP2018244688A JP2018244688A JP2020107042A JP 2020107042 A JP2020107042 A JP 2020107042A JP 2018244688 A JP2018244688 A JP 2018244688A JP 2018244688 A JP2018244688 A JP 2018244688A JP 2020107042 A JP2020107042 A JP 2020107042A
Authority
JP
Japan
Prior art keywords
learning
learning model
layer
unit
neural network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018244688A
Other languages
English (en)
Other versions
JP7042210B2 (ja
Inventor
亜楠 王
Yanan Wang
亜楠 王
剣明 呉
Jiangming Wu
剣明 呉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2018244688A priority Critical patent/JP7042210B2/ja
Publication of JP2020107042A publication Critical patent/JP2020107042A/ja
Application granted granted Critical
Publication of JP7042210B2 publication Critical patent/JP7042210B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

【課題】ニューラルネットワークの学習モデルの認識精度と、認識処理に要求される計算リソースとのバランスを取ることができる技術を提供する。【解決手段】事前学習部30は、1以上の畳込み層を含むニューラルネットワークの学習モデルのパラメータを学習により初期化する。畳込み層選択部31は、ニューラルネットワークを構成する畳込み層の中から、1以上の畳込み層を選択する。層構造置換部32は、畳込み層選択部31が選択した畳込み層の構造を、畳込み演算の計算量が少なくなる構造に置換した置換済みニューラルネットワークを生成する。再学習用パラメータ設定部33は、層構造置換部32が置換した層以外の層に対応する学習モデルのパラメータが事前学習部30によって初期化されたパラメータとなるように設定する。再学習部34は、学習用データを用いて置換済みニューラルネットワークの学習モデルのパラメータを生成する。【選択図】図2

Description

本発明は、学習モデル生成装置、学習モデル生成方法、及びプログラムに関する。
近年、CPU(Central Processing Unit)及びGPU(Graphics Processing Unit)の高速化、メモリの大容量化、及び機械学習技術が急速に進んできている。このため、数十万から百万といったオーダーの学習データを用いる機械学習が可能となり、精度の高い識別技術や分類技術が確立されつつある。例えば非特許文献1では、機械学習のうち特にニューラルネットワークを用いて認識精度の高い学習モデルを生成するための技術が開示されている。
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.
大量の学習データに基づく機械学習を実行することによって精度の高い学習モデルが生成できるようになってきている。一方で、大量の学習データに基づいて生成された学習モデルはサイズや演算量が大きくなる傾向にある。このような学習モデルは認識プロセスにおいて多くの計算リソースが必要となる。このため、例えばスマートフォンやIoT(Internet Of Things)デバイス等のように、サーバ等の大型の計算機と比較すると計算リソースが小さい計算機では高精度の学習モデルを実行することが困難となることも起こりうる。
学習モデルのサイズや演算量を削減する技術も種々提案されているが、計算リソースが比較的小さい計算機で実行可能なレベルまで学習モデルのサイズや演算量を削減すると、十分な認識精度を保てないのが現状である。
本発明はこれらの点に鑑みてなされたものであり、ニューラルネットワークの学習モデルの認識精度と、認識処理に要求される計算リソースとのバランスを取ることができる技術を提供することを目的とする。
本発明の第1の態様は、1以上の畳込み層を含むニューラルネットワークの学習モデルを生成する学習モデル生成装置である。この装置は、学習用データを用いて学習することによって前記学習モデルのパラメータを初期化する事前学習部と、前記ニューラルネットワークを構成する畳込み層の中から、1以上の畳込み層を選択する畳込み層選択部と、前記畳込み層選択部が選択した畳込み層の構造を、畳込み演算の計算量が少なくなる構造に置換した置換済みニューラルネットワークを生成する層構造置換部と、前記層構造置換部が置換した層以外の層に対応する前記学習モデルのパラメータが前記事前学習部によって初期化されたパラメータとなるように設定する再学習用パラメータ設定部と、前記学習用データを用いて前記置換済みニューラルネットワークの学習モデルのパラメータを生成する再学習部と、を備える。
前記畳込み層選択部は、前記ニューラルネットワークを構成する畳込み層の中から、複数の異なるパターンで前記畳込み層を選択してもよく、前記層構造置換部は、前記畳込み層選択部が複数の異なるパターンで選択した前記畳込み層をそれぞれ置換した複数の異なる置換済みニューラルネットワークを生成してもよく、前記再学習部は、前記複数の異なる置換済みニューラルネットワークそれぞれの学習モデルを生成してもよく、前記学習モデル生成装置は、前記再学習部が生成した複数の異なる学習モデルの中から、各学習モデルの認識性能とモデルサイズとに少なくとも基づいて、一つの学習モデルを選択する学習モデル選択部をさらに備えてもよい。
前記畳込み層選択部は、前記ニューラルネットワークを構成する畳込み層の中から複数の異なる畳込み層を選択するとともに、選択した各畳込み層それぞれについて当該畳込み層よりも前記ニューラルネットワークの出力層側に配置されている畳込み層をすべて選択することにより、複数の異なるパターンで前記畳込み層を選択してもよい。
前記学習モデル選択部は、前記再学習部が生成した複数の異なる学習モデルの中から、前記認識性能が最良となる学習モデルを選択してもよい。
前記学習モデル生成装置は、学習モデルの認識性能の下限値を取得する下限性能取得部をさらに備えてもよく、前記学習モデル選択部は、前記再学習部が生成した複数の異なる学習モデルの中から、前記認識性能の下限値を上回ることを条件としてモデルサイズが最小となる学習モデルを選択してもよい。
前記層構造置換部は、畳込み層選択部が選択した畳込み層における畳込みカーネルの構造を、畳込み層の空間方向とチャネル方向とに分離した構造に置換してもよい。
前記層構造置換部は、前記ニューラルネットワークを構成する全結合層を、グローバルアベレージプーリング(Global Average Pooling;GAP)層に置換してもよい。
本発明の第2の態様は、学習モデル生成方法である。この方法において、1以上の畳込み層を含むニューラルネットワークの学習モデルを生成する学習モデル生成装置のプロセッサが、学習用データを用いて学習することによって前記学習モデルのパラメータを初期化するステップと、前記ニューラルネットワークを構成する畳込み層の中から、1以上の畳込み層を選択するステップと、選択した前記畳込み層の構造を、畳込み演算の計算量が少なくなる構造に置換した置換済みニューラルネットワークを生成するステップと、構造を置換した層以外の層に対応する前記学習モデルのパラメータが前記初期化したパラメータとなるように設定するステップと、前記学習用データを用いて前記置換済みニューラルネットワークの学習モデルのパラメータを生成するステップと、を実行する。
本発明の第3の態様は、プログラムである。このプログラムは、1以上の畳込み層を含むニューラルネットワークの学習モデルを生成するコンピュータに、学習用データを用いて学習することによって前記学習モデルのパラメータを初期化する機能と、前記ニューラルネットワークを構成する畳込み層の中から、1以上の畳込み層を選択する機能と、選択した前記畳込み層の構造を、畳込み演算の計算量が少なくなる構造に置換した置換済みニューラルネットワークを生成する機能と、構造を置換した層以外の層に対応する前記学習モデルのパラメータが前記初期化したパラメータとなるように設定する機能と、前記学習用データを用いて前記置換済みニューラルネットワークの学習モデルのパラメータを生成する機能と、を実現させる。
本発明の第4の態様も、1以上の畳込み層を含むニューラルネットワークの学習モデルを生成する学習モデル生成装置である。この装置は、学習用データを用いて学習することによって前記学習モデルのパラメータを初期化する事前学習部と、前記ニューラルネットワークを構成する畳込み層の中から、複数の異なるパターンで前記畳込み層を選択する畳込み層選択部と、前記畳込み層選択部が複数の異なるパターンで選択した前記畳込み層を、それぞれ異なる構造の畳込み層で置換した複数の異なる置換済みニューラルネットワークを生成する層構造置換部と、前記複数の異なる置換済みニューラルネットワークそれぞれについて、前記層構造置換部が置換した層以外の層に対応する前記学習モデルのパラメータが前記事前学習部によって初期化されたパラメータとなるように設定する再学習用パラメータ設定部と、前記再学習用パラメータ設定部がパラメータを設定した前記複数の異なる置換済みニューラルネットワークそれぞれを、前記学習用データを用いて学習して複数の異なる学習モデルを生成する再学習部と、前記再学習部が生成した複数の異なる学習モデルのうち、前記事前学習部が生成した学習モデルよりもモデルサイズが小さいことを条件として、認識性能が最良となる学習モデルを選択する学習モデル選択部と、を備える。
本発明によれば、ニューラルネットワークの学習モデルの認識精度と、認識処理に要求される計算リソースとのバランスを取ることができる。
畳込みニューラルネットワークの一般的な機能構成を模式的に示す図である。 実施の形態に係る学習モデル生成装置の機能構成を模式的に示す図である。 実施の形態に係る学習モデル生成装置が実行する層の選択及び学習モデルの再学習を説明するための図である。 再学習部が生成したP種類の学習モデルにおけるモデルサイズと認識性能との関係の傾向を模式的に示す図である。 実施の形態に係る学習モデル選択部が実行する学習モデルの選択処理を説明するための図である。 実施の形態に係る畳込み層選択部による畳込み層の選択パターンの一例を説明するための図である。 実施の形態に係る学習モデル生成装置が実行する学習モデル生成処理の流れを説明するためのフローチャートである。
<畳込みニューラルネットワーク>
実施の形態に係る学習モデル生成装置は、ニューラルネットワークのうち、特に画像認識処理に用いられることが多い畳込みニューラルネットワーク(Convolutional Neural Network;CNN)の学習モデルを主な処理対象とする。そこで、実施の形態に係る学習モデル生成装置の前提技術として、まず畳込みニューラルネットワークについて簡単に説明する。
図1は、畳込みニューラルネットワークの一般的な機能構成を模式的に示す図である。現在、様々な構成のニューラルネットワークが提案されているが、これらの基本構成は共通である。ニューラルネットワークの基本構成は、複数種類の層の重ね合わせ(又はグラフ構造)で表現される。ニューラルネットワークは、入力データに対する出力結果が適切な値になるようにモデルパラメータを学習する。言い換えると、ニューラルネットワークは、入力データに対する出力結果が適切な値になるように定義された損失関数を最小化するようにモデルパラメータを学習する。
図1は、入力画像Iに含まれる被写体の種類を出力するように学習された学習モデルを示している。図1に示す例では、入力層Liに入力された入力画像Iは、第一畳込み層C1、第二畳込み層C2の順に処理され、プーリング層P、第一全結合層F1、第二全結合層F2、及び出力層Loに至るように構成されている。出力層は、入力画像Iに含まれる被写体の種類を示す識別ラベルBを出力する。
例えば、図1に示す学習モデルが、犬や猫、猿等の複数の動物を認識するための学習モデルである場合、あらかじめ識別対象の動物を特定するための識別ラベルBが割り当てられている。この学習モデルの入力層Liに入力画像Iが入力されると、出力層Loは、あらかじめ定められた複数の認識対象のうちいずれの認識対象であるかを示す識別ラベルBを出力する。なお、識別ラベルBは、複数の認識対象それぞれに一意に割り当てられたビット列である。
ニューラルネットワークにおいては、前段層の出力がその前段層に隣接する後段層の入力となる。畳込みニューラルネットワークにおける各畳込み層は、前段層から入力された信号に対してフィルタを適用し、フィルタの出力がその層の出力となる。
<実施の形態の概要>
実施の形態に係る学習モデル生成装置は、大きく分けて以下の4つのステップから構成される処理を実行する。まず、実施の形態に係る学習モデル生成装置は、複数の層から構成されるニューラルネットワークを用いて学習データを学習することにより、学習が終了した学習モデルである学習済みモデルを取得する(第1ステップ)。続いて、実施の形態に係る学習モデル生成装置は、取得した学習済みモデルを構成する層のうち、特に畳込み層又は全結合層の中から1以上の層を選択する(第2ステップ)。
次に、実施の形態に係る学習モデル生成装置は、選択した層の構造を演算量が少なくなる構造に変換した新たな置換済みニューラルネットワークを生成する(第3ステップ)。最後に、実施の形態に係る学習モデル生成装置は、置換済みニューラルネットワークに基づいて再学習することにより、置換前の学習済みモデルよりも演算量が少ない学習モデルを生成する。
このように、実施の形態に係る学習モデル生成装置は、学習に用いるニューラルネットワークを構成する層の一部の構造を置換して学習モデルのパラメータを再学習することにより、置換前の学習モデルよりも演算量が少なくなる学習モデルを生成することができる。
<実施の形態に係る学習モデル生成装置1の機能構成>
図2は、実施の形態に係る学習モデル生成装置1の機能構成を模式的に示す図である。学習モデル生成装置1は、1以上の畳込み層を含むニューラルネットワークの学習モデルを生成する装置であり、記憶部2と制御部3とを備える。
図2において、矢印は主なデータの流れを示しており、図2に示していないデータの流れがあってもよい。図2において、各機能ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、図2に示す機能ブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に分かれて実装されてもよい。機能ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてもよい。
記憶部2は、学習モデル生成装置1を実現するコンピュータのBIOS(Basic Input Output System)等を格納するROM(Read Only Memory)や学習モデル生成装置1の作業領域となるRAM(Random Access Memory)、OS(Operating System)やアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDD(Hard Disk Drive)やSSD(Solid State Drive)等の大容量記憶装置である。
制御部3は、学習モデル生成装置1のCPUやGPU等のプロセッサであり、記憶部2に記憶されたプログラムを実行することによって事前学習部30、畳込み層選択部31、層構造置換部32、再学習用パラメータ設定部33、再学習部34、学習モデル選択部35、及び条件取得部36として機能する。
なお、図2は、学習モデル生成装置1が単一の装置で構成されている場合の例を示している。しかしながら、学習モデル生成装置1は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部3を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
事前学習部30は、1以上の畳込み層を含むニューラルネットワークに基づいて学習用データを用いて学習することにより、学習モデルのパラメータを初期化する。事前学習部30によってパラメータが初期化された学習モデルが、上述した学習済みモデルである。
畳込み層選択部31は、ニューラルネットワークを構成する畳込み層の中から、1以上の畳込み層を選択する。層構造置換部32は、畳込み層選択部31が選択した畳込み層の構造を、畳込み演算の計算量が少なくなる構造に置換した置換済みニューラルネットワークを生成する。なお、畳込み演算の計算量が少なくなる構造については後述する。
再学習用パラメータ設定部33は、層構造置換部32が置換した層以外の層に対応する学習モデルのパラメータが事前学習部30によって初期化されたパラメータとなるように、学習モデルのパラメータを設定する。言い換えると、再学習用パラメータ設定部33は、層構造置換部32が置換した層以外の層に対応する学習モデルのパラメータを、事前学習部30が生成したパラメータで初期化する。
再学習部34は、事前学習部30が学習モデルのパラメータの初期化に用いた学習用データを用いて学習することにより、置換済みニューラルネットワークの学習モデルのパラメータを生成する。これにより、層構造置換部32が置換した層に対応する学習モデルのパラメータを含む学習モデル全体のパラメータが生成される。
上述したように、層構造置換部32は、31が選択した畳込み層の構造を、畳込み演算の計算量が少なくなる構造に置換する。このため、再学習部34が生成した学習モデルは、事前学習部30が生成した学習モデルよりも、認識処理実行時に要求される畳み込み演算の計算量が小さくなる。また、畳込み層選択部31が選択した畳込み層の構造を置換することにより、再学習部34が生成する学習モデルのサイズも小さくなる。
ここで、層構造置換部32が置換した層のうち、ニューラルネットワークの入力層に最も近い層よりもさらに入力層側に位置する層に対応する学習モデルのパラメータは、再学習部34による再学習で変更されないか、変更されるとしてもその変化量は小さい。したがって、層構造置換部32が置換した層のうち、ニューラルネットワークの入力層に最も近い層よりもさらに入力層側に位置する層に対応する学習モデルのパラメータは、事前学習部30によって初期化されたパラメータを維持していると言える。このため、学習用データを用いて置換済みニューラルネットワークの学習モデルをはじめから生成した場合に得られる学習モデルの認識精度と比較して、再学習部34が生成する学習モデルの認識精度は、30が生成した学習モデルの認識精度に近いことが期待できる。
以上より、実施の形態に係る学習モデル生成装置1が生成する学習モデルは、事前学習部30が生成する学習モデルよりも認識処理実行時に要求される畳み込み演算の計算量が小さく、かつ学習モデルのサイズが小さくなる。さらに、実施の形態に係る学習モデル生成装置1が生成する学習モデルは、学習用データを用いて置換済みニューラルネットワークの学習モデルをはじめから生成して得られる学習モデルよりも高い認識精度が期待できる。ゆえに、実施の形態に係る学習モデル生成装置1は、ニューラルネットワークの学習モデルの認識精度と、認識処理に要求される計算リソースとのバランスを取ることができる。
ここで、畳込み層選択部31による畳込み層の選択パターンは1種類に限定されない。畳込み層選択部31は、ニューラルネットワークを構成する畳込み層の中から複数の異なるパターンで畳込み層を選択してもよい。この場合、層構造置換部32は、畳込み層選択部31が複数の異なるパターンで選択した畳込み層をそれぞれ置換した複数の異なる置換済みニューラルネットワークを生成する。また、再学習部34は、複数の異なる置換済みニューラルネットワークそれぞれの学習モデルを生成する。
図3は、実施の形態に係る学習モデル生成装置1が実行する層の選択及び学習モデルの再学習を説明するための図である。図3において、白抜きの矩形は構造が置換されていない元の状態の畳込み層を示しており、斜線が付された矩形は畳込み演算の計算量が少なくなる構造に置換された畳込み層を示している。
図3は、畳込み層選択部31が8つの畳込み層を選択した場合の例を示している。さらに、図3は、層構造置換部32がP(Pは2以上の整数)種類の異なるパターンで畳込み層を置換することにより、置換された畳込み層のパターンが異なるP種類の置換済みニューラルネットワークを生成した場合の例を示している。
再学習部34は、層構造置換部32が生成したP種類の異なる置換済みニューラルネットワークそれぞれを用いて学習用データを学習し、P種類の異なる学習モデルM(学習モデルM〜学習モデルM)を生成する。
図3に示すように、層構造置換部32が生成したP種類の異なる置換済みニューラルネットワークは、それぞれ置換された畳込み層の数又は箇所が異なる。このため、再学習部34が生成したP種類の学習モデルMは、それぞれモデルのサイズ及び認識性能が異なるものとなる。
図4は、再学習部34が生成したP種類の学習モデルMにおけるモデルサイズと認識性能との関係の傾向を模式的に示す図である。具体的には、図4は、学習モデルMのモデルサイズを横軸とし、学習モデルMの認識性能を縦軸として複数の学習モデルMをプロットしたグラフである。一般に、学習モデルMのモデルサイズと認識時の演算量とは相関があり、学習モデルMのサイズが小さいほど、認識処理時の演算量が小さくなる。したがって、図4に示すグラフにおいて、横軸を学習モデルMの認識時の演算用に置き換えても、図4に示すグラフの大きな傾向は変わらない。
図4に示すように、学習モデルMのモデルサイズが小さくなるほど、学習モデルMの認識性能は低くなる傾向がある。したがって、仮に学習モデルMのモデルサイズを小さくすることができたとしても、学習モデルMの認識性能が要求レベルに達していなければ、その学習モデルMを採用することはできない。反対に、学習モデルMの認識性能が高くても、学習モデルMのモデルサイズや認識処理時の演算量が許容できなければ、その学習モデルMを採用することはできない。
そこで、学習モデル選択部35は、再学習部34が生成した複数の異なる学習モデルMの中から、各学習モデルMの認識性能とモデルサイズとに少なくとも基づいて、一つの学習モデルMを選択する。
図5は、実施の形態に係る学習モデル選択部35が実行する学習モデルMの選択処理を説明するための図である。学習モデル選択部35は、再学習部34が生成したP種類の学習モデルMそれぞれについて、学習モデルMの認識性能を計測するためにあらかじめ定められたテストデータを適用することにより、各学習モデルMの認識性能を測定する。学習モデル選択部35は、以下に示す規範にしたがって、P種類の学習モデルMの中から1つの学習モデルMを選択する。
[第1の選択規範]
学習モデル選択部35が学習モデルMを選択する際に、学習モデルMの認識性能は重要なパラメータとなる。そこで、学習モデル選択部35は、再学習部34が生成した複数の異なる学習モデルの中から、認識性能が最良となる学習モデルを選択する。この選択規範は、いわば認識性能重視の規範である。学習モデルMを実行する装置の計算リソースに余裕がある場合には、学習モデルMの認識性能を重視しつつ、できる限りモデルサイズを小さくすることが望まれる場合、学習モデル選択部35は認識性能が最良となる学習モデルを選択すればよい。
[第2の選択規範]
一方、学習モデルMの認識性能は重要であるものの、ある一定の認識性能が担保されていればよいという場合もありえる。この場合は、学習モデル選択部35は、一定の認識性能を持つことを条件に、モデルサイズの小さい学習モデルMを選択することで、学習モデルMの認識処理時の計算コストを下げ、認識速度を向上させることが期待できる。
そこで、条件取得部36は、学習モデルMの認識性能の下限値を取得する。具体的には、学習モデル生成装置1の図示しないユーザインタフェースを介して学習モデル生成装置1のユーザから学習モデルMに求められる認識性能の下限値を取得する。学習モデル選択部35は、再学習部34が生成した複数の異なる学習モデルMの中から、条件取得部36が取得した認識性能の下限値を上回ることを条件としてモデルサイズが最小となる学習モデルMを選択する。これにより、学習モデル選択部35は、認識性能とモデルサイズとのバランスの取れた学習モデルMを選択することができる。
[第3の選択規範]
さらに別の例として、例えばIoTデバイス等の計算リソースに余裕がない装置で学習モデルMを実行させることが要求される場合、学習モデルMのモデルサイズが装置によって定まる上限値を超えないことが求められる。そこで、条件取得部36は、学習モデルMのモデルサイズの上限値を取得する。学習モデル選択部35は、再学習部34が生成した複数の異なる学習モデルMの中から、条件取得部36が取得したモデルサイズの上限値を下回ることを条件として認識性能が最良となる学習モデルMを選択する。これにより、学習モデル選択部35は、認識性能とモデルサイズとのバランスの取れた学習モデルMを選択することができる。
図4に示すグラフにおいて、一点鎖線は条件取得部36が取得した認識性能の下限値を示しており、二点鎖線はモデルサイズの上限値を示している。図4において、プロットQ1は、事前学習部30がパラメータを初期化して生成した学習モデルMを示している。図4に示すように、事前学習部30が生成した学習モデルMは、他の学習モデルMと比較して認識性能が最もよく、かつモデルサイズが最も大きい。
上述した第1の選択規範にしたがう場合、学習モデル選択部35は、図4におけるプロットQ2に対応する学習モデルMを選択する。図4に示される複数の学習モデルMの中で、畳込み層の置換が行われていない学習モデルであるプロットQ1に対応する学習モデルMを除くと、プロットQ2に対応する学習モデルMは認識性能が最良となるからである。
また、上述した第2の選択規範にしたがう場合、学習モデル選択部35は、図4におけるプロットQ3に対応する学習モデルMを選択する。プロットQ3に対応する学習モデルMは、条件取得部36が取得した認識性能の下限値を上回る学習モデルMの中で、モデルサイズが最小となるからである。
さらに、上述した第3の選択規範にしたがう場合、学習モデル選択部35は、図4におけるプロットQ4に対応する学習モデルMを選択する。プロットQ4に対応する学習モデルMは、条件取得部36が取得したモデルサイズの上限値を下回る学習モデルMの中で、認識性能が最良となるからである。
このように、条件取得部36が取得した条件を満たすように学習モデル選択部35が学習モデルMを選択することにより学習モデル生成装置1は、ニューラルネットワークの学習モデルMの認識精度と、認識処理に要求される計算リソースとのバランスを取った学習モデルMを生成することができる。
[畳込み層の選択パターン]
続いて、畳込み層選択部31による畳込み層の選択パターンを説明する。
畳込み層選択部31による畳込み層の選択の仕方は基本的には任意である。ここで、畳込み層選択部31によってある畳込み層の構造が置換された場合、その層よりも後段側(出力層Lo側)に存在する層のモデルパラメータは、再学習部34による再学習によって変更される。そのため、再学習によってモデルパラメータが変更されてしまうのであれば、最も前段側(入力層Li側)に位置する構造が置換された畳込み層よりも後段側に存在する畳み込み層はすべて構造を置換するようにすることも一案として考えられる。
図6(a)−(h)は、実施の形態に係る畳込み層選択部31による畳込み層の選択パターンの一例を説明するための図であり、最も前段側に位置する構造が置換された畳込み層よりも後段側に存在する畳み込み層はすべて構造を置換するように選択する場合の例を示す図である。
具体的には、畳込み層選択部31は、まず、ニューラルネットワークを構成する畳込み層の中から複数の異なる畳込み層を選択する。図6(a)−(h)において、格子状の網掛けを付した矩形は、それぞれ畳込み層選択部31が最初に選択した畳込み層を示している。例えば、図6(a)は、畳込み層選択部31が最も後段側の畳込み層を選択した場合の例を示しており、図6(b)は、畳込み層選択部31が最も後段側の畳込み層よりも1つ前段側に位置する畳込み層を選択した場合の例を示している。以下、図6(c)−(h)も同様である。
続いて、畳込み層選択部31は、選択した各畳込み層それぞれについてその畳込み層よりもニューラルネットワークの出力層Lo側に配置されている畳込み層をすべて選択する。図6(a)−(h)において、斜線を付した矩形は、最初に選択された畳込み層よりも出力層Lo側に位置するため選択された畳み込み層であることを示している。例えば、図6(c)では、畳込み層選択部31が最初に最も後段側の畳込み層よりも2つ前段側に位置する畳込み層を選択したため、その畳み込み層よりも出力層Lo側に配置されている2つの畳込み層はすべて選択されている。図6(h)では、畳込み層選択部31が最初に最も前段側に位置する畳込み層を選択したため、すべての畳み込み層が畳込み層選択部31によって選択されたことを示している。これにより、畳込み層選択部31は、複数の異なるパターン(図6に示す例では8つのパターン)で畳込み層を選択することができる。
[畳み込み層の構造]
続いて、畳込み演算の計算量が少なくなる構造について説明する。実施の形態に係る層構造置換部32は、一般的な畳込み層を既知のセパラブルコンボリューション(Separable Convolution)の構造に置換する。セパラブルコンボリューションは既知の手法のため詳細な説明は省略するが、通常の3次元(2次元の空間方向と1次元のチャネル方向との合計)の畳み込みを、2次元の空間方向の畳込みと1次元のチャネル方向の畳込みとに分解して近似する手法である。
例えば、入力特徴マップの高さをH、幅をW、入力チャネル数をN、畳込みカーネルの高さ及び幅をそれぞれK、出力チャネル数をLとする。入力特徴マップの1箇所について畳込み演算の演算量がNKであり、これを入力特徴マップのHW箇所に適用すると、1チャネルあたりの演算量がHWNKとなる。出力チャネルはLチャンネルなので、通常の畳込み演算の演算量は全部でHWNKLとなる。モデルサイズに影響するパラメータ数は、KNの畳込みがL種類あるので、KNLとなる。
これに対し、セパラブルコンボリューションの場合、空間方向の畳込み実行時にはチャネル方向への畳込みは行わないため、空間方向の畳込みの演算量はHWNKとなり、パラメータ数はKNとなる。また、チャネル方向の畳込みは、畳込みカーネルのサイズが高さ及び幅がともに1の場合に相当するため、演算量はHWNLとなり、パラメータ数はNLとなる。結局、セパラブルコンボリューションの演算量は全体でHWNK+HWNL=(K+L)HWN、パラメータ数はKN+NL=(K+L)Nとなる。
以上より、層構造置換部32がある畳込み層をセパラブルコンボリューションに置換することにより、その畳み込み層における畳込み演算の演算量は、(K+L)/KLとなる。例えば、畳込みカーネルが3×3(K=3)、出力チャネル数L(すなわち、畳込みカーネルの種類)が32である場合、(K+L)/KLはおよそ0.142となる。この例では、層構造置換部32が畳込み層の構造をセパラブルコンボリューションの構造に置換することにより、畳込み演算の演算量が15%以下となることを示している。
このように、層構造置換部32は、畳込み層選択部31が選択した畳込み層における畳込みカーネルの構造を、畳込み層の空間方向とチャネル方向とに分離したセパラブルコンボリューションの構造に置換する。これにより、学習モデル生成装置1は、ニューラルネットワークの学習モデルMの畳込み演算の演算量とモデルサイズとを削減することができる。
<学習モデル生成装置1が実行する情報処理の処理フロー>
図7は、実施の形態に係る学習モデル生成装置1が実行する学習モデル生成処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば学習モデル生成装置1が起動したときに開始する。
事前学習部30は、学習用データを用いて学習することによって、1以上の畳込み層を含むニューラルネットワークの学習モデルMのパラメータを初期化する(S2)。畳込み層選択部は、ニューラルネットワークを構成する畳込み層の中から、複数の異なるパターンで畳込み層を選択する(S4)。
層構造置換部32は、畳込み層選択部31が複数の異なるパターンで選択した畳込み層を、それぞれ異なる構造の畳込み層で置換した複数の異なる置換済みニューラルネットワークを生成する(S6)。
再学習用パラメータ設定部33は、複数の異なる置換済みニューラルネットワークそれぞれについて、層構造置換部32が置換した層以外の層に対応する学習モデルMのパラメータが事前学習部30によって初期化されたパラメータとなるように設定する(S8)。
再学習部34は、再学習用パラメータ設定部33がパラメータを設定した複数の異なる置換済みニューラルネットワークそれぞれを、学習用データを用いて学習して複数の異なる学習モデルMを生成する(S10)。
学習モデル選択部35は、再学習部34が生成した複数の異なる学習モデルMのうち、事前学習部30が生成した学習モデルMよりもモデルサイズが小さいことを条件として、認識性能が最良となる学習モデルMを選択する(S12)。
学習モデル選択部35が学習モデルMを選択すると、本フローチャートにおける処理は終了する。
<実施の形態に係る学習モデル生成装置1が奏する効果>
以上説明したように、実施の形態に係る学習モデル生成装置1によれば、ニューラルネットワークの学習モデルMの認識精度と、認識処理に要求される計算リソースとのバランスを取ることができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の分散・統合の具体的な実施の形態は、以上の実施の形態に限られず、その全部又は一部について、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を合わせ持つ。
<変形例>
上記では、層構造置換部32は、畳込み層選択部31が選択した畳込み層の構造をセパラブルコンボリューションの構造に置換する場合について説明した。これに替えて、あるいはこれに加えて、層構造置換部32は、ニューラルネットワークを構成する全結合層を、既知のグローバルアベレージプーリング(Global Average Pooling;GAP)層に置換してもよい。これにより、学習モデル生成装置1は、ニューラルネットワークの学習モデルMの認識処理実行時の演算量とモデルサイズとを削減することができる。
1・・・学習モデル生成装置
2・・・記憶部
3・・・制御部
30・・・事前学習部
31・・・畳込み層選択部
32・・・層構造置換部
33・・・再学習用パラメータ設定部
34・・・再学習部
35・・・学習モデル選択部
36・・・条件取得部

Claims (10)

  1. 1以上の畳込み層を含むニューラルネットワークの学習モデルを生成する学習モデル生成装置であって、
    学習用データを用いて学習することによって前記学習モデルのパラメータを初期化する事前学習部と、
    前記ニューラルネットワークを構成する畳込み層の中から、1以上の畳込み層を選択する畳込み層選択部と、
    前記畳込み層選択部が選択した畳込み層の構造を、畳込み演算の計算量が少なくなる構造に置換した置換済みニューラルネットワークを生成する層構造置換部と、
    前記層構造置換部が置換した層以外の層に対応する前記学習モデルのパラメータが前記事前学習部によって初期化されたパラメータとなるように設定する再学習用パラメータ設定部と、
    前記学習用データを用いて前記置換済みニューラルネットワークの学習モデルのパラメータを生成する再学習部と、
    を備える学習モデル生成装置。
  2. 前記畳込み層選択部は、前記ニューラルネットワークを構成する畳込み層の中から、複数の異なるパターンで前記畳込み層を選択し、
    前記層構造置換部は、前記畳込み層選択部が複数の異なるパターンで選択した前記畳込み層をそれぞれ置換した複数の異なる置換済みニューラルネットワークを生成し、
    前記再学習部は、前記複数の異なる置換済みニューラルネットワークそれぞれの学習モデルを生成し、
    前記学習モデル生成装置は、
    前記再学習部が生成した複数の異なる学習モデルの中から、各学習モデルの認識性能とモデルサイズとに少なくとも基づいて、一つの学習モデルを選択する学習モデル選択部をさらに備える、
    請求項1に記載の学習モデル生成装置。
  3. 前記畳込み層選択部は、前記ニューラルネットワークを構成する畳込み層の中から複数の異なる畳込み層を選択するとともに、選択した各畳込み層それぞれについて当該畳込み層よりも前記ニューラルネットワークの出力層側に配置されている畳込み層をすべて選択することにより、複数の異なるパターンで前記畳込み層を選択する、
    請求項2に記載の学習モデル生成装置。
  4. 前記学習モデル選択部は、前記再学習部が生成した複数の異なる学習モデルの中から、前記認識性能が最良となる学習モデルを選択する、
    請求項2又は3に記載の学習モデル生成装置。
  5. 学習モデルの認識性能の下限値を取得する下限性能取得部をさらに備え、
    前記学習モデル選択部は、前記再学習部が生成した複数の異なる学習モデルの中から、前記認識性能の下限値を上回ることを条件としてモデルサイズが最小となる学習モデルを選択する、
    請求項2又は3に記載の学習モデル生成装置。
  6. 前記層構造置換部は、畳込み層選択部が選択した畳込み層における畳込みカーネルの構造を、畳込み層の空間方向とチャネル方向とに分離した構造に置換する、
    請求項1から5のいずれか1項に記載の学習モデル生成装置。
  7. 前記層構造置換部は、前記ニューラルネットワークを構成する全結合層を、グローバルアベレージプーリング(Global Average Pooling;GAP)層に置換する、
    請求項1から6のいずれか1項に記載の学習モデル生成装置。
  8. 1以上の畳込み層を含むニューラルネットワークの学習モデルを生成する学習モデル生成装置のプロセッサが、
    学習用データを用いて学習することによって前記学習モデルのパラメータを初期化するステップと、
    前記ニューラルネットワークを構成する畳込み層の中から、1以上の畳込み層を選択するステップと、
    選択した前記畳込み層の構造を、畳込み演算の計算量が少なくなる構造に置換した置換済みニューラルネットワークを生成するステップと、
    構造を置換した層以外の層に対応する前記学習モデルのパラメータが前記初期化したパラメータとなるように設定するステップと、
    前記学習用データを用いて前記置換済みニューラルネットワークの学習モデルのパラメータを生成するステップと、
    を実行する学習モデル生成方法。
  9. 1以上の畳込み層を含むニューラルネットワークの学習モデルを生成するコンピュータに、
    学習用データを用いて学習することによって前記学習モデルのパラメータを初期化する機能と、
    前記ニューラルネットワークを構成する畳込み層の中から、1以上の畳込み層を選択する機能と、
    選択した前記畳込み層の構造を、畳込み演算の計算量が少なくなる構造に置換した置換済みニューラルネットワークを生成する機能と、
    構造を置換した層以外の層に対応する前記学習モデルのパラメータが前記初期化したパラメータとなるように設定する機能と、
    前記学習用データを用いて前記置換済みニューラルネットワークの学習モデルのパラメータを生成する機能と、
    を実現させるプログラム。
  10. 1以上の畳込み層を含むニューラルネットワークの学習モデルを生成する学習モデル生成装置であって、
    学習用データを用いて学習することによって前記学習モデルのパラメータを初期化する事前学習部と、
    前記ニューラルネットワークを構成する畳込み層の中から、複数の異なるパターンで前記畳込み層を選択する畳込み層選択部と、
    前記畳込み層選択部が複数の異なるパターンで選択した前記畳込み層を、それぞれ異なる構造の畳込み層で置換した複数の異なる置換済みニューラルネットワークを生成する層構造置換部と、
    前記複数の異なる置換済みニューラルネットワークそれぞれについて、前記層構造置換部が置換した層以外の層に対応する前記学習モデルのパラメータが前記事前学習部によって初期化されたパラメータとなるように設定する再学習用パラメータ設定部と、
    前記再学習用パラメータ設定部がパラメータを設定した前記複数の異なる置換済みニューラルネットワークそれぞれを、前記学習用データを用いて学習して複数の異なる学習モデルを生成する再学習部と、
    前記再学習部が生成した複数の異なる学習モデルのうち、前記事前学習部が生成した学習モデルよりもモデルサイズが小さいことを条件として、認識性能が最良となる学習モデルを選択する学習モデル選択部と、
    を備える学習モデル生成装置。
JP2018244688A 2018-12-27 2018-12-27 学習モデル生成装置、学習モデル生成方法、及びプログラム Active JP7042210B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018244688A JP7042210B2 (ja) 2018-12-27 2018-12-27 学習モデル生成装置、学習モデル生成方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018244688A JP7042210B2 (ja) 2018-12-27 2018-12-27 学習モデル生成装置、学習モデル生成方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2020107042A true JP2020107042A (ja) 2020-07-09
JP7042210B2 JP7042210B2 (ja) 2022-03-25

Family

ID=71450845

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018244688A Active JP7042210B2 (ja) 2018-12-27 2018-12-27 学習モデル生成装置、学習モデル生成方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP7042210B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022088588A (ja) * 2021-06-09 2022-06-14 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 画像画質補強方法、装置、機器および媒体
WO2022171027A1 (zh) * 2021-02-10 2022-08-18 华为技术有限公司 一种模型训练方法及装置
DE112021007485T5 (de) 2021-06-14 2024-02-01 Mitsubishi Electric Corporation Neuronales-netz-erstellungseinrichtung, neuronales-netz-erstellungsverfahren, bildverarbeitungseinrichtung und bildverarbeitungsverfahren

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BRPI1013212A2 (pt) * 2009-05-13 2019-09-24 Midwest Ind Supply Inc agente de suspressão de poeira

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018506785A (ja) * 2015-01-22 2018-03-08 クゥアルコム・インコーポレイテッドQualcomm Incorporated モデル圧縮および微調整
US20180137406A1 (en) * 2016-11-15 2018-05-17 Google Inc. Efficient Convolutional Neural Networks and Techniques to Reduce Associated Computational Costs
JP2018092615A (ja) * 2016-12-01 2018-06-14 富士通株式会社 畳み込みニューラルネットワークモデルの決定装置及び決定方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018506785A (ja) * 2015-01-22 2018-03-08 クゥアルコム・インコーポレイテッドQualcomm Incorporated モデル圧縮および微調整
US20180137406A1 (en) * 2016-11-15 2018-05-17 Google Inc. Efficient Convolutional Neural Networks and Techniques to Reduce Associated Computational Costs
JP2018092615A (ja) * 2016-12-01 2018-06-14 富士通株式会社 畳み込みニューラルネットワークモデルの決定装置及び決定方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LIN, M ET AL.: "Network In Network", ARXIV.ORG [ONLINE], JPN7021005280, 4 March 2014 (2014-03-04), pages 1 - 10, ISSN: 0004656323 *
中山英樹: "画像認識分野における深層学習の発展と最新動向(後編)", 画像ラボ, vol. 第27巻, 第5号, JPN6020021481, 10 May 2016 (2016-05-10), JP, pages 14 - 23, ISSN: 0004656322 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022171027A1 (zh) * 2021-02-10 2022-08-18 华为技术有限公司 一种模型训练方法及装置
JP2022088588A (ja) * 2021-06-09 2022-06-14 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 画像画質補強方法、装置、機器および媒体
JP7389840B2 (ja) 2021-06-09 2023-11-30 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 画像画質補強方法、装置、機器および媒体
DE112021007485T5 (de) 2021-06-14 2024-02-01 Mitsubishi Electric Corporation Neuronales-netz-erstellungseinrichtung, neuronales-netz-erstellungsverfahren, bildverarbeitungseinrichtung und bildverarbeitungsverfahren

Also Published As

Publication number Publication date
JP7042210B2 (ja) 2022-03-25

Similar Documents

Publication Publication Date Title
JP7246392B2 (ja) ニューラルネットワークの関数サブネットワークの同時トレーニング
JP6726246B2 (ja) 畳み込みニューラルネットワークにおいて演算を実行する方法および装置並びに非一時的な記憶媒体
JP6441980B2 (ja) 教師画像を生成する方法、コンピュータおよびプログラム
JP2020107042A (ja) 学習モデル生成装置、学習モデル生成方法、及びプログラム
US11556778B2 (en) Automated generation of machine learning models
US20190102908A1 (en) Iterative spatio-temporal action detection in video
JP6657137B2 (ja) 情報処理装置、情報処理方法、及びプログラム
WO2018171717A1 (zh) 面向神经网络处理器的自动化设计方法和系统
Andonie et al. Weighted random search for CNN hyperparameter optimization
US11481637B2 (en) Configuring computational elements for performing a training operation for a generative adversarial network
JP7059318B2 (ja) 地域的特徴を有する分類器学習のための学習データ生成方法およびそのシステム
US20200151573A1 (en) Dynamic precision scaling at epoch granularity in neural networks
US9208278B2 (en) Clustering using N-dimensional placement
US20210272295A1 (en) Analysing Objects in a Set of Frames
Maljovec et al. Adaptive sampling with topological scores
DE112020003105T5 (de) Schicht für schicht-debugging von neuronalen netzwerken
US20180264736A1 (en) Device for processing data for additive manufacturing
US11461662B1 (en) Compilation time reduction for memory and compute bound neural networks
JP6991960B2 (ja) 画像認識装置、画像認識方法及びプログラム
CN111971692A (zh) 卷积神经网络
CN116228850A (zh) 物体姿态估计方法、装置、电子设备及可读存储介质
Rios et al. Back to meshes: Optimal simulation-ready mesh prototypes for autoencoder-based 3D car point clouds
US20240144051A1 (en) Hardware-aware generation of machine learning models
JP7339219B2 (ja) 情報処理装置、情報処理方法、及びプログラム
WO2020113459A1 (en) Intermediate representation transformation by slice operation hoist

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220314

R150 Certificate of patent or registration of utility model

Ref document number: 7042210

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150