stub Hvad er Deep Learning? (2024) - Unite.AI
Følg os

AI 101

Hvad er Deep Learning?

mm
Opdateret on

Deep learning er et af de mest indflydelsesrige og hurtigst voksende områder inden for kunstig intelligens. Det kan dog være svært at få en intuitiv forståelse af deep learning, fordi begrebet deep learning dækker over en række forskellige algoritmer og teknikker. Deep learning er også en underdisciplin af machine learning generelt, så det er vigtigt at forstå, hvad machine learning er for at forstå deep learning.

Hvad er maskinlæring?

Deep learning er en udvidelse af nogle af de begreber, der stammer fra maskinlæring, så lad os derfor bruge et minut på at forklare, hvad maskinlæring er.

Forenklet sagt er maskinlæring en metode til at sætte computere i stand til at udføre specifikke opgaver uden eksplicit at kode hver linje af de algoritmer, der bruges til at udføre disse opgaver. Der er mange forskellige maskinlæringsalgoritmer, men en af ​​de mest brugte algoritmer er en flerlags perceptron. En flerlagsperceptron omtales også som et neuralt netværk, og det består af en række knudepunkter/neuroner forbundet med hinanden. Der er tre forskellige lag i en flerlagsperceptron: inputlaget, det skjulte lag og outputlaget.

Inputlaget tager dataene ind i netværket, hvor de manipuleres af noderne i det midterste/skjulte lag. Noderne i det skjulte lag er matematiske funktioner, der kan manipulere de data, der kommer fra inputlaget, og udtrække relevante mønstre fra inputdataene. Det er sådan det neurale netværk "lærer". Neurale netværk får deres navn fra det faktum, at de er inspireret af den menneskelige hjernes struktur og funktion.

Forbindelserne mellem noder i netværket har værdier kaldet vægte. Disse værdier er i det væsentlige antagelser om, hvordan dataene i et lag er relateret til dataene i det næste lag. Efterhånden som netværket træner, justeres vægtene, og målet er, at vægtene/antagelserne om dataene til sidst vil konvergere på værdier, der nøjagtigt repræsenterer de meningsfulde mønstre i dataene.

Aktiveringsfunktioner er til stede i netværkets noder, og disse aktiveringsfunktioner transformerer dataene på en ikke-lineær måde, hvilket gør det muligt for netværket at lære komplekse repræsentationer af dataene. Aktiveringsfunktioner multiplicerer inputværdierne med vægtværdierne og tilføjer et biasled.

Hvad er Deep Learning?

Deep learning er betegnelsen for maskinlæringsarkitekturer, der forbinder mange flerlagsperceptroner, så der ikke kun er ét skjult lag, men mange skjulte lag. Jo "dybere" det dybe neurale netværk er, jo mere sofistikerede mønstre kan netværket lære.

De dybe lag-netværk, der består af neuroner, omtales nogle gange som fuldt forbundne netværk eller fuldt forbundne lag, hvilket refererer til det faktum, at en given neuron opretholder en forbindelse til alle de neuroner, der omgiver den. Fuldt forbundne netværk kan kombineres med andre maskinlæringsfunktioner for at skabe forskellige deep learning-arkitekturer.

Forskellige typer af dyb læring

Der er en række forskellige deep learning-arkitekturer, der bruges af forskere og ingeniører, og hver af de forskellige arkitekturer har sin egen specialitet.

Konvolutional neurale netværk

Konvolutionelle neurale netværk, eller CNN'er, er den neurale netværksarkitektur, der almindeligvis bruges til at skabe computervisionssystemer. Strukturen af ​​foldede neurale netværk gør dem i stand til at fortolke billeddata og konvertere dem til tal, som et fuldt tilsluttet netværk kan fortolke. Et CNN har fire hovedkomponenter:

  • Konvolutionerende lag
  • Subsampling/pooling lag
  • Aktiveringsfunktioner
  • Fuldt forbundne lag

De foldede lag er det, der tager billederne ind som input til netværket, analyserer billederne og får værdierne af pixels. Subsampling eller pooling er, hvor billedværdierne konverteres/reduceres for at forenkle repræsentationen af ​​billederne og reducere billedfiltrenes følsomhed over for støj. Aktiveringsfunktionerne styrer, hvordan data flyder fra et lag til det næste lag, og de fuldt forbundne lag er det, der analyserer de værdier, der repræsenterer billedet, og lærer mønstrene i disse værdier.

