ARCS6 AR6-REV.24062600
読み取り中…
検索中…
一致する文字列を見つけられません
ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD > クラステンプレート

単層パーセプトロンクラス [詳解]

#include <ARCS6/lib/SingleLayerPerceptron.hh>

ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD > 連携図

公開メンバ関数

 SingleLayerPerceptron ()
 コンストラクタ
 
 SingleLayerPerceptron (SingleLayerPerceptron &&r)
 ムーブコンストラクタ
 
 ~SingleLayerPerceptron ()
 デストラクタ
 
void InitWeightUsingGaussianRandom (const double sigma)
 重み行列の正規分布乱数による初期化
 
void InitWeight (size_t Nprev)
 重み行列の初期化
 
void SetGainOfSGD (double epsilon)
 確率的勾配降下法の更新ゲイン(学習率)の設定
 
void SetGainOfMomentumSGD (double epsilon, double alpha)
 モーメンタム確率的勾配降下法の更新ゲイン(学習率)の設定
 
void SetGainOfAdaGrad (double epsilon, double zero)
 AdaGrad勾配降下法の更新ゲイン(学習率)の設定
 
void SetGainOfRMSprop (double epsilon, double alpha, double zero)
 RMSprop勾配降下法の更新ゲイン(学習率)の設定
 
void SetGainOfAdaDelta (double alpha, double zero)
 AdaDelta勾配降下法の更新ゲイン(学習率)の設定
 
void SetGainOfAdam (double epsilon, double alpha, double beta, double zero)
 Adam勾配降下法の更新ゲイン(学習率)の設定
 
void SetDropoutRate (double DropoutRate)
 ドロップアウト率の設定
 
void CalcForwardForTraining (const Matrix< 1, N > &zprev, Matrix< 1, P > &z)
 順伝播計算(ベクトル入出力訓練版)
 
void CalcForwardForEstimation (const Matrix< 1, N > &zprev, Matrix< 1, P > &z)
 順伝播計算(ベクトル入出力推定版)
 
void CalcForwardForTraining (const Matrix< M, N > &Zprev, Matrix< M, P > &Z)
 順伝播計算(ミニバッチ訓練版)
 
void CalcForwardForEstimation (const Matrix< M, N > &Zprev, Matrix< M, P > &Z)
 順伝播計算(ミニバッチ推定版)
 
void CalcDelta (const Matrix< M, P > &WDeltaNext, Matrix< M, N > &WDelta)
 入力層と内部層(隠れ層)用の誤差行列の計算
 
void CalcDeltaForOutputLayer (const Matrix< M, P > &Y, const Matrix< M, P > &D, Matrix< M, N > &WDelta)
 出力層用の誤差行列の計算
 
void CalcDropout (void)
 ドロップアウトマスクの計算
 
void UpdateWeight (const Matrix< M, N > &Zprev)
 重み行列とバイアスベクトルの更新
 
void DispWeight (void)
 重み行列の表示
 
void DispBias (void)
 バイアスベクトルの表示
 
void DispSettings (void)
 パーセプトロン設定値の表示
 
double GetLoss (const Matrix< M, P > &Y, const Matrix< M, P > &D)
 訓練/テスト誤差を返す関数
 
double GetCrossEntropy (const Matrix< M, P > &Y, const Matrix< M, P > &D)
 クロスエントロピーを返す関数
 
template<size_t NN, size_t MM>
void NomalizeDataset (Matrix< NN, MM > &x)
 生計測データセットの正規化(標準化)
 
void NormalizeInput (Matrix< 1, P > &x)
 入力データの正規化(標準化)
 
void SaveWeightAndBias (const std::string &WeightName, const std::string &BiasName)
 重み行列とバイアスベクトルをCSVファイルとして出力する関数
 
void LoadWeightAndBias (const std::string &WeightName, const std::string &BiasName)
 重み行列とバイアスベクトルをCSVファイルとして入力する関数
 
void SaveSettings (const std::string &SettingName)
 パーセプトロンの設定をCSVファイルに保存する関数
 
void LoadSettings (const std::string &SettingName)
 CSVファイルからパーセプトロンの設定を読み込む関数
 

