(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-06
(45)【発行日】2024-09-17
(54)【発明の名称】学習装置、方法及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240909BHJP
【FI】
G06N20/00
(21)【出願番号】P 2021133392
(22)【出願日】2021-08-18
【審査請求日】2023-03-15
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】新田 修平
(72)【発明者】
【氏名】古庄 泰隆
(72)【発明者】
【氏名】ロドリゲス ムレー アルベール
(72)【発明者】
【氏名】谷口 敦司
(72)【発明者】
【氏名】谷沢 昭行
【審査官】青木 重徳
(56)【参考文献】
【文献】特開2021-039640(JP,A)
【文献】特開2020-107042(JP,A)
【文献】米国特許出願公開第2018/0359078(US,A1)
【文献】米国特許出願公開第2017/0161640(US,A1)
【文献】Atsuhi Yaguchi et al.,Adm Induces Implicit Weight Sparsity in Rectifier Neural Networks,arXiv:1812.08119,[オンライン],2018年12月19日,v1,<URL: https://arxiv.org/pdf/1812.08119v1.pdf>,(2024年3月15日 検索)、インターネット
【文献】今井 拓司,Sexy Technology,NIKKEI Robotics,日本,日経BP社,2019年04月10日,第46号 ,p.16-20
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
IEEE Xplore
THE ACM DIGITAL LIBRARY
(57)【特許請求の範囲】
【請求項1】
第1の学習条件と前記第1の学習条件に従い学習された第1の機械学習モデルとを取得する取得部と、
前記第1の学習条件とは異なり、前記第1の機械学習モデルのモデルサイズを縮小化するための第2の学習条件を設定する設定部と、
前記第2の学習条件に従い、前記第1の機械学習モデルに基づいて、前記第1の機械学習モデルに比してモデルサイズの小さい第2の機械学習モデルを学習する学習部と、
前記第2の学習条件と同一ではなく且つ前記第1の学習条件に応じた第3の学習条件に従い、
学習済みの第2の機械学習モデルに基づいて、第3の機械学習モデルを学習する再学習部と、
を具備する学習装置。
【請求項2】
前記第1の機械学習モデルに関する推論の精度を表す第1の推論精度と前記
学習済みの第2の機械学習モデルに関する推論の精度を表す第2の推論精度との比較に基づいて、前記第3の機械学習モデルの学習の要否を判定する判定部を更に備え、
前記再学習部は、前記第3の機械学習モデルの学習が必要であると判定された場合、前記第3の機械学習モデルを学習する、
請求項1記載の学習装置。
【請求項3】
前記設定部は、互いに異なる複数の前記第2の学習条件を設定し、
前記学習部は、前記複数の第2の学習条件に従い複数の前記第2の機械学習モデルを学習し
て複数の学習済みの第2の機械学習モデルを生成し、
前記判定部は
、前記複数の
学習済みの第2の機械学習モデルのうちのモデルサイズが基準値以下の
学習済みの第2の機械学習モデルに対応する前記第2の推論精度のうちの最良値と、前記第1の推論精度に基づく基準値との比較に基づいて、前記第3の機械学習モデルの学習の要否を判定する、
請求項2記載の学習装置。
【請求項4】
前記再学習部は、前記第3の機械学習モデルを、前記
学習済みの第2の機械学習モデルのノード数、チャネル数、層数、カーネルサイズ及び/又は入力解像度の線形変換、又は、前記
学習済みの第2の機械学習モデルのノード数、チャネル数、層数、カーネルサイズ及び/又は入力解像度の所定の自然数の倍数又は乗数の端数処理、に従い設定する、請求項1記載の学習装置。
【請求項5】
前記再学習部は、前記第3の機械学習モデルの学習パラメータを、所定の乱数に従い初期化する、又は前記
学習済みの第2の機械学習モデルの学習済みの重み係数の一部をコピーして初期化する、請求項1記載の学習装置。
【請求項6】
前記設定部は、前記第2の学習条件として、前記第1の学習条件とは異なり、最適化手法をAdamに設定し、L2正則化を導入し、活性化関数を飽和非線形関数に設定する、請求項1記載の学習装置。
【請求項7】
前記設定部は、前記第2の学習条件として、前記第1の学習条件とは異なり、BN層を追加し、前記BN層にL1正則化を導入する、請求項1記載の学習装置。
【請求項8】
前記第1の機械学習モデル、前記
学習済みの第2の機械学習モデル及び/又は
学習済みの第3の機械学習モデルの構造を表示する表示部を更に備える、請求項1記載の学習装置。
【請求項9】
前記第1の機械学習モデル、前記
学習済みの第2の機械学習モデル及び/又は
学習済みの第3の機械学習モデルのモデルサイズを表示する表示部を更に備える、請求項1記載の学習装置。
【請求項10】
前記第1の機械学習モデル、前記
学習済みの第2の機械学習モデル及び/又は
学習済みの第3の機械学習モデルの性能を表示する表示部を更に備える、請求項1記載の学習装置。
【請求項11】
前記複数の
学習済みの第2の機械学習モデルの推論精度及びモデルサイズを表す複数の点をプロットしたグラフを表示する表示部を更に備える、請求項3記載の学習装置。
【請求項12】
前記表示部は、前記グラフにおいて、前記基準値と前記最良値とに対応する点及び/又は前記基準値と前記最良値とを満たす領域を表示する、請求項11記載の学習装置。
【請求項13】
前記表示部は、前記複数の点のうちの前記領域に含まれる点と前記領域に含まれない点とを異なる色で表示する、請求項12記載の学習装置。
【請求項14】
前記表示部は、前記グラフにおいて、
学習済みの第3の機械学習モデルの推論精度及びモデルサイズを表す点をプロットする、請求項11記載の学習装置。
【請求項15】
前記表示部は、前記複数の
学習済みの第2の機械学習モデルにそれぞれ対応する複数の点と、前記
学習済みの第3の機械学習モデルに対応する点とを異なる形状、大きさ及び/又は色で表示する、請求項14記載の学習装置。
【請求項16】
プロセッサが、
記憶装置に記憶されたプログラムを前記記憶装置から読み出して実行することにより、
第1の学習条件と前記第1の学習条件に従い学習された第1の機械学習モデルとを取得し、
前記第1の学習条件とは異なり、前記第1の機械学習モデルのモデルサイズを縮小化するための第2の学習条件を設定し、
前記第2の学習条件に従い、前記第1の機械学習モデルに基づいて、前記第1の機械学習モデルに比してモデルサイズの小さい第2の機械学習モデルを学習し、
前記第2の学習条件と同一ではなく且つ前記第1の学習条件に応じた第3の学習条件に従い、
学習済みの第2の機械学習モデルに基づいて、第3の機械学習モデルを学習する、
ことを具備する学習方法。
【請求項17】
コンピュータに、
第1の学習条件と前記第1の学習条件に従い学習された第1の機械学習モデルとを取得させる機能と、
前記第1の学習条件とは異なり、前記第1の機械学習モデルのモデルサイズを縮小化するための第2の学習条件を設定させる機能と、
前記第2の学習条件に従い、前記第1の機械学習モデルに基づいて、前記第1の機械学習モデルに比してモデルサイズの小さい第2の機械学習モデルを学習させる機能と、
前記第2の学習条件と同一ではなく且つ前記第1の学習条件に応じた第3の学習条件に従い、
学習済みの第2の機械学習モデルに基づいて、第3の機械学習モデルを学習させる機能と、
を実現させる学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、学習装置、方法及びプログラムに関する。
【背景技術】
【0002】
特許文献1に記載の技術は、複数の学習条件で学習したニューラルネットワークの推論精度とモデルサイズとをグラフで表示することにより、推論精度とモデルサイズとのトレードオフの確認を容易にする。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に係る技術では、推論精度とモデルサイズのトレードオフにより、所望の性能(推論精度A以上かつモデルサイズB以下など)を満たさない場合がある。その場合、さらに学習条件を調整して再学習を実行するには高い専門スキルや経験が必要であり、また、そのための確認や操作の作業は煩雑である。
【0005】
本発明が解決しようとする課題は、機械学習モデルに関する所望の性能を簡易に得ることが可能な学習装置、方法及びプログラムを提供することである。
【課題を解決するための手段】
【0006】
実施形態に係る学習装置は、取得部、設定部、学習部及び再学習部を有する。取得部は、第1の学習条件と前記第1の学習条件に従い学習された第1の機械学習モデルとを取得する。設定部は、前記第1の学習条件とは異なり、前記第1の機械学習モデルのモデルサイズを縮小化するための第2の学習条件を設定する。学習部は、前記第2の学習条件に従い、前記第1の機械学習モデルに基づいて、前記第1の機械学習モデルに比してモデルサイズの小さい第2の機械学習モデルを学習する。再学習部は、前記第2の学習条件と同一ではなく且つ前記第1の学習条件に応じた第3の学習条件に従い、前記第2の機械学習モデルに基づいて、第3の機械学習モデルを学習する。
【図面の簡単な説明】
【0007】
【
図2】本実施形態に係る学習装置による学習処理例の流れを示す図
【
図3】第1の機械学習モデルの構成例を模式的に示す図
【
図4】コンパクト化前後の第2の機械学習モデルを模式的に示す図
【
図5】
図2のステップS4において再学習が不要であると判定されたときの学習結果の表示画面の一例を示す図
【
図6】
図2のステップS4において再学習が必要であると判定されたときの学習結果の表示画面の一例を示す図
【
図7】機械学習モデルの構造の表示画面の一例を示す図
【発明を実施するための形態】
【0008】
以下、図面を参照しながら本実施形態に係わる学習装置、方法及びプログラムを説明する。
【0009】
図1は、本実施形態に係る学習装置100の構成例を示す図である。
図1に示すように、学習装置100は、処理回路1、記憶装置2、入力機器3、通信機器4及び表示機器5を有するコンピュータである。処理回路1、記憶装置2、入力機器3、通信機器4及び表示機器5間のデータ通信はバスを介して行われる。
【0010】
処理回路1は、CPU(Central Processing Unit)等のプロセッサとRAM(Random Access Memory)等のメモリとを有する。処理回路1は、取得部11、設定部12、学習部13、判定部14、再学習部15及び表示制御部16を有する。処理回路1は、機械学習モデルの学習プログラムを実行することにより、上記各部11~16の各機能を実現する。学習プログラムは、記憶装置2等の非一時的コンピュータ読み取り可能な記録媒体に記憶されている。学習プログラムは、上記各部11~16の全ての機能を記述する単一のプログラムとして実装されてもよいし、幾つかの機能単位に分割された複数のモジュールとして実装されてもよい。また、上記各部11~16は特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等の集積回路により実装されてもよい。この場合、単一の集積回路に実装されても良いし、複数の集積回路に個別に実装されてもよい。
【0011】
取得部11は、種々のデータを取得する。例えば、取得部11は、第1の学習条件と第1の機械学習モデルとを取得する。第1の学習条件は、第1の機械学習モデルに関する学習条件であり、推論の精度を重視した学習条件であるとする。第1の機械学習モデルは、第1の学習条件に従い学習された機械学習モデルである。機械学習モデルとしては、ニューラルネットワークが用いられる。また、取得部11は、学習データや第1の推論精度を取得する。学習データは、第1の機械学習モデルの学習に使用した学習データである。第1の推論精度は、第1の機械学習モデルの推論の精度を表す値である。
【0012】
設定部12は、第1の学習条件とは異なる学習条件であって、第1の機械学習モデルのモデルサイズを縮小化(コンパクト化)するための第2の学習条件を設定する。設定部12は、第1の学習条件に基づいて第2の学習条件を設定してもよいし、第1の学習条件とは独立して第2の学習条件を設定してもよい。
【0013】
学習部13は、第2の学習条件に従い、第1の機械学習モデルに基づいて、第1の機械学習モデルに比してモデルサイズの小さい第2の機械学習モデルを学習する。また、学習部13は、第2の機械学習モデルに関する推論の精度を表す第2の推論精度を算出する。
【0014】
判定部14は、第1の機械学習モデルに関する推論の精度を表す第1の推論精度と第2の機械学習モデルに関する推論の精度を表す第2の推論精度との比較に基づいて、第3の機械学習モデルの学習の要否を判定する。
【0015】
再学習部15は、第2の学習条件と同一ではなく且つ第1の学習条件に応じた第3の学習条件に従い、第2の機械学習モデルに基づいて、第3の機械学習モデルを学習する。また、再学習部15は、学習済みの第3の機械学習モデルに関する推論の精度を表す第3の推論精度を算出する。第3の学習条件は、第2の学習条件よりも推論の精度を重視した学習条件である。第3の機械学習モデルは、第2の機械学習モデルと同一又は第2の機械学習モデルを変形したモデル構造を有する。一例として、第3の機械学習モデルは、第1の学習条件と同一の第3の学習条件に従い学習され、第2の機械学習モデルに比して推論の精度が高い。
【0016】
表示制御部16は、学習結果等の種々の情報を表示機器5に表示する。一例として、表示制御部16は、第1の機械学習モデル、第2の機械学習モデル及び/又は第3の機械学習モデルの構造を表示する。他の例として、表示制御部16は、第1の機械学習モデル、第2の機械学習モデル及び/又は第3の機械学習モデルのモデルサイズを表示する。他の例として、表示制御部16は、第1の機械学習モデル、第2の機械学習モデル及び/又は第3の機械学習モデルの性能を表示する。
【0017】
記憶装置2は、ROM(Read Only Memory)やHDD(Hard Disk Drive)、SSD(Solid State Drive)、集積回路記憶装置等により構成される。記憶装置2は、学習プログラムや種々のデータ等を記憶する。
【0018】
入力機器3は、操作者からの各種指令を入力する。入力機器3としては、キーボードやマウス、各種スイッチ、タッチパッド、タッチパネルディスプレイ等が利用可能である。入力機器3からの出力信号は処理回路1に供給される。なお、入力機器3としては、処理回路1に有線又は無線を介して接続されたコンピュータの入力機器であってもよい。
【0019】
通信機器4は、学習装置100にネットワークを介して接続された外部機器との間でデータ通信を行うためのインタフェースである。
【0020】
表示機器5は、表示制御部16による制御に従い、種々の情報を表示する。表示機器5としては、CRT(Cathode-Ray Tube)ディスプレイや液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、LED(Light-Emitting Diode)ディスプレイ、プラズマディスプレイ又は当技術分野で知られている他の任意のディスプレイが適宜利用可能である。また、表示機器5は、プロジェクタでもよい。
【0021】
以下、学習装置100の動作例について具体的に説明する。
【0022】
以下の実施例において、学習データを画像とし、機械学習モデルは、画像に描画された対象に応じて画像を分類する画像分類タスクを実行するニューラルネットワークであるとする。以下の実施例に係る画像分類タスクは、一例として、「犬」又は「猫」の何れかに分類する2クラスの画像分類であるとする。
【0023】
図2は、本実施形態に係る学習装置100による学習処理例の流れを示す図である。処理回路1は、記憶装置2から学習プログラムを読み出して当該学習プログラムに従い動作することにより
図2に例示する学習処理を実行する。当該学習処理は、所望の性能を簡易に得ることが可能な機械学習モデルの学習処理である。
【0024】
本実施例において機械学習モデルは、モデル構造と学習パラメータとを含むものとする。モデル構造は、ニューラルネットワークの種類や層数、ノード数、チャネル数等のハイパーパラメータにより決定される因子である。ノードはニューラルネットワークが多層パーセプトロン(MLP:Multilayer Perceptron)であるときに観念され、チャネルはニューラルネットワークが畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)であるときに観念される。本実施形態に係るニューラルネットワークは何れの構造にも適用可能であるが、以下、多層パーセプトロンであるとする。学習パラメータは、機械学習モデルに設定されるパラメータであり、特に、学習の対象であるパラメータである。具体的には、学習パラメータは、重みパラメータやバイアス等のパラメータである。
【0025】
本実施形態に係る機械学習モデルの性能は、推論精度とモデルサイズとの組合せにより規定されるものとする。推論精度は、上記の通り、機械学習モデルの推論の精度であり、機械学習モデルのタスクが画像分類である場合、例えば、認識率が用いられる。モデルサイズは、機械学習モデルのサイズや計算負荷に関する指標である。モデルサイズの因子としては、学習パラメータの個数や隠れ層の層数、隠れ層のノード数又はチャネル数、推論乗算数、消費電力等がある。
【0026】
図2に示すように、まず取得部11は、学習データ、第1の機械学習モデル、第1の学習条件及び第1の推論精度を取得する(ステップS1)。取得部11は、これらデータを、他のコンピュータから通信機器4を介して取得してもよいし、記憶装置2から取得してもよい。
【0027】
学習データは、機械学習モデルの学習に用いるデータであり、複数の学習サンプルを有する。各学習サンプルは、入力画像xiと当該入力画像xiに対応する教示ラベルtiとを有する。「i」は、1、2、・・・、Nの値をとり、学習サンプルの通し番号を表す。「N」は、学習サンプルの個数を表す。入力画像xiは、横幅H、縦幅Vの画素集合であり、H×V次元のベクトルで表すことが可能である。教示ラベルtiは、クラス数に対応する次元数のベクトルである。本実施例において教示ラベルtiは、クラス「犬」に対応する要素とクラス「猫」に対応する要素とを有する2次元ベクトルである。各要素は、入力画像xiに当該要素に対応する対象が描画されている場合、「1」をとり、それ以外の対象が描画されている場合、「0」をとる。例えば、入力画像xiに「犬」が描画されている場合、教示ラベルtiは(1,0)Tで表される。
【0028】
本実施形態に係る機械学習モデルは、モデル構造と学習パラメータとにより規定されるものとする。モデル構造は、ニューラルネットワークの種類や層の種類、層間の接続関係、層数、ノード数等のハイパーパラメータにより決定される因子である。学習パラメータは、学習の対象であり、重みパラメータやバイアス等のパラメータである。
【0029】
第1の機械学習モデルは、コンパクト化前の機械学習モデルである。第1の機械学習モデルは、学習装置100や他のコンピュータにより学習済みの機械学習モデルである。
【0030】
図3は、第1の機械学習モデル30の構成例を模式的に示す図である。
図3に示すように、第1の機械学習モデル30は、第1のモデル構造31と第1の学習パラメータ32とにより構成される。第1のモデル構造31は、入力層33、隠れ層34及び出力層35を有する。入力層33は、
H=2、
V=2の4次元ベクトルの入力画像を入力する。隠れ層34は、ノード数=8、層数=3の全結合であるとする。出力層35は、犬と猫各々の推定確率値を出力する。第1の学習パラメータ32は、層間の変換に係る重みパラメータとバイアスとを有する。
図3では簡単化のためにバイアスに関する表記は省略している。重みパラメータは、行列W={W
(l)}(l=1,2,3,4=L)で表される。本実施例の場合、各行列W
(l)のサイズ(重みパラメータの個数)は32、64、64、16であり、重みパラメータの合計数は176となる。
図3では各重みパラメータを白い四角で表している。
【0031】
第1の学習条件は、コンパクト化前の機械学習モデルのための学習条件であり、推論精度を重視した学習条件である。学習条件としては、一例として、活性化関数の種類やオプティマイザ(最適化手法)の種類、L2正則化強度、エポック数、ミニバッチサイズが設定される。第1の学習条件は、一例として、活性化関数の種類「Leaky ReLU」、オプティマイザの種類「Momentum SGD(学習率α=0.1)」、L2正則化強度「λ=0」、エポック数「100」、ミニバッチサイズ「128」に設定されているものとする。なお、学習条件の種類は上記種類に限定されない。
【0032】
第1の推論精度は、第1の機械学習モデルを第1の学習条件に従い訓練して得られた学習済みの第1の機械学習モデルの推論精度を意味する。本実施例では、学習データとは異なる評価用データで、学習済みの第1の機械学習モデルにより推論したときの認識率である。一例として、第1の推論精度は95%であるとする。
【0033】
ステップS1が行われると設定部12は、第2の学習条件を設定する(ステップS2)。第2の学習条件は、第1の学習条件とは異なり、コンパクト化学習のための学習条件である。設定部12は、第2の学習条件として、第1の学習条件から、オプティマイザの種類、正則化の種類及び正則化の強度の少なくとも一方を変更する。本実施例では、コンパクト化学習手法として、米国特許出願公開第US2020/0012945号明細書に記載の技術を用いる。当該技術では、オプティマイザをAdam、活性化関数をReLUのような飽和非線形関数とし、Weight decayありで学習することで自動的に一部のノードにつながる重みパラメータがゼロとなるように学習され、結果、ニューラルネットワークのモデルサイズを小さくすることができる。
【0034】
本実施例に係る設定部12は、第1の学習条件から、コンパクト化手法を適用するために必要な項目を変更して第2の学習条件を設定する。第2の学習条件の具体的な設定内容は以下の通りである。活性化関数の種類「ReLU」、オプティマイザの種類「Adam(学習率α=0.01)」、L2正則化強度「λ(Weight decay)=1e-6,1e-5,1e-4,1e-3,1e-2」、エポック数「100」、ミニバッチサイズ「128」に設定されているものとする。Weight decayの強度は、推論精度(認識率)とモデルサイズとのトレードオフを調整するハイパーパラメータであり、本実施例では上述の5バリエーションを第2の学習条件として設定する。計算機リソースが潤沢にある場合、ミニバッチにおける学習サンプルを、複数個の乱数シードに基づいて選択してもよい。
【0035】
ステップS2が行われると学習部13は、第2の機械学習モデルを学習する(ステップS3)。ステップS3において学習部13は、ステップS2において設定された第2の学習条件に従い、ステップS1において取得された学習データに基づいて、ステップS1において取得された第1の機械学習モデルのモデル構造に割り当てられた学習パラメータを訓練(反復的に学習)する。訓練済みの学習パラメータを第2の学習パラメータと呼ぶ。第2の学習パラメータが割り当てられた機械学習モデルを第2の機械学習モデルと呼ぶ。より詳細には、第2の機械学習モデルのモデル構造(第2のモデル構造)は、第2の学習パラメータの値に応じて第1のモデル構造を最適化(コンパクト化)したモデル構造である。更に学習部13は、第2の機械学習モデルに評価用データを適用して第2の推論精度を算出する。
【0036】
ステップS3においては、1個以上の第2の学習条件に従い1個以上の第2の機械学習モデルが学習される。本実施例の場合、複数個の第2の学習条件に従い複数個の第2の機械学習モデルが学習されるものとする。
【0037】
機械学習モデルの学習は、下記(1)式及び(2)式で表される。
【0038】
yi=f(W, xi) ・・・(1)
Li=-tiTln(yi) ・・・(2)
【0039】
式(1)は、学習サンプルxiを入力としたときの機械学習モデルの出力yiを表す。ここで、fは、パラメータ集合Wを保持する機械学習モデルの関数であり、全結合層と活性化関数との演算を繰り返し、2次元ベクトルを出力する。なお、本実施例では、関数fはソフトマックス処理後の出力とし、出力ベクトルは全て非負の要素かつ、要素の総和が1に正規化されているものとする。式(2)は、学習サンプルxiの学習誤差Liの計算式を表す。本実施例に係る学習誤差Liは、教示ラベルtiと機械学習モデルの出力yiとのクロスエントロピーにより規定される。
【0040】
本実施例に係る学習部13は、一部の学習サンプル集合の学習誤差の平均で算出される学習誤差を最小化するように、誤差逆伝播法と確率的勾配降下法とを繰り返し、機械学習モデルのパラメータ集合Wの値を訓練する。ステップS3において学習部13は、学習誤差を最小化するように、誤差逆伝播法と確率的勾配降下法とを繰り返し、第2の学習パラメータを訓練する。学習部13は、訓練済みの第2の学習パラメータに従い第1のモデル構造(コンパクト化前の第2のモデル構造)をコンパクト化して第2のモデル構造(コンパクト化後の第2のモデル構造)を算出する。
【0041】
図4は、コンパクト化前後の第2の機械学習モデル411,421を模式的に示す図である。
図4の左図は、コンパクト化前の第2の機械学習モデル411を示し、
図4の右図は、コンパクト化後の第2の機械学習モデル421を示す。コンパクト化前の第2の機械学習モデル411は、コンパクト化前の第2のモデル構造412及び学習パラメータ413を有する。第2のモデル構造412は、第1の機械学習モデルのモデル構造(第1のモデル構造)に等しいものとする。
図4において第2の学習パラメータ413は、
図3と同様、重みパラメータを有するパラメータ集合W={W
(l)}(l=1,2,3,4=L)のみを図示している。第2の学習条件で学習が行われた場合、
図4の左図に示すように、一部のノードに接続する重みパラメータは、微小な閾値以下に収束することとなる。この微小な閾値は、例えば、1e-6に設定される。なお、
図4において、第2の重みパラメータを表す四角のうち白い四角は閾値以上の値を有する重みパラメータを表し、グレーの四角は閾値以下の値を有する重みパラメータを表す。
【0042】
学習部13は、学習済みの重みパラメータの値に応じて第2のモデル構造412をコンパクト化する。コンパクト化は米国特許出願公開第US2020/0012945号明細書に記載の技術により実行される。例えば、学習部13は、コンパクト化前の第2のモデル構造412に含まれるノードの中から、閾値以下の重みパラメータに接続するノード45を削除し、閾値以上の重みパラメータに接続するノード46を残す。これによりコンパクト化後の第2のモデル構造422が生成される。コンパクト化後の第2の学習パラメータ423の重みパラメータは全て閾値以上の値を有することとなる。コンパクト化後の第2の学習パラメータ423が割り当てられた第2のモデル構造422は、コンパクト化後の第2の機械学習モデル421を構成する。
【0043】
第2の機械学習モデル421は、第1の機械学習モデルと等価の計算をするコンパクト化された機械学習モデルである。第2の学習条件のWeight decayの強度が大きいほど第2のモデル構造422は、第1のモデル構造に比して、モデルサイズが小さく、推論精度が低下(認識率が下がる)する傾向にある。
【0044】
ステップS3が行われると判定部14は、再学習を行うか否かを判定する(ステップS4)。ステップS4において判定部14は、第1の推論精度と第2の推論精度との比較に基づいて再学習を行うか否かを判定する。一例として、ステップS3において複数個の第2の機械学習モデルが学習された場合、判定部14は、所定のモデルサイズ(以下、サイズ基準値)以下となる複数個の第2の推論精度のうちの最良値と、第1の推論精度に基づく基準値(以下、精度基準値)との比較に基づいて再学習を行うか否かを判定する。換言すれば、判定部14は、第2の推論精度が、サイズ基準値と精度基準値とに基づく判断基準に応じて、再学習の要否を判定する。サイズ基準値と精度基準値とは、機械学習モデルを搭載する計算機のスペックや性能の要求仕様に基づいて定められる。より詳細には、サイズ基準値は、第1の機械学習モデルのモデルサイズを基準に設定され、典型的には、第1の機械学習モデルのモデルサイズよりも低く且つ需要者が妥協する最大限の値に設定されるとよい。あるいは、サイズ基準値は、第1の機械学習モデルのモデルサイズに対する所定の比率又は当該モデルサイズを所定値で減算した値に設定されてもよい。同様に、精度基準値は、第1の推論精度を基準に設定され、典型的には、第1の推論精度よりも低く且つ需要者の満足する最低限の値に設定されるとよい。あるいは、精度基準値は、第1の推論精度に対する所定の比率又は第1の推論精度を所定値で減算した値に設定されてもよい。
【0045】
具体的には、L2正則化強度λ(Weight decay)={1e-6,1e-5,1e-4,1e-3,1e-2}に対応するコンパクト化後の第2のモデル構造のパラメータ数が{122,110,100,82,58}であり、第2の推論精度が{90%,88%,87%,80%,60%}であったとする。また、サイズ基準値が100、精度基準値が85%であるとする。
【0046】
この場合、第2のモデル構造のパラメータ数が100以下となる第2の機械学習モデルの推論精度は、{87%,80%,60%}である。そのうちの最良値は、最も数値が高い87%である。最良値=87%は精度基準値=85%よりも大きい(優れる)ため、判断基準が充足される。そのため再学習を行わないと判定される(ステップS4:NO)。
【0047】
他の例として、サイズ基準値が80、精度基準値が85%とする。この場合、上述の判断基準により、再学習を行うと判定される(ステップS4:YES)。なお、上記例においては、サイズ基準値以下となる複数個の第2の推論精度のうちの最良値と、精度基準値との比較に基づいて再学習を行うか否かを判定するものとした。しかしながら、本実施形態はこれに限定されない。例えば、単純に、第1の推論精度と最良値との差分値と、閾値との大小関係に基づいて再学習を行うか否かを判定してもよい。
【0048】
再学習を行うと判定された場合(ステップS4:YES)、再学習部15は、第3の機械学習モデルを学習する(ステップS5)。ステップS5において再学習部15は、第3の学習条件、第3のモデル構造及び第3の学習条件に基づいて第3の機械学習モデルを学習する。
【0049】
ステップS5において再学習部15は、第3の機械学習モデルのモデル構造(第3のモデル構造)を、第2の機械学習モデルのモデル構造(第2のモデル構造)に基づいて設定する。より詳細には、再学習部15は、第3のモデル構造も、第2のモデル構造のノード数、チャネル数、層数、カーネルサイズ及び/又は入力解像度の線形変換、又は、第2のモデル構造のノード数、チャネル数、層数、カーネルサイズ及び/又は入力解像度の所定の自然数の倍数又は乗数の端数処理、に従い設定する。例えば、参考技術1(Ariel Gordon et al., " MorphNet: Fast & Simple Resource-Constrained Structure Learning of Deep Networks", in CVPR2018)に従い、サイズ基準値以下の範囲で第2のモデル構造を変形したモデル構造を第3のモデル構造として用いる。ここで「変形」とは、サイズ基準値以下の第2のモデル構造のノード数やチャネル数等を微少量だけ増減させることを指す。また、サイズ基準値よりも微少量だけ大きいモデルサイズを有する第2のモデル構造に等しい又は変形したモデル構造を、第3のモデル構造として用いてもよい。なお、第3のモデル構造は、コンパクト化後の第2のモデル構造と同一でもよい。
【0050】
ステップS5において再学習部15は、第3の学習条件を、第1の学習条件に基づいて算出する。第1の学習条件は、コンパクト化前に検討した有効な学習条件であり、コンパクト化のために変更した第2の学習条件よりも性能面では優れている可能性が高い。そのため、第3の学習条件は、第2の学習条件とは同一でなく、且つ第1の学習条件と同一に設定されるとよい。より高度な設定としては、例えば、モデルサイズの削減量(削減割合)に応じたテーブルや計算式を用いて、第1の学習条件の学習率やエポック数を減らした学習条件を第3の学習条件に設定してもよい。
【0051】
ステップS5において再学習部15は、上記の通り設定された第3の学習条件に従い、ステップS1において取得された学習データに基づいて、第3の機械学習モデルのモデル構造に割り当てられた第3の学習パラメータを訓練(反復的に学習)し、学習済みの第3の機械学習モデルを生成する。第3の機械学習モデルの学習は、ファイン(Fine)学習又はスクラッチ(Scratch)学習で行われるとよい。ファイン学習は、学習済みの第2の機械学習モデルの学習パラメータの一部又は全部を初期値として、全ての学習パラメータを訓練し直す方法である。スクラッチ学習は、所定の乱数で初期化した学習パラメータを初期値として、全ての学習パラメータを訓練し直す方法である。ファイン学習とスクラッチ学習とを混合した方法により学習パラメータの初期値が設定されてもよい。これら初期値の設定方法に応じて、第3の学習条件のうち、特に学習率を変更してもよい。再学習後、再学習部15は、学習済みの第3の機械学習モデルに評価用データを適用して第3の推論精度を算出する。
【0052】
ステップS4において再学習が不要であると判定された場合(ステップS4:NO)又はステップS5が行われた場合、表示制御部16は、学習結果を表示する(ステップS6)。学習結果としては、各機械学習モデルのモデル構造やモデルサイズ、推論精度を含む。学習結果は、所定のレイアウトで表示機器5に表示される。
【0053】
図5は、ステップS4において再学習が不要であると判定されたときの学習結果の表示画面I1の一例を示す図である。
図5に示すように、表示画面I1には、学習結果として、縦軸が認識率[%]で表され、横軸がパラメータ数で表されたグラフI11が表示される。なお、認識率は推論精度の一例であり、パラメータ数はモデルサイズの一例である。グラフI11には、ステップS3において学習された複数の第2の機械学習モデルにそれぞれ対応する複数の点がプロットされている。また、グラフI11には、第1の機械学習モデルに対応する点もプロットされるとよい。各点は、各機械学習モデルの推論精度及びモデルサイズを表している。第2の機械学習モデルに対応する点と、第1の機械学習モデルに対応する点とは、異なる形状、大きさ及び/又は色で表示されるとよい。例えば、
図5において第2の機械学習モデルに対応する5個の点は黒丸で描かれ、第1の機械学習モデルに対応する点は×印で描かれている。また、当該点に交差するように第1の機械学習モデルの推論精度を示す太線とモデルサイズを示す太線とがグラフI11に重畳される。このように第1の機械学習モデル及び第2の機械学習モデルの推論精度及びモデルサイズをグラフで表示することにより、これらの関係性を視覚的に明瞭に把握することができ、ひいては、所望の推論精度及びモデルサイズを有する機械学習モデルを容易に特定することが可能になる。
【0054】
グラフI11には、ステップS4における再学習の判断基準R0に対応する点が表示される。当該点は
図5において三角で表示されている。
図5においては、判断基準R0は、上述の例と同様、サイズ基準値=100且つ認識率=85%である。また、グラフI11には、当該判断基準R0を満たす領域I12が赤色等で視覚的に強調して表示されるとよい。第2の機械学習モデルに対応する複数の点のうち領域I12に含まれる点、すなわち、再学習の判断基準を満たす点は、満たさない点とは、異なる形状、大きさ及び/又は色で表示されるとよい。一例として、領域I12に含まれる点は赤色で表示され、領域I12に含まれない点は黒色で表示されるとよい。このように判断基準に対応する点や判断基準を満たす領域をグラフI11に表示することにより、各機械学習モデルが判断基準を満たしているか否かを視覚的に容易に判断することが可能になる。
【0055】
図5に示すように、各機械学習モデルに対応する点について、当該点に対応する機械学習モデルの推論精度及びモデルサイズを記述する数値が当該点に視覚的に関連付けて表示されるとよい。第2の機械学習モデルR2に対応する点については、判断基準R0を満たす点に限定して推論精度とパラメータ数との数値が表示されてもよい。例えば、
図5に示すように、領域I12に含まれる第2の機械学習モデルR2の点に関連付けて「R2:87%,100
params」が表示される。もちろん、第2の機械学習モデルR2に対応する全ての点について数値が表示されてもよいし、入力機器3等を介して指定された点のみについて数値が表示されてもよい。また、判断基準R0に対応する点に関連付けて「R0:85%,100
params」が表示され、第1の機械学習モデルR1に対応する点に関連付けて「R1:95%,176
params」が表示されてもよい。
【0056】
図6は、ステップS4において再学習が必要であると判定されたときの学習結果の表示画面I2の一例を示す図である。
図6に示すように、表示画面I2には、学習結果として、
図5と同様、縦軸が認識率[%]で表され、横軸がパラメータ数で表されたグラフI21が表示される。グラフI21には、ステップS3において学習された複数の第2の機械学習モデルR2にそれぞれ対応する複数の点、第1の機械学習モデルR1に対応する点、更に第3の機械学習モデルR3に対応する点がプロットされている。各点は、各機械学習モデルの推論精度及びモデルサイズを表している。また、グラフI21には、グラフI11と同様、判断基準R0に対応する点及び判断基準を満たす領域I22が表示される。第2の機械学習モデルR2に対応する点と第1の機械学習モデルR1に対応する点と第3の機械学習モデルR3に対応する点とは、異なる形状、大きさ及び/又は色で表示されるとよい。このように第1の機械学習モデル、第2の機械学習モデルR2及び第3の機械学習モデルR3の推論精度及びモデルサイズをグラフで表示することにより、これらの関係性を視覚的に明瞭に把握することができ、ひいては、所望の推論精度及びモデルサイズを有する機械学習モデルを容易に特定することが可能になる。例えば、
図6によれば、再学習により、第2の機械学習モデルR2の最良値に比して、第3の機械学習モデルR3の推論精度(認識率)が向上していること、更には向上の程度を容易に把握することが可能になる。
【0057】
図6に示すように、第2の機械学習モデルR2に対応する複数の点のうちの、モデルサイズの基準を満たし且つ推論精度が最良値をとる点が青色等で視覚的に強調されるとよい。
図5と同様、各機械学習モデルに対応する各点について、当該点に対応する機械学習モデルの推論精度及びモデルサイズを記述する数値が、当該点に視覚的に関連付けて表示されるとよい。この際、推論精度及びモデルサイズを記述する数値は、判断基準R0を満たしたものと満たさないものとで視覚的に区別して表示するとよい。例えば、判断基準R0を満たした推論精度及びモデルサイズを表す数値を赤色で表示し、満たさない数値を青色で表示するとよい。
【0058】
表示制御部16は、第1の機械学習モデル、第2の機械学習モデル及び/又は第3の機械学習モデルの構造を表示機器5に表示してもよい。一例として、表示制御部16は、
図5や
図6においてグラフI11,I21に表示されている第1の機械学習モデル、第2の機械学習モデル及び/又は第3の機械学習モデルに対応する点が入力機器3を介して指定された場合、指定された点に対応する機械学習モデルの構造を表示する。
【0059】
図7は、機械学習モデルの構造の表示画面I3の一例を示す図である。
図7に示すように、第2の機械学習モデルR2に対応する点が入力機器3を介して指定された場合、表示制御部16は、第2の機械学習モデルR2の構造を表示する。具体的には、第2の機械学習モデルに対応する点が入力機器3を介して指定された場合、表示制御部16は、表示ウィンドウI31を表示する。表示ウィンドウI31は、指定された第2の機械学習モデルR2のモデル構造の模式
図I32と重みパラメータの模式
図I33とを表示する。模式
図I32には、第2の機械学習モデルR2の層数とノード数とを視認可能なように、各層と当該各層に含まれるノードとが描画されている。模式
図I33には、層間のパラメータ集合W’
(l)の重みパラメータの個数を視認可能なように、重みパラメータを表す四角が描画されている。コンパクト化前の重みパラメータの要素数を表す点線等が描画されてもよい。
【0060】
操作者は、
図5~
図7等に例示する学習結果を確認し、所望の性能を有する第2の機械学習モデル又は第3の機械学習モデルを選択する。例えば、再学習が不要であると判定された場合、判断基準を満たす第2の機械学習モデルが選択され、再学習が実施された場合、第3の機械学習モデルが選択されることとなる。選択された第2の機械学習モデル又は第3の機械学習モデルは、記憶装置2や可搬型の記録媒体に保存されたり、通信機器4を介して需要者のコンピュータに転送されたりするとよい。
【0061】
ステップS6が行われると
図2に例示する学習処理が終了する。
【0062】
上記の学習処理によれば、コンパクト化前後の性能を比較し、自動的に再学習の要否が判定される。コンパクト化後に性能が低下しておらず判定基準を満たす場合、コンパクト化により生成された第2の機械学習モデルが採用され、性能が判定基準に達していない場合、再学習を実施し、再学習により生成された第3の機械学習モデルが採用されることとなる。このような学習工程によれば、モデルサイズと推論精度とのバランスのとれた良好な性能を有する機械学習モデルを効率的に探索することが可能になる。
【0063】
なお、本実施形態は、上述した実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で変更することができる。
【0064】
(変形例1)
上記実施例において機械学習モデルのタスクは画像分類であるとした。しかしながら、本実施形態はこれに限定されない。一例として、本実施形態に係るタスクはセマンティックセグメンテーションや物体検出、生成モデル等にも適用可能である。また、機械学習モデルへの入力は画像データに限定されず、例えば、入力が文章データである場合、タスクは機械翻訳でもよい、他の例として、機械学習モデルの入力が音声データである場合、タスクは音声認識でもよい。
【0065】
(変形例2)
上記実施例において機械学習モデルのモデル構造は多層パーセプトロン(MLP)であるとした。しかしながら、本実施形態はこれに限定されない。本実施形態に係るモデル構造は、CNNやRNN(Recurrent Neural Network)、LSTM(Long Short-Term Memory)等の如何なるモデル構造にも適用可能である。
【0066】
(変形例3)
上記実施例において取得部11は、既に計算された第1の機械学習モデル及び第1の推論精度を、他のコンピュータ等から取得するものとした。しかしながら、本実施形態はこれに限定されない。一例として、処理回路1は、学習データ、第1の機械学習モデルのモデル構造及び第1の学習条件に基づいて第1の機械学習モデルを学習してもよい。この場合、処理回路1は、学習済みの第1の機械学習モデルに評価用データを適用して第1の推論精度を算出するとよい。
【0067】
(変形例4)
変形例4に係る設定部12は、第2の学習条件として、第1の学習条件とは異なり、最適化手法をAdamに設定し、L2正則化を導入し、活性化関数を飽和非線形関数に設定する。例えば、上記米国特許出願公開第US2020/0012945号明細書に記載の技術を用いてコンパクト化を実行する場合、活性化関数がReLU以外の飽和非線形関数に設定されるとよい。設定部12は、第2の学習条件に関する活性化関数を、第1の学習条件で定める活性化関数に挙動が最も近い飽和非線形関数をテーブル(LUT:Look Up Table)から選択してもよい。一例として、第1の学習条件に関する活性化関数がシグモイドである場合、第2の学習条件に関する活性化関数として、ハードシグモイドが選択されるとよい。
【0068】
上記米国特許出願公開第US2020/0012945号明細書に記載の技術以外の技術を用いてコンパクト化を実行する場合、設定部12は、第2の学習条件を、コンパクト化手法の特性に応じて設定するとよい。一例として、コンパクト化手法として参考技術2(Jianhui Yu et al., “Slimmable Neural Networks”, ICLR2019)では、バッチノーマライゼーション(BN:Batch Normalization)層にL1正則化を導入することで、学習後、不要な隠れ層のチャネルを枝刈りすることが可能である。この場合、設定部12は、第2の学習条件に関し、BN層を追加し、当該BN層にL1正則化を導入する。L1正則化強度は、複数個設定されるとよい。
【0069】
(変形例5)
上記実施例において再学習部15は、機械学習モデルの学習の効率化の観点から、サイズ基準値と精度基準値とに基づいて選択された1個の第2の機械学習モデルに対してのみ再学習を実行した。しかしながら、潤沢な計算機リソースを活用できる場合、再学習部15は、全ての第2の機械学習モデルに対して再学習を実行してもよい。この場合、複数の第3の機械学習モデルの中から、サイズ基準値と精度基準値とに基づき最終的な第3の機械学習モデルが選択されるとよい。変形例5においては、全ての第2の機械学習モデルに対して再学習が行われるので、判定部14は不要である。
【0070】
(変形例6)
上記
図2の実施例において表示制御部16は、ステップS4において再学習が行われないと判定された場合(ステップS4:NO)又はステップS5が行われた場合に、ステップS6において学習結果を表示するものとした。しかしながら、本実施形態はこれに限定されない。一例として、ステップS4の実行時において表示制御部16は、第1の推論精度、第2の推論精度、サイズ基準値及び精度基準値を表示してもよい。その後、再学習部15は、サイズ基準値及び精度基準値により規定される判断基準を修正し、その後の第3の機械学習モデルの学習及び第3の推論精度の算出(ステップS5)を実施し、表示制御部16は、学習結果を表示(ステップS6)してもよい。
【0071】
(付言)
上記の幾つかの実施例によれば、学習装置100は、取得部11、設定部12、学習部13及び再学習部15を有する。取得部11は、第1の学習条件と前記第1の学習条件に従い学習された第1の機械学習モデルとを取得する。設定部12は、第1の学習条件とは異なり、第1の機械学習モデルのモデルサイズを縮小化するための第2の学習条件を設定する。学習部13は、第2の学習条件に従い、第1の機械学習モデルに基づいて、第1の機械学習モデルに比してモデルサイズの小さい第2の機械学習モデルを学習する。再学習部15は、第2の学習条件と同一ではなく且つ第1の学習条件に応じた第3の学習条件に従い、第2の機械学習モデルに基づいて、第3の機械学習モデルを学習する。
【0072】
かくして、本実施形態によれば、機械学習モデルに関する所望の性能を簡易に得ることが可能になる。
【0073】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0074】
1…処理回路、2…記憶装置、3…入力機器、4…通信機器、5…表示機器、11…取得部、12…設定部、13…学習部、14…判定部、15…再学習部、16…表示制御部、100…学習装置。