[全部人都看得懂] 近年冒起的深度学习为何比以前的机器学习做得更好而且可以战胜人类

普通人,特别是新手或者根本没有做编程的人可能会很难理解以前的机器学习和近几年非常流行的深度学习之间的区别。普遍的看法是,深度学习似乎是几年前才出现的“事情”,而且在不同的任务下完全胜过人类。这是如何发生的?还有为什么是现在呢?

一部份 google Tensorflow 深度學習的 code

其实经典的机器学习和新冒起的深度学习有很大的区别。如果你明白这一点,你就会明白为什么深度学习可以在这么短的时间内主宰世界。


全连接网络 (Fully connected network)和线性回归 (Linear Regression)

深入学习中被经常使用的一个模型被称为全连接网络。它的基本形式可以追溯到我们经典的高中数学,线性回归。

是的,经典的Y = mx + c。

m和c是我们的参数。例如,现在我们正在试图通过观察高中一班学生的体重来预测他们跑步的速度。当然每所高中都有一些从40公斤到130公斤的苗条学生和胖子。

所以Y =速度和x = 体重,而m 和c就是一些任意数字来得到最接近的答案。

在经典机器学习中,我们有一个“真正的”m和c,这意味着通过数学操作,我们可以找到最适合的m和c来计算他们跑步的速度。虽然这种线性回归模式不一定完全准确,但m和c已经尽力预测跑步者的速度。

该技术被称为 "maximum likelihood" or "Minimize MSE" or "Derivative set to 0".


但是现在我们有两个问题。

1. 只有两个参数( m & c) 所划出的线还不够好。我们需要更强的模型来充分吸收所有的数据点,从而做出完美的预测。

2. 我们有另一个名为“非线性”的问题。比如说学生的速度相对于体重的图表原来是这样的

  • 如果我们劃一个最合适的线性回归线,它将看起来像这样完全不能描绘出合适的直线


这就是我们所说的:非线性问题。只用m & c 我们只能划出直线。如果你仔细考虑现实的情况,你也会了解到在跑步比赛中表现最好的学生应该不是太胖也不会太瘦的。数据就会如上图般成U型

多年来,顶尖大学的研究人员试图解决非线性问题。例如,第一代Xbox Kinect(像Just-dance这样的游戏)就是使用经典机器学习,而不是深度学习来检测人体运动。


但深度学习(至少现在是)的威力真是太大了。 它应用了以下的技术。


1. 许多的线性回归

我们回到预测他们跑步速度的问题。我们还是会使用线性回归来进行预测,但这次我们用3条线性回归模型,就能完美解决问题。

深入学习其基本形式也是这么一回事。在我以前的项目中,我用了将近8000个线性回归线于全连接网络。这种暴力的结构可以帮助我们为每个问题创造一个度身订造的模型,至少在理论上这是可行的。

2.激活功能 (Activation)

第二个突破被称为激活功能。对于每个线性回归,我们将添加一个Sigmoid函数。

您可以看到,直线立即变为非直线。而且这在计算上很方便,节省了大量的时间。

深入学习处理复杂任务的能力和非线性完美解决世界上不同的问题。想象一下,如果我们添加了1亿个回归模型来下棋,我们就可以轻松地胜过人类。 (当然这不是Google Deep Mind设计Alpha-Go的方式,但是这个概念是一样的)


H2
H3
H4
3 columns
2 columns
1 column
6 Comments
Ecency