Deep learning ( deep learning ; eng. Deep learning ) - en uppsättning maskininlärningsmetoder ( med en lärare , med en lärares partiell inblandning , utan en lärare , med förstärkning ) baserade på inlärningsrepresentationer ( eng. feature/representation learning ), och inte specialiserade algoritmer under specifika uppgifter. Många metoder för djupinlärning var kända redan på 1980-talet (och till och med tidigare [1] ), men resultaten var inte imponerande [2] förrän framsteg inom teorin om artificiella neurala nätverk (förträning av neurala nätverk med ett specialfall av en icke-riktad grafisk modell, den så kallade begränsade maskinen Boltzmann ) och beräkningskraften från mitten av 2000-talet (inklusive de som använder grafikacceleratorer , användarprogrammerbara gate-arrayer och olika former av neurala processorer ) tillät inte skapandet av komplexa tekniska arkitekturer av neurala nätverk som har tillräcklig prestanda och tillåter att lösa ett brett spektrum av problem som inte kunde lösas effektivt tidigare, till exempel inom datorseende , maskinöversättning , taligenkänning , och kvaliteten på lösningen är i många fall nu jämförbar, och i vissa fall överträffar mänsklig effektivitet [3] .
Trots det faktum att termen " djupinlärning " dök upp i det vetenskapliga samfundet för maskininlärning först 1986 efter arbetet av Rina Dekhter [4] , publicerades den första allmänna arbetsalgoritmen för djupmatade flerskiktsperceptroner i boken av sovjet. forskarna Alexei Grigorievich Ivakhnenko och Valentin Grigorievich Lapa "Cybernetic predictive devices", redan 1965 [5]
Andra djupa arkitekturer, särskilt de som är specialiserade på mönsterigenkänning , har sitt ursprung i neokognitronen utvecklad av Kunihiko Fukushima.år 1980. År 1989 lyckades Jan LeCun använda backpropagation- algoritmen för att träna djupa neurala nätverk för att lösa problemet med att känna igen handskrivna postnummer [6] . Trots den framgångsrika erfarenheten tog det tre dagar att träna modellen, vilket avsevärt begränsade användbarheten av denna metod. Den låga inlärningshastigheten är förknippad med många faktorer, inklusive problemet med försvinnande gradienter på grund av den stora spridningen av värdena för inlärningsbara parametrar, som analyserades 1991 av Jörgen Schmidhuber och Sepp Hochreiter. På grund av dessa problem gav neurala nätverk plats för att stödja vektormaskiner på 1990 -talet .
År 1991 användes sådana system för att känna igen isolerade 2D-handskrivna siffror, och 3D-objektigenkänning åstadkoms genom att matcha 2D-bilder till en handgjord 3D-objektmodell. 1992 skapades en modell av en cresceptron [7] [8] [9] för att känna igen tredimensionella objekt i röriga scener.
År 1994 publicerade André de Carvalho, tillsammans med Mike Fairhurst och David Bisset, de experimentella resultaten av ett flerlagers booleskt neuralt nätverk, även känt som ett viktlöst neuralt nätverk, bestående av en trelagers självorganiserande neuralnätverksmodul för funktionsextraktion ( SOFT) och sedan en skiktad neural nätverksmodulklassificering (GSN). Varje modul genomgick självständig utbildning. Varje lager i modulen hämtade objekt med ökande komplexitet i förhållande till föregående lager. [tio]
1995 visade Brendan Frey att det var möjligt att träna (på två dagar) ett nätverk som innehåller sex helt anslutna lager och flera hundra dolda enheter med hjälp av en sömn-vakna algoritm utvecklad med Peter Dayan och Hinton [11] . Många faktorer bidrar till långsam hastighet, inklusive problemet med försvinnande gradient som analyserades 1991 av Sepp Hochreiter [12] [13] .
Enklare modeller som använder uppgiftsspecifikt manuellt arbete, såsom Gabor-filter och stödvektormaskiner (SVM), var populära val på 1990- och 2000-talen på grund av beräkningskostnaden för artificiella neurala nätverk (ANN). .ANN) och brist på förståelse för hur hjärnan länkar sina biologiska nätverk.
Både yt- och djupinlärning (t.ex. återkommande nätverk) ANN har studerats i många år [14] [15] [16] . Dessa metoder har aldrig överträffat heterogena blandade Gaussiska och dolda Markov- modeller baserade på diskriminerande tränade generativa talmodeller [17] . Nyckelsvårigheter analyserades, inklusive gradientminskning [12] och svag tidsmässig korrelationsstruktur i neurala prediktiva modeller [18] [19] . Ytterligare svårigheter var bristen på träningsdata och begränsad datorkraft.
Deep learning blev populärt i mitten av 2000-talet när allt kom ihop: datorer blev tillräckligt kraftfulla för att träna stora neurala nätverk (de lärde sig att delegera beräkningar till grafikprocessorer , vilket påskyndade inlärningsprocessen med en storleksordning), datamängder blev tillräckligt stora för att träna stora nätverk var vettigt, och ett annat framsteg ägde rum i teorin om artificiella neurala nätverk - artiklar av Hinton , Osinderero och Tae [20] , samt Bengio [21] , där författarna visade att det är möjligt att effektivt förträna ett neuralt flerskiktsnätverk om varje lager tränas separat i att använda en begränsad Boltzmann-maskin och sedan omträna med backpropagation- metoden .
2012 vann ett team under ledning av George E. Dahl Merck Molecular Activity Challenge genom att använda multitasking djupa neurala nätverk för att förutsäga det biomolekylära målet för ett enda läkemedel [22] . 2014 använde Hochreiters grupp djupinlärning för att identifiera off-target och toxiska effekter av miljökemikalier i näringsämnen, hushållsprodukter och droger, och vann "Tox21 Data Challenge" från U.S. National Institutes of Health , US Food and Drug Administration . livsmedels- och läkemedelskvalitet och NCATS [23] .
En betydande utveckling av bild- eller objektigenkänning kändes mellan 2011 och 2012. Medan backpropagated convolutional neural networks (CNN) har funnits i årtionden, och GPU:er har implementerat neurala nätverk i många år, inklusive CNN, har snabba implementeringar av CNN på GPU:n använts för att främja datorseende. 2011 uppnådde detta tillvägagångssätt övermänsklig prestation för första gången i en tävling för visuell mönsterigenkänning. Även 2011 vann han ICDARs handskriftstävling och i maj 2012 ISBI-bildsegmenteringstävlingen [24] . Fram till 2011 spelade inte CNN någon större roll vid datorseendekonferenser, men i juni 2012 visade en presentation av Ciresan [25] på flaggskeppet CVPR-konferens hur den maximala integrationen av CNN på en GPU avsevärt kan förbättra många benchmarkresultat. I oktober 2012 utvecklades ett liknande system av Krizhevsky [26] , vars team vann den storskaliga ImageNet -tävlingen med en betydande marginal jämfört med ytans maskininlärningsmetoder. I november 2012 vann Ciresan-teamet också ICPR-tävlingen för stor medicinsk bildanalys för cancerdetektering, och året därpå MICCAI Grand Challenge om samma ämne [27] . Under 2013 och 2014 minskade felfrekvensen i ImageNet-uppgiften med djupinlärning ytterligare på grund av en liknande trend inom storskalig taligenkänning. Steven Wolfram publicerade dessa förbättringar som en del av Image Identification Project [28] .
Bildklassificeringen utökades sedan till den mer komplexa uppgiften att skapa beskrivningar (textningar) för bilder, ofta som en kombination av CNN och LSTM [29] [30] [31] [32] .
Vissa forskare tror att ImageNets seger i oktober 2012 markerade början på en "deep learning revolution" som förändrade AI-branschen [33] .
I mars 2019 tilldelades Yoshua Bengio , Geoffrey Hinton och Yann LeCun Turing Award för konceptuella och tekniska genombrott som har gjort djupa neurala nätverk till en kritisk komponent i datoranvändning.
Artificiella neurala nätverk (ANN) är beräkningssystem baserade på principerna för biologiska neurala nätverk som utgör djurhjärnan. Sådana system lär sig (förbättrar gradvis sin förmåga) att utföra uppgifter, vanligtvis utan att vara programmerade att lösa specifika uppgifter. Till exempel, vid bildigenkänning av katter kan de lära sig att känna igen bilder som innehåller katter genom att analysera exempel på bilder som manuellt har märkts "katt" eller "ingen katt" och använda resultaten av analysen för att identifiera katter i andra bilder. ANN:er har funnit sin största användning i mjukvaruapplikationer som är svåra att uttrycka med en traditionell datoralgoritm som använder regelbaserad programmering .
ANN är baserade på en uppsättning sammankopplade enheter som kallas artificiella neuroner (liknande biologiska neuroner i den biologiska hjärnan). Varje anslutning (synaps) mellan neuroner kan överföra en signal till en annan neuron. Den mottagande (postsynaptiska) neuronen kan bearbeta signalen/signalerna och sedan signalera neuronerna som är anslutna till den. Neuroner kan ha ett tillstånd, vanligtvis representerat av reella tal, vanligtvis mellan 0 och 1. Neuroner och synapser kan också ha vikter som förändras under inlärning, vilket kan öka eller minska styrkan på signalen som de sänder ut.
Vanligtvis är neuroner organiserade i lager. Olika lager kan utföra olika typer av transformationer. Signalerna färdas från det första (ingången) till det sista (utgångs-) lagret, möjligen efter att ha passerat genom lagren flera gånger.
Det ursprungliga målet med den neurala nätverksansatsen var att lösa problem på samma sätt som den mänskliga hjärnan gör. Med tiden har uppmärksamheten fokuserats på urvalet av vissa intellektuella förmågor, vilket ledde till avvikelser från biologin, såsom backpropagation, eller överföring av information i motsatt riktning och upprättande av ett nätverk för att spegla denna information.
Neurala nätverk används för en mängd olika uppgifter, inklusive maskinseende, taligenkänning, maskinöversättning, filtrering av sociala medier, videospel och medicinsk diagnostik.
Från och med 2017 har neurala nätverk vanligtvis några tusen till några miljoner enheter och miljontals anslutningar. Trots det faktum att detta antal är flera storleksordningar mindre än antalet neuroner i den mänskliga hjärnan, kan dessa nätverk utföra många uppgifter på en nivå som överstiger människors förmåga (till exempel ansiktsigenkänning, spela go ) [34] .
Ett djupt neuralt nätverk (DNN, DNN - Deep neural network) är ett artificiellt neuralt nätverk (ANN) med flera lager mellan ingångs- och utgångsskikten [35] [36] . GNN hittar den korrekta matematiska transformationsmetoden för att omvandla indata till en utdata, oavsett om korrelationen är linjär eller icke-linjär . Nätverket rör sig genom lagren och beräknar sannolikheten för varje utgång. Till exempel kommer en DNN som är tränad att känna igen hundraser gå igenom en given bild och beräkna sannolikheten för att en hund på bilden tillhör en viss ras. Användaren kan se resultaten och välja sannolikheterna som nätverket ska visa (till exempel över en viss tröskel) och returnera en föreslagen etikett till nätverket. Varje matematisk transformation anses vara ett lager, och komplexa GNN har många lager, därav namnet "djupa" eller "djupa" nätverk.
GNN kan modellera komplexa icke-linjära samband. GNN-arkitekturer genererar kompositionsmodeller där ett objekt uttrycks som en flernivåkomposition av primitiver [37] . Ytterligare lager tillåter att element komponeras från lägre nivåer, vilket potentiellt kan modellera komplexa data med färre enheter än ett fint nätverk med liknande mått [35] .
Djup arkitektur innehåller många varianter av flera grundläggande tillvägagångssätt. Varje arkitektur har funnit framgång inom vissa områden. Det är inte alltid möjligt att jämföra prestanda för flera arkitekturer om de inte har utvärderats på samma datamängder.
GNN:er är typiskt feed-forward-nätverk där data överförs från ett ingångsskikt till ett utgångsskikt utan återkoppling. Först skapar GNN en karta över virtuella neuroner och tilldelar slumpmässiga numeriska värden eller "vikter" till kopplingarna mellan dem. Vikterna och indata multipliceras och returnerar en utsignal från 0 till 1. Om nätverket inte korrekt känner igen ett visst mönster kommer algoritmen att justera vikterna tills den bestämmer koefficienterna som korrekt bearbetar data. [38]
Deep learning karakteriseras som en klass av maskininlärningsalgoritmer som [ 39] :
Alla definitioner anger
Sammansättningen av specifika olinjära skikt beror på problemet som ska lösas. Både dolda lager i det neurala nätverket och lager av komplexa logiska transformationer används [40] . Systemet kan inkludera latenta variabler organiserade i lager i djupa generativa modeller som noder i en djup väv av förtroende och en djupt begränsad Boltzmann-maskin .
Algoritmer för djupinlärning är motsatsen till grunda inlärningsalgoritmer när det gäller antalet parameteriserade transformationer som signalen möter när den fortplantar sig från ingångsskiktet till utgångsskiktet, där en parametriserad transformation anses vara en databehandlingsenhet som har träningsbara parametrar som t.ex. som vikter eller trösklar [41] . Kedjan av transformationer från input till output kallas CAP - genom att överföra ansvar ( engelska credit assignment path, CAP ). CAPs beskriver potentiella orsakssamband längs nätverket från input till output, och vägen i olika grenar kan ha olika längd. För ett neuralt nätverk för feedforward skiljer sig inte CAP-djupet från nätverksdjupet och är lika med antalet dolda lager plus ett (utgångsskiktet är också parametriserat). För återkommande neurala nätverk , där signalen kan hoppa genom lager som går förbi mellanliggande, är CAP potentiellt obegränsad i längd på grund av återkoppling. Det finns ingen allmänt överenskommen tröskel för uppdelningsdjupet för grundt lärande från djupinlärning, men djupinlärning anses generellt kännetecknas av flera icke-linjära lager (CAP > 2). Jorgen Schmidhuber lyfter också fram "very deep learning" när CAP > 10 [41] .
Deep learning är en maskininlärningsalgoritm för modellering av abstraktioner på hög nivå med hjälp av flera icke-linjära transformationer [39] [40] [41] [42] [43] .
Först och främst inkluderar djupinlärning följande metoder och deras variationer:
Genom att kombinera dessa metoder skapas komplexa system som motsvarar olika artificiella intelligensuppgifter .
Deep learning är ett validerat urval från en bred familj av maskininlärningsmetoder för att representera den data som bäst passar problemets natur. En bild, till exempel, kan representeras på många sätt, såsom en intensitetsvektor av värden per pixel, eller (i en mer abstrakt form) som en uppsättning primitiver, regioner med en viss form, etc. Framgångsrika datarepresentationer göra det lättare att lösa specifika problem - till exempel ansiktsigenkänning och ansiktsuttryck [44] ). I system för djupinlärning automatiserar den processen för val och inställning av funktioner, utför funktionsinlärning utan en lärare eller med partiell inblandning av en lärare , med hjälp av effektiva algoritmer och hierarkisk funktionsextraktion [45] för detta .
Forskning inom detta område har förbättrat modeller för att arbeta med stora volymer omärkt data. Vissa tillvägagångssätt har uppstått från framsteg inom området neurovetenskap , framsteg inom tolkningen av informationsbehandling, byggande av kommunikationsmodeller i nervsystemet , såsom neural kodning i samband med att bestämma förhållandet mellan stimulus och neurala svar, och sambandet mellan elektrisk aktivitet mellan neuroner i hjärnan [46] .
System för djupinlärning har funnit tillämpning inom områden som datorseende , taligenkänning , naturlig språkbehandling , ljudigenkänning, bioinformatik , där betydligt bättre resultat än tidigare visades för ett antal uppgifter.
Trots framgången med att använda djupinlärning har det fortfarande en grundläggande begränsning: modeller för djupinlärning är begränsade i vad de kan representera, och de flesta program kan inte uttryckas som en kontinuerlig geometrisk morphing av en mängd olika data [47] .
Det kvarstår dock den skeptiska uppfattningen att djupinlärning inte är något annat än ett modeord eller en ommärkning av neurala nätverk [48] [49] .
Maskininlärning och datautvinning | |
---|---|
Uppgifter | |
Att lära sig med en lärare | |
klusteranalys | |
Dimensionalitetsreduktion | |
Strukturell prognos | |
Anomali upptäckt | |
Grafisk probabilistiska modeller | |
Neurala nätverk | |
Förstärkningsinlärning |
|
Teori | |
Tidskrifter och konferenser |
|