继「人工智能AI芯片与Maker创意接轨」的(上)篇中,认识了人工智能、深度学习,以及深度学习技术的应用,以及(中)篇对市面上AI芯片的类型及解决方案现况做了完整剖析后,系列文到了最后一篇,将带领各位Maker进入智能化的世界,你也能轻松成为一位AI应用创作者。

Maker如何进入AI领域?

对Maker而言,要如何进入智能化的世界呢?我们可从几个方面来综合评估:创作智能化目标、算力(AI芯片)、算法(模型/网络)、训练数据及开发工具。

首先,确认创作内容的输入和输出项目为何?通常输出与输入的内容可能是数据(数值)、文字符串、影像或语音。再来决定输出的型式是分类(二分、多分类)还是回归(数值预测)问题(例如大小、位置、机率等)?或是更复杂的内容(例如一段影片、音乐、文章或连续动作产生)。

比方说想开发一台智能电扇,输入的可能是一句话(命令、查询)、一张影像(静态手势、表情等)、一段影片(动态手势),或是温湿度以及其它传感器。输出的可能是一个动作(例如开关、调整电扇强度、转动角度等)或是回答一句话(例如目前温度、问候语句)。

小米智能风扇

再举一个例子,假设要开发一个智能花盆,输入的可能是土壤温湿度、酸碱度、照度传感器所提供的数值,或是一张彩色影像、热像图或是一句询问的话。输出的可能是自动语音提醒、开关浇水设备或是预测开花时间等。

选择合适的硬件平台

确认创作主题的输入和输出项目后,再来是为功能验证选择合适的硬件平台。

决定计算的硬件平台是在云端、本地端(边缘)或者混合计算,来决定可容许计算结果的反应时间(微秒或秒级)、正确率、误判率。当然最重要的是产品制作成本,以及后续服务的费用是否能被接受。

大家可能会想说,还没做怎么知道系统复杂度及成本?其实通常直接使用云端AI服务时,开发与硬件成本会低一些,执行时反应速度也会因为连网问题而慢一些,然而后续使用的服务费用会高一些。

反之,若以本地(边缘)端硬件解决AI计算时,则制作成本及开发难度会高一些,不过后续通常不需要额外使用云端服务的费用。若是预计使用云端服务(例如:Google, Microsoft, AWS等)时,通常供货商会提供很清楚的费用评估。

假如想在本地端解决计算问题,则可用类推法,先在网络上找看看是否有类似的设计(部份亦可),参考别人用了哪些硬件平台(AI芯片)、算法(模型),则可以省去很多评估的时间。

可直接使用智能芯片

另外,目前已有很多常用的智能(AI)功能已被芯片化(详见本系列(中)篇),可考虑直接买来用。如果只想开发软件不想碰硬件,也可考虑直接用高阶智能手机或SoC解决方案,或是采用像树莓派这类Maker最常用的开发平台,加上Movidius (Intel)或海青智盈(Gyrfalcon)USB神经棒这类的AI加速工具,也能玩出许多新创意。像是Nvidia TX1这类的小型嵌入式开发板已包含强大的CPU及GPU可以提供强大算力,是个不错的选择。

Intel Movidius

接着要考虑的是训练资料的来源,以及是否需要进行前处理或清理(Data Clean),确保训练过程不会失控而无法收敛。当然以深度学习来说,数据数量及样态越多时,训练效果将会越好,然而训练时间也会呈现几何成长,费用也会相当惊人。因此牺牲一点正确率,通常训练的数据量就能减少一些。

若输入的内容是传感器的量测值或者是声音时,则可能要注意取样速度及数据稳定性,必要时加上一些硬件或软件的滤波器(Filter)来稳定数据。若数据点数不多、输出反应速度要求不高的情况下,有时可直接用CPU计算即可满足需求。若输入的是影像,在人眼还可以辨别之下,可考虑改成灰阶或小一点的尺寸,这样可减少许多训练的时间。

有很多问题运用统计、特征提取比较或是传统机器学习方法就可完成智能化需求,至于是否要用到深度学习这类计算成本很高的作法,就要依实际创作内容来评估。假设无法避免使用深度学习这类方法来处理时,此时选用的硬件平台除了要考虑计算能力外,还要考虑开发时所需使用的程序语言(Python, C, Java)、工具包(SDK)、深度学习框架的支持性。因为AI芯片目前没有统一的开发接口,所以只能尽量挑选有支持像TensorFlow、 Caffe、Mxnet 这类较流行的框架。

如果是使用手机的SoC方案时,在Android 8.0以上还有Android NN API,或者像Arm Project Trillium这类的工具协助整合CPU、GPU、NPU,以便开发AI相关应用,而少数AI芯片可支持例如OpenVX、Cuda或OpenCL等GPU专用并行计算语言,也可以考虑使用。

结论

在这个AI芯片百家争鸣的时代,不管是从云端(Cloud)到边缘(Edge)再到芯片(Chip),甚至连生态圈(Ecosystem)都已有完整的发展且快速成长中,同时网络上也有取之不尽的免费教学资源,所以正是Maker创作智能化的最佳时代。

俗话说:「没有做不到只有想不到。」善用工具、发挥创意,相信不久的将来,每个人都会是最佳的AI应用创作者,就像在手机上开发程序一样简单。

各位Maker,就让我们一起努力吧。

原文参考

