前段时间在网上看到一个概念叫可微编程,称其可以打开深度学习的黑盒学习过程,并将主宰“后深度学习时代”,有人能大概讲一下这个概念和后深度学习时代的概念吗?这种说法是噱头还是确有其事?
可微编程简单来说,就是把神经网络当成一种语言,而不是一个简单的机器学习的方法,从而描述我们客观世界的概念以及概念之间的关系。目前最流行的方法是用深度学习提取特征,然后结合机器学习的一些方法来解决实际当中的一些问题,也可以反过来用深度神经网络拿来直接生成数据,也就是目前最火的生成式对抗网络。但是这样做可解释不强。可微编程把神经网络直接当成一种语言,直接用于替代问题的描述或者说抽象化问题。这样做的话易于优化。只需要一个SGD或者SGD的变种,而不需要发展出非常复杂的优化的算法。此外,还易于计算。并且也能做端到端的学习。所以说它是利器也是有道理的。