(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022162348
(43)【公開日】2022-10-24
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
G06N 3/08 20060101AFI20221017BHJP
【FI】
G06N3/08
【審査請求】有
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2021067136
(22)【出願日】2021-04-12
(11)【特許番号】
(45)【特許公報発行日】2021-09-29
(71)【出願人】
【識別番号】520040304
【氏名又は名称】窪田 望
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】窪田 望
(57)【要約】
【課題】ニューラルネットワークにおける隠れ層に適用される関数をより適切にすること。
【解決手段】情報処理装置は、所定の学習データを取得する取得部と、ニューラルネットワークを用いる学習モデルであって、ニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数を適用する学習モデルに、所定の学習データを入力して学習を行う学習部と、所定の学習データの教師ラベルに基づいて、誤差逆伝搬法を用いてニューラルネットワークのパラメータが更新される場合、第1関数の各重みを調整する調整部と、学習の結果、調整後の各重みが第1関数に設定される第2関数を生成する生成部と、を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
所定の学習データを取得する取得部と、
ニューラルネットワークを用いる学習モデルであって、前記ニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数を適用する前記学習モデルに、前記所定の学習データを入力して学習を行う学習部と、
前記所定の学習データの教師ラベルに基づいて、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新される場合、前記第1関数の各重みを調整する調整部と、
前記学習の結果、調整後の前記各重みが前記第1関数に設定される第2関数を生成する生成部と、
を備える情報処理装置。
【請求項2】
前記各関数は活性化関数を含み、前記第2関数は活性化関数に関する関数を含む、請求項1に記載の情報処理装置。
【請求項3】
前記各関数に活性化関数が用いられる場合、平滑化された活性化関数を含む第1群と、任意の活性化関数を含む第2群とのうち、いずれかの群を選択する選択部をさらに備え、
前記第1関数に用いられる複数の関数は、選択された群の中の活性化関数が用いられる、請求項2に記載の情報処理装置。
【請求項4】
前記各関数は正規化関数又は標準化関数を含み、前記第2関数は正規化又は標準化に関する関数を含む、請求項1に記載の情報処理装置。
【請求項5】
前記各関数はノイズ除去関数を含み、前記第2関数はノイズ除去に関する関数を含む、請求項1に記載の情報処理装置。
【請求項6】
前記各関数は平滑化関数を含み、前記第2関数は平滑化処理に関する関数を含む、請求項1に記載の情報処理装置。
【請求項7】
前記各関数は正則化関数を含み、前記第2関数は正則化に関する関数を含む、請求項1に記載の情報処理装置。
【請求項8】
情報処理装置に備えられたプロセッサが、
所定の学習データを取得することと、
ニューラルネットワークを用いる学習モデルであって、前記ニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数を適用する前記学習モデルに、前記所定の学習データを入力して学習を行うことと、
前記所定の学習データの教師ラベルに基づいて、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新される場合、前記第1関数の各重みを調整すること、
前記学習の結果、調整後の前記各重みが前記第1関数に設定される第2関数を生成することと、
を実行する情報処理方法。
【請求項9】
情報処理装置に備えられたプロセッサに、
所定の学習データを取得することと、
ニューラルネットワークを用いる学習モデルであって、前記ニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数を適用する前記学習モデルに、前記所定の学習データを入力して学習を行うことと、
前記所定の学習データの教師ラベルに基づいて、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新される場合、前記第1関数の各重みを調整すること、
前記学習の結果、調整後の前記各重みが前記第1関数に設定される第2関数を生成することと、
を実行させるプログラム。
【請求項10】
情報処理装置に備えられたプロセッサが、
所定のデータを取得すること、
学習モデルにおけるニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数として、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新され、前記第1関数の各重みが調整された場合の調整後の各重みが前記第1関数に設定される第2関数が適用される、前記学習モデルに前記所定のデータを入力して学習を行うことと、
前記学習の結果を出力すること、
を実行する情報処理方法。
【請求項11】
前記学習を行うことは、
前記所定のデータの特徴に基づいて当該所定のデータの種類を特定すること、
前記所定のデータの各種類に対応する第2関数を記憶する記憶部から、特定された種類に対応する第2関数を抽出し、当該第2関数を、前記学習モデルに適用すること、を含む、請求項10に記載の情報処理方法。
【請求項12】
プロセッサを備える情報処理装置であって、
前記プロセッサが、
所定のデータを取得すること、
学習モデルにおけるニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数として、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新され、前記第1関数の各重みが調整された場合の調整後の各重みが前記第1関数に設定される第2関数が適用される、前記学習モデルに前記所定のデータを入力して学習を行うことと、
前記学習の結果を出力すること、
を実行する情報処理装置。
【請求項13】
情報処理装置に備えられたプロセッサに、
所定のデータを取得すること、
学習モデルにおけるニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数として、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新され、前記第1関数の各重みが調整された場合の調整後の各重みが前記第1関数に設定される第2関数が適用される、前記学習モデルに前記所定のデータを入力して学習を行うことと、
前記学習の結果を出力すること、
を実行させる情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
近年、いわゆる人工知能を様々な問題に応用する試みがなされている。例えば、下記特許文献1には、様々な現実的な事象における問題の解決に用いることを目的としたモデル選択装置が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、ニューラルネットワークを用いる学習モデルにおいて、隠れ層(中間層)に使用される関数について、開発者の経験等により既存の関数が選択されるのが現状である。例えば、活性化関数として、ReLu関数やシグモイド関数が選ばれることが多い。しかし、その理由としては、多くの研究で使われているから、という理論的な理由ではなく感覚的な理由が多い。そのため、入力データに対し、必ずしもその入力データに適応した活性化関数が選択されているわけではなかった。また、活性化関数だけではなく、隠れ層において使用される正規化関数、ノイズ除去(denoising operation)関数、正則化関数、平滑化関数などにおいても同様の問題がある。
【0005】
そこで、本発明の目的の1つは、ニューラルネットワークにおける隠れ層に適用される関数を、より適切にすることを可能にする情報処理装置、情報処理方法及びプログラムを提供する。
【課題を解決するための手段】
【0006】
本発明の一態様に係る情報処理装置は、所定の学習データを取得する取得部と、ニューラルネットワークを用いる学習モデルであって、前記ニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数を適用する前記学習モデルに、前記所定の学習データを入力して学習を行う学習部と、前記所定の学習データの教師ラベルに基づいて、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新される場合、前記第1関数の各重みを調整する調整部と、前記学習の結果、調整後の前記各重みが前記第1関数に設定される第2関数を生成する生成部と、を備える。
【発明の効果】
【0007】
本発明によれば、ニューラルネットワークにおける隠れ層に適用される関数を、より適切にすることを可能にする情報処理装置、情報処理方法及びプログラムを提供することができる。
【図面の簡単な説明】
【0008】
【
図1】実施形態に係る情報処理装置の物理的構成の一例を示す図である。
【
図2】実施形態に係る情報処理装置の処理ブロックの一例を示す図である。
【
図3】実施形態に係る学習モデルの一例を示す図である。
【
図4】実施形態に係る隠れ層に適用される関数を説明するための図である。
【
図5】実施形態に係る関数ライブラリの一例を示す図である。
【
図6】実施形態に係るデータの種類及び第2関数の対応データの一例を示す図である。
【
図7】実施形態に係る学習フェーズにおける処理の一例を示すフローチャートである。
【
図8】実施形態に係る推論フェーズにおける処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【0010】
[実施形態]
<処理構成>
図1は、実施形態に係る情報処理装置10の物理的構成の一例を示す図である。情報処理装置10は、演算部に相当するCPU(Central Processing Unit)10aと、記憶部に相当するRAM(Random Access Memory)10bと、記憶部に相当するROM(Read only Memory)10cと、通信部10dと、入力部10eと、表示部10fと、を有する。これらの各構成は、バスを介して相互にデータ送受信可能に接続される。
【0011】
本実施形態では、情報処理装置10が一台のコンピュータで構成される場合について説明するが、情報処理装置10は、複数のコンピュータ又は複数の演算部が組み合わされて実現されてもよい。また、
図1で示す構成は一例であり、情報処理装置10はこれら以外の構成を有してもよいし、これらの構成のうち一部を有さなくてもよい。
【0012】
CPU10aは、RAM10b又はROM10cに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。CPU10aは、隠れ層に適用される関数をより適切にするための学習モデルを用いて学習を行うプログラム(学習プログラム)を実行する演算部である。CPU10aは、入力部10eや通信部10dから種々のデータを受け取り、データの演算結果を表示部10fに表示したり、RAM10bに格納したりする。
【0013】
RAM10bは、記憶部のうちデータの書き換えが可能なものであり、例えば半導体記憶素子で構成されてよい。RAM10bは、CPU10aが実行するプログラム、隠れ層に適用される関数に関する関数データ、この関数を適用する隠れ層を有する学習モデル、データのカテゴリと学習モデルとの対応関係を示すデータなどのデータを記憶してもよい。なお、これらは例示であって、RAM10bには、これら以外のデータが記憶されていてもよいし、これらの一部が記憶されていなくてもよい。
【0014】
ROM10cは、記憶部のうちデータの読み出しが可能なものであり、例えば半導体記憶素子で構成されてよい。ROM10cは、例えば学習プログラムや、書き換えが行われないデータを記憶してよい。
【0015】
通信部10dは、情報処理装置10を他の機器に接続するインターフェースである。通信部10dは、インターネット等の通信ネットワークに接続されてよい。
【0016】
入力部10eは、ユーザからデータの入力を受け付けるものであり、例えば、キーボード及びタッチパネルを含んでよい。
【0017】
表示部10fは、CPU10aによる演算結果を視覚的に表示するものであり、例えば、LCD(Liquid Crystal Display)により構成されてよい。表示部10fが演算結果を表示することは、XAI(eXplainable AI:説明可能なAI)に貢献し得る。表示部10fは、例えば、学習結果や、関数データを表示してもよい。
【0018】
学習プログラムは、RAM10bやROM10c等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部10dにより接続される通信ネットワークを介して提供されてもよい。情報処理装置10では、CPU10aが学習プログラムを実行することにより、後述する
図2を用いて説明する様々な動作が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、情報処理装置10は、CPU10aとRAM10bやROM10cが一体化したLSI(Large-Scale Integration)を備えていてもよい。また、情報処理装置10は、GPU(Graphical Processing Unit)やASIC(Application Specific Integrated Circuit)を備えていてもよい。
【0019】
<処理構成>
図2は、実施形態に係る情報処理装置10の処理ブロックの一例を示す図である。情報処理装置10は、取得部11、学習部12、調整部13、生成部14、選択部15、出力部16、及び記憶部17を備える。情報処理装置10は、汎用のコンピュータで構成されてもよい。
【0020】
取得部11は、所定の学習データを入力する。例えば、取得部11は、公知の訓練データを入力する。訓練データには、例えばアノテーションがなされた教師ラベルが付与されているとよい。また、取得部11は、訓練データに対応するテストデータを入力してもよい。
【0021】
学習部12は、ニューラルネットワークを用いる学習モデル12aであって、ニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数を適用する、この学習モデル12aに、取得された所定の学習データを入力して学習を行う。例えば、学習部12は、隠れ層の活性化関数、正規化関数、正則化関数、ノイズ除去関数、平滑化関数の少なくとも1つを第1関数に適用した学習モデル12aの学習を実行する。いずれを用いるかは、学習される所定の問題、又は所定のデータセットに対して、適宜設定されるとよい。
【0022】
所定の問題は、例えば画像データ、系列データ及びテキストデータの少なくともいずれかについて、分類、生成及び最適化の少なくともいずれかを行う問題を含む。ここで、画像データは、静止画のデータと、動画のデータとを含む。系列データは、音声データや株価のデータを含む。
【0023】
また、所定の学習モデル12aは、ニューラルネットワークを含む学習モデルであり、例えば、画像認識モデル、系列データ解析モデル、ロボットの制御モデル、強化学習モデル、音声認識モデル、音声生成モデル、画像生成モデル、自然言語処理モデル等の少なくとも1つを含む。また、具体例としては、所定の学習モデル12aは、CNN(Convolutional Neural Network)、RNN(Recurrent Neural Network)、DNN(Deep Neural Network)、LSTM(Long Short-Term Memory)、双方向LSTM、DQN(Deep Q-Network)、VAE(Variational AutoEncoder)、GANs(Generative Adversarial Networks)、flow-based生成モデル等のいずれかでもよい。
【0024】
また、学習モデル12aは、学習済みモデルを枝刈り(Pruning)、量子化(Quantization)、蒸留(Distillation)又は転移(Transfer)して得られるモデルを含む。なお、これらは一例に過ぎず、学習部12は、これら以外の問題について、学習モデルの機械学習を行ってもよい。
【0025】
図3は、実施形態に係る学習モデル12aの一例を示す図である。
図3に示す例において、学習モデル12aは、入力層31、隠れ層32及び出力層33を含むニューラルネットワークにより構成される。学習部12は、所定の訓練データを学習データとして教師あり学習を行い、第1関数の各重みを調整した学習モデル12aを生成する。具体的には、学習部12は、訓練データを入力層31に入力し、出力層33から最適な学習結果が出力されるように、ハイパーパラメータ等の学習を行う。このとき、調整部13は、ハイパーパラメータが更新(調整)される際に、隠れ層32に適用される第1関数の各重みを調整する。
【0026】
図4は、実施形態に係る隠れ層に適用される関数を説明するための図である。
図4に示す例では、隠れ層32における所定の関数1が適用されるノード群N1と、所定の関数2が適用されるノード群N2とが示される。例えば、所定の関数1には、活性化関数が適用され、所定の関数2には、正規化関数、ノイズ除去関数、正則化関数、平滑化関数などが適用されるが、これらの例に限られるものではない。また、ノード群N1とノード群N2における隠れ層32の位置関係も一例であって、隠れ層32内のその他の位置に設けられてもよい。これにより、隠れ層32に適用される所定の関数1及び/又は所定の関数2をより適切に設定することで、学習モデル12aの学習精度の向上を図ることができるようになる。
【0027】
図2に戻り、調整部13は、所定の学習データの教師ラベルに基づいて、誤差逆伝搬法を用いてニューラルネットワークのパラメータが更新される場合、第1関数の各重みを調整する。例えば、学習部12は、学習モデル12aを学習する際に、学習データ(訓練データ)の教師ラベルに基づいて誤差逆伝搬法により学習モデル12aのハイパーパラメータやバイアスを更新する。この際に、調整部13は、第1関数の各重みについて所定の方法により調整を行う。また、学習部12によるハイパーパラメータ等の更新がされずに、調整部13による各重みの調整が行われ、それぞれのハイパーパラメータ等で、損失関数が最小となる各重みが記憶されてもよい。
【0028】
例えば、各重みの調整については、あらかじめ設定される初期値から逐次的に各重みが調整されるとよい。このとき、各重みが全て加算して1になるように調整され、以前に行った調整と異なる調整が行われればいずれの調整方法が用いられてもよい。例えば、調整部13は、各重みを順に所定値ずつ変更していき、全ての組み合わせについて変更する。例えば、調整部13は、重みwkに対して初期値から所定値ずつ減算し、重みwk+1に対して初期値から所定値ずつ加算し、どちらかの重みが0以下、又は1以上になると、kに1を加算して、各初期値からの変更を繰り返す。また、各重みが全て加算して1になる条件は設けなくてもよく、この場合、Softmax関数などを用いて、各重みを加算して1になるように最後に調整されればよい。
【0029】
生成部14は、学習部12による学習が所定条件を満たすことで終了した結果、調整後の各重みが第1関数に設定される第2関数を生成する。生成部14は、学習が終了した時点において、最終的な各重みは第1関数に設定されているので、この最終的な第1関数を第2関数としてもよい。また、生成部14は、各ハイパーパラメータに対して損失関数を最小とする各重みが記憶されている場合は、損失関数が最も小さい値を示すハイパーパラメータに対する各重みを特定し、第2関数を生成してもよい。
【0030】
例えば、第1関数は、各関数に重みを付けて線形結合した式などである。第2関数は、第1関数と基本的な式の構造は同じであり、各関数の重みが、機械学習が行われ、調整された後の値が設定される。
【0031】
以上の処理により、ニューラルネットワークにおける隠れ層に適用される関数を、より適切にすることを可能にする。従来、エンジニアの経験則で適用されていた隠れ層の関数について、様々な関数を複合的に用いて新たな関数を生成し、取り扱うデータに応じて構築される隠れ層を含む学習モデルを用いることにより、学習精度を向上させることができる。
【0032】
第1関数として、上記例のように、既存の各関数に重みを付けて線形結合する場合、経験則的に用いられていた関数の重みの初期値を例えば1とすれば、この場合よりも学習精度がよくなるように、各関数の重み調整が調整部13により行われる。したがって、経験則的に用いられる関数よりも、調整後の重みが設定された第2関数を用いることで、学習精度が向上することが期待できる。
【0033】
(活性化関数)
隠れ層の関数として、活性化関数を例にする場合、第1関数に用いられる複数の関数は、活性化関数として適用される関数を含み、第2関数は、活性化関数に関する関数を含む。第2関数は、例えば、調整後の重みが各活性化関数に乗算されて新たに生成される関数である。
【0034】
例えば、活性化関数は、Swish、Gaussian Error Linear Unit、Exponential Linear Unit、SmoothReLU、Bent Identity関数、シグモイド関数(sigmoid)、logSigmoid関数、tanh関数、tanhShrink関数、ELU関数、SELU関数、CELU関数、softplus関数、ACON関数、Mish関数、tanhExp関数などである。これらの活性化関数は、平滑化された関数であり、微分可能な関数である。また、これらの活性化関数のうち、少なくとも2つ以上の関数が第1関数に用いられる。
【0035】
また、活性化関数の他の例として、ステップ関数(step)、恒等関数(identity) 、hardShrink関数、Threshold関数、hardSigmoid関数、hardtanh関数、ReLU関数、ReLU6関数、leaky-ReLU関数、ソフトマックス関数(softmax)、softmin関数、softsign関数、hardSwish関数などもある。これらの関数は、平滑化されていない関数であり、微分できない点が存在する。第1関数は、平滑化に関せず上述した活性化関数を含む活性化関数ライブラリの中から任意の活性化関数が選択されて生成されてもよい。なお、活性化関数ライブラリに含まれる活性化関数は、上記例に限られるものではなく、活性化関数として適用可能な関数を含む。
【0036】
なお、活性化関数に関する第1関数F1(x)の例として、式(1)が挙げられるが、あくまでも一例にすぎない。
F1(x)=W1A1+W2A2+W3A3…+WnAn 式(1)
Wn:重み
An:活性化関数
【0037】
これにより、活性化関数として、適応的に変更が可能な関数を定義することが可能になる。また、単一の活性化関数よりも精度が高くなるように学習済みの各重みが設定された第2関数を適用することで、ニューラルネットワークの学習精度を向上させることができる。
【0038】
また、活性化関数ライブラリが用いられる場合、つまり、第1関数の各関数に活性化関数が用いられる場合、平滑化された活性化関数を含む第1群と、任意の活性化関数を含む第2群とのうち、いずれかの群を選択する選択部15をさらに備えてもよい。例えば、選択部15は、ユーザの操作に応じて、第1群か第2群かを選択し、選択した群の中から任意の活性化関数を用いて第1関数を生成する。なお、第1群には、上述した平滑化された関数が含まれ、第2群には、上述した全ての関数が含まれてもよい。すなわち、第1群と第2群とにおいて、重複する活性化関数が含まれてもよい。
【0039】
これにより、第1群が選択された場合には、敵対的攻撃(Adversarial Attack)に対する防御手法となる活性化関数を生成することが可能になる。以下、第1群の活性化関数が敵対的攻撃への防御主張となることについて説明する。
【0040】
敵対例(adversarial example, AE)とは、入力データに摂動(perturbation)を加えたデータである。通常、敵対例は、ノイズを加えた画像を指すが、実際には自然言語などあらゆるAIに適用出来る概念である。ここでは理解を容易にするため画像認識の例をあげて説明をする。人間の目には、元画像とAEはほとんど同じに見えるにも関わらず、機械学習による推論結果は変わる。つまり、AEは、学習精度が下がり、推論結果として望ましい結果が得られない。
【0041】
AEによる攻撃への対抗手段は、AE自体を学習することである。これを敵対訓練(adversarial training, AT)という。ATにはいくつか種類があるが、AEが正しく識別されるようになると、逆に、元画像が正しく識別されなくなることがある。言い換えると、データの多少のブレに対応できる代わりに学習精度が下がる。一般的に、機械学習モデルのロバスト性(頑健性、堅牢性、robustness)と正確性(accuracy)はトレードオフであり、ATにおいても同様に成り立つと考えられてきた。
【0042】
しかし、smooth adversarial training(Cihang Xie, Mingxing Tan, Boqing Gong, Alan Yuille, Quoc V. Le, "Smooth adversarial training," arXiv:2006.14536, Jun 25, 2020)の研究(以下、「本研究」ともいう。)では、AEが勾配をもとに生成されることと、勾配は活性化関数を微分したものであることに着目し、より良いATを行うためには活性化関数が平滑(smooth)であるべきだと結論付けた(smooth adversarial training, SAT)。
【0043】
また、よく使用されるResNetの活性化関数はReLUであるが、本研究では、ReLUの非平滑性がATを弱体化させていることを明らかにし、SATがATを強化していることが検証された。
【0044】
よって、第1関数に用いられる複数の活性化関数として、微分可能な活性化関数の集合である第1群の活性化関数ライブラリを使用することで、第2関数は、敵対訓練を強化することが可能である。
【0045】
なお、第1群に含まれる活性化関数を用いて生成される第1関数F2(x)の例として、式(2)が挙げられるが、あくまでも一例にすぎない。
F2(x)=W1AR1+W2AR2+W3AR3…+WnARn 式(2)
Wn:重み
ARn:微分可能な活性化関数(平滑化の活性化関数)
【0046】
これにより、活性化関数として、適応的に変更が可能な関数を定義することが可能になる。また、単一の平滑化の活性化関数よりも精度が高くなるように学習済みの各重みが設定された第2関数を適用することで、ニューラルネットワークの学習精度を向上させつつ、頑健性も向上させることができる。
【0047】
(次元圧縮関数)
隠れ層の関数として、正規化関数又は標準化関数を例にする場合、第1関数に用いられる複数の関数は、正規化関数又は標準化関数として適用される関数を含み、第2関数は、正規化関数又は標準化関数に関する関数を含む。ここで、正規化関数及び標準化関数をまとめて次元圧縮関数と呼ぶ。第2関数は、例えば、調整後の重みが各次元圧縮関数に乗算されて新たに生成される関数である。
【0048】
例えば、正規化関数は、バッチ正規化(BN)、主成分分析(PCA)、特異値分解(SVD)、ゼロ位相成分分析(ZCA)、局所的応答正規化(LRN)、大域コントラスト正規化(GCN)、局所コントラスト正規化(LCN)などである。
【0049】
また、標準化関数は、例えば、MinMaxScaler、StandardScaler、RobustScaler、Normalizerなどである。第1関数は、上述した次元圧縮関数を含む次元圧縮関数ライブラリの中から任意の次元圧縮関数が選択されて生成されてもよい。なお、次元圧縮関数ライブラリに含まれる次元圧縮関数は、上記例に限られるものではなく、次元圧縮関数として適用可能な関数を含んでもよい。また、次元圧縮関数は、学習対象のデータの特性に応じて、正規化又は標準化が選択されて、選択された関数の中から第1関数が生成されてもよい。
【0050】
なお、次元圧縮関数を用いて生成される第1関数F3(x)の例として、式(3)が挙げられるが、あくまでも一例にすぎない。
F3(x)=W1N1+W2N2+W3N3…+WnNn 式(3)
Wn:重み
Nn:次元圧縮関数
【0051】
これにより、次元圧縮関数として、適応的に変更が可能な関数を定義することが可能になる。また、単一の次元圧縮関数よりも精度が高くなるように学習済みの各重みが設定された第2関数を適用することで、各入力データのスケールの違いをそろえることができ、ニューラルネットワークの学習精度を向上させることができる。
【0052】
(ノイズ除去関数)
隠れ層の関数として、ノイズ除去(denoising operation)に関する関数を例にする場合、第1関数に用いられる複数の関数は、ノイズ除去関数として適用される関数を含み、第2関数は、ノイズ除去関数に関する関数を含む。第2関数は、例えば、調整後の重みが各ノイズ除去関数に乗算されて新たに生成される関数である。
【0053】
例えば、ノイズ除去関数は、non-local、GAUSSIAN softmax、Dot Product sets、Bilateral filter、Mean filter、Median filterなどである。第1関数は、上述したノイズ除去関数を含むノイズ除去関数ライブラリの中から任意のノイズ除去関数が選択されて生成されてもよい。なお、ノイズ除去関数ライブラリに含まれるノイズ除去関数は、上記例に限られるものではなく、ノイズ除去関数として適用可能な関数を含んでもよい。
【0054】
なお、ノイズ除去関数を用いて生成される第1関数F4(x)の例として、式(4)が挙げられるが、あくまでも一例にすぎない。
F4(x)=W1D1+W2D2+W3D3…+WnDn 式(4)
Wn:重み
Dn:ノイズ除去関数
【0055】
これにより、ノイズ除去関数として、適応的に変更が可能な関数を定義することが可能になる。また、単一のノイズ除去関数よりも精度が高くなるように学習済みの各重みが設定された第2関数を適用することで、入力データのノイズを適切に除去することができ、ニューラルネットワークの学習精度を向上させることができる。
【0056】
(平滑化関数)
隠れ層の関数として、平滑化に関する関数を例にする場合、第1関数に用いられる複数の関数は、平滑化関数として適用される関数を含み、第2関数は、平滑化関数に関する関数を含む。第2関数は、例えば、調整後の重みが各平滑化関数に乗算されて新たに生成される関数である。
【0057】
例えば、平滑化関数は、移動平均フィルター、Savitzky-Golay filter、フーリエ変換、局所回帰平滑化(LowessとLoess、局所回帰法、ロバスト局所回帰など)などである。第1関数は、上述した平滑化関数を含む平滑化関数ライブラリの中から任意の平滑化関数が選択されて生成されてもよい。なお、平滑化関数ライブラリに含まれる平滑化関数は、上記例に限られるものではなく、平滑化関数として適用可能な関数を含んでもよい。
【0058】
なお、平滑化関数を用いて生成される第1関数F5(x)の例として、式(5)が挙げられるが、あくまでも一例にすぎない。
F5(x)=W1S1+W2S2+W3S3…+WnSn 式(5)
Wn:重み
Sn:平滑化関数
【0059】
これにより、平滑化関数として、適応的に変更が可能な関数を定義することが可能になる。また、単一の平滑化関数よりも精度が高くなるように学習済みの各重みが設定された第2関数を適用することで、例えば、系列データが入力される際にノイズを適切に除去することができ、ニューラルネットワークの学習精度を向上させることができる。
【0060】
(正則化関数)
隠れ層の関数として、正則化に関する関数を例にする場合、第1関数に用いられる複数の関数は、正則化関数として適用される関数を含み、第2関数は、正則化関数に関する関数を含む。第2関数は、例えば、調整後の重みが各正則化関数に乗算されて新たに生成される関数である。
【0061】
例えば、正則化関数は、L1正則化[Tibshirani, 1996]、L2正則化[Tikhonov, 1943]、Weight decay [Hanson and Pratt, 1988]、Early Stopping [Morgan and Bourlard, 1990]、Dropout [Srivastava et al., 2014]、Batch normalization [Ioffe and Szegedy, 2015]、Mixup [Zhang et al., 2018]、Image augment [Shorten and Khoshgoftaar, 2019]
・Flooding[Ishida,2020]などである。第1関数は、上述した正則化関数を含む正則化関数ライブラリの中から任意の正則化関数が選択されて生成されてもよい。なお、正則化関数ライブラリに含まれる正則化関数は、上記例に限られるものではなく、正則化関数として適用可能な関数を含んでもよい。
【0062】
なお、正則化関数を用いて生成される第1関数F6(x)の例として、式(6)が挙げられるが、あくまでも一例にすぎない。
F6(x)=W1L1+W2L2+W3L3…+WnLn 式(6)
Wn:重み
Ln:正則化関数
【0063】
これにより、正則化関数として、適応的に変更が可能な関数を定義することが可能になる。また、単一の正則化関数よりも精度が高くなるように学習済みの各重みが設定された第2関数を適用することで、例えば、過学習を適切に防止することができ、ニューラルネットワークの学習精度を向上させることができる。
【0064】
上述した機械学習により調整された各重みを有する第2関数を用いる学習モデルに対し、テストデータで学習結果(推論結果)の評価が行われてもよい。既存の関数が用いられる学習モデルによる第1評価結果(分類問題であれば分類精度)と、第2関数が適用された学習モデルによる第2評価結果とが比較される。第2評価結果の方が第1評価結果よりも実際に高い場合に、第2関数が適用されるようにすればよい。
【0065】
以上、学習フェーズにおける情報処理装置10の処理について説明した。以下、学習フェーズで生成された第2関数が適用される学習モデルを用いて、未知のデータに対して学習(推論)を行う場合の推論フェーズにおける情報処理装置10の処理について説明する。
【0066】
取得部11は、所定のデータを取得する。例えば、取得部11は、記憶部17に記憶されたデータを取得してもよいし、ネットワークを介して受信されたデータを取得してもよいし、ユーザ操作に応じて取得されてもよい。
【0067】
学習部12は、上述した第2関数が適用される学習モデルに、取得部11により取得された所定のデータを入力して学習を行う。この学習モデルは、ニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数を用いる学習モデルである。各重みは、誤差逆伝搬法を用いてニューラルネットワークのパラメータが更新される場合、第1関数の各重みが調整され、調整後の各重みが設定される。また、ニューラルネットワークのパラメータが更新される場合、第1関数の各重みが調整されるとは、誤差逆伝搬法を用いてニューラルネットワークのパラメータが更新される前に、第1関数の各重みが一通り調整されてから、ニューラルネットワークのパラメータが更新されて、また、第1関数の各重みが一通り調整されることも含む。
【0068】
例えば、この学習モデルにおけるニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数として、誤差逆伝搬法を用いてニューラルネットワークのパラメータが更新され、第1関数の各重みが調整された場合の調整後の各重みが第1関数に設定される第2関数が適用される。
【0069】
上述したとおり、推論フェーズでは、学習フェーズにより学習され、調整された各重みが設定された第1関数(第2関数と同義)を隠れ層に適用した学習モデルが利用される。また、隠れ層に適用される第2関数について、必ずしも事前の学習が必要というわけではなく、複数の関数を複合的に用いて結合した1つの関数(例えば、線形結合する関数)に係る係数又は重みが適切に調整されていればよい。
【0070】
出力部16は、学習部12により学習の結果を出力する。例えば、出力部16は、学習部12による推論結果を出力結果として出力する。これにより、隠れ層32における関数をより適切にした学習モデルを利用して推論を行うことが可能になり、より適切な推論結果を得ることができるようになる。
【0071】
また、学習フェーズにおいて、訓練データの種類、例えば、画像データ、系列データ、テキストデータなどのデータの種類に応じて、それぞれ適切な第2関数が求められるとよい。また、記憶部17は、データの種類ごとに、適切な第2関数が対応付けられた対応データ(例、対応テーブル。
図6参照)を記憶しておく。この場合、学習部12は、取得部11により取得された所定のデータの特徴に基づいてデータの種類を特定してもよい。さらに学習部12は、特定されたデータの種類に対応する第2関数を記憶部17から抽出し、抽出された第2関数を学習モデル12aの隠れ層32の所定位置(例、所定層)に適用してもよい。
【0072】
これにより、情報処理装置10は、推論対象のデータの種類に応じて適切な第2関数を特定し、この第2関数を隠れ層32に適用することで、データに応じてより適切に推論することができる。
【0073】
<データ例>
図5は、実施形態に係る関数ライブラリの一例を示す図である。
図5に示す例では、関数IDごとに関数が関連付けられている。例えば、関数ライブラリが、活性化関数ライブラリであれば、関数1はSwish、関数2はGaussian Error Linear Unitなどである。また、関数ライブラリにIDを付与し、関数ライブラリIDごとに、活性化関数ライブラリ、次元圧縮関数ライブラリ、ノイズ除去関数ライブラリ、平滑化処理ライブラリ、正則化ライブラリなどが記憶部17に記憶されてもよい。
【0074】
学習部12は、関数ライブラリに保存されている関数全てに重みを付与した第1関数を用いてもよいし、関数ライブラリに保存されている任意の関数に重みを付与した第1関数を用いてもよい。
【0075】
図6は、実施形態に係るデータの種類及び第2関数の対応データの一例を示す図である。
図6に示す例では、データの種類Aに第2関数F
1A(x)、データの種類Bに第2関数F
1B(x)が対応付けられている。なお、第2関数にも活性化関数、正規化関数、次元圧縮関数、ノイズ除去関数、正則化関数、平滑化関数などの種類がある。そのため、データの種類ごとに、活性化関数に関する第2関数、正規化関数に関する第2関数、次元圧縮関数に関する第2関数、ノイズ除去関数に関する第2関数、正則化関数に関する第2関数、平滑化関数に関する第2関数が対応付けられてもよい。なお、
図5及び
図6に示すデータは、関数データ17aの一例である。
【0076】
<動作>
図7は、実施形態に係る学習フェーズにおける処理の一例を示すフローチャートである。
図7に示す処理は、情報処理装置10により実行される。
【0077】
ステップS102において、情報処理装置10の取得部11は、所定の学習データを取得する。学習データとして、まずは訓練データが取得され、次に評価用のテストデータが入力されてもよい。また、学習データには教師ラベルが付与されている。取得部11は、記憶部17に記憶される所定のデータを取得してもよいし、ネットワークを介して受信された所定のデータを取得してもよいし、ユーザ操作に応じて入力された所定のデータを取得してもよい。
【0078】
ステップS104において、情報処理装置10の学習部12は、ニューラルネットワークを用いる学習モデルであって、このニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数を適用する学習モデルに、所定の学習データを入力して学習を行う。
【0079】
ステップS106において、情報処理装置10の調整部13は、所定の学習データの教師ラベルに基づいて、誤差逆伝搬法を用いてニューラルネットワークのパラメータが更新される場合、第1関数の各重みを調整する。
【0080】
ステップS108において、情報処理装置10の生成部14は、学習部12による学習の結果、調整後の各重みが第1関数に設定される第2関数を生成する。例えば、損失関数が最小化することにより学習が終了すると、生成部14は、その時点での第1関数の各重みを抽出してもよい。
【0081】
これにより、第1関数の各重みが調整され、調整後の各重みが設定される第2関数を生成することで、隠れ層32に適用される関数をより適切にすることが可能になる。また、訓練データに対して生成された第2関数を適用する学習モデル12について、テストデータを入力して評価が行われてもよい。
【0082】
例えば、第1関数及び第2関数が活性化関数に関する場合、単一の活性化関数を用いる学習モデルによるテストデータの第1評価結果と、第2関数を用いる学習モデルによるテストデータの第2評価結果とが比較される。理論的には、単一の活性化関数を用いるよりも精度が良くなるように第1関数の各重みが調整されるので、第2評価結果の方が良いと推定されるが、実際にテストデータを用いて実証することが可能である。このとき、仮にテストデータにおいて第2評価結果の方が悪い場合、第1関数の各重みの調整の仕方や、各重みの初期値を変更して、再度訓練データを用いて上述した学習が実行されてもよい。
【0083】
これにより、テストデータを用いて評価した後の第2関数が記憶され、適用されることで、学習精度向上の信頼性を高めることができる。また、記憶部17は、学習データごとに、学習データの特徴に基づく種類と、第2関数とを対応付けて保持しておくとよい。
【0084】
図8は、実施形態に係る推論フェーズにおける処理の一例を示すフローチャートである。
図8に示す処理は、情報処理装置10により実行される。また、
図8に示す処理は、
図7に示す処理が実行され、適切な第2関数が適用可能な状態にある。
【0085】
ステップS202において、情報処理装置10の学習部12は、学習モデルにおけるニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数として、誤差逆伝搬法を用いてニューラルネットワークのパラメータが更新され、第1関数の各重みが調整された場合の調整後の各重みが第1関数に設定される第2関数を適用する。
【0086】
ステップS204において、取得部11は、所定のデータを取得する。
【0087】
ステップS206において、学習部12は、第2関数が適用される学習モデルに所定のデータを入力して学習(推論)を行う。
【0088】
ステップS208において、出力部16は、学習部12による学習(推論)の結果を出力する。
【0089】
これにより、学習モデルの隠れ層における関数として、単一の関数を用いるよりも適切な関数が適用された学習モデルを利用することで、推論の精度を向上させることができる。なお、
図8における処理において、ステップS202とステップS204とを入れ替えて、学習部12は、取得されたデータの種類に対応する第2関数を特定し、特定された第2関数を適用した学習モデルを利用してもよい。
【0090】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。また、学習フェーズにおける情報処理装置10と、推論フェーズにおける情報処理装置10とは別のコンピュータでもよい。この場合、生成された第2関数がネットワークを介して送信されてもよい。
【符号の説明】
【0091】
10…情報処理装置、10a…CPU、10b…RAM、10c…ROM、10d…通信部、10e…入力部、10f…表示部、11…取得部、12…学習部、12a…学習モデル、13…調整部、14…生成部、15…選択部、16…出力部、17…記憶部、17a…関数データ
【手続補正書】
【提出日】2021-06-15
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
所定の学習データを取得する取得部と、
ニューラルネットワークを用いる学習モデルであって、前記ニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数を前記隠れ層の所定のノード群に共通して適用する前記学習モデルに、前記所定の学習データを入力して学習を行う学習部と、
前記所定の学習データの教師ラベルに基づいて、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新される場合、前記第1関数の各重みを調整する調整部と、
前記学習の結果、調整後の前記各重みが前記第1関数に設定される第2関数を生成する生成部と、
を備える情報処理装置。
【請求項2】
所定の学習データを取得する取得部と、
ニューラルネットワークを用いる学習モデルであって、前記ニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数を適用する前記学習モデルに、前記所定の学習データを入力して学習を行う学習部と、
前記所定の学習データの教師ラベルに基づいて、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新される場合、前記第1関数の各重みを調整する調整部と、
前記学習の結果、調整後の前記各重みが前記第1関数に設定される第2関数を生成する生成部と、
前記第2関数と前記所定の学習データの種類とを対応付けて記憶する記憶部と、
を備える情報処理装置。
【請求項3】
前記各関数に活性化関数が用いられる場合、平滑化された活性化関数を含む第1群と、任意の活性化関数を含む第2群とのうち、いずれかの群を選択する選択部をさらに備え、
前記第1関数に用いられる複数の関数は、選択された群の中の活性化関数が用いられる、請求項1又は2に記載の情報処理装置。
【請求項4】
前記各関数は、正規化関数、標準化関数、ノイズ除去関数、平滑化関数、及び正則化関数のいずれか1つの関数である、請求項1又は2に記載の情報処理装置。
【請求項5】
情報処理装置に備えられたプロセッサが、
所定の学習データを取得することと、
ニューラルネットワークを用いる学習モデルであって、前記ニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数を前記隠れ層の所定のノード群に共通して適用する前記学習モデルに、前記所定の学習データを入力して学習を行うことと、
前記所定の学習データの教師ラベルに基づいて、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新される場合、前記第1関数の各重みを調整すること、
前記学習の結果、調整後の前記各重みが前記第1関数に設定される第2関数を生成することと、
を実行する情報処理方法。
【請求項6】
情報処理装置に備えられたプロセッサが、
所定の学習データを取得することと、
ニューラルネットワークを用いる学習モデルであって、前記ニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数を適用する前記学習モデルに、前記所定の学習データを入力して学習を行うことと、
前記所定の学習データの教師ラベルに基づいて、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新される場合、前記第1関数の各重みを調整すること、
前記学習の結果、調整後の前記各重みが前記第1関数に設定される第2関数を生成することと、
前記第2関数と前記所定の学習データの種類とを対応付けることと、
を実行する情報処理方法。
【請求項7】
情報処理装置に備えられたプロセッサに、
所定の学習データを取得することと、
ニューラルネットワークを用いる学習モデルであって、前記ニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数を前記隠れ層の所定のノード群に共通して適用する前記学習モデルに、前記所定の学習データを入力して学習を行うことと、
前記所定の学習データの教師ラベルに基づいて、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新される場合、前記第1関数の各重みを調整すること、
前記学習の結果、調整後の前記各重みが前記第1関数に設定される第2関数を生成することと、
を実行させるプログラム。
【請求項8】
情報処理装置に備えられたプロセッサに、
所定の学習データを取得することと、
ニューラルネットワークを用いる学習モデルであって、前記ニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数を適用する前記学習モデルに、前記所定の学習データを入力して学習を行うことと、
前記所定の学習データの教師ラベルに基づいて、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新される場合、前記第1関数の各重みを調整すること、
前記学習の結果、調整後の前記各重みが前記第1関数に設定される第2関数を生成することと、
前記第2関数と前記所定の学習データの種類とを対応付けることと、
を実行させるプログラム。
【請求項9】
情報処理装置に備えられたプロセッサが、
所定のデータを取得すること、
学習モデルにおけるニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数として、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新され、前記第1関数の各重みが調整された場合の調整後の各重みが前記第1関数に設定される第2関数が前記隠れ層の所定のノード群に共通して適用される、前記学習モデルに前記所定のデータを入力して学習を行うことと、
前記学習の結果を出力すること、
を実行する情報処理方法。
【請求項10】
情報処理装置に備えられたプロセッサが、
所定のデータを取得すること、
前記所定のデータの特徴に基づいて当該所定のデータの種類を特定すること、
前記所定のデータの各種類に対応する第2関数を記憶する記憶部から、特定された種類に対応する第2関数を抽出することであって、前記第2関数は、学習モデルにおけるニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数に対し、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新され、前記第1関数の各重みが調整された場合の調整後の各重みが前記第1関数に設定される関数である、抽出すること、
前記第2関数が前記隠れ層に適用される前記学習モデルに前記所定のデータを入力して学習を行うことと、
前記学習の結果を出力すること、
を実行する情報処理方法。
【請求項11】
プロセッサを備える情報処理装置であって、
前記プロセッサが、
所定のデータを取得すること、
学習モデルにおけるニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数として、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新され、前記第1関数の各重みが調整された場合の調整後の各重みが前記第1関数に設定される第2関数が前記隠れ層の所定のノード群に共通して適用される、前記学習モデルに前記所定のデータを入力して学習を行うことと、
前記学習の結果を出力すること、
を実行する情報処理装置。
【請求項12】
プロセッサを備える情報処理装置であって、
前記プロセッサが、
所定のデータを取得すること、
前記所定のデータの特徴に基づいて当該所定のデータの種類を特定すること、
前記所定のデータの各種類に対応する第2関数を記憶する記憶部から、特定された種類に対応する第2関数を抽出することであって、前記第2関数は、学習モデルにおけるニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数に対し、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新され、前記第1関数の各重みが調整された場合の調整後の各重みが前記第1関数に設定される関数である、抽出すること、
前記第2関数が前記隠れ層に適用される前記学習モデルに前記所定のデータを入力して学習を行うことと、
前記学習の結果を出力すること、
を実行する情報処理装置。
【請求項13】
情報処理装置に備えられたプロセッサに、
所定のデータを取得すること、
学習モデルにおけるニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数として、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新され、前記第1関数の各重みが調整された場合の調整後の各重みが前記第1関数に設定される第2関数が前記隠れ層の所定のノード群に共通して適用される、前記学習モデルに前記所定のデータを入力して学習を行うことと、
前記学習の結果を出力すること、
を実行させるプログラム。
【請求項14】
情報処理装置に備えられたプロセッサに、
所定のデータを取得すること、
前記所定のデータの特徴に基づいて当該所定のデータの種類を特定すること、
前記所定のデータの各種類に対応する第2関数を記憶する記憶部から、特定された種類に対応する第2関数を抽出することであって、前記第2関数は、学習モデルにおけるニューラルネットワークの隠れ層に使用可能な各関数に重み付けして生成される第1関数に対し、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新され、前記第1関数の各重みが調整された場合の調整後の各重みが前記第1関数に設定される関数である、抽出すること、
前記第2関数が前記隠れ層に適用される前記学習モデルに前記所定のデータを入力して学習を行うことと、
前記学習の結果を出力すること、
を実行させるプログラム。
【請求項15】
所定の学習データを取得する取得部と、
ニューラルネットワークを用いる学習モデルであって、前記ニューラルネットワークの隠れ層に使用可能な平滑化された各活性化関数に重み付けして生成される第1関数を適用する前記学習モデルに、前記所定の学習データを入力して学習を行う学習部と、
前記所定の学習データの教師ラベルに基づいて、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新される場合、前記第1関数の各重みを調整する調整部と、
前記学習の結果、調整後の前記各重みが前記第1関数に設定される第2関数を生成する生成部と、
を備える情報処理装置。
【請求項16】
情報処理装置に備えられたプロセッサが、
所定の学習データを取得することと、
ニューラルネットワークを用いる学習モデルであって、前記ニューラルネットワークの隠れ層に使用可能な平滑化された各活性化関数に重み付けして生成される第1関数を適用する前記学習モデルに、前記所定の学習データを入力して学習を行うことと、
前記所定の学習データの教師ラベルに基づいて、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新される場合、前記第1関数の各重みを調整すること、
前記学習の結果、調整後の前記各重みが前記第1関数に設定される第2関数を生成することと、
を実行する情報処理方法。
【請求項17】
情報処理装置に備えられたプロセッサに、
所定の学習データを取得することと、
ニューラルネットワークを用いる学習モデルであって、前記ニューラルネットワークの隠れ層に使用可能な平滑化された各活性化関数に重み付けして生成される第1関数を適用する前記学習モデルに、前記所定の学習データを入力して学習を行うことと、
前記所定の学習データの教師ラベルに基づいて、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新される場合、前記第1関数の各重みを調整すること、
前記学習の結果、調整後の前記各重みが前記第1関数に設定される第2関数を生成することと、
を実行させるプログラム。
【請求項18】
情報処理装置に備えられたプロセッサが、
所定のデータを取得すること、
学習モデルにおけるニューラルネットワークの隠れ層に使用可能な平滑化された各活性化関数に重み付けして生成される第1関数として、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新され、前記第1関数の各重みが調整された場合の調整後の各重みが前記第1関数に設定される第2関数が適用される、前記学習モデルに前記所定のデータを入力して学習を行うことと、
前記学習の結果を出力すること、
を実行する情報処理方法。
【請求項19】
プロセッサを備える情報処理装置であって、
前記プロセッサが、
所定のデータを取得すること、
学習モデルにおけるニューラルネットワークの隠れ層に使用可能な平滑化された各活性化関数に重み付けして生成される第1関数として、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新され、前記第1関数の各重みが調整された場合の調整後の各重みが前記第1関数に設定される第2関数が適用される、前記学習モデルに前記所定のデータを入力して学習を行うことと、
前記学習の結果を出力すること、
を実行する情報処理装置。
【請求項20】
情報処理装置に備えられたプロセッサに、
所定のデータを取得すること、
学習モデルにおけるニューラルネットワークの隠れ層に使用可能な平滑化された各活性化関数に重み付けして生成される第1関数として、誤差逆伝搬法を用いて前記ニューラルネットワークのパラメータが更新され、前記第1関数の各重みが調整された場合の調整後の各重みが前記第1関数に設定される第2関数が適用される、前記学習モデルに前記所定のデータを入力して学習を行うことと、
前記学習の結果を出力すること、
を実行させるプログラム。