为了更深入地理解和思考前端智能化两个方向的结合,首先需要了解这两个概念:

  1. 前端:最接近用户的那一层,开发网站、开机端web应用和移动端应用程序等
  2. 智能化:指人工智能,主要包括机器学习,其中涉及到深度学习、计算机视觉、自然语言处理等领域,也是近些年发展较快且前景较好的方向

前端结合AI的必要性

前端开发者为什么要学习人工智能呢?

  1. 未来的前端工作,将大量使用AI自动生成UI代码,从而在很大程度上减少了人力开发页面的成本,能节约大量的时间专注于核心业务实现、系统架构升级、技术沉淀。
  2. 在如今的互联网世界中,流行着“大前端”这个词,它区别于传统的前端在以下几个方面:一是端的扩展,新增了iOS、Android、webapp、小程序、原生app等领域,通过前端技术来完成传统其他端的开发工作;二是服务的扩展,异军突起的nodejs打开了前端连接后端的大门,使用nodejs可以操作实现后端的服务,在企业内部更偏向于实现连接前后端的中间件服务。在大前端时代,前端开发者将从事更多的终端开发、智能化、工程化等方向的工作,而不仅仅只是传统意义上的开发Web页面。未来的前端发展有这些方向:前端+node、前端+移动端、前端+数据可视化、前端+图形、前端+AI……因此,面对如今技术要求越来越高的压力,前端开发者可以尝试在AI领域拓展能力,提高竞争力。
  3. 人工智能是大势所趋。回想如今互联网的发展趋势,越来越多的应用、业务场景、服务趋向于智能化,技术在迭代升级,产品的服务也在逐步升级,紧跟时代的潮流,何乐而不为呢?

前端智能化发展回顾

目前,市场上出现了很多适合前端开发者学习的机器学习框架、前端智能化应用,并投入了实际生产。如Google团队在成熟的tensorflow框架的基础上,推出了tensorflow.js框架,其他还有keras.js、deeplearning.js等框架,方便前端开发者的快速掌握和使用。阿里前端智能化团队也已经开源了如下的产品:imgcook(将视觉稿转化为多端UI代码,将sketchup和photoshop的图片转化为代码)、pipcook(支持图像识别、图像分类的js库,可以在后端完成模型训练,实现了python能完成的机器学习的全部功能)……

imgcook 从设计稿(sketch、psd、静态图片)一键智能生成高可维护的代码

目前阿里使用imgcook工具自动生成UI代码,但是这部分仍然不包括业务逻辑实现,逻辑部分仍然需要自己完成。

pipcook 以“前端工程师0门槛应用机器学习能力”为使命,以“引领前端技术领域走向智能化”为愿景, 发展成为了从处理数据、训练模型到服务部署的一站式前端算法工程平台。Pipcook 将专注在前端领域,始终秉持着“站在前端工程师视角开发,对前端工程师友好”的原则,最终推动机器学习赋能前端行业向前发展。

pipcook偏向于机器学习算法工程。

未来,前端还有很长很长的路要走,我相信从以前单纯地使用前端开发业务、服务,到现在与AI结合,能有效地扩展我们的技术领域,视野会越来越宽阔。当然,在这个方向还需要更加深入下去。不仅需要花时间补齐前端所需要的技术栈,还需要巩固机器学习、CV、NLP等领域的知识,深入探索两者之间的有趣结合,构建出更智能更聪明的应用和服务,加速前端向AI领域的飞进。

哪些应用场景

有哪些前端可以涉及的AI场景呢?我大致总结了以下几个方面:

  1. AI小功能实现:如自动裁切素材、调整图片大小、修正图片白平衡、将手绘草稿转化为网页代码、利用简笔画自动生成视觉元素(icon或是简笔画图片),帮助前端开发者减少重复劳动时间
  2. 现有产品中加入AI互动元素:商城应用的AI/AR技术融入,如智能搭配、智能着装、智能试妆等等
  3. 智能化产品开发:如D2C(design to code),根据页面设计图智能生成UI代码,目前这个领域已经较为成熟;还有数据自动标注平台等等
  4. 智能化平台建设:如数据可视化、模型可视化(注意这里不同于数据可视化,模型可视化是用可视化的手段去解释模型,跟踪训练过程,辅助算法同学调参。因此需要开发者对算法、前端、AI都有所了解,通过各种可视化手段去剖析模型,帮助算法同学更好地去调参去理解模型。tensorflow配套的tensorboard就是一套可视化分析工具,但是还远远不够。)
  5. AI算法开发:可以在前端做AI算法,如物体跟踪、图像处理、特征检测等等,可以在生产环境中落地实践
  6. 当然,还有很多很多的应用场景……

参考阅读

另一个技术是我比较关注的是 AI 领域和前端的结合,我们的 AI 领域,今天虽然炒得非常火热,但是在我看来,真正应用的比较好的场景,就是视觉和推荐这两个领域。我觉得智能研发的领域是整个学术界非常少关注的,那么我们的前端应该把这个责任背起来。我在淘宝已经看到很多这个方面的努力了,我觉得在业界,这个东西在 2019 年产量应该也会越来越成熟,毕竟切图工作是一个机械性的劳动,机械性的劳动最终一定会被机器取代。所以,我认为未来,我们前端的工作是不应该包含切图这项工作的。我也比较期待这方面能够尽快地产生一些成绩。 ——程劭非(winter)| 前手机淘宝前端负责人