人工智能时代,前端工程师能做什么?

前端工程师在人工智能的团队到底能做什么,能体现怎么的价值?对此,可以先下图的一个总结,然后再会逐条结合实际以及业界的发展情况做一些分析

要完成一个完整的人工智能项目,三种东西是不可或缺的:算法,数据和工程

而前端在这三个方向中,最容易参与进去,同时也最容易做出彩的地方就是在工程方面,我们把这块内容叫做大前端

具体的大致可以分为五块内容:人机交互,数据可视化,产品 Web, 计算,模型训练和算法执行

对于前三点偏重交互的领域,毋庸置疑用前端做起来驾轻就熟,

而后面偏重计算的领域,前端是否合适做,或者说前端该怎么去做是有可以探讨的。

人机机互

这个应该前端这几年发力的重点,而且取得不错进展的地方。

特别是随着HTML5技术和移动互联网的普及,浏览器对硬件的控制越来越好。

在 AI 的项目中,很多时候需要获取麦克风和摄像头的权限,好实现 “听”,“说”, “看” 的功能。

具体可以参考 MediaDevices.getUserMedia 的 H5 文档,里面对这块有详细的介绍。

对于图片的处理,之前网上已经不少的用 Canvas 例子,我就不做过多的介绍。

这里重点对语音处理的内容,这块由于需要很多专业方面的知识,之前处理前端处理起来还是挺痛苦的,不过现在 Web Audio API 很好的解决了这个问题。

它提供了在 Web 上控制音频的一个非常有效通用的系统,允许开发者来自选音频源,对音频添加特效,使音频可视化,添加空间效果 等等。

更有甚者,Chrome 中已经自动集成了语音识别的基础 SDK: Web Speech API

数据可视化

数据可视化 可以是前几年特别火的一个方向,特别是大数据风起云涌的时代

而这些年明显的趋势就是人工智能,就是 AI,在这里其实也有很多可视化的工作

比如我们在 ET 项目中就需要做很多声音的可视化内容

以及现在外面在做的一些人脸可视化的内容

地址:PREDICTIVE_WORLD, the program that predicts your future/

产品 Web

任何人工智能的技术最终一定需要转化成实际的产品或者项目

这样的话,往往少不了 Portal 和控制台。

这些工作,前端的工作也是在所难免。

这是常规的工作,这里就不再过多描述了

算法执行

算法执行顾名思义,其实就是执行算法逻辑,比如人脸识别,语音识别 …

前几年有些大家对前端的认知还停留在纯浏览器端,但随着 V8 引擎在 2008 年发布, Node.js 在 2009 年 发布,前端的领地就扩展到服务器端,桌面应用。

这些算法执行的原先都需要后端同学开发,现在也可以由前端同学才完成。

我们很多 AI 的项目,很多时候往往就是算法的同学提供给我们一些动态链接库或者 C 的代码,我们通过 Nodejs 驱动这些服务提供 http 接口,浏览器通过 ajax 来调用这些接口。

更有甚者,现在 PC 性能提升,V8 对 JS 执行的优化,特别 WebGL 在各个浏览器端的普及

很多算法执行不一定并不一定需要在后端执行,浏览器也可以胜任。

比如:

Tranck.js:就是纯浏览器的图像算法库,通过 javascript 计算来执行算法逻辑

regl-cnn: 浏览器端的数字识别类库,与 track.js 不同的是,它利用浏览器的 WebGL 来操纵 GPU, 实现了 CNN

模型训练

虽然现在阶段也出现了像 ConvNetJS 这种在浏览器端做深度学习算法训练的工具,

但整体而言,前端在这块还是非常欠缺的,同时缺少非常成功的实践。

究其原因,还是因为跨了领域,特别是专业类库往往都不是 javascript 写的,造成更大的隔阂

但就像谷歌的 TensorFlow 机器学习框架底层大部分使用 C++ 实现,但选择了 Python 作为应用层的编程语言。

Javascript 在各个端,特别是 web 端的优势,也是一门非常优秀的应用开发语言。

可喜的是看到挺多同学在往这个方向走,我们拭目以待

ConvNetJS:Deep Learning in your browser

原文发布于微信公众号 - 前端IT频道(thoughtkun)

原文发表时间:2018-05-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python小屋

让你的Python程序在用户面前以小概率崩溃

有些软件在大部分情况下都能正常工作,而有时候则会莫名其妙的崩溃。当然这有可能是因为代码没有写好或没有考虑一些特殊情况,也有可能是系统本身就是这么设计的,目的是要...

30960
来自专栏CDA数据分析师

2016 年 Python 开发者调查

导读 JetBrains 公司在 2016 年组织了一次超过 1000 名Python开发者参与的调查,以洞察当前 Python 开发领域的真实面貌,发现最新趋...

21260
来自专栏CDA数据分析师

干货!产品经理职责:如何对产品进行数据分析?

1、Query 这是一切搜索或者类似产品的质量提升源泉没有之一 //至少我是这么认为的。 看了Query你才能知道用户真的在你这里干什么,于是就会理解了“访谈里...

21970
来自专栏专知

Facebook深度学习框架Caffe2代码正式并入PyTorch

Facebook同时支持两个深度学习工具 Caffe2和 PyTorch, 显然不重复造轮子, 而是让能复用的组件和库(比如操作库)在这两个项目之间共享是没有争...

420120
来自专栏技术翻译

18个面向开发人员的机器学习平台

机器学习平台不是未来的潮流。它现在正在发生。开发人员需要知道如何以及何时利用他们的力量。使用像Filestack这样的合适工具在ML环境中工作可以使开发人员更容...

27700
来自专栏软件测试经验与教训

如何评审测试用例

2. 用例评审时按着用例一条条讲,讲到最后自己都不知道该说什么了,好像大家都挺懵逼的?

16910
来自专栏量子位

Google输入法Gboard更新:手画emoji识别+短语联想

唐旭 编译整理 量子位出品 | 公众号 QbitAI 今早,谷歌对旗下智能输入应用Gboard放出了一波安卓平台上的更新。一些全新的特性被引入——现在,通过机器...

32780
来自专栏张俊红

带你走进网站分析的世界!

来源:书籍《网站分析实战》读书笔记 第42篇 ▼ (本文框架) 网站分析基本概念 网站分析的目的: 首先明确网站的目的是什么?大部分网站的目的是盈利,而网...

73150
来自专栏CDA数据分析师

数据科学的十大常见误区 你中枪了吗?

原作者 Shane Brennan 编译 Mika 本文为 CDA 数据分析师原创作品,转载需授权 对于数据科学领域的新手来说,以下的十大常见误区每一条都是血...

28170

不应面向对象地针对业务行为建立模型!

在过去的几年中,我看到许多项目将几乎任何类型的业务需求都喜欢建立与需求原因无关的技术对象模型(后面可能简称对象模型)。在很多情况下,针对技术对象建立业务需求模型...

15520

扫码关注云+社区

领取腾讯云代金券