![]() |
Neuron Net
|
Class of recurrent LSTM unit. More...
Public Member Functions | |
| CNeuronLSTM (void) | |
| Constructor. More... | |
| ~CNeuronLSTM (void) | |
| Destructor. More... | |
| virtual bool | Init (uint numOutputs, uint myIndex, int window, int step, int units_count, ENUM_OPTIMIZATION optimization_type) |
| Unit initialization method. Detailed description on the link. More... | |
| virtual CLayer * | getOutputLayer (void) |
| Method for getting a pointer to the resulting neural layer. Not used in fully connected neural networks. More... | |
| virtual bool | calcInputGradients (CLayer *prevLayer) |
| Method to transfer gradients to previous layer. More... | |
| virtual bool | calcInputGradients (CNeuronBase *prevNeuron, uint index) |
| Method to transfer gradients to neuron in previous layer. More... | |
| virtual bool | Save (int const file_handle) |
| Save method. More... | |
| virtual bool | Load (int const file_handle) |
| Load method. More... | |
| virtual int | Type (void) const |
| Identificator of class. More... | |
| virtual bool | feedForward (CObject *&SourceObject) |
| Dispatch method for defining the subroutine for Feed Forward process. More... | |
| virtual bool | calcHiddenGradients (CObject *&TargetObject) |
| Dispatch method for defining the subroutine for transfer gradient to previous layer. More... | |
| virtual bool | Init (uint numOutputs, uint myIndex, ENUM_OPTIMIZATION optimization_type) |
| Method of initialization class. More... | |
| virtual bool | updateInputWeights (CObject *&SourceObject) |
| Dispatch method for defining the subroutine for updating weights. More... | |
| virtual void | SetActivationFunction (ENUM_ACTIVATION value) |
| Set the type of activation function (ENUM_ACTIVATION) More... | |
| virtual void | setOutputVal (double val) |
| Set the output value. More... | |
| virtual double | getOutputVal () |
| Return result of feed forward operations. More... | |
| virtual double | getPrevVal () |
| Return result of feed forward operations at previous iteration. More... | |
| virtual void | setGradient (double val) |
| Set gradient value to neuron. More... | |
| virtual double | getGradient () |
| Return gradient of neuron. More... | |
| virtual CArrayCon * | getConnections () |
| Method to get access to array of connections. More... | |
| virtual double | activationFunctionDerivative (double x) |
| Calculate derivative of activation function. More... | |
| virtual double | SigmoidFunctionDerivative (double x) |
| Calculate derivative of Sigmoid function. More... | |
| virtual double | TanhFunctionDerivative (double x) |
| Calculate derivative of \(tanh(x)\). More... | |
Static Public Attributes | |
| static double | alpha =0.8 |
| Multiplier to momentum in SGD optimization. More... | |
Protected Member Functions | |
| virtual bool | feedForward (CLayer *prevLayer) |
| Feed Forward method. Detailed description on the link. More... | |
| virtual bool | calcHiddenGradients (CLayer *&nextLayer) |
| Method to transfer gradient to previous layer. More... | |
| virtual bool | updateInputWeights (CLayer *&prevLayer) |
| Method for updating weights. More... | |
| virtual bool | updateInputWeights (CLayer *gate, CArrayDouble *input_data) |
| Method for updating gates' weights. More... | |
| virtual bool | InitLayer (CLayer *layer, int numUnits, int numOutputs, ENUM_OPTIMIZATION optimization_type) |
| Method of gate initialization. More... | |
| virtual CArrayDouble * | CalculateGate (CLayer *gate, CArrayDouble *sequence) |
| Method of calculation gate iteration. More... | |
| virtual double | activationFunction (double x) |
| Method to calculate activation function. More... | |
| virtual double | SigmoidFunction (double x) |
| Calculating Sigmoid \(\frac{1}{1+e^x}\). More... | |
| virtual double | TanhFunction (double x) |
| Calculating \(tanh(x)\). More... | |
Protected Attributes | |
| CLayer * | ForgetGate |
| Object of forget gate. More... | |
| CLayer * | InputGate |
| Object of input gate. More... | |
| CLayer * | OutputGate |
| Object of output gate. More... | |
| CLayer * | NewContent |
| Object of new content. More... | |
| CArrayDouble * | Memory |
| Memory array. More... | |
| CArrayDouble * | PrevMemory |
| Ravious iteration memory array. More... | |
| CArrayDouble * | Input |
| Input data. More... | |
| CArrayDouble * | InputGradient |
| Gradient on previous layer. More... | |
| CLayer * | OutputLayer |
| Layer of output data. Used for connection with next layer. More... | |
| int | iWindow |
| Input window size. More... | |
| int | iStep |
| Size of step. More... | |
| double | outputVal |
| Output value. More... | |
| double | prevVal |
| Previous output value. More... | |
| uint | m_myIndex |
| Index of neuron in layer. More... | |
| double | gradient |
| Current gradient of neuron. More... | |
| CArrayCon * | Connections |
| Array of connections with neurons in next layer. More... | |
| ENUM_ACTIVATION | activation |
| Activation type (ENUM_ACTIVATION) More... | |
| ENUM_OPTIMIZATION | optimization |
| Optimization method (ENUM_OPTIMIZATION) More... | |
| int | t |
| Count of iterations. More... | |
Class of recurrent LSTM unit.
Detailed description on the link.
Definition at line 2124 of file NeuroNet.mqh.
| CNeuronLSTM::CNeuronLSTM | ( | void | ) |
Constructor.
Definition at line 2161 of file NeuroNet.mqh.
| CNeuronLSTM::~CNeuronLSTM | ( | void | ) |
Destructor.
Definition at line 2175 of file NeuroNet.mqh.
|
protectedvirtualinherited |
Method to calculate activation function.
| x | Input data. |
Reimplemented in CNeuronConv.
Definition at line 2663 of file NeuroNet.mqh.
|
virtualinherited |
Calculate derivative of activation function.
| [in] | x | Input data |
Reimplemented in CNeuronConv.
Definition at line 2680 of file NeuroNet.mqh.
|
protectedvirtual |
Method to transfer gradient to previous layer.
| nextLayer | Pointer to next layer. |
Reimplemented from CNeuronProof.
Definition at line 2396 of file NeuroNet.mqh.
|
virtualinherited |
Dispatch method for defining the subroutine for transfer gradient to previous layer.
| TargetObject | Pointer to next layer. |
Definition at line 959 of file NeuroNet.mqh.
|
virtual |
Method to transfer gradients to previous layer.
| [in] | prevLayer | Pointer to previous layer. |
Reimplemented from CNeuronProof.
Definition at line 2597 of file NeuroNet.mqh.
|
virtual |
Method to transfer gradients to neuron in previous layer.
| [in] | prevNeuron | Pointer to neuron. |
| [in] | index | Index of neuron in previous layer |
Reimplemented from CNeuronProof.
Definition at line 2585 of file NeuroNet.mqh.
|
protectedvirtual |
Method of calculation gate iteration.
| [in] | gate | Pointer to gate |
| [in] | sequence | Input data |
Definition at line 2354 of file NeuroNet.mqh.
|
protectedvirtual |
Feed Forward method. Detailed description on the link.
| prevLayer | Pointer to previos layer. |
Reimplemented from CNeuronProof.
Definition at line 2262 of file NeuroNet.mqh.
|
virtualinherited |
Dispatch method for defining the subroutine for Feed Forward process.
| SourceObject | Pointer to previos layer. |
Definition at line 859 of file NeuroNet.mqh.
|
inlinevirtualinherited |
Method to get access to array of connections.
Definition at line 443 of file NeuroNet.mqh.
|
inlinevirtualinherited |
|
inlinevirtual |
Method for getting a pointer to the resulting neural layer. Not used in fully connected neural networks.
Reimplemented from CNeuronProof.
Definition at line 2150 of file NeuroNet.mqh.
|
inlinevirtualinherited |
Return result of feed forward operations.
Definition at line 439 of file NeuroNet.mqh.
|
inlinevirtualinherited |
Return result of feed forward operations at previous iteration.
Definition at line 440 of file NeuroNet.mqh.
|
virtualinherited |
Method of initialization class.
| numOutputs | Number of connections to next layer. |
| myIndex | Index of neuron in layer. |
| optimization_type | Optimization type (ENUM_OPTIMIZATION) |
Definition at line 488 of file NeuroNet.mqh.
|
virtual |
Unit initialization method. Detailed description on the link.
Reimplemented from CNeuronProof.
Definition at line 2197 of file NeuroNet.mqh.
|
protectedvirtual |
Method of gate initialization.
| [in] | layer | Pointer to gate |
| [in] | numUnits | Number of units in gate |
| [in] | numOutputs | Number of outputs |
| [in] | optimization_type | Type of optimization (ENUM_OPTIMIZATION) |
Definition at line 2232 of file NeuroNet.mqh.
|
virtual |
Load method.
| [in] | file_handle | handle of file |
Reimplemented from CNeuronProof.
Definition at line 2643 of file NeuroNet.mqh.
|
virtual |
Save method.
| [in] | file_handle | handle of file |
Reimplemented from CNeuronProof.
Definition at line 2623 of file NeuroNet.mqh.
|
inlinevirtualinherited |
Set the type of activation function (ENUM_ACTIVATION)
Definition at line 433 of file NeuroNet.mqh.
|
inlinevirtualinherited |
Set gradient value to neuron.
Definition at line 441 of file NeuroNet.mqh.
|
inlinevirtualinherited |
Set the output value.
Definition at line 438 of file NeuroNet.mqh.
|
inlineprotectedvirtualinherited |
Calculating Sigmoid \(\frac{1}{1+e^x}\).
| x | Input data. |
Definition at line 426 of file NeuroNet.mqh.
|
inlinevirtualinherited |
Calculate derivative of Sigmoid function.
| x | Input data |
Definition at line 445 of file NeuroNet.mqh.
|
inlineprotectedvirtualinherited |
Calculating \(tanh(x)\).
| x | Input data. |
Definition at line 427 of file NeuroNet.mqh.
|
inlinevirtualinherited |
Calculate derivative of \(tanh(x)\).
| x | Input data |
Definition at line 446 of file NeuroNet.mqh.
|
inlinevirtual |
Identificator of class.
Reimplemented from CNeuronProof.
Definition at line 2156 of file NeuroNet.mqh.
|
protectedvirtual |
Method for updating weights.
| prevLayer | Pointer to previos layer. |
Reimplemented from CNeuronBase.
Definition at line 2531 of file NeuroNet.mqh.
|
protectedvirtual |
Method for updating gates' weights.
| gate | Pointer to gate. |
| input_data | Pointer to tensor with input data. |
Definition at line 2547 of file NeuroNet.mqh.
|
virtualinherited |
Dispatch method for defining the subroutine for updating weights.
| SourceObject | Pointer to previos layer. |
Definition at line 887 of file NeuroNet.mqh.
|
protectedinherited |
Activation type (ENUM_ACTIVATION)
Definition at line 418 of file NeuroNet.mqh.
|
staticinherited |
Multiplier to momentum in SGD optimization.
Definition at line 436 of file NeuroNet.mqh.
|
protectedinherited |
Array of connections with neurons in next layer.
Definition at line 417 of file NeuroNet.mqh.
|
protected |
Object of forget gate.
Definition at line 2127 of file NeuroNet.mqh.
|
protectedinherited |
Current gradient of neuron.
Definition at line 416 of file NeuroNet.mqh.
|
protected |
Input data.
Definition at line 2133 of file NeuroNet.mqh.
|
protected |
Object of input gate.
Definition at line 2128 of file NeuroNet.mqh.
|
protected |
Gradient on previous layer.
Definition at line 2134 of file NeuroNet.mqh.
|
protectedinherited |
Size of step.
Definition at line 812 of file NeuroNet.mqh.
|
protectedinherited |
Input window size.
Definition at line 811 of file NeuroNet.mqh.
|
protectedinherited |
Index of neuron in layer.
Definition at line 415 of file NeuroNet.mqh.
|
protected |
Memory array.
Definition at line 2131 of file NeuroNet.mqh.
|
protected |
Object of new content.
Definition at line 2130 of file NeuroNet.mqh.
|
protectedinherited |
Optimization method (ENUM_OPTIMIZATION)
Definition at line 419 of file NeuroNet.mqh.
|
protected |
Object of output gate.
Definition at line 2129 of file NeuroNet.mqh.
|
protectedinherited |
Layer of output data. Used for connection with next layer.
Definition at line 810 of file NeuroNet.mqh.
|
protectedinherited |
Output value.
Definition at line 413 of file NeuroNet.mqh.
|
protected |
Ravious iteration memory array.
Definition at line 2132 of file NeuroNet.mqh.
|
protectedinherited |
Previous output value.
Definition at line 414 of file NeuroNet.mqh.
|
protectedinherited |
Count of iterations.
Definition at line 420 of file NeuroNet.mqh.