How does multicollinearity affect neural networks?
Multi colinearity affects the learning of Artificial Neural network.  Since the information in the dependent variable is very less compared to the other variables, the neural network will take more time to converge.

In packages like sklearn, the dependent variables are identified and omitted from the calculation.  I have used the lm function in R and it marks the coefficient of the dependent variable with NA.  one can remove the variable from the calculation and still the coefficients are going to be same.  In these cases, the rank of the x matrix will be less than the number of columns.  

Even though there are no inverse exists for xTx, most of the packages will not calculate the inverse directly, but they will calculate the pseudo inverse.