zoukankan      html  css  js  c++  java
  • 前端开发在人工智能时代能做什么?

    众所周知,人工智能、AI、大数据等技术的出现,掀开了智能时代的新篇章,众多专家及各领域精英纷纷预测未来是属于人工智能的时代。那么近年来同样火热的前端开发,在人工智能时代能做些什么呢?  

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

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

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

    对于前三点偏重交互的领域,毋庸置疑用前端做起来驾轻就熟,而后面偏重计算的领域,前端是否合适做,或者说前端该怎么去做是有可以探讨的。

    人机机互

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

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

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

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

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

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

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

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

    数据可视化

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

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

    比如我们在 ET 项目中就需要做很多声音的可视化内容,以及现在外面在做的一些人脸可视化的内容

    产品 Web

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

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

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

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

    电脑刺绣绣花厂 http://www.szhdn.com 广州品牌设计公司https://www.houdianzi.com

    算法执行

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

    前几年有些大家对前端的认知还停留在纯浏览器端,但随着 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 端的优势,也是一门非常优秀的应用开发语言。

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

  • 相关阅读:
    SSM环境搭建 原始xml版本
    SpringMVC 学习 十六 中初始化视图解析器过程
    tomcat中http协议的get请求与post请求 是如何携带参数的
    Apache Tomcat 7介绍
    需要补充学习内容
    IIS应用程序池配置详解及优化
    openstack l3路由模式简单理解
    openstack neutron
    openstack网络架构
    linux 统计 TCP 网络连接状态
  • 原文地址:https://www.cnblogs.com/xiaonian8/p/13851751.html
Copyright © 2011-2022 走看看