ARCS6 AR6-REV.24062600
読み取り中…
検索中…
一致する文字列を見つけられません
ARCS::FeedforwardNeuralNet3< DsName, InSize, HidSize, OutSize, MinbatSize, MinbatNum, Epoch, EpochDisp, InFunc, HidFunc, OutFunc, InitType, GradDesType, DropOutEnable, DsShfl > クラステンプレート

多層パーセプトロンクラス3層版 [詳解]

#include <ARCS6/lib/FeedforwardNeuralNet3.hh>

公開メンバ関数

 FeedforwardNeuralNet3 ()
 コンストラクタ
 
 FeedforwardNeuralNet3 (FeedforwardNeuralNet3 &&r)
 ムーブコンストラクタ
 
 ~FeedforwardNeuralNet3 ()
 デストラクタ
 
void InitWeight (void)
 重み行列の初期化
 
void SetGainOfMomentumSGD (double epsilon, double alpha)
 モーメンタム確率的勾配降下法の更新ゲイン(学習率)の設定
 
void SetDropoutRate (double DropoutRate)
 ドロップアウト率の設定
 
void Train (DsName &Datasets)
 誤差逆伝播法による訓練をする関数
 
void DispWeight (void)
 重み行列の表示
 
void DispBias (void)
 バイアスベクトルの表示
 
void DispSettings (void)
 パーセプトロン設定値の表示
 
void DispFinalTestData (void)
 最後の学習結果を使った順伝播出力値と正解値の確認
 
void WriteLeaningCurvePNG (const std::string &FileName, const int Ymin, const int Ymax)
 学習曲線グラフのPNG画像ファイルを書き出す関数
 
void Estimate (const Matrix< 1, InSize > &x, Matrix< 1, OutSize > &y)
 訓練済みニューラルネットワークを使った推定計算
 
void SaveWeightAndBias (const std::string &FileName)
 各レイヤの重み行列とバイアスベクトルをCSVファイルとして保存する関数
 
void LoadWeightAndBias (const std::string &FileName)
 CSVファイルから各レイヤの重み行列とバイアスベクトルに読み込む関数
 
void SaveSettings (const std::string &FileName)
 各レイヤのパーセプトロンの設定値をCSVファイルとして保存する関数
 
void LoadSettings (const std::string &FileName)
 CSVファイルから各レイヤのパーセプトロンの設定値を読み込む関数
 

詳解

template<typename DsName, size_t InSize, size_t HidSize, size_t OutSize, size_t MinbatSize, size_t MinbatNum, size_t Epoch, size_t EpochDisp, ActvFunc InFunc, ActvFunc HidFunc, ActvFunc OutFunc, NnInitTypes InitType, NnDescentTypes GradDesType, NnDropout DropOutEnable, NnShuffle DsShfl>
class ARCS::FeedforwardNeuralNet3< DsName, InSize, HidSize, OutSize, MinbatSize, MinbatNum, Epoch, EpochDisp, InFunc, HidFunc, OutFunc, InitType, GradDesType, DropOutEnable, DsShfl >

多層パーセプトロンクラス3層版

テンプレート引数
DsNameデータセットクラス名
EpochDispエポックループ表示数
DsShflエポック毎にシャッフルするかどうかの設定

構築子と解体子

◆ FeedforwardNeuralNet3()

template<typename DsName , size_t InSize, size_t HidSize, size_t OutSize, size_t MinbatSize, size_t MinbatNum, size_t Epoch, size_t EpochDisp, ActvFunc InFunc, ActvFunc HidFunc, ActvFunc OutFunc, NnInitTypes InitType, NnDescentTypes GradDesType, NnDropout DropOutEnable, NnShuffle DsShfl>
ARCS::FeedforwardNeuralNet3< DsName, InSize, HidSize, OutSize, MinbatSize, MinbatNum, Epoch, EpochDisp, InFunc, HidFunc, OutFunc, InitType, GradDesType, DropOutEnable, DsShfl >::FeedforwardNeuralNet3 ( FeedforwardNeuralNet3< DsName, InSize, HidSize, OutSize, MinbatSize, MinbatNum, Epoch, EpochDisp, InFunc, HidFunc, OutFunc, InitType, GradDesType, DropOutEnable, DsShfl > && r)
inline