限定公開メンバ関数

void CalcSGD (const Matrix< N, P > &DiffW, const Matrix< 1, P > &Diffb)
 ヴァニラ確率的勾配降下法
 
void CalcMomentumSGD (const Matrix< N, P > &DiffW, const Matrix< 1, P > &Diffb)
 モーメンタム確率的勾配降下法
 
void CalcAdaGrad (const Matrix< N, P > &DiffW, const Matrix< 1, P > &Diffb)
 AdaGrad勾配降下法
 
void CalcRMSprop (const Matrix< N, P > &DiffW, const Matrix< 1, P > &Diffb)
 RMSprop勾配降下法
 
void CalcAdaDelta (const Matrix< N, P > &DiffW, const Matrix< 1, P > &Diffb)
 AdaDelta勾配降下法
 
void CalcAdam (const Matrix< N, P > &DiffW, const Matrix< 1, P > &Diffb)
 Adam勾配降下法
 

限定公開変数類

Matrix< 1, P > u
 状態ベクトル
 
Matrix< M, P > U
 状態行列
 
Matrix< N, P > W
 重み行列
 
Matrix< 1, P > b
 バイアスベクトル
 
Matrix< 1, M > l
 1ベクトル
 
Matrix< M, 1 > lT
 1ベクトルの転置
 
Matrix< 1, P > delta
 誤差ベクトル
 
Matrix< M, P > Delta
 誤差行列
 
Matrix< 1, P > fpu
 活性化関数の微分を通した後のベクトル
 
Matrix< M, P > fpU
 活性化関数の微分を通した後の行列
 
Matrix< N, P > dW
 重み更新差分値
 
Matrix< 1, P > db
 バイアス更新差分値
 
Matrix< N, P > DW
 更新ゲイン乗算後の重み更新差分値
 
Matrix< 1, P > Db
 更新ゲイン乗算後のバイアス更新差分値
 
Matrix< N, P > HW
 AdaGrad, RMSprop, Adam用
 
Matrix< 1, P > Hb
 AdaGrad, RMSprop, Adam用
 
Matrix< N, P > GW
 AdaDelta, Adam用
 
Matrix< 1, P > Gb
 AdaDelta, Adam用
 
Matrix< N, P > HWhat
 Adam用
 
Matrix< N, P > GWhat
 Adam用
 
Matrix< 1, P > Hbhat
 Adam用
 
Matrix< 1, P > Gbhat
 Adam用
 
size_t SGDcount
 Adam勾配降下法用のカウンタ
 
RandomGenerator DropRand
 ドロップアウト用メルセンヌ・ツイスタ
 
Matrix< 1, P > DropMask
 ドロップアウト用マスクベクトル
 
double xbar
 データセット正規化(標準化)用の平均値
 
double sigma
 データセット正規化(標準化)用の標準偏差
 
double eps
 更新ゲイン(SGD, Momentum, AdaGrad, RMSprop)
 
double alph
 更新ゲイン(Momentum, RMSprop, AdaDelta)
 
double bet
 更新ゲイン(Adam)
 
double NearZero
 ゼロ割回避用のゼロに近い値
 
double DropRate
 ドロップアウト率
 

詳解

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
class ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >

単層パーセプトロンクラス

テンプレート引数
N入力の数
Pパーセプトロンの数
Mミニバッチ数
AF活性化関数の種類
IT初期化のタイプ
GD勾配降下法のタイプ
DDドロップアウト動作フラグ

構築子と解体子

◆ SingleLayerPerceptron()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::SingleLayerPerceptron ( SingleLayerPerceptron< N, P, M, AF, IT, GD, DD > && r)
inline

ムーブコンストラクタ

引数
[in]r右辺値

関数詳解

◆ CalcAdaDelta()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::CalcAdaDelta ( const Matrix< N, P > & DiffW,
const Matrix< 1, P > & Diffb )
inlineprotected

AdaDelta勾配降下法

引数
[in]DiffW重み更新差分値
[in]Diffbバイアス更新差分値

◆ CalcAdaGrad()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::CalcAdaGrad ( const Matrix< N, P > & DiffW,
const Matrix< 1, P > & Diffb )
inlineprotected

