1. 深度学习入门:从全连接神经网络到CNN的跃迁
第一次接触深度学习时,我被那些复杂的数学公式和网络结构搞得晕头转向。直到真正动手实现了一个全连接网络,才突然明白:原来深度学习就像搭积木,关键在于理解每块积木的作用和连接方式。全连接神经网络(Fully Connected Neural Network)和卷积神经网络(CNN)是深度学习中最基础也最重要的两种架构,它们分别对应着不同的数据处理方式和应用场景。
全连接网络是深度学习世界的"Hello World",它的每个神经元都与下一层的所有神经元相连,这种结构简单粗暴但计算量大。而CNN则像是一个精明的观察者,通过局部感受野和权值共享机制,特别擅长处理图像这类具有空间关联性的数据。在计算机视觉领域,CNN的表现几乎碾压了传统算法,从人脸识别到医学影像分析,处处都有它的身影。
提示:建议先掌握全连接网络的基础原理再学习CNN,因为CNN中的全连接层、激活函数等概念都继承自前者。就像学数学要先会加减乘除再学微积分一样,打好基础很重要。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 全连接神经网络:深度学习的基石
2.1 网络结构与前向传播
全连接神经网络的结构可以用"层状三明治"来形容。以经典的MNIST手写数字识别为例,一个基础的三层网络包含:
- 输入层(784个神经元,对应28×28像素的图像展平)
- 隐藏层(通常128-512个神经元)
- 输出层(10个神经元,对应0-9的数字分类)
前向传播的数学本质就是一连串的矩阵乘法和非线性变换。具体计算公式为:
code复制h = σ(W·x + b)
其中W是权重矩阵,x是输入向量,b是偏置项,σ是激活函数(如ReLU)。这个公式在每一层重复执行,直到得到最终输出。
我在第一次实现时犯了个典型错误:没有对输入数据进行归一化(将像素值从0-255缩放到0-1),导致训练时梯度爆炸。后来发现,数据预处理在深度学习中至关重要,常见做法包括:
- 归一化:将特征缩放到相近范围
- 标准化:(x - μ)/σ 使数据符合标准正态分布
- 处理缺失值:填充或删除
2.2 激活函数:网络的非线性引擎
没有激活函数的神经网络就只是一堆线性变换的叠加,无法拟合复杂函数。常用的激活函数有:
| 函数类型 | 公式 | 特点 | 适用场景 |
|----
