劉開華,田 嵐,李 鏘,關 欣
(天津大學微電子學院,天津 300072)
胸部疾病嚴重威脅著人類的生命健康安全,其中肺炎、肺結節是癌癥轉變率最高的疾病種類,轉變率高達 20%[1].胸部 X光圖像是目前較為常見的診斷胸部疾病方式之一,具有成本低、方便快捷的優勢.醫生通過 X光圖像識別病灶,判斷疾病種類,可以盡早確診疾病,使患者能夠在發病初期獲得治療,有效提高治療成功率.但由于放射科醫生經驗和主觀方面的差異,識別結果可能出現一定程度的誤差,因此亟需開發一套計算機輔助診斷系統[2],幫助醫生進行病灶判斷,從而降低誤診率.
基于深度學習的計算機輔助診斷系統,例如肺炎檢測[3]、肺結節分類[4]、腦腫瘤分割[5]等已取得較好的效果.自 ChestX-Ray14數據集發布以來,國內外學者提出了大量胸部疾病自動分類的方法.方法大致分為兩類.一類是傳統機器學習分類方法.Agrawal等[6]提出一種神經網絡高斯過程模型,在貝葉斯神經網絡基礎上將寬度無限增大,5層深度的網絡模型優于其他非卷積模型,進一步縮小了非卷積模型與卷積模型之間的差距.另一類是深度學習分類方法.Xu等[7]提出 DeepCXray網絡,訓練 InceptionV3模型提取特征,并且使用交叉熵損失作為目標函數,獲得了優秀的分類效果.Gozes等[8]將在 ChestX-Ray14數據集上預訓練的模型用于小數據集結核病的檢測獲得了優異的分類結果,說明大型數據集預訓練學習到的特征有助于提升小數據集上的分類結果.Wang等[9]將預訓練的全卷積作為特征提取器,通過訓練全連接分類層,評估了 4種經典 CNN模型,得出ResNet性能最優的結論,然而傳統 ResNet僅對全連接層進行微調,忽略了網絡其他層特征提供的信息,尤其是針對醫學圖像,特征提取部分有待進一步優化;
Yao等[10]采用長短期記憶(long- short-term memory,LSTM)網絡作為解碼器學習病理標簽之間的依賴關系,該方法通過重新整理多標簽之間的關系進一步提高了分類的準確率,但是沒有考慮樣本不平衡、多標簽問題,造成模型傾向于學習樣本量大的疾病特征,從而導致預測精度較低.Rajpurkar等[11]提出用肺炎數據訓練 121層 DenseNet卷積神經網絡,然后模型微調用于其他 13種胸部疾病的檢測,該方法使用121層DenseNet網絡,參數量和計算復雜度較大.
針對上述問題,為了進一步提高胸部 X光圖像分類算法的性能,本文提出一種基于八度卷積[12]的殘差神經網絡(octave convolution based residual network,OC-ResNet),OC-ResNet主要有 3方面的改進:①在 ResNet[13]網絡架構中利用八度卷積改進普通卷積,分離出圖像中的高低頻信息特征,降低低頻特征比例,增加高頻信息權,在提升對胸部病灶特征表達能力的同時,降低了計算復雜度;
②采用漸進式微調的遷移學習方法[14],在 ImageNet數據集上預訓練提取圖像一般性公共特征,獲得初始網絡參數,然后固定網絡淺層參數,在 ChestX-Ray14數據集上微調網絡深層參數,獲得最優的遷移學習效果;
③采用焦點損失(focal-loss)函數[15],減小樣本數量多的疾病類別權重,從而解決樣本不平衡問題.
1.1 OC-ResNet網絡結構
本節介紹以ResNet為基礎,將ResNet網絡中的普通卷積替換成八度卷積,構成的 OC-ResNet胸部X光圖像分類網絡,如圖1所示.ChestX-Ray14數據集的樣本數量雖有11萬,但是相較ImageNet數據集有千萬級的數據量,醫學圖像數據量依然較少,仍然存在泛化性差、易過擬合等問題.因此加入遷移學習解決在小樣本數量目標域上的訓練困難.第 1階段預訓練,在 ImageNet數據集上訓練 OC-ResNet,預訓練模型的最后一層是 ImageNet數據集對應的1000個類別的輸出向量.第 2階段遷移學習,保留除全連接層之外的所有層級參數,遷移至 ChestXRay14數據集上進行微調訓練.由于網絡淺層通常提取到的是邊緣、顏色等基礎信息,網絡深層提取到的則是物體個性特征等語義信息.因此在遷移學習過程中采用漸進式微調策略,即網絡淺層參數固定不變,深層參數進行微調,此時遷移學習效果最優[14].X光圖像通過預訓練模型的輸入層,依次經過殘差單元中的八度卷積層、池化層、正則化層,最后通過全連接層,將結果輸出為1×14的向量.
圖1 OC-ResNet網絡結構Fig.1 OC-ResNet network structure
為解決深層網絡的過擬合和梯度消失問題,本文采用 ResNet網絡結構,該網絡由殘差單元模塊組成.本文將殘差單元模塊改進為八度卷積殘差單元,其模塊結構如圖2所示.
圖2 八度卷積殘差單元結構Fig.2 Octave convolution residual unit structure
一個八度卷積殘差單元由2層八度卷積層組成,在八度卷積的每一層后面都使用 ReLU激活函數和批歸一化來代替實例正則化.
1.2 八度卷積模塊結構
隨著網絡層數逐漸加深,導致網絡內存消耗和計算成本不斷增加,為了緩解該問題,本文采用八度卷積改進普通卷積,通過八度卷積存儲和處理空間分辨率較低且空間變化較慢的特征圖,可以有效降低內存和計算成本,同時有效提取圖像中的高頻特征信息,有利于圖像的識別分類.
八度是指八音階,在音樂中降低八音階代表頻率減半.八度卷積[8]將“八度”的概念應用到卷積神經網絡中,其核心思想是對圖像數據中低頻信息減半,從而達到加速卷積運算和降低內存與計算成本的目的.
Xu等[16]將八度卷積用在膠囊網絡中進行高光譜圖像分類獲得優異的分類結果.Wang等[17]在 3維CT肝臟腫瘤分割中使用八度卷積神經網絡,通過學習多空間頻率特征,完成端到端的學習和推理.文獻[16-17]已證明八度卷積在其他任務中的有效性.
在普通卷積神經網絡中,設W 是k×k大小的卷積核,X ,Y ∈ Rc×h×w分別表示輸入和輸出張量,(p,q)為進行卷積運算的位置坐標,則卷積運算可表示為
八度卷積實現的目標是有效地處理相應頻率張量中的低頻和高頻分量,同時使八度特征表示的高頻分量和低頻分量之間能夠有效地通信.八度卷積實現過程如圖3所示.八度卷積核大小為k×k,權重W ∈ Rcin×cout×k×k,與普通卷積核有相同的參數,八度卷積核示意如圖4所示.4個卷積核分別參與到4條卷積路徑中,WH→H表示高頻之間的卷積核,WH→L表示高頻到低頻之間的卷積核,WL→H表示低頻到高頻之間的卷積核,WL→L表示低頻之間的卷積核.
圖3 八度卷積運算過程Fig.3 Octave convolution operation procedure
圖4 八度卷積核示意Fig.4 Schematic of octave convolution kernel
在卷積層中,輸入張量和輸出張量都被分成高頻和低頻兩部分,其中高頻部分表示為低頻部分表示為.為了實現高低頻特征之間的有效通信,需要將在低頻分量上采樣的信息通過 WL→H更新到高頻分量上,同時,將在高頻分量上的采樣信息通過 WH→L更新到低頻分量上.于是輸出特 征 表 示 為 YH= YH→H+YL→H和YL= YL→L+YH→L.它由4條計算路徑組成,如圖3所示,兩條藍色路徑對應于高頻和低頻特征圖的信息更新,兩條灰色路徑便于兩個八度之間的信息交換.實現方式如下.
式中:
f(X ;W ) 表示輸入特征與參數之間的卷積;
upsample(X ,k)是通過最近差值進行k倍的上采樣操作;
p o ol(X ,k)表示池化操作,池的核大小為k,步長為k.
八度卷積的具體網絡結構與卷積網絡參數定義如圖5所示,假設低頻通道占比為α,則高頻通道占比為 1-α.高頻輸入和低頻輸入的尺寸分別是 224×224×3×(1-α)和 112×112×3×α.高頻輸入分別進行兩次運算:一個是經過 16×(1-α)個尺寸為 3×3×3的卷積核進行卷積運算得到尺寸為224×224×16×(1-α)的特征圖;
另一個是經過步長為 2、核尺寸為 2的池化之后,再與 16×α個尺寸為 3×3×3卷積核進行卷積運算得到尺寸為 112×112×16×α的特征圖.低頻輸入也分別進行兩次運算:一個是經過 16×(1-α)個尺寸為 3×3×3的卷積核進行卷積運算得到尺寸為 112×112×16×(1-α)的特征圖,再通過步長為 2、核尺寸為 2的上采樣得到 224×224×16×(1-α)的特征圖;
另一個是經過 16×α個尺寸為 3×3×3卷積核進行卷積運算得到尺寸為112×112×16×α的特征圖.尺寸相同的特征圖進行相加,得到最終尺寸為 224×224×16×(1-α)的高頻輸出和尺寸為112×112×16×α的低頻輸出.
圖5 八度卷積網絡結構與參數設置Fig.5 Octave convolution network structure and parameter setting
1.3 漸進式微調遷移學習
微調深度對遷移學習的效果有很大影響,文獻[18]通過實驗發現不同數據集在同一個網絡上以不同微調深度進行訓練時,隨著微調深度的增加準確率會先增大,達到峰值后準確率開始下降.這說明當從最小的深度開始對比,如果后一個較大深度的準確率低于前一個深度,那么前一個深度為最佳微調深度,而且準確率不會隨著微調深度變化出現波動,很適合迭代方法去尋找最優解.據此提出漸進式微調深度的遷移學習方法,算法步驟描述如下.
步驟1輸入以下數據:
(1) 在大規模數據集上訓練的模型權重W(0);
(2) 訓練數據x和真實標簽y;
(3) 學習率η;
(4) 網絡深度depth;
(5)微調深度不一樣的網絡結構文件NET=[net1, net2, … ,n etdepth],其中net1微調深度最小,n e tdepth微調深度最大;
(6) 每C次迭代進行一次競爭;
(7) 最大迭代次數MAX.
步驟2最佳模型Wbest,最佳微調深度Dbest.
該方法能夠較快確定微調深度,減少訓練開銷,提升遷移學習后網絡的準確率.在訓練過程中,微調深度不斷增大,從深層特征向淺層特征逼近,先讓較深層的參數達到最優,損失函數降到一定程度后,再加入一些較淺層的網絡,進一步降低損失函數.然而損失函數不是越低越好,過低會導致訓練過擬合,這種逐層微調的訓練方式能夠讓損失函數在一定范圍內逐步下降,所以需要根據測試集的反饋決定微調深度是否繼續加深.
1.4 焦點損失函數
在 ChestX-Ray14數據集的多標簽類別中,本文為每張 X光圖像定義了一個 14維標簽向量y=[y1, y2, … ,y14],每個維度代表一種疾病,yc(c=1,2,…,14)表示是否存在相應的疾病,值為 1表示患有該疾病,值為0表示未患該疾病.
之前的研究中很多都選擇二分類交叉熵作為損失函數,公式為
式中:c為病變類別;
yc為真實標簽;
為預測標簽.但在 ChestX-Ray14數據集中,疾病樣本的數量嚴重不平衡,較少的疾病擁有大量的樣本數據,導致訓練不充分,為了解決這個問題,本文采用焦點損失函數[15],如式(4)所示,在交叉熵的基礎上增加權重因子γ(γ> 0 )和平衡因子σ,以使網絡更加關注難分類的樣本,平衡正負樣本比例.根據實驗對比分析[15],當σ=0.5、γ=2時,網絡的分類效果最佳.
2.1 實驗環境與參數設置
本文使用的服務器為CPU Intel? Core i7-6800K 3.5GHz,GPU Nvidia GTX1080Ti(11GB)×2,操作系統為 Ubuntu 16.04,采用 Pytorch[19]開源深度學習框架.
實驗過程中,首先搭建基于 Pytorch框架的網絡,將全連接層的參數隨機初始化,并使用 Adam 優化器[20]進行優化.訓練過程中將學習率設置為1×10-3,衰減率設為 0.9,激活函數使用 ReLU[21],分類函數使用 Softmax.為了充分發揮實驗設備作用,將批尺寸(batch size)設置為128,訓練輪數為150次.
2.2 評價指標
在計算機輔助診斷中,為了選擇客觀公正的指標對比算法的性能,業界通常采用受試者特征(receiver operating characteristic,ROC)曲線來表現算法的識別能力.ROC的計算和混淆矩陣相關,混淆矩陣如表1所示.
表1 混淆矩陣Tab.1 Confusion matrix
表2中TP表示真正例,意為預測為陽性,實際也是陽性的樣本數;
FP表示假正例,意為預測是陽性,實際是陰性的樣本數;
FN表示假反例,意為預測是陰性,實際是陽性的樣本數;
TN表示真反例,意為預測是陰性,實際也是陰性的樣本數.
ROC曲線的橫軸表示假陽率(false positive rate,FPR),意為在所有陰性樣本中,預測為陽性的比例;
縱軸表示真陽率(true positive rate,TPR),意為在所有陽性樣本中,預測為陽性的比例;
FPR和TPR的計算公式如下.
ROC曲線下的面積(area under the curve of ROC,AUC)用于比較分類模型的性能,最初使用是在文獻[9]中,現在廣泛應用在醫學圖像分類算法評估中.ROC曲線越接近1,AUC值越大,說明算法性能越好,分類效果越好.
分類模型的準確率(A)即為在所有樣本中,預測正確的數量占總樣本數量的比重,準確率可以判斷總體的正確率.準確率公式表示為
分類模型的精確率(P)即為預測為正樣本占全部預測為正樣本的比重,含義是對正樣本結果中的預測準確程度,精確率的提出是為了讓預測結果盡可能不出錯.精確率公式表示為
分類模型的召回率(R)即為預測為正的樣本數量占所有實際為正的樣本數量的比重,含義是在實際為正的樣本中被預測為正樣本的概率,召回率公式表示為
精確率和召回率互相影響,理想狀態下會追求兩者都高,但實際上兩者互相制約,如果追求精確率高,則召回率低,如果追求召回率高,則精確率會低.基于上述情況,需要綜合考慮,最好的方法是 F1值(F1-Score),F1值是精確率和召回率的調和平均,F1值越大說明模型質量更高,F1值公式表示為
2.3 數據預處理
實驗使用的數據集為美國國立衛生研究院(NIH)于 2017年發布的 ChestX-Ray14公共胸部 X射線數據集,該數據集包含 30805例患者的 112120張正面 X光圖像,圖像大小為 1024×1024.每張圖像都被標記為一種或多種常見的胸部疾病標簽,例如肺炎、心臟腫大、積液、浸潤等,比較特殊的是,該數據集的標簽是由自然語言處理識別放射學報告生成,并不是由專家直接標注,自然語言處理標注的準確率大于90%.數據集中疾病種類分布情況如圖6所示,可以明顯看出樣本分布極其不均衡,疝氣、肺炎等樣本數量較少,浸潤、積液等疾病樣本數量較多,這種情況導致分類模型訓練的難度加大.
圖6 ChestX-Ray14數據集疾病種類比例Fig.6 Proportion of disease types in the ChestX-Ray14 dataset
多數研究通過隨機分割數據集進行訓練、驗證和測試對比,但是這種方案在 ChestX-Ray14數據集中存在問題.由于同一名患者平均擁有 3.6張 X光圖像,可能會同時存在于訓練集和測試集中.因此本文根據公開的官方數據分割標準,采用7∶1∶2的比例將數據集分割成訓練集、驗證集和測試集,確保同一患者的圖像在 3個數據集中無任何交叉.數據集劃分好后,訓練前將圖像轉化為灰度圖像,在灰度圖像基礎上進行自適應直方圖均衡化[22],提高胸部 X 光圖像的對比度.然后隨機裁剪為 224×224像素的圖像,并通過隨機翻轉、旋轉進行數據增強.預處理前后的圖像對比如圖7所示.
圖7 原始X光圖像與處理后的X光圖像Fig.7 Original and processed X-ray images
在八度卷積過程中,參數α表示分配給低頻通道的比率,當α=0時,表示不使用低頻特征,即普通卷積.由于變量α∈ [ 0,1],在 ResNet_50網絡中將α分別取值為 0、0.25、0.50、0.75、1.00 進行實驗,將其所對應的網絡參數量、計算復雜度(floating point operations,FLOPs)、平均 AUC(average-AUC)值進行統計比較.選擇ResNet_50作為基礎網絡的原因是該網絡層數相對較小,訓練時間較短,可以低成本獲得參數α對于基礎網絡的影響效果數據.實驗結果如表2所示.
表2 ResNet_50中網絡參數量、計算復雜度、平均AUC值與α 的對應關系Tab.2 Correspondence among the network parameters,FLOPs, average AUC values and α with Res-Net_50
3.1 有效性分析
由表2數據可知,隨著α的增加,參數量和計算復雜度逐漸降低,當α從0增加到0.25時,FLOPs減少 0.477×109,降低 11.46%,參數量減少 0.106×106.當α增加到 0.50時,FLOPs減少了 1.709×109,降低41.04%,參數量減少了 0.962×106.說明低頻特征通道的比例增加,確實能夠減少網絡的計算復雜度和網絡參數量.并且 AUC值隨著α的增大先增大后減小,當α=0.50時,達到峰值 0.831,比基礎網絡的AUC值提高 0.017,說明當α=0.50時訓練結果最優.表2數據說明八度卷積模塊的加入,能夠有效提取高頻信息,適當弱化低頻信息,對模型的準確率提升有較大作用.
3.2 消融實驗
本文對不同層數的 ResNet進行了實驗對比,分別選擇了50層、101層和152層作為基礎網絡.然后分別對零基礎訓練 ResNet網絡、經過遷移學習的ResNet網絡、零基礎訓練嵌入八度卷積的 ResNet網絡以及經過遷移學習的嵌入八度卷積的ResNet網絡進行消融實驗.由表2數據分析結論將八度卷積的參數α取值為 0.50.將各自訓練模型的參數量、計算復雜度和平均AUC值進行對比,數據如表3所示.
表3 消融實驗結果Tab.3 Results of ablation experiments
根據表3數據可知,經過遷移學習的ResNet_50的 AUC值相比基礎網絡提高 0.005,經過遷移學習的ResNet_101的AUC值相比基礎網絡提高0.009,經過遷移學習的ResNet_152的AUC值相比基礎網絡提高 0.008,說明遷移學習后的模型對網絡性能有提高作用.3種不同層數的 ResNet網絡嵌入八度卷積后,參數量和計算復雜度均有不同程度的下降,平均AUC值均有提升.嵌入八度卷積的ResNet_50相比基礎網絡 FLOPs下降 41.04%,平均 AUC值提高0.017;
嵌入八度卷積的 ResNet_101相比基礎網絡FLOPs下降 44.77%,平均 AUC值提高 0.016;
但是嵌入八度卷積的 ResNet_152相比基礎網絡 FLOPs只下降3.41%,平均AUC值提高 0.013,可能是因為八度卷積在減少網絡計算復雜度方面,對于較深層數的網絡降低幅度有限制.這些網絡參數量的下降幅度在 ResNet_101網絡表現較為明顯,減少 9.6%.嵌入八度卷積的 ResNet網絡經過遷移學習后,平均AUC 值也均有提升,ResNet_50、ResNet_101、ResNet_152分別提升0.002、0.006、0.007.其中 AUC值最佳的是 ResNet_101網絡,嵌入八度卷積且經過遷移學習的ResNet_101平均AUC值達到了0.849.
在表4中表現最優的模型經過遷移學習并嵌入八度卷積的 ResNet_101,把交叉熵函數換為焦點損失函數,得到的平均AUC值為0.856,相比交叉熵損失函數平均 AUC值提高 0.007,交叉熵損失函數與焦點損失函數的實驗結果數據如表4所示.肺炎疾病數據量僅為 1431張,數量相對其他疾病較少,焦點損失函數相比交叉熵損失函數,肺炎的 AUC值提高 0.016,說明焦點損失函數對于樣本較少類別的準確率提升有幫助.
表4 交叉熵損失函數和焦點損失函數AUC值對比Tab.4 Comparison of the AUC values of cross-entropyloss function and focus-loss function
3.3 實驗結果對比
經過表3數據分析發現性能最優的算法組合是嵌入八度卷積和經過遷移學習的 ResNet_101,在此基礎上將交叉熵損失函數換為焦點損失函數,得到的平均AUC值為0.856.在ChestX-Ray14數據集上14種胸部疾病分類結果ROC曲線如圖8所示.
圖8 ChestX-Ray14數據集14種疾病分類ROC曲線Fig.8 ROC curves for classification of 14 diseases in the ChestX-Ray14 dataset
在相同條件下得到的 OC-ResNet在 ChestXRay14數據集上的準確率和F1值如表5所示.平均準確率為0.791,平均F1值為0.481.準確率和F1值作為AUC值的補充指標,進一步說明OC-ResNet算法的分類性能優異.
表5 OC-ResNet準確率和F1值Tab.5 OC-ResNet accuracy and F1 score
將此方法與當前最先進的方法進行比較,分別與Yao 等[10]、Ma 等[23]、Rajpurkar 等[11]、張智睿等[24]提出的方法進行了對比實驗.將 ChestX-Ray14數據集分為訓練集(70%)、驗證集(10%)和測試集(20%),遵循和他們相同比例的數據集劃分方式,表6是用不同方法對14種胸部疾病進行分類的AUC值比較的結果.
表6 在ChestX-Ray14數據集上與最優的方法比較AUC值Tab.6 Comparison of AUC values between the proposed method and the state-of-the-art methods on ChestX-Ray14 dataset
首先從整體分類效果來看,本文方法與其他4種方法相比,14種胸部疾病的平均 AUC值有較大提升,AUC值比其中最優方法(文獻[11])提高了 0.008.其次在心臟擴大、積液、肺氣腫、疝氣疾病分類中的表現較為優異,AUC值均達到了0.900以上,說明本文提出的 OC-ResNet對圖像細粒度的特征學習較好,且通過高低頻的分量卷積運算,對高頻像素的學習效果更優.另外對于除積液之外的其他 13種疾病,本文模型的分類 AUC值均有提升.而在滲透疾病的分類中效果表現較差,可能是因為滲透的病灶位置處于低頻像素區域,學習效果較差.
本文方法與 Yao等[10]方法相比平均 AUC值提升0.095,其中疝氣疾病的AUC值提升幅度最大,提高 0.156,Yao等[10]提出的方法受限于訓練數據集樣本不平衡,依賴標簽之間的關系不夠準確,本文方法采用焦點損失函數,在一定程度上緩解樣本不平衡帶來的準確度不高問題.
本文方法相比 Ma等[23]提出的方法,平均 AUC值提升 0.062,其中積液疾病提升幅度最大,提高0.143.本文和 Rajpurkar等[11]相比,平均 AUC值提高 0.008,肺實變和肺結節提升較為明顯,分別提高0.016和 0.019.本文和張智睿等[24]方法相比,平均AUC值提高0.054.
本文將八度卷積引入胸部疾病分類中,改進ResNet網絡中的普通卷積,提出一種 OC-ResNet算法,提升了胸部多標簽 X光圖像自動分類方法的性能.八度卷積模塊通過分離圖像的高低頻通道,降低低頻通道比例,使模型能夠有效提取高頻信息,同時大幅度降低網絡的計算冗余,并且將 ChestX-Ray14數據集的14種胸部疾病的平均AUC值相比基礎網絡提高 0.016,FLOPs相比基礎網絡下降 44.77%,參數量下降 9.6%.通過漸進式遷移學習的訓練方式,將平均 AUC值提高 0.006.焦點損失函數解決了樣本分布不平衡的問題,相比交叉熵損失函數,平均AUC值提高0.007.在ChestX-Ray14數據集的14種疾病圖像上分類效果優秀,平均AUC值達到0.856.
猜你喜歡八度卷積分類基于3D-Winograd的快速卷積算法設計及FPGA實現北京航空航天大學學報(2021年9期)2021-11-02分類算一算數學小靈通(1-2年級)(2021年4期)2021-06-09從濾波器理解卷積電子制作(2019年11期)2019-07-04分類討論求坐標中學生數理化·七年級數學人教版(2019年4期)2019-05-20數據分析中的分類討論中學生數理化·七年級數學人教版(2018年6期)2018-06-26基于傅里葉域卷積表示的目標跟蹤算法北京航空航天大學學報(2018年1期)2018-04-20教你一招:數的分類初中生世界·七年級(2017年9期)2017-10-13——探究李斯特鋼琴曲《魔王》">鋼琴演奏中的八度技巧——探究李斯特鋼琴曲《魔王》北方音樂(2016年11期)2016-08-12芻議音樂表演與鋼琴演奏中的八度技巧讀與寫·下旬刊(2014年2期)2015-02-09試論音樂表演中如何進行鋼琴演奏中的八度技巧讀與寫·下旬刊(2014年4期)2014-08-07