蔡恒雨,鄭啟龍,2
1(中國科學技術大學 計算機科學與技術學院,合肥 230026)2(中國科學技術大學 國家高性能計算中心,合肥 230026)
E-mail:chy520@mail.ustc.edu.cn
近年來,深度學習[1]技術獲得了快速發(fā)展,在自然語言處理、語音識別、圖像處理和計算視覺領域取得了很多成果,并且廣泛應用于各個領域.在2012年的ILSCVR競賽中,在ImageNet[2]數(shù)據(jù)集上AlexNet[3]網(wǎng)絡的錯誤率降低到15.3%.在2014年,VGG[4]系列網(wǎng)絡將錯誤率降低到7.3%,GoogleNet[5]網(wǎng)絡將錯誤率降低到6.67%.在2015年,ResNet[6]殘差網(wǎng)絡將錯誤率降低到3.57%.除了在視覺領域的快速發(fā)展,深度學習也逐漸應用于雷達信號處理中,提升雷達信號處理的效率.
隨著深度學習的發(fā)展,深度學習模型變得越來越大.單個計算設備難以滿足深度學習模型的訓練和推斷需求,通常需要將模型部署在分布式計算平臺上,并搭配相應的計算通信庫.GPU(Graphics Processing Unit)作為高性能計算設備的代表,具有較強的計算性能和較高的顯存,經(jīng)常被用于深度學習模型的部署和訓練.為了更好的實現(xiàn)多GPU的并行計算,英偉達公司設計了NCCL和CUDA,NCCL可以在InfiniBand[7]上實現(xiàn)快速通信,CUDA[8]可以提供計算架構,兩者相結合更好的實現(xiàn)了深度學習的部署.在NCCL基礎之上,加州大學伯克利分校與微軟共同發(fā)布GPU通信庫Blink[9].
BWDSP系列處理器[10],是由中電科38所研制的國產(chǎn)單核數(shù)字信號處理器,具有完全自主的知識產(chǎn)權.在此基礎上設計了BWDSP眾核虛擬平臺,并設計了并行通信接口MPIRIO,可以提供更高的計算能力和存儲資源.遺傳算法(GA)[11]可以看作是生物進化理論與搜索優(yōu)化技術的組合,主要是用來解決組合優(yōu)化問題,如背包問題[12]、多機調(diào)度問題[13]和旅行商問題等都屬于NP-Hard[14]問題.
BWDSP眾核虛擬平臺和MPIRIO并行通信接口,為深度學習模型的部署提供了基礎條件.本文考慮采用遺傳算法,解決深度學習模型在BWDSP眾核虛擬平臺上的節(jié)點分配問題,充分利用虛擬平臺提供的計算和存儲資源,加速深度學習模型的訓練和推斷過程.本文接下來的組織如下:第2部分介紹BWDSP虛擬平臺、深度學習和遺傳算法相關知識;第3部分介紹深度學習模型節(jié)點分配的遺傳算法設計;第4部分介紹相關實驗和分析;第5部分是總結.
BWDSP處理器作為國產(chǎn)DSP芯片,內(nèi)部體系結構采用多簇設計方案,具有多個乘加器,適合計算密集型的應用.其指令系統(tǒng)采用VLIW和SIMD架構,可以在一個指令中同時執(zhí)行多個數(shù)據(jù)操作,提供并行計算能力,理論計算性能達到14GFLOPS.內(nèi)部存儲空間分為16個block,共有6MByte的存儲空間,可以通過DDR3/4接口外接存儲器.
BWDSP處理器采用單核結構,在此基礎上設計了相應的BWDSP眾核虛擬平臺.BWDSP單核虛擬平臺架構示意圖如圖1所示,板卡上配有4個BWDSP模型,外部存儲器模型和數(shù)據(jù)交換模型,其中交換模型支持RapidIO[15]協(xié)議和Ethernet[16]交換協(xié)議.BWDSP單板卡上提供了出板卡的端口,可以通過級聯(lián)其它單板卡形成眾核虛擬平臺.
在BWDSP眾核虛擬平臺的基礎上,設計了并行通信接口MPIRIO,提供了類似MPI標準的通信接口,并對其中的群集通信接口進行了優(yōu)化.深度學習模型中主要包括數(shù)據(jù)通信和數(shù)據(jù)計算節(jié)點,而MPIRIO提供的通信接口可以實現(xiàn)數(shù)據(jù)通信,適合深度學習模型的部署,同時也方便用戶部署計算任務和使用.
深度學習模型的發(fā)展歷程,總體上是由簡單到復雜,對計算資源和存儲資源的需求越來越大.其快速發(fā)展主要有下幾個原因:
1) 深度學習框架不斷完善.隨著深度學習技術在學術界和工業(yè)界的發(fā)展和應用,出現(xiàn)了多種深度學習框架,如Tensorflow[17]和MXNet等.
2) 計算設備的不斷發(fā)展.高性能計算設備如DSP、CPU、FPGA和GPU都在不斷發(fā)展,提供了更高的計算能力和更大的存儲資源.
3) 深度學習模型越來越大.早期的深度學習模型結構比較簡單,可能發(fā)生過擬合問題[18].現(xiàn)在的深度學習模型可以達到十幾層和上百層,如VGG16、VGG19和ResNet等,模型的精度更高.
遺傳算法是一種通過模擬自然進化過程來搜索最優(yōu)解的方法.在計算機領域中,存在著許多優(yōu)化問題,其中某些優(yōu)化問題屬于NP-Hard問題,即無法在多項式時間內(nèi)解決的問題.針對NP-Hard類問題,可以考慮使用遺傳算法,在有限時間內(nèi)獲得一個較優(yōu)解.
深度學習模型的訓練過程包括前向傳播和反向傳播過程,其示意圖如圖2所示.其訓練過程涉及計算節(jié)點如何分配到計算設備上,將該問題抽象為優(yōu)化問題,可以使用遺傳算法解決該問題.本文設計了靜態(tài)遺傳算法和動態(tài)遺傳算法解決該問題.
深度學習模型中的卷積運算屬于典型的計算密集型運算,通常具有較少的權重參數(shù),但是卻占了整個模型近90%的計算量.設輸入數(shù)據(jù)為一張圖片,其通道數(shù)為c_in,圖片的高為h_in,圖片的寬為w_in,卷積核的數(shù)量為c_out,卷積核的尺寸為k_h×k_w(通常k_h和k_w是相等的).輸出的張量高為h_out,張量寬為w_out,通道數(shù)為c_out,需要的乘法計算量為com_m,加法計算量為com_a,總的計算量為com_t,分別滿足公式(1)和公式(2).卷積運算需要的存儲量為mem_t,分為輸入數(shù)據(jù)存儲量mem_in,卷積核存儲量mem_k,輸出數(shù)據(jù)存儲量mem_out,其關系滿足公式(3).
(1)
(2)
(3)
全連接層與卷積層相反,權重參數(shù)量很大,占用了很多的存儲資源,而計算量比卷積層小的多,通常是二維的矩陣乘法.設輸入數(shù)據(jù)為二維矩陣,高和寬分別為h_in和w_in,權重參數(shù)矩陣w的維度為h_wei和w_wei,偏置值為bias,其維度是h_in,其中w_in等于h_wei.全連接層需要的計算量為com_full,需要的存儲資源為mem_full,滿足公式(4)和公式(5),其中bias需要的計算量很小,可以忽略不計.
(4)
(5)
靜態(tài)遺傳算法是指,對于深度學習模型的各個計算節(jié)點,預估其所需要的計算資源和存儲資源,然后結合各設備的計算能力和存儲資源進行分配.BWDSP眾核虛擬平臺提供的帶寬很大,結合MPIRIO并行通信接口,使得數(shù)據(jù)傳輸時間可以被BWDSP的計算時間所覆蓋.靜態(tài)遺傳算法中弱化了數(shù)據(jù)通信時間的限制,重點分析BWDSP眾核虛擬平臺如何使用遺傳算法加速模型的訓練過程.
預估深度學習模型各層的計算時間,主要是計算量.深度學習模型各層需要的存儲空間,主要包括輸入數(shù)據(jù)、權重參數(shù)和輸出數(shù)據(jù)所需要的存儲空間.設計了相關函數(shù)來獲得模型各層的計算和存儲消耗,主要有以下函數(shù):
表1 compute_memory_prediction()介紹Table 1 Introduction of compute_memory_prediction()
1)compute_memory_prediction()函數(shù):該函數(shù)的參數(shù)介紹如表1所示,返回值為布爾類型.其中tensor_t是自定義結構體,用來代表張量,其中包括張量的維度以及各維的大小,以及數(shù)據(jù)指針.輸入?yún)?shù)包括輸入和權重張量,以及層類型layer_kind,對于卷積層和池化層,設計單獨的函數(shù)獲取計算和存儲消耗.輸出包括計算量和存儲量.
表2 conv3_compute_memory_prediciton()介紹Table 2 Introduction of conv3_compute_memory_prediction()
2) conv3_compute_memory_prediction()函數(shù):該函數(shù)的返回值也是布爾類型,用于獲得卷積操作的計算量和存儲量.該函數(shù)的參數(shù)介紹如表2所示,輸入?yún)?shù)包含輸入數(shù)據(jù)tensor_input,卷積核參數(shù)tensor_kernel,滑動步長參數(shù)stride,填充參數(shù)pad和是否具有偏置值標志bias_flag.本設計中滑動步長在水平和垂直方向是一樣的,只有一個滑動步長參數(shù)stride.輸出參數(shù)也是計算量和存儲量.
深度學習模型具有n層,有m個計算設備,滿足n>m的條件,當n≤m時,理論上來說將模型的每一層分別放在每個計算設備上可以使模型訓練時間最短.模型的每層在每個設備上的計算時間構成一個時間矩陣time=[...]n×m,其中timeij表示模型第i層在第j個設備上的計算時間.存儲矩陣memory=[...]n×m,其中memoryij表示模型第i層在第j個設備上需要的存儲空間.各個計算設備具有的存儲資源構成一個設備存儲矩陣M=[...]m,其中Mj表示第j個設備所具有的存儲資源.
靜態(tài)遺傳算法主要包括以下幾個步驟:
1)編碼:本設計中采用整數(shù)編碼的方式,x是一個長度為n的整數(shù)串,x={a1,a2,...,an}(1≤ai≤m,i=1,2,...,n),ai代表模型的第i層放在第ai個計算設備上.
2)選擇:本設計中采用輪盤賭算法,即每個個體的適應度得到一個概率值,該概率值表示傳遞給下一代的概率.
3)交叉:在兩條父染色體(分配方案)中同時選擇一個交叉位,然后將兩條父染色體的后面部分交換,形成新的染色體,如圖3所示.
4)變異:選擇一條染色體(分配方案),將其中的一位或多位變異生成新的分配方案如圖3所示.
5)消除不可行解:通過設置每個計算設備都需要被使用的約束,如公式(7)所示,其中countij表示模型的第i層是否放在第j個計算設備上.可以將某些不符合約束條件的染色體進行調(diào)整,使其變?yōu)榉霞s束條件的解,如圖3所示.本設計中的約束條件主要是每個BWDSP芯片的存儲資源有限.
圖3 靜態(tài)遺傳算法交叉變異示意圖Fig.3 Schematic diagram of static genetic algorithm cross mutation
6)優(yōu)化目標:優(yōu)化目標f是深度學習模型節(jié)點分配在各個BWDSP模型上,需要計算時間最大的BWDSP模型其執(zhí)行時間越小越好.優(yōu)化目標如公式(6)所示,其中ti代表在第i個計算設備BWDSP上最終需要的計算時間.
7)適應函數(shù):遺傳算法的進化原則是適應度好的個體留下來,而優(yōu)化目標是最小的計算時間,所以設計如公式(8)所示的適應函數(shù).其中T是加上約束條件的計算時間,而F是適應函數(shù)值,αj作為懲罰系數(shù)設置為2.
f=min max(t1,t2,...,tm)
(6)
(7)
(8)
靜態(tài)遺傳算法視為二重迭代算法.迭代次數(shù)為E,種群大小C,每個個體進行深度學習訓練時間為t.每個個體占用的存儲資源為s.由于t和s都是通過函數(shù)預估計算出來的,所以可以用一個常數(shù)t_const來代表t,用常數(shù)s_const代表s,則使用靜態(tài)遺傳算法時間復雜度近似為O(E×C×t_const),空間復雜度近似為O(n×C+C×s_const).
動態(tài)遺傳算法是指,將深度學習模型的每一個分配方案都進行編碼,然后將其分配到各個計算設備上運行.根據(jù)運行時間求得適應度函數(shù),再選擇較優(yōu)的個體遺傳到下一代.該算法與靜態(tài)遺傳算法的區(qū)別在于,通過實際運行深度學習模型獲得計算時間,得到的結果更加準確.
圖4 動態(tài)遺傳算法框架圖Fig.4 Dynamic genetic algorithm framework
動態(tài)遺傳算法的基本框架如圖4所示,采用整數(shù)編碼方式.整體過程類似于靜態(tài)遺傳算法的步驟,主要包括種群初始化,適應度值計算,個體選擇、交叉和變異,生成下一代種群等過程.動態(tài)遺傳算法與靜態(tài)遺傳算法主要有如下幾點區(qū)別:
1)動態(tài)遺傳算法中,每次深度學習模型的分配方案一旦確定,就需要將其在BWDSP虛擬平臺上進行運行,收集實際的運行時間.采用公式(7)和公式(8),對某些不可行解進行修復,并進行懲罰操作,獲得最終得適應度值.
2)深度學習模型在BWDSP虛擬平臺上運行時,虛擬平臺的拓撲結構會影響模型中不同層間的通信時間.當BWDSP虛擬平臺較小時,各BWDSP設備的距離比較近,所以通信時間可以被數(shù)據(jù)計算時間所覆蓋.當BWDSP虛擬平臺較大時,對于距離較遠的BWDSP設備,通信時間可能無法被計算時間所覆蓋.此時數(shù)據(jù)流水線會受到影響,得到的模型分配方案運行時間較長.
3)動態(tài)遺傳算法得探索空間更大,靜態(tài)遺傳算法中模型節(jié)點的計算時間和存儲空間已經(jīng)預估出來,探索空間相對確定.動態(tài)遺傳算法在實際運行過程中,可能會發(fā)現(xiàn)某些深度學習模型分配方案,這些方案更適合BWDSP虛擬平臺拓撲結構,而該分配方案是靜態(tài)遺傳算法難以發(fā)現(xiàn)的.
動態(tài)遺傳算法的過程也視為二重迭代算法,分別為種群迭代次數(shù)和每代種群個體數(shù).迭代次數(shù)為E,種群大小為C,個體進行深度學習訓練時間的平均值為T,占用的存儲資源為S,則動態(tài)遺傳算法時間復雜度近似為,空間復雜度近似為.動態(tài)遺傳算法中的時間是深度學習模型的實際訓練時間,而靜態(tài)遺傳算法中時間是通過函數(shù)計算得到的,兩者可能會存在誤差.
深度學習模型中存在多級并行性,如一個批次通常包含多條數(shù)據(jù),每條數(shù)據(jù)通常用多維矩陣表示等.由于BWDSP虛擬平臺上各個BWDSP芯片提供的存儲資源有限,將深度學習模型的訓練過程變?yōu)榱魉€形式,即一個批次的輸入數(shù)據(jù)按照流水線送入虛擬平臺中,得到虛擬平臺運行模型的時間.
MPIRIO通信接口中提供了mpirio_send函數(shù)和mpirio_recv函數(shù),可以實現(xiàn)向量數(shù)據(jù)發(fā)送.深度學習模型中的數(shù)據(jù)通信,通常是張量形式的數(shù)據(jù),將其轉化為矩陣后,以向量的形式通過MPIRIO的通信接口發(fā)送.MPIRIO還提供了優(yōu)化的broadcast、gather和reduce等操作接口,這些接口適合深度學習模型的數(shù)據(jù)并行訓練方式.本文主要描述深度學習模型的模型并行訓練方式,使用MPIRIO通信接口提供的點對點通信函數(shù).
實驗過程主要是設計一個深度學習模型,使用靜態(tài)遺傳算法和動態(tài)遺傳算法分別訓練,獲得模型在BWDSP眾核虛擬平臺上的分配方案.
本次實驗使用的BWDSP虛擬平臺拓撲結構如圖5所示,是由兩個BWDSP單板卡虛擬平臺組成,共有8個BWDSP芯片模型.
圖5 實驗使用BWDSP虛擬平臺拓撲結構圖Fig.5 Experiment uses BWDSP virtual platform topology structure diagram
本次實驗設計了一個10層的深度學習模型,其結構如圖6所示.由于本設計的重點是驗證遺傳算法解決深度學習模型節(jié)點在BWDSP虛擬平臺上的部署,主要分析卷積層和全連接層的影響.激活層計算量和存儲量較小,池化層分析過程類似于卷積層,所以設計的深度學習模型主要包括全連接層和卷積層.
圖6 實驗使用深度學習模型結構Fig.6 Experiment using deep learning model structure
靜態(tài)遺傳算法首先要對深度學習模型進行預估,即預估模型各層的計算量和存儲量.使用本文設計的compute_memory_prediction()函數(shù)和conv3_compute_memory_prediction()函數(shù),對圖6所示的模型進行預估,得到的模型每層的計算量和存儲量如表3所示.
表3 實驗模型每層計算量和存儲量Table 3 Calculation and storage of each layer of the experimental model
以表3中第1層的數(shù)據(jù)分析,輸入數(shù)據(jù)維度是3×128×128,卷積核參數(shù)維度是16×3×3×3,步長是2,填充長度是0.根據(jù)公式(1)和公式(2),對于一條三維輸入數(shù)據(jù),需要的計算量是3342336,與表3中數(shù)據(jù)一致.按照公式(1)和公式(3),需要的存儲量為115120,由于數(shù)據(jù)通常是整型或者浮點類型,統(tǒng)一為浮點類型后每個數(shù)據(jù)需要4字節(jié)的存儲空間,故需要的存儲空間為460480字節(jié),大約0.47M的存儲空間.表3中第6層的數(shù)據(jù),輸入數(shù)據(jù)維度為128×32×32,權重參數(shù)維度為1024×100.根據(jù)公式(4)得到計算量為26201600,根據(jù)公式(5)得到存儲量為246272,需要的數(shù)據(jù)存儲空間為985088字節(jié).
將表3中計算量和存儲量進行轉化,獲得在BWDSP設備上的計算時間和數(shù)據(jù)存儲空間,生成的數(shù)據(jù)見表4.BWDSP的理論計算性能可以達到14GFLOPS,實際計算性能可以達到12.87GFLOPS.
分析表4中的數(shù)據(jù)可以發(fā)現(xiàn),深度學習模型每層的數(shù)據(jù)存儲空間消耗小于1MByte,故限制每個BWDSP芯片的存儲空間為1MByte,則虛擬平臺提供8M的數(shù)據(jù)存儲空間.8M的數(shù)據(jù)存儲空間,可以完整的部署深度學習模型,同時也可以測試多個計算節(jié)點分配在1個BWDSP芯片模型上,可能出現(xiàn)的違反約束條件的情況.
表4 實驗模型計算時間和數(shù)據(jù)存儲空間表Table 4 Experimental model calculation time and data storage space table
深度學習模型用靜態(tài)遺傳算法得到的分配方案結果如表5所示,變異算子設置為0.1,交叉算子設置為0.6,種群大小為100,遺傳算法迭代次數(shù)為10000次.表5中6種分配方案的優(yōu)化目標都是11.080523MS,這是因為本次選擇的模型中第5層的計算時間較長,在最后獲得的最佳分配方案中第5層的計算時間起決定性因素.
表5 靜態(tài)遺傳算法測試結果Table 5 Static genetic algorithm test results
以表5中第1條數(shù)據(jù)為例進行分析,詳細分配表示模型的第1層分配在0號BWDSP上,模型的第2層分配在2號BWDSP上,依次類推.觀察這6條數(shù)據(jù),可以發(fā)現(xiàn)當模型的第5層分配在某個BWDSP設備上后,該設備上不會分配其它模型層,原因是該層占據(jù)了較多的計算量.
為了證明靜態(tài)遺傳算法具有一定的靈活性,重新設置BWDSP虛擬平臺中各個BWDSP模型的數(shù)據(jù)存儲空間大小,驗證該深度學習模型在虛擬平臺上的部署,得到了與表5類似的實驗結果.對深度學習模型第5層及之后的模型層進行修改,調(diào)整權重張量,使模型第5層的計算量有所減少,模型各層在整體上更加平衡.然后部署在BWDSP虛擬平臺上,驗證了靜態(tài)遺傳算法的靈活性和有效性.
基于圖6所示的深度學習模型,進行動態(tài)遺傳算法測試.在動態(tài)遺傳算法中,對于變異因子和交叉因子,分別設置為0.1和0.6,種群大小為100,與靜態(tài)遺傳算法保持一致.動態(tài)遺傳算法的迭代次數(shù)設置為1000次,主要考慮到訓練消耗時間,并且在迭代1000次之前算法已經(jīng)得到較優(yōu)分配方案.
動態(tài)遺傳算法中,對于每一個深度學習模型的節(jié)點分配方案,都需要將其部署在BWDSP虛擬平臺上運行.如果模型當前層和下一層不在同一個BWDSP模型上,就需要使用MPIRIO提供的MPIRIO_send()和MPIRIO_recv()通信函數(shù).
動態(tài)遺傳算法測試結果如表6所示,最終得到的單個BWDSP芯片的最長計算時間在12MS左右.得出的分配方案運行時間比靜態(tài)遺傳算法略長,是因為系統(tǒng)中存在3個交換模型,交換模型的轉發(fā)速度限制了模型上一層的輸出數(shù)據(jù)及時到達模型下一層.觀察表6中的數(shù)據(jù),可以發(fā)現(xiàn)每個模型分配方案中,模型的第5層與第4層或者第6層分布在不同BWDSP單板卡上,由于第5層需要的計算時間較長,采用這種分配方案可以讓傳輸時間較長與計算時間較長達到相互配合.動態(tài)遺傳算法能夠發(fā)現(xiàn)這種規(guī)律,并且在迭代過程中生成了相應的分配方案.
表6 動態(tài)遺傳算法測試結果Table 6 Dynamic genetic algorithm test results
動態(tài)遺傳算法在不同批次大小的情況下,其訓練消耗時間比較大.對于圖6所示的深度學習模型,其完整的前向傳播過程在單個BWDSP模型上需要大約31MS.在BWDSP眾核虛擬平臺上,其需要的流水線時間Time滿足公式(9).其中full代表一個完整的前向傳播的時間,即31MS,batch_size代表一批輸入數(shù)據(jù)的數(shù)量,part代表流水線中最長的一段的時間,即12MS.如果以單個BWDSP模型訓練一批數(shù)據(jù),其所需要的時間為Full_time,滿足公式(10).動態(tài)遺傳算法得到的分配方案,相比單個BWDSP模型的加速比為P,滿足公式(11).
Time=full+(batch_size-1)×part
(9)
Full_time=full×batch_size
(10)
(11)
表7 動態(tài)遺傳算法在不同批次大小訓練時間Table 7 Training time of dynamic genetic algorithm in different batch sizes
從表7中可以看出,當batch_size為50時,單個模型個體的訓練時間為619MS,動態(tài)遺傳算法訓練耗時達到61900S,超過了17個小時.動態(tài)遺傳算法通過訓練階段消耗大量的時間,得到一個較優(yōu)的分配方案,在實際模型訓練和推斷的過程中節(jié)約時間.
上述實驗結果表明:靜態(tài)遺傳算法和動態(tài)遺傳算法,兩種算法都可以得到較優(yōu)的模型分配方案.靜態(tài)遺傳算法首先預估模型需要的計算資源和存儲資源,利用預估數(shù)據(jù)代表模型的訓練開銷,進行遺傳算法優(yōu)化,得到模型較優(yōu)的分配方案.動態(tài)遺傳算法通過深度學習模型的實際訓練,收集訓練時間開銷,得到較優(yōu)的分配方案.
本文在BWDSP虛擬平臺和MPIRIO并行通信接口的基礎上,分析了深度學習模型在訓練過程中需要的時空資源,并使用遺傳算法優(yōu)化深度學習模型在BWDSP眾核虛擬平臺上的部署.設計了靜態(tài)遺傳算法和動態(tài)遺傳算法,靜態(tài)遺傳算法可以在較快的時間內(nèi)獲得一個較優(yōu)的模型分配方案,但損失了一些時間上的準確度.而動態(tài)遺傳算法通過在訓練階段消耗更多的時間,得出較優(yōu)的模型分配方案,并且獲得更加準確的模型訓練時間.兩種遺傳算法得出的深度學習模型分配方案,都可以加速深度學習模型在BWDSP眾核虛擬平臺上的部署和運行,提高了BWDSP眾核虛擬平臺的可用性.
本文中重點討論了模型的前向傳播過程,之后的工作重點需要考慮模型的反向傳播過程,如何在遺傳算法優(yōu)化模型節(jié)點分配的過程中,優(yōu)化深度學習模型的參數(shù).本文考慮的深度學習模型結構比較簡單,之后需要對殘差網(wǎng)絡和跳躍網(wǎng)絡等進行分析,并用遺傳算法優(yōu)化其在BWDSP眾核虛擬平臺上的部署,提升本文遺傳算法的適用性.