Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel wordt deep learning vergeleken met machine learning en wordt beschreven hoe deze in de bredere categorie AI 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.
Foundry-modellen in Azure Machine Learning zijn vooraf getrainde Deep Learning-modellen die kunnen worden afgestemd op specifieke gebruiksvoorbeelden. Zie Microsoft Foundry-modellen verkennen in Azure Machine Learning en Open Source-basismodellen gebruiken die zijn samengesteld door Azure Machine Learning voor meer informatie.
Deep learning, machine learning en AI
De volgende definities beschrijven de relaties tussen deep learning, machine learning, 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. Vanwege 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 hun vermogen om taken uit te voeren te verbeteren. Het leerproces bestaat uit de volgende stappen:
- Gegevens invoeren in een algoritme. (In deze stap kunt u aanvullende informatie opgeven voor het model, bijvoorbeeld door functieextractie uit te voeren.)
- Gebruik deze gegevens om een model te trainen.
- Test en implementeer het model.
- 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.)
AI is een techniek waarmee computers menselijke intelligentie kunnen nabootsen. Het bevat machine learning.
Generatieve AI is een subset van AI 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 hoeveelheden 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 en machine learning
Nu u basiskennis hebt van hoe machine learning verschilt van Deep Learning, 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, omdat het gebruikmaakt van de kunstmatige neurale netwerkstructuur.
In de volgende tabel worden de twee technieken uitgebreider vergeleken:
| Machinaal leren | Diep leren | |
|---|---|---|
| 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. |
| Trainingstijd | 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. Wanneer u geen van deze mogelijkheden hebt, kunt u het trainingsproces snel doorlopen met behulp van een techniek die overdrachtsleer wordt genoemd.
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 overdrachtsleer om ook vrachtwagens, motorfietsen en andere soorten voertuigen te herkennen.
Zie Een Deep Learning PyTorch-model trainen met behulp van een opensource-framework in Azure Machine Learning voor meer informatie over het toepassen van overdrachtsleer voor afbeeldingsclassificatie.
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 beschikbare 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 of 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 een specifieke locatie voor elk object op te geven met behulp van een begrenzingsvak.
Objectdetectie wordt al gebruikt in branches zoals gaming, detailhandel, toerisme en zelfrijdende auto's.
Het genereren van bijschriften voor afbeeldingen
Net als bij afbeeldingsherkenning moet het systeem voor een bepaalde afbeelding een bijschrift 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.
Normaal gesproken maken toepassingen voor het bijschriften van afbeeldingen 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.
Organisaties gebruiken deep learning om tekstanalyse uit te voeren om interne handel en naleving van overheidsvoorschriften te detecteren. Een ander veelvoorkomend voorbeeld is verzekeringsfraude: tekstanalyse wordt vaak gebruikt om grote aantallen documenten te analyseren om de kans te herkennen dat een verzekeringsclaim frauduleus 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 enkele populaire kunstmatige neurale netwerktopologieën beschreven.
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 ervoor. 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 sterke 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 worden 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. Ze bestaan 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 het andere. 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 beeld-naar-beeld vertaling en leeftijdsvoortgang.
Transformatoren
Transformatoren zijn modelarchitecturen die geschikt zijn 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 verwijst naar het focussen op specifieke delen van een invoer op basis van het belang van hun context ten opzichte van andere invoer in een reeks. Wanneer een model bijvoorbeeld een nieuwsartikel samenvat, zijn niet alle zinnen relevant voor het beschrijven van het hoofdidee. Door te focussen op belangrijke woorden in het hele artikel, kan een samenvatting in één zin, de kop, worden uitgevoerd.
Transformatoren worden gebruikt om problemen met natuurlijke taalverwerking op te lossen, zoals vertaling, tekstgeneratie, vragen beantwoorden en samenvatting van tekst.
Enkele bekende implementaties van transformatoren zijn:
- Bidirectionele Encoder Representaties van Transformators (BERT)
- Generatieve voorgetrainde transformator 2 (GPT-2)
- Generatieve voorgetrainde transformator 3 (GPT-3)
Volgende stappen
In de volgende artikelen worden meer opties beschreven voor het gebruik van opensource Deep Learning-modellen in Azure Machine Learning: