Question about the simple example for batch normalization given in "deep learning" book In the section about batch normalization of Deep Learning book by Ian Goodfellow (chapter link) there is the follwing text:


  As  example, suppose we have a deep neural network that has only one
  unit per layerand does not use an activation function at each hidden
  layer: $y=x w_1 w_2 w_3 \ldots w_l$. Here, $w_i$ provides the weight used by
  layer $i$. The output of layer $i$ is  $h_i=h_{i−1} wi$. The output $y$ is a
  linear function of the input $x$, but a nonlinear function of the weights
  $w_i$.


Why y is nonlinear with respect to w_i?
I think what the statement meant was when given weights $w_1,...,w_n$ are fixed, output is linear proportional to $x$, but as it mentions


  nonlinear function of the weights w_i


Given a set of weights (more than one being varied), they do not linearly add to produce an output like

$y=w_1x_1+...+w_nx_n$

but rather non-linearly like

$y=w_1w_2..w_n*x$ (each $w_i$ is a dimension in the hyperspace)

And I think it would become more clearer from the statement "Output is linear to any weight $w_i$ but non-linear to weights $w_i$".