“唯一能持久的竞争优势是胜过竞争对手的学习能力。”——盖亚斯

在如今的科技行业中,人工智能的普及已成显著趋势,资本布局初具规模,从业者的梯队也逐渐形成。可以预见的一点是:在接下来相当长的一段时间内,人工智能会渗透到整个互联网行业中,成为业界标配。

这种规模的技术变革,很可能会改变游戏规则,从而产生大量的新机会。作为互联网从业者,我们应该想办法跟上节奏,不要浪费科技浪潮带来的红利。

目前,人工智能还是一个学术密集型以及技术密集型的领域,其中最耀眼的角色当属研究人员和工程师。这样的背景下,大量的资讯和材料都指向了工程师受众。那么,对于产品经理来说,如何在这个领域中调整自己的认知和状态,跟上发展的节奏呢?

今天,我会和你介绍一下,我自己学习人工智能相关知识的方法和过程,下一篇文章我会结合工作中的实践总结一些思考,以期达到抛砖引玉的效果,希望能给你带来启发。

在加入无码科技之前,我对人工智能基本是陌生的,对于机器学习、深度学习之类的概念半生半熟。于是,作为产品经理,我面临的第一个问题就是:要不要学算法。

第一个问题:AI 时代的产品经理,要不要学算法

在过去的时代里,技术体系相对成熟,技术的发展和迭代主要集中在工程层面。对产品经理来说,有很多手段可以了解技术的能力和边界,比如移动时代到了,高强度用个百八十款 App,这个东西能做什么大概就心里有数了;在这个基础上,再去补一些浅显的相关介绍,请工程师吃几顿饭,基本就可以做产品设计和可行性判断了。

然而,在人工智能时代,很多手段失效了,比如,我们想通过使用产品的方式去了解人工智能,我们能干什么呢,是跟 AlphaGo 下棋还是跟 Siri 唠嗑?

这些都没什么用,原因是至少在当前的阶段,人工智能的能力大都隐藏在我们能感知到的功能之下,我们很难从场景出发,理解内部机制,获得认知。

在这样的前提下,我认为,想要做人工智能的产品经理是必须要了解算法的。那么,这就引出了接下来的一个问题:怎么学算法?

第二个问题:产品经理怎么学算法

我们先假设产品经理没有很强的数学和工程背景(当然,如果有更好,但谁忍心给产品经理提这么多要求呢),这就需要给自己理性地设置学习目标,调整学习心态。

首先,目前能在网上查到的大部分人工智能学习材料和书,对于产品经理来说,都没有必要读懂,也很难完全读懂。

大部分的算法介绍都涉及数学原理和实现方法,作者在描述中会特意省略大量的背景知识介绍,因为已经默认读者知道这些学术常识。我们在阅读这些材料时,经常会看到类似“显而易见可以得到 XXX 结论”的描述,这就让我们做产品经理的一头雾水,很难理解书中显而的是哪门子易见。

那怎么学呢?我的建议是:从视频开始。

目前行业中最受欢迎的视频是吴恩达教授(Andrew Ng)在 Coursera 上的机器学习教程,你可以在网易公开课上找到带中文字幕的版本。这一教程深入浅出介绍了机器学习的分类和方法。吴教授是一个喜欢板书的老师,所以整个过程非常有引导性,消化起来不是特别难。

不过,我在这里更想推荐你的是台大李宏毅教授的课程。李教授的课程很轻松,他经常会选择生活化、不枯燥的案例娓娓道来(比如在深度学习课程里,就用了宠物小精灵举例子);课程的内容也比较新,会结合最新技术讲解;又是用中文授课,所以不存在语言上的理解难度;对数学基础的要求不是特别高(当然不可能完全没有),涉及公式的推导也讲解得很细致。

不论哪个视频,初看的过程确实还是很痛苦的,因为会不时碰到一些确实听不懂的内容。不要担心,先囫囵吞枣,坚持过去。随着后续不断地接触、学习和实践,之前那些听不懂或不理解的内容,会在某个时刻突然贯通。

看完视频,你基本可以对人工智能有个大体的认识,再趁热打铁读些机器学习相关的书,这样会对巩固知识更有帮助。这里就不具体推荐读什么书了,不过可以建议你一次多买几本,交叉阅读,效率更高。

有了视频课程的基础,这时你再去读书已经不像看外星文字了,通过读书这一步,可以进一步强化对先前概念的了解。当然,如果感觉视频读完之后不需要强化,你也可以跳过这一步,以后回来再看书。

