Neuron Net
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
CNeuronConv Class Reference

Class of convolution layer. More...

Inheritance diagram for CNeuronConv:
CNeuronProof CNeuronBase

Public Member Functions

 CNeuronConv ()
 Constructor. More...
 
 ~CNeuronConv (void)
 Destructor. 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 double activationFunctionDerivative (double x)
 Calculate derivative of activation function. More...
 
virtual int Type (void) const
 Identificator of class. More...
 
virtual bool Save (int const file_handle)
 Save method. More...
 
virtual bool Load (int const file_handle)
 Load method. 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, int window, int step, int units_count, ENUM_OPTIMIZATION optimization_type)
 Method of initialization class. More...
 
virtual bool Init (uint numOutputs, uint myIndex, ENUM_OPTIMIZATION optimization_type)
 Method of initialization class. More...
 
virtual CLayergetOutputLayer (void)
 Method for getting a pointer to the resulting neural layer. Not used in fully connected neural networks. 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 CArrayCongetConnections ()
 Method to get access to array of connections. 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. More...
 
virtual bool calcHiddenGradients (CLayer *&nextLayer)
 Method to transfer gradient to previous layer. More...
 
virtual double activationFunction (double x)
 Method to calculate activation function. More...
 
virtual bool updateInputWeights (CLayer *&prevLayer)
 Method for updating weights. 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

double param
 
CLayerOutputLayer
 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...
 
CArrayConConnections
 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...
 

Detailed Description

Class of convolution layer.

Detailed description on the link.

Definition at line 829 of file NeuroNet.mqh.

Constructor & Destructor Documentation

◆ CNeuronConv()

CNeuronConv::CNeuronConv ( )
inline

Constructor.

Definition at line 838 of file NeuroNet.mqh.

◆ ~CNeuronConv()

CNeuronConv::~CNeuronConv ( void  )
inline

Destructor.

Definition at line 839 of file NeuroNet.mqh.

Member Function Documentation

◆ activationFunction()

double CNeuronConv::activationFunction ( double  x)
protectedvirtual

Method to calculate activation function.

Parameters
xInput data.
Returns
Result of activation function.

Reimplemented from CNeuronBase.

Definition at line 943 of file NeuroNet.mqh.

◆ activationFunctionDerivative()

double CNeuronConv::activationFunctionDerivative ( double  x)
virtual

Calculate derivative of activation function.

Parameters
[in]xInput data
Returns
Derivative

Reimplemented from CNeuronBase.

Definition at line 1021 of file NeuroNet.mqh.

◆ calcHiddenGradients() [1/2]

bool CNeuronConv::calcHiddenGradients ( CLayer *&  nextLayer)
protectedvirtual

Method to transfer gradient to previous layer.

Parameters
nextLayerPointer to next layer.

Reimplemented from CNeuronProof.

Definition at line 1001 of file NeuroNet.mqh.

◆ calcHiddenGradients() [2/2]

bool CNeuronBase::calcHiddenGradients ( CObject *&  TargetObject)
virtualinherited

Dispatch method for defining the subroutine for transfer gradient to previous layer.

Parameters
TargetObjectPointer to next layer.

Definition at line 952 of file NeuroNet.mqh.

◆ calcInputGradients() [1/2]

bool CNeuronConv::calcInputGradients ( CLayer prevLayer)
virtual

Method to transfer gradients to previous layer.

Parameters
[in]prevLayerPointer to previous layer.

Reimplemented from CNeuronProof.

Definition at line 1224 of file NeuroNet.mqh.

◆ calcInputGradients() [2/2]

bool CNeuronConv::calcInputGradients ( CNeuronBase prevNeuron,
uint  index 
)
virtual

Method to transfer gradients to neuron in previous layer.

Parameters
[in]prevNeuronPointer to neuron.
[in]indexIndex of neuron in previous layer

Reimplemented from CNeuronProof.

Definition at line 1268 of file NeuroNet.mqh.

◆ feedForward() [1/2]

bool CNeuronConv::feedForward ( CLayer prevLayer)
protectedvirtual

Feed Forward method.