RNN'er/LSTM'er

Gentagne neurale netværk, eller RNN'er, er populære til opgaver, hvor rækkefølgen af ​​data har betydning, hvor netværket skal lære om en sekvens af data. RNN'er anvendes almindeligvis på problemer som naturlig sprogbehandling, da ordens rækkefølge har betydning, når man afkoder betydningen af ​​en sætning. Den "tilbagevendende" del af begrebet Recurrent Neural Network kommer fra det faktum, at outputtet for et givet element i en sekvens er afhængig af den tidligere beregning såvel som den aktuelle beregning. I modsætning til andre former for dybe neurale netværk har RNN'er "hukommelser", og informationen beregnet på de forskellige tidstrin i sekvensen bruges til at beregne de endelige værdier.

Der er flere typer RNN'er, herunder tovejs RNN'er, som tager fremtidige elementer i sekvensen i betragtning, ud over de tidligere elementer, når du beregner en vares værdi. En anden type RNN er en Long Short-Term Memory eller LSTM, netværk. LSTM'er er typer af RNN, der kan håndtere lange kæder af data. Regelmæssige RNN'er kan blive ofre for noget, der kaldes "eksploderende gradientproblem". Dette problem opstår, når kæden af ​​inputdata bliver ekstremt lang, men LSTM'er har teknikker til at bekæmpe dette problem.

Autoencodere

De fleste af de hidtil nævnte deep learning-arkitekturer anvendes til overvågede læringsproblemer i stedet for uovervågede læringsopgaver. Autoencodere er i stand til at transformere uovervågede data til et overvåget format, hvilket gør det muligt at bruge neurale netværk på problemet.

Autoencodere bruges ofte til at opdage anomalier i datasæt, et eksempel på uovervåget læring, da arten af ​​anomalien ikke er kendt. Sådanne eksempler på afsløring af uregelmæssigheder omfatter opdagelse af svig for finansielle institutioner. I denne sammenhæng er formålet med en autoencoder at bestemme en basislinje af regelmæssige mønstre i dataene og identificere anomalier eller afvigere.

Strukturen af ​​en autoencoder er ofte symmetrisk med skjulte lag opstillet således, at outputtet fra netværket ligner inputtet. De fire typer autoencodere, der ser hyppig brug, er:

  • Almindelige/almindelige autoencodere
  • Flerlags indkodere
  • Konvolutionelle indkodere
  • Regulerede indkodere

Almindelige/almindelige autoencodere er blot neurale net med et enkelt skjult lag, mens multilags autoencodere er dybe netværk med mere end ét skjult lag. Konvolutionelle autoencodere bruger foldningslag i stedet for eller som supplement til fuldt forbundne lag. Regulariserede autoencodere bruger en specifik form for tabsfunktion, der lader det neurale netværk udføre mere komplekse funktioner, andre funktioner end blot at kopiere input til output.

Generative kontradiktoriske netværk

Generative Adversarial Networks (GAN'er) er faktisk flere dybe neurale netværk i stedet for kun ét netværk. To deep learning-modeller trænes samtidigt, og deres output føres til det andet netværk. Netværkene er i konkurrence med hinanden, og da de får adgang til hinandens outputdata, lærer de både af disse data og forbedrer sig. De to netværk spiller i bund og grund et spil om forfalskning og detektion, hvor den generative model forsøger at skabe nye instanser, der vil narre detektivmodellen/diskriminatoren. GAN'er er blevet populære inden for computersyn.

Opsummering af dyb læring

Deep learning udvider principperne for neurale netværk for at skabe sofistikerede modeller, der kan lære komplekse mønstre og generalisere disse mønstre til fremtidige datasæt. Konvolutionelle neurale netværk bruges til at fortolke billeder, mens RNN'er/LSTM'er bruges til at fortolke sekventielle data. Autoencodere kan transformere uovervågede læringsopgaver til overvågede læringsopgaver. Endelig er GAN'er flere netværk, der står op imod hinanden, som er særligt nyttige til computervisionsopgaver.

Blogger og programmør med speciale i Maskinelæring , Deep Learning emner. Daniel håber at kunne hjælpe andre med at bruge AI's kraft til socialt gode.