Deep learning in vergelijking met machine learning in Azure Machine Learning

In dit artikel wordt deep learning versus machine learning uitgelegd en hoe deze in de bredere categorie kunstmatige intelligentie passen. Meer informatie over deep learning-oplossingen die u kunt bouwen op Azure Machine Learning, zoals fraudedetectie, spraak- en gezichtsherkenning, sentimentanalyse en prognoses van tijdreeksen.

Zie het cheatsheet machine learning-algoritme voor hulp bij het kiezen van algoritmen voor uw oplossingen.

Basismodellen in Azure Machine Learning zijn vooraf getrainde Deep Learning-modellen die kunnen worden afgestemd op specifieke use cases. Meer informatie over Foundation Models (preview) in Azure Machine Learning en het gebruik van Foundation Models in Azure Machine Learning (preview).

Deep learning, machine learning en AI

Relationship diagram: AI vs. machine learning vs. deep learning

Houd rekening met de volgende definities om inzicht te hebben in deep learning versus machine learning versus AI:

  • Deep Learning is een subset van machine learning die is gebaseerd op kunstmatige neurale netwerken. Het leerproces is diep omdat de structuur van kunstmatige neurale netwerken bestaat uit meerdere invoer-, uitvoer- en verborgen lagen. Elke laag bevat eenheden waarmee de invoergegevens worden getransformeerd tot informatie die door de volgende laag voor een bepaalde voorspellingstaak kan worden gebruikt. Dankzij deze structuur kan een machine leren door middel van een eigen gegevensverwerking.

  • Machine learning is een subset van kunstmatige intelligentie die gebruikmaakt van technieken (zoals deep learning) waarmee machines ervaring kunnen gebruiken om taken te verbeteren. Het leerproces is gebaseerd op de volgende stappen:

    1. Gegevens invoeren in een algoritme. (In deze stap kunt u aanvullende informatie aan het model verstrekken, bijvoorbeeld door functieextractie uit te voeren.)
    2. Gebruik deze gegevens om een model te trainen.
    3. Test en implementeer het model.
    4. Gebruik het geïmplementeerde model om een geautomatiseerde voorspellende taak uit te voeren. (Met andere woorden: roep het geïmplementeerde model aan en gebruik het om de voorspellingen te ontvangen die door het model worden geretourneerd.)
  • Kunstmatige intelligentie (AI) is een techniek waarmee computers menselijke intelligentie kunnen nabootsen. Het bevat machine learning.

  • Generatieve AI is een subset van kunstmatige intelligentie die gebruikmaakt van technieken (zoals deep learning) om nieuwe inhoud te genereren. U kunt bijvoorbeeld generatieve AI gebruiken om afbeeldingen, tekst of audio te maken. Deze modellen maken gebruik van enorme vooraf getrainde kennis om deze inhoud te genereren.

Met behulp van machine learning- en deep learning-technieken kunt u computersystemen en toepassingen bouwen die taken uitvoeren die vaak zijn gekoppeld aan menselijke intelligentie. Deze taken omvatten afbeeldingsherkenning, spraakherkenning en taalomzetting.

Technieken van deep learning versus machine learning

Nu u het overzicht van machine learning versus deep learning hebt, gaan we de twee technieken vergelijken. In machine learning moet het algoritme worden verteld hoe een nauwkeurige voorspelling moet worden gemaakt door meer informatie te gebruiken (bijvoorbeeld door functieextractie uit te voeren). In Deep Learning kan het algoritme leren hoe u een nauwkeurige voorspelling kunt doen via een eigen gegevensverwerking, dankzij de structuur van het kunstmatige neurale netwerk.

In de volgende tabel worden de twee technieken uitgebreider vergeleken:

Alle machine learning Alleen deep learning
Aantal gegevenspunten Kan kleine hoeveelheden gegevens gebruiken om voorspellingen te doen. Moet grote hoeveelheden trainingsgegevens gebruiken om voorspellingen te doen.
Hardwareafhankelijkheden Kan werken op low-end machines. Er is geen grote hoeveelheid rekenkracht nodig. Is afhankelijk van high-end machines. Het voert inherent een groot aantal matrix vermenigvuldigingsbewerkingen uit. Een GPU kan deze bewerkingen efficiënt optimaliseren.
Featurization-proces Vereist dat functies nauwkeurig worden geïdentificeerd en gemaakt door gebruikers. Hier vindt u informatie over functies op hoog niveau van gegevens en maakt u zelf nieuwe functies.
Leerbenadering Verdeelt het leerproces in kleinere stappen. Vervolgens worden de resultaten van elke stap gecombineerd tot één uitvoer. Doorloopt het leerproces door het probleem end-to-end op te lossen.
Uitvoeringstijd Het duurt relatief weinig tijd om te trainen, variërend van een paar seconden tot een paar uur. Meestal duurt het lang om te trainen, omdat een deep learning-algoritme veel lagen omvat.
Uitvoer De uitvoer is meestal een numerieke waarde, zoals een score of een classificatie. De uitvoer kan meerdere indelingen hebben, zoals een tekst, een score of een geluid.

