< Terug naar vorige pagina

Project

Multi-task learning voor het begrijpen van visuele scènes

Ondanks de recente vooruitgang in machine learning, gesterkt door het gebruik van diepe neurale netwerken, worden modellen nog steeds gebouwd voor individuele taken. Hierbij wordt een apart neuraal netwerk getraind voor elke taak. Echter, vele praktische problemen vereisen dat we verschillende taken synchroon uitvoeren. Bijvoorbeeld, om veilig te kunnen navigeren moet een autonoom voertuig tegelijkertijd alle objecten in de scene detecteren, hun locatie bepalen, de afstand schatten, etc. Op gelijkaardige wijze moet een intelligent systeem voor commerciele applicaties producten herkennen, gelijkaardige items ophalen, persoonlijke aanbiedingen voorstellen, etc. Dit om klanten de beste mogelijke ervaring te bieden. Om dergelijke problemen op te lossen begonnen onderzoekers  aan de de bouw van multi-task learning modellen die meerdere taken tegelijkertijd kunnen uitvoeren.

Het idee achter multi-task learning is om meerdere taken in parallel te leren, terwijl de geleerde representaties gedeeld worden tussen taken. We kunnen verschillende praktische voordelen vaststellen bij multi-task learning networks t.o.v. het scenario waar we elke taak afzonderlijk behandelen. Ten eerste laat het delen van de representaties toe om minder computergeheugen te gebruiken. Verder kan een deel van de berekeningen afgeschreven worden over meerdere taken, wat ervoor zorgt dat we de totale hoeveelheid rekenwerk kunnen verminderen. Tenslotte kan de performantie ook verbeterd worden wanneer taken informatie uitwisselen.

Er zijn ook een aantal belangrijke uitdagingen voor het bouwen van multi-task learning modellen. Allereerst moeten we nieuwe neurale netwerk architecturen gaan bedenken die geschikt zijn voor het behandelen van meerdere taken. Vervolgens moeten we ook optimalisatie technieken ontwikkelen die toelaten om het model meerdere taken in parallel aan te leren. Een uitdaging hierbij is dat, wanneer we optimaliseren voor meerdere taken tegelijk, een enkele of meerdere taken het leerproces kunnen domineren. Het model is bijgevolg niet in staat om de resterende taken te leren. In deze thesis behandelen we beide problemen binnen de context van visual scene understanding.

We stellen twee nieuwe neurale netwerk architecturen voor. Ten eerste bestuderen we branched multi-task networks, waar de diepere lagen van het neurale netwerk gradueel meer taak-specifiek worden. We introduceren een nieuw algoritme voor de automatische constructie van dergelijke netwerken. Het constructie algoritme groepeert taken die opgelost kunnen worden aan de hand van een gelijkaardige verzameling visuele kenmerken. Tegelijkertijd brengen we ook de complexiteit van het neurale netwerk in rekening. Onze experimentele resultaten tonen aan dat de met onze methode gegenereerde modellen een betere trade-off realiseren tussen de performantie en de benodigde rekenkracht.

Het tweede model dat we voorstellen focust expliciet op meerdere per-pixel taken. Het idee is om de predicties voor elke taak te verbeteren door informatie te halen uit de predicties van andere taken. We passen dit principe toe op meerdere schalen nadat we via observatie hebben geconstateerd dat de geometrische relaties tussen taken wijzigen afhankelijk van de gebruikte schaal. Op deze wijze halen we de maximale hoeveelheid informatie uit andere taken voor het verbeteren van de predicties. De experimentele resultaten tonen aan dat ons model beter presteert met betrekking tot de hoeveelheid computergeheugen, het aantal bewerkingen en de performantie.

We  onderzoeken ook het multi-task-learning optimalisatieprobleem. Eerst voeren we een vergelijkende studie uit van bestaande werken. Tot onze verbazing  ontdekken we verschillende discrepanties tussen bestaande werken. De verklaring hiervoor is dat  de methodes ontwikkeld werden voor een specifieke dataset of toepassing. Gebaseerd op dit resultaat proberen we de meest veelbelovende elementen te isoleren en stellen we een aantal heuristieken voor. De heuristieken zijn praktisch georienteerd. Verder tonen we aan dat het gebruik van heuristieken zich vertaalt in meer robuuste resultaten.

In het laatste hoofdstuk  onderzoeken we het probleem van visual scene understanding vanuit een alternatief oogpunt. Veel modellen maken gebruik van gesuperviseerd pretrainen. Hierbij wordt het model eerst  getraind op een andere, grotere dataset, waarna de gewichten getransfereerd worden naar de taak waarin we geintresseerd zijn. Dit laat toe om een hoge performantie te behalen, zelfs op datasets met slechts een beperkte hoeveelheid  gelabelde voorbeelden. Gesuperviseerd pretrainen maakt echter zelf gebruik van een gelabelde dataset, wat het gebruik beperkt. Onderzoekers zijn daarom gestart  met het onderzoeken van zelf-gesuperviseerde methodes, waarbij het leersignaal vanuit de data zelf komt. We bestuderen recente methodes gebaseerd op contrastive learning. Eerst tonen we aan dat een bestaande methode zoals MoCo robuuste resultaten kan behalen voor verscheidene datasets - inclusief scene-centric, ongebalanceerde en domeinspecifieke datasets. Verder verbeteren we de representaties door extra invarianties op te leggen. Dit resultaat laat toe bestaande modellen voor segmentatie, objectdetectie, etc. te verbeteren. Tenslotte tonen we aan dat we op een gelijkaardige manier ook de performantie van multi-task learning modellen kunnen verbeteren.

Deze thesis beschrijft verschillende methodes voor het verbeteren van multi-task learning modellen voor visual scene understanding. De contributies focussen op het verbeteren van de netwerkarchitectuur, het optimalisatieproces en het pre-trainingsaspect. Alle innovaties werden getest op verschillende datasets. De bijhorende code is publiek beschikbaar: \url{https://github.com/SimonVandenhende}.

Datum:7 nov 2018 →  30 mrt 2022
Trefwoorden:Computer Vision
Disciplines:Computer vision
Project type:PhD project