stub Vad är Deep Learning? (2024) - Unite.AI
Anslut dig till vårt nätverk!

AI 101

Vad är Deep Learning?

mm
Uppdaterad on

Deep learning är ett av de mest inflytelserika och snabbast växande områdena inom artificiell intelligens. Men att få en intuitiv förståelse för djupinlärning kan vara svårt eftersom termen djupinlärning täcker en mängd olika algoritmer och tekniker. Deep learning är också en underdisciplin av maskininlärning i allmänhet, så det är viktigt att förstå vad maskininlärning är för att förstå djupinlärning.

Vad är maskininlärning?

Djup lärning är en förlängning av några av begreppen som kommer från maskininlärning, så av den anledningen, låt oss ta en minut för att förklara vad maskininlärning är.

Enkelt uttryckt är maskininlärning en metod för att göra det möjligt för datorer att utföra specifika uppgifter utan att explicit koda varje rad av algoritmerna som används för att utföra dessa uppgifter. Det finns många olika maskininlärningsalgoritmer, men en av de mest använda algoritmerna är en flerskiktsperceptron. En flerskiktsperceptron kallas också för ett neuralt nätverk, och det består av en serie noder/neuroner som är sammanlänkade. Det finns tre olika lager i en flerskiktsperceptron: ingångslagret, det dolda lagret och utdatalagret.

Indatalagret tar data in i nätverket, där det manipuleras av noderna i mitten/dolda lagret. Noderna i det dolda lagret är matematiska funktioner som kan manipulera data som kommer från indatalagret, extrahera relevanta mönster från indata. Det är så det neurala nätverket "lär sig". Neurala nätverk får sitt namn från det faktum att de är inspirerade av den mänskliga hjärnans struktur och funktion.

Kopplingarna mellan noder i nätverket har värden som kallas vikter. Dessa värden är i huvudsak antaganden om hur data i ett lager är relaterat till data i nästa lager. När nätverket tränar justeras vikterna, och målet är att vikterna/antagandena om data så småningom kommer att konvergera till värden som korrekt representerar de meningsfulla mönstren i datan.

Aktiveringsfunktioner finns i nätverkets noder, och dessa aktiveringsfunktioner transformerar data på ett icke-linjärt sätt, vilket gör det möjligt för nätverket att lära sig komplexa representationer av data. Aktiveringsfunktioner multiplicerar ingångsvärdena med viktvärdena och lägger till en biasterm.

Vad är Deep Learning?

Deep learning är termen för maskininlärningsarkitekturer som sammanfogar många flerskiktsperceptroner, så att det inte bara finns ett dolt lager utan många dolda lager. Ju "djupare" det djupa neurala nätverket är, desto mer sofistikerade mönster kan nätverket lära sig.

De djupa skiktnätverken som består av neuroner kallas ibland för helt anslutna nätverk eller helt anslutna skikt, vilket hänvisar till det faktum att en given neuron upprätthåller en anslutning till alla neuroner som omger den. Helt uppkopplade nätverk kan kombineras med andra maskininlärningsfunktioner för att skapa olika djupinlärningsarkitekturer.

Olika typer av djupinlärning

Det finns en mängd olika djupinlärningsarkitekturer som används av forskare och ingenjörer, och var och en av de olika arkitekturerna har sin egen specialitetsanvändning.

Konventionella nervnätverk

Konvolutional neurala nätverk, eller CNN, är den neurala nätverksarkitektur som vanligtvis används vid skapandet av datorseendesystem. Strukturen hos konvolutionella neurala nätverk gör det möjligt för dem att tolka bilddata och omvandla dem till siffror som ett helt uppkopplat nätverk kan tolka. Ett CNN har fyra huvudkomponenter:

  • Konventionella lager
  • Delprovtagning/poolning av lager
  • Aktiveringsfunktioner
  • Helt sammankopplade lager

Konvolutionslagren är det som tar in bilderna som indata i nätverket, analyserar bilderna och får pixlarnas värden. Delsampling eller pooling är där bildvärdena konverteras/minskas för att förenkla representationen av bilderna och minska bildfiltrens känslighet för brus. Aktiveringsfunktionerna styr hur data flödar från ett lager till nästa lager, och de helt anslutna lagren är det som analyserar värdena som representerar bilden och lär sig mönstren som finns i dessa värden.

