百科问答小站 logo
百科问答小站 font logo



如何评价微软正在开发的人工智能编程软件 DeepCoder? 第1页

  

user avatar   marisa.moe 网友的相关建议: 
      

实名反对所有回答。

一眼看过去,果然大部分人都不讨论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,只对关注的开评论,不服自己写回答啊~


user avatar   wei-ruan-ya-zhou-yan-jiu-yuan 网友的相关建议: 
      

克劳备忘录也好,凯南电报也好,有两大共同点。首先,都是以现实主义的眼光去分析双方的关系。然后,给出的建议都是阳谋,并不是什么不可告人的阴谋,执行起来需要的不是鸡鸣狗盗的小聪明,而是惊人的意志力。

而美国现在战略界现实主义被边缘化,我推测,布热津斯基,基辛格那帮人应该写过不少。不过没所谓,美国能执行大战略的时代过去了。现在这一代精英上半年能管下半年就已经很了不起了。一个需要两代人以上持之以恒去完成的大战略,搞出来他们也执行不了。

冷战时期,从杜鲁门艾森豪威尔到肯尼迪尼克松,最后到李根老布什,个人性格和政治偏好差距不要太大,但是都忠实地完成了他们历史任务,沿着围堵政策做下去。这种战略定力和延续性,世间少见。在中国领导集团上能看见一些相似的东西,但是我们离得距离太近,反而看不清。但在美国精英层身上完全看不到这一点。

个人愚见。




  

相关话题

  为什么说深度学习没有理论基础? 
  为什么google编程风格指南设置缩进为2个空格? 
  PHP的未来在哪? 
  如何看待 2021 年图灵奖授予美国计算机科学家 Jack J. Dongarra? 
  C#为什么非要把函数叫方法? 
  用生成模型做数据增强data augmentation时,如何从合成数据中筛选出质量较好的样本? 
  计算机行业是不是自砸饭碗的行业? 
  如何评价 DeepMind 发表在 Nature 的论文公开无需人类棋谱的 AlphaGo Zero? 
  如何评价第三局比赛AlphaGo再次战胜李世石? 
  如何看待JetBrains 遭美国调查? 

前一个讨论
作为心理学学者,如何看待《为什么我后悔本科选了北师大心理学》一文?
下一个讨论
如何评价 vim 8.2?





© 2024-12-22 - tinynew.org. All Rights Reserved.
© 2024-12-22 - tinynew.org. 保留所有权利