嵌入式 AI
原文链接:
https://www.sohu.com/a/501737079_115978
鉴于当前疫情防控形势依然严峻,为切实保障参会嘉宾及观众的身体健康与生命安全,经慎重考虑,原定于12月1日~2日举办的GTIC 2021全球AI芯片峰会将延期至12月21日~22日。
衷心感谢各位参会嘉宾及业内朋友对GTIC 2021全球AI芯片峰会的关注和支持,因延期举办给您带来的不便,我们深表歉意!
GTIC 2021全球AI芯片峰会由智一科技旗下智能产业第一媒体智东西联合专注于硬科技的知识分享社区智猩猩联合主办,是业界最早聚焦并持续专注于AI芯片技术创新与落地进展的产业盛会。
原文链接:
https://mp.weixin.qq.com/s/c3XTCJmtM5xzmevBKUA-_Q
与苹果、高通和华为不同,联发科的手机芯片一直被认为没有达到旗舰手机应有的性能,而这家公司最新的产品或许能够带来一次改变。北京时间今天凌晨,联发科技(MediaTek)刚刚发布了旗下最新旗舰处理器「天玑 9000」,这是该公司有史以来最强大的芯片。
在此之前,来自联发科的旗舰手机芯片如天玑 1000 对比高通的骁龙 888 或三星 Exynos 2100 等同级产品稍显落后,但天玑 9000 的推出很有可能让情况出现反转。毕竟在今年,越来越多的「Pro 版」手机已经换上了天玑芯片。
联发科的优势首先体现在工艺上,新发布的天玑 9000 是首款基于台积电 4nm 工艺(N4)打造的移动芯片,这可以称得上是业界第一了。
原文链接:
https://mp.weixin.qq.com/s/0HcxlbcPnD9H26iglgcguA
Snapdragon Spaces将于2022年推出,它可将摩托罗拉、联想、Oppo、小米眼镜与某些Android手机配对。
很多公司都在竞相让人们使用智能眼镜在身临其境的metaverse中相互连接。但现在,几乎并没有人能做到这些。据了解,高通公司近日推出了一个新的开发者平台:Snapdragon Spaces XR,用于构建头戴式增强现实体验。Spaces旨在充当手机和未来智能眼镜之间的粘合剂,重点是支持开放式网络平台。目前的问题是,它只适用于使用高通芯片的某些高端安卓手机,而目前根本不适用于iPhone。
该平台目前唯一支持的硬件是联想的ThinkReality A3智能眼镜(与摩托罗拉手机配对),但它将在2022年上半年扩展到包括OPPO和小米的硬件。
高通公司的芯片已经配置在现有的大多数AR和VR耳机中,包括Oculus Quest 2、Microsoft Hololens 2和HTC Vive Focus 3。在过去几年中,谷歌一直在努力将其VR和AR设备与手机连接起来,随着越来越多的公司(如谷歌)开始生产自己的芯片,使其发挥作用的兴趣可能会越来越大。Meta、Microsoft和其他AR/VR设备正专注于耳机和手机的跨设备兼容性(称之为metaverse,或任何您喜欢的产品),而高通公司的行动似乎完全着眼于最终实现耳机到手机的连接。
https://mp.weixin.qq.com/s/B42vlQXVSr6T0BVwmGzDiw
一位加拿大小伙儿一听说这事,立马坐不住了,立志要解决这个问题。他想了一想,芯片的主要原料不就是硅么,而硅一般是从石英石里提取的。
于是,灵感爆棚的他发挥DIY精神,抄起家伙就开干。
第一步,就从捡石头开始。
至于提炼硅需要的设备有用到汤锅、电磁炉等厨具。
最后,小伙把整个制作过程浓缩成一部只有99秒的视频教程,免费分享到网上。
步骤相当完整,只是缺少亿点点细节那种(手动狗头)。
AI新闻
原文链接:
https://mp.weixin.qq.com/s/fr620nsNtkj4KyF50IKO7w
你敢信,这年头只靠一个普通摄像头,就能让二次元老婆实时完成如此灵活的手指舞?
没错,不用穿戴硬件设备,打开电脑摄像头,AI就能让二次元老婆随你实时舞动。即使没有昂贵传感器加持,摇花手这种高难度动作,照样能轻松拿下。与以往需要昂贵传感器支持的光学动捕、惯性动捕不同,近几年兴起的视频动捕主要用到了计算机视觉技术。它只使用普通的RGB摄像头通过卷积神经网络(CNN)来识别图像中人体的骨骼关键点。其中,特征提取器会通过分辨率由高到低的过程来提取高级特征,姿势解码器则可以基于检测或回归的方式来估计目标输出、2D/3D关键点位置或3D网络。基于检测的方法可以生成特征图或热力图,基于回归的方法则可以直接输出坐标位置。此前剑桥大学开发的人体姿态工具PoseNet就是一个很经典的案例。它使用端到端学习框架,可以从RGB图像中直接映射出人体的关键骨骼坐标,检测全身17个位点,最终捕捉到人体动作。
原文链接:
https://mp.weixin.qq.com/s/x4yEfg9eqW6x3Ehxm1HkRA
前段时间,何恺明等人的一篇论文成为了计算机视觉圈的焦点。这篇论文仅用简单的 idea(即掩蔽自编码器,MAE)就达到了非常理想的性能,让人们看到了 Transformer 扩展到 CV 大模型的光明前景,给该领域的研究者带来了很大的鼓舞(参见《大道至简,何恺明新论文火了:Masked Autoencoders 让计算机视觉通向大模型》)。
那么,MAE 就是大模型视觉模型预训练方法的巅峰了吗?显然不是,一大波挑战者已经在路上了,比如字节跳动、约翰霍普金斯大学等机构组成的联合团队。
在一篇最新的论文中,他们提出了适用于视觉任务的大规模预训练方法 iBOT,通过对图像使用在线 tokenizer 进行 BERT [1]式预训练让 CV 模型获得通用广泛的特征表达能力。该方法在十几类任务和数据集上刷新了 SOTA 结果,在一些指标上甚至超过了 MAE。
原文链接:
https://mp.weixin.qq.com/s/IGaR2EQdaMGTBClKtEkarA
Transformer模型在很多不同的领域都取得了SOTA,包括自然语言,对话,图像,甚至音乐。每个Transformer体系结构的核心模块是注意力模块,它为一个输入序列中的所有位置对计算相似度score。
然而,Transformer在输入序列的长度较长时效果不佳,因为它需要计算时间呈平方增长来产生所有相似性得分,以及存储空间的平方增长来构造一个矩阵存储这些score,因此将它们扩展到长序列(如长文档或高分辨率图像)是非常费时费内存的。
对于需要长距离注意力的应用,目前已经提出了几种快速且更节省空间的方法,如常见的稀疏注意力。
稀疏注意力机制通过从一个序列而不是所有可能的Pair中计算经过选择的相似性得分来减少注意机制的计算时间和内存需求,从而产生一个稀疏矩阵而不是一个完整的矩阵。
虽然,稀疏注意力引入了许多技术来修改注意机制,但是,整体Transformer的架构并没有改变。这些稀疏注意机制降低了自我注意的复杂性,但仍然迫使模型要处理与输入相同长度的序列。为了缓解这些问题,来自谷歌、OpenAI和华沙大学的团队提出了一种新的用于语言建模的高效Transformer架构,称之为Hourglass。
原文链接:
https://mp.weixin.qq.com/s/2G9JAWmXig0o8WR1J7dfkg
StyleGAN在各种图像处理和编辑任务上,表现很惊艳。然而,“干一种活”就得换个体系重新“培训”一次,太麻烦。
终于,有人细细研究了一下,发现:
其实只通过预训练和潜空间上的一点小操作,就可以让StyleGAN直接上手各种“活儿”,包括全景图生成、从单张图像生成、特征插值、图像到图像翻译等等。
更厉害的是,它在这些“活儿”上的表现还完全不输每一位单项SOTA选手。作者顺势做了个全面整理写成了一篇论文,相关讨论在reddit上直接收获了700+的热度:
网友纷纷感叹:这总结真的是太酷了!
聊点技术
原文链接:
https://mp.weixin.qq.com/s/4h6hDGlA4-LgEYU0sI-MeA
目标检测是现在最热门的研究课题,也一直是工业界重点研究的对象,最近几年内,也出现了各种各样的检测框架,所属于YOLO系列是最经典也是目前被大家认可使用的检测框架。
今天说的这个系列模型,模型非常小、目前最快的YOLO算法——大小只有1.4MB,单核每秒148帧,在一些移动设备上部署特别容易。具体测试效果如下:
简单使用了下Yolo-Fastest,感觉不是很习惯使用了,可能好就不用darknet框架,但是上手还是比较容易,github也有简单教程:
测试Demo的方式也有:
Demo on image input:
1# *Note: change .data , .cfg , .weights and input image file in image_yolov3.sh for Yolo-Fastest-x1, Yolov3 and Yolov4sh image_yolov3.sh
Demo on video input
1# *Note: Use any input video and place in the data folder or use 0 in the video_yolov3.sh for webcam# *Note: change .data , .cfg , .weights and input video file in video_yolov3.sh for Yolo-Fastest-x1, Yolov3 and Yolov4sh video_yolov3.sh
与AlexeyAB/darknet相比,此版本darknet修复了一些老架构GPU中分组卷积推理异常耗时的问题(例如1050ti:40ms->4ms加速10倍),强烈推荐使用这个 训练模型的仓库框架
Darknet CPU推理效率优化不好,不推荐使用Darknet作为CPU端推理框架,推荐使用ncnn
具体的实现过程可以参考知乎上的一篇文章。
中文介绍:
https://zhuanlan.zhihu.com/p/234506503
原文链接:
https://mp.weixin.qq.com/s/4h6hDGlA4-LgEYU0sI-MeA
引言
之前我读了ResNet的论文Deep Residual Learning for Image Recognition,也做了论文笔记(https://zhuanlan.zhihu.com/p/353228657),笔记里记录了ResNet的理论基础(核心思想、基本Block结构、Bottleneck结构、ResNet多个版本的大致结构等等),看本文之间可以先看看打打理论基础。
一个下午的时间,我用PPT纯手工做了一张图片详细说明ResNet50的具体结构,本文将结合该图片详细介绍ResNet50。
这张图和这篇文章估计全网最详细了(狗头)。
废话不多说,先放图片。(文末有无水印版图片或PPT源文件的下载链接)
上图(称为本图)可划分为左、中、右3个部分,三者内容分别如下
ResNet50整体结构
ResNet50各个Stage具体结构
Bottleneck具体结构
接下来为正文内容,本文先后介绍了本图从左到右的3个部分,并对Bottleneck进行了简要分析。
ResNet50整体结构
首先需要声明,这张图的内容是ResNet的Backbone部分(即图中没有ResNet中的全局平均池化层和全连接层)。
如本图所示,输入INPUT
经过ResNet50的5个阶段(Stage 0、Stage 1、……)得到输出OUTPUT
。
下面附上ResNet原文展示的ResNet结构,大家可以结合着看,看不懂也没关系,只看本文也可以无痛理解的。
上图描述了ResNet多个版本的具体结构,本文描述的“ResNet50”中的50指有50个层。和上图一样,本图描述的ResNet也分为5个阶段。
ResNet各个Stage具体结构
如本图所示,ResNet分为5个stage(阶段),其中Stage 0的结构比较简单,可以视其为对INPUT
的预处理,后4个Stage都由Bottleneck组成,结构较为相似。Stage 1包含3个Bottleneck,剩下的3个stage分别包括4、6、3个Bottleneck。
现在对Stage 0和Stage 1进行详细描述,同理就可以理解后3个Stage。
Stage 0
(3,224,224)
指输入INPUT
的通道数(channel)、高(height)和宽(width),即(C,H,W)
。现假设输入的高度和宽度相等,所以用(C,W,W)
表示。
该stage中第1层包括3个先后操作
CONV
CONV
是卷积(Convolution)的缩写,7×7
指卷积核大小,64
指卷积核的数量(即该卷积层输出的通道数),/2
指卷积核的步长为2。
BN
BN
是Batch Normalization的缩写,即常说的BN层。
RELU
RELU
指ReLU激活函数。
该stage中第2层为MAXPOOL
,即最大池化层,其kernel大小为3×3
、步长为2
。
(64,56,56)
是该stage输出的通道数(channel)、高(height)和宽(width),其中64
等于该stage第1层卷积层中卷积核的数量,56
等于224/2/2
(步长为2会使输入尺寸减半)。
总体来讲,在Stage 0中,形状为(3,224,224)
的输入先后经过卷积层、BN层、ReLU激活函数、MaxPooling层得到了形状为(64,56,56)
的输出。
Stage 1
在理解了Stage 0以及熟悉图中各种符号的含义之后,可以很容易地理解Stage 1。理解了Stage 1之后,剩下的3个stage就不用我讲啦,你自己就能看懂。
Stage 1的输入的形状为(64,56,56)
,输出的形状为(64,56,56)
。
下面介绍Bottleneck的具体结构(难点),把Bottleneck搞懂后,你就懂Stage 1了。
Bottleneck具体结构
现在让我们把目光放在本图最右侧,最右侧介绍了2种Bottleneck的结构。
“BTNK”是BottleNeck的缩写(本文自创,请谨慎使用)。
2种Bottleneck分别对应了2种情况:输入与输出通道数相同(BTNK2
)、输入与输出通道数不同(BTNK1
),这一点可以结合ResNet原文去看喔。
BTNK2
我们首先来讲BTNK2
。
BTNK2
有2个可变的参数C
和W
,即输入的形状(C,W,W)
中的c
和W
。
令形状为(C,W,W)
的输入为,令BTNK2
左侧的3个卷积块(以及相关BN和RELU)为函数,两者相加()后再经过1个ReLU激活函数,就得到了BTNK2
的输出,该输出的形状仍为(C,W,W)
,即上文所说的BTNK2
对应输入与输出通道数相同的情况。
BTNK1
BTNK1
有4个可变的参数C
、W
、C1
和S
。
与BTNK2
相比,BTNK1
多了1个右侧的卷积层,令其为函数。BTNK1
对应了输入与输出通道数不同的情况,也正是这个添加的卷积层将变为,起到匹配输入与输出维度差异的作用(和通道数相同),进而可以进行求和。
简要分析
可知,ResNet后4个stage中都有BTNK1
和BTNK2
。
4个stage中BTNK2
参数规律相同
4个stage中BTNK2
的参数全都是1个模式和规律,只是输入的形状(C,W,W)
不同。
Stage 1中BTNK1
参数的规律与后3个stage不同
然而,4个stage中BTNK1
的参数的模式并非全都一样。具体来讲,后3个stage中BTNK1
的参数模式一致,Stage 1中BTNK1
的模式与后3个stage的不一样,这表现在以下2个方面:
参数S
:BTNK1
左右两个1×1卷积层是否下采样
Stage 1中的BTNK1
:步长S
为1,没有进行下采样,输入尺寸和输出尺寸相等。
后3个stage的BTNK1
:步长S
为2,进行了下采样,输入尺寸是输出尺寸的2倍。
参数C
和C1
:BTNK1
左侧第一个1×1卷积层是否减少通道数
Stage 1中的BTNK1
:输入通道数C
和左侧1×1卷积层通道数C1
相等(C=C1=64
),即左侧1×1卷积层没有减少通道数。
后3个stage的BTNK1
:输入通道数C
和左侧1×1卷积层通道数C1
不相等(C=2*C1
),左侧1×1卷积层有减少通道数。
为什么Stage 1中BTNK1
参数的规律与后3个stage不同?(个人观点)
- 关于BTNK1
左右两个1×1卷积层是否下采样
因为Stage 0中刚刚对网络输入进行了卷积和最大池化,还没有进行残差学习,此时直接下采样会损失大量信息;而后3个stage直接进行下采样时,前面的网络已经进行过残差学习了,所以可以直接进行下采样。
关于BTNK1
左侧第一个1×1卷积层是否减少通道数
根据ResNet原文可知,Bottleneck左侧两个1×1卷积层的主要作用分别是减少通道数和恢复通道数,这样就可以使它们中间的3×3卷积层的输入和输出的通道数都较小,因此效率更高。
Stage 1中BTNK1
的输入通道数C
为64,它本来就比较小,因此没有必要通过左侧第一个1×1卷积层减少通道数。
邀请你参加 2021 RT-Thread 开发者大会的七大理由
1、刷新RT-Thread最新技术动态和产业服务能力
2、聆听行业大咖分享,洞察产业趋势
4、丰富的技术和产品展示,前沿技术发展和应用
5、绝佳的实践机会:从MCU、AIOT、MPU、RISC-V、安全总有一个应用场景满足你
6、现场揭晓开发者专属纪念胸牌升级和新玩法
7、互动区体验掌握技术带来的魅力
立即长按识别下方二维码报名
你可以添加微信17775982065为好友,注明:公司+姓名,拉进RT-Thread官方微信交流群!
阅读原文报名开发者大会