以前的机器学习似乎是阳春白雪,只有大公司和尖端高校实验室才能玩得转。有一群人,他们的梦想是使机器学习技术变得下里巴人,让人人都能用机器学习。他们分布在两类从事机器学习技术研发的公司:
工程师们的一句口头禅就是“不要重复造轮子”,意思是告诫工程师们应该把主要精力放在满足需求上。但这句话不是绝对的,对于专业造轮子的工程师来说,造牛逼的轮子就是他们的需求。第一类公司的工程师就是专业造机器学习轮子的人们。据我所知,目前世界成熟的第一类只有Databricks和我们之前报道过的Dato两家,Petuum刚刚进入商业版本开发阶段。
这类公司有两个优势。一是研制机器学习技术平台需要极高的技术水准。虽然 Google 、 Facebook 以及国内的 百度 都有自研的机器学习系统,但都没有对外公开。二是机器学习技术平台有很广泛的应用,不管是面对企业提供API或者数据分析服务的公司,还是面对消费者提供智能服务的公司,都需要一个高效的机器学习技术平台。因此这种提供基础设施的领域有可能产生新的巨头,就像网络时代产生了思科网络设施巨头一样。
但这类公司也有隐忧。机器学习领域和诞生思科的硬件领域有一点不一样,机器学习领域存在牛逼的技术开源项目。目前Spark和Storm两个开源系统各方面都比较完善,对第一类公司成长为巨头构成威胁。除了通用型的开源机器学习系统,还有特定用处的开源项目,比如用于深度学习的 Caffe、用于自然语言处理的 Stanford CoreNLP 以及 数据预处理可视化的 Pandas。
这类公司并不是直接面对普通开发者,而是方便公司里的工程师们搭建大规模机器学习平台,让那些无力研制机器学习系统的公司也能方便地使用高效的机器学习。第二类提供 API 的公司是直接面对普通开发者的。
第二类公司提供机器学习的API。如果API有心愿,那么这个心愿一定是“调用我(Call Me)啊”。机器学习的API也分两类,一类是用公司自己收集的训练数据训练好的模型。比如 AlchemyAPI 提供的情感分析API,只需要用户提供文本或者文本的链接地址,就会返回该段文本蕴含正面情绪还是负面情绪。另一类是需要用户提供自己的数据训练API。比如 Face++ 的人脸识别API就需要用户自己上传不同人物的照片。当然很多公司同时提供这两种API。更妙的是,有些深度学习模型,比如适合处理图像的卷积神经网络,允许先用公司收集的大规模训练数据进行训练,再根据用户提供的数据进行微调。
有了这些API,开发人员需要做的事情包括:1)处理好自己的数据,2)将处理好的数据扔给API得到结果,3)对于需要预先训练的API,还需要整理一份有正确答案的训练数据给API训练。开发人员利用这些API可以很方便地将机器学习运用在自己的产品中。
除了创业公司,巨头们也开始涉足这个领域,比如 Google Predict API, Amazon Machine Learning和 微软 的Azure Machine Learning等等。
这两类的公司都致力于让机器学习的使用变得简单。 MetaMind 公司创始人Socher这样描述他创立MetaMind的初衷,“ Google 、 微软 和 Facebook 的研究会影响到许多人。但是我感觉,如果你把这些模型提供给其他公司或者个人,让他们去研究,那么还有许多的潜力可挖”。为了提高易用性,MetaMind甚至允许用户使用拖拽方式训练模型和获取模型的预测。
除了上面两类技术导向型公司,大量公司是利用机器学习技术整合应用,来解决更多实际的痛点。机器学习的门槛降低,利用机器学习技术整合应用的难度会大大降低。比如有程序员在 网上 贴出了如何利用 Clarifai 图像物体识别API和 Algolia 搜索API给自己的 Instagram 照片建立检索系统。未来我们能见到更多集成了机器学习的酷炫应用。
机器学习产业的前进靠两个轮子,一个是技术,一个是数据。机器学习的使用门槛下降之时,对于大部分公司来说,谁能够收集管理更多的数据,谁拥有更好的开发数据价值的意识,谁就能为人们提供更好的智能服务,更好地解决人们的痛点。
原创文章,作者:goto