![]() |
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 | 前の層からの入力行列 |