ムーブコンストラクタ

引数
[in]r右辺値

関数詳解

◆ Estimate()

template<typename DsName , size_t InSize, size_t HidSize, size_t OutSize, size_t MinbatSize, size_t MinbatNum, size_t Epoch, size_t EpochDisp, ActvFunc InFunc, ActvFunc HidFunc, ActvFunc OutFunc, NnInitTypes InitType, NnDescentTypes GradDesType, NnDropout DropOutEnable, NnShuffle DsShfl>
void ARCS::FeedforwardNeuralNet3< DsName, InSize, HidSize, OutSize, MinbatSize, MinbatNum, Epoch, EpochDisp, InFunc, HidFunc, OutFunc, InitType, GradDesType, DropOutEnable, DsShfl >::Estimate ( const Matrix< 1, InSize > & x,
Matrix< 1, OutSize > & y )
inline

訓練済みニューラルネットワークを使った推定計算

引数
[in]xニューラルネットワークの入力ベクトル
[out]yニューラルネットワークの出力ベクトル

◆ LoadSettings()

template<typename DsName , size_t InSize, size_t HidSize, size_t OutSize, size_t MinbatSize, size_t MinbatNum, size_t Epoch, size_t EpochDisp, ActvFunc InFunc, ActvFunc HidFunc, ActvFunc OutFunc, NnInitTypes InitType, NnDescentTypes GradDesType, NnDropout DropOutEnable, NnShuffle DsShfl>
void ARCS::FeedforwardNeuralNet3< DsName, InSize, HidSize, OutSize, MinbatSize, MinbatNum, Epoch, EpochDisp, InFunc, HidFunc, OutFunc, InitType, GradDesType, DropOutEnable, DsShfl >::LoadSettings ( const std::string & FileName)
inline

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

引数
[in]FileNameCSVファイル名(拡張子なし)

◆ LoadWeightAndBias()

template<typename DsName , size_t InSize, size_t HidSize, size_t OutSize, size_t MinbatSize, size_t MinbatNum, size_t Epoch, size_t EpochDisp, ActvFunc InFunc, ActvFunc HidFunc, ActvFunc OutFunc, NnInitTypes InitType, NnDescentTypes GradDesType, NnDropout DropOutEnable, NnShuffle DsShfl>
void ARCS::FeedforwardNeuralNet3< DsName, InSize, HidSize, OutSize, MinbatSize, MinbatNum, Epoch, EpochDisp, InFunc, HidFunc, OutFunc, InitType, GradDesType, DropOutEnable, DsShfl >::LoadWeightAndBias ( const std::string & FileName)
inline

CSVファイルから各レイヤの重み行列とバイアスベクトルに読み込む関数

引数
[in]FileNameCSVファイル名(拡張子なし)

◆ SaveSettings()

template<typename DsName , size_t InSize, size_t HidSize, size_t OutSize, size_t MinbatSize, size_t MinbatNum, size_t Epoch, size_t EpochDisp, ActvFunc InFunc, ActvFunc HidFunc, ActvFunc OutFunc, NnInitTypes InitType, NnDescentTypes GradDesType, NnDropout DropOutEnable, NnShuffle DsShfl>
void ARCS::FeedforwardNeuralNet3< DsName, InSize, HidSize, OutSize, MinbatSize, MinbatNum, Epoch, EpochDisp, InFunc, HidFunc, OutFunc, InitType, GradDesType, DropOutEnable, DsShfl >::SaveSettings ( const std::string & FileName)
inline

各レイヤのパーセプトロンの設定値をCSVファイルとして保存する関数

引数
[in]FileNameCSVファイル名(拡張子なし)

◆ SaveWeightAndBias()

