人工智能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芯片后来者居上?
芯片一直是个神奇的东西,表面上看是电脑.笔记本.智能手机改变了世界,其实,真正改变世界的硬件内核是芯片,芯片相关的技术才是科技界最实用.最浪漫的基础技术,也正因如此,谁掌握了芯片基础技术,谁就能立于 ...
随机推荐
- java String,StringBuilder和StringBuffer
String:1.java语言中的字符串值属于String类,虽然有其它方法表示字符串(如字符数组),但java一般使用Sting类作为字符串的标准格式,java编译器把字符串值作为String对象. ...
- chrome开发者工具那点事
Elements:查找网页源代码HTML中的任一元素,手动修改任一元素的属性和样式且能实时在浏览器里面得到反馈. Console:记录开发者开发过程中的日志信息,且可以作为与JS进行交互的命令行She ...
- .NET Core 控制台项目中的Nuget打包类库及引用
由于使用的是MAC版本的VSCode,所以全部是通过dotnet命令来完成的. 1.dotnet new lib 创建类库项目: 2.编辑项目根目录下的.csproj文件,添加版本号(建议): < ...
- [转]Linux下查看CPU信息、机器型号等硬件信息
From: http://www.jbxue.com/LINUXjishu/14582.html 查看CPU信息(型号) : # cat /proc/cpuinfo | grep name | cut ...
- BZOJ 2763 飞行路线 BFS分层
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2763 题目大意: Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司 ...
- Java基础知识强化之集合框架笔记80:HashMap的线程不安全性的体现
1. HashMap 的线程不安全性的体现: 主要是下面两方面: (1)多线程环境下,多个线程同时resize()时候,容易产生死锁现象.即:resize死循环 (2)如果在使用迭代器的过程中有其他线 ...
- ansible.md
ansible 测试环境配置 注意:192.168.100.201这台机器是主控机,剩下的192.168.100.202.192.168.100.203.192.168.100.210均为测试主机. ...
- python第十五课——全局变量and局部变量
全局变量&局部变量: 全局变量的特点: 1).直接定义在.py文件中(函数外)的变量(全局位置) 2).作用域比较大,可以被此文件中的任何函数所使用 局部变量的特点:1).定义在函数内部(函数 ...
- 1.5 Community and Conferences(社区和讨论组)+ 私货
1.5 Community and Conferences(社区和讨论组)+ 私货 下面是一些和科学计算,数据处理相关的Python社群和讨论组,如果有什么问题可以进行提问: pydata: A Go ...
- 最简单的php学习
php文件操作函数 filetype()判断文件的基本类型 egg 目录文件 文件 等 dir文件夹 file 文件 stat()函数获得指定文件名参数目标文件的基本属性 在php中以is_开头 ...