实名反对所有回答。
一眼看过去,果然大部分人都不讨论paper,(除了我的两个小后宫@Belleve @蘅蒻 )就是单纯的意识形态的狂欢,不是说程序员描述需求的作用不可取代,就是取另一个极端,认为很快程序员也要失业。
我这里就直说吧,5年内的确你不会被AI取代,但是如果继续按着自己意识形态空想,不去了解了解程序生成/机器学习的话,说不定就会被更了解AI的程序员取代。至少,这段时间内,用着主流IDE/Editor的人可以看到DL变得跟自己有关了。
欢迎大家存档待打脸。
0:你不会被AI取代
不赘述,各位认为DeepCoder跟自己无关的已经说得很好了,可惜重点错。
1:DL会入侵IDE
我们就说说这paper吧。Deep Coder提出了什么新的东西?生成程序的算法?错(除非你硬要算Sort and Add这种复杂度还没DFS高的东西)!Deep Coder用的程序生成算法是早就有的,奉献不在这。Deep Coder核心奉献很简单:与其写出程序,不如预测程序的属性。
Deep Coder的程序生成,其实是:
0:用挺简单的神经网络(见appendix C)预测一下要生成的程序会出现什么关键字(比如sort啊,add啊,filter啊)
1:用预测结果,限制现有的程序生成程序的搜索范围-既然将要生成的程序不包含zip,就不搜索zip好了
顶多加个2:由于预测关键字出来的结果是一个概率,对概率排序,先用前N个关键字搜索,搜不出来再加关键字,接着搜索(这就叫sort and add)
就这样,没什么很了不起的花招,但是就获得了多倍,极端情况下100多倍的提升。
估计你看到这,已经要开始说,‘但是这跟我有什么关系?’
对,剪枝了还是会有curse of dimensionality,对,需求还是要人来描述,对,法律责任纠纷,对,生成结果不确定所以还是要人看。。。
但是这不一定要用来独立生成程序啊
这只是一个程序预测器,预测一个程序的属性,用这些属性后接程序生成器可以,后接autocompleter一样可以。输入是什么?你写到一半的当前函数/文件,输出是你等下要用啥API,于是autocomplete智能度翻一翻,或者直接来个API reminder,看着你当前函数提醒你什么API要用上,就不需要额外打开google去查。或者预测更多点,预测下参数那些可能为null,那些可能会被修改那些不会,然后自动给你加annotation/property based test。啥?NLP很难?代码早就被parser parse好了,根本不需要NLP,就算是一个变量名,也被camelCase snake_case分好词,直接写个程序取出每个词就是了,顶多也是用下word embedding。
那有技术堡垒?3个隐藏层的神经网络,GB级别的数据(实在不行就MB级别,如果你项目MB级别的模块化都没做到,我表示别说机器,人类都理解不了),还是parsing?如果这样的东西明天出来,我也不奇怪。
如果要给5年以后开脑洞,估计是自动给你抓取相关的庫,并且列出跟你有关的API/Example Program让你选择,然后就差不多了,再上去就真的难了(但是这对于现在开发流程来说已经是革命了)。
2:为什么建议你理解下DL?
这些东西的确可能封装成黑盒,然后你还是该干啥干啥,但是如果你了解下,就算你不是全职做ML的,也有可能会给你带来先机。
0:NN是玄学,leaky abstraction问题大,知道某NN - autocompleter/API suggester的原理后可以更好的准备data,让ANN更推荐你的庫,框架的时候排名更前(就如同SEO),或者早期说不定还需要你去调参。
1:每个语言/IDE/Editor(甚至,一个大的项目)的annotation都不一样,这样如果你负责这些就要自己搞。
2:连写程序都能从DL收益,Domain Specific的业务能用到的可能性只会更大。知道下DL能应用在啥场景,怎么用(除了图像识别,大部分task都不是黑盒,或者说知道原理比不知道的效果天差地别),比遇到真需要的时候不知道需要,不知道怎么做,好多了。
鉴于大部分人都不讨论paper,只对关注的开评论,不服自己写回答啊~
克劳备忘录也好,凯南电报也好,有两大共同点。首先,都是以现实主义的眼光去分析双方的关系。然后,给出的建议都是阳谋,并不是什么不可告人的阴谋,执行起来需要的不是鸡鸣狗盗的小聪明,而是惊人的意志力。
而美国现在战略界现实主义被边缘化,我推测,布热津斯基,基辛格那帮人应该写过不少。不过没所谓,美国能执行大战略的时代过去了。现在这一代精英上半年能管下半年就已经很了不起了。一个需要两代人以上持之以恒去完成的大战略,搞出来他们也执行不了。
冷战时期,从杜鲁门艾森豪威尔到肯尼迪尼克松,最后到李根老布什,个人性格和政治偏好差距不要太大,但是都忠实地完成了他们历史任务,沿着围堵政策做下去。这种战略定力和延续性,世间少见。在中国领导集团上能看见一些相似的东西,但是我们离得距离太近,反而看不清。但在美国精英层身上完全看不到这一点。
个人愚见。