Parameters
prevLayerPointer to previos layer.

Reimplemented from CNeuronProof.

Definition at line 909 of file NeuroNet.mqh.

◆ feedForward() [2/2]

bool CNeuronBase::feedForward ( CObject *&  SourceObject)
virtualinherited

Dispatch method for defining the subroutine for Feed Forward process.

Parameters
SourceObjectPointer to previos layer.

Definition at line 852 of file NeuroNet.mqh.

◆ getConnections()

virtual CArrayCon* CNeuronBase::getConnections ( )
inlinevirtualinherited

Method to get access to array of connections.

Returns
Pointer to connections array

Definition at line 436 of file NeuroNet.mqh.

◆ getGradient()

virtual double CNeuronBase::getGradient ( )
inlinevirtualinherited

Return gradient of neuron.

Returns
Gradient

Definition at line 435 of file NeuroNet.mqh.

◆ getOutputLayer()

virtual CLayer* CNeuronProof::getOutputLayer ( void  )
inlinevirtualinherited

Method for getting a pointer to the resulting neural layer. Not used in fully connected neural networks.

Returns
Pointer to layer.

Reimplemented from CNeuronBase.

Reimplemented in CNeuronLSTM.

Definition at line 816 of file NeuroNet.mqh.

◆ getOutputVal()

virtual double CNeuronBase::getOutputVal ( )
inlinevirtualinherited

Return result of feed forward operations.

Returns
Output value

Definition at line 432 of file NeuroNet.mqh.

◆ getPrevVal()

virtual double CNeuronBase::getPrevVal ( )
inlinevirtualinherited

Return result of feed forward operations at previous iteration.

Returns
Previous output value

Definition at line 433 of file NeuroNet.mqh.

◆ Init() [1/2]

bool CNeuronBase::Init ( uint  numOutputs,
uint  myIndex,
ENUM_OPTIMIZATION  optimization_type 
)
virtualinherited

Method of initialization class.

Parameters
numOutputsNumber of connections to next layer.
myIndexIndex of neuron in layer.
optimization_typeOptimization type (ENUM_OPTIMIZATION)
Returns
Boolen result of operations.

Definition at line 481 of file NeuroNet.mqh.

◆ Init() [2/2]

bool CNeuronProof::Init ( uint  numOutputs,
uint  myIndex,
int  window,
int  step,
int  units_count,
ENUM_OPTIMIZATION  optimization_type 
)
virtualinherited

Method of initialization class.

Parameters
numOutputsNumber of connections to next layer.
myIndexIndex of neuron in layer.
windowSize of input window
stepStep size.
units_countNumberof neurons.
optimization_typeOptimization type (ENUM_OPTIMIZATION)
Returns
Boolen result of operations.

Reimplemented in CNeuronLSTM.

Definition at line 1069 of file NeuroNet.mqh.

◆ Load()

bool CNeuronConv::Load ( int const  file_handle)
virtual

Load method.

Parameters
[in]file_handlehandle of file
Returns
logical result of operation

Reimplemented from CNeuronProof.

Definition at line 2104 of file NeuroNet.mqh.

◆ Save()

bool CNeuronConv::Save ( int const  file_handle)
virtual

Save method.

Parameters
[in]file_handlehandle of file
Returns
logical result of operation

Reimplemented from CNeuronProof.

Definition at line 2092 of file NeuroNet.mqh.

◆ SetActivationFunction()

virtual void CNeuronBase::SetActivationFunction ( ENUM_ACTIVATION  value)
inlinevirtualinherited

Set the type of activation function (ENUM_ACTIVATION)

Definition at line 426 of file NeuroNet.mqh.

◆ setGradient()

virtual void CNeuronBase::setGradient ( double  val)
inlinevirtualinherited

Set gradient value to neuron.

Definition at line 434 of file NeuroNet.mqh.

◆ setOutputVal()

virtual void CNeuronBase::setOutputVal ( double  val)
inlinevirtualinherited

Set the output value.

Definition at line 431 of file NeuroNet.mqh.

◆ SigmoidFunction()

virtual double CNeuronBase::SigmoidFunction ( double  x)
inlineprotectedvirtualinherited

