Machine Learning for Hardware-Constrained Wireless Communication Systems