近来有一些朋友问我,深度学习是不是算机器学习,如果是为什么一定要单拿出来算一个概念,那我在这就说说我的理解。
首先,深度学习确实仍然是依靠机器来做学习的不管是监督、半监督、还是其它学习,所以从这个角度来说深度学习是算作机器学习范畴的。
但是,与传统的机器学习概念不同,深度学习其背后原理的解释性非常差,我们来做个比较。
以传统机器学习中的监督学习为例,朴素贝叶斯实现的是概率量化计算的模型,它的解释是先后验概率的量化关系。决策树实现的是通过维度条件来降低分类的信息熵,这是基于信息熵解释的模型。回归模型是通过建模和拟合来确定待定系数,目的是在不过拟合的情况下降低残差。SVM是通过超平面来分割不同类距离超平面距离最优化的统计学模型……这些模型的物理解释非常明确,有着清晰的含义。当然,向量的维度数量和维度值是一定要由我们人类来归纳量化的。
深度学习与此不同的是,它通过大量的线性分类器或非线性分类器、可导或不可导的激励函数、以及池化层等功能对观测对象的特征进行自动化的提取。而在训练中寻找到的参数w矩阵中的权值早已没有了统计学中的权值的权重意义,无法得到清晰的物理解释,也无法进行逆向研究。用这种方式训练出来的模型最后在做业务改进的时候是没有方向感的,只知道输入新的情景向量x之后业务效果有提高,但是不知道为什么。所以深度学习的模型训练得再好也只能当成一个黑匣子来使用,它之所以能够被认定为科学的方式还是因为它的泛化性能够在验证集上通过来做保障这一点。这才是两者最大的不同,也是研究人员不愿意把两者放在一起无差别研究的重要原因。
目前深度学习的工作还差强人意的原因有这样几个:
1、计算的复杂性太高,计算成本太高,也就导致训练的时间太长,商用价值无法在很多场景抵偿商用成本。
2、底层的研究人员还是非常缺乏,没有本质性的理论突破,所以也就没办法缩短应用落地的时间。
3、建模能力仍然是一个大问题。虽然在深度学习中,特征提取已经越来越多地被计算机自动去做了,但是这个提取过程中有大量试错的过程会给计算机带来很多不必要的计算压力。这些对象的特征提取通过人的其它付诸手段是可以降低其计算复杂性的。
不过说到底,距离理想的人工智能的状态,硬伤还是在问题1上,这恐怕需要大量的时间积累,理论的积累,经验的积累,人才的积累,总有一天我们会等到人工智能奇点爆炸的时刻的。