aan een CNN zijn beide afbeeldingen vergelijkbaar, omdat ze beide bevatten vergelijkbare elementen. Bron. Hoe werkt CNNs? Het hoofdbestanddeel van een CNN is een convolutielaag. Zijn taak is om belangrijke functies in de beeldpixels te detecteren. Lagen die dieper zijn (dichter bij de invoer) zullen leren om eenvoudige functies zoals randen en kleurverlopen te detecteren, terwijl hogere lagen eenvoudige functies zullen combineren in meer complexe functies. Ten slotte zullen dichte lagen aan de top van het netwerk kenmerken van zeer hoog niveau combineren en classificatievoorspellingen produceren.
belangrijk om te begrijpen is dat functies op een hoger niveau functies op een lager niveau combineren als een gewogen som: de activeringen van een voorafgaande laag worden vermenigvuldigd met de gewichten van de volgende laagneuron en toegevoegd, alvorens aan activeringsonlineariteit wordt overgegaan. Nergens in deze setup is er pose (translationele en rotationele) relatie tussen eenvoudiger functies die deel uitmaken van een hoger niveau functie. CNN benadering om dit probleem op te lossen is het gebruik van max pooling of opeenvolgende convolutionele lagen die de ruimtelijke grootte van de gegevens die door het netwerk stromen verminderen en daarom het “gezichtsveld” van de neuronen van de hogere laag verhogen, waardoor ze hogere ordekenmerken in een groter gebied van het invoerbeeld kunnen detecteren. Max pooling is een kruk die convolutionele netwerken verrassend goed werken, het bereiken van bovenmenselijke prestaties op vele gebieden. Maar laat je niet misleiden door de prestaties: terwijl CNNs werken beter dan enig model voor hen, max pooling toch verliest waardevolle informatie.
Hinton zelf verklaarde dat het feit dat max pooling zo goed werkt een grote fout en een ramp is:
Hinton: “de poolingoperatie die wordt gebruikt in convolutionele neurale netwerken is een grote fout en het feit dat het zo goed werkt is een ramp.”
natuurlijk kunt u max pooling afschaffen en toch goede resultaten behalen met traditionele CNN ‘ s, maar ze lossen het belangrijkste probleem nog steeds niet op:
interne gegevensrepresentatie van een convolutioneel neuraal netwerk houdt geen rekening met belangrijke ruimtelijke hiërarchieën tussen eenvoudige en complexe objecten.
in het voorbeeld hierboven betekent een aanwezigheid van 2 ogen, een mond en een neus in een afbeelding niet dat er een gezicht is, we moeten ook weten hoe deze objecten ten opzichte van elkaar zijn georiënteerd.
3D-wereld Hardcoderen in een neuraal Net: Inverse Graphics Approach
Computer graphics houdt zich bezig met het construeren van een visueel beeld op basis van een interne hiërarchische representatie van geometrische gegevens. Merk op dat de structuur van deze voorstelling rekening moet houden met relatieve posities van objecten. Die interne representatie wordt opgeslagen in het geheugen van de computer als arrays van geometrische objecten en matrices die relatieve posities en oriëntatie van deze objecten vertegenwoordigen. Dan, speciale software neemt die vertegenwoordiging en zet het om in een afbeelding op het scherm. Dit wordt rendering genoemd.
computergraphics neemt interne representatie van objecten en produceert een afbeelding. Menselijk brein doet het tegenovergestelde. Capsule netwerken volgen een soortgelijke benadering van de hersenen. Bron. geïnspireerd door dit idee, argumenteert Hinton dat hersenen in feite het tegenovergestelde doen van renderen. Hij noemt het inverse graphics: uit visuele informatie ontvangen door de ogen, deconstrueren ze een hiërarchische weergave van de wereld om ons heen en proberen ze deze te matchen met reeds geleerde patronen en relaties opgeslagen in de hersenen. Dit is hoe erkenning gebeurt. Het belangrijkste idee is dat de weergave van objecten in de hersenen niet afhankelijk is van de kijkhoek.
dus op dit punt is de vraag: hoe modelleren we deze hiërarchische relaties binnen een neuraal netwerk? Het antwoord komt van Computer graphics. In 3D-graphics kunnen relaties tussen 3D-objecten worden weergegeven door een zogenaamde pose, die in essentie vertaling plus rotatie is.
Hinton stelt dat om classificatie en objectherkenning correct uit te voeren, het belangrijk is om hiërarchische pose-relaties tussen objectdelen te behouden. Dit is de belangrijkste intuïtie die je in staat zal stellen om te begrijpen waarom de capsuletheorie zo belangrijk is. Het bevat relatieve relaties tussen objecten en het wordt numeriek weergegeven als een 4D pose matrix.
wanneer deze relaties zijn ingebouwd in de interne representatie van data, wordt het voor een model heel gemakkelijk om te begrijpen dat het ding dat het ziet gewoon een andere kijk is op iets dat het eerder heeft gezien. Denk aan de afbeelding hieronder. U kunt gemakkelijk herkennen dat dit het Vrijheidsbeeld is, hoewel alle afbeeldingen het vanuit verschillende hoeken laten zien. Dit komt omdat de interne weergave van het Vrijheidsbeeld in je hersenen niet afhankelijk is van de kijkhoek. Je hebt waarschijnlijk nog nooit deze exacte foto ‘ s van het gezien, maar je wist meteen wat het was.