赞
踩
听完很多大咖的观点,对于工程师,未来十年应该有两个技术可以做,一个是AI,提升生产力,一个是区块链,厘清生产关系。个人觉得还是AI好玩些,希望可以挤进去折腾下。对于AI应用落地,其实判断标准就两个,是否可以提升生产力(当然有时不是直接的,产生的数据可能在其他地方提高效率),一个是能否降低交易成本,把实惠给老百姓。
好像有点扯远了,我们还是聊技术吧。FPGA工程师如果想进这个行业,首先要先明白神经网络部署的一些基本步骤。FPGA工程师我们总不能只做翻译的活吧。
定义网络的结构:最基本的就是层数、维度、激活函数,对一般工程师其实是使用,而不是发明。
一个模型一般由以下这些函数构成
这些模型需要的函数设计好了,接下来就开始训练,一般分训练集(训练用)、开发集(选择一组好的超参数用)、测试集(测试用)。
训练好的模型就拿去做推理,推理其实就是一个正向传播算法,他的参数是训练好的。
搭建模型时给tensorflow做个广告,真的比自己用numpy做简单啊,好处是设计好正向传播,反向传播不用写代码,只要告诉他怎么优化代价函数就好,其他交给框架了。当然如果你要做硬件加速器,那还是要理解计算过程的。
FPGA在这一过程中能干啥呢,当然是加速了,深度神经网络里面最多的计算就是乘加运算。当然如果你认为只是乘加,那就说明层次不够啊。。。
一般要解决几个主要问题:
这些都设计出来,针对某个特定网络的加速器就设计完了,剩下的就是动手开干,实现你的想法吧。当然这种做法与传统的算法加速,比如实现加密算法,流程上没太大区别。其实还有很多更先进的东西,那就好好去读下相关论文及资料,比如微软的brainwave。。。
最后提两个问题哈:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。