写给前端开发看的“AI”探索指引

11111111

最近两年AI重新站上风口,各行各业都在尝试用AI来替代人力的可能性。

面对新事物的变革,我们一般有这样几类心态:
1、没什么新鲜的,与我无关;
2、有点意思,我想了解一下;
3、这很关键、我一定要掌握它。

面对这样的技术革新,前端开发对AI技术多半是懵逼的,对标上面三种心态,我提出以下几种问题:
1、AI跟我有什么关系,反正前端开发短期内是不可能被AI淘汰的。
2、我要怎么了解它?了解清楚了有什么用?
3、我要怎么掌握它?我的技术储备够吗?

本文将从为从上面三个维度谈一些浅见

一、前端开发会被AI淘汰吗?

如果说全面淘汰短期内肯定不现实,淘汰过程我觉得会经历初步提升效率、大部分提升效率、极大提升效率、才能到完全淘汰……

比如从传统经济学理论来看,整个前端开发行业就业人员是1000w达到充分就业,低级重复性劳动环节占用了大部分人20%的工作量,当这部分工作被AI替代,如果没有新的用工需求出现,就会减少200w的就业机会。

从目前来看初步提升效率在UI层面已经显现端倪,比如诞生于一年前的pix2code能够通过视觉稿生成还算能用的基础组件代码。

可惜这个项目的开源代码有半年多之久没有更新了,不知道是否秘密进化中,总的来看趋势已显现,期待后续的发展。

二、 如何了解AI技术?了解清楚有什么用?

技术本身是一项工具,一个工具学会使用了肯定是有用的,关键看怎么用,如何用好的问题。

刚接触到AI技术到时候,机器学习、神经网络、深度学习、深度神经网络等字眼看得眼花撩乱,要想了解这些技术的演化,必须从其发展历史开始

history

(图片转自《人工智能发展史总结》)

网上有大量的文章做过论述,不是本文要探讨的重点,有兴趣的同学可以参考《人工智能发展史总结

简单的来说,了解一项技术,我们需要了解这项技术本质上能解决什么问题,从感性认知上去观察行业的应用,你会发现大量的应用是解决“分类”问题和“回归”问题,例如机器学习界的hello world识别手写0-9,本质上就是一个分类问题,猫猫狗狗的识别、人脸识别等等都是这一类问题,只是特征更复杂、数据样本更大而已,自深度神经网络诞生之后相比传统的机器学习算法,能处理的数据量大大提升、准确率也大大提升,当然这是提供一种快速认知的思路,这种认知仅仅是感性层面的认知。

从这样一种感性认知中你也能依照解决问题的思路开始机器学习的探索之路了。

举个例子,我们目前在做的一个项目中涉及使用机器学习来配色,我们开始探索的过程便是把配色问题抽象成一个分类问题来解决,首先是找到其中的一些规律,我们发现通过色相环的旋转可得到主色、辅色、对比色形成一套基本的配色方案,而这种方案复用在不同的色相时有些区域是有效、而有些区域是无效的,详细过程我们之前有一篇文章有深入分析模型的选择过程,详见《人工智能配色系列(一)方案与规则》

111

(生成配色方案)

得到一系列的规则后,我们通过不同色相对方案的呈现,在可视化界面中人工标注出当前色相下可用的方案,生成类似这样的dataset
[cc lang=”python”]
H,themes,label
0.000,0,0
0.000,1,0
0.000,2,0
0.000,3,0
0.000,4,0
0.000,5,0
0.000,6,0
0.000,7,0
0.000,8,0
0.000,9,0
0.000,10,0
0.000,11,0
0.000,12,0
0.000,13,0
0.000,14,1
0.000,15,1
0.000,16,0
0.000,17,1
0.000,18,0
0.000,19,0
0.000,20,0
……
[/cc]

上面的数据中第一列代表色相、第二列代表配色方案、第三列是人工标注的0为不可用1为可用,这样就形成了最基本的机器学习数据格式,如果你了解机器学习解决分类问题的基础也就知道下一步该怎么做了。推荐udacity的免费课程《机器学习入门

目前还处于探索优化阶段,这种抽象成分类问题的思路目前遇到的问题是其泛化能力很弱,需要提供足够多的配色方案才能配出丰富的颜色,抽象成回归问题也许更合适,目前团队正在跟AI专家一起优化解决方案,详细解决方案敬请期待《人工智能配色系列(二)》的分享。

通过感性认知结合解决实际问题的实践探索,目前有点理解网上有人说机器学习的本质是“机器学习的本质是空间搜索和函数的泛化”,泛化能力才是解放生产力的根本,也就是说,学习的目的是学到隐含在数据对背后的规律,对具有同一规律的学习集以外的数据,经过训练的网络也能给出合适的输出。

三、我要怎么掌握它?我的技术储备够吗?

这里探讨的“掌握”,是指能针对现有的各种技术框架灵活运用,并能优化现有的技术方案。从技术栈来说,前端开发在算法层面是比较浅的,大多数前端开发同学码三年代码都未必能跟哪怕一个线性回归扯上关系,而AI的技术栈则处处涉及算法,要想系统学习掌握AI相关技术,必须有深厚的算法基础。

如果你的目标是要“掌握”并成为AI相关的研究员,门槛还是挺高的,要不人家收入咋比你高好几倍呢,所以目前看来,在应用层面的理解和应用是比较现实的目标,关键是面对技术变革,保持No Panic的心态,还有很多有意思的领域等待我们去探索,共勉。

发表评论