1#ifndef ACTIVATION_LAYER_HPP
2#define ACTIVATION_LAYER_HPP
37 template<ActivationMap A>
42 template<ActivationMap A>
46 for(
size_t i=0;i<n;++i){
47 y[i]=activation_map<A>(x[i]);
52 template<ActivationMap A>
55 for(
size_t i=0;i<n;++i){
56 d[i]=activation_diff_map<A>(x[i])*e[i];
64 return 1.0/(1.0+
exp(-x));
Definition: activation.hpp:23
void init_nabla() override
Definition: activation.hpp:30
ActivationLayer(const size_t)
Definition: activation.hpp:39
Vector feed_forward(Vector x) override
Definition: activation.hpp:44
~ActivationLayer()
Definition: activation.hpp:26
Vector back_propagation(Vector e) override
Definition: activation.hpp:54
void update(Real eta) override
Definition: activation.hpp:34
Vector x
Definition: layer.hpp:32
Definition: activation.hpp:7
ActivationMap
Definition: activation.hpp:9
@ Sigmoid
Definition: activation.hpp:10
Real activation_map< Sigmoid >(Real x)
Definition: activation.hpp:63
Real activation_diff_map< Sigmoid >(Real x)
Definition: activation.hpp:69
Real activation_map(Real)
Real activation_diff_map(Real)
Real exp(Real x)
Definition: math.hpp:5
double Real
Definition: vector.hpp:9
Real * Vector
Definition: vector.hpp:45