23 #ifndef SRC_APPLICATION_MNISTDIGITDLRERPOMDP_HPP_
24 #define SRC_APPLICATION_MNISTDIGITDLRERPOMDP_HPP_
29 #include <opengl/application/OpenGLEpisodicApplication.hpp>
30 #include <opengl/visualization/WindowCollectorChart.hpp>
31 #include <opengl/visualization/WindowMNISTDigit.hpp>
32 using namespace mic::opengl::visualization;
34 #include <mlnn/BackpropagationNeuralNetwork.hpp>
36 using namespace mic::mlnn;
37 using namespace mic::types;
43 namespace application {
71 virtual void initialize(
int argc,
char* argv[]);
76 virtual void initializePropertyDependentVariables();
81 virtual bool performSingleStep();
86 virtual void startNewEpisode();
91 virtual void finishCurrentEpisode();
164 float computeBestValueForGivenStateAndPredictions(mic::types::Position2D player_position_,
float* predictions_);
171 mic::types::MatrixXfPtr getPredictedRewardsForGivenState(mic::types::Position2D player_position_);
178 mic::types::NESWAction selectBestActionForGivenState(mic::types::Position2D player_position_);
184 std::string streamNetworkResponseTable();
mic::utils::DataCollectorPtr< std::string, float > collector_ptr
Data collector.
WindowMNISTDigit * wmd_observation
Window displaying the observation.
WindowCollectorChart< float > * w_chart
Window for displaying statistics.
SpatialExperienceMemory experiences
Application of Partially Observable Deep Q-learning with Experience Reply to the MNIST digits problem...
mic::configuration::Property< std::string > mlnn_filename
Property: name of the file to which the neural network will be serialized (or deserialized from)...
mic::configuration::Property< double > epsilon
WindowMNISTDigit * wmd_environment
Window displaying the whole environment.
mic::configuration::Property< float > discount_rate
std::shared_ptr< std::vector< mic::types::Position2D > > saccadic_path
Saccadic path - a sequence of consecutive agent positions.
Class emulating the MNISTDigit digit environment.
mic::configuration::Property< bool > mlnn_save
Property: flad denoting thether the nn should be saved to a file (after every episode end)...
mic::configuration::Property< std::string > statistics_filename
Property: name of the file to which the statistics will be exported.
size_t batch_size
Size of the batch in experience replay - set to the size of maze (width*height).
mic::configuration::Property< float > learning_rate
mic::configuration::Property< float > step_reward
BackpropagationNeuralNetwork< float > neural_net
Multi-layer neural network used for approximation of the Qstate rewards.
long long sum_of_iterations
mic::configuration::Property< int > step_limit
mic::configuration::Property< bool > mlnn_load
Property: flad denoting thether the nn should be loaded from a file (at the initialization of the tas...
mic::environments::MNISTDigit env
The maze of digits environment.
Class representing the spatial experience memory - used in memory replay. Derived from the Batch clas...