读完这篇文章你会收获什么
- 做AI产品要学算法
- 做AI产品怎么学算法
- 做AI产品怎么写程序
在如今的科技行业中,人工智能的普及已成显著趋势,资本布局初具规模,从业者的梯队也逐渐形成。可以预见的一点是:在接下来相当长的一段时间内,人工智能会渗透到整个互联网行业中,成为业界标配。
这种规模的技术变革,很可能会改变游戏规则,从而产生大量的新机会。作为互联网从业者,我们应该想办法跟上节奏,不要浪费科技浪潮带来的红利。
目前,人工智能还是一个学术密集型以及技术密集型的领域,其中最耀眼的角色当属研究人员和工程师。这样的背景下,大量的资讯和材料都指向了工程师受众。那么,对于产品经理来说,如何在这个领域中调整自己的认知和状态,跟上发展的节奏呢?
作为产品经理,面临的第一个问题就是:要不要学算法。
第一个问题:AI 时代的产品经理,要不要学算法
在过去的时代里,技术体系相对成熟,技术的发展和迭代主要集中在工程层面。对产品经理来说,有很多手段可以了解技术的能力和边界,比如移动时代到了,高强度用个百八十款 App,这个东西能做什么大概就心里有数了;在这个基础上,再去补一些浅显的相关介绍,请工程师吃几顿饭,基本就可以做产品设计和可行性判断了。
然而,在人工智能时代,很多手段失效了,比如,我们想通过使用产品的方式去了解人工智能,我们能干什么呢,是跟 AlphaGo 下棋还是跟 Siri 唠嗑?
这些都没什么用,原因是至少在当前的阶段,人工智能的能力大都隐藏在我们能感知到的功能之下,我们很难从场景出发,理解内部机制,获得认知。
在这样的前提下,我认为,想要做人工智能的产品经理是必须要了解算法的。那么,这就引出了接下来的一个问题:怎么学算法?
第二个问题:产品经理怎么学算法
我们先假设产品经理没有很强的数学和工程背景(当然,如果有更好),这就需要给自己理性地设置学习目标,调整学习心态。
首先,目前能在网上查到的大部分人工智能学习材料和书,对于产品经理来说,都没有必要读懂,也很难完全读懂。
大部分的算法介绍都涉及数学原理和实现方法,作者在描述中会特意省略大量的背景知识介绍,因为已经默认读者知道这些学术常识。我们在阅读这些材料时,经常会看到类似“显而易见可以得到 XXX 结论”的描述,这就让我们做产品经理的一头雾水,很难理解书中显而的是哪门子易见。
那怎么学呢?我的建议是:从视频开始。
目前行业中最受欢迎的视频是吴恩达教授(Andrew Ng)在 Coursera 上的机器学习教程,你可以在网易公开课上找到带中文字幕的版本。这一教程深入浅出介绍了机器学习的分类和方法。吴教授是一个喜欢板书的老师,所以整个过程非常有引导性,消化起来不是特别难。
不过,我在这里更想推荐你的是台大李宏毅教授的课程。李教授的课程很轻松,他经常会选择生活化、不枯燥的案例娓娓道来(比如在深度学习课程里,就用了宠物小精灵举例子);课程的内容也比较新,会结合最新技术讲解;又是用中文授课,所以不存在语言上的理解难度;对数学基础的要求不是特别高(当然不可能完全没有),涉及公式的推导也讲解得很细致。
不论哪个视频,初看的过程确实还是很痛苦的,因为会不时碰到一些确实听不懂的内容。不要担心,先囫囵吞枣,坚持过去。随着后续不断地接触、学习和实践,之前那些听不懂或不理解的内容,会在某个时刻突然贯通。
看完视频,你基本可以对人工智能有个大体的认识,再趁热打铁读些机器学习相关的书,这样会对巩固知识更有帮助。这里就不具体推荐读什么书了,不过可以建议你一次多买几本,交叉阅读,效率更高。
有了视频课程的基础,这时你再去读书已经不像看外星文字了,通过读书这一步,可以进一步强化对先前概念的了解。当然,如果感觉视频读完之后不需要强化,你也可以跳过这一步,以后回来再看书。
在这之后,你就可以开始在网上大量地阅读各种与实践相关的文章了(建议中英文并重,英文材料有时更细致一些)。这时整个领域概念都已经在你脑海中了,你基本不会被文章中的关键词或背景知识绊住,当遇到数学推导时,还是老规矩,可以跳过去,不要沮丧,谁让我们是产品经理呢。
读文章的过程中,你可能会遇到一些感兴趣的应用领域或学术方向,这时建议你读一点论文。读论文听起来很难,不过我们已经做好了读不懂也很正常的心理准备,所以不要有畏难的情绪。
那么说如何从网上的文章中抓出关键领域呢?
读论文的时候,我们可以先读综述。综述的意思是综合介绍整个行业中对某个学术问题的研究发展现状,搜索“关键词 + 综述”或者“关键词 +Review”就可以。比如我想了解命名实体识别这个主题,就搜“命名实体识别 综述”或“NER Review”。
这时候不要太贪高级,非要看顶级会议或期刊上发表的论文,可能一些国内高校学生的综述就有很丰富的信息量,因为他们写论文需要凑字数,所以会做大量文献收集和阅读工作,这样就节省了我们自己的检索时间。
综述中会有很多针对同一主题的方法罗列和发展轨迹,也会包括每种方法的利弊和特点,针对你感兴趣的方法,可以从综述追到具体论文再做详细地研究。对于产品经理来说,读论文最重要的一点是点到为止,不要太求甚解。如果遇到不懂的,也可以跳过去换一篇看,千万不要死磕。
进展到这一步后,后面继续怎么学,学什么,你完全可以自己做一个判断和规划了。建议你可以开始关注一些前沿的东西,比如去听一些演讲,不论是学界还是工业界,只要了解整个行业的动态,大部分演讲你就可以听懂半数以上的内容了。
第三个问题:要不要真的写程序
还有一个问题,是产品经理要不要真的尝试写一点简单的机器学习代码。我的建议是,如果你之前就有工程能力,就尝试着写一点;如果完全没有相关背景,不写也罢,别给自己添堵。
如果要写,千万不要写具体的算法实现。比如你打算从头开始写一个支持向量机,或者写一个神经网络,纯粹浪费时间。直接调用一些成熟的框架,比如用 Scikit-Learn 跑个聚类,或者用哈工大、斯坦福的 NLP 框架跑个 NER 看看结果。如果研究深度学习,TensorFlow 里面有个识别手写数字的工程,直接就可以搭着跑起来,你可以动一动参数,找找感觉。
但如果没有工程能力,你的大量时间可能会花在跟机器学习完全不相干的事情上,比如可能会遇到Python 2 和 Python 3 的不兼容问题,还要自己处理各种数据,会浪费好多无谓的时间。这时一定要去求助工程师,让他们把算法跑好,你拷过来直接看结果就可以了。通过加载模型看数据结果即可,比如探索各种词之间的距离等等,很容易就能直观判断出这个算法可能存在的产品化空间。
另外,有很多用图和动画演示算法过程的产品和网站,而且机器学习算法可视化的研究发展得也挺快;说不定用不了多久,我们不需要写真的代码,就可以用更简单的方式去直观地感受和理解算法过程和结果。
总之,产品经理与工程师最大的差异就是:我们不需要写程序。我们的核心价值也不在这里,所以我们要掌握的,不是细节和实现,而是要明白每种算法背后的原理、机制和边界。只有这样,我们才能跟工程师站到同一个话语空间中,去实际推进具体的产品工作。
思考与总结
做AI产品不像做移动互联网的产品,一定要懂算法,了解AI的边界,了解AI能做什么,不能做什么,能做到什么程度。
关于怎么学算法,可以看吴恩达老师的机器学习课程,也可以看台大李宏毅教授的课程。
学的时候要注意一点,做产品不是写程序,要不求甚解,遇到一些听不懂的内容,要学会先囫囵吞枣先过去。随着不断的学习和实践,之前听不懂或者不理解的内容,会在未来的某个时刻突然贯通。
有了视频课程的基础,对AI就有了一个大体的认识,再趁热打铁读些机器学习的书,对巩固知识非常有帮助。多买几本书交叉阅读,效率更高。
对待写程序,直接调用网上成熟的框架,去了解每种算法背后的原理、机制和边界,这有这样才能更好的站在工程师的角度去实际推动具体的产品工作。
文末送你一句话
“唯一能持久的竞争优势是胜过竞争对手的学习能力。”——盖亚斯
如果喜欢我的文章,可以关注我的公众号:bryanshen。
网友评论