动态卷积阅读笔记

1.DY-CNNs

  • 文章:Dynamic Convolution: Attention over Convolution Kernels(CVPR2020)
  • 链接:https://arxiv.org/abs/1912.03458v2
  • 核心思想:
    提高网络性能的同时平衡计算负担。采用注意力机制聚合不同的卷积核,从而在不增加网络deep与wide的基础上提高性能。
  • 动态卷积原理:
    卷积与本文中的动态卷积公式分别如下:
    在这里插入图片描述
    在这里插入图片描述
    因而本文的重点在于不同核的产生训练,与注意力机制权重的形成
  • attention模块原理
    attention权重产生自输入图像,因而计算整体可视为非线性运算,表示能力更强。见下图:
    在这里插入图片描述
  • 其余训练中的优化设置:
    1.令注意力权重和为1,从而减小训练空间
    在这里插入图片描述
    2.优化softmax函数,使其在早期能够更好的优化所有的核
    在这里插入图片描述
    • SENet 网络:
      在这里插入图片描述
      在这里插入图片描述

2.CondConv

  • 文章:CondConv: Conditionally Parameterized Convolutions for Efficient Inference(NeurIPS 2019)
  • 链接:https://link.zhihu.com/?target=https%3A//arxiv.org/abs/1904.04971
  • 原理:
    公式如下:
    在这里插入图片描述
    本文将每个卷积核视为一个专家,此种算法结合了多个专家的综合意见而没有增加很多计算负担,个人认为是对这种方法一种非常适合写论文的解读。
    在这里插入图片描述
    同样是权重赋值类算法,其权重产生方法为全局池化,全连接,sigmoid三步:
    在这里插入图片描述

参考

【1】https://blog.youkuaiyun.com/weipf8/article/details/105756526/
【2】https://zhuanlan.zhihu.com/p/141868898

### 卷积运算动态图可视化 卷积运算是深度学习领域中的核心操作之一,特别是在卷积神经网络(Convolutional Neural Networks, CNNs)中被广泛应用于图像处理任务。为了更好地理解卷积过程,许多工具和库提供了动态图示例以及可视化的支持。 #### TensorFlow 中的卷积可视化 TensorFlow 提供了丰富的功能来帮助开发者理解和调试卷积层的行为。通过 `tf.nn.conv2d()` 函数可以实现自定义卷积操作,并结合 Matplotlib 或其他绘图工具展示卷积核的作用效果[^3]。以下是基于 TensorFlow 的简单代码示例: ```python import numpy as np import matplotlib.pyplot as plt from PIL import Image import tensorflow as tf # 加载图片数据 data = Image.open("roses_483444865_65962cea07_m.jpg").convert('L') # 转灰度图 plt.imshow(data, cmap='gray') plt.title("Original Image") plt.show() # 将图片转换为 NumPy 数组并调整形状 image_np = np.array(data).reshape(1, *data.size[::-1], 1) # 定义随机初始化的卷积核 weights = tf.Variable(tf.random.normal([3, 3, 1, 1])) # 执行卷积操作 convolved_image = tf.nn.conv2d(image_np, weights, strides=[1, 1, 1, 1], padding="SAME") # 显示卷积后的结果 result = convolved_image.numpy().squeeze() plt.imshow(result, cmap='gray') plt.title("Convolved Image") plt.show() ``` 上述代码展示了如何加载一张图片并通过随机生成的权重矩阵对其进行卷积操作。值得注意的是,由于权重是随机生成的,因此每次运行的结果可能不同[^2]。 #### 动态图示例资源推荐 除了静态代码外,还有一些在线平台提供交互式的卷积演示: - **ConvNetJS**: 这是一个 JavaScript 库,允许用户构建简单的 CNN 并观察其内部工作流程。 - **Distill.pub**: Distill 是一个专注于机器学习教育的网站,它经常发布带有高质量动画的文章解释复杂概念。 - **Google Colab 笔记本**: 许多研究者分享了自己的 Google Colab 笔记本文件,在这些笔记本里通常包含了详细的说明和动态图表。 #### 关于池化操作 池化是一种降采样技术,旨在减少空间维度的同时保留重要信息。最大池化是最常用的类型之一,它可以捕捉最显著的特征而忽略其余部分[^1]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值