Calculating Sigmoid \(\frac{1}{1+e^x}\).

Parameters
xInput data.
Returns
Result of calculation

Definition at line 419 of file NeuroNet.mqh.

◆ SigmoidFunctionDerivative()

virtual double CNeuronBase::SigmoidFunctionDerivative ( double  x)
inlinevirtualinherited

Calculate derivative of Sigmoid function.

Parameters
xInput data
Returns
Derivative

Definition at line 438 of file NeuroNet.mqh.

◆ TanhFunction()

virtual double CNeuronBase::TanhFunction ( double  x)
inlineprotectedvirtualinherited

Calculating \(tanh(x)\).

Parameters
xInput data.
Returns
Result of calculation

Definition at line 420 of file NeuroNet.mqh.

◆ TanhFunctionDerivative()

virtual double CNeuronBase::TanhFunctionDerivative ( double  x)
inlinevirtualinherited

Calculate derivative of \(tanh(x)\).

Parameters
xInput data
Returns
Derivative

Definition at line 439 of file NeuroNet.mqh.

◆ Type()

virtual int CNeuronConv::Type ( void  ) const
inlinevirtual

Identificator of class.

Returns
Type of class

Reimplemented from CNeuronProof.

Definition at line 844 of file NeuroNet.mqh.

◆ updateInputWeights() [1/2]

bool CNeuronConv::updateInputWeights ( CLayer *&  prevLayer)
protectedvirtual

Method for updating weights.

Parameters
prevLayerPointer to previos layer.

Reimplemented from CNeuronBase.

Definition at line 1030 of file NeuroNet.mqh.

◆ updateInputWeights() [2/2]

bool CNeuronBase::updateInputWeights ( CObject *&  SourceObject)
virtualinherited

Dispatch method for defining the subroutine for updating weights.

Parameters
SourceObjectPointer to previos layer.

Definition at line 880 of file NeuroNet.mqh.

Member Data Documentation

◆ activation

ENUM_ACTIVATION CNeuronBase::activation
protectedinherited

Activation type (ENUM_ACTIVATION)

Definition at line 411 of file NeuroNet.mqh.

◆ alpha

double CNeuronBase::alpha =0.8
staticinherited

Multiplier to momentum in SGD optimization.

Definition at line 429 of file NeuroNet.mqh.

◆ Connections

CArrayCon* CNeuronBase::Connections
protectedinherited

Array of connections with neurons in next layer.

Definition at line 410 of file NeuroNet.mqh.

◆ gradient

double CNeuronBase::gradient
protectedinherited

Current gradient of neuron.

Definition at line 409 of file NeuroNet.mqh.

◆ iStep

int CNeuronProof::iStep
protectedinherited

Size of step.

Definition at line 805 of file NeuroNet.mqh.

◆ iWindow

int CNeuronProof::iWindow
protectedinherited

Input window size.

Definition at line 804 of file NeuroNet.mqh.

◆ m_myIndex

uint CNeuronBase::m_myIndex
protectedinherited

Index of neuron in layer.

Definition at line 408 of file NeuroNet.mqh.

◆ optimization

ENUM_OPTIMIZATION CNeuronBase::optimization
protectedinherited

Optimization method (ENUM_OPTIMIZATION)

Definition at line 412 of file NeuroNet.mqh.

◆ OutputLayer

CLayer* CNeuronProof::OutputLayer
protectedinherited

Layer of output data. Used for connection with next layer.

Definition at line 803 of file NeuroNet.mqh.

◆ outputVal

double CNeuronBase::outputVal
protectedinherited

Output value.

Definition at line 406 of file NeuroNet.mqh.

◆ param

double CNeuronConv::param
protected

Definition at line 832 of file NeuroNet.mqh.

◆ prevVal

double CNeuronBase::prevVal
protectedinherited

Previous output value.

Definition at line 407 of file NeuroNet.mqh.

◆ t

int CNeuronBase::t
protectedinherited

Count of iterations.

Definition at line 413 of file NeuroNet.mqh.


The documentation for this class was generated from the following file: