Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7851810B2 - 学習装置、方法およびプログラム - Google Patents
[go: Go Back, main page]

JP7851810B2 - 学習装置、方法およびプログラム - Google Patents

学習装置、方法およびプログラム

Info

Publication number
JP7851810B2
JP7851810B2 JP2022114969A JP2022114969A JP7851810B2 JP 7851810 B2 JP7851810 B2 JP 7851810B2 JP 2022114969 A JP2022114969 A JP 2022114969A JP 2022114969 A JP2022114969 A JP 2022114969A JP 7851810 B2 JP7851810 B2 JP 7851810B2
Authority
JP
Japan
Prior art keywords
reconstruction
pruning
model
paths
unit
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.)
Active
Application number
JP2022114969A
Other languages
English (en)
Other versions
JP2024013057A (ja
Inventor
ムレー アルベール ロドリゲス
修平 新田
隆介 平井
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2022114969A priority Critical patent/JP7851810B2/ja
Priority to US18/174,343 priority patent/US20240028902A1/en
Publication of JP2024013057A publication Critical patent/JP2024013057A/ja
Application granted granted Critical
Publication of JP7851810B2 publication Critical patent/JP7851810B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Description

本発明の実施形態は、学習装置、方法およびプログラムに関する。
ニューラルネットワークのモデルサイズを小さくする手法として、プルーニングがある。プルーニングにより、ニューラルネットワークのパラメータ(重み係数またはチャネル)を削除することにより、推論精度を維持しつつ、ニューラルネットワークのモデルサイズを小さくできる。
しかし、プルーニングは、同じ学習条件で安定した処理結果を得られる場合は効率的に経路を最適化でき、モデルサイズを小さくできるが、学習が不安定な場合は、効率的にモデルサイズを小さくすることが難しい。例えば、隠れ層を含む複数の経路が結合したニューラルネットワークでは、学習が不安定になりがちであり、プルーニングも不安定な挙動を示す。よって、効率的にプルーニングを実行することが難しい。
特許第6951295号公報
本開示は、上述の課題を解決するためになされたものであり、効率的に経路を最適化できる学習装置、方法およびプログラムを提供することを目的とする。
本実施形態に係る学習装置は、学習部と、プルーニング部と、再構築部と、判定部とを含む。学習部は、複数の経路を有するニューラルネットワークモデルを訓練し、学習済みモデルを生成する。プルーニング部は、前記学習済みモデルに対してプルーニングを実行し、前記複数の経路それぞれの残りのパラメータ数を算出する。再構築部は、前記パラメータ数が閾値以下となる経路を削除した再構築候補モデルを生成する。判定部は、前記再構築候補モデルに含まれる経路がさらに削除可能であるか否かを判定する。前記判定部により前記経路がさらに削除可能であると判定された場合、前記再構築候補モデルに対し、前記学習部、前記プルーニング部および前記再構築部の各処理を実行する。
本実施形態に係る学習装置を示すブロック図。 本実施形態に係る学習装置の動作例を示すフローチャート。 再構築モデルのプルーニング過程の一例のうちの第1段階を示す図。 再構築モデルのプルーニング過程の一例のうちの第2段階を示す図。 再構築モデルのプルーニング過程の一例のうちの第3段階を示す図。 複数の再構築候補モデルに対する学習装置の動作例を示すフローチャート。 経路間の負の相関の一例を示すグラフ。 プルーニング結果の表示例を示す図。 学習装置のハードウェア構成の一例を示す図。
以下、図面を参照しながら本実施形態に係る学習装置、方法およびプログラムについて詳細に説明する。なお、以下の実施形態では、同一の参照符号を付した部分は同様の動作をおこなうものとして、重複する説明を適宜省略する。
(第1の実施形態)
第1の実施形態に係る学習装置について図1のブロック図を参照して説明する。
第1実施形態に係る学習装置10は、学習部101と、プルーニング部102と、再構築部103と、判定部104と、表示制御部105と、記憶部106とを含む。
学習部101は、訓練データおよび学習条件に基づいて、複数の経路を含むニューラルネットワークモデルを訓練し、学習済みモデルを生成する。複数の経路を含むニューラルネットワークモデルとは、入力層から出力層の間で複数の経路があるニューラルネットワークモデルである。例えば、複数のモジュールが組み合わせられ、途中で各モジュールからの出力が集約されるようなニューラルネットワークモデルである。また、ニューラルネットワークモデルは、複数の経路を有するアーキテクチャであれば、VGG16、ResNet、DenseNetなどの畳み込みニューラルネットワーク(CNN)、リカレントニューラルネットワーク(RNN)、トランスフォーマー、グラフニューラルネットワークなど、どのようなネットワークでもよい。
プルーニング部102は、学習済みモデルに対してプルーニングを実行し、複数の経路それぞれの残りのパラメータ数を算出する。パラメータ数は、重み係数の数およびチャネル数の少なくとも1つである。
再構築部103は、パラメータ数が閾値以下となる経路を削除した学習済みモデルである再構築候補モデルを生成する。また、再構築部103は、再構築候補モデルに含まれる経路のうち削除可能な経路が存在しない場合または所定の終了条件を満たす場合、再構築候補モデルをプルーニングが終了した再構築モデルとして選択する。
判定部104は、再構築候補モデルに含まれる経路がさらに削除可能であるか否かを判定する。判定部104はさらに、プルーニング履歴に基づいて、再学習が必要か否かを判定する。プルーニング履歴は、プルーニング部102により複数回プルーニングが実行された場合のプルーニング結果の履歴と、対応する再構築候補モデルの履歴とを対応付けたデータである。
表示制御部105は、プルーニング履歴をディスプレイなどの外部の表示装置に表示するように制御する。
記憶部106は、訓練データ、ニューラルネットワークモデル、プルーニング結果、再構築候補モデル、再構築モデルなどを記憶する。
次に、本実施形態に係る学習装置10の動作例について図2のフローチャートを参照して説明する。
なお、本実施形態では、訓練データを画像とし、犬か猫かのいずれかに分類する2クラスの画像分類タスクを実行するニューラルネットワークを学習する例を用いて説明する。なお、訓練データは画像に限らず、映像でもよいし、テキスト、音声、センシングデータなどの時系列データであってもよい。また、ニューラルネットワークにより推論するタスクは分類タスクに限らず、物体検出、セマンティックセグメンテーション、回帰、予測といった他のタスクであっても同様に適用できる。また、以下の実施形態では、プルーニング対象のパラメータとして、ニューラルネットワークモデルおよび再構築候補モデルのチャネル単位を想定して説明するが、ニューラルネットワークモデルおよび再構築候補モデルの重み係数単位でプルーニングしてもよいし、複数の経路を構成するモジュール単位でプルーニングするなど、どのような単位および手法でプルーニングを実行してもよい。
ステップSA1では、学習部101が、ニューラルネットワークモデルを訓練し、学習済みモデルを生成する。ニューラルネットワークモデルの訓練は、例えば正解データを含む訓練データを用いた教師あり学習を実行すればよい。具体的には、入力画像x (i=1,・・・,N)とする。Nは2以上の自然数である。上付き矢印は、ベクトル集合であることを示す。なお、iは訓練データの通し番号、訓練データの数を表す。入力画像x は、横幅W、縦幅Tの画素集合であり、W×T次元のベクトルとする。
また、教示ラベルt は、教示ラベルに該当する要素が1、それ以外の要素が0となる2次元ベクトルである。具体的には、入力画像x が犬の場合は(1,0)、猫の場合は(0,1)と表せばよい。なお( )は、列ベクトルを示す。
ニューラルネットワークモデルの訓練において、入力画像x を入力したときのニューラルネットワークモデルの出力y は、(1)式のように表せる。なお、出力y は、推定確率値であり、ここでは、入力画像
=f(Θ,x )・・・(1)
ここで、f(Θ, )は、パラメータ集合Θを保持するニューラルネットワークモデルの関数であり、2次元のベクトルを出力する。
学習誤差Lについては、(2)式の計算式を用いる場合を想定する。なお、lnは自然対数である。
=-t ln(y )・・・(2)
教示ラベルt と、ニューラルネットワークモデルの出力y iとのクロスエントロピーを用いて計算する。本実施形態では、学習誤差Lの加重平均に基づく損失関数Lが最小化されるように、誤差逆伝播法と確率的勾配降下法とによりニューラルネットワークモデルのパラメータ集合Θをミニバッチ学習で反復学習する。
学習条件は、本実施形態では、例えば最適化器(Optimizer)を「Adam(学習率:0.01)」、L2正則化強度λを「0.001」とし、エポック数を「100」とし、ミニバッチサイズを「64」として設定し、学習部101がニューラルネットワークモデルを訓練する。当該学習条件を用いた訓練方法により、ニューラルネットワークモデルおよび再構築候補モデルに含まれる隠れ層のチャネルで群スパース化が発生する。なお、ニューラルネットワークモデルおよび再構築候補モデルを再度学習する場合は、学習部101は、異なる学習率、異なる正則化強度とするなど、他の学習条件で学習してもよいし、複数の学習条件で学習し、性能の良いほうを採用するなどしてもよい。
反復学習の終了条件としては、例えば、学習誤差Lや、損失関数Lの出力の絶対値または減少値といった判定指標が閾値以下であるか否かを判定すればよい。判定指標が閾値以下であれば、学習部101(または判定部104)が、反復学習の終了条件を満たすと判定すればよい。または、学習部101が、反復回数が所定回数に到達したか否かを判定し、反復回数が所定回数に到達していれば、反復学習の終了条件を満たすと判定してもよい。反復学習が終了することにより、ニューラルネットワークモデルの学習が完了し、学習済みモデルが生成される。
なお、上述の例に限らず、どのような手法を用いてニューラルネットワークを学習してもよい。なお、学習誤差Lは、バイナリクロスエントロピーを用いて計算されてもよい。さらに、上述の犬か猫かの2値分類は、関数fの出力層にシグモイド関数を含むことを想定するが、3クラス以上に分類する多クラス分類問題の場合は、関数fの出力層にソフトマックス関数を用いてもよい。
ステップSA2では、プルーニング部102が、学習済みモデルに対してプルーニングを実行する。プルーニングは、例えば、各経路に含まれる隠れ層における各チャネルのL2ノルムを算出し、L2ノルムを有する経路のうちの所定の閾値(例えば、10-6)よりも大きいL2ノルムを有する各経路のチャネル数を示すプルーニング結果を算出する。なお、プルーニングの手法については、その他の一般的な方法を用いてもよい。
ステップSA3では、再構築部103が、ステップSA2で得られたプルーニング結果に基づき、学習済みモデルを再構築し、再構築候補モデルを生成する。例えば、隠れ層における残りのチャネル数が閾値以下(0でもよい)であるプルーニング結果が得られた経路が存在する場合、当該経路を削除し、残りの経路のみで学習済みモデルを再構築し、再構築候補モデルを生成すればよい。なお、隠れ層におけるチャネル数が閾値以下となる経路が存在しない場合は、プルーニング前の学習済みモデルと同じモデル構造となる。
ステップSA4では、記憶部106が、算出された各経路のプルーニング結果と、対応する再構築候補モデルとを対応付けてプルーニング履歴として格納する。なお、何回目のプルーニングであるかを示す実行回数と紐付けて記憶部106に記憶されてもよい。
ステップSA5では、判定部104が、再構築候補モデルの再学習を実行するか否かを判定する。例えば、再構築候補モデルに1つの経路しか存在しない場合は、再学習が不要であると判定する。一方、複数の経路が存在する場合は、再学習が必要であると判定する。また、判定部104は、複数の経路が存在する場合でも、再構築候補モデルに対するプルーニング結果が安定していれば、再学習が不要と判定してもよい。例えば、前回までに得られたプルーニング結果と今回新たに取得したプルーニング結果とを比較して、残りチャネル数の変動が閾値以内、例えばチャネル数の差分が閾値以内である場合、プルーニング結果が安定しているといえるため、判定部104は、再学習が不要と判定すればよい。
再学習が必要と判定された場合、ステップSA1に戻り、同様の処理を繰り返す。すなわち、再構築候補モデルに対して再学習が実行され、再学習後の再構築候補モデルに対してプルーニングが実行される。一方、再学習が不要と判定された場合、ステップSA6に進む。つまり、再構築候補モデルに含まれる経路が1つであるか、1以上の経路のプルーニング結果の変動が閾値未満となるまで再学習する。
ステップSA6では、判定部104が、最終的に、最適なプルーニングが実行された再構築候補モデル(以下、再構築モデル)を出力する。なお、再構築モデルは、記憶部106に記憶されてもよい。以上で学習装置10の動作を終了する。
なお、1つのニューラルネットワークモデルまたは1つの再構築候補モデルについて、プルーニングを複数回繰り返し行い、得られたプルーニング結果で所定回数以上、残りのチャネル数が閾値以下である経路が存在する場合に、再構築部103が当該経路を削除するように再構築をするようにしてもよい。つまり、ステップSA1およびステップSA2を1つのニューラルネットワークモデルまたは1つの再構築候補モデルに対して繰り返し実行する。これにより、削除すべき経路の確度を向上させることができる。
次に、本実施形態に係る再構築モデルを生成するまでのプルーニングの過程の一例について、図3から図5を参照して説明する。
図3は、プルーニングを実施する前のニューラルネットワークモデル30を示す。ニューラルネットワークモデル30は、経路1(入力層31および隠れ層32)と、経路2(入力層33および隠れ層34)と、経路3(入力層35および隠れ層36)と、Concatenate層37と、Concatenate層38と、隠れ層39と、出力層40とを含む。ここでは、経路1、経路2および経路3は同じ層構造であるが、それぞれ隠れ層のパラメータが異なる場合を想定する。
各入力層31,33,35には、入力画像x が入力される。経路1および経路2のそれぞれの出力がConcatenate層37で集約される。Concatenate層37からの出力と、経路3からの出力とがConcatenate層38で集約される。Concatenate層38からの出力が隠れ層39に入力され、隠れ層39の出力が出力層40に入力され、推定確率値y が出力される。なお、各隠れ層32,34,36および39の後段にはReLUなどの活性化関数が配置される。なお、各入力層31,33,35に入力される入力画像x は、同一の画像でもよいし、入力層ごとに異なる画像、例えば、回転、クロップ、色が変更された、いわゆるデータ増強された画像が入力されてもよい。
ここで、図2のステップSA2のプルーニングにより、経路1の隠れ層32の残りのチャネル数が閾値以下となり、経路2の隠れ層34および経路3の隠れ層36は残りのチャネル数が閾値よりも多い場合を想定する。この場合は、経路1を削除できることとなる。
図4は、経路1を削除した後の再構築候補モデル50である。経路1を削除することにより、経路1と経路2とのそれぞれの出力を集約する必要がないため、Concatenate層37が不要となり、当該Concatenate層37も削除される。
ここで、図4に示す再構築候補モデル50は、複数の経路が存在するため再学習が必要であると判定されたとする。よって、図2のステップSA1からステップSA4までの処理が再度実行される。ここでは、経路3の隠れ層36の残りチャネル数が閾値以下となり、経路2の隠れ層34は残りチャネル数が閾値よりも大きい場合を想定する。この場合、経路3が削除できることになる。
図5は、再構築候補モデル50から経路3を削除した再構築候補モデル70である。図5に示す再構築候補モデルは、経路が1つであるため、最終的な再構築モデルとして出力される。このように、ニューラルネットワークモデルおよび再構築候補モデルに対して繰り返し学習、プルーニングおよび再構築の各処理を適用して、徐々に経路を削除していくことで効率的なプルーニングが実現できる。
なお、図3から図5の例では、ニューラルネットワークモデルに3つの経路がある場合を想定したが、これに限らず2つの経路であってもよいし、4つ以上の経路でもよい。さらに、各経路の構造、例えば隠れ層の数、隠れ層の種類が異なってもよい。また、図3の例では2つのConcatenate層を有する場合を想定するが、各経路からの出力を1つのConcatenate層で全て集約するようなニューラルネットワークモデルのアーキテクチャであってもよい。また、各経路からの出力をConcatenate層で集約する例を示したが、各経路からの出力を加算してもよい。
さらに、図3から図5では、複数の経路が入力層の段階から配置され、複数の入力がそれぞれ異なる経路に入力され、ある層で複数の経路の出力が集約される場合を示すが、これに限らず、入力層が1つであり、ニューラルネットワークモデルの途中で分岐して複数の経路が存在するようなニューラルネットワークモデルのアーキテクチャであってもよい。
なお、同じニューラルネットワークモデルおよび再構築候補モデルに対して、複数回プルーニングを実行してもよい。これにより、複数回のプルーニングで同じ経路が削除対象となる結果が得られれば、当該経路を削除できる可能性が高いと判定することもできる。
また、1回目のプルーニング結果と、2回目のプルーニング結果とで結果が異なる場合、複数のパターンで再構築候補モデルを生成してもよい。例えば、図3の例に説明すると、ニューラルネットワークモデル30に対する1回目のプルーニング結果では、経路1を削除可能であり、経路2および経路3を含む第1再構築候補モデルが生成され、ニューラルネットワークモデルに対する2回目のプルーニング結果では、経路2が削除可能であり、経路1および経路3を含む第2再構築候補モデルが得られたとする。この場合、得られた複数の再構築候補モデル、つまり第1再構築候補モデルおよび第2再構築候補モデルそれぞれについて、学習、プルーニングおよび再構築の各処理を実行してもよい。
複数の再構築候補モデルに対する学習装置10の動作例について図6のフローチャートを参照して説明する。
ステップSB1では、図2のステップSA1と同様に、学習部101が、ニューラルネットワークモデルを学習し、学習済みモデルを生成する。
ステップSB2では、図2のステップSA2と同様に、プルーニング部102が、学習済みモデルのプルーニングを実行する。
ステップSB3では、図2のステップSA3と同様に、再構築部103が、プルーニング結果に基づいて学習済みモデルを再構築し、再構築候補モデルを生成する。
ステップSB4では、記憶部106が、プルーニング履歴を記憶する。
ステップSB5では、判定部104が、今回のステップSB4により生成された再構築候補モデルが、前回までに生成された再構築候補モデルと異なるか否か、言い換えれば、前回と異なる再構築候補モデルが生成されたか否かを判定する。具体的には、例えば今回の処理で生成された再構築候補モデルと異なる経路を有する再構築候補モデルが記憶部106に記憶されていれば、判定部104が、前回と異なる再構築候補モデルが生成されたと判定すればよい。前回と異なる再構築候補モデルが生成された場合、ステップSB7に進み、前回と同じ再構築候補モデルが生成された場合、ステップSB6に進む。
ステップSB6では、判定部104が、前回と同じ再構築候補モデルであるため、図2のステップSA5の場合と同様に、再構築候補モデルの再学習が必要か否かを判定する。再学習が必要であれば、ステップSB1に戻り、同様の処理を繰り返し、再学習が不要であれば、ステップSB9に進む。
ステップSB7では、判定部104が、複数の再構築候補モデルについて再学習が必要か否かを判定する。例えば、異なる経路を有する再構築候補モデルが新たに生成された場合、それまでに生成されていた再構築候補モデルを含めて全ての再構築候補モデルを再学習の対象としてもよい。また、複数の再構築候補モデルの中から、所定の条件を満たす再構築候補モデルを再学習の対象とし、当該所定の条件を満たさない再構築候補モデルは再学習しなくてもよい。例えば、判定部104は、複数の再構築候補モデルのうち、最も性能が高い、具体的には認識率または正解率が最も高い再構築候補モデルを再学習の対象であると判定してもよい。または、判定部104は、最もモデルサイズが小さい再構築候補モデル、具体的には最もパラメータ数または演算量が少ない再構築候補モデルを再学習の対象であると判定してもよい。または、再学習の対象を1つの再構築候補モデルにすることに限らず、モデルの性能が閾値以上である1以上の再構築候補モデル、モデルサイズが閾値以下である1以上の再構築候補モデルを再学習の対象としてもよい。
再学習が必要であると判定された場合、ステップSB8に進み、再学習が不要と判定され場合、ステップSB9に進む。
ステップSB8では、学習部101が、対象となる再構築候補モデルを再学習する。学習方法は、ステップSB1と同様の手法により学習すればよい。その後、ステップSB2に戻り、同様の処理を繰り返す。
ステップSB9では、判定部104が、再学習が終了した再構築候補モデルを、最終的な再構築モデルとして出力する。なお、記憶部106が、再構築モデルを記憶してもよい。また、図2の場合と同様に、1つのニューラルネットワークモデルまたは1つの再構築候補モデルに対して、プル-ニング結果を複数回算出し、再構築部103が、所定回数以上残りのチャネル数が閾値以下となった経路を削除するようにしてもよい。
なお、本実施形態に係る学習装置によるプルーニング後の再構築モデルを生成するまでに、予算および時間が限られている場合は、所定の時間を経過したときに、それ以降再学習を実行せず早期終了してもよい。この場合、判定部104は、記憶部106に記憶される複数の再構築候補モデルのうち、最も性能の高い再構築候補モデル、または最もモデルサイズの小さい再構築候補モデルを再構築モデルとして決定してもよい。
また、予算および時間が限られている場合は、ステップSB4の処理において、プルーニング結果に基づく再構築候補モデルの生成条件を緩和してもよい。例えば、再構築部103が、残り時間に応じて、残りのチャネル数が閾値未満の経路は削除し、残りのチャネル数が閾値以上である経路のみ残すように再構築してもよい。具体的には、予め設定された学習時間の残り時間が半分、4分の1などになった場合、再構築部103は、残りのチャネル数が全体P%以上(Pは任意の整数、例えば50)ある経路のみ残して再構築してもよい。なお、Pの値を固定値とせず、残り時間の経過に応じて増加させてもよい。例えば、残り時間が全体の時間の半分、4分の1、8分の1となるたびに、Pの値を1ずつ、2ずつといったように、順次増加させてもよい。
さらに、残り時間に応じて強制的に経路が削除されてもよい。例えば、再構築部103は、残り時間が全体の時間の半分となった場合、最も残りチャネル数が少ない経路を削除し、残り時間が4分の1となった場合、その時点で最も残りチャネル数が少ない経路を削除してもよい。このように、予算および時間を考慮して、再構築の条件を変更しながらプルーニングおよび再構築を実行することにより、想定した学習時間内にプルーニングを進めることができる。
また、プルーニングにおいて、ある経路が削除できない場合でも、当該経路と他の経路との間で負の相関がある場合は、それぞれの経路を削除した複数の再構築候補モデルを生成してもよい。
経路間に負の相関がある場合について図7を参照して説明する。
図7は、横軸に経路1のチャネル数、縦軸に経路2のチャネル数を示した、プルーニング結果ごとの経路間のチャネル数の関係を示すプロット図である。当該プロット図に示されるように、経路1のチャネル数が多いほど、経路2のチャネル数が少なくなり、反対に経路2のチャネル数が多いほど、経路1のチャネル数が少なくなる。また、例えば表示制御部105が、点群を線形回帰で近似した直線71を表示してもよい。このように、複数回の学習およびプルーニングを実行することによって、例えば判定部104が経路間でこのような負の相関(トレードオフ)があると判定できる場合は、再構築部103が経路1を削除し、経路2を残した再構築候補モデルと、経路2を削除し、経路1を残した再構築候補モデルをそれぞれ生成し、図6に示す学習処理を実行すればよい。
表示制御部105は、プルーニング結果が得られるごとにグラフにプロットし、図7に示すグラフをディスプレイなどの外部の表示機器に表示してもよい。
次に、プルーニング結果の表示例について図8を参照して説明する。
図8は、複数回のプルーニングごとの各経路のプルーニング結果を示すプルーニング履歴の一部のテーブルであり、具体的には、経路1から経路3までのそれぞれの残りのチャネル数を、プルーニングごとに対応付けている。なお、「-」の表記は、1つ前のプルーニング結果に基づき経路を削除したため、該当する値がない場合を示す。表示制御部105が、当該テーブルをディスプレイに表示することで、ユーザは、どの経路が削除可能か否かを容易に把握できる。
また、図8の例では、残りチャネル数がゼロとなるプルーニング結果が得られた経路は、残りのチャネル数が閾値以下となった経路のセルをハッチングして強調表示する。なお、これに限らず、文字色を変更する、太字にするなど、削除可能な残りチャネル数の経路については、他と区別可能な態様で表示すればよい。これにより、ユーザがどの経路が削除可能であるかを容易に把握できる。反対に、残りのチャネル数が閾値よりも多い経路のセルを強調表示してもよい。これにより、安定した経路を容易に把握できる。
以上に示した本実施形態によれば、複数の経路から構成されたニューラルネットワークを学習し、閾値に基づいて、学習済みのニューラルネットワークのプルーニング結果を出力する。次に、プルーニング結果に基づいて、学習済みモデルから再構築候補モデルを再構築する。再構築候補モデルの残り経路から再学習が必要であると判定された場合は、再構築候補モデルを再学習してプルーニングする処理を繰り返し、再学習が不要であると判定した場合は、再構築候補モデルを最終的な再構築モデルとして出力する。これにより、プルーニング結果の安定性によらず段階的にプルーニングを実行することができ、モデルサイズをより小さく、さらに高速にプルーニングを実現できる。結果として、効率的に経路を最適化できる。
次に、上述の実施形態に係る学習装置10のハードウェア構成の一例を図9のブロック図に示す。
学習装置10は、CPU(Central Processing Unit)91と、RAM(Random Access Memory)92と、ROM(Read Only Memory)93と、ストレージ94と、表示装置95と、入力装置96と、通信装置97とを含み、それぞれバスにより接続される。
CPU91は、プログラムに従って演算処理および制御処理などを実行するプロセッサである。CPU91は、RAM92の所定領域を作業領域として、ROM93およびストレージ94などに記憶されたプログラムとの協働により、上述した学習装置10の各部の処理を実行する。
RAM92は、SDRAM(Synchronous Dynamic Random Access Memory)などのメモリである。RAM92は、CPU91の作業領域として機能する。ROM93は、プログラムおよび各種情報を書き換え不可能に記憶するメモリである。
ストレージ94は、HDD(Hard Disc Drive)等の磁気記録媒体、フラッシュメモリなどの半導体による記憶媒体、または、HDDなどの磁気的に記録可能な記憶媒体、光学的に記録可能な記憶媒体などにデータを書き込みおよび読み出しをする装置である。ストレージ94は、CPU91からの制御に応じて、記憶媒体にデータの書き込みおよび読み出しをする。
表示装置95は、LCD(Liquid Crystal Display)などの表示デバイスである。表示装置95は、CPU91からの表示信号に基づいて、各種情報を表示する。
入力装置96は、マウスおよびキーボード等の入力デバイスである。入力装置96は、ユーザから操作入力された情報を指示信号として受け付け、指示信号をCPU91に出力する。
通信装置97は、CPU91からの制御に応じて外部機器とネットワークを介して通信する。
上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した学習装置の制御動作による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD-ROM、CD-R、CD-RW、DVD-ROM、DVD±R、DVD±RW、Blu-ray(登録商標)Discなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の学習装置の制御と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。
また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
なお、本実施形態におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行なうことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10・・・学習装置、30・・・ニューラルネットワークモデル、31,33,35・・・入力層、32,34,36,39・・・隠れ層、37,38・・・Concatenate層、40・・・出力層、50,70・・・再構築候補モデル、71・・・直線、91・・・CPU、92・・・RAM、93・・・ROM、94・・・ストレージ、95・・・表示装置、96・・・入力装置、97・・・通信装置、101・・・学習部、102・・・プルーニング部、103・・・再構築部、104・・・判定部、105・・・表示制御部、106・・・記憶部

Claims (15)

  1. 複数の経路を有するニューラルネットワークモデルを訓練し、学習済みモデルを生成する学習部と、
    前記学習済みモデルに対してプルーニングを実行し、前記複数の経路それぞれの残りのパラメータ数を算出するプルーニング部と、
    前記パラメータ数が閾値以下となる経路を削除した再構築候補モデルを生成する再構築部と、
    前記再構築候補モデルに含まれる経路がさらに削除可能であるか否かを判定する判定部と、を具備し、
    前記判定部により前記経路がさらに削除可能であると判定された場合、前記再構築候補モデルに対し、前記学習部、前記プルーニング部および前記再構築部の各処理を実行する、学習装置。
  2. 削除可能な経路がなくなるまで、前記再構築候補モデルに対し、前記学習部、前記プルーニング部および前記再構築部の各処理を繰り返し実行する、請求項1に記載の学習装置。
  3. 前記再構築部は、前記再構築候補モデルに含まれる経路のうち削除可能な経路が存在しない場合または所定の終了条件を満たす場合、前記再構築候補モデルを前記プルーニングが終了した再構築モデルとして選択する、請求項2に記載の学習装置。
  4. 前記プルーニング部は、前記ニューラルネットワークモデルまたは前記再構築候補モデルに対して前記プルーニングを複数回実行し、
    前記学習装置は、
    複数回のプルーニング結果の履歴と、各プルーニング結果の再構築候補モデルの履歴とを対応付けたプルーニング履歴を記憶する記憶部をさらに具備する、請求項1に記載の学習装置。
  5. 前記再構築部は、前記プルーニング履歴に基づいて、再構築候補モデルを再構築する、請求項4に記載の学習装置。
  6. 前記判定部は、前記プルーニング履歴に基づいて、再学習が必要か否かを判定する、請求項4に記載の学習装置。
  7. 前記パラメータ数は、チャネル数であり、
    前記プルーニング部は、前記ニューラルネットワークモデルまたは前記再構築候補モデルに対して前記プルーニングを複数回実行し、
    前記再構築部は、前記複数回実行されたプルーニング結果で所定回数以上、残りのチャネル数が前記閾値以下である経路が存在する場合、当該経路を削除する、請求項1に記載の学習装置。
  8. 前記プルーニング履歴として、前記経路ごとの残りのパラメータ数を表示装置に表示する表示制御部をさらに具備する、請求項4に記載の学習装置。
  9. 前記表示制御部は、前記残りのパラメータ数が第1閾値以下である経路、または前記残りのパラメータ数が前記第1閾値よりも大きい第2閾値以上である経路を強調表示する、請求項8に記載の学習装置。
  10. 前記プルーニング部は、前記ニューラルネットワークモデルまたは前記再構築候補モデルに対して前記プルーニングを複数回実行し、
    前記判定部は、それぞれ異なる経路が削除された複数の再構築候補モデルが存在する場合、前記複数の再構築候補モデルそれぞれについて、前記経路がさらに削除可能であるか否かを判定する、請求項1に記載の学習装置。
  11. 前記プルーニング部は、前記ニューラルネットワークモデルまたは前記再構築候補モデルに対して前記プルーニングを複数回実行し、
    前記判定部は、前記ニューラルネットワークモデルに含まれる複数の経路間で、または前記再構築候補モデルに含まれる複数の経路間で負の相関があるか否かを判定し、
    前記再構築部は、前記負の相関がある場合、前記複数の経路のうちそれぞれ異なる経路を削除した複数の再構築候補モデルを生成する、請求項1に記載の学習装置。
  12. 前記パラメータ数は、重み係数の数およびチャネル数の少なくとも1つである、請求項1に記載の学習装置。
  13. 前記学習部は、チャネル単位でスパース化が発生する訓練方法で前記ニューラルネットワークモデルおよび前記再構築候補モデルを訓練する、請求項1に記載の学習装置。
  14. 学習手段が、複数の経路を有するニューラルネットワークモデルを訓練し、学習済みモデルを生成し、
    プルーニング手段が、前記学習済みモデルに対してプルーニングを実行し、前記複数の経路それぞれの残りのパラメータ数を算出し、
    再構築手段が、前記パラメータ数が閾値以下となる経路を削除した再構築候補モデルを生成し、
    判定手段が、前記再構築候補モデルに含まれる経路がさらに削除可能であるか否かを判定し、
    前記判定手段により前記経路がさらに削除可能であると判定された場合、前記再構築候補モデルに対し、前記学習手段、前記プルーニング手段および前記再構築手段の各処理を実行する、学習方法。
  15. コンピュータを、
    複数の経路を有するニューラルネットワークモデルを訓練し、学習済みモデルを生成する学習手段と、
    前記学習済みモデルに対してプルーニングを実行し、前記複数の経路それぞれの残りのパラメータ数を算出するプルーニング手段と、
    前記パラメータ数が閾値以下となる経路を削除した再構築候補モデルを生成する再構築手段と、
    前記再構築候補モデルに含まれる経路がさらに削除可能であるか否かを判定する判定手段として機能させ、
    前記判定手段により前記経路がさらに削除可能であると判定された場合、前記再構築候補モデルに対し、前記学習手段、前記プルーニング手段および前記再構築手段の各処理を実行させるための学習プログラム。
JP2022114969A 2022-07-19 2022-07-19 学習装置、方法およびプログラム Active JP7851810B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022114969A JP7851810B2 (ja) 2022-07-19 2022-07-19 学習装置、方法およびプログラム
US18/174,343 US20240028902A1 (en) 2022-07-19 2023-02-24 Learning apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022114969A JP7851810B2 (ja) 2022-07-19 2022-07-19 学習装置、方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2024013057A JP2024013057A (ja) 2024-01-31
JP7851810B2 true JP7851810B2 (ja) 2026-04-27

Family

ID=89576681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022114969A Active JP7851810B2 (ja) 2022-07-19 2022-07-19 学習装置、方法およびプログラム

Country Status (2)

Country Link
US (1) US20240028902A1 (ja)
JP (1) JP7851810B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7496499B2 (ja) * 2020-11-30 2024-06-07 パナソニックIpマネジメント株式会社 学習装置、学習方法、および故障予知システム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180114114A1 (en) 2016-10-21 2018-04-26 Nvidia Corporation Systems and methods for pruning neural networks for resource efficient inference
JP2020008993A (ja) 2018-07-04 2020-01-16 株式会社東芝 学習方法、学習装置および画像認識システム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220048832A (ko) * 2020-10-13 2022-04-20 삼성전자주식회사 인공 신경망 프루닝 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180114114A1 (en) 2016-10-21 2018-04-26 Nvidia Corporation Systems and methods for pruning neural networks for resource efficient inference
JP2020008993A (ja) 2018-07-04 2020-01-16 株式会社東芝 学習方法、学習装置および画像認識システム

Also Published As

Publication number Publication date
JP2024013057A (ja) 2024-01-31
US20240028902A1 (en) 2024-01-25

Similar Documents

Publication Publication Date Title
JP7623768B2 (ja) パーソナライズされた自動化機械学習
US11842178B2 (en) Compiler-level general matrix multiplication configuration optimization
CN108140146B (zh) 使用绝热量子计算机的离散变分自动编码器系统和方法
JP2022527536A (ja) 強化学習を通じた公平性の改善
JP6821614B2 (ja) モデル学習装置、モデル学習方法、プログラム
US11989656B2 (en) Search space exploration for deep learning
CN114358274A (zh) 训练用于图像识别的神经网络的方法和设备
US11790232B2 (en) Method and apparatus with neural network data input and output control
CN114154615A (zh) 基于硬件性能的神经架构搜索方法和设备
CN116739100B (zh) 量子神经网络的漏洞检测方法及自动驾驶漏洞检测方法
US20200401943A1 (en) Model learning apparatus, model learning method, and program
CN111985631B (zh) 信息处理设备、信息处理方法及计算机可读记录介质
JP7851810B2 (ja) 学習装置、方法およびプログラム
KR20190141581A (ko) 데이터 예측을 위한 인공신경망을 학습하는 방법 및 장치
KR102617958B1 (ko) 교차 어텐션 매커니즘 기반의 화합물-단백질 상호작용 예측 방법 및 장치
JP2019095894A (ja) 推定装置、学習装置、学習済みモデル、推定方法、学習方法、及びプログラム
US11568303B2 (en) Electronic apparatus and control method thereof
CN119810471A (zh) 基于多智能体深度强化学习的高光谱影像特征提取方法和应用
CN118245301A (zh) 一种ddr闪存的性能优化方法、装置、设备及存储介质
US20240144021A1 (en) Method and apparatus with machine learning model
JP2023138928A (ja) ニューラルネットワークを生成するための方法及び装置
JP7520753B2 (ja) 学習装置、方法およびプログラム
CN113705662B (zh) 一种协同训练方法、装置及计算机可读存储介质
JP7465497B2 (ja) 学習装置、学習方法及びプログラム
JP7851811B2 (ja) 学習装置、方法およびプログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20230105

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20250127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20251028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20251104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20251210

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: 20260317

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260415

R150 Certificate of patent or registration of utility model

Ref document number: 7851810

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150