当前位置: 首页 > news >正文

如何理解Transformer缺乏像CNN那样的归纳偏置


具体示例:“数字位置分类任务”

我们设计一个简单的任务来对比 CNN 和 Transformer 对位置变化的处理能力:

任务设定
  • 输入:28x28 灰度图像,包含一个手写数字(0~9),但数字位置可能出现在图像任意位置(而非固定居中)。
  • 目标:模型需要同时完成两个任务:
    1. 分类:识别数字类别(0~9)。
    2. 定位:预测数字的中心坐标(x, y,取值范围 [0, 27])。
  • 训练数据:仅包含数字出现在图像左侧半区的样本(x ≤ 13)。
  • 测试数据:数字出现在图像右侧半区(x > 13),测试模型对未见过位置的泛化能力。

1. CNN 模型设计

import torch
import torch.nn as nn

class SimpleCNN(nn.Module):
    def __init__(self):
        super().__init__()
        # 特征提取(隐含平移不变性)
        self.features = nn.Sequential(
            nn.Conv2d(1, 16, 3, padding=1),  # 3x3卷积核,滑动检测局部特征
            nn.ReLU(),
            nn.MaxPool2d(2),                 # 14x14
            nn.Conv2d(16, 32, 3, padding=1),
            nn.ReLU(),
            nn.MaxPool2d(2)                  # 7x7
        )
        # 分类头
        self.classifier = nn.Sequential(
            nn.Linear(32*7*

相关文章:

  • 荣耀大数据面试题及参考答案
  • Redis在线安装
  • 【Python使用】嘿马python运维开发全体系教程第1篇:网络设定,系统基本优化【附代码文档】
  • 【C语言】文件操作
  • 导出cad实体所有信息到txt并打开(生成唯一文件名) ——c#cad二次开发
  • 大数据技术之Scala
  • 5、无线通信基站的FPGA实现架构
  • 大厂算法面试 7 天冲刺:第2天-链表算法深度解析 - 高频面试题与Java实战
  • OpenCv(五)——边缘检测
  • 基础算法篇(3)(蓝桥杯常考点)—图论
  • 【Java】Hibernate的一级缓存
  • 多模态大语言模型arxiv论文略读(一)
  • Mac下小智AI本地环境部署
  • MetaPerceptron:基于200+种优化算法的多层感知器MLP参数优化-附Python免费代码
  • 将pandas.DataFrame转换为以数据为键的字典
  • 【FPGA开发】用 Verilog编程实现一个分秒计数器(实现按键暂停、消抖功能)
  • 关于UDP端口扫描概述
  • Vue表单数据回显失败技术解析与修复指南!!!
  • RapidJSON 处理 JSON(高性能 C++ 库)(四)
  • 检查是否存在占用内存过大的SQL
  • 浪尖计划再出发:万亿之城2030课题组赴九城调研万亿产业
  • 陕西省副省长窦敬丽已任宁夏回族自治区党委常委、统战部部长
  • 北京银行一季度净赚超76亿降逾2%,不良贷款率微降
  • 专访|首夺天元头衔创生涯历史,王星昊打算一步一步慢慢来
  • 一个失败的赛季咎由自取,皇马只能把希望留到夏天
  • 饶权已任国家文物局局长