Tengo una red neuronal feed forward (1 capa oculta con 10 neuronas, 1 capa de salida con 1 neurona) sin función de activación (sólo transferencia por peso + bias) que puede aprender una onda senoidal realmente wonky (usando una ventana 2in1out) con una precisión utilizable en producción entrenada mediante escalada estocástica en un par de segundos:
for (int d = 0; d < 10000; d++)
data.Add((float)(Math.Sin((float)d * (1 / (1 + ((float)d / 300)))) + 1) / 2);
Probablemente estoy borracho, pero si no usas una función de activación, ¿pierdes ese estatus de aproximador de funciones universal? ¿O es sólo para el descenso de gradiente / propagación hacia atrás, etc. para actuar como una función diferenciable?
O bien, ¿es probable que haya pasado por alto un error y que en realidad esté activando en secreto sin saberlo?