AdaGrad勾配降下法

引数
[in]DiffW重み更新差分値
[in]Diffbバイアス更新差分値

◆ CalcAdam()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::CalcAdam ( const Matrix< N, P > & DiffW,
const Matrix< 1, P > & Diffb )
inlineprotected

Adam勾配降下法

引数
[in]DiffW重み更新差分値
[in]Diffbバイアス更新差分値

◆ CalcDelta()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::CalcDelta ( const Matrix< M, P > & WDeltaNext,
Matrix< M, N > & WDelta )
inline

入力層と内部層(隠れ層)用の誤差行列の計算

引数
[in]WDeltaNext後ろ側の層からの重み誤差行列
[out]WDelta重み誤差行列

◆ CalcDeltaForOutputLayer()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::CalcDeltaForOutputLayer ( const Matrix< M, P > & Y,
const Matrix< M, P > & D,
Matrix< M, N > & WDelta )
inline

出力層用の誤差行列の計算

引数
[in]Y出力値行列
[in]D目標値行列
[out]WDelta重み誤差行列

◆ CalcForwardForEstimation() [1/2]

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::CalcForwardForEstimation ( const Matrix< 1, N > & zprev,
Matrix< 1, P > & z )
inline

順伝播計算(ベクトル入出力推定版)

引数
[in]zprev前の層からの入力ベクトル
[in]z出力ベクトル

◆ CalcForwardForEstimation() [2/2]

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::CalcForwardForEstimation ( const Matrix< M, N > & Zprev,
Matrix< M, P > & Z )
inline

順伝播計算(ミニバッチ推定版)

引数
[in]Zprev前の層からの入力行列
[in]Z出力行列

◆ CalcForwardForTraining() [1/2]

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::CalcForwardForTraining ( const Matrix< 1, N > & zprev,
Matrix< 1, P > & z )
inline

順伝播計算(ベクトル入出力訓練版)

引数
[in]zprev前の層からの入力ベクトル
[in]z出力ベクトル

◆ CalcForwardForTraining() [2/2]

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::CalcForwardForTraining ( const Matrix< M, N > & Zprev,
Matrix< M, P > & Z )
inline

順伝播計算(ミニバッチ訓練版)

引数
[in]Zprev前の層からの入力行列
[in]Z出力行列

◆ CalcMomentumSGD()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::CalcMomentumSGD ( const Matrix< N, P > & DiffW,
const Matrix< 1, P > & Diffb )
inlineprotected

モーメンタム確率的勾配降下法

引数
[in]DiffW重み更新差分値
[in]Diffbバイアス更新差分値

◆ CalcRMSprop()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::CalcRMSprop ( const Matrix< N, P > & DiffW,
const Matrix< 1, P > & Diffb )
inlineprotected

RMSprop勾配降下法

引数
[in]DiffW重み更新差分値
[in]Diffbバイアス更新差分値

◆ CalcSGD()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::CalcSGD ( const Matrix< N, P > & DiffW,
const Matrix< 1, P > & Diffb )
inlineprotected

ヴァニラ確率的勾配降下法

引数
[in]DiffW重み更新差分値
[in]Diffbバイアス更新差分値

◆ GetCrossEntropy()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
double ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::GetCrossEntropy ( const Matrix< M, P > & Y,
const Matrix< M, P > & D )
inline

クロスエントロピーを返す関数

引数
[in]Y出力行列
[in]D目標値行列
戻り値
クロスエントロピー誤差

◆ GetLoss()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
double ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::GetLoss ( const Matrix< M, P > & Y,
const Matrix< M, P > & D )
inline

訓練/テスト誤差を返す関数

引数
[in]Y出力行列
[in]D目標値行列
戻り値
訓練/テスト誤差(Loss)

◆ InitWeight()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::InitWeight ( size_t Nprev)
inline

重み行列の初期化

引数
[in]Nprev前層のユニット数

◆ InitWeightUsingGaussianRandom()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::InitWeightUsingGaussianRandom ( const double sigma)
inline

重み行列の正規分布乱数による初期化

引数
sigma正規分布乱数の標準偏差

