摘要:為深入探討基于神經(jīng)網(wǎng)絡技術的計算機應用軟件開發(fā)技術,提升軟件系統(tǒng)開發(fā)過程的智能化、自動化水平,本文簡要分析了神經(jīng)網(wǎng)絡技術,從組件開發(fā)、程序設計、系統(tǒng)安裝三個方面提出基于神經(jīng)網(wǎng)絡技術的計算機應用軟件開發(fā)方法,并借助具體案例進行深入分析,以探索神經(jīng)網(wǎng)絡技術在計算機應用軟件開發(fā)中的應用。
關鍵詞:神經(jīng)網(wǎng)絡技術;計算機應用;軟件開發(fā)
引言
2024年國務院《政府工作報告》中明確提出“人工智能+”戰(zhàn)略行動,推動人工智能應用于各行各業(yè),為社會提供更多支持[1]。在計算機應用軟件開發(fā)中,人工智能技術得到廣泛應用,神經(jīng)網(wǎng)絡技術作為其重要分支之一,具有強大的學習能力,可有效提升計算機軟件模型的性能、編程準確性,逐漸成為軟件工程領域智能化轉型的重要驅動力,并且為軟件開發(fā)注入新的動能。在神經(jīng)網(wǎng)絡技術的加持下,軟件開發(fā)工具以其強大的代碼理解和生成能力,有效提升了軟件開發(fā)的效率?,F(xiàn)階段,各大企業(yè)意識到神經(jīng)網(wǎng)絡技術的重要價值和作用,并將其應用至計算機應用軟件開發(fā)中。基于此,本文主要對神經(jīng)網(wǎng)絡技術下的計算機應用軟件開發(fā)技術進行深入探討,以期為相關研究人員提供參考。
1. 神經(jīng)網(wǎng)絡技術
神經(jīng)網(wǎng)絡技術是人工智能領域的重要組成部分,主要基于神經(jīng)生理學、心理物理學研究成果,對生物神經(jīng)網(wǎng)絡的理論抽象,通過模擬人腦,以期實現(xiàn)類人工智能的機器學習技術[2]。通過運用該技術來建立BP(back propagation)神經(jīng)網(wǎng)絡模型,對計算機應用軟件開發(fā)中存在的各種風險、問題等進行評估、預測,方便研發(fā)人員進行調整和優(yōu)化,對于提高軟件開發(fā)質量發(fā)揮著重要的作用。神經(jīng)網(wǎng)絡技術在計算機應用軟件開發(fā)中的運用要素眾多,如做好數(shù)據(jù)預處理工作,根據(jù)預處理結果對計算機應用軟件的缺陷進行分類,計算缺陷數(shù)量,并創(chuàng)建預測模型,為規(guī)避計算機應用軟件開發(fā)缺陷、提高開發(fā)質量奠定基礎。
其中,數(shù)據(jù)的預處理是根據(jù)神經(jīng)網(wǎng)絡的逆向傳遞原則,由模型學習數(shù)據(jù)開始,經(jīng)由網(wǎng)絡的權重系數(shù)選取與多層模式建構,再以此為基礎,使用所建的多個辨識模式來進行辨識,進而選取正確率較高的模型。以預處理結果為依據(jù),對計算機應用軟件開發(fā)中存在的各種缺陷進行總結,并做好分類工作。缺陷類型主要包括兩種,一種為需求缺陷,另一種為錯誤內容。開發(fā)人員需要根據(jù)實際缺陷類型,采取針對性的措施進行處理。在缺陷分類時,可以發(fā)現(xiàn)各類型的特征值差異,對于少量參數(shù)的類別,由于目前的計算機軟件很難對其正確歸類,因此,容易出現(xiàn)缺陷預測錯誤的情況[3]。神經(jīng)網(wǎng)絡技術的應用則是通過對系統(tǒng)內在平衡的控制,優(yōu)化系統(tǒng)中的數(shù)據(jù)獲取方式和學習方式,使原來不均衡的學習參數(shù)得到均衡調節(jié)。
對于缺陷數(shù)量特征的計算,該技術能夠根據(jù)軟件缺陷密度公式確定1000行程序中存在的錯誤數(shù)目。公式為
(1)
式中,Mq表示計算機軟件中所有已知或潛在缺陷數(shù)量;Md表示計算機軟件的總代碼行數(shù),是衡量軟件規(guī)模的重要指標,反映軟件開發(fā)的投入量及復雜程度。
在軟件缺陷預測中,深度學習的應用主要是通過構建預測模型來實現(xiàn)。如圖1所示,為基于軟件度量的缺陷預測模型。該模型從開放源碼的公用庫或開放源碼團體中提取軟件的功能模塊,引入與缺陷密切關聯(lián)的度量元素,抽取相應的測量特性,實現(xiàn)故障樣本的構建,然后利用該方法對已有的軟件缺陷進行建模,并預測軟件缺陷。
2. 基于神經(jīng)網(wǎng)絡技術的計算機應用軟件開發(fā)技術應用
2.1 組件開發(fā)
在組件開發(fā)中,利用神經(jīng)網(wǎng)絡技術提取數(shù)據(jù)特征,依據(jù)數(shù)據(jù)具體特征進行分類,并對用戶的行為偏好進行分析,預測用戶需求。在特征提取中,神經(jīng)網(wǎng)絡技術的應用是通過卷積神經(jīng)網(wǎng)絡(CNN)和循環(huán)神經(jīng)網(wǎng)絡(RNN)等深度學習模型來實現(xiàn)。CNN用于圖像數(shù)據(jù)處理,經(jīng)過卷積操作,自動提取圖像中的邊緣、角點、紋理等特征;RNN主要擅長序列數(shù)據(jù)的處理,捕捉時間序列中的依賴關系,將序列中的高級特征提取出來。在用戶行為分析中,神經(jīng)網(wǎng)絡技術通過GNN和RNN相結合,GNN對用戶局部行為隱藏狀態(tài)進行捕捉并預處理,RNN則是對用戶行為的時間序列特征進行捕捉,全方位對用戶行為模式進行分析,并實現(xiàn)用戶需求、偏好的有效預測[4]。神經(jīng)網(wǎng)絡技術在組件開發(fā)中的應用極大地提高特征提取的自動化程度,減少人工干預,并且可以處理大規(guī)模、高維度的原始數(shù)據(jù),從海量數(shù)據(jù)中提取出有用的特征,從而提高模型的性能和準確率。
2.2 程序設計
在計算機應用軟件開發(fā)中,程序設計非常關鍵,直接關系到計算機應用程序的發(fā)展。為了使計算機應用程序滿足使用者的要求,可利用自動化、人工智能等新技術,研制一套計算機應用程序,由自動化、智能化模塊直接代替人工完成對軟件的開發(fā)與優(yōu)化。對于各類計算機應用程序,在進行設計時,必須先熟悉其工作過程,從效率和安全性等方面來降低非必要的過程,加強各個過程間的銜接[5]。在神經(jīng)網(wǎng)絡技術的應用下,與開發(fā)人員進行協(xié)作,生成相應的程序框架和局部瑣碎細節(jié),從而減少人工編程的工作量。完成程序設計后,利用神經(jīng)網(wǎng)絡自動測試代碼的性能,通過訓練神經(jīng)網(wǎng)絡,識別代碼中存在的內存泄漏、性能瓶頸等各種問題,提高代碼穩(wěn)定性,還可以利用神經(jīng)網(wǎng)絡技術補全代碼,提高編程準確性。
2.3 安裝系統(tǒng)
計算機應用軟件開發(fā)完成后,進入系統(tǒng)安裝階段。在系統(tǒng)中,先配置好神經(jīng)網(wǎng)絡所需的環(huán)境,如安裝Python、Anaconda、TensorFlow或PyTorch等深度學習框架,幫助開發(fā)者快速搭建神經(jīng)網(wǎng)絡模型,并進行訓練和測試。在系統(tǒng)安裝過程中,容易遇到一些兼容性問題和格式變換的需求,利用神經(jīng)網(wǎng)絡技術,學習歷史數(shù)據(jù)中的模式,預測并解決這些問題。在自動化決策中,對于系統(tǒng)無法自動解決的問題,借助神經(jīng)網(wǎng)絡技術,依據(jù)目前系統(tǒng)狀態(tài)和歷史數(shù)據(jù),推薦最優(yōu)的解決方案,該技術的應用可有效提升系統(tǒng)的安裝效率。針對系統(tǒng)安裝中出現(xiàn)的故障問題,神經(jīng)網(wǎng)絡通過學習大量的故障案例,在最短時間內診斷問題的根源,并推薦針對性的修復方案。通過這種智能化的故障診斷,可以極大地縮短故障解決時間,進而提高系統(tǒng)的穩(wěn)定性和可靠性[6]。
2.4 基于神經(jīng)網(wǎng)絡技術的計算機應用軟件開發(fā)案例
以NeMo Curator數(shù)據(jù)管理軟件為例,其作為人工智能數(shù)據(jù)管理的可擴展工具包,包含多個可擴展數(shù)據(jù)挖掘模塊,為大型語言模型數(shù)據(jù)的整理而設計。該軟件的開發(fā)旨在通過神經(jīng)網(wǎng)絡技術減輕數(shù)據(jù)采集工作量,提高管理質量。該軟件集成神經(jīng)網(wǎng)絡技術,具有優(yōu)化數(shù)據(jù)處理、預測分析及用戶行為模式識別等高級功能。該軟件系統(tǒng)的使用者角色有兩種,即一般用戶和管理員。如圖2所示,為具體的業(yè)務流程。
2.4.1 軟件開發(fā)設計
在數(shù)據(jù)管理軟件開發(fā)中,整體功能包括數(shù)據(jù)傳輸層、服務層、視圖層、控制器、實體類包、工具包、數(shù)據(jù)庫映射、持久層對象。數(shù)據(jù)庫包含數(shù)據(jù)庫表和表間關系分析,其中,數(shù)據(jù)庫表又包括多項內容,如被試者表、報告表格回答表、量表回答表、評量表等[7]。這些不僅是數(shù)據(jù)存儲的載體,還是神經(jīng)網(wǎng)絡模型的輸入數(shù)據(jù)源。在軟件開發(fā)階段,使用Java開發(fā)工具,具體選用IntelliJ IDEA,該工具以編寫代碼為主,其作用是對程序進行最優(yōu)處理,并通過結合神經(jīng)網(wǎng)絡框架(如TensorFlow、PyTorch等)的Java API,實現(xiàn)神經(jīng)網(wǎng)絡模型的集成與調用,從而提升程序的開發(fā)效率[8]。在數(shù)據(jù)存儲上,選用MySQL相關數(shù)據(jù)庫,并新增用于存儲神經(jīng)網(wǎng)絡模型參數(shù)和訓練數(shù)據(jù)的專用數(shù)據(jù)庫表或外部存儲解決方案(如HDFS、云存儲等),其具有較高的可用性、容錯特性,在數(shù)據(jù)庫服務器出現(xiàn)故障時,能夠自動恢復。
2.4.2 模型建立和分析
在該軟件開發(fā)建模環(huán)節(jié),以K均值算法為主,引入神經(jīng)網(wǎng)絡技術,尤其是自組織映射(self-organizing map,SOM)網(wǎng)絡和深度學習中的聚類方法,并以迭代法來解決聚類[9]。模型創(chuàng)建的過程主要包括以下幾個方面:其一,明確K值;其二,采用隨機取樣法,從數(shù)據(jù)集中選擇k個數(shù)據(jù)點,并將其作為質心;其三,對數(shù)據(jù)集中所有數(shù)據(jù)點和質心的距離進行計算,根據(jù)計算結果劃分數(shù)據(jù)點的類型;其四,如果獲得的距離不在既定的閾值范圍內,則需要重新選取數(shù)據(jù)點,并再次計算所有數(shù)據(jù)點和質心的間距,直至間距控制在既定閾值范圍內;其五,當間距在閾值范圍內時,算法終止,并將結果輸出,完成聚類。
聚類分析使用K均值算法,在一個數(shù)據(jù)庫中對給出的K個簇聚類算法進行解析,然后根據(jù)業(yè)務的實際需求,通過人工設置或者選取合適的方法來獲取K值[10]。在此過程中,采取輪廓系數(shù)法或者誤差平方和的方法,獲得最佳的K值。在該軟件設計中,采取誤差平方和的方法,由專家判斷出每一個最佳K值后,對每一個簇內的點到聚類中心點之間的誤差平方和進行計算。一般而言,所求的值越小,表明聚類效果越好。SOM網(wǎng)絡是一種無監(jiān)督學習的神經(jīng)網(wǎng)絡,在聚類分析中,通過使用SOM網(wǎng)絡,對數(shù)據(jù)進行分類,然后基于SOM網(wǎng)絡的輸出,將其作為K均值算法的初始聚類中心,加速聚類的過程,并有效提高聚類質量。
得到聚類結果之后,使用輪廓系數(shù)法,對聚類效果進行評估。先確定i點,然后在該位置上計算向量i與i所在簇內的其他點之間的距離,即e(i),之后再計算向量i到其他簇之間的點的平均距離,即f(i)。具體計算公式為
(2)
式中,S(i)表示輪廓系數(shù);e、f表示距離。依據(jù)該公式可知,輪廓系數(shù)的范圍在[-1,1],對于所有點輪廓系數(shù),計算出具體的平均值,作為這一次的聚類結果的輪廓系數(shù)。對于最終計算出來的系數(shù),越靠近1,表示該聚類能夠達到較好效果,并且表明本次軟件開發(fā)在功能、性能方面具有較好的效果,符合用戶的要求。軟件開發(fā)設計完成后,通過使用自動化技術,將該軟件安裝到計算機系統(tǒng)當中,在這個過程中,根據(jù)計算機系統(tǒng)的硬件配置、操作系統(tǒng)版本等信息,利用神經(jīng)網(wǎng)絡模型對軟件安裝參數(shù)和配置等進行自動調整,優(yōu)化軟件的運行性能和兼容性。
結語
在計算機應用軟件開發(fā)中,神經(jīng)網(wǎng)絡技術的應用促使軟件開發(fā)方式發(fā)生變化,既能夠提升開發(fā)效率和質量,還能夠降低開發(fā)成本和風險。通過探討神經(jīng)網(wǎng)絡技術在計算機軟件開發(fā)中的具體應用,充分發(fā)揮該技術的優(yōu)勢,從而在各種程序設計和整合的開發(fā)環(huán)境中提高編碼的效率、質量。
參考文獻:
[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]段濤,劉華.人工智能的計算機應用軟件開發(fā)技術研究[J].電子元器件與信息技術,2023(1):102-105.
[5]馮景利.基于人工智能的計算機應用軟件開發(fā)技術應用分析[J].信息記錄材料,2022(9):189-191.
[6]王曉紅.基于人工智能的計算機應用軟件開發(fā)技術[J].中國信息界,2024(5): 37-39.
[7]張海玉.基于人工智能的計算機應用軟件開發(fā)技術研究[J].軟件,2022(5):82-84.
[8]畢江會.基于人工智能的計算機應用軟件開發(fā)技術研析[J].電子元器件與信息技術,2021(7):195-196,198.
[9]薛夢丹.基于人工智能的計算機應用軟件開發(fā)技術應用分析[J].中國高新科技,2023(13):40-42.
[10]李大偉.基于人工智能的計算機應用軟件開發(fā)技術分析[J].軟件,2023(9): 124-126.
作者簡介:趙霏,碩士研究生,zhaofei8201@163.com,研究方向:計算機技術。