机器学习和深度学习(ML/DL)正在成为势头,而不是盲目泡沫。原因如下:

1. ML/DL已经做出了成绩。

2. ML/DL自1985年以来一直呈上升趋势(反向传播算法),并在2005年之后经历了另一个加速阶段(大数据和分布式数据处理平台的广泛应用)。ML/DL的发展呈现上升曲线模式,而不是短暂科技泡沫。由于过去多年来它一直保持稳定发展,至少在未来相同的时间内仍将如此。

3. ML/DL已经与应用程序处于共生开发。在各种尝试和犯错的同时,它在实践应用上也获得了长足发展。理论方面还落后一些,以至于很多事情还无法得到解释。就像纳西姆·塔勒布(Nassim Taleb)所言:ML/DL是“反脆弱(antifragile)”的。

4. ML/DL在背后有市场。巨额投资提供激励,吸引来了很多聪明人才。这么多聪明人不太可能一起做错的事情。

当然关于ML/DL的炒作也不在少数。ML/DL已可用于特定的程序应用中,不过就此声称普遍的AI已经实现还有些夸张,我们离它还远着呢。不过这何尝不是一个好事情,因为有很多有趣的工作等着我们去解决。

下面是一名初学者对学习ML/DL的第一印象:

ML/DL使用到非常不同的工具包和方法,并非我们所熟悉的分布式系统领域。最开始对ML/DL实验性和试错的本质感到惊讶。ML/DL本来用于处理噪音/模糊/凌乱的现实世界数据,并在此之上自然而然地产生统计和概率工具。只能通过测试性能验证。数据集至关重要。调试一团糟,机器学习过程非常难理解。另一方面,ML/DL领域充满活力。这里有很多资源和平台,还有非常多有趣的应用程序。

对ML/DL的兴趣在于它与分布式系统的交互,对编写图像/文本/语音处理程序不感兴趣,学习ML/DL要思考下面这两个问题:

1. 如何构建更好的分布式系统/架构以提高ML/DL系统和程序的性能?

2. 如何使用ML/DL来构建更好的分布式系统?

这些都是需要很长时间才能得到答案的大问题,所以放到以后再来仔细讨论。下面是如何学习ML/DL。在未来的时间里,还要简要概述ML/DL的概念和机制。

如何去学ML/DL

在一月份,开始关注Coursera上吴恩达(Andrew Ng)的机器学习课程。每天花一个小时来看他的公开课。吴恩达用清晰明了的方式阐明了机器学习的概念。

吴恩达课程分为导言和线性回归,线性回归的多个特征,以及逻辑回归和正则化。随着课程讲到非线性决策的逻辑回归,开始对突然加大对信息量和复杂性感到不知所措。后来讲到神经网络,用思维导图的方式有助于我在神经网络的迷途中找到方向。

吴恩达是在用统观的方式来讲解神经网络的概念,这听起来太抽象。如果以一个小的具体应用来讲解,可能会更好些。

最近,谷歌工程师Vincent Vanhoucke也在Udacity开设的深度学习课程。这套课程供了一个更简单的对深度学习介绍。从多项式对数分类开始。softmax函数非常实用,并且有具体的概念,还使用MNIST字母表的前十个字母做了示范。

然后使用相同的MNIST做例子,课程引入修正线性单元(Rectified linear unit,ReLU)作为介绍非线性的方法。并且展示了如何使用ReLus对多项式逻辑分类进行链接,以构建一个更好地解决字母分类任务的深层网络。这个课程并非在统观上解释深层网络,而是以ReLu的特定使用来解释它,并且重复使用逻辑回归构建的字母表分类。Vincent的课程一样使用MNIST做示例,更侧重于介绍TensorFlow技巧和基本的神经网络概念。

如果想了解更多有关机器学习的介绍和课程,可阅读吴恩达的采访和Vincent的一些视频教程,智能菌会在后期更新一些文章和视频,敬请期待。

关注网易智能菌(微信公众号:smartman163),获取专业人工智能资讯与AI报告。