[發明專利]一種高能效神經網絡架構的搜索方法有效
| 申請號: | 202110147159.6 | 申請日: | 2021-02-03 |
| 公開(公告)號: | CN112784140B | 公開(公告)日: | 2022-06-21 |
| 發明(設計)人: | 楊良懷;沈承宗;范玉雷 | 申請(專利權)人: | 浙江工業大學 |
| 主分類號: | G06F16/953 | 分類號: | G06F16/953;G06N3/04;G06N3/08 |
| 代理公司: | 杭州天正專利事務所有限公司 33201 | 代理人: | 王兵 |
| 地址: | 310014 浙*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 能效 神經網絡 架構 搜索 方法 | ||
1.一種人臉識別方法,具體包括如下步驟:
步驟1:使用公開的人臉數據集作為搜索過程使用的數據集,其中包括200人的58000多張人臉圖像,以8:2的比例劃分訓練集和測試集,并將訓練集對半拆分為所需的訓練集和驗證集;
數據集劃分完成后,根據人臉的預處理技術,使用MTCNN檢測面部標記用以將人臉對齊,然后減去每個通道的平均值對像素歸一化處理,同時隨機翻轉圖片,將圖像填充后再隨機裁剪,最后對所有數據進行重排序;
步驟2:層級能耗模型構建,采集神經網絡推理過程中各層的運行時間T與功率P,包括卷積層、池化層和全連接層;首先對運行時間進行建模,記為模型分為兩部分:KT階常規多項式和特殊多項式公式為:
所建模型第一部分的KT階常規多項式是一個與輸入特征XT相關的函數,特征向量XT包含了神經網絡每一層中的超參,不同類型的網絡層超參有所區別,卷積層包含輸入尺寸、輸出尺寸、濾波器大小、填充值和步長這五個特征;池化層包含輸入尺寸、輸出尺寸、步長和卷積核大小這四個特征;全連接層包含輸入尺寸和輸出尺寸這兩特征;其中xi表示XT中第i個分量,qij是其中xi在第j項中的指數,cj則是待學習的系數;
第二部分對應特殊多項式處理與每一層相關的物理運算,包括內存訪問總數和浮點運算次數兩個特征,但是如第一部分所述,不同類型的網絡層對應的XT不同,所以內存訪問總數和浮點運算次數時需要依據各層的特征進行計算;其中c′s是待學習的系數;
然后對功率進行建模,記為與上述運行時間模型類似,模型分為兩部分:Kp階常規多項式和特殊多項式公式為:
所建模型第一部分的Kp階常規多項式是一個與輸入特征向量XP相關的函數,由于功率模型最終的值必然有上限,特征向量XP在XT的基礎上擴展了XT所有特征的對數,即卷積層包含輸入尺寸、輸入尺寸的對數、輸出尺寸、輸出尺寸的對數、濾波器大小、濾波器大小的對數、填充值、填充值的對數、步長和步長的對數;池化層包含輸入尺寸、輸入尺寸的對數、輸出尺寸、輸出尺寸的對數、步長、步長的對數、卷積核大小和卷積核大小的對數;全連接層包含輸入尺寸、輸入尺寸的對數、輸出尺寸和輸出尺寸的對數;mij是特征xi的第j項中的指數,zj是待學習的系數;第二部分的特殊多項式與上述同理;
第二部分對應特殊多項式所謂特殊即這部分主要處理與每一層相關的物理運算,包括內存訪問總數和浮點運算次數兩個特征,但是如第一部分所述,不同類型的網絡層對應的XP不同,所以內存訪問總數和浮點運算次數時需要依據各層的特征進行計算;其中z′k是待學習的系數;
最終根據采集的數據進行訓練直至模型參數收斂;
步驟3:整體能耗模型構建,對于一個N層的網絡架構,將每一層的運行時間求和,計算出神經網絡總運行時間公式為:
接著通過每一層的運行時間和功率計算得到該層的功耗,N層功耗之和除以總運行時間得到平均功率公式為:
最后計算神經網絡架構整體能耗其中表示神經網絡一次推理的總時間,表示在推理過程中的平均功率,結合公式(2-1)和公式(2-2),整體能耗的計算公式為:
步驟4:為神經網絡初始化一組候選操作集合其中每個操作附帶初始權重α,即架構編碼;使用Cell作為架構搜索的基礎模塊,一個Cell是由N個節點組成的有向無環圖,每個節點就是一個隱表示,每條邊表示一個混合操作;將節點i和節點j之間原本離散的一些操作松弛為所有可能的操作的softmax映射之和即混合操作,其中不同類型的線段表示不同操作;其中表示節點間的候選操作集合,表示節點i、j之間某個操作o的權重,公式為:
節點x(i)的值由其所有前驅節點經過各自的混合操作計算并求和后得到;其中x(j)表示前驅節點值,o(i,j)表示節點i、j之間的有向邊代表的混合操作,公式為:
步驟5:設計用于尋找最優神經網絡架構的損失函數L,選擇交叉熵損失函數作為原損失函數L1,并在原損失函數之上加入與能耗相關的損失C,C由步驟3構建的網絡整體能耗估測模型獲得,其中λ為超參,公式為:
L=L1+λ·C (4-1)
先是固定神經網絡自身的權重w,用梯度下降的方法優化架構編碼α在驗證集上的損失公式為;
其中m為學習率,表示α在上的梯度;
接著固定架構編碼α,用梯度下降的方法優化權重w在訓練集上的損失公式為:
其中n為學習率,表示w在上的梯度;
然后重復上述步驟2、3直至權重w和編碼α收斂;最后從每一個混合操作中選出α值最大的操作替代原先的混合操作,其中兩節點間顏色較深的箭頭表示α值較大的那個操作;至此完成單個Cell的搜索;
整個神經網絡架構將由多個如步驟4所述的Cell堆疊而成;堆疊完成后先初始化整個網絡的權重,然后用原先8:2劃分得到的訓練集重新訓練整個網絡架構,并在測試集上驗證其性能;
步驟6:將步驟5搜索得到的網絡應用于人臉識別中,輸入可能包含人臉的原始圖像,使用OpenCV檢測出圖像中人臉位置,并用傳統的回歸樹模型檢測人臉中的關鍵點,然后根據這些關鍵點對人臉進行對齊與校準,其中關鍵點包括眼睛、鼻子和嘴角部位,接著將校準后的單張人臉圖像作為最終搜索得到的網絡架構的輸入,最終網絡會輸出一個向量,相同或相似人臉的向量之間距離小,而不同人臉的向量之間距離大;當給定一張人臉圖片,檢測數據庫中與之最相似的人時,即可轉化為求與該張人臉圖片的向量距離最近的圖片。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江工業大學,未經浙江工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110147159.6/1.html,轉載請聲明來源鉆瓜專利網。





