SCI论文(www.lunwensci.com)
摘 要 :本文基于卷积神经网络(CNN),在经典手写数字识别 MNIST 数据集上对比了四种常用激活函数 :Sigmoid、 Tanh、ReLU 和 ReLU6.通过详细阐述激活函数的基本原理并进行实验分析,可以发现, ReLU6 函数在现有神经网络算法中 表现出较好的性能,具有较高的准确性和稳定性。然而,激活函数的选择应根据不同任务和数据集特点进行调整,并关注新型 激活函数的研究和应用,以进一步提高神经网络的性能、泛化能力和计算效率。本文旨在为研究者和从业者提供关于激活函数 选择的参考和启示。
Research on Activation Function Based on MNIST Date Set
ZHANG Guanhang
(Central South University, Changsha Hunan 410083)
【Abstract】:This paper, based on Convolutional Neural Networks (CNN), compares four commonly used activation functions: Sigmoid, Tanh, ReLU, and ReLU6 on the classic handwritten digit recognition MNIST dataset. By elaborating on the basic principles of activation functions and conducting experimental analysis, it can be found that the ReLU6 function demonstrates better performance in existing neural network algorithms, exhibiting higher accuracy and stability. However, the selection of activation functions should be adjusted according to the characteristics of different tasks and datasets and should pay attention to the research and application of novel activation functions to further improve the performance, generalization ability, and computational efficiency of neural networks. This paper aims to provide researchers and practitioners with reference and inspiration for the selection of activation functions.
【Key words】:MNIST dataset;activation function comparison;neural networks;machine learning
0 引言
随着人工智能和深度学习领域的不断发展, 神经网络 在诸多任务中表现出了显著的性能优势。在神经网络中, 激活函数发挥着至关重要的作用,引入非线性特性,使 得神经网络能够解决复杂的实际问题 [1]。然而,不同类 型的激活函数在实际应用中对模型性能的影响各异,因 此,选择合适的激活函数对于提高模型性能至关重要。
本文基于 CNN(卷积神经网络),在经典手写数字识 别 MNIST 数据集上对比了四种常用激活函数 :Sigmoid、 Tanh、ReLU 和 ReLU6.首先,对这些激活函数的基 本原理进行了详细阐述,然后通过实验对比了它们在模 型训练过程中的性能差异。通过对四种激活函数的对比分析,可以发现 ReLU6 函数在现有神经网络算法中具 有较好的实验结果,表现出较高的准确性和稳定性。值 得注意的是,激活函数的选择并非一成不变,研究者可 以根据不同任务和数据集特点,尝试不同的激活函数组 合和调整,以获取更好的性能 [2]。此外,随着深度学习 领域的不断发展,新型激活函数的研究将成为一个重要 的方向。通过对激活函数的改进和创新,可以进一步提 高神经网络的性能、泛化能力和计算效率。
1 常用激活函数
1.1 Sigmoid 函数
Sigmoid 函数的表达式如式(1)所示,其中横坐标 为输入值,纵坐标为输出值,通过如图 1 所示的示意图可以观察到,Sigmoid 函数的输出值范围在 0 ~ 1 之间,当 x 很小时接近 0. x 很大时接近 1.
1.2 Tanh 函数
Tanh 函数的形式如式(2)所示,如图 2 所示,可 以得到 Tanh 函数的取值范围是 -1 ~ 1(实际上 Tanh 函数可以表示为 2 倍的 Sigmoid 函数减去 1)。
1.3 ReLU 函数(Rectifier Linear Unit)
ReLU 函数的表达式如式(3)所示,其函数示意图 如图 3 所示,可以看到 ReLU 函数, max 的意思是取 两个值中的最大值,当输入值小于 0 时,输出值等于 0. 输入值大于 0 时,输出值等于输入值。可以看到该函数 在输入值大于 0 时,其相应的导数始终为 1.该特性有 助于深度学习的训练与收敛。
ReLU(x) = max(0. x) (3) 1.4 ReLU6 函数
作为 ReLU 函数的变种, ReLU6 函数的最大不同
在于限制了当 x>6 时的输出值,令其固定为 6.其表达 式如式(4)所示 :
ReLU6(x) = min(max(0. x),6) (4)
2 MNIST 数据集
2.1 概述
MNIST 是机器学习领域最有名的数据集之一,从各 类 AI 训练的典型实验到许多知名期刊发表的论文都能见 到其被广泛使用。实际上,在阅读图像识别或机器学习 的各类资料时,它是非常典型的研究对象,包含可以用 于学习和推理的训练图像 6 万张,测试图像 1 万张。神 经网络的训练过程与其他 AI 的训练类似,也即将训练集 上的训练结果用于测试集上的图像进行分类,而分类的 效率和准确率通常是度量神经网络模型好坏的基本参数。
2.2 基本参数
MNIST 数据集是由 28×28 像素的黑白图像组成, 每个像素点对应的灰度值在 0 ~ 255 中取值,并以此保 存为一个数组。在训练过程中,每个数据所对应的分类 标签 (0 ~ 9 总共 10 个分类 ) 会被输入神经网络作为参 考 ; 而在测试过程中,数据的标签将不提供给神经网络。
3 四种激活函数对比
3.1 预实验
在进行多组实验前,先使用 ReLU 函数作为激活函 数进行了 100 个 EPOCH 的学习,来确定后续多组实验 的 EPOCH 范围,结果如图 4 所示,可以看到,从第 50 个 EPOCH 开始,其在测试集的准确率变化趋于稳定, 所 以接下来的实验,将会以 50 个 EPOCH 为基准进行实验。
3.2 实验结果
如图 5 所示,不难发现在初始阶段,相较于 Tanh 函数和 ReLU 函数, Sigmoid 函数的表现较差,直到第 35 个 EPOCH, Sigmoid 函数才与 Tanh 函数的准确率 相近,在后期,如图 6 所示, RuLU 函数的准确性最高达到 了 99.1%, 高于 Sigmoid 函数 的 98.6% 和 Tanh 函数的 98.8%。总体上来说, ReLU 函数作为激活函数 相较于其他两个函数对于机器学习的效果更好,它具有 计算量小,训练速度快,准确性更高的显著优势。
3.3 实验结论
综上所述, 相较于 Sigmoid 函数和 Tanh 函数,ReLU 函数和 ReLU6 函数不仅在学习速度, 学习效果上更占 据优势,并且在测试集上的准确性与稳定性也更高。相 较于 ReLU 函数, ReLU6 的稳定性更好,速度更快, 是简单学习模型效果较好的激活函数。并且,该激活函 数可以在移动端设备使用 float16/int8 低精度的时候也 能良好工作。如果对 ReLU 的激活范围不加限制,激活 值非常大,则低精度的 float16/int8 无法很好地精确描 述如此大范围的数值,带来精度损失。
3.4 对激活函数的讨论
尽管 ReLU 和 ReLU6 在 MNIST 数据集上取得了较好 的性能,但是针对不同问题和数据集,激活函数的表现可能有所不同。在实际应用中,需要根据具体问题和数据集 选择合适的激活函数。例如,在处理文本和自然语言处理 任务时,往往会使用长短时记忆网络(LSTM)或门控循 环单元(GRU),这些网络通常使用 Sigmoid 和 Tanh 作 为激活函数,以保持网络内部状态的稳定。此外,在某些生 成对抗网络(GAN) 的应用中, Leaky ReLU 和 Parametric ReLU 被证明能够改善生成器和判别器的性能。
3.5 混合激活函数的使用
虽然 ReLU6 在 MNIST 数据集上表现出较好的性 能,但在实际应用中,不同层级的神经网络中使用不 同的激活函数可能会带来更好的结果。例如,通过在 某些层使用 ReLU6 函数,同时在其他层使用 Tanh 或 Sigmoid 函数,可能在某些情况下提高网络的性能。混 合激活函数可以为网络引入额外的非线性特征,有助于 提高模型的泛化能力。这种方法的有效性取决于特定任 务和数据集的性质,因此在实践中需要对不同激活函数 组合进行尝试和比较。
3.6 未来研究方向
虽然本文主要关注了四种经典激活函数,但近年来, 研究人员提出了许多新型激活函数,如 Swish、Mish 等。 这些新型激活函数在某些任务上取得了更好的性能, 值得 进一步探索。在未来的研究中,可以关注以下几个方面 :
(1)新型激活函数的研究。继续探索和发现新型激 活函数以提高神经网络的性能和泛化能力。尤其是针对 特定任务或特定类型的数据集,可以设计更具针对性的 激活函数。(2)自适应激活函数。研究自适应激活函 数,即根据网络的学习过程和数据自动调整激活函数的 形式。这可以通过将激活函数的参数纳入网络优化的过 程中实现,从而在训练过程中自动找到最佳的激活函数 形式。(3)用于特定领域的激活函数。在某些领域,例如,图像处理、自然语言处理、时间序列预测等,可能 存在适用于特定任务的激活函数。对这些领域进行深入 研究,以设计和优化适用于特定任务的激活函数,从而 提高模型在这些领域的性能和准确率。(4)激活函数与 正则化的结合。研究将激活函数与正则化方法相结合的 策略,以提高模型的泛化能力和抗过拟合能力。例如, 通过在激活函数中引入正则化项,可以在一定程度上限 制神经网络权重的大小,从而降低模型复杂度。
本文基于 CNN 卷积神经网络,对 Sigmoid、Tanh、 ReLU 和 ReLU6 四种激活函数在 MNIST 手写数字识别数 据集上进行了对比。实验结果表明, ReLU 和 ReLU6 函数 在测试集上具有更高的准确性和稳定性。尤其是 ReLU6 函 数,具有较好的稳定性和速度,适用于简单学习模型和 低精度计算场景。
然而,在实际应用中,激活函数的选择并非一成不 变。根据不同任务和数据集特点,研究者可以尝试不同 的激活函数组合和调整,以获取更好的性能。此外,随 着深度学习领域的不断发展,新型激活函数的研究将成 为一个重要的方向。通过对激活函数的改进和创新,可 以进一步提高神经网络的性能、泛化能力和计算效率。
在未来的研究中,可以关注新型激活函数的发现、自适 应激活函数的设计、针对特定任务的激活函数优化、激 活函数与正则化方法的结合、激活函数的可解释性以及 优化计算效率的激活函数等多个方面。这些研究方向有 望进一步拓展深度学习的应用领域,提高模型性能,提 升计算效率,并为神经网络的优化和调整提供更多可能 性。在实际应用中,激活函数的选择也需要考虑硬件平 台、计算资源、功耗等多个因素。例如,在嵌入式系统 或移动设备上,可以优先考虑具有较低计算复杂度的激 活函数,以降低能耗和延长设备的续航时间。
总之,激活函数在神经网络中起着至关重要的作 用,对于提高模型性能和泛化能力具有重大意义。通过 对激活函数进行深入研究,将能够更好地理解和利用神 经网络在各种任务中的潜力,从而为人工智能领域的进 一步发展作出贡献。
参考文献
[1] 张校捷.深入浅出PyTorch[M].北京:电子工业出版社,2020.
[2] 卜文锐.基于MNIST数据集的参数最优化算法比较研究[J].电 子技术与软件工程,2021(11):187-188.
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!
文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jisuanjilunwen/67588.html