Namespaces | |
namespace | Blas |
namespace | CNN |
namespace | RNN |
Typedefs | |
typedef std::vector< char > | DropContainer |
using | IndexIterator_t = typename std::vector< size_t >::iterator |
using | MatrixInput_t = std::tuple< const TMatrixT< Double_t > &, const TMatrixT< Double_t > &, const TMatrixT< Double_t > & > |
using | MemoryLayout = TMVA::Experimental::MemoryLayout |
typedef std::tuple< Settings &, Batch &, DropContainer & > | pass_through_type |
using | TensorInput = std::tuple< const std::vector< TMatrixT< Double_t > > &, const TMatrixT< Double_t > &, const TMatrixT< Double_t > & > |
using | TMVAInput_t = std::tuple< const std::vector< Event * > &, const DataSetInfo & > |
Enumerations | |
enum class | EActivationFunction { kIdentity = 0 , kRelu = 1 , kSigmoid = 2 , kTanh = 3 , kSymmRelu = 4 , kSoftSign = 5 , kGauss = 6 } |
Enum that represents layer activation functions. More... | |
enum class | EInitialization { kGauss = 'G' , kUniform = 'U' , kIdentity = 'I' , kZero = 'Z' , kGlorotNormal = 'X' , kGlorotUniform = 'F' } |
enum class | ELossFunction { kCrossEntropy = 'C' , kMeanSquaredError = 'R' , kSoftmaxCrossEntropy = 'S' } |
Enum that represents objective functions for the net, i.e. More... | |
enum class | EnumFunction { ZERO = '0' , LINEAR = 'L' , TANH = 'T' , RELU = 'R' , SYMMRELU = 'r' , TANHSHIFT = 't' , SIGMOID = 's' , SOFTSIGN = 'S' , GAUSS = 'G' , GAUSSCOMPLEMENT = 'C' } |
enum class | EnumRegularization { NONE , L1 , L2 , L1MAX } |
enum class | EOptimizer { kSGD = 0 , kAdam = 1 , kAdagrad = 2 , kRMSProp = 3 , kAdadelta = 4 } |
Enum representing the optimizer used for training. More... | |
enum class | EOutputFunction { kIdentity = 'I' , kSigmoid = 'S' , kSoftmax = 'M' } |
Enum that represents output functions. More... | |
enum class | ERegularization { kNone = '0' , kL1 = '1' , kL2 = '2' } |
Enum representing the regularization type applied for a given layer. More... | |
enum | MinimizerType { fSteepest } |
< list all the minimizer types More... | |
enum class | ModeErrorFunction { SUMOFSQUARES = 'S' , CROSSENTROPY = 'C' , CROSSENTROPY_MUTUALEXCLUSIVE = 'M' } |
error functions to be chosen from More... | |
enum class | ModeOutput { FETCH } |
enum class | ModeOutputValues : int { DIRECT = 0x01 , SIGMOID = 0x02 , SOFTMAX = 0x04 , BATCHNORMALIZATION = 0x08 } |
enum class | WeightInitializationStrategy { XAVIER , TEST , LAYERSIZE , XAVIERUNIFORM } |
weight initialization strategies to be chosen from More... | |
Functions | |
template<typename Architecture_t > | |
void | addRegularizationGradients (typename Architecture_t::Matrix_t &A, const typename Architecture_t::Matrix_t &W, typename Architecture_t::Scalar_t weightDecay, ERegularization R) |
Add the regularization gradient corresponding to weight matrix W, to the matrix A. More... | |
template<typename ItValue , typename Fnc > | |
void | applyFunctions (ItValue itValue, ItValue itValueEnd, Fnc fnc) |
apply the activation functions More... | |
template<typename ItValue , typename Fnc , typename InvFnc , typename ItGradient > | |
void | applyFunctions (ItValue itValue, ItValue itValueEnd, Fnc fnc, InvFnc invFnc, ItGradient itGradient) |
apply the activation functions and compute the gradient More... | |
template<typename ItValue , typename ItFunction > | |
void | applyFunctions (ItValue itValue, ItValue itValueEnd, ItFunction itFunction) |
template<typename ItValue , typename ItFunction , typename ItInverseFunction , typename ItGradient > | |
void | applyFunctions (ItValue itValue, ItValue itValueEnd, ItFunction itFunction, ItInverseFunction itInverseFunction, ItGradient itGradient) |
template<typename ItSource , typename ItWeight , typename ItTarget > | |
void | applyWeights (ItSource itSourceBegin, ItSource itSourceEnd, ItWeight itWeight, ItTarget itTargetBegin, ItTarget itTargetEnd) |
template<bool HasDropOut, typename ItSource , typename ItWeight , typename ItTarget , typename ItDrop > | |
void | applyWeights (ItSource itSourceBegin, ItSource itSourceEnd, ItWeight itWeight, ItTarget itTargetBegin, ItTarget itTargetEnd, ItDrop itDrop) |
apply weights using drop-out; for no drop out, provide (&bool = true) to itDrop such that *itDrop becomes "true" More... | |
template<typename ItSource , typename ItWeight , typename ItPrev > | |
void | applyWeightsBackwards (ItSource itCurrBegin, ItSource itCurrEnd, ItWeight itWeight, ItPrev itPrevBegin, ItPrev itPrevEnd) |
template<bool HasDropOut, typename ItSource , typename ItWeight , typename ItPrev , typename ItDrop > | |
void | applyWeightsBackwards (ItSource itCurrBegin, ItSource itCurrEnd, ItWeight itWeight, ItPrev itPrevBegin, ItPrev itPrevEnd, ItDrop itDrop) |
apply weights backwards (for backprop); for no drop out, provide (&bool = true) to itDrop such that *itDrop becomes "true" More... | |
template<typename LAYERDATA > | |
void | backward (LAYERDATA &prevLayerData, LAYERDATA &currLayerData) |
backward application of the weights (back-propagation of the error) More... | |
template<EnumRegularization Regularization> | |
double | computeRegularization (double weight, const double &factorWeightDecay) |
compute the regularization (L1, L2) More... | |
template<> | |
double | computeRegularization< EnumRegularization::L1 > (double weight, const double &factorWeightDecay) |
template<> | |
double | computeRegularization< EnumRegularization::L2 > (double weight, const double &factorWeightDecay) |
template<typename ItProbability , typename ItTruth , typename ItDelta , typename ItInvActFnc > | |
double | crossEntropy (ItProbability itProbabilityBegin, ItProbability itProbabilityEnd, ItTruth itTruthBegin, ItTruth, ItDelta itDelta, ItDelta itDeltaEnd, ItInvActFnc, double patternWeight) |
cross entropy error function More... | |
void | cudaError (cudaError_t code, const char *file, int line, bool abort=true) |
Function to check cuda return code. More... | |
template<typename Architecture > | |
auto | debugTensor (const typename Architecture::Tensor_t &A, const std::string name="tensor") -> void |
template<typename Architecture_t > | |
auto | evaluate (ELossFunction f, const typename Architecture_t::Matrix_t &Y, const typename Architecture_t::Matrix_t &output, const typename Architecture_t::Matrix_t &weights) -> decltype(Architecture_t::CrossEntropy(Y, output, weights)) |
Compute the value of the objective function f for given activations of the ouput layer and the truth Y. More... | |
template<typename Architecture_t > | |
void | evaluate (typename Architecture_t::Matrix_t &A, EOutputFunction f, const typename Architecture_t::Matrix_t &X) |
Apply the given output function to each value in the given tensor A. More... | |
template<typename Architecture_t > | |
void | evaluate (typename Architecture_t::Tensor_t &A, EActivationFunction f) |
Apply the given activation function to each value in the given tensor A. More... | |
template<typename Architecture_t > | |
void | evaluateDerivative (typename Architecture_t::Tensor_t &B, EActivationFunction f, const typename Architecture_t::Tensor_t &A) |
Compute the first partial derivative of the activation function for the values given in tensor A and write the results into B. More... | |
template<typename Architecture_t > | |
void | evaluateGradients (typename Architecture_t::Matrix_t &dY, ELossFunction f, const typename Architecture_t::Matrix_t &Y, const typename Architecture_t::Matrix_t &output, const typename Architecture_t::Matrix_t &weights) |
Compute the gradient of the given output function f for given activations output of the output layer and truth Y and write the results into dY. More... | |
template<typename LAYERDATA > | |
void | forward (const LAYERDATA &prevLayerData, LAYERDATA &currLayerData) |
apply the weights (and functions) in forward direction of the DNN More... | |
double | gaussDouble (double mean, double sigma) |
template<typename Architecture_t > | |
void | initialize (typename Architecture_t::Matrix_t &A, EInitialization m) |
template<typename T > | |
bool | isFlagSet (T flag, T value) |
ModeOutputValues | operator& (ModeOutputValues lhs, ModeOutputValues rhs) |
ModeOutputValues | operator&= (ModeOutputValues &lhs, ModeOutputValues rhs) |
ModeOutputValues | operator| (ModeOutputValues lhs, ModeOutputValues rhs) |
ModeOutputValues | operator|= (ModeOutputValues &lhs, ModeOutputValues rhs) |
int | randomInt (int maxValue) |
template<typename Architecture_t > | |
auto | regularization (const typename Architecture_t::Matrix_t &A, ERegularization R) -> decltype(Architecture_t::L1Regularization(A)) |
Evaluate the regularization functional for a given weight matrix. More... | |
template<typename ItOutput , typename ItTruth , typename ItDelta , typename ItInvActFnc > | |
double | softMaxCrossEntropy (ItOutput itProbabilityBegin, ItOutput itProbabilityEnd, ItTruth itTruthBegin, ItTruth, ItDelta itDelta, ItDelta itDeltaEnd, ItInvActFnc, double patternWeight) |
soft-max-cross-entropy error function (for mutual exclusive cross-entropy) More... | |
double | studenttDouble (double distributionParameter) |
template<typename ItOutput , typename ItTruth , typename ItDelta , typename ItInvActFnc > | |
double | sumOfSquares (ItOutput itOutputBegin, ItOutput itOutputEnd, ItTruth itTruthBegin, ItTruth itTruthEnd, ItDelta itDelta, ItDelta itDeltaEnd, ItInvActFnc itInvActFnc, double patternWeight) |
template<typename ItOutput , typename ItTruth , typename ItDelta , typename InvFnc > | |
double | sumOfSquares (ItOutput itOutputBegin, ItOutput itOutputEnd, ItTruth itTruthBegin, ItTruth, ItDelta itDelta, ItDelta itDeltaEnd, InvFnc invFnc, double patternWeight) |
sum of squares error function More... | |
template<typename Container , typename T > | |
void | uniformDouble (Container &container, T maxValue) |
double | uniformDouble (double minValue, double maxValue) |
template<typename T > | |
T | uniformFromTo (T from, T to) |
template<typename LAYERDATA > | |
void | update (const LAYERDATA &prevLayerData, LAYERDATA &currLayerData, double factorWeightDecay, EnumRegularization regularization) |
update the node values More... | |
template<typename ItSource , typename ItDelta , typename ItTargetGradient , typename ItGradient > | |
void | update (ItSource itSource, ItSource itSourceEnd, ItDelta itTargetDeltaBegin, ItDelta itTargetDeltaEnd, ItTargetGradient itTargetGradientBegin, ItGradient itGradient) |
update the gradients More... | |
template<EnumRegularization Regularization, typename ItSource , typename ItDelta , typename ItTargetGradient , typename ItGradient , typename ItWeight > | |
void | update (ItSource itSource, ItSource itSourceEnd, ItDelta itTargetDeltaBegin, ItDelta itTargetDeltaEnd, ItTargetGradient itTargetGradientBegin, ItGradient itGradient, ItWeight itWeight, double weightDecay) |
update the gradients, using regularization More... | |
template<typename ItWeight > | |
double | weightDecay (double error, ItWeight itWeight, ItWeight itWeightEnd, double factorWeightDecay, EnumRegularization eRegularization) |
compute the weight decay for regularization (L1 or L2) More... | |
Variables | |
std::shared_ptr< std::function< double(double)> > | Gauss = std::make_shared<std::function<double(double)>> ([](double value){ const double s = 6.0; return exp (-std::pow(value*s,2.0)); }) |
std::shared_ptr< std::function< double(double)> > | GaussComplement = std::make_shared<std::function<double(double)>> ([](double value){ const double s = 6.0; return 1.0 - exp (-std::pow(value*s,2.0)); }) |
std::shared_ptr< std::function< double(double)> > | InvGauss = std::make_shared<std::function<double(double)>> ([](double value){ const double s = 6.0; return -2.0 * value * s*s * (*Gauss.get ()) (value); }) |
std::shared_ptr< std::function< double(double)> > | InvGaussComplement = std::make_shared<std::function<double(double)>> ([](double value){ const double s = 6.0; return +2.0 * value * s*s * (*GaussComplement.get ()) (value); }) |
std::shared_ptr< std::function< double(double)> > | InvLinear = std::make_shared<std::function<double(double)>> ([](double ){ return 1.0; }) |
std::shared_ptr< std::function< double(double)> > | InvReLU = std::make_shared<std::function<double(double)>> ([](double value){ const double margin = 0.0; return value > margin ? 1.0 : 0; }) |
std::shared_ptr< std::function< double(double)> > | InvSigmoid = std::make_shared<std::function<double(double)>> ([](double value){ double s = (*Sigmoid.get ()) (value); return s*(1.0-s); }) |
std::shared_ptr< std::function< double(double)> > | InvSoftPlus = std::make_shared<std::function<double(double)>> ([](double value){ return 1.0 / (1.0 + std::exp (-value)); }) |
std::shared_ptr< std::function< double(double)> > | InvSoftSign = std::make_shared<std::function<double(double)>> ([](double value){ return std::pow ((1.0 - fabs (value)),2.0); }) |
std::shared_ptr< std::function< double(double)> > | InvSymmReLU = std::make_shared<std::function<double(double)>> ([](double value){ const double margin = 0.3; return value > margin ? 1.0 : value < -margin ? 1.0 : 0; }) |
std::shared_ptr< std::function< double(double)> > | InvTanh = std::make_shared<std::function<double(double)>> ([](double value){ return 1.0 - std::pow (value, 2.0); }) |
std::shared_ptr< std::function< double(double)> > | InvTanhShift = std::make_shared<std::function<double(double)>> ([](double value){ return 0.3 + (1.0 - std::pow (value, 2.0)); }) |
std::shared_ptr< std::function< double(double)> > | Linear = std::make_shared<std::function<double(double)>> ([](double value){ return value; }) |
std::shared_ptr< std::function< double(double)> > | ReLU = std::make_shared<std::function<double(double)>> ([](double value){ const double margin = 0.0; return value > margin ? value-margin : 0; }) |
std::shared_ptr< std::function< double(double)> > | Sigmoid = std::make_shared<std::function<double(double)>> ([](double value){ value = std::max (-100.0, std::min (100.0,value)); return 1.0/(1.0 + std::exp (-value)); }) |
std::shared_ptr< std::function< double(double)> > | SoftPlus = std::make_shared<std::function<double(double)>> ([](double value){ return std::log (1.0+ std::exp (value)); }) |
std::shared_ptr< std::function< double(double)> > | SoftSign = std::make_shared<std::function<double(double)>> ([](double value){ return value / (1.0 + fabs (value)); }) |
std::shared_ptr< std::function< double(double)> > | SymmReLU = std::make_shared<std::function<double(double)>> ([](double value){ const double margin = 0.3; return value > margin ? value-margin : value < -margin ? value+margin : 0; }) |
std::shared_ptr< std::function< double(double)> > | Tanh = std::make_shared<std::function<double(double)>> ([](double value){ return tanh (value); }) |
std::shared_ptr< std::function< double(double)> > | TanhShift = std::make_shared<std::function<double(double)>> ([](double value){ return tanh (value-0.3); }) |
std::shared_ptr< std::function< double(double)> > | ZeroFnc = std::make_shared<std::function<double(double)>> ([](double ){ return 0; }) |
typedef std::vector<char> TMVA::DNN::DropContainer |
Definition at line 228 of file NeuralNet.h.
typedef typename std::vector< size_t >::iterator TMVA::DNN::IndexIterator_t |
Definition at line 42 of file DataLoader.h.
using TMVA::DNN::MatrixInput_t = typedef std::tuple<const TMatrixT<Double_t> &, const TMatrixT<Double_t> &, const TMatrixT<Double_t> &> |
Definition at line 38 of file DataLoader.h.
using TMVA::DNN::MemoryLayout = typedef TMVA::Experimental::MemoryLayout |
Definition at line 56 of file CudaTensor.h.
typedef std::tuple<Settings&, Batch&, DropContainer&> TMVA::DNN::pass_through_type |
Definition at line 1301 of file NeuralNet.h.
using TMVA::DNN::TensorInput = typedef std::tuple<const std::vector<TMatrixT<Double_t> > &, const TMatrixT<Double_t> &, const TMatrixT<Double_t> &> |
Definition at line 41 of file TensorDataLoader.h.
typedef std::tuple< const std::vector< Event * > &, const DataSetInfo & > TMVA::DNN::TMVAInput_t |
Definition at line 39 of file DataLoader.h.
|
strong |
Enum that represents layer activation functions.
Enumerator | |
---|---|
kIdentity | |
kRelu | |
kSigmoid | |
kTanh | |
kSymmRelu | |
kSoftSign | |
kGauss |
Definition at line 31 of file Functions.h.
|
strong |
Enumerator | |
---|---|
kGauss | |
kUniform | |
kIdentity | |
kZero | |
kGlorotNormal | |
kGlorotUniform |
Definition at line 70 of file Functions.h.
|
strong |
Enum that represents objective functions for the net, i.e.
functions that take the output from the last layer in the net together with the truths and return the objective function values that is to be minimized in the training process.
Enumerator | |
---|---|
kCrossEntropy | |
kMeanSquaredError | |
kSoftmaxCrossEntropy |
Definition at line 54 of file Functions.h.
|
strong |
Enumerator | |
---|---|
ZERO | |
LINEAR | |
TANH | |
RELU | |
SYMMRELU | |
TANHSHIFT | |
SIGMOID | |
SOFTSIGN | |
GAUSS | |
GAUSSCOMPLEMENT |
Definition at line 157 of file NeuralNet.h.
|
strong |
Enumerator | |
---|---|
NONE | |
L1 | |
L2 | |
L1MAX |
Definition at line 173 of file NeuralNet.h.
|
strong |
Enum representing the optimizer used for training.
Enumerator | |
---|---|
kSGD | |
kAdam | |
kAdagrad | |
kRMSProp | |
kAdadelta |
Definition at line 80 of file Functions.h.
|
strong |
Enum that represents output functions.
Enumerator | |
---|---|
kIdentity | |
kSigmoid | |
kSoftmax |
Definition at line 43 of file Functions.h.
|
strong |
Enum representing the regularization type applied for a given layer.
Enumerator | |
---|---|
kNone | |
kL1 | |
kL2 |
Definition at line 62 of file Functions.h.
|
strong |
error functions to be chosen from
Enumerator | |
---|---|
SUMOFSQUARES | |
CROSSENTROPY | |
CROSSENTROPY_MUTUALEXCLUSIVE |
Definition at line 1045 of file NeuralNet.h.
|
strong |
Enumerator | |
---|---|
FETCH |
Definition at line 1036 of file NeuralNet.h.
|
strong |
Enumerator | |
---|---|
DIRECT | |
SIGMOID | |
SOFTMAX | |
BATCHNORMALIZATION |
Definition at line 179 of file NeuralNet.h.
|
strong |
weight initialization strategies to be chosen from
Enumerator | |
---|---|
XAVIER | |
TEST | |
LAYERSIZE | |
XAVIERUNIFORM |
Definition at line 1056 of file NeuralNet.h.
|
inline |
Add the regularization gradient corresponding to weight matrix W, to the matrix A.
Definition at line 234 of file Functions.h.
void TMVA::DNN::applyFunctions | ( | ItValue | itValue, |
ItValue | itValueEnd, | ||
Fnc | fnc | ||
) |
apply the activation functions
Definition at line 147 of file NeuralNet.icc.
void TMVA::DNN::applyFunctions | ( | ItValue | itValue, |
ItValue | itValueEnd, | ||
Fnc | fnc, | ||
InvFnc | invFnc, | ||
ItGradient | itGradient | ||
) |
apply the activation functions and compute the gradient
Definition at line 164 of file NeuralNet.icc.
void TMVA::DNN::applyFunctions | ( | ItValue | itValue, |
ItValue | itValueEnd, | ||
ItFunction | itFunction | ||
) |
void TMVA::DNN::applyFunctions | ( | ItValue | itValue, |
ItValue | itValueEnd, | ||
ItFunction | itFunction, | ||
ItInverseFunction | itInverseFunction, | ||
ItGradient | itGradient | ||
) |
void TMVA::DNN::applyWeights | ( | ItSource | itSourceBegin, |
ItSource | itSourceEnd, | ||
ItWeight | itWeight, | ||
ItTarget | itTargetBegin, | ||
ItTarget | itTargetEnd | ||
) |
void TMVA::DNN::applyWeights | ( | ItSource | itSourceBegin, |
ItSource | itSourceEnd, | ||
ItWeight | itWeight, | ||
ItTarget | itTargetBegin, | ||
ItTarget | itTargetEnd, | ||
ItDrop | itDrop | ||
) |
apply weights using drop-out; for no drop out, provide (&bool = true) to itDrop such that *itDrop becomes "true"
itDrop correlates with itSourceBegin
Definition at line 91 of file NeuralNet.icc.
void TMVA::DNN::applyWeightsBackwards | ( | ItSource | itCurrBegin, |
ItSource | itCurrEnd, | ||
ItWeight | itWeight, | ||
ItPrev | itPrevBegin, | ||
ItPrev | itPrevEnd | ||
) |
void TMVA::DNN::applyWeightsBackwards | ( | ItSource | itCurrBegin, |
ItSource | itCurrEnd, | ||
ItWeight | itWeight, | ||
ItPrev | itPrevBegin, | ||
ItPrev | itPrevEnd, | ||
ItDrop | itDrop | ||
) |
apply weights backwards (for backprop); for no drop out, provide (&bool = true) to itDrop such that *itDrop becomes "true"
itDrop correlates with itPrev (to be in agreement with "applyWeights" where it correlates with itSources (same node as itTarget here in applyBackwards)
Definition at line 118 of file NeuralNet.icc.
void TMVA::DNN::backward | ( | LAYERDATA & | prevLayerData, |
LAYERDATA & | currLayerData | ||
) |
backward application of the weights (back-propagation of the error)
Definition at line 572 of file NeuralNet.icc.
|
inline |
compute the regularization (L1, L2)
Definition at line 209 of file NeuralNet.icc.
|
inline |
Definition at line 219 of file NeuralNet.icc.
|
inline |
Definition at line 226 of file NeuralNet.icc.
double TMVA::DNN::crossEntropy | ( | ItProbability | itProbabilityBegin, |
ItProbability | itProbabilityEnd, | ||
ItTruth | itTruthBegin, | ||
ItTruth | itTruthEnd, | ||
ItDelta | itDelta, | ||
ItDelta | itDeltaEnd, | ||
ItInvActFnc | itInvActFnc, | ||
double | patternWeight | ||
) |
cross entropy error function
Definition at line 412 of file NeuralNet.icc.
|
inline |
Function to check cuda return code.
Taken from http://stackoverflow.com/questions/14038589/
Definition at line 201 of file CudaMatrix.h.
auto TMVA::DNN::debugTensor | ( | const typename Architecture::Tensor_t & | A, |
const std::string | name = "tensor" |
||
) | -> void |
Definition at line 579 of file GeneralLayer.h.
|
inline |
Compute the value of the objective function f for given activations of the ouput layer and the truth Y.
Definition at line 174 of file Functions.h.
|
inline |
Apply the given output function to each value in the given tensor A.
Definition at line 151 of file Functions.h.
|
inline |
Apply the given activation function to each value in the given tensor A.
Definition at line 96 of file Functions.h.
|
inline |
Compute the first partial derivative of the activation function for the values given in tensor A and write the results into B.
Definition at line 121 of file Functions.h.
|
inline |
Compute the gradient of the given output function f for given activations output of the output layer and truth Y and write the results into dY.
Definition at line 191 of file Functions.h.
void TMVA::DNN::forward | ( | const LAYERDATA & | prevLayerData, |
LAYERDATA & | currLayerData | ||
) |
apply the weights (and functions) in forward direction of the DNN
Definition at line 546 of file NeuralNet.icc.
double TMVA::DNN::gaussDouble | ( | double | mean, |
double | sigma | ||
) |
Definition at line 35 of file NeuralNet.cxx.
|
inline |
Definition at line 258 of file Functions.h.
bool TMVA::DNN::isFlagSet | ( | T | flag, |
T | value | ||
) |
Definition at line 213 of file NeuralNet.h.
|
inline |
Definition at line 200 of file NeuralNet.h.
|
inline |
Definition at line 205 of file NeuralNet.h.
|
inline |
Definition at line 189 of file NeuralNet.h.
|
inline |
Definition at line 194 of file NeuralNet.h.
int TMVA::DNN::randomInt | ( | int | maxValue | ) |
Definition at line 52 of file NeuralNet.cxx.
|
inline |
Evaluate the regularization functional for a given weight matrix.
Definition at line 214 of file Functions.h.
double TMVA::DNN::softMaxCrossEntropy | ( | ItOutput | itProbabilityBegin, |
ItOutput | itProbabilityEnd, | ||
ItTruth | itTruthBegin, | ||
ItTruth | itTruthEnd, | ||
ItDelta | itDelta, | ||
ItDelta | itDeltaEnd, | ||
ItInvActFnc | itInvActFnc, | ||
double | patternWeight | ||
) |
soft-max-cross-entropy error function (for mutual exclusive cross-entropy)
Definition at line 458 of file NeuralNet.icc.
double TMVA::DNN::studenttDouble | ( | double | distributionParameter | ) |
Definition at line 60 of file NeuralNet.cxx.
double TMVA::DNN::sumOfSquares | ( | ItOutput | itOutputBegin, |
ItOutput | itOutputEnd, | ||
ItTruth | itTruthBegin, | ||
ItTruth | itTruthEnd, | ||
ItDelta | itDelta, | ||
ItDelta | itDeltaEnd, | ||
ItInvActFnc | itInvActFnc, | ||
double | patternWeight | ||
) |
double TMVA::DNN::sumOfSquares | ( | ItOutput | itOutputBegin, |
ItOutput | itOutputEnd, | ||
ItTruth | itTruthBegin, | ||
ItTruth | , | ||
ItDelta | itDelta, | ||
ItDelta | itDeltaEnd, | ||
InvFnc | invFnc, | ||
double | patternWeight | ||
) |
sum of squares error function
Definition at line 382 of file NeuralNet.icc.
void TMVA::DNN::uniformDouble | ( | Container & | container, |
T | maxValue | ||
) |
Definition at line 42 of file NeuralNet.icc.
double TMVA::DNN::uniformDouble | ( | double | minValue, |
double | maxValue | ||
) |
Definition at line 43 of file NeuralNet.cxx.
T TMVA::DNN::uniformFromTo | ( | T | from, |
T | to | ||
) |
Definition at line 34 of file NeuralNet.icc.
void TMVA::DNN::update | ( | const LAYERDATA & | prevLayerData, |
LAYERDATA & | currLayerData, | ||
double | weightDecay, | ||
EnumRegularization | regularization | ||
) |
update the node values
Definition at line 600 of file NeuralNet.icc.
void TMVA::DNN::update | ( | ItSource | itSource, |
ItSource | itSourceEnd, | ||
ItDelta | itTargetDeltaBegin, | ||
ItDelta | itTargetDeltaEnd, | ||
ItTargetGradient | itTargetGradientBegin, | ||
ItGradient | itGradient | ||
) |
update the gradients
Definition at line 183 of file NeuralNet.icc.
void TMVA::DNN::update | ( | ItSource | itSource, |
ItSource | itSourceEnd, | ||
ItDelta | itTargetDeltaBegin, | ||
ItDelta | itTargetDeltaEnd, | ||
ItTargetGradient | itTargetGradientBegin, | ||
ItGradient | itGradient, | ||
ItWeight | itWeight, | ||
double | weightDecay | ||
) |
update the gradients, using regularization
Definition at line 237 of file NeuralNet.icc.
double TMVA::DNN::weightDecay | ( | double | error, |
ItWeight | itWeight, | ||
ItWeight | itWeightEnd, | ||
double | factorWeightDecay, | ||
EnumRegularization | eRegularization | ||
) |
compute the weight decay for regularization (L1 or L2)
Definition at line 498 of file NeuralNet.icc.
std::shared_ptr< std::function< double(double)> > TMVA::DNN::Gauss = std::make_shared<std::function<double(double)>> ([](double value){ const double s = 6.0; return exp (-std::pow(value*s,2.0)); }) |
Definition at line 12 of file NeuralNet.cxx.
std::shared_ptr< std::function< double(double)> > TMVA::DNN::GaussComplement = std::make_shared<std::function<double(double)>> ([](double value){ const double s = 6.0; return 1.0 - exp (-std::pow(value*s,2.0)); }) |
Definition at line 13 of file NeuralNet.cxx.
std::shared_ptr< std::function< double(double)> > TMVA::DNN::InvGauss = std::make_shared<std::function<double(double)>> ([](double value){ const double s = 6.0; return -2.0 * value * s*s * (*Gauss.get ()) (value); }) |
Definition at line 14 of file NeuralNet.cxx.
std::shared_ptr< std::function< double(double)> > TMVA::DNN::InvGaussComplement = std::make_shared<std::function<double(double)>> ([](double value){ const double s = 6.0; return +2.0 * value * s*s * (*GaussComplement.get ()) (value); }) |
Definition at line 15 of file NeuralNet.cxx.
std::shared_ptr< std::function< double(double)> > TMVA::DNN::InvLinear = std::make_shared<std::function<double(double)>> ([](double ){ return 1.0; }) |
Definition at line 16 of file NeuralNet.cxx.
std::shared_ptr< std::function< double(double)> > TMVA::DNN::InvReLU = std::make_shared<std::function<double(double)>> ([](double value){ const double margin = 0.0; return value > margin ? 1.0 : 0; }) |
Definition at line 17 of file NeuralNet.cxx.
std::shared_ptr< std::function< double(double)> > TMVA::DNN::InvSigmoid = std::make_shared<std::function<double(double)>> ([](double value){ double s = (*Sigmoid.get ()) (value); return s*(1.0-s); }) |
Definition at line 18 of file NeuralNet.cxx.
std::shared_ptr< std::function< double(double)> > TMVA::DNN::InvSoftPlus = std::make_shared<std::function<double(double)>> ([](double value){ return 1.0 / (1.0 + std::exp (-value)); }) |
Definition at line 19 of file NeuralNet.cxx.
std::shared_ptr< std::function< double(double)> > TMVA::DNN::InvSoftSign = std::make_shared<std::function<double(double)>> ([](double value){ return std::pow ((1.0 - fabs (value)),2.0); }) |
Definition at line 20 of file NeuralNet.cxx.
std::shared_ptr< std::function< double(double)> > TMVA::DNN::InvSymmReLU = std::make_shared<std::function<double(double)>> ([](double value){ const double margin = 0.3; return value > margin ? 1.0 : value < -margin ? 1.0 : 0; }) |
Definition at line 21 of file NeuralNet.cxx.
std::shared_ptr< std::function< double(double)> > TMVA::DNN::InvTanh = std::make_shared<std::function<double(double)>> ([](double value){ return 1.0 - std::pow (value, 2.0); }) |
Definition at line 22 of file NeuralNet.cxx.
std::shared_ptr< std::function< double(double)> > TMVA::DNN::InvTanhShift = std::make_shared<std::function<double(double)>> ([](double value){ return 0.3 + (1.0 - std::pow (value, 2.0)); }) |
Definition at line 23 of file NeuralNet.cxx.
std::shared_ptr< std::function< double(double)> > TMVA::DNN::Linear = std::make_shared<std::function<double(double)>> ([](double value){ return value; }) |
Definition at line 24 of file NeuralNet.cxx.
std::shared_ptr< std::function< double(double)> > TMVA::DNN::ReLU = std::make_shared<std::function<double(double)>> ([](double value){ const double margin = 0.0; return value > margin ? value-margin : 0; }) |
Definition at line 25 of file NeuralNet.cxx.
std::shared_ptr< std::function< double(double)> > TMVA::DNN::Sigmoid = std::make_shared<std::function<double(double)>> ([](double value){ value = std::max (-100.0, std::min (100.0,value)); return 1.0/(1.0 + std::exp (-value)); }) |
Definition at line 26 of file NeuralNet.cxx.
std::shared_ptr< std::function< double(double)> > TMVA::DNN::SoftPlus = std::make_shared<std::function<double(double)>> ([](double value){ return std::log (1.0+ std::exp (value)); }) |
Definition at line 27 of file NeuralNet.cxx.
std::shared_ptr< std::function< double(double)> > TMVA::DNN::SoftSign = std::make_shared<std::function<double(double)>> ([](double value){ return value / (1.0 + fabs (value)); }) |
Definition at line 32 of file NeuralNet.cxx.
std::shared_ptr< std::function< double(double)> > TMVA::DNN::SymmReLU = std::make_shared<std::function<double(double)>> ([](double value){ const double margin = 0.3; return value > margin ? value-margin : value < -margin ? value+margin : 0; }) |
Definition at line 30 of file NeuralNet.cxx.
std::shared_ptr< std::function< double(double)> > TMVA::DNN::Tanh = std::make_shared<std::function<double(double)>> ([](double value){ return tanh (value); }) |
Definition at line 29 of file NeuralNet.cxx.
std::shared_ptr< std::function< double(double)> > TMVA::DNN::TanhShift = std::make_shared<std::function<double(double)>> ([](double value){ return tanh (value-0.3); }) |
Definition at line 31 of file NeuralNet.cxx.
std::shared_ptr< std::function< double(double)> > TMVA::DNN::ZeroFnc = std::make_shared<std::function<double(double)>> ([](double ){ return 0; }) |
Definition at line 28 of file NeuralNet.cxx.