深度学习、图像算法学习记录

深度学习加速

综述文档: https://chenzomi12.github.io/02Hardware01Foundation/02ArchSlim.html
winograd: https://zhuanlan.zhihu.com/p/260109670
ncnn

1.修改模型结构,优化模型内存访问次数,加速。
VGG 和 InceptionNet : 将5x5卷积替换成两个3x3卷积,既提升了网络深度,又减少了参数量.
MobileNet :深度可分离卷积,最后用1x1卷积组合,直接大量缩减模型参数量。
DenseNet 和 GhostNet :Reuse Feature Map,复用之前层的featureMap。

2.分布式训练
torch.nn.parallel.DistributedDataParallel: 在多个GPU复制一份模型副本,单独计算batch,计算完后,平均梯度值再广播到所有GPU,更新。

3.矩阵乘法(卷积转为矩阵乘法)

  • 多线程
  • 算法改进(Fast Fourier Transform、Strassen、Winograd)

知识蒸馏

1.自蒸馏:Be Your Own Teacher: Improve thePerformance of Convolutional Neural Networks viaSelf Distillation;

经典论文:

attention: https://arxiv.org/pdf/1706.03762

mobilenet系列

pix2pix

ALIKED

论文解读

ALIKED

1.结构?

4个block,通过1x1卷积+上采样组合所有block的特征,然后通过一个SMH (Score Map Head )得到Score Map,再通过DKD模块(NMS)得到特征点位置(64x64x128),同时得到对应点的描述子。

2.卷积无法保证提取到的点是仿射不变的?aliked中怎么解决该问题的?

答:因为卷积带有特定模式,比如检测横线的卷积,在特征图做仿射变换后变成非横线,卷积就检测不到了。

ATTENTION IS ALL YOU NEED

1.QKV结构,QKV是通过输入做Linear得到,Linear的权重为可学习参数;

2.通过QK点乘,得到对应的V的重要程度权重,再用权重与V乘,得到每个v加权后的注意力值;

3.QK点乘实际是计算的余弦相似度。

工具:

神经网络可视化工具(每一层输出的可视化,用以指导每层网络的设计是否合理):https://blog.51cto.com/u_16099181/8552104

Winograd

卷积运算转为矩阵乘法后,存在很多重复值,等效稀疏矩阵,比普通矩阵实际少很多计算量。

相关推荐
凯瑟琳.奥古斯特16 小时前
力扣1001网格照明解法
算法·leetcode·职场和发展
川石课堂软件测试16 小时前
作为一名测试工程师如何学习Kubernetes(k8s)技能
学习·测试工具·容器·职场和发展·kubernetes·测试用例·harmonyos
fengenrong17 小时前
20260601
算法·深度优先·图论
晚笙coding17 小时前
从“看起来像双指针”到真正的动态规划 —— 最长公共子序列
算法·动态规划
【建模先锋】17 小时前
独家原创!基于特征—时间双图注意力与BiGRU全局注意力并行融合的高创新预测模型
人工智能·深度学习·注意力机制·预测模型·gat·时间序列预测模型
tryqaaa_17 小时前
学习日志(五)【php反序列化全加例题】【pop链,字符逃逸,session,伪协议】
android·学习·php·web·pop·session
voidmort17 小时前
8. 模型如何读写数据(Tokenizer 与 Token)
人工智能·深度学习·机器学习
li星野17 小时前
FastAPI 参数详解:路径参数、查询参数与请求体 —— 从入门到实战
服务器·学习·fastapi
05候补工程师17 小时前
【考研高数核心突破】极限的本质、高频解题套路与海涅定理深度解析(附经典例题思维导图式拆解)
经验分享·笔记·考研·算法
承渊政道17 小时前
【MySQL数据库学习】(MySQL数据类型)
数据库·学习·mysql·ubuntu·bash·数据库开发·数据库系统