加雪蓮,諶 頏
(1.廣州南洋理工職業(yè)學院 經(jīng)濟管理學院,廣東 廣州 510900;2.廣州科技貿(mào)易職業(yè)學院 信息工程學院,廣東 廣州 511442)
財務欺詐會造成相關企業(yè)和國家的大量經(jīng)濟損失。為審查可能的欺詐行為,需要對日記賬分錄進行直接評估[1]。當前,通常使用資深會計師或審計師手工制定的規(guī)則,基于已知欺詐場景,通過時序評估等統(tǒng)計分析技術進行會計數(shù)據(jù)的異常檢測[2]。但這種方法無法檢測以往未見的新欺詐行為。此外,財務審計具有滯后性,由于財務造假人員會不停嘗試避開檢測規(guī)則,手工規(guī)則會迅速過時[3]。
隨著企業(yè)資源規(guī)劃(Enterprise Resource Plan-ning,ERP)系統(tǒng)的普遍使用,國內外提出了許多日記賬取證分析技術,以發(fā)現(xiàn)ERP 系統(tǒng)中的異常數(shù)據(jù)。文獻[4]提出結合過程挖掘、模糊多數(shù)性決策制定和模糊規(guī)則學習,檢測ERP 中的日記賬異常數(shù)據(jù)。文獻[5]分析了審計大數(shù)據(jù)挖掘與傳統(tǒng)數(shù)據(jù)分析之間的差異,并指出審計人員應通過新的理論方法和技術工具,系統(tǒng)性挖掘數(shù)據(jù)中隱藏的舞弊規(guī)律和特征。文獻[6]提出利用機器學習技術檢測EPR 系統(tǒng)中的增值稅欺詐問題,基于財務報表中相關憑證信息,利用監(jiān)督式分類器預測納稅主體和相應的稅率,并取得了優(yōu)于手工規(guī)則的異常數(shù)據(jù)預測性能。
近期,深度學習技術發(fā)展迅速,支持從原始數(shù)據(jù)中提取出復雜的非線性特征,促進了各種領域的突破性進展,并在各種異常檢測應用中取得了優(yōu)異性能。其中,自編碼器(autoencoder,AE)是非監(jiān)督人工智能算法,取輸入數(shù)據(jù)并利用低維表征重建輸入。訓練過程中,對數(shù)據(jù)分布的最顯著特征進行捕捉,并基于重建誤差進行分類。得益于強大的無監(jiān)督分類性能,AE 被廣泛用于圖像分類[7]、機器翻譯[8]、機械故障[9]等任務中,取得了優(yōu)秀性能。文獻[10]提出利用堆疊AE 從用戶用電數(shù)據(jù)中提取高度抽象特征,其后利用支持向量機將特征映射為分類標簽。
為實施欺詐行為,相關涉事人員會偏離正常系統(tǒng)使用或記賬模式。這種偏離行為會被記錄在少數(shù)異常分錄及相應屬性值中。針對這一點,本文提出了基于深度自編碼器(autoencoder,AE)網(wǎng)絡的會計數(shù)據(jù)異常檢測方案,主要創(chuàng)新點包括:
(1)利用神經(jīng)網(wǎng)絡學習分類賬中有意義特征,基于正常賬目與異常賬目之間的差異,定義全局異常和局部異常,分別計算出個別屬性值的概率得分和重建誤差,并由此計算出分錄異常分,實現(xiàn)會計數(shù)據(jù)異常檢測結果的可解讀性。
(2)通過神經(jīng)網(wǎng)絡訓練過程中的性能分析,確定AE 網(wǎng)絡的最優(yōu)參數(shù)和深度,在確保捕捉到異常項的前提下盡量降低誤警率。
當前,會計信息系統(tǒng)(Accounting Information Systems,AIS)和ERP 極大地促進了企業(yè)的業(yè)務流程數(shù)字化。這些系統(tǒng)采集大量細粒度電子證據(jù),特別是記錄在總分類賬簿和明細賬目中的日記賬分錄。
SAP(System Applications and Products)是最知名的企業(yè)軟件供應商之一,約76%的全球交易使用了SAP 出品的ERP 系統(tǒng)。圖1 給出了日記賬信息的AIS 錄入程序示例,其中記錄了不同層級的摘要信息:1)業(yè)務流程;2)核算;3)數(shù)據(jù)庫表單形式的日記賬分錄信息。數(shù)據(jù)庫表單包括會計憑證抬頭(BKPF,Accounting Document Header),其中包含日記賬分錄的元信息,例如憑證ID、類型、日期、時間、貨幣等。會計憑證時段(BSEG,Accounting Document Segment),其中包含分錄詳情,例如記賬碼、總賬賬戶、借貸信息、金額等。
圖1 AIS 示例
AE 神經(jīng)網(wǎng)絡是特定類型的前向多層神經(jīng)網(wǎng)絡,可通過訓練對輸入進行重建。原始輸入和重建結果之間的差異被定義為重建誤差。圖2 給出了AE 神經(jīng)網(wǎng)絡的系統(tǒng)框架。AE 網(wǎng)絡通常由兩個非線性映射組成,稱為編碼器網(wǎng)絡 fθ和解碼器網(wǎng)絡 gθ。通常采用對稱的編碼器-解碼器結構,其中包含多層神經(jīng)元、非線性函數(shù)和共享參數(shù)θ[11]。
圖2 AE 神經(jīng)網(wǎng)絡的系統(tǒng)框架
編碼器fθ(·) 將輸入向量Xi映射為隱性空間Z中的壓縮表征Zi。其后,解碼器gθ(·) 將隱性表征Zi映射回原始輸入空間的重建向量。包含多層神經(jīng)元的AE 的非線性編碼器和解碼器映射可定義為:
式中,σ 和σ’為非線性激活函數(shù),θ 表示模型參數(shù){W,b,W’,d},W∈和W′∈為權重矩陣,b∈和b′∈為偏置向量,l 為隱藏層數(shù)。
本文使用日記賬分錄集合X={x1,x2,...,xn}訓練自編碼器神經(jīng)網(wǎng)絡,每個分錄Xi包含K 個屬性的數(shù)組xi=為第i 個分錄的第j個屬性。屬性Xj中包含分錄的特定賬目明細,例如記賬類型、記賬時間、金額、總分類賬等。此外,令表示特定屬性值Xj(例如特定憑證類型)的出現(xiàn)次數(shù)。
訓練AE 網(wǎng)絡學習編碼器-解碼器的最優(yōu)模型參數(shù)集*θ,將給定分錄Xi與其重建結果=gθ(fθ(xi))之間的差異最小化,實現(xiàn)xi≈。由此,對于所有記賬分錄,AE 訓練的優(yōu)化目標為:
在網(wǎng)絡訓練中,利用交叉熵損失,將損失函數(shù)Lθ定義為
式中,Xi,i=1,...,n 為n 個會計分錄的集合,為所有會計分錄屬性j=1,...,k 上的重建結果。本文將x 和作為兩個獨立的多元伯努利分布,使用二進制編碼屬性值,通過測量兩者之間的偏差。
為檢測異常分錄,首先定義“正?!钡臅嫈?shù)據(jù)。假定企業(yè)ERP 系統(tǒng)內記錄的大部分分錄為正常商業(yè)行為。在進行違反行為準則的活動時,相關人員的操作會偏離正常行為。此類異常行為會在數(shù)量極少的分錄及相應屬性值記錄中體現(xiàn)。將表現(xiàn)出屬性值偏離的分錄稱為賬目異常。
對大規(guī)模ERP 系統(tǒng)中記錄的會計日記賬進行詳細審查時,可觀察到兩個普遍特征:1)分錄屬性表現(xiàn)出多種不同的屬性值;2)會計分錄表現(xiàn)出特定屬性值之間的強相關性,如憑證類型通常與特定總賬賬戶一同記錄。從觀察結果中可推導出全局異常和局部異常這兩種不同的異常分錄類型。
全局異常:表現(xiàn)出不常見的個別屬性值的日記賬分錄。此類異常中,屬性偏離正態(tài),如極少使用的分類賬或不尋常的記錄時間。傳統(tǒng)的人工審計程序通過紅旗(red-flag)分析捕捉此類異常,但由于沖銷記賬和年終調整等事件的欺詐風險通常很低,這種分析方法會產(chǎn)生大量誤警數(shù)。由人工審計的經(jīng)驗可得出,全局異常通常會檢測出更多的“錯誤”而非“欺詐”。
局部異常:日記賬分錄表現(xiàn)出不尋常或少見的屬性值組合,同時個別屬性值的錄入頻率較高,例如不常見的會計賬簿,總分類賬戶的不合規(guī)組合,多個會計部門使用同一個用戶賬戶等。局部異常的檢測難度很大,因為舞弊人員通過模仿常規(guī)活動模式來掩飾欺詐行為。因此,此類異常有著較高的欺詐風險,相關處理程序和行為不符合企業(yè)標準。
傳統(tǒng)審計方法中,會計師嘗試發(fā)現(xiàn)可疑程度較高的日記賬分錄,并做進一步詳細審查?;诖?,將檢查理念轉換為:1)任何不尋常的個別屬性值;2)任何不尋常的屬性值組合。
基于上文分析,提出新的異常評分機制,檢查實際會計數(shù)據(jù)集中的全局和局部異常。所提評分機制考慮到了兩個觀察特性:1)任何不常見的屬性值記錄,對應于全局異常;2)任何不常見的屬性值共現(xiàn)記錄,對應于局部異常。
異常屬性值的發(fā)生特征:為從觀察結果中挖掘出不常見屬性值,首先將每個數(shù)值Xj在所有分類賬中的出現(xiàn)概率定義為/N,N 為日記賬分錄總數(shù),例如特定記賬碼在X 中的錄入概率。此外,計算每個分錄Xi的所有j 個屬性上的個別屬性值對數(shù)概率和:
最后,計算出屬性值的歸一化概率得分AP:
異常屬性值組合發(fā)生特征:為在觀察結果中挖掘異常發(fā)生的屬性值組合并定位局部異常,如在所有日記賬分錄X 內特定的總分類賬戶與特定過賬類型的組合概率,通過訓練深度AE 神經(jīng)網(wǎng)絡推導出日記賬分錄的重建誤差。異常共現(xiàn)的發(fā)現(xiàn)難度很大,因此難以在低維隱性表征中進行有效重建,且會造成較高的重建誤差。為此,對于日記賬分錄 Xi和相應重建結果,將最優(yōu)模型參數(shù)θ*下的訓練的AE 網(wǎng)絡的重建誤差E 導出為:
最后,將歸一化重建誤差RE 計算為:
式中,Emin和Emax分別表示通過得出的重建誤差的最小值和最大值。
會計數(shù)據(jù)異常評分:根據(jù)單個分錄中的屬性值發(fā)生特征和組合發(fā)生特征,可推斷出該分錄是否異常,以及創(chuàng)建該分錄是否源自正常業(yè)務活動。為檢測出實踐統(tǒng)計任務中的全局和局部會計異常數(shù)據(jù),對于每個分錄Xi,使用最優(yōu)模型參數(shù)θ*,基于歸一化屬性概率AP 和重建誤差RE,計算Xi的得分AS:
式中,α 為平衡因子,以平衡屬性值的發(fā)生特征和組合發(fā)生特征。
基于異常評分,定義閾值參數(shù)β,對于最優(yōu)模型參數(shù)θ*下的每個分錄Xi,若異常評分AS超過閾值β,將該日記賬分錄標記為異常。
針對江蘇省某貿(mào)易公司,從SAP ERP 實例中提取出實驗數(shù)據(jù)集,其中包含單個會計年度的全部日記賬分錄。基于嚴格數(shù)據(jù)隱私性規(guī)定,在提取過程中使用不可逆單向哈希函數(shù)將所有分錄屬性匿名化。并將提取數(shù)據(jù)與SAP ERP 系統(tǒng)的試算表進行核對,確保數(shù)據(jù)集完整性。從BKPF 和BSEG 表單中提取出6 個最具區(qū)分性的屬性子集。
ERP 系統(tǒng)中例如的屬性大部分對應于類別(離散)變量,例如記賬日期、賬戶、記賬類型、貨幣等。在訓練AE 神經(jīng)網(wǎng)絡時,對類別分錄屬性進行預處理,得到每個分錄以獨熱編碼的二進制表征,由此,實驗數(shù)據(jù)集的編碼維度為385 維。
參照現(xiàn)實審計場景,向數(shù)據(jù)集注入少量全局異常和局部異常,得到高度不平衡類分布數(shù)據(jù)。注入數(shù)據(jù)中,全局異常包含與原數(shù)據(jù)集不相似的屬性值,局部異常則包含未出現(xiàn)在原始數(shù)據(jù)中的屬性值組合。為數(shù)據(jù)集添加真實標簽,將每個記賬分錄標記為全局異常、局部異?;蛘7咒?。由此得到6 個屬性類別的312,281 個分錄行項目的實驗數(shù)據(jù)集,其中包含90 個異常分錄,全局異常和局部異常分錄數(shù)分別為50 個和40 個。按8:2將實驗數(shù)據(jù)集分為訓練集和測試集。
年度審計任務旨在盡量減少需要詳細審查的日記賬分錄數(shù)量,并確保不會遺漏欺詐相關分錄。為此,確定AE 網(wǎng)絡的訓練目標:(1)AE 整體重建誤差最小化;(2)模型針對異常分錄實現(xiàn)100%召回率;(3)最大化檢測精度并降低誤警數(shù)。
為此,訓練從AE 1 到AE 9 的不同深度的AE架構。表1 給出了不同深度架構詳情,其中AE1[385;452]-3-[385;452]表示由3 個全連接層組成的架構,輸入層包含385 或553 個神經(jīng)元(由數(shù)據(jù)集編碼維度決定),隱藏層包含3 個神經(jīng)元且層數(shù)為1,輸出層包含385 或553 個神經(jīng)元。通過逐步添加全連接隱藏層來提高架構深度。為防止非線性過飽和,選擇帶泄露整流(Leaky-ReLU)激活函數(shù)[12],并設比例因子α=0.4。
表1 評估架構詳情
在每種架構的訓練中,學習率均設為10-4,小批數(shù)量為128 個分錄,使用自適應動量估計,并初始化每個網(wǎng)絡層權重。訓練中采用標準反向傳播,最大訓練代數(shù)為2000 代。圖3 給出了不同AE 架構的訓練性能,召回率為100%。從中可發(fā)現(xiàn),增加隱藏單元數(shù)量能夠加快誤差收斂速度,并減少檢測到的異常數(shù)。結果表明,網(wǎng)絡深度與異常檢測性能呈正相關。在確保100%召回率的前提下,包含17 個隱藏層的AE9 架構檢測到的異常分錄明細數(shù)量在總行項目數(shù)量中占比最低,即最大限度降低了誤警率。
圖3 不同深度架構的訓練性能
訓練收斂后,利用訓練后的AE9 模型得到每個分錄的重建誤差。圖4 給出了100 代和400 代訓練后,實驗數(shù)據(jù)集的312 281 個分錄明細的重建誤差,圖中藍色表示原始會計分錄,橙色和紅色分別表示AE9 檢測到的全局異常和局部異常。將異常檢測閾值設為β=0.01,若分錄屬性未被正確重建或極不常見,則將被標記為異常。
圖4 日記賬分錄重建誤差
為評估所提方法的分類性能,使用精度(P)、F1 得分(F1)和top-k 準確度作為性能指標,精度計算為:
F1 得分為召回率R 和精度P 的調和平均值,約接近1 代表性能越好,計算為:
式中,TP 表示實際為異常分錄且正確分入異常分錄的樣本數(shù),F(xiàn)P 表示實際為正常分錄但被錯誤分入異常分錄的樣本數(shù),F(xiàn)N 為實際屬于為異常分錄但被錯誤分入正常分錄的樣本數(shù)。
由于會計分錄中數(shù)據(jù)規(guī)模較大,引入top-k精度指標,在異常檢測中,選取概率最大的k 個標簽,若其中存在真實標簽值,則視為預測正確。本文在計算top-k 精度時,設k=90,對應于實驗數(shù)據(jù)集中人工注入的異常分錄數(shù)量。
通過訓練確定模型最優(yōu)參數(shù)后,通過試驗對所提方法進行定量評估,并與其他方法進行比較。首先,通過定量試驗,分析通過正常分錄數(shù)據(jù)的訓練,所提方法是否能夠檢測到異常項。定量評估中使用精度、F1 得分和top-k 精度作為評價指標,并給出檢測到的異常分錄行項目數(shù)量占比。
表2 給出了使用不同深度AE 的測試結果。與訓練性能一致,隱藏層數(shù)量的增加能夠有效減少檢測到的異常數(shù)量。確保召回率為100%的情況下,AE1 的異常占比為5.95,證明淺層AE 會產(chǎn)生大量誤警數(shù),這在實踐中會造成深入分析數(shù)據(jù)量過大,降低財務審計效率。AE 9 的異常占比僅為0.19%,結果證明,AE 的深度對異常數(shù)據(jù)捕捉性能有著顯著影響。
表2 不同深度AE 結構的實驗結果
將所提AE 網(wǎng)絡的性能與其他非監(jiān)督式異常檢測技術相比較,包括主成分分析法(Principal Component Analysis,PCA)[13],基于密度的帶噪數(shù)據(jù)應用空間聚類方法(DBSCAN)[14]和局部異常因子(Local-Outlier Factor,LOF)技術[15]相比較。表3 給出了在注入異常數(shù)據(jù)的召回率為100%情況下的比較結果。其中本文方法使用AE9 結構的神經(jīng)網(wǎng)絡模型。從中可發(fā)現(xiàn),PCA 方法的檢測性能最差,其后因此為DBSCAN 和LOF 方法。本文方法在檢測精度、F1 得分和異常樣本數(shù)量方面的性能均取得了明顯的性能優(yōu)勢,比其他方法的異常樣本百分比至少降低了0.55%。在財務審計場景中,這一結果代表本文方法能夠在確保不會遺漏虛假賬目的墻體下,顯著節(jié)約了需要深入分析的賬目數(shù)量,由此提高審計效率。
表3 不同方法比較結果
提出了基于深度學習的大規(guī)模會計數(shù)據(jù)中異常分錄檢測方法,并使用實際會計數(shù)據(jù)集進行了仿真評估。結果證明,深度AE 網(wǎng)絡的重建誤差在日記賬分錄異常檢測中表現(xiàn)出高度適應性,成功檢測到可疑度較高的分錄數(shù)據(jù)。企業(yè)年度日記賬的數(shù)據(jù)規(guī)模非常大,因此高度準確的自動化會計數(shù)據(jù)異常檢測方法能夠有效降低審計人員工作量,并減少財務報表欺詐風險。
未來將嘗試對深度AE 學習到的會計分錄隱性空間表征做進一步分析,并嘗試使用更先進的AE 架構,例如對抗AE 神經(jīng)網(wǎng)絡,進行會計數(shù)據(jù)異常檢測。