Solved by googlebot in post #2 
              
              
                No, in second case you’ll have additional trainable shared term. 
E.g. for two element vector, you’ll have xout[0] = x[0] - (x[0]+x[1])/2, so xout[0] gradient will affect x[1].