🐣 最简单的卷积与激活函数指南(带示例)

1. 卷积层是干啥的?

你可以把卷积层想象成:

  • 相机镜头 📷:不同的卷积核像不同滤镜,能抓住不同的特征。

  • 多层卷积 = 多重观察

    • 第一层:看边缘和线条
    • 第二层:看形状和纹理
    • 第三层:看出"这是一只猫"

2. 常用卷积函数(记住就好)

  • Conv1D → 处理 一维数据(声音波形、股票曲线)
  • Conv2D → 处理 图片(最常用)
  • Conv3D → 处理 视频 / 医学 CT 扫描
  • SeparableConv2D → 轻量化,适合 手机端模型
  • Conv2DTranspose → 把小图变大图(生成图片、分割任务)

👉 大多数情况下,图像直接用 Conv2D


3. 激活函数是干啥的?

没有激活函数,网络就像一个"只能拉直线的画家",学不了复杂图形。

激活函数让网络会"弯",能画出复杂关系。


4. 激活函数怎么选?

隐藏层(卷积层后面)

  • ReLU 👉 默认首选,简单好用
  • LeakyReLU 👉 ReLU 的改进版,避免神经元"死掉"
  • Swish / GELU 👉 更高级,现代模型里常用,但计算慢

输出层(最后一层,和任务相关)

  • 二分类 (猫 vs 狗) 👉 sigmoid
  • 多分类 (猫 / 狗 / 兔子) 👉 softmax
  • 回归(预测房价) 👉 不加激活(线性输出)

👉 口诀:中间层 ReLU,最后一层看任务。


5. 示例(大量对比)

示例 A:猫狗二分类

ini 复制代码
layers.Conv2D(32, (3,3), activation='relu')  # 隐藏层用 ReLU
...
layers.Dense(1, activation='sigmoid')        # 最后一层 sigmoid

示例 B:三分类(猫/狗/兔子)

ini 复制代码
layers.Conv2D(64, (3,3), activation='relu')  
...
layers.Dense(3, activation='softmax')        # 最后一层 softmax

示例 C:预测房价(回归)

ini 复制代码
layers.Conv2D(32, (3,3), activation='relu')  
...
layers.Dense(1)   # 最后一层不用激活

示例 D:声音数据(语音情感识别)

ini 复制代码
layers.Conv1D(64, 3, activation='relu', input_shape=(1000, 20))
layers.GlobalMaxPooling1D()
layers.Dense(3, activation='softmax')  # 三种情感

示例 E:视频分类(动作识别:跑 / 跳 / 走)

ini 复制代码
layers.Conv3D(32, (3,3,3), activation='relu', input_shape=(16, 112, 112, 3))
layers.MaxPooling3D((2,2,2))
layers.Dense(3, activation='softmax')  # 三类动作

示例 F:轻量化模型(移动端)

ini 复制代码
layers.SeparableConv2D(32, (3,3), activation='relu')
layers.Dense(1, activation='sigmoid')

6. 总结一句话

  • 卷积层选法:

    • 图片 → Conv2D
    • 视频 → Conv3D
    • 声音/文本 → Conv1D
  • 激活函数选法:

    • 中间层 → ReLU
    • 输出层 → 按任务选(sigmoid / softmax / 无)

👉 口诀:
"中间 ReLU,最后看任务;图像 2D,视频 3D,声音 1D。" 🎯

安装 tensflow 连接 windows

相关推荐
liangshanbo12154 小时前
写好 React useEffect 的终极指南
前端·javascript·react.js
哆啦A梦15886 小时前
搜索页面布局
前端·vue.js·node.js
_院长大人_6 小时前
el-table-column show-overflow-tooltip 只能显示纯文本,无法渲染 <p> 标签
前端·javascript·vue.js
哆啦A梦15887 小时前
axios 的二次封装
前端·vue.js·node.js
阿珊和她的猫7 小时前
深入理解与手写发布订阅模式
开发语言·前端·javascript·vue.js·ecmascript·状态模式
yinuo7 小时前
一行 CSS 就能搞定!用 writing-mode 轻松实现文字竖排
前端
snow@li8 小时前
html5:拖放 / demo / 拖放事件(Drag Events)/ DataTransfer 对象方法
前端·html·拖放
浪裡遊9 小时前
Nivo图表库全面指南:配置与用法详解
前端·javascript·react.js·node.js·php
漂流瓶jz11 小时前
快速定位源码问题:SourceMap的生成/使用/文件格式与历史
前端·javascript·前端工程化
samroom11 小时前
iframe实战:跨域通信与安全隔离
前端·安全