Deep learning theory