https://mp.weixin.qq.com/s?__biz=MzU0MTg0ODIzNA==&mid=2247484360&idx=3&sn=90d185e8509274a0c5415c089539cfc5&chksm=fb22e40dcc556d1b9c89a39c0ac068c0a1f5e6c047fbfd125ab842a9e0280a89879be4408463#rd

人工智能AI芯片与Maker创意接轨(下)的更多相关文章

  1. 人工智能AI芯片与Maker创意接轨 (中)

    在人工智能AI芯片与Maker创意接轨(上)这篇文章中,介绍人工智能与深度学习,以及深度学习技术的应用,了解内部真实的作业原理,让我们能够跟上这波AI新浪潮.系列文来到了中篇,将详细介绍目前市面上的各 ...

  2. 人工智能AI芯片与Maker创意接轨 (上)

    近几年来人工智能(Artificial Intelligence, AI)喴的震天价响,吃也要AI,穿也要AI,连上个厕所也要来个AI智能健康分析,生活周遭食衣住行育乐几乎无处不AI,彷佛已经来到科幻 ...

  3. 深度 | AI芯片终极之战

    深度 | AI芯片终极之战 https://mp.weixin.qq.com/s?__biz=MzA4MTQ4NjQzMw==&mid=2652712307&idx=1&sn= ...

  4. Nvidia和Google的AI芯片战火蔓延至边缘端

    AI 的热潮还在持续,AI 的战火自然也在升级.英伟达作为这一波 AI 浪潮中最受关注的公司之一,在很大程度上影响着 AI 的战局.上周在美国举行的 GTC 2019 上,黄仁勋大篇幅介绍了英伟达在 ...

  5. 人工智能--AI篇

    AI背景 在当今互联网信息高速发展的大背景下,人工智能(AI)已经开始走进了千家万户,逐渐和我们的生活接轨,那具体什么是AI呢? 什么是人工智能(AI)? 人工智能:简单理解就是由人制造出来的,有一定 ...

  6. 深度 | AI芯片之智能边缘计算的崛起——实时语言翻译、图像识别、AI视频监控、无人车这些都需要终端具有较强的计算能力,从而AI芯片发展起来是必然,同时5G网络也是必然

    from:https://36kr.com/p/5103044.html 到2020年,大多数先进的ML袖珍电脑(你仍称之为手机)将有能力执行一整套任务.个人助理将变的更加智能,它是打造这种功能的切入 ...

  7. 一文看懂AI芯片竞争五大维度

    下一波大趋势和大红利从互联网+让位于人工智能+,已成业界共识.在AI的数据.算法和芯片之三剑客中,考虑到AI算法开源的发展趋势,数据与芯片将占据越来越重要的地位,而作为AI发展支柱的芯片更是AI业的竞 ...

  8. 一文解读AI芯片之间的战争 (转)

    2015年的秋天,北京的雨水比往年要多些,温度却不算太冷.这一年里,年仅23岁的姚颂刚刚拿到清华大学的毕业证书;32岁的陈天石博士毕业后已在中科院计算所待了整整8年;而在芯片界摸爬滚打了14年的老将何 ...

  9. 中国的规模优势,有望帮助AI芯片后来者居上?

    ​芯片一直是个神奇的东西,表面上看是电脑.笔记本.智能手机改变了世界,其实,真正改变世界的硬件内核是芯片,芯片相关的技术才是科技界最实用.最浪漫的基础技术,也正因如此,谁掌握了芯片基础技术,谁就能立于 ...

随机推荐

  1. 如何处理高并发情况下的DB插入

    1.  我们需要接收一个外部的订单,而这个订单号是不允许重复的 2.  数据库对外部订单号没有做唯一性约束 3.  外部经常插入相同的订单,对于已经存在的订单则拒绝处理 对于这个需求,很简单我们会用下 ...

  2. debian 7 终端上无法调出输出法

    debian 7 终端konsole上无法调出输出法,无法输入汉字的问题解决方案, export GTK_IM_MODULE=fcitxexport QT_IM_MODULE=fcitxexport ...

  3. Python内置函数.md

    Python3 内置函数 abs(x) 返回一个数的绝对值.参数可以是一个整数或者一个浮点数.如果参数是一个复数,那么将返回它的模. >>> abs(-123456) 123456 ...

  4. Type Safety and Type Inference

    Swift is a type-safe language. A type safe language encourages you to be clear about the types of va ...

  5. Center OS 7 /etc/rc.d/init.d/network, status=6

    service network restart 报错 Center OS 7 /etc/rc.d/init.d/network status=6 google上找到答案: Just in case a ...

  6. CCF 201709-2公共钥匙盒

    问题描述 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家.每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒中 ...

  7. Linux 定时清除日志 Log

    一.原因 写这篇的原因是项目中log没有定时清除,服务器上项目是用脚本启动,log文件只会在启动时生成一次,这时,由于项目在不断运行中,导致log越来越大.如果删除log文件,还得把项目停掉在启动,这 ...

  8. 重学Verilog(3)——参数化模块

    1.parameter方法 首先有这样一个模块 module half_adder(co,sum,a,b); output co,sum; input a,b; ; ; and #and_delay ...

  9. SpringIDE的安装

    要安装SpringIDE,需要先知道当前eclipse的版本,打开Eclipse,Help -> About Eclipse 然后去 http://spring.io/tools/sts/all ...

  10. VB6 Access 事务(Transaction)

    VB6 Access 事务 On Error GoTo err_trans intTrans = conn.BeginTrans '开始事务 X = count For i = 0 To X sql= ...