Skip to content

9olqLl7-x6XtWyNUssHvLGkRzM5cj2_KAPAYU4vaHIw

4: 卷积神经网络理论

"卷积不是数学概念吗?怎么能用来识别图片?" 🤔

🎯 开启你的视觉AI之旅!

还记得第一次看到计算机能够识别猫咪🐱的震撼吗?这背后的功臣就是卷积神经网络(CNN)!从最初简单的边缘检测,到如今能够理解复杂场景的视觉模型,CNN的发展历程就像一部精彩的科技进化史!

💡 Fun Fact: 人类的视觉皮层启发了CNN的设计思想,我们正在用代码重现大自然的智慧!

🔍 卷积网络基础问答

1. 概念解析

"知己知彼,百战不殆" —— 让我们先搞懂这些"专业术语"的真面目!

  1. 卷积的数学公式平移不变性局部性

    • 小贴士:不要被公式吓到,它们比你想象的更友善!
  2. 互相关运算卷积核1×1卷积核输入输出通道池化层汇聚层卷积层

    • 这些就像是AI世界的"乐高积木",组合起来就能创造奇迹!
  3. 特征映射感受野填充步幅多输入输出通道

    • 感受野就像是神经网络的"视野范围",越大看得越全面!

💪 强烈建议: 在解释中插入一些图片和你的独特理解,让知识"活"起来!

2. 挑战问答环节

  1. 时间序列数据(如股票、心电图)适合用卷积解决吗?为什么?

    • 思考:股票走势图和猫咪照片,它们有什么共同点?
  2. 数学建模题

假设输入为 ci×h×wc_i \times h \times w
卷积核大小为 c0×ci×kh×kwc_0 \times c_i \times k_h \times k_w
填充为 ph×pwp_h \times p_w
步幅为 sh×sws_h \times s_w

  1. 1×1卷积核的神秘作用是什么?

    • 🤔 提示:别小看这个"点",它的威力超乎想象!
  2. 除了平均汇聚层最大汇聚层,还有其他"选手"吗?

3. 代码实战

"Talk is cheap, show me the code!"

手撸Conv2d

python
class Conv2d:
    def __init__(self, ...):
        # 🎯 你的初始化逻辑
        self.weight = ...  # 权重怎么初始化?
        self.bias = ...    # 偏置也很重要哦!
        
    def forward(self, ...):
        # 🚀 前向传播的魔法在这里发生
        ...
class Conv2d:
    def __init__(self, ...):
        # 🎯 你的初始化逻辑
        self.weight = ...  # 权重怎么初始化?
        self.bias = ...    # 偏置也很重要哦!
        
    def forward(self, ...):
        # 🚀 前向传播的魔法在这里发生
        ...

池化层双子星

python
class MaxPool2d:
    # 最大值池化:只要最强的!
    
class AvgPool2d:  
    # 平均池化:大家一起来!
class MaxPool2d:
    # 最大值池化:只要最强的!
    
class AvgPool2d:  
    # 平均池化:大家一起来!

4. 拓展挑战

  1. C语言硬核实现

    c
    // 用最原始的方式实现卷积
    // 感受计算机底层的魅力!
    // 用最原始的方式实现卷积
    // 感受计算机底层的魅力!
  2. SVD与张量分解

    • 当线性代数遇上深度学习,会擦出什么火花?

现代卷积神经网络问答

4. BatchNorm与Dropout的恩怨情仇

批量归一化:我让训练更稳定! Dropout:我防止过拟合! 程序员:我全都要!

  1. ResNet成功的关键是什么?除了残差网络还有哪些部分很关键?

  2. 动手实现BatchNorm

python
class BatchNorm(nn.Module):
    def __init__(self, num_features, num_dims):
        # 归一化的艺术
        ...
class BatchNorm(nn.Module):
    def __init__(self, num_features, num_dims):
        # 归一化的艺术
        ...

5. NiN网络性能分析

深入NiN的"内心世界":

  • 显存大户是谁?

  • 计算瓶颈在哪?

  • 带宽利用率如何?

VGG-16复现挑战

python
Class VGG(nn.Module):
    # 经典架构,永不过时
Class VGG(nn.Module):
    # 经典架构,永不过时

6. CNN进化史

AlexNet的石器时代,到ResNet的现代文明:

AlexNet 🌱 → VGG 🌿 → NiN 🌳 → GoogLeNet 🌲 → ResNet 🚀
AlexNet 🌱 → VGG 🌿 → NiN 🌳 → GoogLeNet 🌲 → ResNet 🚀

每一步都是智慧的结晶!讲述你眼中的这段传奇历程

⚠️ 注意事项

AI使用提醒: 本题建议"纯手工制作",感受最原始的编程乐趣!毕竟,这样"返璞归真"的机会可不多见呢~

提交要求

提交内容

  • 代码文件: ml-5-姓名-学号.py

  • 文档文件: ml-5-姓名-学号.md

  • 压缩后一起提交

提交方式

  • 邮箱: gimmerml401@163.com

  • 主题: 5-姓名-学号

出题人:百事可乐

QQ:2465800571