翻譯僅為學(xué)習(xí)停做,歡迎轉(zhuǎn)載
【題目】Deep Residual Shrinkage Networks for Fault Diagnosis
【翻譯】基于深度殘差收縮網(wǎng)絡(luò)的故障診斷
Abstract (摘要)
【翻譯】本文提出了一種新的深度學(xué)習(xí)方法劲适,名為深度殘差收縮網(wǎng)絡(luò)地回,來提高深度學(xué)習(xí)方法從強(qiáng)噪聲信號中學(xué)習(xí)特征的能力脖苏,并且取得較高的故障診斷準(zhǔn)確率。軟閾值化作為非線性層绘梦,嵌入到深度神經(jīng)網(wǎng)絡(luò)之中嘀掸,以消除不重要的特征材蹬。更進(jìn)一步地实幕,考慮到軟閾值化中的閾值是難以設(shè)定的,本文所提出的深度殘差收縮網(wǎng)絡(luò)堤器,采用了一個子網(wǎng)絡(luò)昆庇,來自動地設(shè)置這些閾值,從而回避了信號處理領(lǐng)域的專業(yè)知識闸溃。該方法的有效性通過多種不同噪聲下的實(shí)驗進(jìn)行了驗證整吆。
【關(guān)鍵詞】Deep learning, deep residual networks, fault diagnosis, soft thresholding, vibration signal.
【翻譯】深度學(xué)習(xí),深度殘差網(wǎng)絡(luò)辉川,故障診斷表蝙,軟閾值化,振動信號乓旗。
I. Introduction (引言)
【翻譯】旋轉(zhuǎn)機(jī)械在制造業(yè)府蛇、電力供應(yīng)、運(yùn)輸業(yè)和航天工業(yè)都是很重要的寸齐。然而欲诺,因為這些旋轉(zhuǎn)機(jī)械工作在嚴(yán)酷的工作環(huán)境下,其機(jī)械傳動系統(tǒng)不可避免地會遭遇一些故障渺鹦,并且會導(dǎo)致事故和經(jīng)濟(jì)損失扰法。準(zhǔn)確的機(jī)械傳動系統(tǒng)故障診斷,能夠用來安排維修計劃毅厚、延長服役壽命和確保人身安全塞颁。
【翻譯】現(xiàn)有的機(jī)械傳動系統(tǒng)故障診斷算法可分為兩類,一類是基于信號分析的方法吸耿,另一類是基于機(jī)器學(xué)習(xí)的方法祠锣。通常,基于信號分析的故障診斷方法通過檢測故障相關(guān)的振動成分或者特征頻率咽安,來確定故障類型伴网。然而,對于大型旋轉(zhuǎn)機(jī)械妆棒,其振動信號往往是由許多不同的振動信號混疊而成的澡腾,包括齒輪的嚙合頻率、軸和軸承的旋轉(zhuǎn)頻率等糕珊。更重要地动分,當(dāng)故障處于早期階段的時候,故障相關(guān)的振動成分往往是比較微弱的红选,容易被其他的振動成分和諧波所淹沒澜公。總而言之喇肋,傳統(tǒng)基于信號分析的故障診斷方法經(jīng)常難以檢測到故障相關(guān)的振動成分和特征頻率坟乾。
【翻譯】從另一方面來講,基于機(jī)器學(xué)習(xí)的故障診斷方法苟蹈,在診斷故障的時候不需要確定故障相關(guān)的成分和特征頻率糊渊。首先,一組統(tǒng)計特征(例如峭度慧脱、均方根值渺绒、能量、熵)能夠被提取來表征健康狀態(tài)菱鸥;然后一個分類器(例如多分類支持向量機(jī)宗兼、單隱含層的神經(jīng)網(wǎng)絡(luò)、樸素貝葉斯分類器)能夠被訓(xùn)練來診斷故障氮采。然而殷绍,所提取的統(tǒng)計特征經(jīng)常是判別性不足的,難以區(qū)分故障鹊漠,從而導(dǎo)致了低的診斷準(zhǔn)確率主到。因此茶行,尋找一個判別性強(qiáng)的特征集,是基于機(jī)器學(xué)習(xí)的故障診斷中一個長期的挑戰(zhàn)登钥。
【翻譯】近年來畔师,深度學(xué)習(xí)方法,即有多個非線性映射層的機(jī)器學(xué)習(xí)方法牧牢,成為了基于振動信號進(jìn)行故障診斷的有力工具看锉。深度學(xué)習(xí)方法能夠自動地從原始振動數(shù)據(jù)中學(xué)習(xí)特征,以取代傳統(tǒng)的統(tǒng)計特征塔鳍,來獲得高的診斷準(zhǔn)確率伯铣。例如,Ince等人采用一維卷積神經(jīng)網(wǎng)絡(luò)轮纫,從電流信號中學(xué)習(xí)特征腔寡,應(yīng)用于實(shí)時電機(jī)故障診斷。Shao等人采用一種卷積深度置信網(wǎng)絡(luò)掌唾,應(yīng)用于電機(jī)軸承的故障診斷蹬蚁。但是,一個問題是郑兴,誤差函數(shù)的梯度犀斋,在逐層反向傳播的過程中,逐漸變得不準(zhǔn)確情连。因此叽粹,在輸入層附近的一些層的參數(shù)不能夠被很好地優(yōu)化。
【翻譯】深度殘差網(wǎng)絡(luò)是卷積神經(jīng)網(wǎng)絡(luò)的一個新穎的變種却舀,采用了恒等路徑來減輕參數(shù)優(yōu)化的難度虫几。在深度殘差網(wǎng)絡(luò)中,梯度不僅逐層地反向傳播挽拔,而且通過恒等路徑直接傳遞到之前的層辆脸。由于優(yōu)越的參數(shù)優(yōu)化能力,深度殘差網(wǎng)絡(luò)在最近的一些研究中螃诅,已經(jīng)被應(yīng)用于故障診斷啡氢。例如,Ma等人將一種集成了解調(diào)時頻特征的深度殘差網(wǎng)絡(luò)术裸,應(yīng)用于不穩(wěn)定工況下的行星齒輪箱故障診斷倘是。Zhao等人使用深度殘差網(wǎng)絡(luò),來融合多組小波包系數(shù)袭艺,應(yīng)用于故障診斷搀崭。相較于普通的卷積神經(jīng)網(wǎng)絡(luò),深度殘差網(wǎng)絡(luò)的優(yōu)勢已經(jīng)在這些論文中得到了驗證猾编。
【翻譯】從大型旋轉(zhuǎn)機(jī)械(例如風(fēng)電瘤睹、機(jī)床升敲、重型卡車)所采集的振動信號,經(jīng)常包含著大量的噪聲轰传。在處理強(qiáng)噪聲振動信號的時候冻晤,深度殘差網(wǎng)絡(luò)的特征學(xué)習(xí)能力經(jīng)常會降低。深度殘差網(wǎng)絡(luò)中的卷積核绸吸,其實(shí)就是濾波器,在噪聲的干擾下设江,可能不能檢測到故障特征锦茁。在這種情況下,在輸出層所學(xué)習(xí)到的高層特征叉存,就會判別性不足码俩,不能夠準(zhǔn)確地進(jìn)行故障分類。因此歼捏,開發(fā)新的深度學(xué)習(xí)方法稿存,應(yīng)用于強(qiáng)噪聲下旋轉(zhuǎn)機(jī)械的故障診斷,是十分必要的瞳秽。
【翻譯】本文提出了兩種深度殘差收縮網(wǎng)絡(luò)瓣履,即通道間共享閾值的深度殘差收縮網(wǎng)絡(luò)、通道間不同閾值的深度殘差收縮網(wǎng)絡(luò)练俐,來提高從強(qiáng)噪聲振動信號中學(xué)習(xí)特征的能力袖迎,最終提高故障診斷準(zhǔn)確率。本文的主要貢獻(xiàn)總結(jié)如下:
? ??(1) 軟閾值化(也就是一種流行的收縮方程)作為非線性層腺晾,被嵌入深度結(jié)構(gòu)之中燕锥,以有效地消除噪聲相關(guān)的特征。
? ??(2) 采用特殊設(shè)計的子網(wǎng)絡(luò)悯蝉,來自適應(yīng)地設(shè)置閾值归形,從而每段振動信號都有著自己獨(dú)特的一組閾值。
? ??(3) 在軟閾值化中鼻由,共考慮了兩種閾值暇榴,也就是通道間共享的閾值、通道間不同的閾值蕉世。這也是所提出方法名稱的由來跺撼。
【翻譯】本文的剩余部分安排如下。第二部分簡要地回顧了經(jīng)典的深度殘差網(wǎng)絡(luò)讨彼,并且詳細(xì)闡述了所提出的深度殘差收縮網(wǎng)絡(luò)歉井。第三部分進(jìn)行了實(shí)驗對比。第四部分進(jìn)行了總結(jié)哈误。
II. Theory of the developed DRSNs (深度殘差收縮網(wǎng)絡(luò)的理論)
【翻譯】如第一部分所述哩至,作為一種潛在的躏嚎、能夠從強(qiáng)噪聲振動信號中學(xué)習(xí)判別性特征的方法,本研究考慮了深度學(xué)習(xí)和軟閾值化的集成菩貌。相對應(yīng)地卢佣,本部分注重于開發(fā)深度殘差網(wǎng)絡(luò)的兩個改進(jìn)的變種,即通道間共享閾值的深度殘差收縮網(wǎng)絡(luò)箭阶、通道間不同閾值的深度殘差收縮網(wǎng)絡(luò)虚茶。對相關(guān)理論背景和必要的想法進(jìn)行了詳細(xì)介紹。
A. Basic Components (基本組成)
【翻譯】不管是深度殘差網(wǎng)絡(luò)仇参,還是所提出的深度殘差收縮網(wǎng)絡(luò)嘹叫,都有一些基礎(chǔ)的組成,是和傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)相同的诈乒,包括卷積層罩扇、整流線性單元激活函數(shù)、批標(biāo)準(zhǔn)化怕磨、全局均值池化喂饥、交叉熵誤差函數(shù)。這些基礎(chǔ)組成的概念在下面進(jìn)行了介紹肠鲫。
【翻譯】卷積層是使得卷積神經(jīng)網(wǎng)絡(luò)不同于傳統(tǒng)全連接神經(jīng)網(wǎng)絡(luò)的關(guān)鍵员帮。卷積層能夠大量減少所需要訓(xùn)練的參數(shù)的數(shù)量。這是通過用卷積导饲,取代乘法矩陣集侯,來實(shí)現(xiàn)的。卷積核中的參數(shù)帜消,比全連接層中的權(quán)重棠枉,少得多。更進(jìn)一步地泡挺,當(dāng)參數(shù)較少時辈讶,深度學(xué)習(xí)不容易遭遇過擬合,從而能夠在測試集上獲得較高的準(zhǔn)確率娄猫。輸入特征圖和卷積核之間的卷積運(yùn)算贱除,附帶著加上偏置,能夠用公式表示為...媳溺。卷積可以通過重復(fù)一定次數(shù)月幌,來獲得輸出特征圖。
【翻譯】圖1展示了卷積的過程悬蔽。如圖1(a)-(b)所示扯躺,特征圖和卷積核實(shí)際上是三維張量。在本文中,一維振動信號是輸入录语,所以特征圖和卷積核的高度始終是1倍啥。如圖1(c)所示,卷積核在輸入特征圖上滑動澎埠,從而得到輸出特征圖的一個通道虽缕。在每個卷積層中,通常有多于一個卷積核蒲稳,從而輸出特征圖有多個通道氮趋。
【翻譯】批標(biāo)準(zhǔn)化是一種嵌入到深度結(jié)構(gòu)的內(nèi)部江耀、作為可訓(xùn)練層的一種特征標(biāo)準(zhǔn)化方法剩胁。批標(biāo)準(zhǔn)化的目的在于減輕內(nèi)部協(xié)方差漂移的問題,即特征的分布經(jīng)常在訓(xùn)練過程中持續(xù)變化决记。在這種情況下,所需訓(xùn)練的參數(shù)就要不斷地適應(yīng)變化的特征分布倍踪,從而增大了訓(xùn)練的難度系宫。批標(biāo)準(zhǔn)化,在第一步對特征進(jìn)行標(biāo)準(zhǔn)化建车,來獲得一個固定的分布扩借,然后在訓(xùn)練過程中自適應(yīng)地調(diào)整這個分布。后續(xù)介紹公式缤至。
【翻譯】激活函數(shù)通常是神經(jīng)網(wǎng)絡(luò)中必不可少的一部分潮罪,一般是用來實(shí)現(xiàn)非線性變換的。在過去的幾十年中领斥,很多種激活函數(shù)被提出來嫉到,例如sigmoid,tanh和ReLU月洛。其中何恶,ReLU激活函數(shù)最近得到了很多關(guān)注,這是因為ReLU能夠很有效地避免梯度消失的問題嚼黔。ReLU激活函數(shù)的導(dǎo)數(shù)要么是1细层,要么是0,能夠幫助控制特征的取值范圍大致不變唬涧,在特征在層間傳遞的時候疫赎。ReLU的函數(shù)表達(dá)式為max(x,0)。
【翻譯】 全局均值池化是從特征圖的每個通道計算一個平均值的運(yùn)算碎节。通常捧搞,全局均值池化是在最終輸出層之前使用的。全局均值池化可以減少全連接輸出層的權(quán)重數(shù)量,從而降低深度神經(jīng)網(wǎng)絡(luò)遭遇過擬合的風(fēng)險实牡。全局均值池化還可以解決平移變化問題陌僵,從而深度神經(jīng)網(wǎng)絡(luò)所學(xué)習(xí)得到的特征,不會受到故障沖擊位置變化的影響创坞。
【翻譯】交叉熵?fù)p失函數(shù)通常作為多分類問題的目標(biāo)函數(shù)碗短,朝著最小的方向進(jìn)行優(yōu)化。相較于傳統(tǒng)的均方差損失函數(shù)题涨,交叉熵?fù)p失函數(shù)經(jīng)常能夠提供更快的訓(xùn)練速度偎谁。這是因為,交叉熵?fù)p失函數(shù)對于權(quán)重的梯度纲堵,相較于均方差損失函數(shù)巡雨,不容易減弱到零。為了計算交叉熵?fù)p失函數(shù)席函,首先要用softmax函數(shù)將特征轉(zhuǎn)換到零一區(qū)間铐望。然后交叉熵?fù)p失函數(shù)可以根據(jù)公式進(jìn)行計算。在獲得交叉熵?fù)p失函數(shù)之后茂附,梯度下降法可以用來優(yōu)化參數(shù)正蛙。在一定的迭代次數(shù)之后琼了,深度神經(jīng)網(wǎng)絡(luò)就能夠得到充分的訓(xùn)練操刀。
B. Architecture of the Classical ResNet (經(jīng)典深度殘差網(wǎng)絡(luò)的結(jié)構(gòu))
【翻譯】深度殘差網(wǎng)絡(luò)是一種新興的深度學(xué)習(xí)方法,在近年來受到了廣泛的關(guān)注电媳。殘差構(gòu)建模塊是基本的組成部分蒂阱。如圖2(a)所示锻全,殘差構(gòu)建模塊包含了兩個批標(biāo)準(zhǔn)化、兩個整流線性單元录煤、兩個卷積層和一個恒等路徑鳄厌。恒等路徑是讓深度殘差網(wǎng)絡(luò)優(yōu)于卷積神經(jīng)網(wǎng)絡(luò)的關(guān)鍵。交叉熵?fù)p失函數(shù)的梯度妈踊,在普通的卷積神經(jīng)網(wǎng)絡(luò)中部翘,是逐層反向傳播的。當(dāng)使用恒等路徑的時候响委,梯度能夠更有效地流回前面的層新思,從而參數(shù)能夠得到更有效的更新。
圖2(b)-(c)展示了兩種殘差構(gòu)建模塊赘风,能夠輸出不同尺寸的特征圖夹囚。在這里,減小輸出特征圖尺寸的原因在于邀窃,減小后續(xù)層的運(yùn)算量荸哟;增加通道數(shù)的原因在于假哎,方便將不同的特征集成為強(qiáng)判別性的特征。
圖2(d)展示了深度殘差網(wǎng)絡(luò)的整體框架鞍历,包括一個輸入層舵抹、一個卷積層、一定數(shù)量的殘差構(gòu)建模塊劣砍、一個批標(biāo)準(zhǔn)化惧蛹、一個ReLU激活函數(shù)、一個全局均值池化和一個全連接輸出層刑枝。同時香嗓,深度殘差網(wǎng)絡(luò)作為本研究的基準(zhǔn),以求進(jìn)一步改進(jìn)装畅。
C. Design of Fundamental Architectures for DRSNs (深度殘差收縮網(wǎng)絡(luò)基本結(jié)構(gòu)的設(shè)計)
【翻譯】這一小節(jié)首先介紹了提出深度殘差收縮網(wǎng)絡(luò)的原始驅(qū)動蚂夕,然后詳細(xì)介紹了所提出深度殘差收縮網(wǎng)絡(luò)的結(jié)構(gòu)迅诬。
1)?Theoretical background (理論背景)
【翻譯】在過去的20年中,軟閾值化經(jīng)常被作為許多信號降噪算法中的關(guān)鍵步驟双抽。通常百框,信號被轉(zhuǎn)換到一個域闲礼。在這個域中牍汹,接近零的特征,是不重要的柬泽。然后慎菲,軟閾值化將這些接近于零的特征置為零。例如锨并,作為一種經(jīng)典的信號降噪算法露该,小波閾值化通常包括三個步驟:小波分解、軟閾值化和小波重構(gòu)第煮。為了保證信號降噪的效果解幼,小波閾值化的一個關(guān)鍵任務(wù)是設(shè)計一個濾波器。這個濾波器能夠?qū)⒂杏玫男畔⑥D(zhuǎn)換成比較大的特征包警,將噪聲相關(guān)的信息轉(zhuǎn)換成接近于零的特征撵摆。然而,設(shè)計這樣的濾波器需要大量的信號處理方面的專業(yè)知識害晦,經(jīng)常是非常困難的特铝。深度學(xué)習(xí)提供了一種解決這個問題的新思路。這些濾波器可以通過反向傳播算法自動優(yōu)化得到,而不是由專家進(jìn)行設(shè)計鲫剿。因此鳄逾,軟閾值化和深度學(xué)習(xí)的結(jié)合是一種有效地消除噪聲信息和構(gòu)建高判別性特征的方式。軟閾值化將接近于零的特征直接置為零灵莲,而不是像ReLU那樣雕凹,將負(fù)的特征置為零,所以負(fù)的笆呆、有用的特征能夠被保留下來请琳。
【翻譯】軟閾值化的過程如圖3(a)所示≡唬可以看出俄精,軟閾值化的輸出對于輸入的導(dǎo)數(shù)要么是1,要么是0榕堰,所以在避免梯度消失和梯度爆炸的問題上竖慧,也是很有效的。
【翻譯】在傳統(tǒng)的信號降噪算法中圾旨,經(jīng)常難以給閾值設(shè)置一個合適的值。同時魏蔗,對于不同的樣本砍的,最優(yōu)的閾值往往是不同的。針對這個問題莺治,深度殘差收縮網(wǎng)絡(luò)的閾值廓鞠,是在深度網(wǎng)絡(luò)中自動確定的,從而避免了人工的操作谣旁。深度殘差收縮網(wǎng)絡(luò)中床佳,這種設(shè)置閾值的方式,在后續(xù)文中進(jìn)行了介紹榄审。
2)?Architecture of the Developed DRSN-CS (通道間共享閾值的深度殘差收縮網(wǎng)絡(luò)結(jié)構(gòu))
所提出的通道間共享閾值的深度殘差收縮網(wǎng)絡(luò)砌们,是深度殘差網(wǎng)絡(luò)的一個變種,使用了軟閾值化來消除與噪聲相關(guān)的特征搁进。軟閾值化作為非線性層嵌入到殘差構(gòu)建模塊之中浪感。更重要地,閾值是在殘差構(gòu)建模塊中自動學(xué)習(xí)得到的饼问,介紹如下影兽。
【翻譯】如圖4(a)所示未蝌,名為“通道間共享閾值的殘差收縮構(gòu)建模塊”,與圖2(a)中殘差構(gòu)建模塊是不同的茧妒,有一個特殊模塊來估計軟閾值化所需要的閾值萧吠。在這個特殊模塊中,全局均值池化被應(yīng)用在特征圖的絕對值上面桐筏,來獲得一維向量纸型。然后,這個一維向量被輸入到一個兩層的全連接網(wǎng)絡(luò)中梅忌,來獲得一個尺度化參數(shù)狰腌。Sigmoid函數(shù)將這個尺度化參數(shù)規(guī)整到零和一之間。然后牧氮,這個尺度化參數(shù)琼腔,乘以特征圖的絕對值得平均值,作為閾值踱葛。這樣的話丹莲,就可以把閾值控制在一個合適的范圍內(nèi),不會使輸出特征全部為零尸诽。
【翻譯】所提出的通道間共享閾值的深度殘差收縮網(wǎng)絡(luò)的結(jié)構(gòu)簡圖如圖4(b)所示甥材,和圖2(d)中經(jīng)典深度殘差網(wǎng)絡(luò)是相似的。唯一的區(qū)別在于性含,通道間共享閾值的殘差收縮模塊(RSBU-CS)洲赵,替換了普通的殘差構(gòu)建模塊。一定數(shù)量的RSBU-CS被堆疊起來商蕴,從而噪聲相關(guān)的特征被逐漸削減叠萍。另一個優(yōu)勢在于,閾值是自動學(xué)習(xí)得到的究恤,而不是由專家手工設(shè)置的俭令,所以在實(shí)施通道間共享閾值的深度殘差收縮網(wǎng)絡(luò)的時候后德,不需要信號處理領(lǐng)域的專業(yè)知識部宿。
3)?Architecture of the developed DRSN-CW?(通道間不同閾值的深度殘差收縮網(wǎng)絡(luò)結(jié)構(gòu))
[翻譯] 通道間不同閾值的深度殘差收縮網(wǎng)絡(luò),是深度殘差網(wǎng)絡(luò)的另一個變種瓢湃。與通道間共享閾值的深度殘差收縮網(wǎng)絡(luò)的區(qū)別在于理张,特征圖的每個通道有著自己獨(dú)立的閾值。通道間不同閾值的殘差模塊如圖4(c)所示绵患。特征圖x首先被壓縮成了一個一維向量雾叭,并且輸入到一個兩層的全連接層中。全連接層的第二層有多于一個神經(jīng)元落蝙,并且神經(jīng)元的個數(shù)等于輸入特征圖的通道數(shù)织狐。全連接層的輸出被強(qiáng)制到零和一之間暂幼。之后計算出閾值。與通道間共享閾值的深度殘差收縮網(wǎng)絡(luò)相似移迫,閾值始終是正數(shù)旺嬉,并且被保持在一個合理范圍內(nèi),從而防止輸出特征都是零的情況厨埋。
[翻譯] 通道間不同閾值的深度殘差收縮網(wǎng)絡(luò)的整體框架如圖4(d)所示邪媳。一定數(shù)量的模塊被堆積起來,從而判別性特征能夠被學(xué)習(xí)得到荡陷。其中雨效,軟閾值化,作為收縮函數(shù)废赞,用于非線性變換徽龟,來消除噪聲相關(guān)的信息。
【翻譯】重慶大學(xué)博士唉地,哈爾濱工業(yè)大學(xué)(威海)講師顿肺,美國馬里蘭大學(xué)帕克分校先進(jìn)生命周期工程中心訪問學(xué)者。
Reference:
M. Zhao, S. Zhong,? X. Fu, B. Tang, M. Pecht, Deep Residual Shrinkage Networks for? Fault Diagnosis, IEEE Transactions on Industrial Informatics, 2019,? DOI: 10.1109/TII.2019.2943898
https://ieeexplore.ieee.org/document/8850096
參考鏈接:
秒懂深度殘差收縮網(wǎng)絡(luò)?http://www.reibang.com/p/90f1ef1b06bc
深度殘差收縮網(wǎng)絡(luò):(一)背景知識 https://www.cnblogs.com/yc-9527/p/11598844.html
深度殘差收縮網(wǎng)絡(luò):(二)整體思路 https://www.cnblogs.com/yc-9527/p/11601322.html
深度殘差收縮網(wǎng)絡(luò):(三)網(wǎng)絡(luò)結(jié)構(gòu) https://www.cnblogs.com/yc-9527/p/11603320.html
深度殘差收縮網(wǎng)絡(luò):(四)注意力機(jī)制下的閾值設(shè)置 https://www.cnblogs.com/yc-9527/p/11604082.html
深度殘差收縮網(wǎng)絡(luò):(五)實(shí)驗驗證?https://www.cnblogs.com/yc-9527/p/11610073.html
[論文筆記] 深度殘差收縮網(wǎng)絡(luò) https://zhuanlan.zhihu.com/p/85238942