当前位置: 首页 > 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*
http://www.dtcms.com/a/106085.html

相关文章:

  • 荣耀大数据面试题及参考答案
  • 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
  • 服务器入门操作1(深度学习)
  • 【Deepseek、ChatGPT】智能气候前沿:AI Agent结合机器学习与深度学习在全球气候变化驱动因素预测中的应用
  • 高通Android10 铃声通话音频80%音量修改
  • 【Easylive】transferVideoFile 方法详细解析
  • 边缘计算的崛起:当计算从“云端漫步“变成“街头快闪“
  • ZLG嵌入式笔记 | 文件系统异步写入引发的问题
  • 魔改chromium——基础环境搭建
  • Go语言深度解析:从Java到Go的范式革命与实践指南
  • linux发布程序常用脚本
  • Skl-Videolingo-v2.0(VideoLingo):打破语言壁垒的下一代视频本地化工具