Guided Labeling Episode 5: kennis mengen met zwak toezicht

Klik voor meer informatie over auteur Paolo Tamagnini.

Welkom bij de vijfde aflevering van onze Guided Labeling Blog-serie. In de laatste vier afleveringen hebben we geïntroduceerd Actief leren en een praktisch voorbeeld met Body Mass Index-gegevens, dat laat zien hoe actief leren steekproeven kunnen worden uitgevoerd via de techniek “exploratie versus exploitatie”. Deze techniek maakt gebruik van labeldichtheid en modelonzekerheid om te selecteren welke rijen het eerst moeten worden gelabeld door de gebruiker van onze actieve leerapplicatie.

De andere afleveringen zijn hier:

Beperkingen van actief leren

Actief leren is een krachtige techniek om een ​​bewaakt model te trainen wanneer u gegevens heeft voor uw modelinvoer, maar er geen labels bij zijn. Ondanks de effectiviteit van het injecteren van menselijke expertise tijdens de training van uw model, kan actief leren nog steeds tijdrovend zijn.

Het iteratieve proces van actief leren vermindert de tijd die nodig is om monsters te labelen om een ​​model te trainen, maar vereist nog steeds handmatig labelen. In feite stelt actief leren u in staat om het aantal handmatig gelabelde monsters te verminderen dat nodig is om een ​​model te trainen, maar het kan nog steeds nodig zijn om duizenden monsters te labelen. Hoe complexer uw classificatietaak is, hoe meer labels er nodig zijn om uw model te onderwijzen, zelfs via actief leren.

Stel je een use-case voor waarbij het labelen van monsters in een willekeurige volgorde enkele maanden zou duren voordat goede modelprestaties werden behaald. In dit geval zou het toepassen van actief leren nog steeds vereisen dat uw expert een groot aantal monsters labelt, waardoor de tijd die het kost misschien van maanden tot weken kan worden verkort. De vraag is dus: is er naast actief leren nog een andere techniek om nog meer tijd te besparen?

Als er weinig of geen labels beschikbaar zijn, zijn er enkele aanvullende technieken naast actief leren die u kunt gebruiken om een ​​model te trainen (bijv. Semi-supervised learning, transfer learning, enz.). In deze aflevering zullen we ons concentreren op een techniek genaamd zwak toezicht. Terwijl actief leren zich richt op het trainen van een model dat gericht is op het verzamelen van een kleine steekproef van labels van hoge kwaliteit, maakt zwak toezicht in plaats daarvan gebruik van het verzamelen van een enorme steekproef van labels van twijfelachtige kwaliteit uit verschillende en totaal verschillende bronnen. Laten we eens nader bekijken waar deze andere techniek over gaat.

Leren van zwakke labelbronnen

Terwijl actief leren al goed bekend was lang voordat de termen ‘data science’ en ‘AI’ werden bedacht, werd zwak toezicht de laatste jaren populair toen de Stanford AI Lab heeft een Python-bibliotheek uitgebracht met de naam Snorkel rond 2019.

Om te begrijpen hoe zwak toezicht werkt, gebruiken we het volgende voorbeeld. Stel je voor dat je wilt beslissen of je al dan niet een lijst met films wilt bekijken op basis van de suggesties van je vrienden en dat je alle kenmerken van de films negeert. Je vrienden geven hun mening op basis van of ze het wel of niet hebben bekeken en of ze het leuk vonden of niet. Als ze de film niet hebben bekeken, zullen ze simpelweg geen mening delen, maar als ze de film hebben bekeken, zullen ze je een positieve of negatieve mening geven.

Samenvatten:

  • Elke “vriend” kan voor elke “film” uitvoeren:
    • “goede film” (?),
    • “Film niet gezien” ( ),
    • “Slechte film” (?).
  • Veronderstellingen:
    • Je hebt nooit een van die films gezien.
    • Je weet niet welke vriend een soortgelijke smaak heeft als die van jou.
    • U wilt alle informatie over de film negeren
      (bijv film genre, hoofdrolspeler, …).
    • De meningen van je vrienden zijn onafhankelijk van elkaar (ze kennen elkaar niet).

Technisch gezien zou je de meningen van al je vrienden over een enkele film kunnen samenvoegen en een uitkomst kunnen berekenen, of de film het bekijken waard is of niet. U kunt bijvoorbeeld een gewone meerderheid van stemmen gebruiken (Fig. 1).

Figuur 1: Zwakke labelbronnen Voorbeeld: elke vriend wordt om een ​​mening over een film gevraagd en kan antwoorden: “goede film” (?), “film niet gezien” ( ), “Slechte film” (?). Het gecombineerde resultaat kon al worden berekend via een gewone meerderheid van stemmen.

Door meningen te verzamelen over alle films op uw lijst (afb. 2), de meerderheid van de stemmen te krijgen en de film te bekijken, realiseert u zich misschien dat de mening van de ene vriend betrouwbaarder is dan die van andere. Is er een manier om die vrienden op te sporen voordat je zelfs maar naar de film kijkt en de meerderheid van de stemmen te vergelijken met de toekomstige publieke opinie van bijvoorbeeld de volgende Oscars Academy Awards? Met andere woorden, is er een manier om de nauwkeurigheid van uw vrienden te meten bij het aanbevelen van films? In gedachten houden wiens mening betrouwbaarder is, zou wellicht wijzer zijn in plaats van een gewone meerderheid van stemmen; dat betekent in feite dat de mening van bepaalde vrienden meer weegt dan anderen.

Figuur 2: Zwakke labelbronnenmatrix Voorbeeld: Als u meningen over verschillende films van verschillende vrienden verzamelt, kunt u een matrixtabel bouwen waarin elke kolom is gerelateerd aan een andere vriend en elke rij een andere film.

