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
JP7851811B2 - 学習装置、方法およびプログラム - Google Patents
[go: Go Back, main page]

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

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

Info

Publication number
JP7851811B2
JP7851811B2 JP2022115048A JP2022115048A JP7851811B2 JP 7851811 B2 JP7851811 B2 JP 7851811B2 JP 2022115048 A JP2022115048 A JP 2022115048A JP 2022115048 A JP2022115048 A JP 2022115048A JP 7851811 B2 JP7851811 B2 JP 7851811B2
Authority
JP
Japan
Prior art keywords
activation function
model
adaptation
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.)
Active
Application number
JP2022115048A
Other languages
English (en)
Other versions
JP2024013104A (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 JP2022115048A priority Critical patent/JP7851811B2/ja
Priority to US18/173,005 priority patent/US20240028901A1/en
Publication of JP2024013104A publication Critical patent/JP2024013104A/ja
Application granted granted Critical
Publication of JP7851811B2 publication Critical patent/JP7851811B2/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/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/048Activation functions
    • 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

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

本発明の実施形態は、学習装置、方法およびプログラムに関する。
ニューラルネットワークのモデルサイズを小さくする手法として、プルーニングがある。プルーニングにより、ニューラルネットワークのパラメータ(重み係数またはチャネル)を削減することにより、推論精度を維持しつつ、ニューラルネットワークのモデルサイズを小さくできる。具体的には、例えばReLU(Rectified Linear Unit)およびハイパボリックタンジェントのような活性化関数を活用して、隠れ層のパラメータ(重み係数およびチャネル)についてプルーニングを実行する。
しかし、活性化関数のない隠れ層については効率的なプルーニングを実行できず、所望のプルーニング結果が得られないという問題がある。
特許第6951295号公報
本開示は、上述の課題を解決するためになされたものであり、効果的なプルーニングを実現できる学習装置、方法およびプログラムを提供することを目的とする。
本実施形態に係る学習装置は、適合化部と、学習部と、プルーニング部とを含む。適合化部は、ニューラルネットワークモデルに対する活性化関数の挿入および活性化関数の修正の少なくとも1つを含む適合化処理を実行する。学習部は、前記適合化処理を実行したニューラルネットワークモデルを訓練し、学習済みモデルを生成する。プルーニング部は、前記学習済みモデルに対してプルーニングを実施し、パラメータが削減された再構築モデルを生成する。
本実施形態に係る学習装置を示すブロック図。 本実施形態に係る学習装置の動作例を示すフローチャート。 本実施形態に係る適合化処理の第1例を示す図。 本実施形態に係る適合化処理の第2例を示す図。 活性化関数の形状の違いを示すグラフ。 本実施形態に係る適合化処理の第3例を示す図。 本実施形態に係る適合化処理の第4例を示す図。 実施形態に係る学習装置10のハードウェア構成の一例を示すブロック図。
以下、図面を参照しながら本実施形態に係る学習装置、方法およびプログラムについて詳細に説明する。なお、以下の実施形態では、同一の参照符号を付した部分は同様の動作をおこなうものとして、重複する説明を適宜省略する。
本実施形態に係る学習装置について図1のブロック図を参照して説明する。
本実施形態に係る学習装置10は、取得部101と、適合化部102と、学習部103と、プルーニング部104と、判定部105と、記憶部106とを含む。
取得部101は、訓練データと、ニューラルネットワークモデルとを取得する。ニューラルネットワークは、Multilayer perceptron(MLP)のような複数の全結合層に限らず、VGG16、ResNet、DenseNetなどの畳み込みニューラルネットワーク(CNN)、リカレントニューラルネットワーク、トランスフォーマー、グラフニューラルネットワークなど、どのようなアーキテクチャのネットワークでもよい。
適合化部102は、ニューラルネットワークモデルに対する活性化関数の挿入および活性化関数の修正の少なくとも1つを含む適合化処理を実行する。本実施形態に係る適合化処理とは、具体的には、ニューラルネットワークモデルの層間に活性化関数を挿入する、活性化関数を別の活性化関数に置換する、および、活性化関数の位置を別の位置に移動するといった、プルーニングに適した活性化関数をニューラルネットワークモデルにアレンジする処理を示す。
学習部103は、適合化処理を実行したニューラルネットワークモデルを訓練し、学習済みモデルを生成する。
プルーニング部104は、学習済みモデルに対してプルーニングを実施し、パラメータが削減された再構築モデルを生成する。
判定部105は、再構築モデルに対して再度の適合化処理が必要か否か、および再構築モデルの再学習が必要か否かを判定する。
記憶部106は、訓練データ、ニューラルネットワークモデル、再構築モデルなどを記憶する。
次に、本実施形態に係る学習装置の動作例10について図2のフローチャートを参照して説明する。
なお、本実施形態では、学習データを画像とし、犬か猫かのいずれかに分類する2クラスの画像分類タスクを実行するニューラルネットワークモデルを学習する例を用いて説明する。学習データは画像に限らず、映像でもよいし、テキスト、音声、センシングデータなどの時系列データであってもよい。また、ニューラルネットワークモデルにより推論する目的タスクは分類タスクに限らず、物体検出、セマンティックセグメンテーション、回帰、予測といった他の目的タスクであっても同様に適用できる。
ステップSA1では、取得部101が、記憶部106から学習データと、ニューラルネットワークモデルとを取得する。
ステップSA2では、判定部105が、ニューラルネットワークモデルについて活性化関数の適合化処理が必要か否かを判定する。ここでは、上述した先行技術文献に記載される、不活性チャネルおよび不活性ノードによる群スパース化に基づくチャネル単位のプルーニングが実行できるか否かに基づき判定する。つまり、ニューラルネットワークモデルの全ての隠れ層に含まれるノードおよびチャネルには、微分関数が0となる入力値の区間を含むまたは微分関数が0に漸近する入力値の区間を含む活性化関数が設定される。例えば、活性化関数は、微分関数が、所定の入力値より正側の入力値の区間が0より大きく、所定の入力値より負側の入力値の区間が0または0に漸近する関数であり、例えばRectified Linear Unit(ReLU)である。このような活性化関数が設定されることにより、不活性ノードおよび不活性チャネルが発生する可能性が高くなる。さらに、正則化としてL2正則化、最適化器(Optimizer)としてAdamまたはAdamに類似した最適化器を用いて、ニューラルネットワークモデルを最適化した場合、群スパース化が発生しやすくなり、例えばチャネル単位のプルーニングを実行できる。
このように先行技術文献の最適化条件を満した条件となるか否かにより、適合化処理が必要か否かを判定する。例えば、ある層間に活性化関数が存在しない場合、活性化関数を挿入することでプルーニングが進む可能性があるため、適合化処理が必要であると判定する。また、ニューラルネットワークモデルに活性化関数が存在する場合には、学習時の損失に対するパラメータの勾配の大きさが減少するように活性化関数を修正すればよい。
活性化関数の適合化処理が必要である場合、ステップSA3に進み、活性化関数の適合化処理が不要である場合、ステップSA4に進む。
ステップSA3では、適合化部102が、活性化関数の適合化処理を実行する。本実施形態では、適合化処理として、上述した活性化関数の挿入、置換および移動の各処理を想定する。適合化部102は、適合化処理のうち、いずれか1つの処理をニューラルネットワークモデルに適用してもよいし、複数の処理を適用してもよい。例えば、適合化部102は、ニューラルネットワークモデルに含まれる活性化関数を置換し、かつ別の位置に移動させる処理を組み合わせてもよい。
また、適合化処理において複数種類の手法を採用し、それぞれ別の適合化処理されたニューラルネットワークモデルとして、次のステップSA4の訓練が実行されてもよい。例えば、適合化部102は、活性化関数が存在しない位置に、活性化関数としてReLUを挿入する場合と、異なる活性化関数としてハードシグモイド関数を挿入する場合との2つのパターンを実行し、それぞれのパターンのニューラルネットワークモデルについて、次のステップSA4の訓練が実行されてもよい。
ステップSA4では、学習部103が、ステップSA3で適合化処理されたニューラルネットワークモデルまたはステップSA2で適合化処理が不要と判定されたニューラルネットワークモデルを、訓練データを用いて訓練し、学習済みモデルを生成する。
ニューラルネットワークモデルの訓練は、例えば正解データを含む訓練データを用いた「教師あり学習」を実行すればよい。具体的には、入力画像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が最小化されるように、誤差逆伝播法と確率的勾配降下法とによりニューラルネットワークモデルのパラメータ集合Θをミニバッチ学習で反復学習する。
学習条件は、本実施形態では、例えば最適化器を「Adam」、L2正則化強度λを「0.001」とし、エポック数を「100」とし、ミニバッチサイズを「64」として設定し、学習部103がニューラルネットワークモデルを訓練する。もちろん、異なる学習率、異なる正則化強度とするなど、他の学習条件で学習してもよいし、複数の学習条件で学習し、性能の良いほうを採用するなどしてもよい。
反復学習の終了条件としては、例えば、学習誤差Lや、損失関数Lの出力の絶対値または減少値といった判定指標が閾値以下であるか否かを判定すればよい。判定指標が閾値以下であれば、学習部103が、反復学習の終了条件を満たすと判定すればよい。または、学習部103が、反復回数が所定回数に到達したか否かを判定し、反復回数が所定回数に到達していれば、反復学習の終了条件を満たすと判定してもよい。反復学習が終了することにより、ニューラルネットワークモデルの学習が完了し、学習済みモデルが生成される。
なお、上述の例に限らず、どのような手法を用いてニューラルネットワークを学習してもよい。なお、学習誤差Lは、バイナリクロスエントロピーを用いて計算されてもよい。さらに、上述の犬か猫かの2値分類は、出力層にシグモイド関数を含むことを想定するが、3クラス以上に分類する多クラス分類タスクの場合は、出力層にソフトマックス関数を用いてもよい。
ステップSA5では、プルーニング部104が、学習済みモデルに対してプルーニングを実行する。プルーニングは、例えば、隠れ層における各チャネルの重み係数のL2ノルムを算出し、所定の閾値(例えば、10-6)よりも大きいL2ノルムのチャネル(以下、残りチャネルと呼ぶ)のみを選択して、当該残りチャネルからなるニューラルネットワークモデルである再構築モデルを生成する。または、隠れ層における重み係数の絶対値が所定の閾値以上であるチャネルのみを選択し、再構築モデルを生成してもよい。すなわち、先行技術文献の手法により、チャネルに設定されている全ての重み係数の絶対値がほとんど0となる、つまり群スパース化したチャネルを削除できる。
ステップSA6では、判定部105が、再構築モデルについて、再度の適合化処理(再適合化処理)が必要であるか否かを判定する。再適合化処理が必要であるか否かは、例えば再構築モデルの性能と、ベースライン性能とを比較して、再構築モデルの性能がベースライン性能以上である場合は、再適合化処理が不要であると判定し、再構築モデルの性能がベースライン性能よりも低ければ、再適合化処理が必要であると判定すればよい。
ベースライン性能は、上述のステップSA4における学習条件とは異なる学習条件で訓練したときに得られる学習済みモデルの性能に関する指標であり、プルーニングにより得られた再構築モデルの性能が優れているか否かを判定する為のベンチマークとして用いられる。ベースライン性能は、タスクに応じて一般的に想定される指標値を用いてもよいし、学習部103がベースライン性能を作成してもよい。一般的に想定される指標値を用いる場合は、例えば2値分類タスクであれば、適合率(Precision)、再現率(Recall)、F1値といった指標値を用いればよい。一方、学習部103が作成する場合は、例えば、ベースライン性能を生成するための学習条件として、最適化器を「SGD(Stochastic Gradient Descent)」、L2正則化強度を「0」としてニューラルネットワークモデルを訓練した結果を用いてもよい。判定部105は、作成されたベースライン性能と、再構築モデルの性能とを比較して再適合化処理が必要であるか否かを判定すればよい。
なお、再構築モデルの性能がベースライン結果よりも低い場合でも、最終的に出力されるモデルの要求仕様を満たす場合は、再適合化処理が不要であると判定してもよい。具体的には、「再構築モデルがα%以上の適合率を維持しながら全体のβ%のパラメータをプルーニング処理できた場合」といったような要求仕様を満たしていれば、再適合化処理が不要であると判定すればよい。
再適合化処理が必要であると判定された場合、ステップSA7に進み、同様の処理を繰り返す。再適合化処理が不要であると判定された場合、ステップSA8に進む。
ステップSA7では、適合化部102が、再構築モデルの活性化関数の再適合化処理を実行する。再適合化処理は、適合化の対象が再構築モデルであること以外は、ステップSA3と同様であるため説明を省略する。なお、再適合化処理においては、1つ前の適合化処理と異なる適合化処理を実行してもよい。例えば、1つ前の適合化処理において、活性化関数ReLUを挿入した場合、再適合化処理では、ReLUをGeLUに置換する、といった処理を実行してもよい。または、1つ前の適合化処理において、活性化関数ReLUをハードシグモイド関数に置換した場合、再適合化処理では、ハードシグモイド関数をシグモイド関数に置換する、といった処理を実行してもよい。
ステップSA8では、適合化部102が、ステップSA3で実行された適合化処理を、適合化前の状態に復元する。例えば、再構築モデルにステップSA3の適合化処理により活性化関数が挿入されている場合、適合化部102が当該活性化関数を削除する処理を実行する。別の活性化関数に置換された場合は、適合化部102がもとの活性化関数に戻す処理を実行する。また、活性化関数の接続位置を変更した場合は、適合化部102が当該活性化関数をもとの接続位置に戻す処理を実行する。
ステップSA9では、判定部105が、再構築モデルについて再学習が必要か否かを判定する。再学習が必要か否かの判定は、例えば、再適合化した再構築モデルの性能と、ベースライン結果とを比較して、再適合化した再構築モデルの性能がベースラインの性能以上である高い場合は、再学習は不要であると判定すればよい。
再学習が必要である場合は、ステップSA4に戻り、同様の処理を繰り返す。再学習が不要である場合は、学習済みモデルのプルーニングが完了したため、最終的な再構築モデルが生成され、当該再構築モデルが記憶部106に記憶される。なお、最終的な再構築モデルをデプロイ先などに出力してもよい。なお、再学習においては、訓練に係るパラメータをランダムに初期化せずに、前回の訓練において得られたパラメータを用いて初期化してもよい。すなわち、ファインチューニングにより再学習を実行してもよい。ステップSA7における再適合化処理において、再適合化処理した後の活性化関数が、前回の適合化処理による活性化関数と種類が異なる場合は、隠れ層のパラメータに適切な定数(ゲイン)を乗じて初期化してもよい。
なお、ステップSA8の活性化関数の復元は必須ではなく、活性化関数の適合化処理を適用したまま再構築モデルのプルーニングを継続してもよい。例えば、適合化処理によりニューラルネットワークモデルに活性化関数を挿入して学習した場合、例えば判定部105が、再構築モデルが、活性化関数を挿入する前のモデル以上の性能が得られると判定した場合は、挿入された活性化関数を維持したままプルーニング処理が継続されてもよい。当該適合化処理により適合化された活性化関数を復元するか否かは、ベースライン性能を用いた再適合化処理の判定と同様の手法により判定すればよい。
また、適合化処理により活性化関数が置換された場合、例えば活性化関数としてハイパボリックタンジェント関数を用いており、ハードハイパボリックタンジェント関数に置換した場合、ハードハイパボリックタンジェント関数は線形な区間が存在する関数であるため、計算コストを下げることができる。よって、最終的に生成された再構築モデルをデプロイする際にデプロイ先の計算コストを軽減できる場合は、当該置換後の活性化関数を維持したままプルーニング処理を継続してもよい。さらに、活性化関数の挿入位置を変更した場合に、ニューラルネットワークの性能がより汎化した性能を獲得できている場合は、当該活性化関数の挿入位置を維持されてもよい。
次に、本実施形態に係る適合化処理の第1例について図3を参照して説明する。
図3左図では、全結合層31と全結合層32とが接続された、活性化関数のない隠れ層が結合されるニューラルネットワークを示す。当該ニューラルネットワークでは、全結合層31のパラメータと、全結合層32のパラメータとをつなげるノードが非線形関数により変換されないため、プルーニング時にパラメータが削減しにくい。
よって、ニューラルネットワークモデルを形成する複数の隠れ層のうち、プルーニング対象となる隠れ層の後に活性化関数を接続する。具体的に、図3右図のように全結合層31と全結合層32との間に活性化関数35を挿入する。活性化関数35は、例えばReLUを用いる。これにより、全結合層31からの出力が活性化関数35に入力されると、活性化関数により活性化しないノードおよびチャネルが発現する。これにより全結合層31のパラメータのプルーニングを実行できる。
なお、適合化部102は、活性化関数35を挿入する場合は、活性化関数61の挿入前の隠れ層から得られる特徴マップが変動しないように、活性化関数61の挿入位置を決定してもよい。
次に、本実施形態に係る適合化処理の第2例について図4および図5を参照して説明する。
図4左図では、全結合層31と、第1活性化関数41と、全結合層32とが接続された活性化関数を含むニューラルネットワークを示す。ここで、第1活性化関数41は、ハイパボリックタンジェントである場合を想定する。
一方、図4右図では、第1活性化関数41が、損失に対するパラメータの勾配の大きさが減少し、かつ振るまいが類似する第2活性化関数45に置換される。ここでは、第2活性化関数45は、ハードハイパボリックタンジェント関数を想定する。
第1活性化関数41から第2活性化関数45への置換例として、ハイパボリックタンジェント関数とハードハイパボリックタンジェント関数との比較を図5に示す。図5は、ハイパボリックタンジェント関数51と、ハードハイパボリックタンジェント関数52との入力値(横軸)に対する出力値(縦軸)を示すグラフである。
ハードハイパボリックタンジェント関数52は、ハイパボリックタンジェント関数51と比較して、出力値として「1」または「-1」を取る範囲が広い、つまり関数の形状として平らな箇所が多い。よって、ハードハイパボリックタンジェント関数52は、ハイパボリックタンジェント関数51と比較して、パラメータの勾配の大きさが減少し、より多くのパラメータのプルーニングを実行できる。さらに、ハードハイパボリックタンジェント関数52は、線形な関数で計算できるため、演算量など計算コストも軽減できる。
なお、第1活性化関数41から第2活性化関数45への置換候補は、ルックアップテーブルを参照して決定されてもよい。例えば関数の形状が滑らかな活性化関数と、ハード版と呼ばれる直線的(線形な)な関数の形状を有する活性化関数とを対応付けたルックアップテーブルを用意してもよい。適合化部102は、当該ルックアップテーブルを参照することにより、現行の第1活性化関数41からプルーニングに適した第2活性化関数45に置換できる。
また、適合化部102は、第1活性化関数41から第2活性化関数45に置換する場合、第1活性化関数41と第2活性化関数45となりうる活性化関数の候補との誤差を算出し、誤差が最小となる活性化関数を第2活性化関数として決定してもよい。これにより、当初のニューラルネットワークモデルの第1活性化関数からの出力を大幅に変更することなく、学習を継続できる。
次に、本実施形態に係る適合化処理の第3例について図6を参照して説明する。
図6左図は、全結合層31と、活性化関数61と、バッチ正規化層62と、全結合層32とが接続された活性化関数を含むニューラルネットワークを示す。適合化部102は、活性化関数を現行の接続位置とは異なる位置に接続するように移動させる。つまり、図6右図のように、活性化関数61の位置をバッチ正規化層62の後に移動する。
これにより、活性化関数61への入力がバッチ正規化層62の出力となるため、活性化関数61への入力の分布が安定し、より多くのパラメータをプルーニングできる。
次に、本実施形態に係る適合化処理の第4例について図7を参照して説明する。
図7左図は、全結合層31と、バッチ正規化層62と、活性化関数61と、全結合層32とが接続された活性化関数を含むニューラルネットワークを示す。具体的に、図7左図は、全結合層31と、バッチ正規化層62と、活性化関数61との接続フローに加えて、入力画像がスキップ接続されて、残差ブロック70の出力と入力画像とが加算された値が、全結合層32の入力となる残差ブロック70を想定する。
このような残差ブロック70の場合でも、適合化部102が、活性化関数61を残差ブロック70の後に移動して配置する。これにより、複数の残差ブロック70のプルーニングにおけるチャネルが揃い、より多くのパラメータのプルーニングを実行できる。
図6および図7のように、活性化関数61を移動する場合は、適合化部102は、活性化関数61の移動前の隠れ層から得られる特徴マップが変動しないように、活性化関数61の移動先を決定してもよい。
なお、分類タスクの場合、ニューラルネットワークモデル(再構築モデル)の出力層直前の層の後には、推論への影響度が大きいため、適合化部102は活性化関数を挿入または移動させなくともよい。
以上に示した本実施形態によれば、ニューラルネットワークモデルに対して活性化関数を挿入、置換および移動するなどの適合化処理を行った後で、学習およびプルーニングを実行し、再構築モデルを生成する。さらに、再構築モデルに対して適合化の要否を判定し、再適合化処理を実施し、その後再学習の要否を同様に判定し、所与の条件を満たすまで、再適合化処理および再学習処理を繰り返し実行する。これにより、活性化関数の適合化処理前ではプルーニングできなかった層の重み係数およびチャネルについてもプルーニングを実施でき、効果的なプルーニングを実現できる。
次に、上述の実施形態に係る学習装置10のハードウェア構成の一例を図8のブロック図に示す。
学習装置10は、CPU(Central Processing Unit)81と、RAM(Random Access Memory)82と、ROM(Read Only Memory)83と、ストレージ84と、表示装置85と、入力装置86と、通信装置87とを含み、それぞれバスにより接続される。
CPU81は、プログラムに従って演算処理および制御処理などを実行するプロセッサである。CPU81は、RAM82の所定領域を作業領域として、ROM83およびストレージ84などに記憶されたプログラムとの協働により、上述した学習装置10の各部の処理を実行する。
RAM82は、SDRAM(Synchronous Dynamic Random Access Memory)などのメモリである。RAM82は、CPU81の作業領域として機能する。ROM83は、プログラムおよび各種情報を書き換え不可能に記憶するメモリである。
ストレージ84は、HDD(Hard Disc Drive)等の磁気記録媒体、フラッシュメモリなどの半導体による記憶媒体、または、HDDなどの磁気的に記録可能な記憶媒体、光学的に記録可能な記憶媒体などにデータを書き込みおよび読み出しをする装置である。ストレージ84は、CPU81からの制御に応じて、記憶媒体にデータの書き込みおよび読み出しをする。ストレージ84は、上述の学習装置10の記憶部106を実現する。
表示装置85は、LCD(Liquid Crystal Display)などの表示デバイスである。表示装置85は、CPU81からの表示信号に基づいて、各種情報を表示する。
入力装置86は、マウスおよびキーボード等の入力デバイスである。入力装置86は、ユーザから操作入力された情報を指示信号として受け付け、指示信号をCPU81に出力する。
通信装置87は、CPU81からの制御に応じて外部機器とネットワークを介して通信する。
上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した学習装置の制御動作による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD-ROM、CD-R、CD-RW、DVD-ROM、DVD±R、DVD±RW、Blu-ray(登録商標)Discなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の学習装置の制御と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。
また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
なお、本実施形態におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行なうことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10・・・学習装置、31,32・・・全結合層、35・・・活性化関数、41・・・第1活性化関数、45・・・第2活性化関数、51・・・ハイパボリックタンジェント関数、52・・・ハードハイパボリックタンジェント関数、61・・・活性化関数、62・・・バッチ正規化層、70・・・残差ブロック、84・・・ストレージ、85・・・表示装置、86・・・入力装置、87・・・通信装置、101・・・取得部、102・・・適合化部、103・・・学習部、104・・・プルーニング部、105・・・判定部、106・・・記憶部

Claims (10)

  1. ニューラルネットワークモデルに対する活性化関数の挿入および活性化関数の修正の少なくとも1つを含む適合化処理を実行する適合化部と、
    前記適合化処理を実行したニューラルネットワークモデルを訓練し、学習済みモデルを生成する学習部と、
    前記学習済みモデルに対してプルーニングを実施し、パラメータが削減された再構築モデルを生成するプルーニング部と、
    を具備する学習装置。
  2. 前記再構築モデルは、所与の条件を満たすまで、前記適合化部、前記学習部および前記プルーニング部の各処理が繰り返し実行される、請求項1に記載の学習装置。
  3. 前記適合化部は、前記活性化関数の挿入として、前記ニューラルネットワークモデルを形成する複数の隠れ層のうち、プルーニング対象となる隠れ層の後に前記活性化関数を接続する、請求項1に記載の学習装置。
  4. 前記適合化部は、前記活性化関数の修正として、前記ニューラルネットワークモデルに含まれる第1活性化関数を、前記第1活性化関数とは異なる第2活性化関数に置換する処理を含む、請求項1に記載の学習装置。
  5. 前記第2活性化関数は、前記第1活性化関数と比較して、モデルの学習時に計算される損失に対するパラメータの勾配の大きさが減少する関数である、請求項4に記載の学習装置。
  6. 前記適合化部は、前記活性化関数の修正として、前記ニューラルネットワークモデルに含まれる活性化関数を現行の接続位置とは異なる位置に接続させる、請求項1に記載の学習装置。
  7. 前記適合化部は、前記適合化処理により挿入された活性化関数または修正された活性化関数を、前記適合化処理前の状態に復元する、請求項1に記載の学習装置。
  8. 前記適合化処理後の再構築モデルの性能が、前記適合化処理前のモデルの性能以上であるか否かを判定する判定部をさらに具備し、
    前記適合化部は、前記適合化処理後の再構築モデルの性能が、前記適合化処理前のモデルの性能以上である場合、前記再構築モデルに対する前記適合化処理を維持する、請求項1に記載の学習装置。
  9. 適合化部が、ニューラルネットワークモデルに対する活性化関数の挿入および活性化関数の修正の少なくとも1つを含む適合化処理を実行し、
    学習部が、前記適合化処理を実行したニューラルネットワークモデルを訓練し、学習済みモデルを生成し、
    プルーニング部が、前記学習済みモデルに対してプルーニングを実施し、パラメータが削減された再構築モデルを生成する、学習方法。
  10. コンピュータを、
    ニューラルネットワークモデルに対する活性化関数の挿入および活性化関数の修正の少なくとも1つを含む適合化処理を実行する適合化手段と、
    前記適合化処理を実行したニューラルネットワークモデルを訓練し、学習済みモデルを生成する学習手段と、
    前記学習済みモデルに対してプルーニングを実施し、パラメータが削減された再構築モデルを生成するプルーニング手段として機能させるための学習プログラム。
JP2022115048A 2022-07-19 2022-07-19 学習装置、方法およびプログラム Active JP7851811B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022115048A JP7851811B2 (ja) 2022-07-19 2022-07-19 学習装置、方法およびプログラム
US18/173,005 US20240028901A1 (en) 2022-07-19 2023-02-22 Learning apparatus and method

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2024013104A JP2024013104A (ja) 2024-01-31
JP7851811B2 true JP7851811B2 (ja) 2026-04-27

Family

ID=89576711

Family Applications (1)

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

Country Status (2)

Country Link
US (1) US20240028901A1 (ja)
JP (1) JP7851811B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017154284A1 (ja) 2016-03-09 2017-09-14 ソニー株式会社 情報処理方法および情報処理装置
US20180330235A1 (en) 2017-05-15 2018-11-15 National Taiwan University Apparatus and Method of Using Dual Indexing in Input Neurons and Corresponding Weights of Sparse Neural Network
JP2020008993A (ja) 2018-07-04 2020-01-16 株式会社東芝 学習方法、学習装置および画像認識システム
JP2022054660A (ja) 2020-09-28 2022-04-07 沖電気工業株式会社 ニューラルネットワーク軽量化装置、ニューラルネットワーク軽量化方法およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017154284A1 (ja) 2016-03-09 2017-09-14 ソニー株式会社 情報処理方法および情報処理装置
US20180330235A1 (en) 2017-05-15 2018-11-15 National Taiwan University Apparatus and Method of Using Dual Indexing in Input Neurons and Corresponding Weights of Sparse Neural Network
JP2020008993A (ja) 2018-07-04 2020-01-16 株式会社東芝 学習方法、学習装置および画像認識システム
JP2022054660A (ja) 2020-09-28 2022-04-07 沖電気工業株式会社 ニューラルネットワーク軽量化装置、ニューラルネットワーク軽量化方法およびプログラム

Also Published As

Publication number Publication date
JP2024013104A (ja) 2024-01-31
US20240028901A1 (en) 2024-01-25

Similar Documents

Publication Publication Date Title
CN110892417B (zh) 具有学习教练的异步代理以及在不降低性能的情况下在结构上修改深度神经网络
KR102913923B1 (ko) 클래스 증가 학습을 수행하는 장치 및 그의 동작 방법
KR102313626B1 (ko) 신경망을 학습시키는 방법
JP6933367B2 (ja) ニューラルネットワーク回路装置、システム、処理方法および実行プログラム
CN106203495B (zh) 一种基于稀疏判别学习的目标跟踪方法
US11514692B2 (en) Method and apparatus for building image model
CN108121995A (zh) 用于识别对象的方法和设备
CN112766463A (zh) 基于知识蒸馏技术优化神经网络模型的方法
US20240338572A1 (en) System and Methods for Training Machine-Learned Models for Use in Computing Environments with Limited Resources
JP7851811B2 (ja) 学習装置、方法およびプログラム
CN112101417A (zh) 基于条件批归一化的连续学习方法和装置
KR102704648B1 (ko) 전자 장치 및 그 제어 방법
KR20230142912A (ko) 모델링된 3차원 오브젝트의 최적화 방법, 서버 및 컴퓨터 프로그램
CN120673167A (zh) 异常检测方法及设备
JP7851810B2 (ja) 学習装置、方法およびプログラム
JP2025168206A (ja) 適応型ラベルエンベディングによる辞書対照学習に基づく効率的データ分類方法及び装置
JP7646587B2 (ja) 情報処理装置、方法およびプログラム
Leke et al. Introduction to deep learning
JP7840911B2 (ja) 情報処理装置、方法およびプログラム
KR102579684B1 (ko) 신경망 학습모델을 이용한 디지털 휴먼 모델링 방법
KR102728768B1 (ko) Gan 기반 인공지능 홀로그램 이미지 복원 방법 및 그 시스템
KR102944943B1 (ko) 3d 모션 정보 생성 방법
US20250378576A1 (en) Method for Detecting Pick Point of Objects Based on 2D Vision Technology
Bumb Adaptive Learning Technique For Facial Recognition
Sarma Regularization of Generative Models

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

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150