Solved – Can deep neural network approximate multiplication function without normalization

deep learningmachine learningneural networksregression

Let say we want to do regression for simple f = x * y using standart deep neural network.

I remember that there are reseraches that tells that NN with one hiden layer can apoximate any function, but I have tried and without normalization NN was unable approximate even this simple multiplication. Only log-normalization of data helped m = x*y => ln(m) = ln(x) + ln(y).
But that looks like a cheat. Can NN do this without log-normalization? The unswer is obviously(as for me) – yes, so the question is more what should be type/configuration/layout of such NN?

Best Answer

A big multiplication function gradient forces the net probably almost immediately into some horrifying state where all its hidden nodes have a zero gradient (because of neural network implementation details and limitations). We can use two approaches:

  1. Divide by a constant. We are just dividing everything before the learning and multiply after.

  2. Use log-normalization. It makes multiplication into addition:

    \begin{align} m &= x \cdot y\\ &\Rightarrow \\ \ln(m) &= \ln(x) + \ln(y) \end{align}