template<typename DsName , size_t InSize, size_t HidSize, size_t OutSize, size_t MinbatSize, size_t MinbatNum, size_t Epoch, size_t EpochDisp, ActvFunc InFunc, ActvFunc HidFunc, ActvFunc OutFunc, NnInitTypes InitType, NnDescentTypes GradDesType, NnDropout DropOutEnable, NnShuffle DsShfl>
void ARCS::FeedforwardNeuralNet3< DsName, InSize, HidSize, OutSize, MinbatSize, MinbatNum, Epoch, EpochDisp, InFunc, HidFunc, OutFunc, InitType, GradDesType, DropOutEnable, DsShfl >::SaveWeightAndBias ( const std::string & FileName)
inline

各レイヤの重み行列とバイアスベクトルをCSVファイルとして保存する関数

引数
[in]FileNameCSVファイル名(拡張子なし)

◆ SetDropoutRate()

template<typename DsName , size_t InSize, size_t HidSize, size_t OutSize, size_t MinbatSize, size_t MinbatNum, size_t Epoch, size_t EpochDisp, ActvFunc InFunc, ActvFunc HidFunc, ActvFunc OutFunc, NnInitTypes InitType, NnDescentTypes GradDesType, NnDropout DropOutEnable, NnShuffle DsShfl>
void ARCS::FeedforwardNeuralNet3< DsName, InSize, HidSize, OutSize, MinbatSize, MinbatNum, Epoch, EpochDisp, InFunc, HidFunc, OutFunc, InitType, GradDesType, DropOutEnable, DsShfl >::SetDropoutRate ( double DropoutRate)
inline

ドロップアウト率の設定

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

◆ SetGainOfMomentumSGD()

template<typename DsName , size_t InSize, size_t HidSize, size_t OutSize, size_t MinbatSize, size_t MinbatNum, size_t Epoch, size_t EpochDisp, ActvFunc InFunc, ActvFunc HidFunc, ActvFunc OutFunc, NnInitTypes InitType, NnDescentTypes GradDesType, NnDropout DropOutEnable, NnShuffle DsShfl>
void ARCS::FeedforwardNeuralNet3< DsName, InSize, HidSize, OutSize, MinbatSize, MinbatNum, Epoch, EpochDisp, InFunc, HidFunc, OutFunc, InitType, GradDesType, DropOutEnable, DsShfl >::SetGainOfMomentumSGD ( double epsilon,
double alpha )
inline

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

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

◆ Train()

template<typename DsName , size_t InSize, size_t HidSize, size_t OutSize, size_t MinbatSize, size_t MinbatNum, size_t Epoch, size_t EpochDisp, ActvFunc InFunc, ActvFunc HidFunc, ActvFunc OutFunc, NnInitTypes InitType, NnDescentTypes GradDesType, NnDropout DropOutEnable, NnShuffle DsShfl>
void ARCS::FeedforwardNeuralNet3< DsName, InSize, HidSize, OutSize, MinbatSize, MinbatNum, Epoch, EpochDisp, InFunc, HidFunc, OutFunc, InitType, GradDesType, DropOutEnable, DsShfl >::Train ( DsName & Datasets)
inline

誤差逆伝播法による訓練をする関数

引数
[in]Datasetsデータセット

◆ WriteLeaningCurvePNG()

template<typename DsName , size_t InSize, size_t HidSize, size_t OutSize, size_t MinbatSize, size_t MinbatNum, size_t Epoch, size_t EpochDisp, ActvFunc InFunc, ActvFunc HidFunc, ActvFunc OutFunc, NnInitTypes InitType, NnDescentTypes GradDesType, NnDropout DropOutEnable, NnShuffle DsShfl>
void ARCS::FeedforwardNeuralNet3< DsName, InSize, HidSize, OutSize, MinbatSize, MinbatNum, Epoch, EpochDisp, InFunc, HidFunc, OutFunc, InitType, GradDesType, DropOutEnable, DsShfl >::WriteLeaningCurvePNG ( const std::string & FileName,
const int Ymin,
const int Ymax )
inline

学習曲線グラフのPNG画像ファイルを書き出す関数

引数
[in]FileNameファイル名
[in]YMINグラフの縦軸最小値 [dB]
[in]YMAXグラフの縦軸最大値 [dB]

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