宁波Java培训
达内宁波中心

13732203138

热门课程

程序员为什么一定要会深度学习?

  • 时间:2018-05-08 10:44
  • 发布:转载
  • 来源:网络

程序员为什么一定要会深度学习?本文为大家分析一下。

对于深度学习,我也是一个初学者,能力有限,但这些的确是我现在的真实想法,我也会按这个思路去尝试。

1

【为什么程序员一定要会深度学习】

我是一个好奇心很重的人。深度学习刚开始流行的时候,我就做过简单的学习。当时我的结论是短期内,深度学习只能在弱智能徘徊,很难进展到强智能。

这个结论在今天看来,也不算过时。但真正被深度学习给 Shock 到,是去年和某教育 APP 的 CEO 同学聊天。他告诉我,在教育这个垂直领域,他们的语音识别率已经比讯飞要高了,依赖于大量的数据;更 NB 的是,加上 NLP,他们的 AI 已经可以帮老师改主观题了。主观题啊,就是数学的问答题,语文的作文。

这让我开始重新思考弱智能。

2

【为什么程序员一定要会深度学习】

完全依靠强智能的应用场景,会产生很多问题。比如自动驾驶,要想在中国这种交通环境下运行,一时半会儿是不行。即使是一个看起来简单的问答机器人,也没一家真正做好,你多问 siri 几句,她很快就晕了。

经常关注我微博同学会知道,我最喜欢说的一句话就是:「能自动化的,要自动化;不能自动化的,要半自动化」。

在人工智能上,这个法则似乎依然是有效的。既然现在强智能还不够强,那么为什么我们不用弱智能+人工确认的方式,来实现「半智能化」呢:用机器帮你做预选,你来做最终选择,虽然依然包含了人工干预,但却可以把生产效率提升几十倍。

3

【为什么程序员一定要会深度学习】

有同学和我说,找不到应用深度学习的场景,这是因为太执着于强智能,想让机器独立处理所有事情;如果使用「半自动化」的思路,你会发现遍地都是场景。

最典型的场景就是「按需求进行组合搭配」。拿今天小程序举例,小程序在框架层上,将功能分隔到了page 的粒度,这使得小程序的组件会很好的被重用;而在设计上,小程序提供了统一的官方指导风格,所以不会出现太多个性化的东西。

我需要一个用户资料管理, xpm install user-profile;我需要动态 Feed 流,xpm install feed-timeline 。

然后这货就喊着要去做,还在 GitHub 上开了个坑,据说 SDK 已经写完,安装器年前能开始内测。

然后我告诉他,你得赶紧做,从长远看,通用应用最后是不太值钱的,因为很快就有开源项目把它做得很好。真正值钱的是,下沉到行业里边的应用。比如说吧,同样是用户资料页,房地产行业的、猎头行业的以及技术社区的会完全不一样。但区别也就是添加几个行业特定的字段而已。 大量的「二次开发」工作,才是最为琐碎又最为挣钱的。

这就是典型的可以用上深度学习的场景。通过抓取对应行业的 H5 页面,我们很快就可以把各个行业需要哪些可能的字段给整理出来,然后把这些交给机器进行学习,当再有新的需求进来的时候,机器就可以自动配好预设字段。机器会出错么?当然。但哪怕是80%的准确率,也已经可以节省掉好几个程序员了。

为什么我要学深度学习? 因为这背后是 TM 白花花的银子。

4

其实细心的同学会发现,我一直说的是「深度学习」而不是「机器学习」。

因为我的目的很简单,那就是用。在学习第一年,我给自己定的目标不是要理解「机器学习」的原理,而是要把「深度学习」用到自己产品的方方面面。

先学「深度学习」还有一个好处,那就是不用太多「机器学习」的基础。能把tensorflow、kears 这种开源框架搭起来,然后喂数据,然后看结果。等到优化的时候再去补知识点。

因为深度学习更像是一个黑盒子,现在很多专门搞深度学习的同学也说不清楚为什么要建三个层、要放四个节点;什么情况下用什么激活函数。只说通过实践+观察数据慢慢调整。这简直就是新手上路的最好切入点嘛。

上一篇:程序员遇到代码瓶颈应该怎么办?
下一篇:怎样才能学好java开发?

0基础学Java开发有多难?

参加Java培训班4个月有用吗?

2018年热门的十大编程语言是什么

IT行业Java开发等岗位“多金”还会持续多久?

选择城市和中心
贵州省

广西省

海南省