投稿|PyTorch打败Google

投稿|PyTorch打败Google
文章图片

图片来源@视觉中国

文 | 郭华
2015年,Google发布了机器学习框架TensorFlow,凭借其在技术上无可争议的统治地位,TensorFlow迅速成为这一领域的霸主 。
2017年,TensorFlow如日中天之际,Facebook发布了PyTorch,谁也没有想到,短短四年后,它竟把前者从王座上拉了下来 。
剥离正义与邪恶后,从某种意义上来说,这就大卫打败巨人歌利亚的故事 。
01 机器学习框架简史什么是机器学习框架?
这要从机器学习说起 。
大家应该都听过人工智能,机器学习就是人工智能的一种实现手段 。机器学习之父Tom Mitchell曾下过这么一个定义——“如果一个程序可以在任务T上,随着经验E的增加,效果P同步增加,则称这个程序可以学习” 。
这里有两个要点,第一是程序,第二是经验 。程序的核心是模型,而经验则表现为数据 。其实这个定义也覆盖了大数据的概念,只不过大数据一般强调数据,机器学习则更突出模型 。
而机器学习框架,简单来说就是一套为机器学习服务的工具,用以加速模型的开发与应用 。
就像你可以用乐高快速搭建出房子、汽车等各种各样的模型一样,乐高就是一种框架 。
所以机器学习框架和机器学习的关系,就像生产关系和生产力一样,机器学习技术的发展决定框架的形态,而框架反过来又可以促进前者的发展 。
比较有名的框架,根据诞生时间排序,主要有2002年的Torch,2007年的Theano,2013年的Caffe,2015年的TensorFlow和Keras和2017年的PyTorch这六个 。
当然,这些只是和本主题相关的,其它还有很多传统AI框架和库,它们每个都满足了某种特定场景,但总体上来看,可以说是多点散发 。
直到2016年AlphaGo大战李世石,这似乎是一个奇点事件 。
我记得首局李世石便投子认输了 。那时我们正在云南团建,AlphaGo不仅打败了李世石,也打败了云南的美景,一路上所有人都在谈论它 。
用李安的话说,“我看不懂,但我大受震撼 。”
受震撼的不止我们,全世界的人和资本都受到了震撼 。
AlphaGo用的技术是深度学习,深度学习是机器学习的一种,其特征在模型上,深度学习的模型是神经网络模型 。
AlphaGo之后,机器学习的方向开始朝深度学习统一 。
对底层框架来说,这相当于吹响了冲锋的号角 。
经过不断的分分合合,它们逐渐形成了两大阵营 。
一个是TensorFlow阵营 。
TensorFlow 2015年由Google开源 。其设计理念和Theano非常相似,所以在Google加持的TensorFlow出现之后,Theano就没什么存在的必要了 。而且Theano的关键创始人Ian Goodfellow也一直在谷歌工作 。2017年,Theano官宣不再维护,同年,Keras被添加到了TensorFlow之中 。这构成了实力强劲的第一阵营 。
一个是PyTorch阵营 。
PyTorch 2017年由Facebook开源 。PyTorch设计之初可以看成是Torch的Python版 。和Theano类似,Torch的关键创始人也一直在Facebook 。Caffe的创始人贾扬清在完成Caffe后先是去了Google开发TensorFlow,随后又到了Facebook 。在Facebook,他开发了Caffe2 。2018年,Torch被标注为不再活跃,其主要维护者宣布精力将主要投入到PyTorch上,同年,Caffe2也被合并到了PyTorch之中 。这构成了第二阵营 。
在一个要素自由流动的市场里,行业成熟的标志是出现头部公司 。
所以TensorFlow和PyTorch的脱颖而出,意味着决战将在它们之间展开 。

推荐阅读