











摘要:中國(guó)古代玻璃制品在風(fēng)化過(guò)程中,其化學(xué)成分會(huì)受埋藏環(huán)境的影響而發(fā)生變化.文中建立了多層感知機(jī)網(wǎng)絡(luò)模型,并運(yùn)用已知類型的玻璃成分?jǐn)?shù)據(jù)進(jìn)行模型訓(xùn)練,進(jìn)而根據(jù)未知類型的玻璃成分?jǐn)?shù)據(jù)實(shí)現(xiàn)玻璃類型的預(yù)測(cè).實(shí)驗(yàn)結(jié)果表明,驗(yàn)證準(zhǔn)確率可達(dá)到100%.對(duì)預(yù)測(cè)結(jié)果和已知類型的玻璃成分?jǐn)?shù)據(jù)進(jìn)行對(duì)比分析,發(fā)現(xiàn)預(yù)測(cè)結(jié)果的合理性較高.通過(guò)調(diào)整多層感知機(jī)神經(jīng)網(wǎng)絡(luò)模型中間隱藏層節(jié)點(diǎn)的個(gè)數(shù)可調(diào)整模型的靈敏度,由模型在訓(xùn)練過(guò)程中損失函數(shù)和準(zhǔn)確率的變化可知,要想達(dá)到100%的驗(yàn)證準(zhǔn)確率,模型隱藏層的節(jié)點(diǎn)數(shù)不能太少,當(dāng)節(jié)點(diǎn)數(shù)控制在8到15個(gè)小時(shí),模型預(yù)測(cè)的準(zhǔn)確率較高.
關(guān)鍵詞:文物玻璃;感知機(jī);深度神經(jīng)網(wǎng)絡(luò);相關(guān)性分析
中圖分類號(hào):TP391.41 文獻(xiàn)標(biāo)志碼:A
Prediction of Ancient Glassware Based
on Multilayer Perceptron Network
SHI Bao-ming, ZHAO Xu, WANG Hai-tao, ZHANG Ting
(School of Digital Media, Lanzhou University of Arts and Science, Lanzhou 730000, China)
Abstract:In the process of weathering, the chemical composition of ancient Chinese glassware will be affected by the burial environment. In this paper, a multilayer perceptron network model is established, and the known type of glass composition data is used to train the model, and then the glass type is predicted according to the unknown type of glass composition data. The experimental results show that the validation accuracy can reach 100%. Through comparative analysis of the prediction results and known types of glass composition data, it can be seen that the prediction results are reasonable. The sensitivity of the model is changed by adjusting the number of nodes in the hidden layer of the model. By observing the changes in the loss function and accuracy rate of the model in the training process, it can be seen that to achieve 100% validation accuracy, the number of nodes in the model hidden layer should not be too small. When the number of nodes is controlled within the range of 8 to 15 nodes, the accuracy of the model prediction is higher.
Key words:cultural relic glass; perceptron; deep neural network; correlation analysis
絲綢之路是古代中國(guó)與西方世界進(jìn)行貿(mào)易交流的重要通道,其中玻璃是早期貿(mào)易往來(lái)的代表性物證[1-2].早期的玻璃制品是從西亞和埃及地區(qū)傳入中國(guó)的,在采用其技術(shù)后,就地取材制作出了中國(guó)古代玻璃,外觀和外來(lái)玻璃相似,但化學(xué)成分卻有很大不同.
本文針對(duì)2022年全國(guó)大學(xué)生數(shù)學(xué)建模C題[3],采用深度學(xué)習(xí)理論[4-7]中的多層感知機(jī)網(wǎng)絡(luò)模型來(lái)進(jìn)行玻璃類別的預(yù)測(cè).玻璃的主要原料是石英砂,主要化學(xué)成分是二氧化硅(SiO2).由于純石英砂的熔點(diǎn)較高,需要在煉制時(shí)添加助熔劑和穩(wěn)定劑來(lái)降低熔化溫度,不同的助熔劑會(huì)導(dǎo)致玻璃的化學(xué)成分有明顯不同.我國(guó)古代比較常用的玻璃助熔劑有草木灰、天然泡堿、硝石和鉛礦石等,穩(wěn)定劑一般為石灰石.鉛鋇玻璃在燒制過(guò)程中一般會(huì)加入鉛礦石作為助熔劑,其氧化鉛(PbO)、氧化鋇(BaO)的含量較高,通常被認(rèn)為是我國(guó)自己發(fā)明的玻璃品種,比如楚文化的玻璃就是以鉛鋇玻璃為主.高鉀玻璃是以含鉀量高的物質(zhì)如草木灰作為助熔劑燒制而成,主要流行于我國(guó)嶺南、東南亞和印度等區(qū)域.古代玻璃容易受埋藏環(huán)境的影響而逐漸風(fēng)化,風(fēng)化后的玻璃化學(xué)成分也會(huì)發(fā)生變化,如何準(zhǔn)確判斷風(fēng)化后的玻璃類型,對(duì)確定玻璃文物的年代、產(chǎn)地等信息至關(guān)重要,進(jìn)而對(duì)深入研究古代的政治、經(jīng)濟(jì)、文化也具有十分重要的意義.
1 問(wèn)題分析
古代玻璃容易受埋藏環(huán)境的影響而逐漸風(fēng)化,在風(fēng)化過(guò)程中,玻璃內(nèi)部元素會(huì)與周圍環(huán)境元素進(jìn)行交換,導(dǎo)致其化學(xué)成分的比例會(huì)發(fā)生變化,進(jìn)而影響對(duì)其類別的正確判斷.兩個(gè)不同文物玻璃的風(fēng)化情況如圖1和圖2所示.
圖1是一個(gè)未風(fēng)化的蜻蜓眼玻璃珠[8],能夠明顯地看出文物表面的顏色和紋飾,但是局部也有少量的風(fēng)化;圖2是一個(gè)風(fēng)化較為嚴(yán)重的玻璃棋子,可以看到表面大面積深灰色區(qū)域已經(jīng)嚴(yán)重風(fēng)化,淺灰色區(qū)域有少量的風(fēng)化.
題目附件中給出了3個(gè)數(shù)據(jù)表單:表單1、表單2和表單3(見(jiàn)參考文獻(xiàn)3),表單1中給出了文物編號(hào)、紋飾類型、顏色、表面風(fēng)化情況;表單2給出了已知類型的各編號(hào)文物采樣點(diǎn)及采樣分析所得出的各化學(xué)成分的含量;表單3給出了未知類型的文物風(fēng)化情況及采樣分析所得出的各化學(xué)成分的含量.現(xiàn)需建立數(shù)學(xué)模型,根據(jù)表單1、表單2和表單3中已知數(shù)據(jù)來(lái)求解表單3中各玻璃的類型并進(jìn)行敏感性分析.
該問(wèn)題可轉(zhuǎn)化為一個(gè)數(shù)據(jù)分類問(wèn)題,表單3中給出了未知類別玻璃文物的化學(xué)成分,要根據(jù)成分判斷其所屬類型,可根據(jù)表單1、表單2中的已知數(shù)據(jù),建立線性回歸模型或深度神經(jīng)網(wǎng)絡(luò)分類模型,通過(guò)已有數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練和評(píng)估,然后將表單3中的數(shù)據(jù)作為預(yù)測(cè)數(shù)據(jù)輸入模型來(lái)得出玻璃類型.通過(guò)調(diào)整模型參數(shù)、優(yōu)化模型結(jié)構(gòu)來(lái)進(jìn)行敏感性分析,如增加或減少隱藏層節(jié)點(diǎn)數(shù)改變優(yōu)化器、選擇不同的損失函數(shù)或調(diào)節(jié)訓(xùn)練輪數(shù)等.
2 數(shù)據(jù)預(yù)處理
在建立模型對(duì)數(shù)據(jù)進(jìn)行分析之前,需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,使得數(shù)據(jù)能夠滿足感知機(jī)模型的需要.由于神經(jīng)網(wǎng)絡(luò)模型需要對(duì)數(shù)據(jù)進(jìn)行運(yùn)算,因此可以考慮將各表單中的定類數(shù)據(jù)轉(zhuǎn)換為定量數(shù)據(jù).
2.1 編碼約定
表單1中的數(shù)據(jù)包括文物編號(hào)、紋飾、類型、顏色及表面風(fēng)化等,以及表單3中的風(fēng)化等特征都是定類數(shù)據(jù),為了能夠適應(yīng)模型運(yùn)算的需要,對(duì)其進(jìn)行如表1所列的變換約定.
表單1中的有些顏色值是空缺的,可以單獨(dú)指定一種顏色,這里用8表示.預(yù)處理后的結(jié)果存放在cvs格式的數(shù)據(jù)表文件中.
2.2 空值處理
由于表單2和表單3反映的是檢測(cè)出的各化學(xué)成分含量,有大量的單元格為空,表示未檢測(cè)出某種成分,這些單元格在進(jìn)行統(tǒng)計(jì)分析時(shí),無(wú)法正常參與運(yùn)算,可將這些單元格值置為0.具體的實(shí)現(xiàn)方法是在導(dǎo)入Python處理時(shí)通過(guò)numpy庫(kù)的nan_to_num()函數(shù)將NAN值直接轉(zhuǎn)換為0,方便參與數(shù)據(jù)統(tǒng)計(jì)運(yùn)算.另外表單3中的表面風(fēng)化特征值參照表單1的處理方法進(jìn)行.
2.3 異常值剔除
由題意可知所給數(shù)據(jù)為主要成分所占比例,且各成分比例累加和應(yīng)為100%,但因檢測(cè)手段等原因可能導(dǎo)致其成分比例的累加和非100%的情況.題中將成分比例累加和介于85%~105%之間的數(shù)據(jù)視為有效數(shù)據(jù),所以將給出數(shù)據(jù)中每個(gè)樣品的主要成分求和可得各成分比例的累加情況,由此得出樣品編號(hào)為15號(hào)和17號(hào)的樣品不屬于題意中的有效數(shù)據(jù),故將其剔除.
2.4 數(shù)據(jù)合并處理
表單1所給數(shù)據(jù)為文物樣品的編號(hào)、類型、紋飾、顏色、風(fēng)化情況,表單2所給數(shù)據(jù)為樣品編號(hào)和主要成分含量.為了分類后進(jìn)行數(shù)據(jù)分析,現(xiàn)將表單1和表單2的數(shù)據(jù)進(jìn)行和并,按照兩表文物編號(hào)是否相同作為連接條件,得出新數(shù)據(jù),完成數(shù)據(jù)的合并處理.
3 多層感知機(jī)網(wǎng)絡(luò)模型
要根據(jù)玻璃的化學(xué)成分判斷其所屬類型,可考慮建立多元回歸模型或多層感知機(jī)網(wǎng)絡(luò)模型來(lái)進(jìn)行求解,本文通過(guò)建立多層感知機(jī)網(wǎng)絡(luò)模型[9-12]來(lái)進(jìn)行求解.
3.1 神經(jīng)元
神經(jīng)元是構(gòu)建多層感知機(jī)神經(jīng)網(wǎng)絡(luò)模型的基本單元,感知機(jī)由若干個(gè)神經(jīng)元按某種結(jié)構(gòu)組合而成.單個(gè)神經(jīng)元構(gòu)成如圖3所示.
圖3中,x1,x2,…,xn為輸入數(shù)據(jù),w1,w2,…,wn為權(quán)重值,b為偏置值,∫為激活函數(shù).
單個(gè)神經(jīng)元的基本工作過(guò)程為:將一組輸入的數(shù)據(jù)x1,x2,…,xn乘以權(quán)重值w1,w2,…,wn后進(jìn)行求和,再經(jīng)過(guò)一個(gè)激活函數(shù)進(jìn)行非線性變換,最后輸出結(jié)果.
3.2 ReLU激活函數(shù)
ReLU激活函數(shù)是深度神經(jīng)網(wǎng)絡(luò)中常用的激活函數(shù),它的全名是修正線性單元(Rectified Linear Unit,ReLU).該函數(shù)實(shí)現(xiàn)簡(jiǎn)單,運(yùn)算速度快,在各種預(yù)測(cè)分類任務(wù)中表現(xiàn)良好. 數(shù)據(jù)通過(guò)ReLU函數(shù)激活后就可以將線性變換轉(zhuǎn)變?yōu)榉蔷€性變換,從而為分類提供了更大的靈活度.ReLU函數(shù)的定義如下:
ReLU(x)=max(x,0).
其曲線如圖4所示.
可以看到,經(jīng)過(guò)ReLU函數(shù)的變換后,負(fù)值全部變?yōu)?,正值保持不變.ReLU函數(shù)能夠有效增強(qiáng)模型的非線性特性,并且能夠有效緩解神經(jīng)網(wǎng)絡(luò)模型遇到的梯度消失問(wèn)題.
3.3 多層感知機(jī)網(wǎng)絡(luò)模型
多層感知機(jī)是在線性回歸模型的基礎(chǔ)上引入一到多個(gè)隱藏層.本文使用TensorFlow深度學(xué)習(xí)框架構(gòu)建一個(gè)2層的感知機(jī)模型,即在輸入層和輸出層之間只有一層隱藏層,構(gòu)建的感知機(jī)模型如圖5所示.
輸入層包含14個(gè)節(jié)點(diǎn),分別代表玻璃的14個(gè)化學(xué)成分屬性值,隱藏層節(jié)點(diǎn)的個(gè)數(shù)可根據(jù)實(shí)際需要確定,這里可以設(shè)置為8~15左右,隱藏層節(jié)點(diǎn)太少,模型訓(xùn)練不容易收斂,隱藏層節(jié)點(diǎn)太多,訓(xùn)練參數(shù)太多,模型訓(xùn)練會(huì)變慢,模型也會(huì)更復(fù)雜.輸出層包含兩個(gè)節(jié)點(diǎn),分別用來(lái)輸出不同的玻璃類型值.模型的具體實(shí)現(xiàn)過(guò)程如下:
#構(gòu)建玻璃分類學(xué)習(xí)模型
class Glass_classification_Model(Model):
def __init__(self):
super(Glass_classification_Model, self).__init__()
self.d1 = Dense(15, activation='relu')
self.d2 = Dense(2, activation='softmax')
def call(self, x):
x = self.d1(x)
y = self.d2(x)
return y
模型的結(jié)構(gòu)及參數(shù)數(shù)量如圖6所示.
4 仿真實(shí)驗(yàn)及結(jié)果分析
4.1 實(shí)驗(yàn)環(huán)境
進(jìn)行仿真實(shí)驗(yàn)的硬件環(huán)境:Intel i5-6500 CPU處理器,英偉達(dá)RTX3060顯卡,16 G內(nèi)存;軟件環(huán)境:Windows10操作系統(tǒng),Anaconda 集成開(kāi)發(fā)環(huán)境,Python3.8,深度學(xué)習(xí)框架為TensorFlow2.5,CUDA版本為CUDA11.1.
4.2 模型訓(xùn)練
將表單1和表單2中的數(shù)據(jù)進(jìn)行合并,經(jīng)過(guò)篩選預(yù)處理后保存到data.cvs中,作為模型的輸入數(shù)據(jù),訓(xùn)練輪次epoch設(shè)置為100輪,batch size設(shè)置為16,每輪迭代過(guò)程中,隨機(jī)選取20%的輸入數(shù)據(jù)作為驗(yàn)證集數(shù)據(jù),驗(yàn)證頻率validation_freq設(shè)置為1.優(yōu)化器選擇Adam優(yōu)化器,損失函數(shù)為交叉熵?fù)p失函數(shù),選擇準(zhǔn)確率作為評(píng)價(jià)指標(biāo).訓(xùn)練過(guò)程中記錄每輪迭代中的損失函數(shù)值和準(zhǔn)確率值,結(jié)果如圖7所示.
通過(guò)上圖可以看出,經(jīng)過(guò)20多輪的迭代后,準(zhǔn)確率已接近100%,訓(xùn)練的損失函數(shù)和驗(yàn)證的損失函數(shù)也趨于穩(wěn)定.將訓(xùn)練好的權(quán)重參數(shù)以文件形式記錄下來(lái)供模型預(yù)測(cè)時(shí)使用.
4.3 模型預(yù)測(cè)
對(duì)表單3中要預(yù)測(cè)的數(shù)據(jù)經(jīng)過(guò)預(yù)處理后,送入訓(xùn)練好的模型進(jìn)行預(yù)測(cè).具體實(shí)現(xiàn)過(guò)程如下:
class_name=['高鉀','鉛鋇']
df = pd.read_csv('bd3.csv')
x_test = np.nan_to_num(np.array(df.iloc[:,1:]))
y=model.predict(x_test)
print(tf.argmax(y, axis=1))
out=list(tf.argmax(y, axis=1))
for i in out:
print(class_name[i])
運(yùn)行結(jié)果為:
tf.Tensor([0 1 1 1 1 0 0 1], shape=(8,), dtype=int64).
其中Tensor張量中的0表示高鉀玻璃,1表示鉛鋇玻璃.表單3中的各文物玻璃的預(yù)測(cè)結(jié)果如表2所列.
4.4 模型的合理性分析
根據(jù)表單2中的數(shù)據(jù),按玻璃類型和采樣點(diǎn)是否風(fēng)化兩個(gè)特征指標(biāo)進(jìn)行分類匯總,統(tǒng)計(jì)各化學(xué)成分的平均值.高鉀未風(fēng)化、高鉀風(fēng)化、鉛鋇未風(fēng)化和鉛鋇風(fēng)化4類玻璃的化學(xué)成分統(tǒng)計(jì)結(jié)果如表3所列.
對(duì)表單3中的各文物玻璃數(shù)據(jù)進(jìn)行相關(guān)性分析,實(shí)際上是兩個(gè)向量之間的相關(guān)性分析,可使用Excel中的相關(guān)性函數(shù)CORREL(X,Y)進(jìn)行分析,其中:X為預(yù)測(cè)了類型的某文物數(shù)據(jù),Y為相應(yīng)類型的玻璃數(shù)據(jù)均值.分析統(tǒng)計(jì)結(jié)果如表4所列.
可以看到,A1、A2、A3、A4、A6、A7、A8文物與對(duì)應(yīng)類型的均值數(shù)據(jù)的關(guān)聯(lián)性都很高,說(shuō)明預(yù)測(cè)結(jié)果較為準(zhǔn)確,而A5預(yù)測(cè)的結(jié)果為鉛鋇玻璃,但其與鉛鋇風(fēng)化均值的相關(guān)系數(shù)較低,經(jīng)過(guò)計(jì)算其與高鉀無(wú)風(fēng)化均值的相關(guān)系數(shù),得到值為0.960,其相關(guān)性很高,原因有可能是數(shù)據(jù)本身有誤,也有可能是模型預(yù)測(cè)錯(cuò)誤.
4.5 模型的靈敏性分析
通過(guò)調(diào)整模型隱藏層節(jié)點(diǎn)的個(gè)數(shù),記錄模型訓(xùn)練迭代過(guò)程中訓(xùn)練準(zhǔn)確率的值,分別設(shè)置隱藏層節(jié)點(diǎn)數(shù)為3、5、8、11、13、15,設(shè)置迭代輪次epoch=100,將得到的訓(xùn)練準(zhǔn)確率數(shù)據(jù)可視化,結(jié)果如圖8所示.
可以看到,隱藏節(jié)點(diǎn)個(gè)數(shù)的變化對(duì)模型的收斂速度及準(zhǔn)確率的提升有較大影響,隱藏層節(jié)點(diǎn)數(shù)太少,模型不容易收斂,準(zhǔn)確率也達(dá)不到較高值;隱藏層節(jié)點(diǎn)數(shù)太多,訓(xùn)練速度會(huì)降低,但模型迭代收斂速度加快,準(zhǔn)確率也能達(dá)到更高值.通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),當(dāng)隱藏層節(jié)點(diǎn)數(shù)為15時(shí),模型可以較快收斂,準(zhǔn)確率從第38輪后保持在100%.上述結(jié)果表明,隱藏層節(jié)點(diǎn)數(shù)目的變化對(duì)于模型的靈敏度有較大影響.
5 結(jié)語(yǔ)
通過(guò)建立多層感知機(jī)神經(jīng)網(wǎng)絡(luò)模型實(shí)現(xiàn)了古代玻璃類型的預(yù)測(cè),模型中使用了ReLU激活函數(shù)來(lái)進(jìn)行非線性變換,優(yōu)化策略選用Adam優(yōu)化器,損失函數(shù)選擇交叉熵?fù)p失函數(shù),評(píng)價(jià)指標(biāo)為準(zhǔn)確率.使用預(yù)處理后的已知玻璃類型的化學(xué)成分?jǐn)?shù)據(jù)進(jìn)行模型訓(xùn)練,最終用訓(xùn)練好的模型對(duì)未知類型的玻璃成分?jǐn)?shù)據(jù)進(jìn)行玻璃類型預(yù)測(cè).通過(guò)調(diào)整超參數(shù)以及模型中隱藏層節(jié)點(diǎn)個(gè)數(shù)來(lái)調(diào)整模型的靈敏度,進(jìn)而得出更加優(yōu)化的模型.實(shí)驗(yàn)結(jié)果表明,多層感知機(jī)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行玻璃類型預(yù)測(cè)的準(zhǔn)確率較高,可進(jìn)行推廣應(yīng)用.
參考文獻(xiàn):
[1] 干福熹.古代絲綢之路和中國(guó)古代玻璃[J].自然雜志,2006(5):253-260.
[2] 干福熹.玻璃和玉石之路——兼論先秦前硅酸鹽質(zhì)文物的中、外文化和技術(shù)交流[J].廣西民族大學(xué)學(xué)報(bào)(自然科學(xué)版),2009,15(4):6-17.
[3] 中國(guó)工業(yè)與應(yīng)用數(shù)學(xué)學(xué)會(huì).2022高教社杯全國(guó)大學(xué)生數(shù)學(xué)建模競(jìng)賽賽題[EB/OL].(2022-09-15)[2022-11-20].http://www.mcm.edu.cn.
[4] 余凱,賈磊,陳雨強(qiáng),等.深度學(xué)習(xí)的昨天、今天和明天[J].計(jì)算機(jī)研究與發(fā)展,2013,50(9):1799-1804.
[5] 孫志軍,薛磊,許陽(yáng)明,等.深度學(xué)習(xí)研究綜述[J].計(jì)算機(jī)應(yīng)用研究,2012,29(8):2806-2810.
[6] 周飛燕,金林鵬,董軍.卷積神經(jīng)網(wǎng)絡(luò)研究綜述[J].計(jì)算機(jī)學(xué)報(bào),2017,40(6):1229-1251.
[7] 阿斯頓·張,李沐,[美]扎卡里·C·立頓,等.動(dòng)手學(xué)深度學(xué)習(xí)[M].北京:人民郵電出版社,2020.
[8] 趙德云.中國(guó)出土的蜻蜓眼式玻璃珠研究[J].考古學(xué)報(bào),2012(2):177-216.
[9] 何平,劉紫燕.基于改進(jìn)多層感知機(jī)的手寫數(shù)字識(shí)別[J].通信技術(shù),2018,51(9):2075-2080.
[10] 丁雪松,黃立群,張步忠,等.基于多層感知機(jī)的蛋白質(zhì)變性溫度預(yù)測(cè)[J].計(jì)算機(jī)應(yīng)用研究,2019,36(8):2421-2423.
[11] 朱黎輝,李曉寧.面向圖像分類的多層感知機(jī)BBO優(yōu)化方法[J].四川師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,38(6):930-937.
[12] 莊子龍,劉英,沈鷺翔,等.基于多層感知機(jī)的木材顏色分類[J].林業(yè)機(jī)械與木工設(shè)備,2020,48(6):8-14.
[責(zé)任編輯:李 嵐]
蘭州文理學(xué)院學(xué)報(bào)(自然科學(xué)版)2023年3期