人工智能AI芯片与Maker创意接轨(下)
继「人工智能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创意接轨(下)的更多相关文章
- 人工智能AI芯片与Maker创意接轨 (中)
在人工智能AI芯片与Maker创意接轨(上)这篇文章中,介绍人工智能与深度学习,以及深度学习技术的应用,了解内部真实的作业原理,让我们能够跟上这波AI新浪潮.系列文来到了中篇,将详细介绍目前市面上的各 ...
- 人工智能AI芯片与Maker创意接轨 (上)
近几年来人工智能(Artificial Intelligence, AI)喴的震天价响,吃也要AI,穿也要AI,连上个厕所也要来个AI智能健康分析,生活周遭食衣住行育乐几乎无处不AI,彷佛已经来到科幻 ...
- 深度 | AI芯片终极之战
深度 | AI芯片终极之战 https://mp.weixin.qq.com/s?__biz=MzA4MTQ4NjQzMw==&mid=2652712307&idx=1&sn= ...
- Nvidia和Google的AI芯片战火蔓延至边缘端
AI 的热潮还在持续,AI 的战火自然也在升级.英伟达作为这一波 AI 浪潮中最受关注的公司之一,在很大程度上影响着 AI 的战局.上周在美国举行的 GTC 2019 上,黄仁勋大篇幅介绍了英伟达在 ...
- 人工智能--AI篇
AI背景 在当今互联网信息高速发展的大背景下,人工智能(AI)已经开始走进了千家万户,逐渐和我们的生活接轨,那具体什么是AI呢? 什么是人工智能(AI)? 人工智能:简单理解就是由人制造出来的,有一定 ...
- 深度 | AI芯片之智能边缘计算的崛起——实时语言翻译、图像识别、AI视频监控、无人车这些都需要终端具有较强的计算能力,从而AI芯片发展起来是必然,同时5G网络也是必然
from:https://36kr.com/p/5103044.html 到2020年,大多数先进的ML袖珍电脑(你仍称之为手机)将有能力执行一整套任务.个人助理将变的更加智能,它是打造这种功能的切入 ...
- 一文看懂AI芯片竞争五大维度
下一波大趋势和大红利从互联网+让位于人工智能+,已成业界共识.在AI的数据.算法和芯片之三剑客中,考虑到AI算法开源的发展趋势,数据与芯片将占据越来越重要的地位,而作为AI发展支柱的芯片更是AI业的竞 ...
- 一文解读AI芯片之间的战争 (转)
2015年的秋天,北京的雨水比往年要多些,温度却不算太冷.这一年里,年仅23岁的姚颂刚刚拿到清华大学的毕业证书;32岁的陈天石博士毕业后已在中科院计算所待了整整8年;而在芯片界摸爬滚打了14年的老将何 ...
- 中国的规模优势,有望帮助AI芯片后来者居上?
芯片一直是个神奇的东西,表面上看是电脑.笔记本.智能手机改变了世界,其实,真正改变世界的硬件内核是芯片,芯片相关的技术才是科技界最实用.最浪漫的基础技术,也正因如此,谁掌握了芯片基础技术,谁就能立于 ...
随机推荐
- Git操作(基础篇)
Git操作(基础篇) Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.Git的读音为/gɪt/.Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常 ...
- Java基础知识强化之集合框架笔记79:HashMap的实现原理
1. HashMap的实现原理之 HashMap数据结构: HashMap是对数据结构中哈希表(Hash Table)的实现, Hash表又叫散列表.Hash表是根据关键码Key来访问其对应的值Val ...
- zookeeper 快速入门
分布式系统简介 在分布式系统中另一个需要解决的重要问题就是数据的复制.我们日常开发中,很多人会碰到一个问题:客户端C1更新了一个值K1由V1更新到V2.但是客户端C2无法立即读取到K的最新值.上面的例 ...
- BZOJ4259:残缺的字符串(FFT)
Description 很久很久以前,在你刚刚学习字符串匹配的时候,有两个仅包含小写字母的字符串A和B,其中A串长度为m,B串长度为n.可当你现在再次碰到这两个串时,这两个串已经老化了,每个串都有不同 ...
- Jmeter之八大可执行元件及执行顺序
初步接触Jmeter,对比LoadRunner进行熟悉,╮(╯▽╰)╭.毕竟我对LoadRunner还是比Jmeter熟悉. 1.配置元件 用来提供对静态数据配置的支持.例CSV Data Set c ...
- 利用SimpleDateFormat进行时间的跨时区转换 - Java
* 次方法主要用来将特定时区的时间转换成指定时区的时间,比如将北京时间“2018-04-08 15:40:49.031”,转换对应的美国东部时间是“2018-04-08 03:40:49.031” ...
- L2-014. 列车调度
L2-014. 列车调度 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 火车站的列车调度铁轨的结构如下图所示. Figure ...
- C#做一个简单的进行串口通信的上位机
C#做一个简单的进行串口通信的上位机 1.上位机与下位机 上位机相当于一个软件系统,可以用于接收数据.控制数据.即可以对接收到的数据直接发送操控命令来操作数据.上位机可以接收下位机的信号.下位机是 ...
- ubuntu 服务器配置
一.apache.svn服务器的搭建 1.安装apache2 apt-get install apache2 2.下载安装svn服务和svn-apache连接库 sudo apt-get instal ...
- OO第一次总结作业
第一次OO博客作业 前言 面向对象课程已经经过了4周的时间.前三次作业全部是关于多项式求导的相关内容,内容由易到难,同时我也开始逐渐深入感受学习面向对象的各项特征,逐渐将自己的编程风格从C向真正的面向 ...