# alex网络的搭建 **Repository Path**: he-ruixue/experiment4 ## Basic Information - **Project Name**: alex网络的搭建 - **Description**: No description available - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-05-08 - **Last Updated**: 2024-09-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AlexNet网络构建实验报告 ### 一、实验目的 本实验旨在通过构建和训练AlexNet网络,深入理解卷积神经网络(CNN)的基本结构和功能,并探究其在图像分类任务中的性能。同时,通过实验过程,加深对深度学习框架(如PyTorch)的使用和理解。 ### 二、实验环境 操作系统:Windows 10 深度学习框架:PyTorch 编程语言:Python 硬件环境:GPU(NVIDIA) ### 三、AlexNet网络结构 AlexNet网络由五个卷积层、三个全连接层和三个ReLU激活函数组成,同时还包括两个最大池化层和一个Dropout层。具体结构如下: 第一个卷积层:使用96个11x11的卷积核,步长为4,填充为2,输出特征图大小为55x55。 第一个ReLU层:对第一个卷积层的输出进行非线性变换。 第一个最大池化层:使用3x3的池化窗口,步长为2,输出特征图大小为27x27。 第二个卷积层:使用256个5x5的卷积核,步长为1,填充为2,输出特征图大小为27x27。 第二个ReLU层:对第二个卷积层的输出进行非线性变换。 第二个最大池化层:使用3x3的池化窗口,步长为2,输出特征图大小为13x13。 第三、四、五个卷积层:分别使用384、384和256个3x3的卷积核,步长为1,填充为1,输出特征图大小分别为13x13、13x13和13x13。 第三个ReLU层:对第五个卷积层的输出进行非线性变换。 Dropout层:在训练过程中,以一定的概率(如0.5)将神经元的输出置为0,以防止过拟合。 第一个全连接层:包含4096个神经元,对卷积层输出的特征图进行全局平均池化后,展平并连接到该层。 第四个ReLU层:对第一个全连接层的输出进行非线性变换。 第二个全连接层:同样包含4096个神经元。 第五个ReLU层:对第二个全连接层的输出进行非线性变换。 输出层:使用softmax函数进行分类,输出类别数为实验数据集中的类别数。 ### 四、实验过程 数据加载:选择适当的图像分类数据集,对数据进行预处理。 ![输入图片说明](%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20240508202014.png) ![输入图片说明](%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20240508202032.png) 构建网络模型:使用PyTorch框架构建AlexNet网络模型,并定义损失函数(交叉熵损失)和优化器。 ![输入图片说明](%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20240508202052.png) ![输入图片说明](%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20240508202108.png) 训练网络:使用训练数据对网络进行迭代训练,记录训练过程中的损失值和准确率等指标。 ![输入图片说明](%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20240508203726.png) ![输入图片说明](%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20240508203736.png) ![输入图片说明](%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20240508203745.png) 评估网络:使用测试数据对训练好的网络进行评估,计算测试准确率等指标。 ![输入图片说明](%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20240508203752.png) ![输入图片说明](%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20240508203804.png) ![输入图片说明](%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20240508203813.png) ### 五、实验结果与分析 训练过程分析:通过观察训练过程中的损失值和准确率等指标,分析网络的训练效果。如果损失值逐渐降低且准确率逐渐提高,则说明网络正在逐渐学习到数据的特征。 测试结果分析:根据测试准确率等指标,评估网络在图像分类任务中的性能。如果测试准确率较高,则说明网络具有较强的泛化能力。 过拟合问题探讨:如果出现过拟合问题,可以使用Dropout技术进行缓解。