RNN/LSTM

Återkommande neurala nätverk, eller RNN, är populära för uppgifter där ordningen på data har betydelse, där nätverket måste lära sig om en sekvens av data. RNN används vanligtvis på problem som naturlig språkbehandling, eftersom ordens ordning spelar roll när man avkodar meningen i en mening. Den "återkommande" delen av termen Recurrent Neural Network kommer från det faktum att utsignalen för ett givet element i en sekvens är beroende av den tidigare beräkningen såväl som den aktuella beräkningen. Till skillnad från andra former av djupa neurala nätverk har RNN:er "minnen", och informationen som beräknas vid de olika tidsstegen i sekvensen används för att beräkna slutvärdena.

Det finns flera typer av RNN, inklusive dubbelriktade RNN, som tar hänsyn till framtida objekt i sekvensen, utöver de tidigare objekten, när man beräknar en varas värde. En annan typ av RNN är en Long Short-Term Memory, eller LSTM, nätverk. LSTM är typer av RNN som kan hantera långa datakedjor. Vanliga RNN:er kan falla offer för något som kallas "exploderande gradientproblem". Det här problemet uppstår när kedjan av indata blir extremt lång, men LSTM har tekniker för att bekämpa detta problem.

Autokodare

De flesta av de djupinlärningsarkitekturer som nämnts hittills tillämpas på övervakade inlärningsproblem, snarare än oövervakade inlärningsuppgifter. Autokodare kan omvandla oövervakad data till ett övervakat format, vilket gör att neurala nätverk kan användas på problemet.

Autokodare används ofta för att upptäcka anomalier i datauppsättningar, ett exempel på oövervakad inlärning eftersom arten av anomali inte är känd. Sådana exempel på upptäckt av anomalier inkluderar upptäckt av bedrägerier för finansinstitut. I detta sammanhang är syftet med en autoencoder att fastställa en baslinje av regelbundna mönster i data och identifiera anomalier eller extremvärden.

Strukturen hos en autoencoder är ofta symmetrisk, med dolda lager arrangerade så att utdata från nätverket liknar ingången. De fyra typerna av autokodare som ofta används är:

  • Vanliga/vanliga autokodare
  • Flerskiktskodare
  • Konvolutionella kodare
  • Regulerade kodare

Vanliga/vanliga autokodare är bara neurala nät med ett enda dolt lager, medan flerlagers autokodare är djupa nätverk med mer än ett dolt lager. Konvolutionella autokodare använder faltningslager istället för, eller utöver, helt anslutna lager. Regulariserade autokodare använder en specifik typ av förlustfunktion som låter det neurala nätverket utföra mer komplexa funktioner, andra funktioner än att bara kopiera indata till utgångar.

Generativa Adversarial Networks

Generativa kontroversiella nätverk (GAN) är faktiskt flera djupa neurala nätverk istället för bara ett nätverk. Två modeller för djupinlärning tränas samtidigt, och deras resultat matas till det andra nätverket. Nätverken konkurrerar med varandra och eftersom de får tillgång till varandras utdata så lär de sig både av denna data och förbättrar sig. De två nätverken spelar i huvudsak ett spel om förfalskning och upptäckt, där den generativa modellen försöker skapa nya instanser som kommer att lura detektivmodellen/diskriminatorn. GAN har blivit populära inom datorseende.

Sammanfattning av djupinlärning

Deep learning utökar principerna för neurala nätverk för att skapa sofistikerade modeller som kan lära sig komplexa mönster och generalisera dessa mönster till framtida datamängder. Konvolutionella neurala nätverk används för att tolka bilder, medan RNN/LSTM används för att tolka sekventiell data. Autokodare kan omvandla oövervakade inlärningsuppgifter till övervakade inlärningsuppgifter. Slutligen, GAN är flera nätverk som ställs mot varandra som är särskilt användbara för datorseende uppgifter.

Bloggare och programmerare med specialiteter inom Maskininlärning och Deep Learning ämnen. Daniel hoppas kunna hjälpa andra att använda kraften i AI för socialt bästa.