As previously stated, a Deep Neural Network (DNN) follows the same concept of a neural network, but having more than one hidden layer. Suppose that the network has \( N_{\mathrm{hidden}} \) hidden layers where the \( l \)-th layer has \( N_{\mathrm{hidden}}^{(l)} \) neurons. The input is still assumed to be an array of size \( 1 \times N \). The network must now try to optimalize its output with respect to the collection of weigths and biases \( P = \big\{P_{\mathrm{input} }, \ P_{\mathrm{hidden} }^{(1)}, \ P_{\mathrm{hidden} }^{(2)}, \ \dots , \ P_{\mathrm{hidden} }^{(N_{\mathrm{hidden}})}, \ P_{\mathrm{output} }\big\} \).