Show simple item record

dc.contributor.advisorDowning, Keith
dc.contributor.authorBjørnøy, Håvard
dc.date.accessioned2021-09-15T16:31:53Z
dc.date.available2021-09-15T16:31:53Z
dc.date.issued2020
dc.identifierno.ntnu:inspera:57320302:37205242
dc.identifier.urihttps://hdl.handle.net/11250/2777943
dc.description.abstractBildeanalyse er allestedsnærværende i daglige tjenester, for eksempel ansiktsgjenkjenning for å låse opp telefonen, QR-koder og algoritmer for bildeforbedring. Store bransjer som autonome kjøretøy, autonome lager, samlebånd og medisinsk diagnose er avhengig av nøyaktige robuste løsninger for sine bildeanalysemodeller. Ulike convolutional nevrale nettverk (CNN) er ryggraden i de fleste av disse moderne applikasjonene. Til tross for CNNs store suksess, har de problemer med modellering av romlige forhold og sliter med å ekstrapolere konsepter som rotasjon. En ny arkitektur, kapselnettverk, som tar sikte på å takle disse manglene foreslås av Hinton et al. (2011) og Sabour et al. (2017). Et kapselnettverk grupperer nevroner som enheter (kapsler) som kan representere om en gjenstand (eller del av et objekt) eksisterer så vel som dens egenskaper (rotasjon, fargetone, lysstyrke). Kapslene har også dynamiske forbindelser som er enig når en kapsel er relatert til en kapsel i laget over. Disse endringene gjør det mulig for kapselnettverk å utnytte romlige forhold mellom komponenter av objekter og generalisere bedre i nye tilfeller med litt forskjellige egenskaper. Hvis kapselnettverket generaliseres bedre enn vanlige CNN-er, er en lovende applikasjon for kapselnettverk små datasett. Denne masteroppgven undersøker ytelsen til kapselnettverk på undergrupper av MNIST datasettet med få prøver per klasse, fra 1 til 100 prøver per klasse. I tillegg blir en undersøkelse av kapselnettverkets ytelse på datasett med 2 til 1623 antall klasser utført på Omniglot datasettet, for å oppdage hvordan kapselnettverket presterer og skalerer til denne utfordringen. I begge eksperimentene i denne oppgaven sammenlignes kapselnettverk med en CNN grunnlinjemodell. Det første eksperimentet sammenlignet ytelsen til kapselnettverket fra Sabour et al. (2017) (CapsNet) og CNN modellen fra Sabour et al. (2017) på små datasett. Kapselnettverket overgikk konsekvent CNN modellen, i motsetning til resultatene fra tidligere funn av Schlegel et al. (2018). Den gjennomsnittlige forskjellen i nøyaktighet mellom CapsNet og CNN modellen var på 7%. Det andre eksperimentet sammenlignet modellene fra forrige eksperiment, modifisert for større input og output. Kapselnettverket overgikk CNN modellen på datasett med mange klasser. Imidlertid skalerte CNN mye bedre m.t.p. modellparametere smmenligned med kapselnettverket. Mens CNN-parametrene bare øker med 3% fra 2 til 1623 klasser, økte kapselnettverket i dette tilfellet med 785%. Modellen var for stor, så den måtte reduseres i kapasitet for å redusere GPU-minnet, pga tilgjgenlige resursser. For 400 klasser oppnådde CapsNet testnøyaktighet på 52.12%, i motsetning til CNN-baseline med en testnøyaktighet på 20.63%. CapsNet-modellen modifisert for 400 klasser hadde 489% flere modellparametere enn den sammenlignede CNN modellen. Ubalansen i antall parametere gjør det vanskelige å sammenlignde modellene. Framtidig arbeid bør undersøke løsninger for skalering av kapselnett til mange klasser.
dc.description.abstractImage analysis is becoming ubiquitous in everyday services as for example unlocking your phone with face recognition, QR codes detection, and photo enhancer algorithms. Big industries like autonomous vehicles, autonomous warehouses, assembly lines and medical diagnosis tools are dependant on accurate robust solutions for their image analysis models. Different convolutional neural networks (CNNs) are the backbone of most of these modern applications. Despite CNNs great success, they have deficiencies in modelling spatial relationships between components and struggle to extrapolate on concepts like rotation. A new architecture, Capsule networks, aimed to tackle these deficiencies is proposed by Hinton et al. (2011) and Sabour et al. (2017). A capsule network group neurons as units (capsules) that can represent if an object(or part of an object) exists as well as it's properties (rotation, hue, brightness). The capsules also have dynamic connections that \textit{agree} when a capsule is related to a capsule in the layer above. These changes enable capsule networks to exploit spatial relationships between components of objects and generalize better on new instances with slightly different properties. If the capsule network generalizes better than regular CNNs, a promising application for capsule networks are small datasets. This thesis investigates capsule networks performance on subsets of the MNIST dataset with few samples per class, ranging from 1 to 100 samples per class. In addition, a study of capsule networks performance on datasets with 2 to 1623 number of classes is carried out on the Omniglot dataset, specifically to discover how the capsule network performs and scales to this challenge. In both experiments in this thesis, a CNN is used as a baseline. The first experiment compared the performance of the capsule network from Sabour et al. (2017) (CapsNet) and the CNN baseline from Sabour et al. (2017) on small datasets. The capsule network consistently outperformed the CNN baseline, in contrast with the results from previous discoveries by Schlegel et al. (2018) on the topic. The average difference in accuracy between the CapsNet and the CNN baseline for samples per class of 1,5,10, and 20 is 7%. The second experiment compared the models from the last experiment, modified for bigger input and outputs. The capsule network outperformed the CNN baseline on datasets with many classes. However, the CNN scaled much better w.r.t. model parameters than the capsule network. While the CNN parameters only increase by 3% from 2 to 1623 classes, the capsule network in this instance increased by 785%. The model was too big, so it had to be reduced in capacity to reduce the GPU memory so it would fit into limited resources of 16GiB GPU memory. For 400 classes, CapsNet achieved a 52.12% test accuracy, in contrast to the CNN baseline with a 20.63% test accuracy. The CapsNet model modified for 400 classes had 489% more model parameters than the compared CNN baseline. The unbalance in the number of parameters undercuts the side-by-side comparison of the models. Future work should investigate solutions to the scaling of capsule networks to many classes.
dc.language
dc.publisherNTNU
dc.titleInvestigating the Effect of Samples per Class and Number of Classes for Capsule Networks' Performance
dc.typeMaster thesis


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record