深度学习入门,从概念到实操一小时讲清楚! 文章目录前言一、深度学习和机器学习的区别二、深度学习常见的应用场景三、深度学习代表算法——人工神经网络ANN四、简单神经网络的搭建五、强化神经网络的对的特征提取能力总结前言深度学习作为人工智能领域的核心驱动力正以前所未有的方式重塑着我们对世界的认知与交互。它通过构建多层次的神经网络模型能够从海量数据中自动学习并提取复杂的特征与模式在图像识别、自然语言处理、语音合成等众多领域取得了突破性进展。本文旨在系统性地介绍深度学习与神经网络的基础知识从核心概念到实践搭建帮助读者建立起对这一前沿技术的清晰理解。提示以下是本篇文章正文内容下面案例可供参考一、深度学习和机器学习的区别1、特征处理方面机器学习人工处理设计特征深度学习不需要人工处理只要经过网络输出即可适用于图像、语音、自然语言处理二、深度学习常见的应用场景图像识别、自然语言处理、语音技术以及机器学习效果不行的这些场景特征需要复杂处理的地方。三、深度学习代表算法——人工神经网络ANN1、基本结构包括输入层、隐层、输出层全连接层2、特点每个连接都有权重同一层神经元中没有连接神经元中都会含有激活函数最后一层是结构为全连接层的输出层四、简单神经网络的搭建如下所示这里我们就简单定义了一个神经网络其中Linear也就是我们的全连接层其中fc1、fc2、fc3也就是我们的隐藏层fc4为输出层forward中就是我们要实现的神经网络模型具体步骤如下首先将输入的图像x展平依次通过不同的全连接层并用relu进行非线性激活最后将x送入到我们的输出层不需要激活得到最后的结果进行返回现在我的模型只用了全连接层哦 class QYNet(nn.Module): def __init__(self): super().__init__()#调用父类的初始化方法 #定义全连接层 self.fc1nn.Linear(28*28,256) #输入28x28的图像输出256个特征 self.fc2nn.Linear(256,128) #输入256个特征输出128个特征 self.fc3nn.Linear(128,64) #输入128个特征输出64个特征 self.fc4nn.Linear(64,10) #输入64个特征输出10个特征对应10个类别 def forward(self,x): #展平数据方便进行全连接 xtorch.flatten(x,1) #将输入x展平为一维保留batch维度 xF.relu(self.fc1(x)) #通过第一个全连接层并使用ReLU激活函数 xF.relu(self.fc2(x)) #通过第二个全连接层并使用ReLU激活函数 xF.relu(self.fc3(x)) #通过第三个全连接层并使用ReLU激活函数 xself.fc4(x) #通过第四个全连接层输出最终的分类结果 return x #返回输出整个流程都非常的简单然后我们只需要利用pytorch框架进行我们的模型训练即可。五、强化神经网络的对的特征提取能力上面我们讲了最基础的神经网络下面我们可以使用卷积层、池化层等来增强我们的特征提取和计算速度具体代码如下做了什么改进加入卷积层Conv卷积层其实就是利用一个小的卷积核比如说3×3来对整张图像进行扫描然后我们就会得到n通道数特征图数卷积的个数个特征图这里我们使用不同的卷积核是因为每个卷积核关注的地方可能不一样卷积核越多当然特征提取的也就越详细加入池化层pool:池化层其实也是利用一个窗口比如2×2对图像进行扫描然后只取最大值也就是这个窗口范围内信息量最大的点这样能够加快我们的训练速度加入批归一化bn:也就是对每一层的输入进行标准化处理保证训练的稳定性神经网络的训练过程首先在第一个卷积层进行特征提取然后对特征进行池化操作归一化处理后用ReLu函数激活送入下一个卷积层特征提取完后同理也是送入到我们的隐藏层和输出层进行输出#自定义一个基础的神经网络 class QYNet(nn.Module): def __init__(self): super().__init__()#调用父类的初始化方法 #1、定义卷积层,padding1表示在输入的每一边补充1个像素的0使得输出的尺寸不变因为最边上的像素会有部分的卷积核无法覆盖到所以需要补充0 self.conv1nn.Conv2d(1,32,kernel_size3,padding1) #输入通道数为1输出通道数为32卷积核大小为3 #2、进行批归一化保证训练的稳定性 self.bn1nn.BatchNorm2d(32) #对32个通道 self.conv2nn.Conv2d(32,64,kernel_size3,padding1) self.bn2nn.BatchNorm2d(64) #对64个通道 self.conv3nn.Conv2d(64,128,kernel_size3,padding1) self.bn3nn.BatchNorm2d(128) #对128个通道 #3、定义池化层——减少计算量保留最重要的特征kernel_size2表示池化窗口大小为2x2stride2表示步长为2 self.poolnn.MaxPool2d(kernel_size2,stride2) #4、定义dropout层——防止过拟合p0.25表示有25%的概率将神经元置为0 self.dropoutnn.Dropout(p0.25) #5、定义全连接层-计算展平之后的尺寸经过 3 次池化28-14-7-3 self.fc1nn.Linear(128*3*3,128) #输入28x28的图像输出128个特征 self.fc2nn.Linear(128,10) #输入128个特征输出10个特征对应10个类别 def forward(self,x): #展平数据方便进行全连接 # 输入 x 形状: (batch, 1, 28, 28) x self.pool(F.relu(self.bn1(self.conv1(x)))) # - (batch, 32, 14, 14) x self.pool(F.relu(self.bn2(self.conv2(x)))) # - (batch, 64, 7, 7) x self.pool(F.relu(self.bn3(self.conv3(x)))) # - (batch, 128, 3, 3) xtorch.flatten(x,1) #将输入x展平为一维保留batch维度 xF.relu(self.fc1(x)) #通过第一个全连接层并使用ReLU激活函数 x self.dropout(x) # --- 这里在 fc1 和 fc2 之间插入 Dropout xself.fc2(x) #通过最后一个全连接层输出最终的分类结果 return x #返回输出总结本文系统梳理了深度学习与神经网络的核心知识点首先明确了深度学习与机器学习在特征处理上的根本区别其次列举了深度学习在图像、语音、自然语言等复杂场景下的典型应用接着深入剖析了人工神经网络ANN的基本结构与特点然后通过PyTorch代码示例演示了从简单全连接网络到集成卷积、池化、批归一化等模块的增强型网络的搭建过程。掌握这些基础是进一步探索更复杂模型如CNN、RNN、Transformer和应对实际AI挑战的关键第一步。