基于神经网络技术的计算机应用软件开发技术探讨
- 来源:互联网周刊 smarty:if $article.tag?>
- 关键字:神经网络技术,计算机应用,软件开发 smarty:/if?>
- 发布时间:2024-12-23 20:14
文/赵霏 谷歌信息技术(中国)有限公司
摘要:为深入探讨基于神经网络技术的计算机应用软件开发技术,提升软件系统开发过程的智能化、自动化水平,本文简要分析了神经网络技术,从组件开发、程序设计、系统安装三个方面提出基于神经网络技术的计算机应用软件开发方法,并借助具体案例进行深入分析,以探索神经网络技术在计算机应用软件开发中的应用。
关键词:神经网络技术;计算机应用;软件开发
引言
2024年国务院《政府工作报告》中明确提出“人工智能+”战略行动,推动人工智能应用于各行各业,为社会提供更多支持[1]。在计算机应用软件开发中,人工智能技术得到广泛应用,神经网络技术作为其重要分支之一,具有强大的学习能力,可有效提升计算机软件模型的性能、编程准确性,逐渐成为软件工程领域智能化转型的重要驱动力,并且为软件开发注入新的动能。在神经网络技术的加持下,软件开发工具以其强大的代码理解和生成能力,有效提升了软件开发的效率。现阶段,各大企业意识到神经网络技术的重要价值和作用,并将其应用至计算机应用软件开发中。基于此,本文主要对神经网络技术下的计算机应用软件开发技术进行深入探讨,以期为相关研究人员提供参考。
1. 神经网络技术
神经网络技术是人工智能领域的重要组成部分,主要基于神经生理学、心理物理学研究成果,对生物神经网络的理论抽象,通过模拟人脑,以期实现类人工智能的机器学习技术[2]。通过运用该技术来建立BP(back propagation)神经网络模型,对计算机应用软件开发中存在的各种风险、问题等进行评估、预测,方便研发人员进行调整和优化,对于提高软件开发质量发挥着重要的作用。神经网络技术在计算机应用软件开发中的运用要素众多,如做好数据预处理工作,根据预处理结果对计算机应用软件的缺陷进行分类,计算缺陷数量,并创建预测模型,为规避计算机应用软件开发缺陷、提高开发质量奠定基础。
其中,数据的预处理是根据神经网络的逆向传递原则,由模型学习数据开始,经由网络的权重系数选取与多层模式建构,再以此为基础,使用所建的多个辨识模式来进行辨识,进而选取正确率较高的模型。以预处理结果为依据,对计算机应用软件开发中存在的各种缺陷进行总结,并做好分类工作。缺陷类型主要包括两种,一种为需求缺陷,另一种为错误内容。开发人员需要根据实际缺陷类型,采取针对性的措施进行处理。在缺陷分类时,可以发现各类型的特征值差异,对于少量参数的类别,由于目前的计算机软件很难对其正确归类,因此,容易出现缺陷预测错误的情况[3]。神经网络技术的应用则是通过对系统内在平衡的控制,优化系统中的数据获取方式和学习方式,使原来不均衡的学习参数得到均衡调节。
对于缺陷数量特征的计算,该技术能够根据软件缺陷密度公式确定1000行程序中存在的错误数目。公式为
(1)
式中,Mq表示计算机软件中所有已知或潜在缺陷数量;Md表示计算机软件的总代码行数,是衡量软件规模的重要指标,反映软件开发的投入量及复杂程度。
在软件缺陷预测中,深度学习的应用主要是通过构建预测模型来实现。如图1所示,为基于软件度量的缺陷预测模型。该模型从开放源码的公用库或开放源码团体中提取软件的功能模块,引入与缺陷密切关联的度量元素,抽取相应的测量特性,实现故障样本的构建,然后利用该方法对已有的软件缺陷进行建模,并预测软件缺陷。
2. 基于神经网络技术的计算机应用软件开发技术应用
2.1 组件开发
在组件开发中,利用神经网络技术提取数据特征,依据数据具体特征进行分类,并对用户的行为偏好进行分析,预测用户需求。在特征提取中,神经网络技术的应用是通过卷积神经网络(CNN)和循环神经网络(RNN)等深度学习模型来实现。CNN用于图像数据处理,经过卷积操作,自动提取图像中的边缘、角点、纹理等特征;RNN主要擅长序列数据的处理,捕捉时间序列中的依赖关系,将序列中的高级特征提取出来。在用户行为分析中,神经网络技术通过GNN和RNN相结合,GNN对用户局部行为隐藏状态进行捕捉并预处理,RNN则是对用户行为的时间序列特征进行捕捉,全方位对用户行为模式进行分析,并实现用户需求、偏好的有效预测[4]。神经网络技术在组件开发中的应用极大地提高特征提取的自动化程度,减少人工干预,并且可以处理大规模、高维度的原始数据,从海量数据中提取出有用的特征,从而提高模型的性能和准确率。
2.2 程序设计
在计算机应用软件开发中,程序设计非常关键,直接关系到计算机应用程序的发展。为了使计算机应用程序满足使用者的要求,可利用自动化、人工智能等新技术,研制一套计算机应用程序,由自动化、智能化模块直接代替人工完成对软件的开发与优化。对于各类计算机应用程序,在进行设计时,必须先熟悉其工作过程,从效率和安全性等方面来降低非必要的过程,加强各个过程间的衔接[5]。在神经网络技术的应用下,与开发人员进行协作,生成相应的程序框架和局部琐碎细节,从而减少人工编程的工作量。完成程序设计后,利用神经网络自动测试代码的性能,通过训练神经网络,识别代码中存在的内存泄漏、性能瓶颈等各种问题,提高代码稳定性,还可以利用神经网络技术补全代码,提高编程准确性。
2.3 安装系统
计算机应用软件开发完成后,进入系统安装阶段。在系统中,先配置好神经网络所需的环境,如安装Python、Anaconda、TensorFlow或PyTorch等深度学习框架,帮助开发者快速搭建神经网络模型,并进行训练和测试。在系统安装过程中,容易遇到一些兼容性问题和格式变换的需求,利用神经网络技术,学习历史数据中的模式,预测并解决这些问题。在自动化决策中,对于系统无法自动解决的问题,借助神经网络技术,依据目前系统状态和历史数据,推荐最优的解决方案,该技术的应用可有效提升系统的安装效率。针对系统安装中出现的故障问题,神经网络通过学习大量的故障案例,在最短时间内诊断问题的根源,并推荐针对性的修复方案。通过这种智能化的故障诊断,可以极大地缩短故障解决时间,进而提高系统的稳定性和可靠性[6]。
2.4 基于神经网络技术的计算机应用软件开发案例
以NeMo Curator数据管理软件为例,其作为人工智能数据管理的可扩展工具包,包含多个可扩展数据挖掘模块,为大型语言模型数据的整理而设计。该软件的开发旨在通过神经网络技术减轻数据采集工作量,提高管理质量。该软件集成神经网络技术,具有优化数据处理、预测分析及用户行为模式识别等高级功能。该软件系统的使用者角色有两种,即一般用户和管理员。如图2所示,为具体的业务流程。
2.4.1 软件开发设计
在数据管理软件开发中,整体功能包括数据传输层、服务层、视图层、控制器、实体类包、工具包、数据库映射、持久层对象。数据库包含数据库表和表间关系分析,其中,数据库表又包括多项内容,如被试者表、报告表格回答表、量表回答表、评量表等[7]。这些不仅是数据存储的载体,还是神经网络模型的输入数据源。在软件开发阶段,使用Java开发工具,具体选用IntelliJ IDEA,该工具以编写代码为主,其作用是对程序进行最优处理,并通过结合神经网络框架(如TensorFlow、PyTorch等)的Java API,实现神经网络模型的集成与调用,从而提升程序的开发效率[8]。在数据存储上,选用MySQL相关数据库,并新增用于存储神经网络模型参数和训练数据的专用数据库表或外部存储解决方案(如HDFS、云存储等),其具有较高的可用性、容错特性,在数据库服务器出现故障时,能够自动恢复。
2.4.2 模型建立和分析
在该软件开发建模环节,以K均值算法为主,引入神经网络技术,尤其是自组织映射(self-organizing map,SOM)网络和深度学习中的聚类方法,并以迭代法来解决聚类[9]。模型创建的过程主要包括以下几个方面:其一,明确K值;其二,采用随机取样法,从数据集中选择k个数据点,并将其作为质心;其三,对数据集中所有数据点和质心的距离进行计算,根据计算结果划分数据点的类型;其四,如果获得的距离不在既定的阈值范围内,则需要重新选取数据点,并再次计算所有数据点和质心的间距,直至间距控制在既定阈值范围内;其五,当间距在阈值范围内时,算法终止,并将结果输出,完成聚类。
聚类分析使用K均值算法,在一个数据库中对给出的K个簇聚类算法进行解析,然后根据业务的实际需求,通过人工设置或者选取合适的方法来获取K值[10]。在此过程中,采取轮廓系数法或者误差平方和的方法,获得最佳的K值。在该软件设计中,采取误差平方和的方法,由专家判断出每一个最佳K值后,对每一个簇内的点到聚类中心点之间的误差平方和进行计算。一般而言,所求的值越小,表明聚类效果越好。SOM网络是一种无监督学习的神经网络,在聚类分析中,通过使用SOM网络,对数据进行分类,然后基于SOM网络的输出,将其作为K均值算法的初始聚类中心,加速聚类的过程,并有效提高聚类质量。
得到聚类结果之后,使用轮廓系数法,对聚类效果进行评估。先确定i点,然后在该位置上计算向量i与i所在簇内的其他点之间的距离,即e(i),之后再计算向量i到其他簇之间的点的平均距离,即f(i)。具体计算公式为
(2)
式中,S(i)表示轮廓系数;e、f表示距离。依据该公式可知,轮廓系数的范围在[-1,1],对于所有点轮廓系数,计算出具体的平均值,作为这一次的聚类结果的轮廓系数。对于最终计算出来的系数,越靠近1,表示该聚类能够达到较好效果,并且表明本次软件开发在功能、性能方面具有较好的效果,符合用户的要求。软件开发设计完成后,通过使用自动化技术,将该软件安装到计算机系统当中,在这个过程中,根据计算机系统的硬件配置、操作系统版本等信息,利用神经网络模型对软件安装参数和配置等进行自动调整,优化软件的运行性能和兼容性。
结语
在计算机应用软件开发中,神经网络技术的应用促使软件开发方式发生变化,既能够提升开发效率和质量,还能够降低开发成本和风险。通过探讨神经网络技术在计算机软件开发中的具体应用,充分发挥该技术的优势,从而在各种程序设计和整合的开发环境中提高编码的效率、质量。
参考文献:
[1]国务院.政府工作报告——2024年3月5日在第十四届全国人民代表大会第二次会议上[R/OL].(2024-03-12)[2024-10-30].https://www.gov.cn/gongbao/2024/issue_11246/202403/content_6941846.html.
[2]Wang X.Retraction Note:System simulation of computer image recognition technology application by using improved neural network algorithm[J].Soft Computing,2024,(prepublish):1-1.
[3]Gadani N N.Optimizing Software Development Processes in Cloud Computing Environments Using Agile Methodologies and DevOps Practices[J].Asian Journal of Research in Computer Science,2024(7):75-83.
[4]段涛,刘华.人工智能的计算机应用软件开发技术研究[J].电子元器件与信息技术,2023(1):102-105.
[5]冯景利.基于人工智能的计算机应用软件开发技术应用分析[J].信息记录材料,2022(9):189-191.
[6]王晓红.基于人工智能的计算机应用软件开发技术[J].中国信息界,2024(5): 37-39.
[7]张海玉.基于人工智能的计算机应用软件开发技术研究[J].软件,2022(5):82-84.
[8]毕江会.基于人工智能的计算机应用软件开发技术研析[J].电子元器件与信息技术,2021(7):195-196,198.
[9]薛梦丹.基于人工智能的计算机应用软件开发技术应用分析[J].中国高新科技,2023(13):40-42.
[10]李大伟.基于人工智能的计算机应用软件开发技术分析[J].软件,2023(9): 124-126.
作者简介:赵霏,硕士研究生,zhaofei8201@163.com,研究方向:计算机技术。
