![]() |
ARCS6 AR6-REV.24062600
|
単層パーセプトロンクラス [詳解]
#include <ARCS6/lib/SingleLayerPerceptron.hh>
公開メンバ関数 | |
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 |
ドロップアウト率 | |
単層パーセプトロンクラス
N | 入力の数 |
P | パーセプトロンの数 |
M | ミニバッチ数 |
AF | 活性化関数の種類 |
IT | 初期化のタイプ |
GD | 勾配降下法のタイプ |
DD | ドロップアウト動作フラグ |
|
inline |
ムーブコンストラクタ
[in] | r | 右辺値 |
|
inlineprotected |
AdaDelta勾配降下法
[in] | DiffW | 重み更新差分値 |
[in] | Diffb | バイアス更新差分値 |
|
inlineprotected |
AdaGrad勾配降下法
[in] | DiffW | 重み更新差分値 |
[in] | Diffb | バイアス更新差分値 |
|
inlineprotected |
Adam勾配降下法
[in] | DiffW | 重み更新差分値 |
[in] | Diffb | バイアス更新差分値 |
|
inline |
入力層と内部層(隠れ層)用の誤差行列の計算
[in] | WDeltaNext | 後ろ側の層からの重み誤差行列 |
[out] | WDelta | 重み誤差行列 |
|
inline |
出力層用の誤差行列の計算
[in] | Y | 出力値行列 |
[in] | D | 目標値行列 |
[out] | WDelta | 重み誤差行列 |
|
inline |
順伝播計算(ベクトル入出力推定版)
[in] | zprev | 前の層からの入力ベクトル |
[in] | z | 出力ベクトル |
|
inline |
順伝播計算(ミニバッチ推定版)
[in] | Zprev | 前の層からの入力行列 |
[in] | Z | 出力行列 |
|
inline |
順伝播計算(ベクトル入出力訓練版)
[in] | zprev | 前の層からの入力ベクトル |
[in] | z | 出力ベクトル |
|
inline |
順伝播計算(ミニバッチ訓練版)
[in] | Zprev | 前の層からの入力行列 |
[in] | Z | 出力行列 |
|
inlineprotected |
モーメンタム確率的勾配降下法
[in] | DiffW | 重み更新差分値 |
[in] | Diffb | バイアス更新差分値 |
|
inlineprotected |
RMSprop勾配降下法
[in] | DiffW | 重み更新差分値 |
[in] | Diffb | バイアス更新差分値 |
|
inlineprotected |
ヴァニラ確率的勾配降下法
[in] | DiffW | 重み更新差分値 |
[in] | Diffb | バイアス更新差分値 |
|
inline |
クロスエントロピーを返す関数
[in] | Y | 出力行列 |
[in] | D | 目標値行列 |
|
inline |
訓練/テスト誤差を返す関数
[in] | Y | 出力行列 |
[in] | D | 目標値行列 |
|
inline |
重み行列の初期化
[in] | Nprev | 前層のユニット数 |
|
inline |
重み行列の正規分布乱数による初期化
sigma | 正規分布乱数の標準偏差 |
|
inline |
CSVファイルからパーセプトロンの設定を読み込む関数
[in] | SettingName | 設定値CSVファイル名 |
|
inline |
重み行列とバイアスベクトルをCSVファイルとして入力する関数
[in] | WeightName | 重み行列CSVファイル名 |
[in] | BiasName | バイアスベクトルCSVファイル名 |
|
inline |
生計測データセットの正規化(標準化)
[in] | x | 生計測データ |
|
inline |
入力データの正規化(標準化)
[in] | x | 入力データ |
|
inline |
パーセプトロンの設定をCSVファイルに保存する関数
[in] | SettingName | 設定値CSVファイル名 |
|
inline |
重み行列とバイアスベクトルをCSVファイルとして出力する関数
[in] | WeightName | 重み行列CSVファイル名 |
[in] | BiasName | バイアスベクトルCSVファイル名 |
|
inline |
ドロップアウト率の設定
[in] | DropoutRate | ドロップアウト率(1のときドロップアウトしない,0.5のとき半分ドロップアウト,0のとき全部ドロップアウト) |
|
inline |
AdaDelta勾配降下法の更新ゲイン(学習率)の設定
[in] | alpha | 更新ゲイン(学習率) |
[in] | zero | ゼロ割回避用の係数 |
|
inline |
AdaGrad勾配降下法の更新ゲイン(学習率)の設定
[in] | epsilon | 更新ゲイン(学習率) |
[in] | zero | ゼロ割回避用の係数 |
|
inline |
Adam勾配降下法の更新ゲイン(学習率)の設定
[in] | epsilon | 更新ゲイン(学習率) |
[in] | alpha | 更新ゲイン(学習率) |
[in] | beta | 更新ゲイン(学習率) |
[in] | zero | ゼロ割回避用の係数 |
|
inline |
モーメンタム確率的勾配降下法の更新ゲイン(学習率)の設定
[in] | epsilon | 更新ゲイン(学習率) |
[in] | alpha | 更新ゲイン(運動量項の学習率) |
|
inline |
RMSprop勾配降下法の更新ゲイン(学習率)の設定
[in] | epsilon | 更新ゲイン(学習率) |
[in] | alpha | 更新ゲイン(学習率) |
[in] | zero | ゼロ割回避用の係数 |
|
inline |
確率的勾配降下法の更新ゲイン(学習率)の設定
[in] | epsilon | 更新ゲイン(学習率) |
|
inline |
重み行列とバイアスベクトルの更新
[in] | Zprev | 前の層からの入力行列 |