Konvolúciós neurális hálózati modell innovációk a Képosztályozáshoz
Utoljára frissítve 2019.július 5-én
szelíd Bevezetés a LeNet, AlexNet, VGG, Inception és ResNet konvolúciós neurális hálózatokba.
a konvolúciós neurális hálózatok két nagyon egyszerű elemből állnak, nevezetesen konvolúciós rétegekből és pooling rétegekből.
bár egyszerű, vannak közel végtelen módon, hogy gondoskodjon ezeket a rétegeket egy adott számítógépes látás probléma.,
szerencsére vannak közös minták ezeknek a rétegeknek a konfigurálásához, valamint olyan építészeti újítások, amelyeket nagyon mély konvolúciós neurális hálózatok kifejlesztéséhez használhat. A legkorszerűbb képosztályozási feladatokhoz kifejlesztett építészeti tervezési döntések tanulmányozása mind indokolást, mind intuíciót adhat arra, hogyan kell ezeket a terveket használni a saját mély konvolúciós neurális hálózati modellek tervezésekor.
ebben a bemutatóban felfedezheti a konvolúciós neurális hálózatok használatának kulcsfontosságú építészeti mérföldköveit a képosztályozási problémák kihívására.,
a bemutató befejezése után tudni fogja:
- hogyan lehet A szűrők és szűrőméretek számát a konvolúciós neurális hálózatok végrehajtásakor beállítani.
- hogyan rendezzük a konvolúciós és egyesítő rétegeket egységes mintában a jól teljesítő modellek kifejlesztéséhez.
- hogyan használjuk az inception modult és a maradék modult sokkal mélyebb konvolúciós hálózatok kialakítására.
Kick-start your project with my new book Deep Learning For Computer Vision, including step-by-step tutorials and the Python source code files for all examples.
kezdjük.,
- frissítés április / 2019: Korrigált leírása szűrő méretek LeNet (köszönhetően Huang).
Bemutató Áttekintés
Ez a bemutató osztva hat részre; ezek a következők:
- Építészeti Tervezés CNNs
- LeNet-5
- AlexNet
- VGG
- Eredet, illetve GoogLeNet
- a Maradék Hálózat vagy ResNet
Építészeti Tervezés CNNs
Az elemek egy convolutional neurális hálózat, mint a convolutional, mind a pooling rétegek, viszonylag egyszerű megérteni.,
a konvolúciós neurális hálózatok gyakorlati alkalmazásának kihívást jelentő része az, hogy hogyan tervezzünk olyan modellarchitektúrákat, amelyek a legjobban használják ezeket az egyszerű elemeket.
a hatékony konvolúciós neurális hálózati architektúrák tervezésének hasznos megközelítése a sikeres alkalmazások tanulmányozása. Ez különösen egyszerű a CNNs intenzív tanulmányozása és alkalmazása miatt 2012-2016 között az ImageNet nagyszabású vizuális felismerési kihívása vagy az ILSVRC számára., Ez a kihívás mind a nagyon nehéz számítógépes látási feladatok korszerű gyors előrehaladását, mind a konvolúciós neurális hálózati modellek architektúrájának általános innovációinak fejlesztését eredményezte.
kezdjük a LeNet-5, hogy gyakran le, mint az első sikeres és fontos alkalmazása CNNs előtt ILSVRC, majd nézd meg a négy különböző győztes építészeti újítások a konvolúciós neurális hálózat kifejlesztett ILSVRC, nevezetesen, AlexNet, VGG, Inception, és ResNet.,
ha megértjük ezeket a mérföldkő modellek, valamint az építészet vagy az építészeti újítások a magas szintű, akkor dolgozzon mindkét nagyra ezeknek a használata építészeti elemek a modern alkalmazások, a CNN a számítógépes látás, illetve azonosítani tudja majd válassza az építészeti elemek, amelyek hasznosak lehetnek a tervezés a saját modellek.
szeretne eredményeket mély tanulás számítógépes látás?
vegye be az ingyenes 7 napos e-mail összeomlási tanfolyamot most (mintakóddal).,
kattintson a regisztrációhoz, valamint kap egy ingyenes pdf Ebook változata a tanfolyam.
töltse le ingyenes mini-tanfolyamát
LeNet-5
talán a konvolúciós neurális hálózatok első széles körben ismert és sikeres alkalmazása LeNet-5 volt, írta le Yann LeCun, et al. az 1998-as “gradiens alapú tanulás a dokumentum felismerésére” című tanulmányukban (szerezd meg a PDF-et).
a rendszert egy kézzel írt karakterfelismerési probléma kezelésére fejlesztették ki, majd az MNIST szabvány adatkészletén mutatták be, mintegy 99-et elérve.,2% – os osztályozási pontosság (vagy 0,8% – os hibaarány). A hálózat ezután le, mint a központi technika egy szélesebb rendszer nevezik Graph Transformer hálózatok.
Ez egy hosszú papír, és talán a legjobb része, hogy összpontosítson a szakasz II. B. amely leírja a LeNet-5 architektúra. A szakaszban a dolgozat a hálózatot úgy írja le, hogy hét réteg van bemeneti szürkeárnyalatos képekkel, amelyek alakja 32×32, a képek mérete a MNIST adatkészletben.
a modell egy konvolúciós réteg mintáját javasolja, amelyet egy átlagos egyesítési réteg követ, amelyet alcsoportrétegnek neveznek., Ezt a mintát két és félszer megismételjük, mielőtt a kimeneti funkciótérképeket laposra lapítjuk, és több teljesen összekapcsolt rétegre tápláljuk értelmezés céljából, valamint egy végső előrejelzést. A dolgozatban a hálózati architektúra képe látható és az alábbiakban látható.
a LeNet-5 konvolúciós neurális hálózat architektúrája a kézzel írt Karakterfelismeréshez (az 1998-as cikkből vett).,
a konvolúciós rétegek blokkjainak mintája és az összevont rétegek csoportosítása és megismétlése ma, több mint húsz évvel később, közös minta marad a konvolúciós neurális hálózatok tervezésében és használatában.
érdekes módon az architektúra kis számú szűrőt használ első rejtett rétegként, konkrétan hat szűrőt, amelyek mindegyike 5×5 pixel méretű., Miután összevonása (úgynevezett subsampling réteg), a másik convolutional réteg, nem több, szűrők, ismét egy kisebb méretű, de kisebb, mint a megelőző convolutional réteg, kifejezetten 16 szűrők mérete: 5×5 pixel, újra követték egyesítésével. A két konvolúciós és egyesítő réteg megismétlésekor a tendencia a szűrők számának növekedése.
a modern alkalmazásokhoz képest a szűrők száma is kicsi, de a szűrők számának a hálózat mélységével történő növelésének tendenciája továbbra is gyakori minta a technika modern használatában.,
a vonástérképek és a vonások értelmezésének és osztályozásának teljesen összekapcsolt rétegekkel való összeolvasztása ma is közös minta. A modern terminológiában az architektúra utolsó szakaszát gyakran osztályozónak nevezik, míg a modellben korábban szereplő konvolúciós és egyesítő rétegeket jellemző elszívónak nevezik.
a modern modellekben releváns architektúra legfontosabb szempontjait az alábbiak szerint foglalhatjuk össze:
- rögzített méretű bemeneti képek.
- csoport konvolúciós és egyesítő rétegeket blokkokba.,
- convolutional-pooling blokkok ismétlése az architektúrában.
- a szűrők számának növekedése a hálózat mélységével.
- az architektúra különböző jellemzőinek kivonása és osztályozása.
AlexNet
az a munka, amely talán jóváírható a neurális hálózatok iránti megújult érdeklődés felkeltésével, valamint a mély tanulás dominanciájának kezdete számos számítógépes látásalkalmazásban Alex Krizhevsky, et al. “IMAGEnet osztályozás mély konvolúciós neurális hálózatokkal.,”
A papír írja le a modell később a továbbiakban “AlexNet” célja, hogy a cím a ImageNet Nagyszabású Vizuális Felismerési feladat vagy ILSVRC-2010 verseny mutatják, fényképek, tárgyak egy 1000 különböző kategóriában.
az ILSVRC 2011-től 2016-ig tartott verseny volt, amelynek célja az innováció ösztönzése a számítógépes látás területén. Az AlexNet fejlesztése előtt a feladatot nagyon nehéznek tartották, messze túlmutatva a modern számítógépes látásmódszerek képességén., Az AlexNet sikeresen demonstrálta a konvolúciós neurális hálózati modell képességeit a tartományban, és tüzet gyújtott, ami sokkal több fejlesztést és újítást eredményezett, sokan ugyanazon ILSVRC feladaton mutatták be a következő években. Tágabb értelemben, a tanulmány kimutatta, hogy lehetséges, hogy dolgozzon ki mély és hatékony end-to-end modellek egy kihívást jelentő probléma használata nélkül felügyelet nélküli pretraining technikák, amelyek népszerűek voltak abban az időben.
fontos a tervezés AlexNet volt egy sor módszerek, amelyek új vagy sikeres, de nem széles körben elfogadott idején., Most követelményekké váltak, amikor CNNs-t használnak a képosztályozáshoz.
az AlexNet a korrigált lineáris aktiválási funkciót, vagy a ReLU-t használta, mint nemlineáris módon minden konvolúciós réteg után, az S alakú funkciók helyett, mint például a logisztikai vagy tanh, amelyek addig a pontig gyakoriak voltak. A kimeneti rétegben egy softmax aktiválási funkciót is használtunk, amely most a neurális hálózatok többosztályú osztályozásának alapja.,
Az átlagos pooling használt LeNet-5 váltotta max pooling módszer, bár ebben az esetben, egymást átfedő pooling találták, hogy jobban teljesítenek, mint a nem-átfedő összevonása, hogy gyakran ma is használatos (pl. lépés a pooling művelet az azonos méretű, mint a pooling művelet, pl. 2 2 pixel). A túlcsordulás kezelésére az újonnan javasolt lemorzsolódási módszert alkalmazták a modell osztályozó részének teljesen összekapcsolt rétegei között az általánosítási hiba javítása érdekében.
az alexnet architektúrája mély, és kiterjed a LeNet-5-tel létrehozott minták egy részére is., Az alábbi kép, amelyet a papírból vettek, összefoglalja a modell architektúráját, ebben az esetben két csővezetékre osztva, hogy az akkori GPU hardverén edzhessen.
az AlexNet konvolúciós neurális hálózat architektúrája Objektumfotó osztályozáshoz (a 2012-es papírból vett).
a modellnek öt konvolúciós rétege van a modell jellemző extrakciós részében, valamint három teljesen összekapcsolt rétege a modell osztályozó részében.
A bemeneti képeket 224×224 méretre rögzítették három színes csatornával., Az egyes konvolúciós rétegekben használt szűrők számát tekintve a lenet-ben látott mélységű szűrők számának növelésének mintáját leginkább a következő méretekhez ragaszkodták: 96, 256, 384, 384 és 256. Hasonlóképpen a szűrő (kernel) méretének mélységgel történő csökkentésének mintáját is alkalmazták, kezdve a kisebb 11×11 mérettől kezdve 5×5-re, majd a mélyebb rétegekben 3×3-ra. Az olyan kis szűrők használata, mint az 5×5 vagy a 3×3, ma már a norma.,
a modell funkcióérzékelő részének elején és végén egy konvolúciós réteg mintáját, majd egy pooling réteget használtunk. Érdekes módon a konvolúciós réteg mintáját azonnal egy második konvolúciós réteg követte. Ez a minta is modern szabvány lett.
a modellt adatnagyobbítással képezték ki, mesterségesen növelve a képzési adatkészlet méretét, és lehetőséget adva a modellnek arra, hogy ugyanazokat a funkciókat különböző irányokban tanulja meg.,
a modern modellekben releváns architektúra főbb aspektusait a következőképpen foglalhatjuk össze:
- a Relu aktiválási funkció használata konvolúciós rétegek és softmax után a kimeneti réteghez.
- A Max Pooling használata az átlagos összevonás helyett.
- a lemorzsolódás szabályozásának használata a teljesen összekapcsolt rétegek között.
- konvolúciós réteg mintája közvetlenül egy másik konvolúciós rétegbe táplálva.
- Adatnagyobbítás használata.,
VGG
a mély konvolúciós neurális hálózatok fejlesztése a számítógépes látási feladatokhoz kissé sötét művészetnek tűnt AlexNet után.
fontos munka, amely a mély konvolúciós hálózatok architektúra-tervezésének szabványosítására törekedett, és a folyamat során sokkal mélyebb és jobban teljesítő modelleket fejlesztett ki, Karen Simonyan és Andrew Zisserman “nagyon mély konvolúciós hálózatok a nagyméretű Képfelismeréshez” című 2014-es tanulmánya volt.
architektúrájukat általában VGG-nek nevezik laborjuk, az Oxfordi vizuális geometria csoport neve után., Modelljüket az ilsvrc verseny keretében fejlesztették ki és mutatták be, ebben az esetben a kihívás ILSVRC-2014 változatát.
az első fontos különbség, amely de facto szabványsá vált, nagyszámú kis szűrő használata. Pontosabban, a 3×3 és 1×1 méretű szűrők egy lépéssel különböznek a LeNet-5 nagy méretű szűrőitől, valamint a kisebb, de még mindig viszonylag nagy szűrőktől, valamint az AlexNet négy nagy lépésétől.,
Max rétegek összevonása után alkalmazzuk a legtöbb, de nem az összes, convolutional rétegek, tanulás, a példa a AlexNet, mégis minden megosztva végzik a mérete 2×2, majd ugyanaz a lépés, ez is lett a de facto standard. Pontosabban, a VGG hálózatok két, három, sőt négy konvolúciós réteg példáit használják össze, mielőtt egy max pooling réteget használnának. Az indoklás az volt, hogy a halmozott konvolúciós rétegek kisebb szűrőkkel közelítik meg egy konvolúciós réteg hatását egy nagyobb méretű szűrővel, például, három egymásra rakott konvolúciós réteg 3×3 szűrővel közelít egy konvolúciós réteget egy 7×7 szűrővel.
egy másik fontos különbség a használt szűrők nagyon nagy száma. A szűrők száma a modell mélységével növekszik, bár viszonylag nagy számú 64-nél kezdődik, és a modell jellemző extrakciós részének végén 128, 256, valamint 512 szűrőn keresztül növekszik.
az architektúra számos változatát fejlesztették ki és értékelték, bár ezek közül kettőt leggyakrabban teljesítményük és mélységük alapján említenek., A rétegek számáról nevezték el őket: ezek a VGG-16, A VGG-19 pedig 16, illetve 19 tanult réteg.
Az alábbiakban a papírból vett táblázat látható; vegye figyelembe az architektúra VGG-16 és VGG-19 verzióiban használt konfigurációt (a szűrők számát) jelző két jobb oldali oszlopot.
a VGG konvolúciós neurális hálózat architektúrája Objektumfotó osztályozáshoz (a 2014-es papírból vett).,
a VGG modellek tervezési döntései a konvolúciós neurális hálózatok Egyszerű és közvetlen használatának kiindulópontjává váltak.
végül a VGG munka volt az elsők között, akik megengedő licenc alapján kiadták az értékes modellsúlyokat, ami trendhez vezetett a mély tanulási számítógépes látáskutatók körében. Ez viszont ahhoz vezetett, hogy az előre képzett modellek, mint például a VGG, erősen használják az átviteli tanulást az új számítógépes látási feladatok kiindulópontjaként.,
a modern modellekben releváns architektúra főbb aspektusait a következőképpen foglalhatjuk össze:
- nagyon kis konvolúciós szűrők használata, pl. 3×3 és 1×1 egy lépéssel.
- max pooling használata 2×2 méretű és azonos méretű lépésekkel.
- a konvolúciós rétegek egymásra rakásának fontossága, mielőtt egy pooling réteget használna egy blokk meghatározásához.
- a konvolúciós-egyesítő blokk minta drámai ismétlése.
- nagyon mély (16 és 19 rétegű) modellek kifejlesztése.,
Inception and GoogLeNet
fontos újításokat javasolt a konvolúciós rétegek használatában Christian Szegedy, et al. címe: “going Deeper with Convolutions.”
a tanulmányban a szerzők egy inception (vagy inception v1) nevű architektúrát javasolnak, hogy megkülönböztessék a kiterjesztésektől), valamint egy GoogLeNet nevű modellt, amely az ILSVRC challenge 2014-es verziójában elért legjobb eredményeket érte el.
az inception modellek legfontosabb innovációja az inception modul., Ez egy blokk párhuzamos konvolúciós rétegek különböző méretű szűrők (pl. 1×1, 3×3, 5×5) egy 3×3 max pooling réteg, amelynek eredményeit ezután összefűzik. Az alábbiakban egy példa a kezdő modul venni a papír.
példa a naiv kezdő modulra (a 2015-ös papírból).
az inception modell naiv megvalósításával kapcsolatos probléma az, hogy a szűrők (mélység vagy csatornák) száma gyorsan felépül, különösen akkor, ha az inception modulok egymásra vannak rakva.,
a nagyobb szűrőméretekkel (pl. 3 és 5) végzett konvolúciók nagy számú szűrőn számíthatóan drágák lehetnek. Ennek kezelésére 1×1 konvolúciós rétegeket használnak a szűrők számának csökkentésére az inception modellben. Különösen a 3×3 és 5×5 konvolúciós rétegek előtt és az egyesítési réteg után. Az alábbi képen a papír mutatja ezt a változást az inception modul.
példa a kezdeti modul Méretcsökkentéssel (a 2015-ös papírból vett).,
az inception modell másik fontos tervezési döntése a kimenet csatlakoztatása volt a modell különböző pontjain. Ezt úgy éreztük el, hogy a fő hálózatból kis off-shoot kimeneti hálózatokat hoztunk létre, amelyeket arra képeztek, hogy előrejelzést készítsenek. A szándék az volt, hogy a mély modell különböző pontjain további hibajelzést adjon a besorolási feladatból az eltűnési színátmenetek problémájának megoldása érdekében. Ezeket a kis kimeneti hálózatokat edzés után eltávolították.,
Az alábbiakban a GoogLeNet modell architektúrájának elforgatott változatát (balról jobbra input-to-output) mutatjuk be a papírból, a bal oldali bemenettől a jobb oldali kimeneti osztályozásig, valamint a két további kimeneti hálózatot, amelyeket csak a képzés során használtak.
a GoogLeNet modell architektúrája, amelyet az Objektumfotó osztályozáshoz használt képzés során használtak (a 2015-ös papírból vett).,
érdekes módon átfedő max poolingot használtunk, és egy nagy átlagos pooling műveletet használtunk a modell jellemző extrakciós részének végén a modell osztályozó része előtt.
a modern modellekben releváns architektúra főbb aspektusait a következőképpen foglalhatjuk össze:
- az Inception modul fejlesztése és ismétlése.
- az 1×1 konvolúció nehéz használata a csatornák számának csökkentése érdekében.
- hiba visszacsatolás használata a hálózat több pontján.
- nagyon mély (22 rétegű) modellek fejlesztése.,
- a globális átlagos összevonás használata a modell kimenetéhez.
maradék hálózat vagy ResNet
a konvolúciós neurális hálók végső fontos innovációját, amelyet áttekintünk, Kaiming He, et al. a 2016-os “Deep Residue Learning for Image Recognition.”
a tanulmányban a szerzők egy nagyon mély modellt javasoltak Maradványhálózatnak, vagy röviden ResNet-nek, amelynek példája sikert ért el az ILSVRC kihívás 2015-ös verziójában.
modelljüknek lenyűgöző 152 rétege volt., A modell kialakításának kulcsa az a gondolat, hogy a fennmaradó blokkok gyorsbillentyű-kapcsolatokat használnak. Ezek egyszerűen kapcsolatok a hálózati architektúrában, ahol a bemenetet a-is (nem súlyozott) módon tartják, és továbbadják egy mélyebb rétegnek, például a következő réteg kihagyása.
a maradék blokk Két konvolúciós réteg mintája ReLU aktiválással, ahol a blokk kimenete a blokk bemenetével, például a parancsikonkapcsolattal van kombinálva. A tervezett változata a bemenet keresztül használt 1×1, ha az alakja a bemenet a blokk eltér a kimenet a blokk, az úgynevezett 1×1 konvolúciók., Ezeket vetített gyorsbillentyű-kapcsolatoknak nevezik, összehasonlítva a súlyozatlan vagy az identity parancsikonkapcsolatokkal.
A szerzők, kezdjük azzal, amit úgy hívnak, sima hálózat, amely egy VGG-ihlette mély convolutional neurális hálózat kis szűrők (3×3), csoportosított convolutional réteg követte, nem összevonása között, de egy átlagos összevonása a végén a funkciót érzékelő része a modell előtt, hogy a teljesen csatlakoztatott kimeneti réteg softmax aktiválás funkció.,
a sima hálózat úgy módosul, hogy a maradék blokkokat definiáló parancsikonkapcsolatok hozzáadásával maradványhálózattá válik. Általában a parancsikon-kapcsolat bemenetének alakja ugyanolyan méretű, mint a maradék blokk kimenete.
az alábbi kép a papírból készült, balról jobbra pedig összehasonlítja a VGG modell architektúráját, egy sima konvolúciós modellt, valamint a sima konvolúció egy változatát a maradék modulokkal, úgynevezett maradék hálózatnak.,
az Objektumfotó osztályozáshoz használt maradék hálózat architektúrája (a 2016-os papírból vett).
összefoglalhatjuk a modern modellekben releváns architektúra legfontosabb szempontjait az alábbiak szerint:
- gyorsbillentyű-kapcsolatok használata.
- a maradék blokkok fejlesztése és ismétlése.
- nagyon mély (152 rétegű) modellek fejlesztése.
további olvasás
Ez a szakasz további forrásokat biztosít a témában, ha mélyebbre szeretne menni.,
Papers
- gradiens alapú tanulás a dokumentumfelismerésre, (PDF) 1998.
- ImageNet osztályozás mély konvolúciós neurális hálózatokkal, 2012.
- nagyon mély konvolúciós hálózatok a nagyméretű Képfelismeréshez, 2014.
- mélyebbre megy a Konvolúciókkal, 2015.
- Mély Maradék Tanulás képfelismerés, 2016
API
- Keras Alkalmazások API
Cikkek
- A 9 Mély Tanulás Papírokat, amit Tudni Kell
- Egy Egyszerű Útmutató az változata a Kezdetektől Hálózat, 2018.,
- CNN architektúrák: LeNet, AlexNet, VGG, GoogLeNet, ResNet stb., 2017.
összefoglaló
ebben a bemutatóban felfedezte a konvolúciós neurális hálózatok használatának legfontosabb építészeti mérföldköveit a képosztályozás kihívásához.
konkrétan:
- hogyan lehet A szűrők és szűrőméretek számát a konvolúciós neurális hálózatok megvalósításakor beállítani.
- hogyan rendezzük a konvolúciós és egyesítő rétegeket egységes mintában a jól teljesítő modellek kifejlesztéséhez.,
- hogyan használjuk az inception modult és a maradék modult sokkal mélyebb konvolúciós hálózatok kialakítására.
van bármilyen kérdése?
tegye fel kérdéseit az alábbi megjegyzésekben, és mindent megteszek, hogy válaszoljak.
mély tanulási modellek fejlesztése a látáshoz ma!
percekben fejlessze ki saját látási modelljeit
…,csak néhány sor python kód
fedezze fel, hogyan az én új Ebook:
Deep Learning For Computer Vision
Ez biztosítja önálló tanulmány útmutatók témákról, mint:
osztályozás, objektum felismerés (yolo és rcnn), arcfelismerés (vggface és facenet), az adatok előkészítése és még sok más…
végül hozza mély tanulás a látás projektek
ugrás a tudósok. Csak Eredmények.
nézze meg, mi van benne