Articles

Konvolúciós neurális hálózati modell innovációk a Képosztályozáshoz

Tweet Share

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:

  1. Építészeti Tervezés CNNs
  2. LeNet-5
  3. AlexNet
  4. VGG
  5. Eredet, illetve GoogLeNet
  6. 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

Tweet Share