BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

AI前线(2018年2月)

| 作者 InfoQ中文站 关注 53 他的粉丝 发布于 2018年2月28日 GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

目录

生态评论

MIT重磅报告:一文看清AI商业化现状与未来

重磅访谈

多款重磅翻译产品落地之际,我们独家专访了搜狗语音负责人王砚峰

落地实践

基于深度学习技术的AI输入法引擎

文档扫描:深度神经网络在移动端的实践

推荐阅读

Netflix实战指南:规模化时序数据存储

精选论文导读

深度学习在IoT大数据和流分析中的应用

卷首语:工程才是做好AI的钥匙

作者 文因互联CEO 鲍捷

经常有人问我学好人工智能的秘诀。我会先问下对方对数据结构、代码设计、调试工具、代码版本维护的入门问题。如果这些都不过关,我的回答就是“工程”。

做好AI应用,不仅是要懂AI“算法”,更重要的是软件工程能力和系统能力。在实践中,Linux命令用得熟不熟,写程序是不是有良好的风格,版本控制是不是成为习惯,是不是掌握基本的网络服务构架,这些基本功比会用Keras/TensorFlow重要多了。有想法的人很多,具体工程去做的人就少了,应先从最底层的工程练起。没有具体的工程经验,就是清谈,是浪费时间。先过了系统运维关、数据库关、代码习惯关、基本软件工程关,才能谈得上落地一个AI的系统。

现实系统里行之有效的人工智能算法,都是很简单的。能不能发挥好的根本,都在于如何把这些简单的东西因地制宜综合运用。为1%的核心算法代码跑好,要99%的“工程”代码的支持。

比如对机器学习,无免费午餐定理告诉我们,一个算法如果在一类问题上特别有效,那一定有一些问题它比随机算法还差。一个现实中可用的机器学习系统,几乎一定是多种问题的混合问题。不会存在一种算法是一个现实问题的灵丹妙药。现实的问题的解决,一定是用一个良好的工程架构,让多种算法混合在一起解决问题。能拿捏这个架构设计的“度”,就是人工智能工程师最核心的能力。

又比如逻辑这个分支。概念上其实没有比逻辑更简单的语言了:与、非、存在量词。但是为了工程化这个简单的东西,就衍生出巨大的一门学科:知识工程、语义网、知识图谱。知识工程之所以难不在“知识”,而在“工程”。当关注“知识”的时候,总是可以映射最优秀的人的智能。但工程化的时候,必须适应群体无限的奇葩,和不可避免的各种成本的折衷。

AI应用落地,核心是工程问题,不是算法问题,更不是“哲学”问题。一定要特别特别“土”,踏踏实实从朴素的运维、数据库、数据清洗做起,从实际的工程中逐步演化。如何按天迭代? 如何构造联调系统? 如何无标注数据启动? 如何分离准确度和召回率要求? 如何统一运用规则和统计? 如何适应无明确衡量标准的开发? 如何设计可演进的数据模式? 如何提升数据可理解性? 如何逐步提升规则系统的表达力? 如何平衡黑箱和白箱模型的优缺点? 如何在优雅架构和工期间取舍? 等等,这些都是教科书上没有的答案。只有扎扎实实从工程出发,才能实事求是地发展出低成本的、有生命力的AI系统。

如果仅仅是因为某个东西时髦就去学,比如因为这两年AI火就去学AI,满口CNN、RNN、LSTM,却没有兴趣去理解这些东西背后的基本原理和应用范围,对工程也是无益的。比如只知道“卷积”这个词,却不理解不同的卷积核对于图像到底起什么作用;只知道深度网络,却连其他的神经网络一概不知;只知道word2vec分布式表示,却连TFIDF和LDA都没用过。这种赶时髦,对工程实践害处大于用处。

掌握分很多层次。会用包是一个层次,会改进是一个层次,发优秀论文再进一个层次。至于懂得方法的边界、工程上和其他方法融汇使用,就只有凤毛麟角的人了。到AI架构师的层次,又需要通透理解多种方法的前沿。这样的人,学校、研究院都培养不出来,都是通过工程逼出来、练出来、打出来的。光是懂算法不行,还必须通透理解实践的前沿;光是理解一个分支也不行,还必须通透理解几个分支。

没有银弹,没有奇迹。都是扎扎实实的工程,多年的细节的打磨才能解决一点小事。也从来没有一个所谓的伟大的想法,能跳过工程的考验而就成功的。工程才是做好AI的钥匙。

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT