• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于無梯度進化的神經(jīng)架構(gòu)搜索算法研究綜述

    2020-09-18 00:23:46尚迪雅洪振厚曾慶亮
    計算機工程 2020年9期
    關(guān)鍵詞:搜索算法網(wǎng)絡(luò)結(jié)構(gòu)變異

    尚迪雅,孫 華,洪振厚,曾慶亮

    (1.新疆大學(xué) 軟件學(xué)院 軟件工程技術(shù)重點實驗室,烏魯木齊 830002; 2.深圳大學(xué) 光電工程學(xué)院 光電子器件與系統(tǒng)教育部/廣東省重點實驗室,廣東 深圳 518060)

    0 概述

    近年來,隨著人工智能技術(shù)的快速發(fā)展,自動化機器學(xué)習(xí)(Automated Machine Learning,AutoML)[1-2]已成為機器學(xué)習(xí)領(lǐng)域[3-5]的一個熱點研究方向,并廣泛應(yīng)用于計算機視覺[6]、數(shù)據(jù)挖掘[7]、圖像分割[8]和自然語言處理[9]等領(lǐng)域。

    機器學(xué)習(xí)包括統(tǒng)計機器學(xué)習(xí)和深度學(xué)習(xí)2個方面[10]。統(tǒng)計機器學(xué)習(xí)在處理問題時一般包括數(shù)據(jù)預(yù)處理[11]、特征工程[12]和模型選擇[13]等內(nèi)容,這些操作均需要手動完成。在深度學(xué)習(xí)領(lǐng)域,神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)在通常情況下也需人工設(shè)計,為了得到一個效果較好的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),往往需要耗費很多時間和精力。為解決上述問題,AutoML應(yīng)運而生。AutoML包含針對統(tǒng)計機器學(xué)習(xí)的自動化算法和針對深度學(xué)習(xí)的自動化算法2個部分。針對統(tǒng)計機器學(xué)習(xí)的自動化算法包括自動特征工程[14]和自動模型選擇[15-16]等內(nèi)容。本文的研究對象是針對深度學(xué)習(xí)的自動化算法,即自動化深度學(xué)習(xí)。自動化深度學(xué)習(xí)算法是一種特殊的機器學(xué)習(xí)算法,其可以獲得高性能且十分靈活的網(wǎng)絡(luò)結(jié)構(gòu)。自動化深度學(xué)習(xí)算法用概念組成的網(wǎng)狀層級結(jié)構(gòu)來表示網(wǎng)絡(luò)世界,每一個概念由更簡單抽象的概念相連而成,且前者可通過后者計算而得。自動化深度學(xué)習(xí)根據(jù)當(dāng)前問題的特點,通過自動搜索網(wǎng)絡(luò)結(jié)構(gòu)得到更多樣且性能更好的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),由此減少人工設(shè)計網(wǎng)絡(luò)所花費的時間和人力并提高搜索效率和神經(jīng)網(wǎng)絡(luò)的性能。

    網(wǎng)絡(luò)架構(gòu)自動搜索方法包括多種搜索策略,以進化算法為搜索策略的神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索(Neural network Architecture Search,NAS)算法,按照復(fù)雜程度可分為基于神經(jīng)元的神經(jīng)架構(gòu)搜索算法、基于CNN的神經(jīng)架構(gòu)搜索算法和基于DNN的神經(jīng)架構(gòu)搜索算法。本文分析并歸納這3類算法的特點和應(yīng)用現(xiàn)狀,并對神經(jīng)架構(gòu)搜索算法的未來發(fā)展方向進行展望。

    1 神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索

    隨著深度學(xué)習(xí)技術(shù)的發(fā)展,網(wǎng)絡(luò)結(jié)構(gòu)由最初的LeNet[17](7層結(jié)構(gòu))發(fā)展到后來的AlexNet[18]、VGGNet[19]、GoogLeNet[20-21](22層結(jié)構(gòu))以及ResNet[22](152層結(jié)構(gòu))。網(wǎng)絡(luò)結(jié)構(gòu)越來越深,模型也變得越來越復(fù)雜,雖然這些模型足夠靈活,但人工設(shè)計網(wǎng)絡(luò)結(jié)構(gòu)仍然需要大量的專業(yè)知識以及充足的時間,而且針對深度學(xué)習(xí)模型的調(diào)參優(yōu)化也非常繁瑣。眾多的超參數(shù)和網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)會產(chǎn)生爆炸性的組合,常規(guī)的隨機搜索和網(wǎng)格搜索效率較低,因此,效率較高的NAS和模型優(yōu)化引起了學(xué)者們的廣泛關(guān)注。

    NAS[23]可以針對特定數(shù)據(jù)集從初始時刻設(shè)計性能良好的模型。一般NAS問題可以被定義為搜索空間和搜索策略2個子問題。搜索空間定義了被優(yōu)化問題的變量和參數(shù)等,其代表一組可供搜索的神經(jīng)網(wǎng)絡(luò)架構(gòu)。搜索策略定義了使用什么算法可以快速、準(zhǔn)確找到最優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)配置。常見的搜索方法包括隨機搜索、基于貝葉斯優(yōu)化、基于進化算法、基于強化學(xué)習(xí)[24-25]和基于可微分神經(jīng)架構(gòu)搜索[26-27]等。本文以基于進化算法的NAS為研究對象,闡述進化算法、進化神經(jīng)網(wǎng)絡(luò)的發(fā)展歷程,分析近年來較受關(guān)注的若干基于進化算法的神經(jīng)架構(gòu)搜索算法的特點和應(yīng)用現(xiàn)狀。

    2 進化算法和進化神經(jīng)網(wǎng)絡(luò)

    2.1 進化算法的發(fā)展

    進化算法是一類算法的統(tǒng)稱,為一個“算法簇”。進化算法借鑒與模擬生物界的多種生物現(xiàn)象來實現(xiàn)搜索過程,一般包括基因編碼、種群初始化、交叉變異算子、經(jīng)營保留機制等基本操作。進化算法簇主要包含遺傳算法(Genetic Algorithm,GA)、進化策略(Evolutionary Strategies,ES)和進化規(guī)劃(Evolutionary Programming,EP),后期又提出了遺傳規(guī)劃(Genetic Programming,GP)。

    遺傳算法[28]是模擬達(dá)爾文生物進化論中自然選擇和遺傳學(xué)機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優(yōu)解的方法。

    進化策略[29]是一種模仿生物進化的求解參數(shù)優(yōu)化問題的方法。與遺傳算法不同的是,進化策略采用實數(shù)值作為基因,總是遵循均值為零、方差為某值的高斯分布變化規(guī)律來產(chǎn)生新的個體,然后保留最優(yōu)的個體。

    進化規(guī)劃是在人工智能技術(shù)研究過程中提出的一種有限狀態(tài)機進化模型,在此模型中機器狀態(tài)基于分布的規(guī)律進行編譯。文獻[30]對進化規(guī)劃進行改進,使其可處理實數(shù)空間的優(yōu)化問題,并在變異運算中引入正態(tài)分布變異算子,使得進化規(guī)劃成為一種優(yōu)化搜索工具并廣泛應(yīng)用于很多實際問題。進化規(guī)劃模擬生物種群層次上的進化,因此,在進化過程中主要強調(diào)生物種群行為上的聯(lián)系,即依據(jù)種群層次上的行為進化而建立父、子代間的行為鏈,優(yōu)秀的子代才有資格生存。

    遺傳規(guī)劃[31]是一種自動搜索程序的算法,該算法是一種新的全局優(yōu)化搜索算法,簡單通用、魯棒性強且對非線性復(fù)雜問題展現(xiàn)出很強的求解能力,因此被廣泛應(yīng)用于許多不同的領(lǐng)域。

    從適應(yīng)度的角度而言,遺傳算法可用于選擇優(yōu)秀的父代(優(yōu)秀的父代產(chǎn)生優(yōu)秀的子代),而進化規(guī)劃和進化策略則用于選擇子代(優(yōu)秀的子代才能存在)。遺傳算法與遺傳規(guī)劃強調(diào)的是基于編碼基因的鏈?zhǔn)絻?yōu)化與篩選,而進化規(guī)劃和進化策略更著重于結(jié)果選擇。

    近年來,對于遺傳算法、進化策略、進化規(guī)劃和遺傳規(guī)劃的定義一直存在較多爭議,且遺傳算法的應(yīng)用較為廣泛,因此,在很多情況下,對于進化算法而言并沒有進行明確地區(qū)分,通常將遺傳算法稱為進化算法。

    進化算法是一種無梯度的優(yōu)化算法,先隨機生成一個種群(N組解),然后循環(huán)執(zhí)行選擇、交叉、變異,直到滿足最終條件后停止循環(huán)。進化算法盡管有多個重要分支,但它們卻有著共同的進化框架。假設(shè)P為種群,t為進化代數(shù),P(t)為第t代種群,則進化計算的基本結(jié)構(gòu)可以描述如下:

    {

    確定編碼形式和搜索空間;

    初始化各進化參數(shù),并設(shè)置進化代數(shù)t=0;

    初始化種群P(0);

    計算初始化種群的適應(yīng)度;

    While(不滿足終止條件) do

    {

    t=t+1;

    利用選擇操作從P(t-1)代中選出P(t)代群體;

    對P(t)代種群執(zhí)行進化操作;

    計算P(t)代種群的適應(yīng)度值;

    }

    }

    2.2 進化神經(jīng)網(wǎng)絡(luò)

    1989年MILLER等人提出神經(jīng)進化的概念,利用遺傳算法進行神經(jīng)網(wǎng)絡(luò)的進化,通過搜索行為空間可以在特定任務(wù)中取得更好的結(jié)果[32]。

    神經(jīng)網(wǎng)絡(luò)是一種對人類智能結(jié)構(gòu)的模擬方法,其通過對大量人工神經(jīng)元的廣泛并行互聯(lián),構(gòu)造人工神經(jīng)網(wǎng)絡(luò)系統(tǒng)從而模擬生物神經(jīng)系統(tǒng)的智能機理。進化計算是一種對人類智能的演化模擬方法,其通過對生物遺傳和演化過程的認(rèn)知,用進化算法去模擬人類智能的進化規(guī)律。

    進化神經(jīng)網(wǎng)絡(luò)將進化算法的進化自適應(yīng)機制與神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)計算機機制有機結(jié)合在一起,實現(xiàn)對動態(tài)環(huán)境的自適應(yīng)。進化神經(jīng)網(wǎng)絡(luò)包括鏈接權(quán)值、網(wǎng)絡(luò)結(jié)構(gòu)和學(xué)習(xí)規(guī)則的進化,圖1所示為神經(jīng)網(wǎng)絡(luò)的進化過程。

    圖1 神經(jīng)網(wǎng)絡(luò)的基本進化過程

    3 基于無梯度進化的神經(jīng)架構(gòu)搜索算法

    基于無梯度進化的NAS按照復(fù)雜程度可以分為基于神經(jīng)元的神經(jīng)架構(gòu)搜索、基于DNN的神經(jīng)架構(gòu)搜索和基于CNN的神經(jīng)架構(gòu)搜索。

    基于神經(jīng)元的神經(jīng)架構(gòu)搜索是指神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)是以神經(jīng)元為基本單元,一個節(jié)點就是一個神經(jīng)元,然后由神經(jīng)元的堆疊來構(gòu)造神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。其進化過程則是通過改變神經(jīng)元之間的鏈接權(quán)重或拓?fù)浣Y(jié)構(gòu),從最簡單的單個神經(jīng)元的結(jié)構(gòu)開始搜索,直至得到符合當(dāng)前問題的最優(yōu)結(jié)構(gòu)為止。

    基于DNN的神經(jīng)架構(gòu)搜索是指當(dāng)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)越來越復(fù)雜時,為了提高搜索效率,基本單元由固定的DNN層組成,一個節(jié)點就是一個DNN層。其進化過程則是通過一種共同進化的方式,增加神經(jīng)網(wǎng)絡(luò)的可復(fù)用性和可遷移性。

    基于CNN的神經(jīng)架構(gòu)搜索是指隨著CNN的廣泛應(yīng)用,為了能夠自動構(gòu)建CNN架構(gòu),而將CNN中的卷積層、池化層等操作作為基本單元,節(jié)點表示卷積操作、池化操作等操作類型。其進化過程主要采用經(jīng)典的遺傳算法,主要步驟包括初始化、選擇、變異、交叉和適應(yīng)度評估等。

    3.1 基于神經(jīng)元的神經(jīng)架構(gòu)搜索算法

    經(jīng)典的基于神經(jīng)元的神經(jīng)進化方式可以分為2種,一種是固定神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),改變權(quán)重值,另一種是神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和權(quán)重值都改變,從而實現(xiàn)神經(jīng)進化。

    3.1.1 神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)固定的方式

    在神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)固定的方式中,通過改變權(quán)重值來進化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。如圖2所示,在一個全鏈接的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)是指一個隱藏的神經(jīng)元層,每個隱藏的神經(jīng)元分別鏈接到每個網(wǎng)絡(luò)的輸入和每個網(wǎng)絡(luò)的輸出,進化可以通過不斷嘗試變異的方式來修改鏈接中間的權(quán)重值和偏置值,從而改變神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果。

    圖2 全鏈接神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)

    3.1.2 權(quán)重及其形態(tài)改變的方式

    鏈接權(quán)重并不是影響神經(jīng)進化的唯一參數(shù),神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)也會影響其效果。將遺傳算法與神經(jīng)網(wǎng)絡(luò)相結(jié)合的經(jīng)典算法之一是增強拓?fù)涞纳窠?jīng)進化網(wǎng)絡(luò)(Neuro Evolution of Augmenting Topologies,NEAT)算法[33]。當(dāng)用一個很復(fù)雜的神經(jīng)網(wǎng)絡(luò)來解決一個簡單的問題時會造成層結(jié)構(gòu)的浪費,因此,NEAT分析需要使用多少鏈接,忽略其中無用的鏈接從而構(gòu)成更小的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)并提高運行效率。NEAT包括修改權(quán)重、添加節(jié)點和鏈接3種突變方式,在現(xiàn)有鏈接中插入節(jié)點。NEAT算法的基因編碼、神經(jīng)網(wǎng)絡(luò)變異和交叉的具體過程如下:

    1)NEAT的基因編碼方式

    NEAT的基因編碼方式如圖3所示,其中,Node Genes是指節(jié)點類型,用于存儲網(wǎng)絡(luò)中節(jié)點的信息,包括輸入節(jié)點、隱藏節(jié)點和輸出節(jié)點;Connect.Genes是指鏈接,用于存儲節(jié)點間的信息,包括輸入節(jié)點、輸出節(jié)點、權(quán)重值(Weight)、連接方式(直接連接(Enabled)和間接連接(DISABLED))以及創(chuàng)新號(Innovation ID),其中,創(chuàng)新號在交叉過程中作為識別標(biāo)準(zhǔn)。

    2)NEAT的神經(jīng)網(wǎng)絡(luò)變異方式

    NEAT中的神經(jīng)網(wǎng)絡(luò)變異包括鏈接變異和節(jié)點變異2種類型。鏈接變異為添加鏈接,既鏈接2個以前未鏈接的節(jié)點,如圖4(a)所示,新增加節(jié)點3和節(jié)點5之間的鏈接。在節(jié)點變異中,現(xiàn)有的鏈接被拆分,新節(jié)點被放置在舊鏈接之間的位置,舊鏈接被禁用,既舊鏈接變?yōu)镈isable,2個新的鏈接被添加到基因組中,如圖4(b)所示,在節(jié)點3和節(jié)點4之間增加了節(jié)點6,因此,節(jié)點3到節(jié)點4的鏈接變?yōu)镈isable,新增節(jié)點3到節(jié)點6和節(jié)點6到節(jié)點4的鏈接。

    3)NEAT的神經(jīng)網(wǎng)絡(luò)交叉方式

    NEAT的神經(jīng)網(wǎng)絡(luò)交叉主要通過Innovation Number“對齊”父母的基因序列,若某鏈接父母都存在,則隨機選擇一個傳給子代,該基因稱為匹配基因;若某鏈接只存在父母一方,則將存在的那個基因傳給子代,該基因稱為不匹配基因。不匹配基因又分為過?;蚝筒幌嘟换?均表示基因組中不存在的結(jié)構(gòu)。孩子的基因序列應(yīng)是父母基因的并集。圖5所示為NEAT基因的交叉操作,通過Innovation ID匹配不同網(wǎng)絡(luò)拓?fù)涞幕蚪M,Parent1和Parent2在節(jié)點和鏈接上具有相似的結(jié)構(gòu),但是它們也有區(qū)別,Innovation ID(顯示在每個基因的頂部)能夠顯現(xiàn)哪些基因相匹配,對于相匹配的基因則選擇隨機遺傳,如果有不匹配的基因,則繼承具有更好適應(yīng)度的親本。這樣即使沒有任何拓?fù)浞治?也可以創(chuàng)建一個新的結(jié)構(gòu),將雙親的重疊部分以及它們不同的部分進行組合。

    圖3 神經(jīng)網(wǎng)絡(luò)在NEAT中的表現(xiàn)形式

    圖4 NEAT的2種神經(jīng)網(wǎng)絡(luò)變異方式

    圖5 NEAT的神經(jīng)網(wǎng)絡(luò)交叉方式

    NEAT算法能夠?qū)?fù)雜的問題分割成較小且可以被優(yōu)化的問題(子任務(wù))來進行解決。

    3.2 基于DNN的神經(jīng)架構(gòu)搜索算法

    隨著深度神經(jīng)網(wǎng)絡(luò)的發(fā)展,網(wǎng)絡(luò)的深度和復(fù)雜程度不斷增加,網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)也變得十分復(fù)雜,從而產(chǎn)生了數(shù)百萬的超參數(shù)。研究人員在優(yōu)化深度神經(jīng)網(wǎng)絡(luò)時不可能考慮到所有的參數(shù),只能憑借經(jīng)驗或者實驗優(yōu)化小部分的參數(shù),而那些沒有被選中的參數(shù)也有可能具有重要的地位。為解決該問題,基于DNN的神經(jīng)架構(gòu)搜索應(yīng)運而生,其通過自動搜索DNN的結(jié)構(gòu)來找到更為合適的神經(jīng)網(wǎng)絡(luò)架構(gòu)。

    為了更好地優(yōu)化DNN的架構(gòu)設(shè)計,文獻[34]提出經(jīng)典CoDeepNEAT(Coevolution DeepNEAT)算法,該算法完全繼承于NEAT算法。NEAT算法主要是通過優(yōu)化拓?fù)浣Y(jié)構(gòu)和權(quán)重的方式,而CoDeepNEAT算法則采用一種結(jié)合拓?fù)浣Y(jié)構(gòu)和超參數(shù)實現(xiàn)共同進化的方式。

    3.2.1 DeepNEAT算法

    DeepNEAT算法與NEAT算法具有相同的進化方式,首先創(chuàng)建一個具有最小復(fù)雜度的群體,然后通過變異的方式給網(wǎng)絡(luò)結(jié)構(gòu)不斷添加節(jié)點或者邊,實現(xiàn)進化的過程;在交叉操作時,使用Innovation ID的形式,可以準(zhǔn)確地表示在拓?fù)浣Y(jié)構(gòu)多樣化的種群中基因之間的匹配關(guān)系;最后基于相似性度量將群體劃分為物種,物種再不斷進化形成新的物種,從而保證結(jié)構(gòu)的創(chuàng)新性。

    DeepNEAT算法與NEAT算法的主要區(qū)別在于,NEAT算法的最小單元是基于神經(jīng)元構(gòu)成的,而DeepNEAT算法中的節(jié)點則是一個DNN層,每一個節(jié)點包含2種編碼方式:實數(shù)編碼(表示Channel數(shù)量、Kernel Size等數(shù)值參數(shù))和二進制編碼(表示節(jié)點類型和類別參數(shù))。2種算法的另一個區(qū)別在于鏈接,在NEAT算法中鏈接表示權(quán)重,而在DeepNEAT算法中則代表鏈接關(guān)系與鏈接方向。

    3.2.2 CoDeepNEAT算法

    DeepNEAT算法在構(gòu)造深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)時,會導(dǎo)致網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,而且結(jié)構(gòu)沒有規(guī)整性。因此,文獻[34]采用一種共同進化的方式,使得網(wǎng)絡(luò)結(jié)構(gòu)簡單化并增加其復(fù)用性。

    在CoDeepNEAT算法中,涉及模塊和藍(lán)圖2個新的概念。模塊表示一個小的DNN結(jié)構(gòu),藍(lán)圖表示一個圖,其中,每個節(jié)點包含指向特定模塊的指針。

    CoDeepNEAT算法和DeepNEAT算法采用相同的進化方法,但是CoDeepNEAT算法同時進化2組藍(lán)圖和模塊,并且采用共同進化的方式,通過用相應(yīng)的模塊替換藍(lán)圖節(jié)點,將模塊和藍(lán)圖組裝成網(wǎng)絡(luò),從而得到一個大型的網(wǎng)絡(luò)結(jié)構(gòu),稱為集合網(wǎng)絡(luò)。

    在計算適應(yīng)度時,根據(jù)藍(lán)圖中每個節(jié)點的指向,從相應(yīng)的模塊中隨機選擇一個個體加入到集合網(wǎng)絡(luò)中,如果多個藍(lán)圖節(jié)點指向相同的模塊,則在所有藍(lán)圖中使用相同的模塊。該集合網(wǎng)絡(luò)的適應(yīng)度包括其中所有的藍(lán)圖和模塊,計算包含該藍(lán)圖或模塊的所有集合網(wǎng)絡(luò)的平均適應(yīng)度作為整個集合網(wǎng)絡(luò)的適應(yīng)度。CoDeepNEAT算法的進化過程如圖6所示,由2組藍(lán)圖和模塊同時進化得到最右邊的集合網(wǎng)絡(luò)。

    圖6 CoDeepNEAT算法的進化過程

    3.3 基于CNN的神經(jīng)架構(gòu)搜索算法

    在圖像分類、目標(biāo)檢測等圖像處理領(lǐng)域,為了提高深度學(xué)習(xí)的準(zhǔn)確率,研究人員提出了CNN,但是,人工設(shè)計的CNN結(jié)構(gòu)存在局限性。因此,自動構(gòu)造CNN的結(jié)構(gòu)顯得十分重要。

    3.3.1 Genetic CNN算法

    Genetic CNN算法于2017年被提出[35],其是一種通過自動學(xué)習(xí)來獲得最優(yōu)CNN結(jié)構(gòu)的方法,該算法將遺傳算法用于CNN架構(gòu)搜索中。在自動搜索網(wǎng)絡(luò)結(jié)構(gòu)的過程中,需要設(shè)置一些約束條件使搜索過程不會無限發(fā)展,其中一個約束條件就是CNN以池化層為界劃分為不同的層,每個層中包含一系列預(yù)定義的構(gòu)建塊(由卷積層和池化層組成),然后利用一種新的編碼方式將網(wǎng)絡(luò)結(jié)構(gòu)通過固定長度的二進制編碼進行表示,最后利用遺傳算法在一個大的搜索空間內(nèi)實現(xiàn)優(yōu)化,從而提高搜索空間的遍歷效率。Genetic CNN算法的編碼方式與進化方式具體如下:

    1)Genetic CNN的編碼方式

    對于Genetic CNN算法而言,編碼方式是其重要的組成部分,該算法主要使用二進制編碼方式,如圖7所示。

    圖7 Genetic CNN的編碼方式

    (1)默認(rèn)節(jié)點。圖7中包含2個層(Stage),每個Stage包含2個默認(rèn)節(jié)點,一個是默認(rèn)輸入節(jié)點,另一個是默認(rèn)輸出節(jié)點。輸入節(jié)點的數(shù)據(jù)來自前一個Stage的數(shù)據(jù),然后執(zhí)行卷積操作;輸出節(jié)點的數(shù)據(jù)為經(jīng)過前面卷積操作之后的結(jié)果,然后進行求和再執(zhí)行卷積操作,最后將結(jié)果輸出到池化層。在Stage1中,默認(rèn)輸入節(jié)點為A0,默認(rèn)輸出節(jié)點為A5;在Stage2中,默認(rèn)輸入節(jié)點為B0,默認(rèn)輸出節(jié)點為B6。

    (2)普通節(jié)點。除默認(rèn)節(jié)點外的節(jié)點稱為普通節(jié)點,即圖7中編碼區(qū)域中的節(jié)點,它們的節(jié)點序號唯一且有序。同一Stage中的所有卷積操作具有相同的卷積核和通道數(shù)量。

    (3)每一個節(jié)點均代表一個卷積操作,編碼只針對普通節(jié)點進行。

    (4)孤立節(jié)點。孤立節(jié)點是為了保證具有更多節(jié)點的Stage可以模擬具有更少節(jié)點的Stage表示的所有結(jié)構(gòu),如圖7中Stage2的B2就稱為孤立節(jié)點。

    在圖7中,普通節(jié)點的編碼方式為:

    (1)Stage的個數(shù)為S,Stage中的節(jié)點個數(shù)為K,則S=2,K1=4,K2=5。通過簡單的排列組合計算二進制點數(shù),Stage1所需要的二進制點數(shù)為6,Stage2所需要的二進制點數(shù)為10。

    (2)對節(jié)點之間的鏈接邏輯進行編碼,有鏈接表示為1,無鏈接表示為0。

    Stage1中的編碼順序為:1和2;1和3、2和3;1和4、2和4、3和4,即1-00-111。

    Stage2中的編碼順序為:1和2;1和3、2和3;1和4、2和4、3和4;1和5、2和5、3和5、4和5,即0-10-000-0011。

    2)Genetic CNN的進化方式

    Genetic CNN算法使用遺傳算法進行CNN結(jié)構(gòu)的搜索,主要分為初始化、選擇、變異、交叉以及適應(yīng)度評估等步驟。

    (1)初始化。初始化操作主要用于網(wǎng)絡(luò)中個體的初始化,即創(chuàng)建初始種群。

    (2)選擇。選擇操作在每一代開始時執(zhí)行,采用隨機選擇的方式,每個個體的適應(yīng)度是其被選中的概率,適應(yīng)度值越高,被選中的概率越大。

    (3)變異。每一個個體根據(jù)一定的概率改變自身結(jié)構(gòu),變異操作能夠避免架構(gòu)陷入局部最優(yōu)解。

    (4)交叉。交叉操作能夠使得相鄰的個體以一定的概率互換Stage結(jié)構(gòu)。

    (5)適應(yīng)度評估。在個體的適應(yīng)度評估中,主要以個體的適應(yīng)度函數(shù)值為標(biāo)準(zhǔn),減少由于隨機性造成的不穩(wěn)定性,假如一個個體之前被評估過,則將其適應(yīng)度函數(shù)值的平均值作為該個體當(dāng)前的適應(yīng)度函數(shù)值。

    Genetic CNN算法因其約束條件而在很大程度上減少了網(wǎng)絡(luò)結(jié)構(gòu)的搜索范圍,但是這些約束條件也導(dǎo)致很多的局限性。例如,每一層的卷積核大小和通道數(shù)量相同,這就導(dǎo)致了CNN的多樣性。

    3.3.2 CGP-CNN算法

    CGP-CNN算法[36-37]于2017年被提出,該算法的思想與Genetic CNN算法類似,都是通過遺傳算法進行架構(gòu)的迭代選擇與升級,兩者的主要區(qū)別在于編碼方式的不同。CGP-CNN算法主要基于有向無環(huán)圖,其基本組成單元為Datanode和Graphnode,即在CGP-CNN算法中,將多個簡單的神經(jīng)元構(gòu)成的有向無環(huán)圖作為一個進化單元進行優(yōu)化。CGP-CNN算法的節(jié)點類型、編碼方式及進化過程具體如下:

    1)CGP-CNN算法的節(jié)點類型

    CGP-CNN算法中包括6種節(jié)點類型,分別是ConvBlock、ResBlock、Max Pooling、Average Pooling、Concatenation和Summation。這些節(jié)點操作由行、列和通道的大小定義成三維(3D)張量。

    (1)ConvBlock由標(biāo)準(zhǔn)卷積處理組成,步長為1,然后是批量歸一化和ReLU激活函數(shù),其中,卷積塊不進行降維,因此,采用零值填充來保持前后特征圖維度不變,并且具有不同大小的Kernel Size和不同的Channel數(shù)。

    (2)ResBlock由卷積處理、批量歸一化、ReLU函數(shù)和張量求和組成。ResBlock架構(gòu)如圖8所示,輸入的行和列大小與卷積后的ConvBlock保持一致。在ResBlock中,M×N×C的輸入特征映射被變換為M×N×C′的輸出映射,并且具有不同大小的Kernel Size和不同的輸出Channel數(shù)。

    圖8 ResBlock的結(jié)構(gòu)

    (3)Pooling池化層執(zhí)行Max Pooling和Average Pooling的操作,使用2×2的Kernel,步長Stride=2。

    (4)Concatenation將不同特征圖進行合并,如果特征圖大小不同,則對更大的特征圖進行Max Pooling完成下采樣,從而實現(xiàn)特征圖大小一致。

    (5)Summation主要用于skip-connection的特征圖元素兩兩相加,當(dāng)特征圖大小不同時,對更大的特征圖進行最大池化完成下采樣,從而實現(xiàn)特征圖大小一致。

    2)CGP-CNN的編碼方式

    基于進化算法的神經(jīng)網(wǎng)絡(luò)架構(gòu)在應(yīng)用時,通常有直接編碼和間接編碼2種編碼形式。直接編碼主要將神經(jīng)元的數(shù)量和鏈接情況作為基因類型,而間接編碼主要表達(dá)網(wǎng)絡(luò)架構(gòu)的生成規(guī)則。CGP-CNN算法采用笛卡爾基因編程這種直接編碼的方式,從而表示CNN的結(jié)構(gòu)和連通性。CGP-CNN算法具有靈活性,可以表示可變長度的網(wǎng)絡(luò)結(jié)構(gòu)和跳遠(yuǎn)鏈接。

    圖9所示為一種CGP-CNN的編碼方式,其中左邊是Genotype,右邊是CNN架構(gòu)圖,節(jié)點5是一個未激活的節(jié)點。

    圖9 CGP-CNN的編碼方式Fig.9 Coding method of CGP-CNN

    3)CGP-CNN算法的進化過程

    CGP-CNN算法的變異方式有2種:第1種是強制突變,為了有效地使用計算資源,需要在每一代并行地評估一些候選解決方案,因此,在使用變異操作時,要保證至少有一個活動節(jié)點改變之后出現(xiàn)后選解,此時稱為強制突變;第2種是中性突變,為了維持對CGP進化的有效性,如果后代的適應(yīng)度值沒有得到改善,可以通過使用中性突變的方式重新對父代執(zhí)行變異操作,在中性突變過程中,只改變非活動節(jié)點的基因而不改變Phenotype。

    CGP-CNN算法驗證了在自動構(gòu)建CNN架構(gòu)時,可以使用笛卡爾基因編程的方式,并且基本單元可以采用如ConvBlock、ResBlock這樣的構(gòu)建塊。但是,為了得到效果更好的網(wǎng)絡(luò)結(jié)構(gòu),在進化過程中,CGP-CNN算法需要消耗很多資源,因此,后續(xù)將重點研究降低計算資源消耗的方法,或者在進化過程中通過減少多余的CNN結(jié)構(gòu)來實現(xiàn)進化算法的優(yōu)化。

    3.4 基于進化算法的NAS改進

    CoDeepNEAT算法、Genetic CNN算法和CGP-CNN算法在基于進化算法進行神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索時,都很依賴先驗知識并基于已有的模塊進行疊加組合。此外,這些算法要求每一個個體均從初始時刻開始訓(xùn)練,這樣就需要很多的計算資源才能滿足架構(gòu)搜索任務(wù)的需求。為解決上述問題,研究人員提出Large-Scale算法[38]、Better Topologies算法[39]。為了提高搜索效率并降低搜索空間,文獻[40]提出了Hierarchical Representation算法。

    Large-Scale算法和Better Topologies算法的設(shè)計思想類似,只是在具體的參數(shù)設(shè)置上存在區(qū)別,兩者都采用了非常簡單的神經(jīng)網(wǎng)絡(luò)設(shè)定方法,使得算法進化出網(wǎng)絡(luò)結(jié)構(gòu)。初始化階段從一個包含3個節(jié)點(輸入節(jié)點、中間節(jié)點和輸出節(jié)點)的簡單架構(gòu)開始。進化過程則是對internal node的連接方式進行改變,其中,在Large-Scale算法中,對internal node采用卷積、池化、批量歸一化等操作中的某一個或者多個相組合;在Better Topologies算法中,對internal node執(zhí)行卷積和池化操作。這2種算法與NEAT算法不同的是只采用了變異操作,而沒有使用交叉操作。Better Topologies算法有5個變異算子,Large-Scale算法有11個變異算子。

    Hierarchical Representation算法是一種結(jié)合模型的結(jié)構(gòu)分層表示和進化策略的高效架構(gòu)搜索方法。為了降低網(wǎng)絡(luò)架構(gòu)搜索的復(fù)雜性,提高搜索效率,Hierarchical Representation算法對搜索空間進行約束,通過增加一個分層的網(wǎng)絡(luò)結(jié)構(gòu)來約束搜索空間。Hierarchical Representation算法的基本單元為基元(motif),較低層次的motif由卷積、池化等操作構(gòu)成,然后通過將這些低層次motif多次疊加的方式最終形成神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其中,堆疊的方式由進化策略或者隨機搜索決定。這種通過堆疊的方式構(gòu)建網(wǎng)絡(luò)結(jié)構(gòu),類似于VGGNet、ResNet和Inception結(jié)構(gòu),使用模塊化進行設(shè)計。

    3.5 算法對比與分析

    前文提到的7種算法對比如表1所示。NEAT算法的基本單元為神經(jīng)元(Neuron),采用鏈表的方式進行編碼,有增加連接、增加節(jié)點和修改權(quán)重3種變異方式,在進行交叉操作時,根據(jù)Innovation ID決定采用交叉操作的2個基因序列。CoDeepNEAT算法的基本單元為DNN Layer,采用實數(shù)編碼和二進制編碼2種編碼方式,并且有改變連接和改變節(jié)點2種變異方式,在交叉操作階段,根據(jù)歷史標(biāo)記確定2個基因排列方式。Genetic CNN算法的基本單元是通過Block方式構(gòu)造的CNN結(jié)構(gòu),采用二進制編碼,根據(jù)每個個體的概率進行變異和交叉。CGP-CNN算法的基本單元與Genetic CNN算法相同,都是通過Block方式構(gòu)造的CNN結(jié)構(gòu),采用的變異方式為強制變異和中性變異,沒有交叉操作。Large-Scale算法和Better Topologies算法的基本單元都為Node,編碼方式分別采用DNA Graph和整數(shù)編碼,分別為11種變異方式和5種變異方式,都沒有交叉操作。Hierarchical Representation算法的基本單元是由一個三級結(jié)構(gòu)表示的有向無環(huán)圖,這個有向無環(huán)圖包括3個節(jié)點(特征圖),每2個節(jié)點的邊有6種基本操作可供選擇,在進化過程中包括增加連接、修改連接和刪除連接3種變異方式,沒有交叉操作。

    表1 7種基于進化算法的神經(jīng)架構(gòu)搜索算法對比

    CoDeepNEAT算法使用CIFAR-10數(shù)據(jù)集進行實驗,初始化階段生成了25個藍(lán)圖和45個模塊。在訓(xùn)練集上每個網(wǎng)絡(luò)訓(xùn)練8個epoch,然后進行評估,經(jīng)過72代的進化之后結(jié)束訓(xùn)練。將得到的最優(yōu)網(wǎng)絡(luò)在所有訓(xùn)練圖片上進行300個epoch的訓(xùn)練,最終得到錯誤率為7.3%。

    Genetic CNN算法分別在MNIST數(shù)據(jù)集和CIFAR-10數(shù)據(jù)集上進行實驗,初始種群數(shù)量為20,執(zhí)行50代進化操作。在MNIST數(shù)據(jù)集上,經(jīng)過50代后,最佳個體的識別錯誤率由0.41%下降到0.34%。實驗在Titan-X GPU上進行,每個個體的訓(xùn)練時間平均為2.5 min,整個進化過程大約需要2 GPU-days。在CIFAR-10數(shù)據(jù)集上,經(jīng)過50代后,最佳個體的識別正確率從75.96%上升到77.06%,每個個體的訓(xùn)練時間平均為0.4 h,整個進化過程大約需要17 GPU-days。

    CGP-CNN算法使用CIFAR-10數(shù)據(jù)集進行實驗,搜索ConvBlock和ResBlock 2種類型結(jié)構(gòu),其中,ConvSet的進化代數(shù)為500代,ResSet執(zhí)行300代,實驗在2個NVIDIA GeForce GTX 1080 GPU上進行。CGP-CNN算法使用ConvSet模型時的錯誤率為6.75%,使用ResSet模型時的錯誤率為5.98%。在ResSet上完成CNN架構(gòu)的優(yōu)化大約需要14天。

    Large-Scale算法分別在CIFAR-10數(shù)據(jù)集和CIFAR-100數(shù)據(jù)集上進行實驗,并且都進行5組實驗,達(dá)到的最佳準(zhǔn)確率分別為94.6%和77%,參數(shù)數(shù)量分別為5.4 M和40.4 M。在CIFAR-10數(shù)據(jù)集上的計算成本為4×1020FLOPS,在CIFAR-100數(shù)據(jù)集上的計算成本為2×1020FLOPS。

    Better Topologies算法分別在CIFAR-10數(shù)據(jù)集、CIFAR-100數(shù)據(jù)集和SVHN數(shù)據(jù)集上進行實驗。在CIFAR-10和CIFAR-100上使用了標(biāo)準(zhǔn)圖像增強(翻轉(zhuǎn)和裁剪)進行數(shù)據(jù)預(yù)處理,最大迭代次數(shù)為400 epoch,在SVHN數(shù)據(jù)集上不使用數(shù)據(jù)增強,最大迭代次數(shù)為180 epoch。當(dāng)網(wǎng)絡(luò)深度為91時,3個數(shù)據(jù)集上的錯誤率分別為5.19%、24.6%和1.85%。

    Hierarchical Representation算法使用CIFAR-10數(shù)據(jù)集和ImageNet數(shù)據(jù)集進行實驗,得到的Top-1錯誤率分別為3.6%和20.3%。

    通過對這7種算法的實驗設(shè)置和數(shù)據(jù)進行對比可知,隨著神經(jīng)架構(gòu)搜索算法的發(fā)展,圖像分類的準(zhǔn)確率不斷提高。為了在更大的數(shù)據(jù)集上進行實驗,同時降低計算資源消耗并保證準(zhǔn)確率,通過神經(jīng)架構(gòu)搜索算法設(shè)計的網(wǎng)絡(luò)結(jié)構(gòu)也會越來越復(fù)雜。雖然目前神經(jīng)架構(gòu)搜索算法能夠設(shè)計出與人工神經(jīng)網(wǎng)絡(luò)性能相當(dāng)甚至更好的網(wǎng)絡(luò)結(jié)構(gòu),但是在保證準(zhǔn)確率的情況下,如何降低計算資源消耗仍然是一個具有挑戰(zhàn)性的任務(wù)。

    4 算法存在的問題及其解決方案

    目前,研究人員針對神經(jīng)架構(gòu)搜索主要探究其搜索空間和搜索策略2個方面。搜索空間決定了哪些結(jié)構(gòu)可以增加到最后的網(wǎng)絡(luò)結(jié)構(gòu)中,其通過預(yù)先設(shè)定好一些適合當(dāng)前任務(wù)的結(jié)構(gòu),以有效減小搜索空間并簡化搜索過程。但是,預(yù)先定義好的搜索空間必然會引入人為的偏好,因此,該方式限制了網(wǎng)絡(luò)搜索的程度。在后續(xù)的研究中,可以增加搜索空間的范圍,使得神經(jīng)架構(gòu)搜索可以搜索到更豐富多樣的網(wǎng)絡(luò)結(jié)構(gòu)。除此之外,減少人為的參與以及約束條件,使得神經(jīng)架構(gòu)搜索的搜索過程更加自動化,也是一個重要的研究方向。

    搜索策略也是搜索算法,其決定了用何種規(guī)則或者方法來利用搜索空間,使得算法可以快速、準(zhǔn)確地找到最優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)配置。進化算法是其中一種搜索策略,雖然進化算法的種類很多,在針對不同問題時可以選用不同類型的進化算法,但是進化算法的進化策略卻大同小異,主要步驟通常是初始化(采用不同的方式對基因進行編碼)、變異、交叉、評估,直到循環(huán)至預(yù)先設(shè)定好的最優(yōu)標(biāo)準(zhǔn)時停止進化并輸出最終的結(jié)果。因為進化算法是一個迭代的過程,每迭代一次都會消耗很長的時間,所以提高搜索效率并減少時間和資源的消耗是該過程中需要面臨的一個重要問題。為了提高進化算法的搜索效率,可以將進化算法和其他搜索策略(如強化學(xué)習(xí))相結(jié)合,組合時學(xué)習(xí)強化學(xué)習(xí)中的獎勵機制,通過與環(huán)境的交互獲得獎勵,然后通過獲得的獎勵大小學(xué)習(xí)行為,使得算法能夠獲得更大的獎勵,將強化學(xué)習(xí)中與環(huán)境交互的形式運用在進化過程中,從而提高搜索效率。因此,在后續(xù)的研究中,將進化算法和其他多種搜索策略相結(jié)合也是一個重要的研究熱點。

    除了上述2種問題及其解決方案之外,算法未來的發(fā)展方向也是一個很重要的研究內(nèi)容。一方面,本文根據(jù)復(fù)雜程度將算法分為基于神經(jīng)元的NAS、基于DNN的NAS和基于CNN的NAS,這種分類方式是根據(jù)神經(jīng)網(wǎng)絡(luò)的發(fā)展過程而進行的分析和總結(jié)。因此,在后續(xù)的研究過程中,也可以根據(jù)神經(jīng)網(wǎng)絡(luò)的后續(xù)發(fā)展來擴展NAS的多樣性,如針對RNN的神經(jīng)架構(gòu)搜索或者基于更復(fù)雜、更深層的神經(jīng)網(wǎng)絡(luò)的NAS等;另一方面,目前基于自動化深度學(xué)習(xí)的有關(guān)圖像方面的問題大多是關(guān)于圖像分類的,因此,如何將自動化深度學(xué)習(xí)擴展到其他圖像處理方面,如圖像補全、圖像修復(fù)等,甚至語音處理以及自然語言處理等領(lǐng)域,也是今后一個非常重要的研究熱點。

    5 結(jié)束語

    本文闡述進化算法在神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索中的應(yīng)用,根據(jù)構(gòu)成神經(jīng)網(wǎng)絡(luò)最小單元的不同對神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索算法進行簡單的分類,并介紹7種具有代表性的基于進化算法的神經(jīng)架構(gòu)搜索算法的特點和應(yīng)用現(xiàn)狀?;跓o梯度進化的神經(jīng)架構(gòu)搜索算法具有廣闊的發(fā)展前景,針對特定數(shù)據(jù)集設(shè)計的網(wǎng)絡(luò)結(jié)構(gòu)性能可以達(dá)到與人工設(shè)計的神經(jīng)網(wǎng)絡(luò)相同的水平。但是,搜索網(wǎng)絡(luò)結(jié)構(gòu)需要耗費大量的計算資源,因此,如何在大數(shù)據(jù)集上降低基于進化算法的神經(jīng)架構(gòu)搜索算法的計算資源消耗,將是下一步的主要研究方向。

    猜你喜歡
    搜索算法網(wǎng)絡(luò)結(jié)構(gòu)變異
    改進的和聲搜索算法求解凸二次規(guī)劃及線性規(guī)劃
    變異危機
    變異
    基于互信息的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)學(xué)習(xí)
    知識網(wǎng)絡(luò)結(jié)構(gòu)維對于創(chuàng)新績效的作用機制——遠(yuǎn)程創(chuàng)新搜尋的中介作用
    滬港通下A+ H股票網(wǎng)絡(luò)結(jié)構(gòu)演化的實證分析
    復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu)比對算法研究進展
    變異的蚊子
    百科知識(2015年18期)2015-09-10 07:22:44
    基于汽車接力的潮流轉(zhuǎn)移快速搜索算法
    基于逐維改進的自適應(yīng)步長布谷鳥搜索算法
    69人妻影院| 51午夜福利影视在线观看| www.999成人在线观看| 九九久久精品国产亚洲av麻豆| 久久精品国产亚洲av香蕉五月| 91麻豆精品激情在线观看国产| 国产一区二区在线观看日韩| 搡女人真爽免费视频火全软件 | 久9热在线精品视频| 欧美xxxx黑人xx丫x性爽| 男女之事视频高清在线观看| 一边摸一边抽搐一进一小说| 观看免费一级毛片| 在线天堂最新版资源| 国产真实伦视频高清在线观看 | 久久久国产成人免费| 国产又黄又爽又无遮挡在线| 亚洲精品在线美女| 色哟哟·www| 日韩高清综合在线| 真实男女啪啪啪动态图| 麻豆久久精品国产亚洲av| 一区福利在线观看| 最后的刺客免费高清国语| 欧美另类亚洲清纯唯美| 欧美日韩瑟瑟在线播放| 亚洲片人在线观看| 国产伦人伦偷精品视频| 给我免费播放毛片高清在线观看| av在线老鸭窝| netflix在线观看网站| 成年女人看的毛片在线观看| 国产精品一区二区三区四区久久| bbb黄色大片| 欧美最黄视频在线播放免费| 国产精品一区二区性色av| 亚洲,欧美精品.| 一边摸一边抽搐一进一小说| 啦啦啦观看免费观看视频高清| 夜夜看夜夜爽夜夜摸| www.色视频.com| 亚洲黑人精品在线| 亚洲天堂国产精品一区在线| 亚洲精品在线美女| 成人特级av手机在线观看| 久99久视频精品免费| 免费在线观看日本一区| 97碰自拍视频| 亚洲av电影在线进入| 少妇人妻精品综合一区二区 | 亚州av有码| 美女cb高潮喷水在线观看| 中文字幕人妻熟人妻熟丝袜美| 波野结衣二区三区在线| 久久99热这里只有精品18| 欧美黑人巨大hd| 亚洲久久久久久中文字幕| 韩国av一区二区三区四区| 波野结衣二区三区在线| 精品一区二区三区人妻视频| 两个人的视频大全免费| 久久香蕉精品热| 亚洲中文字幕日韩| 又粗又爽又猛毛片免费看| 国产午夜精品久久久久久一区二区三区 | 啪啪无遮挡十八禁网站| 中文在线观看免费www的网站| 国产乱人伦免费视频| 成人毛片a级毛片在线播放| 2021天堂中文幕一二区在线观| 亚洲美女视频黄频| 美女高潮喷水抽搐中文字幕| 亚洲av成人av| 制服丝袜大香蕉在线| 日本一二三区视频观看| 国产伦精品一区二区三区四那| 91字幕亚洲| 丰满乱子伦码专区| 成人鲁丝片一二三区免费| 国产午夜精品论理片| 国产野战对白在线观看| 中文在线观看免费www的网站| 又紧又爽又黄一区二区| 99热只有精品国产| 精品人妻熟女av久视频| 少妇的逼水好多| 亚洲精品亚洲一区二区| 日日干狠狠操夜夜爽| 校园春色视频在线观看| 色哟哟哟哟哟哟| 少妇的逼好多水| 亚洲最大成人手机在线| 美女被艹到高潮喷水动态| 欧美日韩国产亚洲二区| 精品国产三级普通话版| 两个人视频免费观看高清| 欧美日韩福利视频一区二区| 免费看光身美女| 男女下面进入的视频免费午夜| 亚洲五月天丁香| av黄色大香蕉| 嫩草影视91久久| 乱人视频在线观看| 亚洲第一欧美日韩一区二区三区| 亚洲成人免费电影在线观看| 久久久久久大精品| 特大巨黑吊av在线直播| 亚洲电影在线观看av| АⅤ资源中文在线天堂| 中出人妻视频一区二区| 成人特级黄色片久久久久久久| 一二三四社区在线视频社区8| av女优亚洲男人天堂| 午夜视频国产福利| eeuss影院久久| 嫩草影院入口| 久久人妻av系列| 12—13女人毛片做爰片一| 综合色av麻豆| 亚洲国产精品久久男人天堂| 精品人妻偷拍中文字幕| 噜噜噜噜噜久久久久久91| 亚洲一区高清亚洲精品| 在线天堂最新版资源| 变态另类丝袜制服| 久久草成人影院| 变态另类成人亚洲欧美熟女| 亚洲av日韩精品久久久久久密| 夜夜夜夜夜久久久久| 757午夜福利合集在线观看| 亚洲美女视频黄频| 在线免费观看不下载黄p国产 | 欧美激情久久久久久爽电影| 我的老师免费观看完整版| 中文字幕人成人乱码亚洲影| 欧美性猛交╳xxx乱大交人| 性插视频无遮挡在线免费观看| av女优亚洲男人天堂| 午夜福利成人在线免费观看| 国产亚洲精品av在线| 黄色配什么色好看| 老熟妇仑乱视频hdxx| 热99在线观看视频| 嫩草影院精品99| 在现免费观看毛片| 精品人妻一区二区三区麻豆 | av女优亚洲男人天堂| 午夜日韩欧美国产| 久久婷婷人人爽人人干人人爱| 久久久久九九精品影院| 国产亚洲精品av在线| 中文字幕人成人乱码亚洲影| 午夜福利视频1000在线观看| 国产成+人综合+亚洲专区| 午夜a级毛片| 18美女黄网站色大片免费观看| 免费在线观看日本一区| 男女下面进入的视频免费午夜| 亚洲欧美清纯卡通| 国产探花极品一区二区| 有码 亚洲区| 欧美中文日本在线观看视频| 国产精品一区二区性色av| av在线天堂中文字幕| 亚洲不卡免费看| 免费在线观看影片大全网站| а√天堂www在线а√下载| 黄色丝袜av网址大全| 成人毛片a级毛片在线播放| 在线观看美女被高潮喷水网站 | av国产免费在线观看| 性色avwww在线观看| 国产av麻豆久久久久久久| 精品人妻视频免费看| 91在线精品国自产拍蜜月| 亚洲天堂国产精品一区在线| 大型黄色视频在线免费观看| 高清毛片免费观看视频网站| 两性午夜刺激爽爽歪歪视频在线观看| 有码 亚洲区| 特大巨黑吊av在线直播| 亚洲 国产 在线| 日本a在线网址| 九色国产91popny在线| 神马国产精品三级电影在线观看| 女人十人毛片免费观看3o分钟| 日本一本二区三区精品| 精华霜和精华液先用哪个| 久久久久九九精品影院| 亚洲国产精品合色在线| 丰满乱子伦码专区| 久久久久久久亚洲中文字幕 | 日本在线视频免费播放| 亚洲美女黄片视频| 最近在线观看免费完整版| 国产精品亚洲美女久久久| 国产精品一及| 99久国产av精品| 成年女人看的毛片在线观看| 色播亚洲综合网| 夜夜躁狠狠躁天天躁| 国产一级毛片七仙女欲春2| 婷婷精品国产亚洲av在线| h日本视频在线播放| 少妇人妻一区二区三区视频| 岛国在线免费视频观看| 中文字幕免费在线视频6| 黄色日韩在线| 国产主播在线观看一区二区| 亚洲内射少妇av| 午夜免费激情av| 欧美色欧美亚洲另类二区| 免费av观看视频| 91字幕亚洲| 久久久精品欧美日韩精品| 国产成人欧美在线观看| 久久久久国产精品人妻aⅴ院| 少妇丰满av| 一区二区三区免费毛片| 国产av一区在线观看免费| 亚洲一区高清亚洲精品| 欧美日韩瑟瑟在线播放| 国产精品,欧美在线| 亚洲国产色片| 日日摸夜夜添夜夜添av毛片 | av在线观看视频网站免费| 一夜夜www| 亚洲av不卡在线观看| 午夜两性在线视频| 久久久久久国产a免费观看| 亚洲欧美激情综合另类| 99久久九九国产精品国产免费| 精品一区二区免费观看| 午夜福利视频1000在线观看| 亚洲不卡免费看| 欧美日韩亚洲国产一区二区在线观看| 18+在线观看网站| 91午夜精品亚洲一区二区三区 | 亚洲av电影在线进入| 日韩有码中文字幕| 午夜免费男女啪啪视频观看 | 国产av麻豆久久久久久久| 12—13女人毛片做爰片一| 亚洲内射少妇av| 很黄的视频免费| 又黄又爽又免费观看的视频| 亚洲,欧美精品.| 真人一进一出gif抽搐免费| 午夜精品一区二区三区免费看| 欧美一区二区精品小视频在线| 国产精品爽爽va在线观看网站| 欧美成人免费av一区二区三区| 麻豆成人av在线观看| 亚州av有码| 欧美日韩福利视频一区二区| 在线国产一区二区在线| 日本与韩国留学比较| 狠狠狠狠99中文字幕| 最近最新中文字幕大全电影3| 欧美一区二区精品小视频在线| 90打野战视频偷拍视频| 国产精品伦人一区二区| 成年版毛片免费区| 亚洲精品成人久久久久久| 51午夜福利影视在线观看| 久久久久精品国产欧美久久久| 老熟妇仑乱视频hdxx| 国产黄色小视频在线观看| 亚洲不卡免费看| 国产精品久久久久久久电影| 亚洲自拍偷在线| 97热精品久久久久久| 免费观看精品视频网站| 午夜福利高清视频| 舔av片在线| 特大巨黑吊av在线直播| av福利片在线观看| 琪琪午夜伦伦电影理论片6080| aaaaa片日本免费| 日本熟妇午夜| 草草在线视频免费看| 久久午夜福利片| 国产成人a区在线观看| av天堂在线播放| 成人午夜高清在线视频| 乱码一卡2卡4卡精品| 动漫黄色视频在线观看| 少妇的逼好多水| 精品人妻熟女av久视频| 欧美高清成人免费视频www| 色在线成人网| 中国美女看黄片| 最近最新中文字幕大全电影3| 日韩精品青青久久久久久| 欧美激情在线99| 九色国产91popny在线| 不卡一级毛片| 综合色av麻豆| 婷婷丁香在线五月| 亚洲av五月六月丁香网| 色噜噜av男人的天堂激情| 国产亚洲精品久久久com| 亚洲中文日韩欧美视频| 黄色女人牲交| 在现免费观看毛片| netflix在线观看网站| 色在线成人网| 亚洲av熟女| 国产在视频线在精品| 在线观看av片永久免费下载| 久久久久久大精品| 亚洲久久久久久中文字幕| 成年女人看的毛片在线观看| 亚洲无线在线观看| 人妻久久中文字幕网| 999久久久精品免费观看国产| 91久久精品国产一区二区成人| 亚洲国产日韩欧美精品在线观看| 国产精品爽爽va在线观看网站| 免费人成在线观看视频色| 国产精品,欧美在线| 欧美国产日韩亚洲一区| 搡女人真爽免费视频火全软件 | 琪琪午夜伦伦电影理论片6080| 欧美一级a爱片免费观看看| 丰满的人妻完整版| 丰满人妻熟妇乱又伦精品不卡| 国产一区二区在线观看日韩| 蜜桃亚洲精品一区二区三区| www日本黄色视频网| 成年免费大片在线观看| 日韩欧美精品v在线| 精品无人区乱码1区二区| 日本免费一区二区三区高清不卡| 欧美xxxx性猛交bbbb| 我的老师免费观看完整版| 日本一二三区视频观看| 亚洲一区二区三区色噜噜| 99riav亚洲国产免费| 国产白丝娇喘喷水9色精品| 欧美成人性av电影在线观看| 天天一区二区日本电影三级| 岛国在线免费视频观看| 国产白丝娇喘喷水9色精品| 成人午夜高清在线视频| 网址你懂的国产日韩在线| 欧美zozozo另类| 人妻制服诱惑在线中文字幕| 日日干狠狠操夜夜爽| 搞女人的毛片| 岛国在线免费视频观看| h日本视频在线播放| 亚洲黑人精品在线| 欧美不卡视频在线免费观看| 色精品久久人妻99蜜桃| 国产精品亚洲一级av第二区| 一区二区三区免费毛片| 一区二区三区激情视频| 中文乱码字字幕精品一区二区三区| 国产午夜福利久久久久久| 亚洲精品国产av成人精品| 99视频精品全部免费 在线| 亚洲精品影视一区二区三区av| 成人高潮视频无遮挡免费网站| 一级毛片久久久久久久久女| 天天一区二区日本电影三级| 国产视频内射| 免费看a级黄色片| 免费在线观看成人毛片| 日本与韩国留学比较| 久久精品久久久久久久性| 日韩欧美 国产精品| 热99国产精品久久久久久7| 午夜福利在线观看免费完整高清在| 王馨瑶露胸无遮挡在线观看| 中国美白少妇内射xxxbb| 亚洲av.av天堂| 亚洲精品成人av观看孕妇| 精品久久久久久久人妻蜜臀av| 国产精品福利在线免费观看| 99久国产av精品国产电影| 天堂中文最新版在线下载 | 天天一区二区日本电影三级| 国产免费视频播放在线视频| .国产精品久久| 丰满少妇做爰视频| 大话2 男鬼变身卡| 97精品久久久久久久久久精品| 日韩av不卡免费在线播放| 日韩 亚洲 欧美在线| 日韩av不卡免费在线播放| 99热6这里只有精品| 蜜臀久久99精品久久宅男| 久久精品国产亚洲网站| 日本午夜av视频| 亚洲av不卡在线观看| 视频区图区小说| 亚洲国产精品国产精品| 亚洲av免费在线观看| 欧美97在线视频| 有码 亚洲区| 小蜜桃在线观看免费完整版高清| 免费大片18禁| 亚洲色图av天堂| 亚洲精品影视一区二区三区av| 成人亚洲欧美一区二区av| 插阴视频在线观看视频| 成人毛片a级毛片在线播放| 51国产日韩欧美| 亚洲精品久久久久久婷婷小说| 久久99热6这里只有精品| 少妇人妻一区二区三区视频| 国产久久久一区二区三区| 一级毛片 在线播放| 亚洲人成网站高清观看| 97在线视频观看| 欧美高清成人免费视频www| 欧美性猛交╳xxx乱大交人| 国产探花极品一区二区| 美女内射精品一级片tv| 日本黄大片高清| 久久久色成人| 国产男女超爽视频在线观看| 最近中文字幕高清免费大全6| 午夜免费观看性视频| 日韩伦理黄色片| 狂野欧美激情性bbbbbb| 精品国产露脸久久av麻豆| 欧美zozozo另类| 国产伦理片在线播放av一区| 国产成人精品婷婷| 亚洲精品一区蜜桃| 精品久久久久久久久亚洲| 成人鲁丝片一二三区免费| 97人妻精品一区二区三区麻豆| 熟妇人妻不卡中文字幕| 亚洲自偷自拍三级| 免费av观看视频| 嫩草影院新地址| 免费av不卡在线播放| 最近手机中文字幕大全| 久久久亚洲精品成人影院| 久久精品久久久久久久性| 日韩中字成人| 中文字幕人妻熟人妻熟丝袜美| 777米奇影视久久| 少妇的逼水好多| 国产精品精品国产色婷婷| 夫妻午夜视频| 国产在线男女| 亚洲,一卡二卡三卡| 成人亚洲欧美一区二区av| 老司机影院成人| 亚洲一区二区三区欧美精品 | 国产精品一及| 午夜视频国产福利| 久久6这里有精品| 国产有黄有色有爽视频| 熟女人妻精品中文字幕| av免费观看日本| 尤物成人国产欧美一区二区三区| 国产成人福利小说| 国产探花极品一区二区| 久久久久九九精品影院| 亚洲av中文av极速乱| 成人二区视频| 日韩大片免费观看网站| 午夜免费男女啪啪视频观看| 一二三四中文在线观看免费高清| 免费观看在线日韩| a级毛色黄片| eeuss影院久久| 国产色爽女视频免费观看| 久久精品综合一区二区三区| 九草在线视频观看| 亚洲四区av| 亚洲av国产av综合av卡| 欧美高清性xxxxhd video| 爱豆传媒免费全集在线观看| 亚洲精品一二三| 91久久精品国产一区二区成人| 欧美三级亚洲精品| 久久久久性生活片| 菩萨蛮人人尽说江南好唐韦庄| 夜夜爽夜夜爽视频| 偷拍熟女少妇极品色| 夫妻性生交免费视频一级片| 人妻少妇偷人精品九色| 亚洲成人中文字幕在线播放| 久久久a久久爽久久v久久| 国国产精品蜜臀av免费| 久久久久国产网址| 男人和女人高潮做爰伦理| 免费高清在线观看视频在线观看| 国产在线一区二区三区精| 有码 亚洲区| 国产成人freesex在线| 国产在视频线精品| 亚洲精品,欧美精品| 亚洲图色成人| 国产黄a三级三级三级人| 高清视频免费观看一区二区| 婷婷色综合www| 汤姆久久久久久久影院中文字幕| 亚洲av在线观看美女高潮| 高清av免费在线| 国产毛片在线视频| 亚洲欧美清纯卡通| 国产黄频视频在线观看| av在线app专区| av一本久久久久| 亚洲色图av天堂| 亚洲欧美中文字幕日韩二区| 黄片wwwwww| 青春草视频在线免费观看| 校园人妻丝袜中文字幕| 欧美三级亚洲精品| 亚洲成人一二三区av| 最近最新中文字幕免费大全7| 欧美高清成人免费视频www| 亚洲精品影视一区二区三区av| 成人毛片a级毛片在线播放| 香蕉精品网在线| 亚洲国产欧美在线一区| 精品少妇黑人巨大在线播放| 午夜福利视频1000在线观看| 国产精品无大码| tube8黄色片| 亚洲av电影在线观看一区二区三区 | 自拍欧美九色日韩亚洲蝌蚪91 | 国产成人午夜福利电影在线观看| 91精品伊人久久大香线蕉| av网站免费在线观看视频| 18禁动态无遮挡网站| 亚洲精品色激情综合| 欧美+日韩+精品| 午夜福利视频1000在线观看| 日韩欧美精品v在线| 久久久久久久亚洲中文字幕| 亚洲精品久久午夜乱码| 国产女主播在线喷水免费视频网站| 欧美成人精品欧美一级黄| 久久人人爽人人爽人人片va| 免费大片黄手机在线观看| av女优亚洲男人天堂| 久久久久精品久久久久真实原创| 亚洲av中文字字幕乱码综合| 好男人视频免费观看在线| 午夜福利在线在线| 老女人水多毛片| 久久影院123| 欧美日韩一区二区视频在线观看视频在线 | 婷婷色av中文字幕| 免费播放大片免费观看视频在线观看| 国产乱人偷精品视频| 大片电影免费在线观看免费| 白带黄色成豆腐渣| 在线免费观看不下载黄p国产| 99热网站在线观看| 91精品一卡2卡3卡4卡| 亚洲va在线va天堂va国产| av播播在线观看一区| 观看免费一级毛片| 久久99热这里只频精品6学生| 午夜福利网站1000一区二区三区| 中文字幕制服av| 国国产精品蜜臀av免费| 成人亚洲欧美一区二区av| 青春草国产在线视频| 成人国产av品久久久| av又黄又爽大尺度在线免费看| 特级一级黄色大片| 男人爽女人下面视频在线观看| 26uuu在线亚洲综合色| 亚洲av中文字字幕乱码综合| 能在线免费看毛片的网站| 国产高潮美女av| 亚洲欧美日韩另类电影网站 | av天堂中文字幕网| 王馨瑶露胸无遮挡在线观看| 午夜福利高清视频| 日日啪夜夜爽| 午夜免费鲁丝| 永久网站在线| 亚洲人成网站在线播| 夫妻午夜视频| 精品国产露脸久久av麻豆| 女人被狂操c到高潮| 少妇的逼好多水| 久久女婷五月综合色啪小说 | 交换朋友夫妻互换小说| 熟妇人妻不卡中文字幕| 久久久精品欧美日韩精品| 天堂中文最新版在线下载 | 久久99蜜桃精品久久| 免费少妇av软件| 男男h啪啪无遮挡| 亚洲精品,欧美精品| 大又大粗又爽又黄少妇毛片口| 天天躁日日操中文字幕| 蜜臀久久99精品久久宅男| 成人美女网站在线观看视频| 久久韩国三级中文字幕| 亚洲真实伦在线观看| 国产日韩欧美在线精品| 色播亚洲综合网| 亚洲精品,欧美精品| 免费人成在线观看视频色| 大片免费播放器 马上看| 自拍偷自拍亚洲精品老妇| 中文字幕久久专区| 好男人视频免费观看在线| 亚洲欧美日韩无卡精品| 亚洲丝袜综合中文字幕| 插阴视频在线观看视频|