Antkillerfarm Hacking V7.0

入行以来涉及的技术简史(二), 我的AI & 数码相机简史

2021-11-22

入行以来涉及的技术简史(续)

3)QT

同上。

4).NET

.NET使用了一套与MFC不同的GUI框架。从接口来看,其实更像是MS的死敌Borland的VCL的那套东西。现在使用这个编写PC工具似乎已经非常普遍了,而且随着应用的广泛,目前自带.NET Framework的PC也越来越多。很多时候,我们只用发布程序就好了。同事W算是这方面的高手,基本上这边的PC工具有八成都是他主导制作的。将公司在这方面的水准提升了一个台阶。

5)GTK

这是去年下半年开始自学的GUI框架。主要原因是目前已有部分工作转移到Linux下,总要有个称手的GUI框架才好。其次,目前的工具代码,大多是copy自产品代码的某一部分。产品使用gcc作为编译器,而gcc的语法和VC也不尽相同。产品代码中使用的比较多的局部动态数组,VC到目前仍不支持。

3.移动平台

工作以来,一直在嵌入式领域打拼,也经历了不少的移动平台,罗列如下:

1)Wince/Windows Mobile

这是接触的第一个移动平台,在学校的时候,我甚至连SD卡都没见过。应该说Windows Mobile是iOs和Android崛起之前,最高端大气的移动平台。由于API与Win32 API高度兼容,上手难度也不高,着实风光了一把。同期的竞争对手Symbian由于对触摸屏的支持不好,加之硬件规格较低,对于导航地图之类的当时的“超级应用”来说,还是有些力不从心的。

2)Nucleares/Brew/MTK/Symbian S60/Symbian UIQ/Moblin

这些平台没有做过大的项目,但是看过其中的应用代码。应该说这些都是iOS和Android出现之前,功能手机和嵌入式设备的主流系统。

3)Android

没有在该平台上开发过商业产品。但是作为从其诞生之初就一直在关注的人士。无论对它的应用层,还是对它的中间层和驱动层都有一定的了解。基本上从见到Android的第一眼开始,我就预见到Nokia和黑莓的衰败。即便黑莓在稍后的2009~2010年达到它的顶峰,也不曾让我改变观点。

4)RTKE

这是飞利浦开发的一个实时内核,我在S公司工作期间主要用于手机基带芯片的控制。当时公司投入很大精力,想在一颗处理器上集成基带处理和应用处理的功能,其软件核心是在RTKE的基础上,搭建一个Linux虚拟机以运行Android应用。这个项目的初衷是推出千元以下的手机。但是后来随着硬件性能的提升和价格的下降,千元以下的手机的确是做出来了,但实际上所用的处理器的个数不仅没有减少,反而越来越多。

PS:RTKE的用途不仅于此,有同事说他之前在其他公司也用过RTKE,然后细谈才知道飞利浦的剃须刀上用的也是RTKE。

4.其他

研究生时代研究过CORBA技术,主要用于通信运营商的网管系统的应用。工作之后,很久都没有听说过这个名词。前段时间,在招聘网上,搜了一下,发现CORBA技术本身并未灭绝,但是用途居然还是局限在网管系统的应用上。而且由于体系的庞大低效,原先使用CORBA构筑的GNOME桌面等PC程序,也将IPC转为更高效(但不通用,也不支持联网)的DBUS技术了。

2018.8

https://coolshell.cn/articles/3008.html

Windows编程革命简史

这篇文章谈到的这些东西,我基本都经历过。ATL算是我曾经花费很长时间去学,但却最终没学会的东西。好在从事后的角度看,这东西也没多少公司用。可能安全领域用的比较多吧,比如网银插件。

当然,这些年也遇到了一些绕了一圈最终逃不过的技术。比如GPU里面的shader技术,当初做3D GIS用到过,现在做AI计算又遇到了。

2018.9

尽管我从未涉足游戏开发行业,但不可否认的是,游戏开发是我许多年前报考CS专业,并从事相关工作的初心。

2015年的时候,由于当时工作比较轻松,自己也进入了技术进步的瓶颈期。于是以玩票心态,操练了一下游戏开发,其实就是cocos2d-x和box2d,还为后者提供了中文手册,并被原作者接受为官方版本。

之后由于兴趣转移,加上自己也意识到错过了入行的最佳时间,遂搁置之。不料,3年之后,cocos2d-x已经败下阵来,江湖的主角换成了Unity和UE。。。

此间,还短暂接触了crossapp——一个在cocos2d-x上改造而成的跨平台UI库。不料,cocos2d-x的作者对这种用法很不赞成:

因为app开发是:如果没事的话我就不刷新屏幕了。游戏引擎是:尽量每秒60帧刷新速度除非你叫我停下来。换句话说,app是事件驱动刷新的,游戏是自循环驱动刷新的。带来的结果就是耗电量、发热量等完全不同。

2019.1

我对于大数据平台一直很有兴趣,但由于工作内容更偏向于算法和DL,因此平台类的技术栈都只是略知一二的水平。

不得不说,平台类的技术栈更新换代十分迅速。2016年,还是Hadoop/Hbase的天下,Spark开始发力,OpenStack则已经走下坡路。到了2018年,主角换成了Docker、Kubernetes、Flink。