◆ LoadSettings()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::LoadSettings ( const std::string & SettingName)
inline

CSVファイルからパーセプトロンの設定を読み込む関数

引数
[in]SettingName設定値CSVファイル名

◆ LoadWeightAndBias()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::LoadWeightAndBias ( const std::string & WeightName,
const std::string & BiasName )
inline

重み行列とバイアスベクトルをCSVファイルとして入力する関数

引数
[in]WeightName重み行列CSVファイル名
[in]BiasNameバイアスベクトルCSVファイル名

◆ NomalizeDataset()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
template<size_t NN, size_t MM>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::NomalizeDataset ( Matrix< NN, MM > & x)
inline

生計測データセットの正規化(標準化)

引数
[in]x生計測データ

◆ NormalizeInput()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::NormalizeInput ( Matrix< 1, P > & x)
inline

入力データの正規化(標準化)

引数
[in]x入力データ

◆ SaveSettings()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::SaveSettings ( const std::string & SettingName)
inline

パーセプトロンの設定をCSVファイルに保存する関数

引数
[in]SettingName設定値CSVファイル名

◆ SaveWeightAndBias()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::SaveWeightAndBias ( const std::string & WeightName,
const std::string & BiasName )
inline

重み行列とバイアスベクトルをCSVファイルとして出力する関数

引数
[in]WeightName重み行列CSVファイル名
[in]BiasNameバイアスベクトルCSVファイル名

◆ SetDropoutRate()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::SetDropoutRate ( double DropoutRate)
inline

ドロップアウト率の設定

引数
[in]DropoutRateドロップアウト率(1のときドロップアウトしない,0.5のとき半分ドロップアウト,0のとき全部ドロップアウト)

◆ SetGainOfAdaDelta()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::SetGainOfAdaDelta ( double alpha,
double zero )
inline

AdaDelta勾配降下法の更新ゲイン(学習率)の設定

引数
[in]alpha更新ゲイン(学習率)
[in]zeroゼロ割回避用の係数

◆ SetGainOfAdaGrad()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::SetGainOfAdaGrad ( double epsilon,
double zero )
inline

AdaGrad勾配降下法の更新ゲイン(学習率)の設定

引数
[in]epsilon更新ゲイン(学習率)
[in]zeroゼロ割回避用の係数

◆ SetGainOfAdam()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::SetGainOfAdam ( double epsilon,
double alpha,
double beta,
double zero )
inline

Adam勾配降下法の更新ゲイン(学習率)の設定

引数
[in]epsilon更新ゲイン(学習率)
[in]alpha更新ゲイン(学習率)
[in]beta更新ゲイン(学習率)
[in]zeroゼロ割回避用の係数

◆ SetGainOfMomentumSGD()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::SetGainOfMomentumSGD ( double epsilon,
double alpha )
inline

モーメンタム確率的勾配降下法の更新ゲイン(学習率)の設定

引数
[in]epsilon更新ゲイン(学習率)
[in]alpha更新ゲイン(運動量項の学習率)

◆ SetGainOfRMSprop()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::SetGainOfRMSprop ( double epsilon,
double alpha,
double zero )
inline

RMSprop勾配降下法の更新ゲイン(学習率)の設定

引数
[in]epsilon更新ゲイン(学習率)
[in]alpha更新ゲイン(学習率)
[in]zeroゼロ割回避用の係数

◆ SetGainOfSGD()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::SetGainOfSGD ( double epsilon)
inline

確率的勾配降下法の更新ゲイン(学習率)の設定

引数
[in]epsilon更新ゲイン(学習率)

◆ UpdateWeight()

template<size_t N, size_t P, size_t M, ActvFunc AF, NnInitTypes IT = NnInitTypes::XAVIER, NnDescentTypes GD = NnDescentTypes::MOMENTUM, NnDropout DD = NnDropout::DISABLE>
void ARCS::SingleLayerPerceptron< N, P, M, AF, IT, GD, DD >::UpdateWeight ( const Matrix< M, N > & Zprev)
inline

重み行列とバイアスベクトルの更新

引数
[in]Zprev前の層からの入力行列

このクラス詳解は次のファイルから抽出されました: