机器学习,深度学习,神经网络,深度神经网络

人工智能包含机器学习,机器学习包含深度学习(是其中比较重要的分支)。深度学习源自于人工神经网络的研究,但是并不完全等于传统神经网络。

神经网络深度神经网络的区别在于隐藏层级,通常两层或两层以上隐藏层的网络叫做深度神经网络。一般隐藏层越多,精确度越高。

深度学习的算法又分很多种,比较典型的四种:卷积神经网络 — CNN, 循环神经网络 — RNN, 生成对抗网络 — GANs, 深度强化学习 — RL

机器学习和深度学习的对比

数据依赖性

深度学习与传统的机器学习最主要的区别在于随着数据规模的增加其性能也不断增长。当数据很少时,深度学习算法的性能并不好。这是因为深度学习算法需要大量的数据来完美地理解它。另一方面,在这种情况下,传统的机器学习算法使用制定的规则,性能会比较好。

硬件依赖

深度学习算法需要进行大量的矩阵运算,GPU 主要用来高效优化矩阵运算,所以 GPU 是深度学习正常工作的必须硬件。与传统机器学习算法相比,深度学习更依赖安装 GPU 的高端机器。

特征处理

特征处理是将领域知识放入特征提取器里面来减少数据的复杂度并生成使学习算法工作的更好的模式的过程。特征处理过程很耗时而且需要专业知识。

在机器学习中,大多数应用的特征都需要专家确定然后编码为一种数据类型。

特征可以使像素值、形状、纹理、位置和方向。大多数机器学习算法的性能依赖于所提取的特征的准确度。

深度学习尝试从数据中直接获取高等级的特征,这是深度学习与传统机器学习算法的主要的不同。

问题解决方式

当应用传统机器学习算法解决问题的时候,传统机器学习通常会将问题分解为多个子问题并逐个子问题解决最后结合所有子问题的结果获得最终结果。相反,深度学习提倡直接的端到端的解决问题。

传统机器学习会将问题分解为两步:物体检测和物体识别。首先,使用一个边界框检测算法扫描整张图片找到可能的是物体的区域;然后使用物体识别算法(例如 SVM 结合 HOG )对上一步检测出来的物体进行识别。

相反,深度学习会直接将输入数据进行运算得到输出结果。例如可以直接将图片传给YOLO 网络(一种深度学习算法),YOLO 网络会给出图片中的物体和名称。

执行时间

通常情况下,训练一个深度学习算法需要很长的时间。这是因为深度学习算法中参数很多,因此训练算法需要消耗更长的时间。最先进的深度学习算法 ResNet完整地训练一次需要消耗两周的时间,而机器学习的训练会消耗的时间相对较少,只需要几秒钟到几小时的时间。

但两者测试的时间上是完全相反。深度学习算法在测试时只需要很少的时间去运行。如果跟k-nearest neighbors(一种机器学习算法)相比较,测试时间会随着数据量的提升而增加。不过这不适用于所有的机器学习算法,因为有些机器学习算法的测试时间也很短。

可解释性

至关重要的一点,我们把可解释性作为比较机器学习和深度学习的一个因素。

我们看个例子。假设我们适用深度学习去自动为文章评分。深度学习可以达到接近人的标准,这是相当惊人的性能表现。但是这仍然有个问题。深度学习算法不会告诉你为什么它会给出这个分数。当然,在数学的角度上,你可以找出来哪一个深度神经网络节点被激活了。但是我们不知道神经元应该是什么模型,我们也不知道这些神经单元层要共同做什么。所以无法解释结果是如何产生的。

另一方面,为了解释为什么算法这样选择,像决策树(decision trees)这样机器学习算法给出了明确的规则,所以解释决策背后的推理是很容易的。因此,决策树和线性/逻辑回归这样的算法主要用于工业上的可解释性。

参考https://www.zhihu.com/search?type=content&q=%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E5%92%8C%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0

你可能感兴趣的:(机器学习,深度学习,神经网络,深度神经网络)