百度硅谷AI实验室(SVAIL)近日宣布,百度已开源关键人工智能Warp-CTC的关键代码,并且已向GitHub上传了Warp-CTC的C语言代码库,共享给了开发者,引起了美国业内的广泛关注。
好的,那么问题来了。
一,百度开源的Warp-CTC是什么?
解释这个事情极为复杂,我们需要一步步说起。
1)什么是深度学习
如何让人工智能模仿人类大脑的思考,一直是科学家在努力的事情,而深度神经网络就是模仿人类思考的方式,人类的思考方式是有深度加工的。
20世纪50年代,计算机科学家就设计出了神经网络,并经历了几十年的变化,机器可以通过一层又一层的判断,最后识别出对应的预测结果。在2006年Hinton对这个方法做出关键改进,对每一个层的数据结果进行数学优化,进而加快了学习速度,被称之为“深度学习”。
随后,“深度学习”获得了巨大成功,它是IBM沃森、DeepMind、谷歌、Facebook的基本算法。
2)语音识别中RNN与CTC的不同
语音识别自然这个人工智能领域也自然会使用到深度学习,但是传统的深度学习语音识别采用RNN循环神经网络(Recurrent Neural Network,)方案,即:
输入->RNN->输出->MSF
目前科大讯飞等国内研究机构都是采用RNN模型。而也在2006年,jurgen Schmidhuber团队在IDSIA开放了一种解决方案—CTC(Connectionist Temporal Classification链结式时间分类算法),即:
输入->RNN->输出->CTC->错误->RNN->输出->CTC......
以求获得最优解。
对比这两种方案,CTC的方案是较优的,RNN的机器学习系统存在一定的标准损失,例如均方差和负数函数并不适合,而CTC方案之下则可以解决。
3)Warp-CTC与CTC
百度的SVAIL工程师在打造端对端语音识别系统时开发了Warp-CTC,目的是要改善培训模型的可扩展性和效率。因为当前可用的CTC应用通常需要更大的内存,并且速度慢了数十数百倍不止。而经过百度方面的优化之后的Warp-CTC可以提高原来CTC运算效率10到400倍。
百度此次发布的Warp-CTC属于C语言类型,并为Torch框架做了集成化处理。此外,Nervana系统自带的机器学习框架Neon也正在集成Warp-CTC。Warp-CTC可用于解决绘制输入序列到输出序列图谱过程中的监督问题,如语音识别。第三方开发者可直接将Warp-CTC嵌入到自己的开发系统中,直接实现更为高效的开发过程。
目前百度将其彻底开源了出来,最后放在了Github上。
(https://github.com/baidu-research/warp-ctc)
二,对于行业的意义
1)巨头的标杆意义
纵观国际,谷歌于2015年11月开源了TensorFlow系统,而Facebook也于2015年12月公开Big Sur人工智能硬件架构。而百度于2015年5月开源了其深度学习平台,又在此次开源了Warp-CTC系统,有着很好的榜样作用。
百度将Warp-CTC核心代码公布无疑是对行业大利好的事情。在开源之前,Warp-CTC就已经被行业大量应用,已经帮助百度数亿用户的服务获取,百度的两大语音应用入口为“百度地图”、“手机百度”,“百度地图”的市场份额为70%日请求破50亿次,而“手机百度”也一直长期盘踞在各大应用商店TOP10,占42%。因此该系统的学习能力已经成熟,开发者可以直接使用迁移到自己的大数据产品中。
将录音转换为准确的文字以及图像,相当于机器通过音频得到图像等多个目标,这是更为复杂的事情,这也是机器“自我学习”不得不做的事情,Warp-CTC技术的应用将有效改善现有CTC对内存等硬件的庞大需求,并提升运算速度数十甚至数百倍。
2)大数据的大值
目前巨头纷纷开源人工智能技术,将迅速降低开发者部署深度学习系统的难度,人工智能的整个行业将会得到巨大发展,而企业方面也可以利用第三方提供的底层基础设施去抢占红利,这有点像安卓系统给了全世界智能手机的生产商带来的巨大机会,当前的人工智能开源技术也与此类似,未来是大数据的时代,马云也说过未来是从“IT”到“DT”的时代,而我们要做出的思考则是如何利用好这些数据,让这些数据发挥出最大的价值,这同时有赖于当前对大数据的利用能力。而小米的雷军也说过,如果小米最后无法成为一家大数据公司,那么小米离破产就不远了,因为小米的大数据已经大到公司难以承受的地步。
因此,大数据中蕴藏的大价值,有待于更高的技术,而这些技术也必须依赖于强技术的公司,并且他们的开源将会为小公司带来更快更好的进步,找到大数据中的大价值。
参考并感谢:https://baijia.baidu.com/s?old_id=300536