Zwakke supervisie kan de juistheid van de mening van elk van uw vrienden over alle films schatten en een probabilistisch label voor elk van hen produceren. Deze probabilistische output is een kansverdeling voor de mogelijke uitkomst – naast de casus “niet geziene film”. In ons voorbeeld zou het een waarschijnlijkheidsvector zijn (Y) voor elke film die uw vrienden hebben aanbevolen:

Bij een dergelijke probabilistische output wordt rekening gehouden met de juistheid van de mening van uw vrienden en wordt elk van uw vrienden dienovereenkomstig gewogen. Als al je vrienden dezelfde nauwkeurigheid hebben, zou de output opnieuw een gewone meerderheid van stemmen zijn.

Hoe traint zwak toezicht een dergelijk model zonder te weten welke film geweldig is of niet? Hoe vindt het de nauwkeurigheid voor elke vriend? Dit punt is eigenlijk het centrale concept binnen de zwakke toezichtaanpak.

Zwakke supervisie is in staat een model te trainen dat ofwel het “labelmodel” of het “generatieve model” wordt genoemd, met behulp van een Bayesiaanse benadering (figuur 3). Het neemt als input de meningen en, via een algoritme voor matrixaanvulling, detecteert patronen van overeenstemming en conflicten om elke “vriend”Gebaseerd op de aangeleerde nauwkeurigheid.

Figuur 3: Training van het zwakke labelmodel: Door de zwakke labelbronnenmatrix in het labelmodel in te voeren, kunt u een probabilistische output berekenen die elke bron weegt op basis van de geschatte nauwkeurigheid. Het matrixaanvullingsalgoritme kan dit doen door de algemene patronen van conflicten te detecteren en de verschillende onafhankelijke bronnen te matchen via een Bayesiaanse benadering.

Generaliseren van de zwakke labelbronnen met functiegegevens

Met deze aanpak heb je een geautomatiseerde voorspelling om te weten welke film het bekijken waard is. Door kennis uit de meningen van al je vrienden op een betrouwbaardere manier te combineren dan bij een gewone meerderheid van stemmen, kun je beslissen op basis van de hoogste waarschijnlijkheid bij de output (figuur 4). Hoe meer meningen, hoe betrouwbaarder het labelmodel natuurlijk zal zijn.

Het labelmodel werkt echter alleen als je een mening hebt over een film. Als je dit model zou moeten gebruiken voor een film waar je vrienden geen mening over deelden, zou het gewoon niet werken. Verder gebruiken we niet veel andere informatie die we hadden kunnen hebben over de film (film genre, hoofdrolspeler, filmbudget, …).

Figuur 4: Scoren met het labelmodel werkt alleen als er zwakke labelbronnen beschikbaar zijn voor dat specifieke gegevenspunt en het negeert alle andere bijbehorende feature-gegevens volledig.

Om te voorspellen of een film goed is of niet als er geen mening beschikbaar is, kunnen we aanvullende filminformatie en de output van het labelmodel gebruiken. Op deze manier kunnen we generaliseren wat de labelmodellen produceerden naar nieuwe films via een tweede model. Alles wat we nodig hebben is een machine learning model in staat om een ​​classificatietaak te leren van probabilistische labels in plaats van pure labels. Het blijkt dat neurale netwerken, logistische regressie en – met een paar aanpassingen – vele andere ook geschikt zijn. Dit tweede model staat bij zwak toezicht bekend als het “discriminerende model” (Fig. 5).

Figuur 5: Trainen met het discriminerende model vereist de uitvoer van het labelmodel en de bijbehorende kenmerkgegevens. Neurale netwerken (deep learning) naast vele andere ML-algoritmen kunnen worden getraind via probabilistische labels in plaats van standaardlabels voor het leren van een classificatietaak.

Als je eenmaal een onderscheidend model hebt getraind, zul je dat kunnen een voorspelling scoren op elke film waarvoor u beschikbare functies heeft (Afb. 6). Het discriminerende model is wat u nodig heeft, het is niet nodig om het labelmodel mee te nemen.

Figuur 6: Scoren met het discriminerende model is mogelijk door simpelweg functies van het nieuwe datapunt te bieden, net als bij de implementatie van elk machine learning-model.

Je denkt misschien nu, geweldig, dus nu kan ik de meningen van mijn vrienden over films combineren met functies over die films in één model, maar hoe is dit handig als ik geen labels heb om een ​​generiek model onder supervisie te trainen? Hoe kan zwak toezicht een alternatief worden voor actief leren in een generieke classificatietaak? Hoe kan deze analogie met velen “vrienden“Labelen”films”Beter werken dan een enkele menselijke expert zoals bij actief leren?

In de volgende Begeleide Labeling Blog Post episode, zullen we de zwakke supervisiebenadering generaliseren om elke machine learning classifier te trainen op een generieke ongelabelde dataset en deze strategie vergelijken met actief leren. Blijf kijken!

Dit is een doorlopende serie over geleide labels, bekijk elke aflevering op:

follow:
admin

admin

Related Posts

Een korte geschiedenis van gegevensbeheer

Datamanagement is de organisatie van gegevens, de stappen die worden gebruikt om efficiëntie te bereiken en informatie uit die gegevens

Datakans klopt! Moet je antwoorden?

Klik voor meer informatie over auteur Kartik Patel. Als zakenmensen krijgen we vaak te maken met wat misschien een geweldige

Een korte geschiedenis van gegevensbeheer

Datamanagement is de organisatie van gegevens, de stappen die worden gebruikt om efficiëntie te bereiken en informatie uit die gegevens

Datakans klopt! Moet je antwoorden?

Klik voor meer informatie over auteur Kartik Patel. Als zakenmensen krijgen we vaak te maken met wat misschien een geweldige