Wat is kennisoverdracht?

Het trainen van Deep Learning-modellen vereist vaak grote hoeveelheden trainingsgegevens, high-end rekenresources (GPU, TPU) en een langere trainingstijd. In scenario's waarin u geen van deze beschikbaar hebt, kunt u het trainingsproces snelkoppelingen maken met behulp van een techniek die bekend staat als transfer learning.

Leren overdragen is een techniek die kennis toepast die is opgedaan bij het oplossen van één probleem op een ander, maar gerelateerd probleem.

Vanwege de structuur van neurale netwerken bevat de eerste set lagen meestal functies op lager niveau, terwijl de laatste set lagen functies op een hoger niveau bevat die zich dichter bij het desbetreffende domein bevinden. Door de laatste lagen opnieuw te gebruiken in een nieuw domein of probleem, kunt u de hoeveelheid tijd, gegevens en rekenresources die nodig zijn voor het trainen van het nieuwe model aanzienlijk verminderen. Als u bijvoorbeeld al een model hebt dat auto's herkent, kunt u dat model hergebruiken met behulp van transfer learning om ook vrachtwagens, motorfietsen en andere soorten voertuigen te herkennen.

Leer hoe u overdrachtsleer toepast voor afbeeldingsclassificatie met behulp van een opensource-framework in Azure Machine Learning: Een Deep Learning PyTorch-model trainen met behulp van overdrachtsleer.

Gebruiksvoorbeelden voor Deep Learning

Vanwege de kunstmatige neurale netwerkstructuur excelleert deep learning in het identificeren van patronen in ongestructureerde gegevens, zoals afbeeldingen, geluid, video en tekst. Daarom transformeert deep learning snel veel branches, waaronder gezondheidszorg, energie, financiën en transport. Deze branches zijn nu bezig met het herzien van traditionele bedrijfsprocessen.

Enkele van de meest voorkomende toepassingen voor deep learning worden beschreven in de volgende alinea's. In Azure Machine Learning kunt u een model gebruiken dat u hebt gebouwd op basis van een opensource-framework of het model bouwen met behulp van de meegeleverde hulpprogramma's.

Herkenning van benoemde entiteiten

Herkenning van benoemde entiteiten is een deep learning-methode die een stuk tekst als invoer gebruikt en deze transformeert in een vooraf opgegeven klasse. Deze nieuwe informatie kan een postcode, een datum, een product-id zijn. De informatie kan vervolgens worden opgeslagen in een gestructureerd schema om een lijst met adressen te maken of als benchmark te fungeren voor een identiteitsvalidatie-engine.

Objectdetectie

