From cb4f05296fcbf6ea11896c33106d9de056ec3563 Mon Sep 17 00:00:00 2001 From: Chris Tomaszewski Date: Tue, 12 Sep 2017 18:04:18 -0400 Subject: [PATCH] fix: slight modification to MLP mapping to reduce potential for numpy overflows and unnecessary computation --- GPy/mappings/mlp.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GPy/mappings/mlp.py b/GPy/mappings/mlp.py index 4afc2fa1..d56c475e 100644 --- a/GPy/mappings/mlp.py +++ b/GPy/mappings/mlp.py @@ -35,7 +35,7 @@ class MLP(Mapping): # Backpropagation to hidden layer. dL_dact = np.dot(dL_dF, self.W2.T) - dL_dlayer1 = dL_dact / np.square(np.cosh(layer1)) + dL_dlayer1 = dL_dact * (1 - np.power(activations, 2)) # Finally, evaluate the first-layer gradients. self.W1.gradient = np.dot(X.T,dL_dlayer1) @@ -47,7 +47,7 @@ class MLP(Mapping): # Backpropagation to hidden layer. dL_dact = np.dot(dL_dF, self.W2.T) - dL_dlayer1 = dL_dact / np.square(np.cosh(layer1)) + dL_dlayer1 = dL_dact * (1 - np.power(activations, 2)) return np.dot(dL_dlayer1, self.W1.T)