回顾2年前第一个舆情分析项目,自己对于NLP、DL一无所知,对于ML也只有肤浅的认识。仅仅凭借同事的一句提示——Solr,开始闷头开荒,一路下来竟也让我闯出了一番新天地。

那个时代的我对于分词用的HMM,也曾顶礼膜拜。如今想来,恍如隔世。

我的AI简史

2018.5

上一篇技术简史还是2014.12的事情,时间又过了3年半。除了在智能硬件上捣鼓了一年多以外,这几年就主要是在AI上折腾了。

2016.3的AlphaGo大战李世石事件,虽然新闻效应很大,对我的震撼也很大,但对于我从事AI,实际上并无直接关联。

我的AI之路的开端实际上非常偶然。某天闲逛,无意发现了一个开源app的UI使用了毛玻璃特效。作者特意指出该特效使用了Gauss filter。

接着便搜索到了一个介绍Gauss filter的blog,这是该博主OpenCV系列的其中一篇,于是从此入了CV的坑。这大概是2016年3月底的事情,距离AlphaGo大战李世石不过一周左右。

2016.4,公司开始涉足大数据研发,但暂时和我没有交集。

2016.5,参加某安防展,看到了CV在停车场中,对于车辆跟踪的应用,对CV兴趣更浓。同时得知同事L是此中高手。

2016.7,在OpenCV的官方手册中,发现了ML一词。接着找到了吴恩达早期的ML讲义,从此入坑ML。

2016.8,大数据项目进入开展阶段,我自告奋勇,负责算法的设计。从此成为职业AI人。

2016.10,入坑NLP。

2016.12,入坑DL。但是由于初期ML的基础较差,因此在看完MLP之后,暂时停了一阵子。2017.5以后,全面转入DL。

2017.10,入坑RL。

2018.3,入坑ASR。


2018.11

入坑AI已经有2年半了,相关的blog达150+。记得当初进入一个AI相关QQ群的时候,某AI书籍的作者进群推销。她的卖点是阅读过200篇论文,结果被群主鄙视了一番。当时作为萌新,颇有神仙打架的感觉,无从评判孰是孰非。直到如今,自己阅读论文的数量差不多也有200篇,才终于对AI略有心得。


2020.5

非常遗憾,ASR方面由于公司另有团队在做,没有跟下去了(2018.10)。

2018.8~10 研究Transformer。

2018.11~2019.3 研究style transfer。

2018.12 研究Wave-U-NET。

2019.3~5 研究GAN。

2019.8~2020.1 研究DRL。

2020.4 研究PGM。


2021.11

最近这一年,算法研究的不多,主要转向AI平台开发。

2020.4~2020.8 编写ONNX Runtime的Backend。

2020.8~2020.12 编写ARM NN的Backend。

2021.1~ 研究TF XLA和TVM。


2023.4

之前的工作主要集中在AI推理方面,这一年半来,开始研究AI训练,以及分布式/并行计算。


2023.11

大模型的火烧到了国内,现在的客户言必称大模型。从系统架构的角度主要有两个方向:

1.微观上主要是AI Compiler。

2.宏观上主要是集群/并行计算。

数码相机篇

2018.9

考虑到卡片式数码相机已经是一个过气产品,这里就一并谈了吧。

1.机械相机。我爸有一部机械相机,具体入手时间已经不知道了,反正自我记事起,就一直在用了。(1988?)这部相机纯机械操作,完成对焦之类的操作起码要一分钟,倒不是本来就这么慢,而是当时还使用胶卷,照一张像比较慎重。因此,经常有老爸仔细调相机,而我却忍耐不了的情况发生。

2.电子相机。1994年的时候,我爸给舅舅代买了一台电子相机,我把玩了一个月左右。这部相机还是使用胶卷的,但是有自动对焦的功能,一般10秒左右就可以拍一张照片了。但掌握高超摄影技巧的老爸,不想让自己失业,还是用他的老相机。。。囧

3.2M数码相机。大概1998年的时候,班上有同学,他的父母所在的单位买了一台数码相机。他也就拿到学校炫了一圈,不得不说它的像素是真的渣,但也真的震撼——竟然能不用胶卷。柯达的丧钟就此敲响。

4.8M数码相机。2002年左右,家里入手第一台数码相机。

5.12M数码相机。2007年,刚工作的我,用第一笔自己可支配的钱(前几个月的工资交房租去了),买了一个数码相机。

岂料,风向巨变,这竟然成为了我家唯二的两部数码相机。所以,柯达被数码相机击败,其实是个伪命题。柯达并非没有远见的公司,它比一般人认为的厉害的多。它很早就评估了数码相机的市场份额,认为这是一个小市场,养不活那么多的人,所以迟迟没有转型。还有一个更关键的原因在于,柯达实际上是一家化学公司,而不是电子公司。就算它能转型数码相机,也绝对转不了拍照手机,所以还是没啥卵用。。。

听说破产重组后的柯达,改卖化妆品和印钞票去了,这才算是专业对口。

数码相机让老爸走向了另一个极端:反正照片不要钱,一个场景每次都要按7、8下。。。

话说手机的摄像头那叫真的多。一开始只有后置镜头,然后加上了自拍的前置镜头,再然后是可以获得深度的双镜头方案,最近的华为p20 pro又加上了一个远景镜头。

Fork me on GitHub