您的位置:首页 > 其它

关于即将到来的软件行业的降维打击的几点想法

2018-01-21 21:43 555 查看

前言

要问最近最火的项目是什么?GitHub上的Screenshot-to-code-in-Keras以及pix2code当仁不让,均已经有超过7kStar了,而且热度还在持续,更关键是这两个研究者都已经组建团队转向商业应用。从看到这个项目开始就让我处于一种持久的震惊状态,甚至看到特斯拉的无人驾驶,Deepmind的Aphla Zero都不曾让我有如此的反映,可能是因为这时人工智能第一次真正的触及到自己的领域。

现状

目前软件开发领域最大的挑战已非是软件开发中的技术性问题,而是如何才能做出更让用户更满意的产品,摸清用户的需求绝非是一件容易的事情,就算是有天才的产品经理也必须通过不断试错和探索来寻找方向来摸清用户真正的想法,挖掘真正的需求。

基本流程如下所示:



其中最耗时的工作就是设计与实现之间的交流和微调,而且这整个流程不是一个单向的流动过程,而是每个步骤都可能重复多次。下面这个图可以将设计和开发之间的过程更形象的表现出来。



针对这些重复和低水平的劳动,开发人员是不是能有个人帮我们实现了,就向下面这两幅图显示的那样。





只可惜实现这个工作的并非是人类,而是人工智能。

上面这两幅图出现在Screenshot-to-code-in-Keras项目中,描述了项目的核心应用场景和目标,即利用现有的成熟的人工智能的基础设施直接将设计图转化为前端代码。目前已知的全部资料都起源于 Tony Beltramelli的论文,感觉就像在介绍天网的出现一样。

他们绝不是唯一的研究者,实际上技术门槛并不高,其他广大研究者也已经跟上,比如阿里的鲁班系统。在目前的人工智能领域算法并不是核心i技术,更核心的是数据和想法。

当然技术处于初期阶段:



降维打击的到来



初见端倪

各位前端开发人员实现下面这个设计页面需要多长时间,

我相信绝大多数的人类不可能在10分钟内完成,但我要说的是目前开源项目中已经能把这个实现时间缩短到1分钟之内。

基本原理

通过神经网络的来将设计稿直接转为前端代码的基本思路如下图所示。



关于具体的理论可以看下面这个图,总的来说就是利用CNN来进行图像的编码,再利用LSTM进行学习,细节请见该论文



总之一句话算法没什么特别的,

现在限制你成功的只有你的想象力。

只要你有好的idea你也可以在这个时代掀起冲天巨浪,至于能不能乘风破浪那就看道行了。

趋势分析

降维打击绝不仅仅局限在前端,而是一种从内到外,从高到低的全方位立体打击,不要以为自己是资深开发就不处于打击范围内。

近期

在近期内,人工智能的引入将给程序员(开发人员)带来巨大的变革,引起第一次开发者的分化,将低水平或太过专业的人淘汰,然后剩下的人在与人工智能的合作中大幅提高生产力,绩效水平大幅提升,整个行业的能效比将大幅提升。一句话:开发者开始分化,淘汰一部分,剩下的人生活更美好

未来

实际上我认为现在的模式并不正确,因为让人工智能来将设计稿自动生成前端代码,实在是有点强人所难了,就像是让一台高速跑车在泥泞的沼泽跑一样,这样人类还能跟它有的一比。

但实际上更简单和有效的模式是直接输入需求由人工智能直接产出可工作的产品,而人类是看不懂或无法理解产品内部的,这次引起的替换几乎是全部开发者,绝对黑盒式应用,除了少数精英能够留下,留下的人则是面向更高阶的开发和应用。

目前这样的模式还有两个挑战:

1.如何描述需求,仅仅是设计图已经搞不定这个问题了。

2.足够的训练,动辄数千万的训练样本对于今天软件行业还是有点吃不消。

我们该怎么办

对于开发者

对于开发者,我认为有几点需要注意:

1.避免太过专业,提高涉猎的广度,找到结合点。目前来看人工智能对于多领域的整合是个弱项,目前人工智能距离强人工智能还有相当的距离。

2.尽早了解人工智能,只有了解它才能更好的与它合作,才有机会利用它提升自身的价值。

3.贴近用户,贴近需求,更理想的不是与人工智能竞争而是给它目标。

知道做什么真的比知道怎么做要重要

对于组织

对于组织与开发人员是不同的:

1.了解行业现状

2.深入理解需求

3.尽早接触和应用人工智能。

参考资料

https://www.youtube.com/watch?v=pqKeXkhFA3I&feature=youtu.be

https://arxiv.org/pdf/1705.07962.pdf

https://www.youtube.com/watch?v=DapKYJ6niCM

https://www.uizard.io/research
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: