Deep Learning For Channel Coding