在这之后,你就可以开始在网上大量地阅读各种与实践相关的文章了(建议中英文并重,英文材料有时更细致一些)。这时整个领域概念都已经在你脑海中了,你基本不会被文章中的关键词或背景知识绊住,当遇到数学推导时,还是老规矩,可以跳过去,不要沮丧,谁让我们是产品经理呢。

读文章的过程中,你可能会遇到一些感兴趣的应用领域或学术方向,这时建议你读一点论文。读论文听起来很难,不过我们已经做好了读不懂也很正常的心理准备,所以不要有畏难的情绪。

那么说如何从网上的文章中抓出关键领域呢?

读论文的时候,我们可以先读综述。综述的意思是综合介绍整个行业中对某个学术问题的研究发展现状,搜索“关键词+综述”或者“关键词+Review”就可以。比如我想了解命名实体识别这个主题,就搜“命名实体识别 综述”或“NER Review”。

这时候不要太贪高级,非要看顶级会议或期刊上发表的论文,可能一些国内高校学生的综述就有很丰富的信息量,因为他们写论文需要凑字数,所以会做大量文献收集和阅读工作,这样就节省了我们自己的检索时间。

综述中会有很多针对同一主题的方法罗列和发展轨迹,也会包括每种方法的利弊和特点,针对你感兴趣的方法,可以从综述追到具体论文再做详细地研究。对于产品经理来说,读论文最重要的一点是点到为止,不要太求甚解。如果遇到不懂的,也可以跳过去换一篇看,千万不要死磕。

进展到这一步后,后面继续怎么学,学什么,你完全可以自己做一个判断和规划了。建议你可以开始关注一些前沿的东西,比如去听一些演讲,不论是学界还是工业界,只要了解整个行业的动态,大部分演讲你就可以听懂半数以上的内容了。

第三个问题:要不要真的写程序

还有一个问题,是产品经理要不要真的尝试写一点简单的机器学习代码。我的建议是,如果你之前就有工程能力,就尝试着写一点;如果完全没有相关背景,不写也罢,别给自己添堵。

如果要写,千万不要写具体的算法实现。比如你打算从头开始写一个支持向量机,或者写一个神经网络,纯粹浪费时间。直接调用一些成熟的框架,比如用 Scikit-Learn 跑个聚类,或者用哈工大、斯坦福的 NLP 框架跑个 NER 看看结果。如果研究深度学习,TensorFlow 里面有个识别手写数字的工程,直接就可以搭着跑起来,你可以动一动参数,找找感觉。

但如果没有工程能力,你的大量时间可能会花在跟机器学习完全不相干的事情上,比如我当时就遭遇了 Python 2 和 Python 3 的不兼容问题,还要自己处理各种数据,浪费好多无谓的时间。这时一定要去求助工程师,让他们把算法跑好,你拷过来直接看结果就可以了。

比如当时我们做 Word2Vec,我们的工程师看我可怜,花了十几分钟直接把训练好的模型拷给我,我只要去用两三行代码去加载模型看数据结果即可,比如探索各种词之间的距离等等,很容易就能直观判断出这个算法可能存在的产品化空间。

另外,有很多用图和动画演示算法过程的产品和网站,而且机器学习算法可视化的研究发展得也挺快;说不定用不了多久,我们不需要写真的代码,就可以用更简单的方式去直观地感受和理解算法过程和结果。

总之,产品经理与工程师最大的差异就是:我们不需要写程序。我们的核心价值也不在这里,所以我们要掌握的,不是细节和实现,而是要明白每种算法背后的原理、机制和边界。只有这样,我们才能跟工程师站到同一个话语空间中,去实际推进具体的产品工作。

回顾一下今天的内容,我从人工智能的特性出发,提到产品经理一定要了解算法;又介绍了从视频到书,再到文章和文献,这样循序渐进的学习过程;最后建议大家量力而行,通过写实验代码或其他方式去进行算法的实践。

下一篇文章,我会结合具体的工作,跟你分享一些人工智能产品经理实践中的思考。

你是否已经开始学习人工智能了呢?有没有遇到难以逾越的障碍,或有没有什么值得分享的学习经验?欢迎留言,我们一起讨论。

(据说,极客时间会在下周开设人工智能基础课程专栏,我们可以期待一下。)


评论