TarzaNN
TarzaNN neural network simulator
|
00001 #ifndef BPLearningFeaturePlane_H_INCLUDED 00002 #define BPLearningFeaturePlane_H_INCLUDED 00003 00004 #include <qimage.h> 00005 00006 #include "nowarn.h" 00007 #include "common.h" 00008 #include <stdlib.h> 00009 00010 #include "OutputImage.h" 00011 #include "LearningFeaturePlane.h" 00012 #include "FilterBank.h" 00013 #include "PlaneInputWindowSet.h" 00014 00016 class BPLearningFeaturePlane : public LearningFeaturePlane { 00017 friend class GatingUnits; 00018 friend class FeaturePlaneFactory; 00019 public: 00020 ~BPLearningFeaturePlane(); 00021 void read(QDataStream* inStream, QProgressDialog* progress, int* index); 00022 00023 void save(QDataStream* outStream, QProgressDialog* progress, int* index); 00024 bool isLearning(); 00025 00026 protected: 00027 00044 BPLearningFeaturePlane( Network* net, int l, QString* name, int w, int h, int angles, int speeds, int alpha, int speed, bool isWTA, bool visible, Neuron* neuron, NotifyStrategyAbstract* notify, bool learning); 00045 void applyGatingControl(); 00046 void run(); 00047 void step(); 00048 void updateWeights(Matrix* errorMatrix); 00049 00050 void computeActivations(); 00051 float nonlinearity(Matrix* totalActivation, OutputImage* workOutput); 00052 00053 Matrix* activations; 00054 Matrix* desiredOutcome; 00055 Matrix* errorMatrix; 00056 vector<Matrix*> backErrorMatrix; 00057 00058 bool learning; 00059 float ita; 00060 }; 00061 #endif //BPLearningFeaturePlane_H_INCLUDED