Deep Learning is toegepast in veel gebruiksvoorbeelden voor objectdetectie. Objectdetectie wordt gebruikt om objecten in een afbeelding (zoals auto's of personen) te identificeren en specifieke locatie te bieden voor elk object met een begrenzingsvak.

Objectdetectie wordt al gebruikt in branches zoals gaming, detailhandel, toerisme en zelfrijdende auto's.

Installatiekopieën onderschrift generatie

Net als bij afbeeldingsherkenning moet het systeem in de afbeelding onderschrift ing een onderschrift genereren waarin de inhoud van de afbeelding wordt beschreven. Wanneer u objecten in foto's kunt detecteren en labelen, is de volgende stap het omzetten van deze labels in beschrijvende zinnen.

Meestal maken afbeeldingen onderschrift toepassingen gebruik van convolutionele neurale netwerken om objecten in een afbeelding te identificeren en vervolgens een terugkerend neuraal netwerk te gebruiken om de labels om te zetten in consistente zinnen.

Machinevertaling

Automatische vertaling neemt woorden of zinnen uit de ene taal en vertaalt ze automatisch in een andere taal. Machinevertaling bestaat al lange tijd, maar deep learning levert indrukwekkende resultaten op op twee specifieke gebieden: automatische vertaling van tekst (en vertaling van spraak naar tekst) en automatische vertaling van afbeeldingen.

Met de juiste gegevenstransformatie kan een neuraal netwerk tekst-, audio- en visuele signalen begrijpen. Automatische vertaling kan worden gebruikt om fragmenten van geluid in grotere audiobestanden te identificeren en het gesproken woord of de gesproken afbeelding als tekst te transcriberen.

Tekstanalyse

Tekstanalyse op basis van deep learning-methoden omvat het analyseren van grote hoeveelheden tekstgegevens (bijvoorbeeld medische documenten of onkostenbevestigingen), het herkennen van patronen en het maken van georganiseerde en beknopte informatie.

Bedrijven gebruiken deep learning om tekstanalyses uit te voeren om interne handel en naleving van overheidsvoorschriften te detecteren. Een ander veelvoorkomend voorbeeld is verzekeringsfraude: tekstanalyse is vaak gebruikt om grote hoeveelheden documenten te analyseren om de kans te herkennen dat een verzekeringsclaim fraude is.

Kunstmatige neurale netwerken

Kunstmatige neurale netwerken worden gevormd door lagen van verbonden knooppunten. Deep Learning-modellen maken gebruik van neurale netwerken met een groot aantal lagen.

In de volgende secties worden de populairste typologieën van kunstmatig neuraal netwerk verkend.

Feedforward neural netwerk

Het feedforward neurale netwerk is het eenvoudigste type kunstmatig neuraal netwerk. In een feedforward-netwerk wordt informatie in slechts één richting verplaatst van de invoerlaag naar de uitvoerlaag. Feedforward neurale netwerken transformeren een invoer door deze door een reeks verborgen lagen te plaatsen. Elke laag bestaat uit een set neuronen en elke laag is volledig verbonden met alle neuronen in de laag daarvoor. De laatste volledig verbonden laag (de uitvoerlaag) vertegenwoordigt de gegenereerde voorspellingen.

Terugkerend neuraal netwerk (RNN)

Terugkerende neurale netwerken zijn een veelgebruikt kunstmatig neuraal netwerk. Deze netwerken slaan de uitvoer van een laag op en voeren deze terug naar de invoerlaag om het resultaat van de laag te voorspellen. Terugkerende neurale netwerken hebben geweldige leermogelijkheden. Ze worden veel gebruikt voor complexe taken, zoals het voorspellen van tijdreeksen, het leren van handschrift en het herkennen van taal.

Convolutioneel neuraal netwerk (CNN)

Een convolutionele neurale netwerk is een bijzonder effectief kunstmatig neuraal netwerk en biedt een unieke architectuur. Lagen zijn ingedeeld in drie dimensies: breedte, hoogte en diepte. De neuronen in één laag verbinden niet met alle neuronen in de volgende laag, maar alleen met een klein gebied van de neuronen van de laag. De uiteindelijke uitvoer wordt gereduceerd tot één vector van waarschijnlijkheidsscores, geordend langs de dieptedimensie.

Convolutionele neurale netwerken zijn gebruikt op gebieden zoals videoherkenning, beeldherkenning en aanbevelingssystemen.

Generatief tegenstrijdig netwerk (GAN)

Generatieve adversarial netwerken zijn generatieve modellen getraind om realistische inhoud zoals afbeeldingen te creëren. Het bestaat uit twee netwerken die generator en discriminator worden genoemd. Beide netwerken worden gelijktijdig getraind. Tijdens de training gebruikt de generator willekeurige ruis om nieuwe synthetische gegevens te maken die nauw lijken op echte gegevens. De discriminator neemt de uitvoer van de generator als invoer en gebruikt echte gegevens om te bepalen of de gegenereerde inhoud echt of synthetische is. Elk netwerk concurreert met elkaar. De generator probeert synthetische inhoud te genereren die niet te onderscheiden is van echte inhoud en de discriminator probeert invoer correct te classificeren als echt of synthetische. De uitvoer wordt vervolgens gebruikt om de gewichten van beide netwerken bij te werken om ze te helpen hun respectieve doelstellingen beter te bereiken.

Generatieve adversarial netwerken worden gebruikt om problemen op te lossen, zoals afbeeldingen naar afbeeldingsvertaling en leeftijdsvoortgang.

Transformatoren

Transformatoren zijn een modelarchitectuur die geschikt is voor het oplossen van problemen met reeksen zoals tekst- of tijdreeksgegevens. Ze bestaan uit coderings- en decoderlagen. De encoder neemt een invoer en wijst deze toe aan een numerieke weergave met informatie zoals context. De decoder gebruikt informatie van de encoder om uitvoer te produceren, zoals vertaalde tekst. Wat transformeerfuncties anders maakt dan andere architecturen die coderingsprogramma's en decoders bevatten, zijn de aandacht sublagen. Aandacht is het idee om te focussen op specifieke delen van een invoer op basis van het belang van hun context ten opzichte van andere invoer in een reeks. Als u bijvoorbeeld een nieuwsartikel samenvat, zijn niet alle zinnen relevant om het hoofdidee te beschrijven. Door te focussen op belangrijke woorden in het hele artikel, kan een samenvatting in één zin, de kop, worden uitgevoerd.

Transformatoren zijn gebruikt om problemen met natuurlijke taalverwerking op te lossen, zoals vertaling, het genereren van tekst, het beantwoorden van vragen en het samenvatten van tekst.

Enkele bekende implementaties van transformatoren zijn:

  • Bidirectional Encoder Representations from Transformers (BERT)
  • Generatieve voorgetrainde transformator 2 (GPT-2)
  • Generatieve voorgetrainde transformator 3 (GPT-3)

Volgende stappen

In de volgende artikelen ziet u meer opties voor het gebruik van opensource deep learning-modellen in Azure Machine Learning: