[转]前端在人工智能时代能做些什么?

之前很长的一段时间内,一直在做阿里云人工智能产品 ET,

做为了一名前端工程师,参与了当中的一些工程工作,分享出来,希望对大家有所帮助。

前端工程在人工智能的团队到底能做什么,体现怎么的价值?对此,可以先下图的一个总结,然后我会逐条分析

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

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

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

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

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

一.人机机互:

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

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

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

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

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

这里重点对语音处理的内容,这块由于需要很多专业方面的知识,之前处理前端处理起来还是挺痛苦的,

不过现在Web Audio API 很好的解决了这个问题。

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

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

二. 数据可视化

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

而这些年明显的趋势就是人工智能,就是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

原文地址:https://www.cnblogs.com/weizhibin1996/p/9452534.html

时间: 2024-10-07 22:51:49

[转]前端在人工智能时代能做些什么?的相关文章

前端开发流程---我们应该做些什么

一.拿到原型图,先自我解析需求,画出思维导图,流程图 在未拿到UI给定的PSD时,可以先理清我们的需求 依赖的外部资源 后端提供的接口 UI出图的大概布局 后期频繁改动的地方 需要实现的效果 下拉刷新 动画效果 吸顶效果 懒加载.预加载.防抖.节流 二.产品召集项目相关人员,开需求讨论会,产品讲解原型 理解产品的需求,提出质疑:这是什么功能,怎么做,为啥这么做 评估实现难度和实现成本,是否有潜在技术问题/风险 对比自己整理的需求图,如果有和自己想的不符合的,提出疑问 理解PM提出此次需求的目的,

人工智能时代,是时候学点Python了

"是时候学点Python了".作为一名不怎么安分的程序员,你或许觉得,产生这样的想法并不奇怪,但学习Python却是出于自己对工作现状以及如何应对未来挑战所作出的思考.读过我以前博客的朋友,可能都知道,我推崇软件领域中的匠人精神,将软件开发也视为一种制作,并将优秀的产品归纳为功能性与美感的结合.这在过去或许是普遍适用的优秀产品准则,然而,今天当我们已经站到人工智能时代的大门前时,我却发现过去对于软件产品的理解,已显得有些狭隘且过时了.未来所有的优秀产品都应该是功能.美感与智能的有机结合

算法将成为人工智能时代的“科技原力”

10月25日,"TEDx漕河泾--科技的原力"主题演讲在上海举行,腾讯公司副总裁姚星在演讲中回顾了中国互联网20年经历的三个阶段,并且展望了人工智能行业的发展趋势."算法,将成为人工智能时代的'科技原力'",姚星说. 过往的20年,是互联网飞速发展,并渗透到我们经济生活的每一个方面的20年.姚星将其划分为三个阶段:窄带时代.宽带时代和移动互联网时代. 诞生于1998年的Google,首页最初是一个极为简洁的搜索框,这个首页的传输大小是小于1024字节的,"

Python将是人工智能时代的最佳编程语言

移动互联网取代PC互联网领跑在互联网时代的最前沿,Android和iOS一度成为移动互联网应用平台的两大霸主,成为移动开发者首选的两门技术,HTML5以其跨平台的优势在移动互联网应用平台占据重要位置,可以说是后来者居上.  由于技术的限制难以催生出更多的新应用,互联网+的产品日渐饱和,移动互联网从巅峰时代逐渐趋于平缓发展,下一个时代谁是主场?下一门应用技术谁来掌门? 在第三届互联网大会中百度CEO李彦宏曾表述:靠移动互联网的风口已经没有可能再出现独角兽了,因为市场已经进入了一个相对平稳的发展阶段

后端程序员都做些什么?

后端程序员都做些什么? 2017-12-25 刘欣 程序猿 来自:码农翻身(微信号:coderising) 这个问题来自于QQ网友,一句两句说不清楚,索性写个文章. 我刚开始做Web开发的时候,根本没有前端,后端之说. 原因很简单,那个时候服务器端的代码就是一切:接受浏览器的请求,实现业务逻辑,访问数据库,用JSP生成HTML,然后发送给浏览器. 即使后来Javascript在浏览器中添加了一些AJAX的效果,那也是锦上添花,绝对不敢造次.因为页面的HTML主要还是用所谓"套模板"的方

不懂Python,你将成为人工智能时代的新“文盲”

每个阶段,大家对"文盲"的定义都是不相同的,以前不识汉字就是文盲,后来不会说英语就是文盲.在人工智能时代的今天,当然不懂Python语言,你就是"文盲"!现在你肯定在问Why? 众所周知,中国人工智能行业正处于一个创新发展的时期,对人才的需求也在急剧增长.如今Python语言的学习已经上升到了国家战略的层面上.国家相关教育部门对于"人工智能的普及"格外重视,不仅将Python语言列入到小学.中学和高中等传统教育体系中,并借此为未来国家和社会发展奠

AI人工智能时代即将来临,是什么要先行一步?

在2018年"全连接大会"上,最触动人心的一刻,无疑是万物互联未来畅想:而作为万物互联的核心便是"人",而万物互联的所要发挥的极致作用也就是充分解放"人"的机械属性,而充分发挥人的不可替代的创造性价值.无论是算法.算力还是模型训练,自动化功能及应用,自动更新与人才稀缺等十大改变中的任一一项改变都基于一个基础--协同. 协同并不是同样.统一的重复,而是犹如一个新产品的整体生命周期,不同的人的角色不同,参与新产品的生命周期的节点也不同,但都是始于同一

人工智能时代该如何夺回我们的“不知情权”

导语:美国科学杂志nautil.us<鹦鹉螺>作者Christina Leuker Wouter Van Den Bos近日发表了针对人工智能时代下如何保护人类的“不知情权”的深度报道.人工智能的出现能以无法预知的方式改变了现实生活中需要在选择知道和不知道的平衡,同时让我们在决定什么时候保持不知情的问题上变得复杂,研究故意不知情的心理将有助于设计适用于人工智能的不知情权法律,不过,这一严谨的科学研究话题长期以来一直被忽略. 以下为文章全文: 柏林墙倒塌后,东德公民终于有机会阅读到斯塔西(Sta

免费云电脑能做些什么?

如果你是一个网站的建设者和维护人员,一定对"云服务器 www.xrcloud.net "非常熟悉.这是一个网站能够正常运行并向用户输出内容的基础,帮助无数站长从头做起,一步步登上人生的巅峰. 但是有一个新的概念--云电脑就很少人能够理解,这种陌生的云计算产品能做些什么,有没有免费的云电脑可以让用户来尝试一下.这篇文章我们就来聊聊免费云电脑能做些什么. 云电脑是什么云电脑作为云计算发展的产物之一,是一款面向个人用户的产品,利用云计算技术,在远端虚拟出一台台运行Windows系统的电脑给用