李秉坤 陳志祥
(紹興文理學(xué)院 數(shù)理信息學(xué)院, 浙江 紹興 312000)
人工神經(jīng)網(wǎng)絡(luò)是根據(jù)人腦建立的數(shù)學(xué)模型,在計算科學(xué)、數(shù)學(xué)、工程等領(lǐng)域有廣泛的應(yīng)用[1-2].而在一些應(yīng)用中,如模式識別、回歸分析、智能控制等方面,主要是將人工神經(jīng)網(wǎng)絡(luò)模型用來逼近多元函數(shù).人工神經(jīng)網(wǎng)絡(luò)作為一種萬能逼近器,受到人們的廣泛關(guān)注,其中最重要和最簡單的一種模型就是單隱層前向神經(jīng)網(wǎng)絡(luò),其數(shù)學(xué)表達(dá)式為
其中aj是連接隱層與輸出層之間的權(quán)值(也稱外權(quán)),x∈Rd是網(wǎng)絡(luò)的輸入,ωj∈Rd是連接輸入層與隱層之間的權(quán)值(也稱內(nèi)權(quán)),bj是閾值或偏置, 而φ是定義在R上的激活函數(shù),n是隱層神經(jīng)元的個數(shù). 第二種是近年來引起人們極大興趣的, 在計算機(jī)視覺、自然語言處理及模式識別等領(lǐng)域取得突破性成功應(yīng)用的深度網(wǎng)絡(luò)或多隱層神經(jīng)網(wǎng)絡(luò). 由于深度網(wǎng)絡(luò)有多個隱層, 從而其網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)就較單隱層而言更復(fù)雜, 且網(wǎng)絡(luò)隱層數(shù)越多, 其結(jié)構(gòu)越復(fù)雜. 由此引起其表示能力的增強(qiáng).
無論是第一種還是第二種網(wǎng)絡(luò)模型, 事實上第一種是第二種的特例, 總是涉及這樣三個問題:稠密性、復(fù)雜性和算法. 已知, 稠密性是理論基礎(chǔ), 是對一個網(wǎng)絡(luò)模型進(jìn)行復(fù)雜性和算法研究的前提和支撐. 對于單隱層模型, 所謂稠密性, 就是指對定義在Rd中緊集Ω上一個函數(shù)空間中的任一函數(shù)f(x)以及任意給定的精度ε>0,總存在一個網(wǎng)絡(luò)使
這里aj,ωj,bj(j=1,2,…,n)均是具體的數(shù)或者向量. 我們知道決定一個網(wǎng)絡(luò)的重要因素是激活函數(shù)φ,此模型對定義在Rd中緊集上的勒貝格Lebesgue可積函數(shù)類具有稠密性, 所以對于深度網(wǎng)絡(luò)模型, 當(dāng)激活函數(shù)是非線性函數(shù)時, 自然具有稠密性. 比較常見的激活函數(shù)有Sigmoidal函數(shù)、tanh函數(shù)、ReLU函數(shù)等. 有關(guān)稠密性結(jié)果可參看文獻(xiàn)[3-10]. 一個網(wǎng)絡(luò)的復(fù)雜性就是指對給定的精度, 網(wǎng)絡(luò)中所含神經(jīng)元的個數(shù)以及所涉及的權(quán)值與閾值的數(shù)量.因此,復(fù)雜性的研究為網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計與算法設(shè)計提供理論基礎(chǔ).而在網(wǎng)絡(luò)復(fù)雜性問題的研究中, 有一個重要的方法, 就是構(gòu)造出具體的網(wǎng)絡(luò)結(jié)構(gòu)或網(wǎng)絡(luò)算子,并對具體的函數(shù)空間通過一定的度量給出其逼近上界估計,這樣也就得到了精度、隱層神經(jīng)元(包括權(quán)值與閾值數(shù))之間的關(guān)系,從而對復(fù)雜性問題給出了一個量化的估計. 不論是淺層網(wǎng)絡(luò)還是深度學(xué)習(xí)中的深度網(wǎng)絡(luò), 這種方法都是復(fù)雜性問題研究中的重要方法(可見文獻(xiàn)[11-27]). 鑒于ReLU函數(shù),其定義為
σ(x)=max{0,x}.
是目前深度網(wǎng)絡(luò)中常用的激活函數(shù),而該網(wǎng)絡(luò)的研究更多地偏重于模式分類問題.所以,本文一方面將利用ReLU函數(shù)的特點(diǎn)構(gòu)造插值網(wǎng)絡(luò)和擬插值網(wǎng)絡(luò),并討論其逼近誤差估計; 另一方面, 為了提高逼近函數(shù)的光滑性, 將研究修正的冪函數(shù)的網(wǎng)絡(luò)構(gòu)造與逼近問題. 本文還將通過數(shù)值實驗進(jìn)行說明.
插值法是數(shù)值分析和函數(shù)逼近的重要方法之一.下面首先討論單隱層插值ReLU網(wǎng)絡(luò)逼近的構(gòu)造與逼近.這里不妨設(shè)目標(biāo)函數(shù)是定義在區(qū)間[0,1]上連續(xù)函數(shù),且設(shè)插值節(jié)點(diǎn)為x0=0 Nn(f,x)=a-1σ(x+1)+a0σ(x-x0)+a1σ(x-x1)+…+an-1σ(x-xn-1). 而a-1,a0,a1,…,an-1可這樣來確定: 由Nn(f,0)=f(0), 即a-1σ(1)=f(0), 則 a-1=f(0). Nn(f,x1)=f(x1), 即a-1σ(x1+1)+a0σ(x1)= ? Nn(f,xn)=f(xn), 即a-1σ(xn+1)+a0σ(xn)+…+an-1σ(xn-xn-1)=f(xn). 或a-1(xn+1)+a0xn+…+an-1(xn-xn-1)=f(xn), 則有: 這樣,網(wǎng)絡(luò)Nn(f,x)就在節(jié)點(diǎn)x0,x1,…,xn上插值f.如果我們令: δ=max{x1-x0,x2-x1,…,xn-xn-1}. 則有|Nn(f,x)-f(x)|≤ω(f,δ),x∈[0,1],這里ω(f,t)是連續(xù)模,即: 特別地, 當(dāng)f在[0,1]上滿足Lip條件, 即存 在M>0,使得對任意的x′,x″∈[0,1]有|f(x′)-f(x″)|≤M|x′-x″|α,(0<α≤1). 注1:若f是定義在一般的區(qū)間[a,b]上,只要通過線性變換就可以定義在[0,1]區(qū)間上. 接下來,通過數(shù)值實驗給以說明. 本實驗是在Windows環(huán)境下MATLAB R2016a中進(jìn)行的.取f1(x)=sin(x), 其圖像與f1(x)=sin(x)在 x∈[0,1]上平均取5個插值節(jié)點(diǎn)作線性插值圖像, 如圖1所示.f1(x)=sin(x)在x∈[0,1]上平均取5個插值節(jié)點(diǎn)作線性插值與f1(x)=sin(x)的誤差絕對值如圖2所示,誤差絕對值的最大值為0.003 9. 圖1 線性插值 圖2 誤差絕對值 f2(x)=sin(2πx)圖像和f2(x)=sin(2πx)在x∈[0,1]上平均取10個插值節(jié)點(diǎn)作線性插值圖像如圖3所示.f2(x)=sin(2πx)在 圖3 線性插值 x∈[0,1]上平均取10個插值節(jié)點(diǎn)作線性插值與f2(x)=sin(2πx)的誤差絕對值如圖4所示,誤差絕對值的最大值為0.048 9. 圖4 誤差絕對值 對于前面的ReLu激活函數(shù)σ(x),令: σ0(x)=σ(x+1)-2σ(x)+σ(x-1),x∈(-∞,+∞). 事實上,容易得到: 從而有: 如此便得到結(jié)果.于是有: 從而有: 圖5 f1(x)與的圖像 圖6 f2(x)與的圖像 圖 7 f1(x)=sin(x)最大絕對誤差曲線 圖8 f2(x)=sin(2πx)最大絕對誤差曲線 x∈[0,1]誤差絕對值的最大值比較結(jié)果如表1所示. 表1 比較結(jié)果 我們知道,ReLu網(wǎng)絡(luò)的輸出是一個連續(xù)函數(shù),但是一條折線,從而在某些點(diǎn)不可導(dǎo).與ReLu相關(guān)的所謂修正的r次冪函數(shù)單元(RePU)σr(x), r≥2為整數(shù), 其定義為σr(x)=(max{0,x})r.在回歸問題中,根據(jù)神經(jīng)網(wǎng)絡(luò)中的萬有逼近定理,對于非多項式作為激活函數(shù)的單隱層前向神經(jīng)網(wǎng)絡(luò)必具有萬有逼近性,即對于任意的精度,總存在某網(wǎng)絡(luò)結(jié)構(gòu)使其對定義在閉區(qū)間上連續(xù)目標(biāo)函數(shù)逼近給定的精度. 對給定的r≥2,若r是奇數(shù),則σr(x)-σr(-x)=xr,x∈(-∞,+∞).而當(dāng)r為偶數(shù)時,則有σr(x)+σr(-x)=xr,x∈(-∞,+∞).由于(x+1)r-xr=Pr-1(x)是一個r-1次多項式,而Pr-1(x+1)-Pr-1(x)是一個r-2次多項式,如此可得到任一r次多項式可通過 ar(x+br)r+ar-1(x+br-1)r+…+a1(x+b1)r+a0(x+b0)r來表示.也就是說, 當(dāng)以xr為激活函數(shù)時,含有r+1個隱層神經(jīng)元的單隱層前向神經(jīng)網(wǎng)絡(luò)可得到任意的次數(shù)不超過r的多項式,自然形成一個對目標(biāo)函數(shù)用次數(shù)不超過r的多項式近似.也就是說,當(dāng)用σr作為激活函數(shù)時,其隱層單元是2r+2個. 而且由于xr是通過σr(x)與σr(-x)表示,從而網(wǎng)絡(luò)結(jié)構(gòu)中的參數(shù)只有一半在變化. 由此我們可以看出, 當(dāng)用一個r次冪函數(shù)或r次多項式作為單隱層前向神經(jīng)網(wǎng)絡(luò)的激活函數(shù)時, 隱層神經(jīng)元不管怎么多, 其輸出至多為一個r次多項式. 不過, 對光滑性比較好的目標(biāo)函數(shù), 自然可以考慮用多項式作為逼近工具, 而且, 隱層神經(jīng)元數(shù)只需比激活函數(shù)的次數(shù)多一. 但是, 如果再利用σr(x)作為隱層激活函數(shù),也就是使其輸出是一個r次樣條函數(shù), 這時網(wǎng)絡(luò)的逼近能力就增強(qiáng)了.所以, 這也充分表明網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計的重要性. 不妨將所考慮的目標(biāo)函數(shù)仍定義在[0,1]上,x1 Sr(x1,x2,…,xk)={s∈Cr-1[0,1]:s|[xi,xi+1]∈Pr,i=0,1,…,k}, 這里x0=0,xk+1=1,Cr-1[0,1]表示由定義在[0,1]上的r-1階連續(xù)函數(shù)所構(gòu)成的線性空間. 1,x,x2,…,xr,(x-x1)r,…,(x-xk)r形成Sr(x1,x2,…,xk)的一個基, 而且有如下結(jié)果(可見[28]): 對任意給定的j∈{0,1,…,r},存在僅依賴于j的常數(shù)kj,使得對任意的f∈Cj[0,1]及節(jié)點(diǎn)集{x1,x2,…,xk}成立: 這里δ=max{|xi+1-xi|:i=0,1,…,k}.這說明對給定的f∈Cj[0,1]存在s∈Sr(x1,x2,…,xk)使得|f(x)-S(x)|≤kδjω(f(j),δ),x∈[0,1].特別地,若x0,x1,…,xk+1構(gòu)成[0,1]區(qū)間的k+1等分點(diǎn),則有: 顯然s(x)可以看作以激活函數(shù)σr(x)構(gòu)成的單隱層前向網(wǎng)絡(luò)的輸出.而且, 網(wǎng)絡(luò)結(jié)構(gòu)的隱層含有2r+k個神經(jīng)元. 最后,還是選取如下兩個目標(biāo)函數(shù): f1(x)=sin(x),x∈[0,1],f2(x)=sin(2πx),x∈[0,1]. 進(jìn)行數(shù)值實驗. f1(x)=sin(x)圖像與f1(x)=sin(x)在x∈[0,1]上平均取10個插值節(jié)點(diǎn)作三次樣條插值如圖9所示.f1(x)=sin(x)在x∈[0,1]上平均取10個插值節(jié)點(diǎn)作三次樣條插值與f1(x)=sin(x)的誤差絕對值如圖10所示,誤差絕對值的最大值為2.1927e-06. 圖9 三次樣條插值 圖10 誤差絕對值 f2(x)=sin(2πx)圖像與f2(x)=sin(2πx)在x∈[0,1]上平均取10個點(diǎn)作三次樣條插值圖像如圖11所示.f2(x)=sin(2πx)在x∈[0,1]上平均取200個點(diǎn)作三次樣條插值與f2(x)=sin(2πx)的誤差絕對值如圖12所示,誤差絕對值的最大值為2.5370e-09. 圖11 三次樣條插值 圖12 誤差絕對值2 擬插值(近似插值)ReLU網(wǎng)絡(luò)的構(gòu)造與逼近
3 RePU網(wǎng)絡(luò)的構(gòu)造與逼近