摘要:針對圖書借閱量預(yù)測在捕捉復(fù)雜時(shí)序特征中的局限性,本文提出了一種基于Transformer模型的預(yù)測方法。該方法通過多頭自注意力機(jī)制捕捉序列中的復(fù)雜依賴關(guān)系,并利用多層編碼器提取非線性特征,實(shí)現(xiàn)精準(zhǔn)預(yù)測。實(shí)驗(yàn)結(jié)果顯示,與傳統(tǒng)模型相比,在最佳參數(shù)條件下,Transformer的均方根誤差(RMSE) 和平均絕對誤差(MAE) 分別降低了16.2%和23.2%。此外,Transformer模型能夠更好地適應(yīng)數(shù)據(jù)的動態(tài)變化,顯著提升了預(yù)測精度。
關(guān)鍵詞:圖書館借閱量;Transformer;非線性預(yù)測;編碼器;自注意力機(jī)制
中圖分類號:TP391" " " 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2025)19-0005-04
開放科學(xué)(資源服務(wù)) 標(biāo)識碼(OSID)
0 引言
圖書館在高校及現(xiàn)代社會中扮演著重要角色,是知識的寶庫,為人們提供免費(fèi)和平等的教育資源。圖書借閱量作為館藏文獻(xiàn)利用率的重要指標(biāo),對評估圖書館業(yè)務(wù)及提升管理和服務(wù)水平具有重大意義,并受到廣泛關(guān)注[1-2]。
在早期針對圖書借閱量預(yù)測的研究中,多數(shù)工作主要依托于統(tǒng)計(jì)學(xué)領(lǐng)域的線性回歸分析模型展開[2-3]。然而,面對圖書館借閱量這類具有非線性和波動性特征且情況較為復(fù)雜的數(shù)據(jù)時(shí),此類模型暴露出很大的局限性[2]。
隨著機(jī)器學(xué)習(xí)技術(shù)的發(fā)展,圖書借閱量預(yù)測研究開始轉(zhuǎn)向非統(tǒng)計(jì)學(xué)方法。王麗華提出了一種基于支持向量機(jī)(SVM) [4]的圖書館借閱量預(yù)測方法,該方法利用其處理非線性和高維數(shù)據(jù)的優(yōu)勢,通過遺傳算法優(yōu)化訓(xùn)練參數(shù)以增強(qiáng)泛化能力[5]。
隨著計(jì)算機(jī)計(jì)算能力的提升,深度學(xué)習(xí)開始進(jìn)入研究人員的視野。越來越多的學(xué)者開始使用深度學(xué)習(xí)技術(shù)對借閱量進(jìn)行預(yù)測。鄧敏和盧寧提出了結(jié)合因子分析(FA) 與粒子群優(yōu)化(PSO) 的BP神經(jīng)網(wǎng)絡(luò)模型,該模型通過因子分析提取借閱量相關(guān)公共因子作為輸入訓(xùn)練網(wǎng)絡(luò),并用改進(jìn)PSO算法優(yōu)化初始參數(shù)以提高預(yù)測精度[2]。高萍構(gòu)建了GMBP模型來分析圖書館借閱量數(shù)據(jù),該模型結(jié)合混沌分析和數(shù)據(jù)挖掘方法處理數(shù)據(jù),實(shí)現(xiàn)了非線性預(yù)測并取得了一定效果[6]。
長短期記憶網(wǎng)絡(luò)(LSTM) 、門控循環(huán)神經(jīng)網(wǎng)絡(luò)(GRU) 和Transformer[7]是深度學(xué)習(xí)中擅長處理時(shí)序數(shù)據(jù)的模型,經(jīng)常應(yīng)用于股票價(jià)格預(yù)測、機(jī)器翻譯等問題[8]。齊曉娜等[9]利用LSTM進(jìn)行股票價(jià)格預(yù)測獲得了較優(yōu)的預(yù)測精度。但LSTM和GRU均缺乏自注意力機(jī)制,在提取序列復(fù)雜依賴關(guān)系時(shí)具有局限性。
為了進(jìn)一步提高圖書借閱量的預(yù)測精度,本文提出了基于Transformer模型的圖書館借閱量預(yù)測方法。本文對圖書館借閱量數(shù)據(jù)進(jìn)行分析建模,捕獲序列中的復(fù)雜依賴關(guān)系,最后通過多組實(shí)驗(yàn)對所提方法的預(yù)測性能進(jìn)行評估,并將結(jié)果與多種其他方法進(jìn)行對比分析。
1 基于Transformer模型的圖書館借閱量預(yù)測方法
1.1 Transformer模型
Transformer模型(見圖1) 是谷歌團(tuán)隊(duì)于2017年提出的新型深度學(xué)習(xí)架構(gòu)[7]。該模型核心采用自注意力機(jī)制,由多個(gè)編碼器—解碼器堆疊構(gòu)成,以代替?zhèn)鹘y(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN) 。編碼器通過多頭自注意力層提取輸入序列的全局依賴關(guān)系,解碼器則結(jié)合自注意力和交叉注意力機(jī)制動態(tài)捕捉輸入輸出的關(guān)聯(lián)。通過并行化計(jì)算與位置編碼,Transformer突破了RNN的訓(xùn)練瓶頸,既能高效處理長距離依賴,又加速了模型訓(xùn)練。該架構(gòu)最初在機(jī)器翻譯任務(wù)中表現(xiàn)突出,隨后拓展至圖像生成、語音識別等領(lǐng)域,并成為ChatGPT等大語言模型的核心技術(shù)[10]。
編碼器是Transformer模型中的重要組成部分,每個(gè)編碼器層包含兩個(gè)子層連接結(jié)構(gòu)(見圖2) :第一個(gè)子層是多頭注意力層,第二個(gè)子層是前饋全連接神經(jīng)網(wǎng)絡(luò)層。在每個(gè)子層后面均采用殘差連接和層歸一化。殘差連接能夠防止在訓(xùn)練過程中出現(xiàn)退化問題,而層歸一化可以加快訓(xùn)練速度,提高訓(xùn)練穩(wěn)定性。
多頭自注意力機(jī)制是Transformer模型的核心組件,通過并行多個(gè)獨(dú)立的注意力頭,使模型能夠同時(shí)聚焦于輸入序列的不同特征子空間。相較于RNN的順序處理,這種機(jī)制突破了序列長度限制,避免了梯度消失問題。
由于本文基于該模型用于借閱量時(shí)間序列預(yù)測任務(wù),屬于回歸問題,而不是像翻譯任務(wù)那樣逐時(shí)間步生成輸出序列,并且在單變量預(yù)測場景中,編碼器已能有效提取時(shí)序特征,因此本文僅使用該模型的編碼器部分構(gòu)建借閱量預(yù)測模型(見圖3) 。
模型的輸入為具有序列特征的圖書借閱量數(shù)據(jù),其形狀為(seq_len, batch_size, dimension) ,其中seq_len為序列長度,batch_size為批大小,dimension為特征維度,本文為1。經(jīng)過嵌入層后,形狀轉(zhuǎn)換為(seq_len, batch_size, 32) ,然后通過位置編碼在嵌入向量中注入位置信息,以提高模型的時(shí)序感知能力。模型中設(shè)置了2~3個(gè)編碼器,用于提取序列數(shù)據(jù)中長距離依賴的特征,此外采用3~5頭多頭注意力機(jī)制來提取潛在的關(guān)系特征。最后,經(jīng)過全連接層,將高維特征映射為目標(biāo)預(yù)測值。
1.2 損失函數(shù)和優(yōu)化器
模型的損失函數(shù)采用回歸問題中常見的均方誤差(MSE) ,MSE直接衡量預(yù)測值與真實(shí)值之間的平均平方差,數(shù)值越小表示模型性能越好,其公式如式(1) 所示:
[MSE=1ni=1n(yi-yi)2] (1)
式中:n為批次大小,yi為第i個(gè)樣本的真實(shí)借閱量,[yi]為預(yù)測借閱量。
在優(yōu)化器方面,本文選擇Adam優(yōu)化器,它能夠動態(tài)調(diào)整每個(gè)參數(shù)的學(xué)習(xí)率,實(shí)現(xiàn)自適應(yīng)學(xué)習(xí)。這不僅加快了參數(shù)更新過程中的收斂速度,還通過動量機(jī)制減少了振蕩,提高了訓(xùn)練的穩(wěn)定性。此外,Adam還包括初始化偏差修正,確保訓(xùn)練初期的準(zhǔn)確性。這些特性使得Adam在深度學(xué)習(xí)模型訓(xùn)練中表現(xiàn)出色,成為廣泛應(yīng)用的優(yōu)化策略。
2 實(shí)驗(yàn)結(jié)果分析
2.1 數(shù)據(jù)集
本文采用某高校近幾年每天的圖書借閱量數(shù)據(jù),共1 583條,數(shù)據(jù)變化趨勢呈現(xiàn)非線性(見圖4) ,其中借閱量為歸一化后的值。
2.2 數(shù)據(jù)預(yù)處理
深度學(xué)習(xí)算法在處理特征尺度差異較大的數(shù)據(jù)時(shí),容易出現(xiàn)模型收斂緩慢、梯度爆炸或梯度消失等問題。為消除特征尺度對模型訓(xùn)練和預(yù)測的影響,需要采用特征縮放技術(shù)對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化。本文采用常用的最小-最大歸一化方法,將數(shù)據(jù)縮放到[0, 1]區(qū)間,具體過程如式(2) 所示:
[x=X-XminXmax-Xmin] (2)
式中:X為原始值,Xmin為原始數(shù)據(jù)中的最小值,Xmax為原始數(shù)據(jù)中的最大值,[x]為歸一化后的值。
借閱量數(shù)據(jù)屬于典型的時(shí)間序列數(shù)據(jù),這類數(shù)據(jù)的預(yù)測通常需要根據(jù)前一段時(shí)間序列的信息來預(yù)測下一個(gè)時(shí)刻的值。因此,本文采用滑動窗口的方式處理數(shù)據(jù)(見圖5) ,窗口大小設(shè)為i,即用前i天的特征預(yù)測第i+1天的借閱量。這樣既保留了時(shí)間序列的上下文信息,又為模型提供了豐富的歷史特征,有助于捕捉時(shí)序依賴關(guān)系。
當(dāng)i為10時(shí),采用滑動窗口方法能夠構(gòu)建1 573組具有序列特征的數(shù)據(jù)集,我們將數(shù)據(jù)集的前80%(1 258組) 劃分為訓(xùn)練集,后20%(315組) 劃分為測試集。
2.3 評價(jià)指標(biāo)
本文選擇RMSE和MAE作為評價(jià)指標(biāo)。RMSE為MSE的平方根,其公式如式(3) 所示。MAE則為預(yù)測值與實(shí)際值差的絕對值的平均數(shù),其公式如式(4) 所示。
[RMSE=1ni=1n(yi-yi)2] (3)
[MAE=1ni=1nyi-yi] (4)
式中:n為測試集的數(shù)據(jù)量,yi為第i個(gè)樣本的真實(shí)借閱量,[yi]為預(yù)測借閱量。
2.4 實(shí)驗(yàn)設(shè)置
為了評估Transformer在圖書館借閱量預(yù)測中的性能優(yōu)勢,本文選擇GRU、LSTM和SVR(Support Vector Regression) 模型進(jìn)行對比實(shí)驗(yàn)。實(shí)驗(yàn)平臺硬件環(huán)境為:Intel(R) Core(TM) i7-9700K CPU,NVIDIA GeForce GTX 1070 GPU,16GB RAM。軟件環(huán)境為:Win10 OS,PyCharm 2023.2.3,Python 3.11.10,PyTorch 2.3.1。
2.5 結(jié)果與分析
為確定Transformer模型中編碼器層數(shù)和自注意力頭數(shù)的最佳組合,本研究設(shè)計(jì)了參數(shù)尋優(yōu)實(shí)驗(yàn)。具體設(shè)置為:窗口大小為10,編碼器層數(shù)分別取2、3層,自注意力頭數(shù)分別取3、4、5頭,共形成6種參數(shù)組合。所有組合均在圖書館借閱量數(shù)據(jù)集上進(jìn)行訓(xùn)練與測試,每組參數(shù)重復(fù)訓(xùn)練3次以消除隨機(jī)性,最終選取最優(yōu)結(jié)果作為評估基準(zhǔn)。從實(shí)驗(yàn)結(jié)果(見表1) 中可以看出,2層編碼器和5個(gè)自注意力頭的組合效果最好,RMSE為0.056 2,MAE為0.037 0。
通過將Transformer模型與GRU、LSTM以及SVR模型在測試集上的效果進(jìn)行對比(見表2) ,發(fā)現(xiàn)Transformer在RMSE和MAE上均顯著優(yōu)于其他模型。具體表現(xiàn)為:Transformer的RMSE為0.0565,較LSTM降低了16.2%,并且比GRU的RMSE低了約19.3%。同時(shí),在MAE方面,Transformer的表現(xiàn)同樣突出,達(dá)到了0.0370,相較于GRU降低了20.6%,相比LSTM則減少了23.2%。值得注意的是,即使與傳統(tǒng)回歸方法SVR相比,Transformer在RMSE和MAE上也分別降低了18.1%和35.4%。這主要得益于Transformer模型擁有多頭自注意力機(jī)制,并且實(shí)現(xiàn)全局并行計(jì)算,能夠捕獲全局長距離復(fù)雜依賴關(guān)系,例如周末借閱量下降、每周三下午借閱量高峰和學(xué)期初末高峰等關(guān)鍵特征。
從預(yù)測曲線來看,LSTM的曲線過于平滑(見圖6) ,整體波動幅度較小,在關(guān)鍵節(jié)點(diǎn)處誤差較大。GRU的結(jié)果同樣不理想,其預(yù)測值在多個(gè)區(qū)間偏離真實(shí)值,并存在持續(xù)高估的情況。Transformer模型則能夠較好地?cái)M合實(shí)際值,同時(shí)其波動范圍控制在真實(shí)值范圍內(nèi)。
3 結(jié)論
本文探討了基于Transformer模型的圖書館借閱量預(yù)測方法。該模型通過多頭自注意力機(jī)制,有效捕捉長期時(shí)序依賴關(guān)系,克服了傳統(tǒng)RNN模型的局限性。實(shí)驗(yàn)結(jié)果顯示,Transformer在RMSE和MAE指標(biāo)上均顯著優(yōu)于其他對比模型,表明其在圖書借閱量預(yù)測領(lǐng)域具有較大應(yīng)用潛力。未來,我們將進(jìn)一步優(yōu)化模型參數(shù),探討其他影響因素,提高預(yù)測的準(zhǔn)確性和魯棒性,以促進(jìn)圖書館服務(wù)的智能化發(fā)展。
參考文獻(xiàn):
[1] 劉洋.基于大數(shù)據(jù)的圖書館借閱量預(yù)測研究[J].現(xiàn)代電子技術(shù),2020,43(5):105-108.
[2] 鄧敏,盧寧.基于數(shù)據(jù)挖掘的圖書館借閱量預(yù)測研究[J].微型電腦應(yīng)用,2023,39(11):221-224.
[3] 陳桂菊.基于數(shù)據(jù)挖掘的高校圖書館圖書借閱流量預(yù)測[J].微型電腦應(yīng)用,2020,36(6):93-96.
[4] CORTES C, VAPNIK V. Support-vector networks[J]. Machine Learning,1995,20(3): 273-297.
[5] 王麗華.基于支持向量機(jī)的圖書館借閱量預(yù)測[J].微計(jì)算機(jī)信息,2012,28(4):105-106.
[6] 高萍.基于GMBP模型的圖書館借閱量非線性預(yù)測方法[J].電子設(shè)計(jì)工程,2022,30(23):121-124,129.
[7] VASWANI A, SHAZEER N, PARMAR N, et al. Attention is all you need[J/OL].[2025-03-29].arXiv:1706.03762, 2017.
[8] 陳棟,黃國勇.基于Transformer編碼器和手工特征的航空發(fā)動機(jī)剩余壽命預(yù)測[J/OL].機(jī)床與液壓,2025:1-9.(2025-03-12). https://kns.cnki.net/kcms/detail/44.1259.TH.20250311.1731. 004.html.
[9] 齊曉娜,張宇敬,鄭艷娟,等.深度學(xué)習(xí)算法在股票價(jià)格預(yù)測方面的研究[J].軟件,2021,42(7):70-72.
[10] 楊璇.基于改進(jìn)Transformer模型的股票價(jià)格預(yù)測[D].南昌:江西財(cái)經(jīng)大學(xué),2024.
【通聯(lián)編輯:唐一東】