楊海亮 香港大學(xué)
當(dāng)前,人工智能(Artificial Intelligence,AI)和大數(shù)據(jù)(Big Data)覆蓋了我們?nèi)粘I畹姆椒矫婷?,在保險(xiǎn)領(lǐng)域的應(yīng)用也更加頻繁。本文將以三篇文章作為例子,簡(jiǎn)要地介紹人工智能應(yīng)用于保險(xiǎn)和精算領(lǐng)域的基本觀點(diǎn)和主要內(nèi)容。首先,來(lái)談?wù)勅斯ぶ悄艿幕靖拍睿⒃噲D將人工智能應(yīng)用到解決我們感興趣的問(wèn)題之中。接下來(lái)文章要介紹的三個(gè)例子主要是關(guān)于人工智能和機(jī)器學(xué)習(xí)(Machine Learning,ML)如何應(yīng)用于保險(xiǎn)和精算領(lǐng)域中。第一個(gè)例子和第二個(gè)例子側(cè)重于方法的改進(jìn),第三個(gè)例子側(cè)重于解決保險(xiǎn)實(shí)際問(wèn)題。
引用Patrick H.Winston對(duì)AI的定義:由約束支持的算法,通過(guò)支持針對(duì)將思維、感知和行動(dòng)聯(lián)系在一起的循環(huán)模型的表示形式來(lái)公開(kāi)(Algorithms Enabled by Constraints Exposed by Representations That Support Models Targeted at Thinking Perception Action)。所以,AI真正做的事情是借助計(jì)算機(jī)程序的思維來(lái)解決問(wèn)題。也有人用一些通俗的解釋去定義AI。例如,有一種簡(jiǎn)單的說(shuō)法認(rèn)為,AI是一種自己能夠自己讀寫(xiě)的軟件。我們知道,在傳統(tǒng)計(jì)算機(jī)科學(xué)中,人們必須寫(xiě)一個(gè)程序,而AI可以理解為是計(jì)算機(jī)自己編寫(xiě)程序。
其實(shí),很多年前AI的概念就被提出了。但是因?yàn)楦鞣N各樣的原因,例如計(jì)算機(jī)處理能力較弱,以及數(shù)據(jù)的可用性等,AI一直沒(méi)有發(fā)展起來(lái)。現(xiàn)如今,因?yàn)橛?jì)算機(jī)性能的提高和大數(shù)據(jù)時(shí)代的推進(jìn),AI發(fā)展得很快。AI領(lǐng)域的專家,美國(guó)麻省理工大學(xué)教授David Cox將AI的發(fā)展分為三個(gè)階段:一是狹隘人工智能(Narrow AI),這是筆者研究所涉及的主要內(nèi)容,也是后文中要重點(diǎn)提到的;二是廣義人工智能(Broad AI),現(xiàn)如今AI正往這個(gè)階段發(fā)展;三是通用人工智能(General AI),這是革命性的,是未來(lái)的發(fā)展方向。David Cox教授不是統(tǒng)計(jì)學(xué)家,而是一名計(jì)算機(jī)科學(xué)家。現(xiàn)如今,AI很強(qiáng)大。如果強(qiáng)大的事物為我們所用,那將對(duì)我們有很大的幫助;但如果它們與我們對(duì)抗,那局面將會(huì)變得很糟糕。正如Forbes Tech(2015)提到的“深度學(xué)習(xí)和機(jī)器智能將吃掉整個(gè)世界”,這就涉及了通用人工智能。
本文重點(diǎn)要討論的內(nèi)容就是深度學(xué)習(xí)(Deep Learning),這是機(jī)器學(xué)習(xí)(Machine Learning,ML)的一個(gè)分支。機(jī)器學(xué)習(xí)是AI的一部分,AI是更廣義的概念,機(jī)器學(xué)習(xí)是AI中一個(gè)特別的領(lǐng)域。
在百科全書(shū)中,機(jī)器學(xué)習(xí)的定義是:機(jī)器學(xué)習(xí)將清晰的東西,也就是數(shù)據(jù),轉(zhuǎn)化為數(shù)字并找到模式。這是定義機(jī)器學(xué)習(xí)的一種普遍的方式。Samuel將機(jī)器學(xué)習(xí)定義為賦予計(jì)算機(jī)學(xué)習(xí)能力而無(wú)需明確編程的研究領(lǐng)域。還有一種通俗的方法定義機(jī)器學(xué)習(xí):機(jī)器學(xué)習(xí)是軟件2.0,而傳統(tǒng)編程被稱為軟件1.0。機(jī)器學(xué)習(xí)是人工智能的主要驅(qū)動(dòng)因素。比如,下面這個(gè)通俗的例子有助于大家更好地理解機(jī)器學(xué)習(xí)。
有一個(gè)函數(shù)f(x),給定f(x),通過(guò)函數(shù)f(x)想要求出y。在傳統(tǒng)計(jì)算機(jī)技術(shù)中,需要對(duì)函數(shù)f(x)進(jìn)行編程,輸入x,經(jīng)過(guò)運(yùn)行程序后輸出y;而在機(jī)器學(xué)習(xí)中,可以將所有的x和y輸入進(jìn)去,計(jì)算機(jī)將給出函數(shù)f(x)的表達(dá)式。當(dāng)然,如果要讓計(jì)算機(jī)準(zhǔn)確給出函數(shù)f(x)的表達(dá)式,則需要輸入大量的數(shù)據(jù)。除非這個(gè)表達(dá)式是非常簡(jiǎn)單的,否則很難用少量數(shù)據(jù)去得到準(zhǔn)確的函數(shù)表達(dá)式。這就是需要大數(shù)據(jù)的原因。
有好幾種機(jī)器學(xué)習(xí)的方法,當(dāng)下最流行的是監(jiān)督式學(xué)習(xí)(Supervised Learning)。下面要介紹的三個(gè)例子中的第一個(gè)例子,就采用了監(jiān)督式學(xué)習(xí)。第二個(gè)例子試圖提出,即使在深度學(xué)習(xí)的領(lǐng)域中也有一些非平凡的數(shù)學(xué),有些問(wèn)題的本質(zhì)就是數(shù)學(xué)問(wèn)題。第三個(gè)例子所采用的方法是無(wú)監(jiān)督式學(xué)習(xí)(Unsupervised Learning)。所謂監(jiān)督式學(xué)習(xí)是指需要提供數(shù)據(jù),也就是給定輸入和輸出內(nèi)容,機(jī)器會(huì)猜出輸入和輸出之間的關(guān)系。無(wú)監(jiān)督式學(xué)習(xí)是指雖然知道x,但是不知道y,機(jī)器試圖分析數(shù)據(jù),找到一些有用的東西或想要的信息。
另一個(gè)現(xiàn)在很流行的機(jī)器學(xué)習(xí)方法叫做強(qiáng)化學(xué)習(xí)(Reinforcement Learning)。也許有些人對(duì)強(qiáng)化學(xué)習(xí)很熟悉。強(qiáng)化學(xué)習(xí)把學(xué)習(xí)看作試探評(píng)價(jià)的過(guò)程:智能體(Agent)選擇一個(gè)動(dòng)作(Action)用于環(huán)境;環(huán)境接受該動(dòng)作后狀態(tài)發(fā)生變化,同時(shí)產(chǎn)生一個(gè)強(qiáng)化信號(hào)(Reward)反饋給智能體;智能體根據(jù)強(qiáng)化信號(hào)和環(huán)境的當(dāng)前狀態(tài)再選擇下一個(gè)動(dòng)作。選擇的原則是使受到獎(jiǎng)勵(lì)的概率增大,目標(biāo)是獲得最大的獎(jiǎng)勵(lì)。這類(lèi)似在數(shù)學(xué)、金融或保險(xiǎn)中的成本函數(shù)或者利潤(rùn)函數(shù),目標(biāo)是最大化利潤(rùn)或最小化成本。實(shí)際上,這在某種程度上與求解最優(yōu)化問(wèn)題非常相似。
還有一些其他的機(jī)器學(xué)習(xí)方法,例如轉(zhuǎn)換學(xué)習(xí)(Transform Learning)以及自監(jiān)督學(xué)習(xí)(Self-Supervised Learning)。自監(jiān)督學(xué)習(xí)方法是屬于通用人工智能(General AI)方向的。
接下來(lái)回顧人工智能和機(jī)器學(xué)習(xí)應(yīng)用于精算科學(xué)的研究進(jìn)展。最近,有很多關(guān)于這個(gè)領(lǐng)域的論文投稿給了期刊的精算科學(xué)板塊。因?yàn)檫@些研究與保險(xiǎn)和精算密切相關(guān)。但本文并沒(méi)有把所有文章都做一個(gè)全面的回顧。Ronald Richman去年在Annual of Actuarial Science上發(fā)表了一篇文章,題為“AI in Actuarial Science——a Review of Recent Advances”。Ronald Richman與Wuthrich的合作非常密切,他們?cè)谶@方面做了很多工作。這篇文章很有趣,文章的第一部分就是關(guān)于AI和ML的介紹。從這篇文章可以看出,ML可以用來(lái)解決很多精算科學(xué)的問(wèn)題,例如非壽險(xiǎn)定價(jià)、IBNR(Incurred But not Reported)和死亡率預(yù)測(cè)等。
第一個(gè)例子是筆者和Zhuo Jin及Xiang Cheng合作的一篇文章,于2020年發(fā)表在ASTIN Bulletin,題目叫做“Optimal Insurance Strategies:A Hybrid Deep Learning Markov Chain Approximation Approach”。這篇文章研究的是最優(yōu)保險(xiǎn)問(wèn)題,很多中國(guó)精算科學(xué)領(lǐng)域的學(xué)者在研究該問(wèn)題。
在過(guò)去的幾十年中,廣泛的研究致力于使用分析技術(shù)為各種離散時(shí)間和連續(xù)時(shí)間模型尋找最優(yōu)保險(xiǎn)策略。對(duì)保險(xiǎn)公司來(lái)說(shuō),由于保險(xiǎn)產(chǎn)品的性質(zhì),保險(xiǎn)公司傾向于積累相對(duì)大量的現(xiàn)金或現(xiàn)金等價(jià)物,并將盈余投資于金融市場(chǎng),以支付未來(lái)的索賠,避免發(fā)生財(cái)務(wù)破產(chǎn)。甚至,有時(shí)很多政府可能不會(huì)允許保險(xiǎn)公司破產(chǎn)。為了優(yōu)化現(xiàn)金流管理,保險(xiǎn)公司的決策者將管理風(fēng)險(xiǎn)分擔(dān)、投資業(yè)績(jī)和股利支付方案。因此,如何制定再保險(xiǎn)、投資和分紅策略對(duì)保險(xiǎn)業(yè)至關(guān)重要。
因?yàn)楸kU(xiǎn)的特殊性,保險(xiǎn)公司需要籌集更多的資本。為了增加資本,一條途徑是從資本市場(chǎng)募資(比如上市融資);另一條途徑就是最大化公司利潤(rùn),可以理解為提高公司的價(jià)值。在很多文章中,人們傾向于設(shè)定簡(jiǎn)單的假設(shè),以便經(jīng)過(guò)簡(jiǎn)單的數(shù)學(xué)運(yùn)算得出結(jié)論,從而得到最大化的公司利潤(rùn)。在本質(zhì)上,這就是一個(gè)控制問(wèn)題,可以用動(dòng)態(tài)規(guī)劃(Dynamic Program)原理,將問(wèn)題簡(jiǎn)化為求解HJB方程。當(dāng)然,動(dòng)態(tài)規(guī)劃的數(shù)值解是個(gè)很大的課題。所以,還有另一種方法去求解最優(yōu)化問(wèn)題,也就是數(shù)值方法。
這篇文章彌補(bǔ)了現(xiàn)有文獻(xiàn)中的不足,運(yùn)用機(jī)器學(xué)習(xí)方法建立模型,建立一個(gè)更高效、計(jì)算速度更快、更準(zhǔn)確的方法。這是文章的基本思想。前文分析過(guò),我們要解決的問(wèn)題實(shí)際上是控制問(wèn)題,可以使用動(dòng)態(tài)規(guī)劃原理,求解HJB方程。眾所周知,在求解動(dòng)態(tài)規(guī)劃問(wèn)題時(shí),如果維度很高,則很難求出解析解。在離散化的過(guò)程中,通常要選取劃分點(diǎn)并分成很多小區(qū)間。但是,離散化會(huì)提高數(shù)據(jù)的維度。如果本身數(shù)據(jù)的維度較高,則離散化后的維度會(huì)更大。例如,本來(lái)是100維,離散化分解為x軸和權(quán)重軸,維度會(huì)變成100的平方。當(dāng)維度太大時(shí),計(jì)算機(jī)會(huì)提示無(wú)法計(jì)算,也就是無(wú)法求出解析解。
維度通常來(lái)源于狀態(tài)變量和控制變量。一般可以用資產(chǎn)作為控制變量,比如投資的股票、保險(xiǎn)、股息等。那么,解決高維度問(wèn)題時(shí)應(yīng)如何求出解析解呢?文章試圖采用深度學(xué)習(xí)的方法來(lái)求解這個(gè)問(wèn)題,使計(jì)算速度更快。這個(gè)方法叫做“混合深度學(xué)習(xí)馬爾可夫鏈逼近方法”(簡(jiǎn)稱“馬爾可夫鏈逼近法”)。在非常一般的假設(shè)下,如假設(shè)目標(biāo)函數(shù)具有凹性,建立深度神經(jīng)網(wǎng)絡(luò),就可以直接逼近最優(yōu)控制和值函數(shù)。
那么,為什么把這種方法稱為“監(jiān)督式學(xué)習(xí)”呢?因?yàn)槊看斡?jì)算時(shí)都設(shè)定了初始值。這種方法具有一些優(yōu)點(diǎn),可以提高數(shù)值計(jì)算結(jié)果的準(zhǔn)確性。在傳統(tǒng)的逼近方法中,一般采用分段常數(shù)控制來(lái)逼近最優(yōu)控制??刂撇呗缘木热Q于網(wǎng)格的密集程度。相反,在神經(jīng)網(wǎng)絡(luò)方法中,允許控制策略在連續(xù)范圍內(nèi)取值,這就克服了在具有顯著不同尺度的控制空間中有效選擇精度的困難。此外,馬爾可夫鏈逼近法為確定搜索最優(yōu)控制的合理初始有限范圍提供了一種相當(dāng)有效的方法,顯著提高了效率和精度,但不會(huì)增加太多的計(jì)算量。
假設(shè)保險(xiǎn)公司的盈余服從擴(kuò)散過(guò)程。這個(gè)模型很簡(jiǎn)單,可以算出保險(xiǎn)公司最優(yōu)再保險(xiǎn)策略和股息分配策略。
再保險(xiǎn)策略?(x)=min{1,5x}表示,如果盈余小就不買(mǎi)再保險(xiǎn),如果盈余大就買(mǎi)再保險(xiǎn)。
股息分配策略u(píng)(x)=1{x≥0.4283}表示,如果盈余等于或超過(guò)0.4283,那么超出盈余的部分全部支付股息,如果盈余小于0.4283則不支付股息。
值函數(shù)
是一個(gè)近似形式。
因?yàn)橛薪菩问?,就可以比較上述方法所得出的結(jié)果與近似值是否相近,以檢驗(yàn)結(jié)果是否正確。圖1中曲線是采用馬爾可夫鏈逼近法的計(jì)算結(jié)果。其中,橫軸為盈余,縱軸為保險(xiǎn)公司的價(jià)值,initial是初始值??梢钥吹?,經(jīng)過(guò)多次迭代計(jì)算,最終的計(jì)算結(jié)果將收斂于最優(yōu)解(Optimal)。
圖1 值函數(shù)的收斂性
圖2是再保險(xiǎn)策略的收斂情況。其中,橫軸為盈余,縱軸為再保險(xiǎn)比例??梢钥闯?,初始值initial是個(gè)常數(shù),盈余小的時(shí)候再保險(xiǎn)比例低。隨著盈余提高,購(gòu)買(mǎi)再保險(xiǎn)的比重增加。在多次迭代之后,計(jì)算結(jié)果同樣收斂。
圖2 再保險(xiǎn)策略的收斂性
圖3是股息分配策略的收斂情況。其中,橫軸為盈余,縱軸為股息分配。初始值initial也是個(gè)常數(shù)。這張圖中的計(jì)算結(jié)果可以看出,股息的分配是跳躍的,即當(dāng)保險(xiǎn)公司的盈余到達(dá)某個(gè)數(shù)值之后,會(huì)將多出來(lái)的盈余全部以股息支付出去。當(dāng)然,計(jì)算結(jié)果也是收斂的。
圖3 股息分配策略的收斂性
第二個(gè)例子是來(lái)自2021年筆者發(fā)表在Insurance:Mathematics and Economics上的文章,題目為“A Hybrid Deep Learning Method for Optimal Insurance Strategies:Algorithms and Convergence Analysis”。這篇文章跟前一篇文章要解決的問(wèn)題是一樣的,但這篇文章考慮了收斂問(wèn)題。在學(xué)術(shù)研究中,結(jié)論是需要采用嚴(yán)密的數(shù)學(xué)推理去證明的。因?yàn)?,如果只采用了個(gè)例進(jìn)行證明,是不夠嚴(yán)謹(jǐn)?shù)模赡軙?huì)被學(xué)者們批判,認(rèn)為只在這個(gè)例子中該結(jié)論是可行的,但是換在其他情形下就不適用了。所以,一般都需要從數(shù)學(xué)上去證明方法的收斂性。
這篇文章使用的方法與前一篇文章相似,在此不再贅述。與之前的研究不同的是,這篇文章在馬爾可夫鏈逼近法確定的有界區(qū)域內(nèi),采用了隨機(jī)逼近法搜索神經(jīng)網(wǎng)絡(luò)的最優(yōu)參數(shù)。隨機(jī)逼近是一類(lèi)迭代方法,通常用于尋根問(wèn)題或優(yōu)化問(wèn)題。羅賓斯—蒙羅算法就是一種解決尋根問(wèn)題的方法,是由赫伯特·羅賓斯和薩頓·蒙羅于1951年提出的,其中的函數(shù)用期望值表示。在構(gòu)造馬爾可夫鏈逼近的基礎(chǔ)上,選擇適當(dāng)?shù)牟逯甸g隔,得到分段常數(shù)插值。再利用普羅霍羅夫弱收斂定理,得到了剩余過(guò)程的收斂性,并可以證明值函數(shù)的收斂性。在統(tǒng)計(jì)文獻(xiàn)中,已經(jīng)有很多關(guān)于隨機(jī)逼近收斂性的研究,只需要將其應(yīng)用就可以了。除此之外,文章中還討論了收斂速度等相關(guān)問(wèn)題。
第三個(gè)例子是2021年筆者發(fā)表在Journal of Risk and Insurance上的文章,題目叫做“Insurance Fraud Detection with Unsupervised Deep Learning”。在保險(xiǎn)經(jīng)營(yíng)中,檢測(cè)欺詐是一個(gè)重要的問(wèn)題,卻不是一件容易的事情。在保險(xiǎn)行業(yè)甚至其他金融行業(yè),檢測(cè)欺詐行為都是一項(xiàng)重要且具有挑戰(zhàn)性的任務(wù)。保險(xiǎn)業(yè)越來(lái)越多地使用現(xiàn)代技術(shù),使用電腦來(lái)設(shè)置各種項(xiàng)目,用互聯(lián)網(wǎng)的方式開(kāi)展業(yè)務(wù)。這顯然便于業(yè)務(wù)的拓展,也更加國(guó)際化,尤其是對(duì)于大公司而言。在這樣電子化的情況下,由于動(dòng)態(tài)欺詐行為的復(fù)雜性和巨大的運(yùn)營(yíng)成本,傳統(tǒng)的審計(jì)和檢查使得檢測(cè)任務(wù)變得不切實(shí)際,需要耗費(fèi)大量人力和財(cái)力。
已有一些文章使用機(jī)器學(xué)習(xí)來(lái)幫助或處理這個(gè)問(wèn)題,并提出了一種變異重要性方法(Variable Importance Methodology),這個(gè)方法不僅可以檢測(cè)欺詐,還可以找到重要影響因素,發(fā)現(xiàn)究竟是哪些因素發(fā)揮了作用。文章中所使用的是無(wú)監(jiān)督學(xué)習(xí)方法,主要的原因是考慮到保險(xiǎn)業(yè)務(wù)的性質(zhì),數(shù)據(jù)可能沒(méi)有標(biāo)簽(Label)。這意味著,會(huì)不知道哪些保單涉及了欺詐。這里用到的無(wú)監(jiān)督學(xué)習(xí)方法被稱為自動(dòng)編碼(Autoencoder),包含兩個(gè)步驟,一是編碼(Encode),二是解碼(Decode)。編碼是指把數(shù)據(jù)轉(zhuǎn)換成計(jì)算機(jī)可以處理的數(shù)據(jù)集,然后計(jì)算機(jī)用神經(jīng)網(wǎng)絡(luò)或者深度學(xué)習(xí)的方法來(lái)處理這些數(shù)據(jù)。計(jì)算機(jī)會(huì)輸出一個(gè)值,再通過(guò)解碼轉(zhuǎn)換成能理解的形式。數(shù)學(xué)形式是g(f(x))=r(x)。其中,原始數(shù)據(jù)是x,編碼函數(shù)(Encoder Function)是f,解碼函數(shù)(Decoder Function)是g。機(jī)器學(xué)習(xí)的數(shù)據(jù)是f(x),通過(guò)解碼函數(shù)g就可以得到輸出值r(x)。圖4是編碼和解碼過(guò)程的示意圖,左半邊是編碼過(guò)程,右半邊是解碼過(guò)程。
圖4 自動(dòng)編碼的架構(gòu)
這篇文章用到了兩個(gè)激活函數(shù),ReLu函數(shù)和tanh函數(shù)。
為什么選這兩個(gè)激活函數(shù)呢?了解機(jī)器學(xué)習(xí)的學(xué)者都知道,有很多參考資料都會(huì)給出相關(guān)的建議,建議在什么情形下適合采用什么激活函數(shù)。學(xué)者們?cè)谶M(jìn)行學(xué)術(shù)研究時(shí),也應(yīng)該知道采用哪個(gè)激活函數(shù)。tanh激活函數(shù)適用于編碼及解碼層中,而ReLu激活函數(shù)適用于輸出層中。圖4中描繪的自動(dòng)編碼包括了四個(gè)隱藏層(其中包含了輸出層),x表示重構(gòu)層,表示最終輸出層(第四隱藏層)中的重構(gòu)輸入。
用于訓(xùn)練自動(dòng)編碼的損失函數(shù)是均方誤差方程,其目的是用于基于均方誤差損失的隨機(jī)梯度優(yōu)化。
這篇文章還用了變分自動(dòng)編碼(Variational Autoencoder,VAE)方法。VAE是一種概率模型,通過(guò)對(duì)編碼器進(jìn)行正則化,從訓(xùn)練數(shù)據(jù)中提取關(guān)鍵屬性,從而生成有意義的樣本。通??梢允褂萌齻€(gè)具有特定特征的數(shù)據(jù)集對(duì)所提出的方法進(jìn)行測(cè)試。這些數(shù)據(jù)集捕捉了真實(shí)的保險(xiǎn)數(shù)據(jù),特別是在缺乏訓(xùn)練輸出標(biāo)簽的情況下。由于可靠數(shù)據(jù)的可用性有限,該方法具有出色的性能。它可以確定欺詐的關(guān)鍵驅(qū)動(dòng)因素,并在進(jìn)行排名后納入可變重要性。該方法在欺詐檢測(cè)方面的效率、可行性和實(shí)用性證明,其在未來(lái)金融和保險(xiǎn)業(yè)中具有廣泛的應(yīng)用潛力。
如何使用自動(dòng)編碼(Autoencoder,AE)或變分自動(dòng)編碼(VAE)進(jìn)行保險(xiǎn)欺詐的分類(lèi)呢?與AE不同,VAE提供了更廣泛的欺詐分類(lèi)方法。圖5是AE中重構(gòu)誤差的分布。其中,橫軸是重構(gòu)誤差,縱軸是概率;紅色是保險(xiǎn)欺詐,綠色是未識(shí)別的非欺詐。從圖5中可以看出,高重構(gòu)概率涉及非欺詐實(shí)例,而低重構(gòu)概率涉及欺詐異常。
圖5 AE重構(gòu)誤差分布
圖6列舉了在識(shí)別保險(xiǎn)欺詐過(guò)程中的重要變量。其中,縱軸是平均重構(gòu)誤差,橫軸是各個(gè)表示欺詐驅(qū)動(dòng)因素的變量。從中可以看到,輸入變量中的地理位置、婚姻狀況和投保人的受教育程度是欺詐的三個(gè)最主要的驅(qū)動(dòng)因素。
圖6 保險(xiǎn)欺詐驅(qū)動(dòng)因素的重要性