Uppkomsten och nedgången av artificiella neurala nätverk är väl dokumenterad i den vetenskapliga litteraturen av både datavetenskap och beräkningskemi. Men nästan två decennier senare ser vi nu ett återuppvaknande av intresset för djupt lärande, en maskininlärningsalgoritm baserad på flerlagers neurala nätverk. Under de senaste åren har vi sett den omvälvande effekten av djupt lärande på många områden, särskilt i taligenkänning och datorseende, i den utsträckning som majoriteten av experter inom detta område nu regelbundet tar sig an tidigare etablerade modeller till förmån för modeller för djupt lärande. I denna recension ger vi en introduktionsöversikt till teorin om djupa neurala nätverk och deras unika egenskaper som skiljer dem från traditionella maskininlärningsalgoritmer som används inom keminformatik. Genom att ge en översikt över olika framväxande tillämpningar av djupa neurala nätverk, lyfter vi fram dess allestädes närvarande och breda tillämplighet på ett brett spektrum av utmaningar inom området, inklusive QSAR, virtuell screening, proteinstrukturförutsägelse, kvantkemi, materialdesign och fastighetsförutsägelse. När vi granskade prestandan hos djupa neurala nätverk, observerade vi en konsekvent outperformance mot icke-neurala nätverk state-of-the-art modeller över olika forskningsämnen, och djupa neurala nätverk baserade modeller ofta överträffade "glastaket" förväntningar på sina respektive uppgifter. Tillsammans med mognaden av GPU-accelererad beräkning för utbildning av djupa neurala nätverk och den exponentiella tillväxten av kemiska data på vilka att träna dessa nätverk på, förväntar vi oss att djupt lärande algoritmer kommer att vara ett värdefullt verktyg för beräkningskemi. 3 Deep Learning är den nyckelalgoritm som används i utvecklingen av AlphaGo, en Deep Learning är en maskininlärning algoritm, inte olik de som redan används i olika tillämpningar i beräkningskemi, från datorstödd drogdesign till material egendom förutsägelse. [5] [6] [7] [8] Bland några av Mercks mer uppmärksammade prestationer kan nämnas utmaningen att förutse Mercks aktivitet under 2012, där ett djupt neuralt nätverk inte bara vann tävlingen och överträffade Mercks interna baslinjemodell, utan gjorde det utan att ha en enda kemist eller biolog i sitt team. I en upprepad framgång av ett annat forskarlag uppnådde djupt lärande modeller topppositioner i Tox21 toxicitetsförutsägelse utmaning som utfärdades av NIH 2014. 9 Den ovanligt stellar prestanda djupinlärning modeller i både förutsäga aktivitet och toxicitet i dessa senaste exempel, härrör från de unika egenskaper som skiljer djupt lärande från traditionella maskininlärning algoritmer. För dem som är obekanta med de invecklade maskininlärningsalgoritmerna kommer vi att lyfta fram några av de viktigaste skillnaderna mellan traditionell maskininlärning och djupinlärning. Det enklaste exemplet på en maskininlärning algoritm skulle vara den allestädes närvarande minsta-kvarts linjär regression. Vid linjär regression är modellens underliggande karaktär känd (lineär i detta Kartläggningen av funktioner till en utgång med hjälp av den funktion som tillhandahålls är uppgiften för en bearbetningsenhet, och djupt lärande algoritmer är konstruerade från en samling av dessa bearbetningsenheter, arrangerade på ett skiktat och hierarkiskt sätt. Därför, till skillnad från enklare maskininlärning algoritmer, den kartor funktioner genom en serie av icke-linjära funktioner som är sydda tillsammans på ett kombinatoriskt sätt för att optimalt maximera noggrannheten hos modellen. Som ett resultat av denna komplexa arkitektur, en djupt lärande algoritm lär sig flera nivåer av representationer som motsvarar olika nivåer av abstraktion, bildar en hierarki av begrepp. Genom att konstruera dessa så kallade "hierarkiska representationer" har djupt lärande ett inre tillstånd som kan överföras till nya problem och delvis övervinna problemet med mallmatchning. Slutligen kan information ta 5 många vägar genom nätverket, och som ett resultat, expressiv kraft växer exponentiellt med djup. 10 I slutändan, dessa unika egenskaper djup inlärning gör det möjligt att utnyttja rådata direkt i motsats till konstruerade funktioner, och ofta de resulterande modeller som konstrueras ger en jämförbar nivå av prediktiv noggrannhet. Djupt lärande uppnår denna förmåga eftersom algoritmen inom de flera skikten av de icke-linjära funktionerna omvandlar rådata och kartlägger den till mellanliggande "utmatning" som fungerar som inmatning (funktioner) för de senare skikten i algoritmen, i processen gradvis omvandlar rådata till inlärda funktioner. Kort sagt, djupinlärningsalgoritmer är potentiellt kapabla att automatiskt (dvs. utan expertingripande) utforma de nödvändiga egenskaper som är relevanta för att optimalt förutsäga resultatet av intresse. Majoriteten av de djupt lärande algoritmer som för närvarande utvecklas är baserade på artificiella neurala nätverk, och för syftet med denna översyn kommer vi att fokusera på djupa neurala nätverk uteslutande. Under första halvan av denna översyn, kommer vi att ge en kort icke-teknisk introduktion till djupt lärande, börjar med en grundläggande bakgrund om artificiella neurala nätverk och belyser den viktigaste tekniska utvecklingen under det senaste årtiondet som möjliggör djupa neurala nätverk. Dessutom kommer vi att fokusera på hur djupt lärande skiljer sig från traditionella maskininlärningsalgoritmer som används i beräkningskemi, och hur den pågående återhämtningen av djupt lärande skiljer sig från artificiella neurala nätverksmodeller på 1980-talet, som kan betraktas som dess "föräldra"-algoritm. I nästa hälft av utvärderingen kommer vi att inkludera en kartläggning av den senaste utvecklingen av djupinlärningstillämpningar inom området beräkningskemi, där vi kommer att undersöka dess prestanda mot befintliga maskininlärningsmodeller, och framtidsutsikter för att bidra till området. Denna granskning skrevs främst för att fungera som en inledande ingångspunkt för beräkningskemister som vill utforska eller integrera djupinlärningsmodeller i sin forskning ur en tillämpningssynpunkt, och 6 ytterligare referenser till befintliga litteraturgranskningar kommer att ges för att täcka de mer tekniska aspekterna av djupinlärning neurala nätverk arkitektur och optimering. Artificiella neurala nätverk (ANNs), på vilka de flesta djupt lärande algoritmer är baserade, är en klass av maskininlärning algoritm inspirerad av biologiska neurala nätverk, används för att uppskatta eller ungefärliga funktioner genom att översätta ett stort antal ingångar till en målutgång (Figur 1a ). ANN är uppbyggda av en serie lager, och varje lager består av många "neuroner". Varje neuron accepterar ett ingångsvärde från det föregående lagret och kartlägger det på en icke-linjär funktion. Utgången av denna funktion används som indata för nästa lager i ANN, tills den når det sista lagret, där utdatan motsvarar det mål som ska förutses. Dessutom justeras "vikten" (eller koefficienten) av varje neurons funktion vid konstruktionen av denna modell för att minimera felet i det förutsagda värdet, en process som kallas "träning" det neurala nätverket. Bildligt talat efterliknar insamlingen av dessa neuroner i ANN det sätt neuroner arbetar i biologiska system, därav dess namn, artificiella neurala nätverk. Kraften av ANN, som antyds tidigare, ligger i deras förmåga att göra flera icke-linjära transformationer genom många dolda lager av neuroner, där den "dolda" termen avser lager som inte är direkt i anslutning till ingång eller utgång. I denna process kan allt mer komplexa och abstrakta egenskaper konstrueras, genom tillägg av fler lager och / eller öka bredden på lager (dvs. ökning av antalet neuroner per lager). På motsvarande sätt kan modellen lära sig allt mer komplexa och abstrakta representationer (dvs. "Begrepp" om termen används löst). Men för att man ska kunna använda mer än ett enda dolt lager, är det nödvändigt att bestämma hur man tilldelar fel tillskrivning och korrigerar dess vikter genom att arbeta bakåt med ursprung från den förutsagda produktionen, och tillbaka genom det neurala nätverket. Denna bakåtriktade spridning av fel kallas formellt "backpropagation". Även om den konceptuella grunden för backpropagation upptäcktes 1963, 11 var det inte förrän 1986 som Hinton och medarbetare upptäckte ett sätt för denna algoritm att tillämpas på neurala nätverk, 12 vilket var en viktig historisk utveckling som möjliggjorde praktiskt användbara ANNs. Under processen för backpropagation, en algoritm som kallas lutning nedstigning används för att hitta det minsta i felytan som orsakas av varje respektive neuron när generera en motsvarande utgång. Konceptuellt skiljer sig lutningsnedstigningen inte från den brantaste nedstigningsalgoritm som används i klassisk molekylär dynamikssimulering. Den stora skillnaden är istället för att iterativt minimera en energifunktion och uppdatera atomkoordinater för varje steg, en felfunktion av målutgången av ANN är iterativt minimerad och vikterna av neuronerna 8 uppdateras varje steg, som också kallas "iteration" i ANN litteratur. Data i träningssetet kan itereras flera gånger, med en fullständig passage över data som kallas en "epoch." En nyckelfråga med backpropagation är att felsignalerna gradvis blir mer diffusa när signalen går tillbaka genom varje dolt lager. Detta beror på att, när signalen går djupare in i modellen, ett ökande antal neuroner och vikter är associerade med ett givet fel. Fram till nyligen gjorde detta det svårt att träna många lager effektivt; allt mer än ett fåtal lager som tog lång tid att konvergera med stor sannolikhet för övermontering, särskilt för de lager som ligger närmast produktionen. Dessutom hade de ickelinjära transformationsfunktionerna, såsom sigmoider, ändliga dynamiska intervall, så felsignaler tenderar att förfalla när de passerar genom flera lager, vilket är mer allmänt känt som "vanishing gradient problem". Eftersom dessa metoder möjliggjorde utbildning av djupare och mer komplexa neurala nätverk arkitektur, blev översittande också mer av en fråga, vilket ledde till utvecklingen av avhopp algoritm. I avhopp, för varje epok av träningsprocessen, är en fast andel av neuroner slumpmässigt utvalda för att tillfälligt uteslutas från modellen. Nettoeffekten av avhopp är att den simulerar många olika arkitekturer under träningen, vilket förhindrar samberoende bland nervceller och minskar överbemanning. 16 Medan arkitekturen av moderna DNNs varierar mycket, en populär konfiguration är ReLU-baserade neurala nätverk. I kombination med avhopp och tidiga stopp har sådana ReLU-nätverk ofta varit tillräckligt för att regularisera modellen (dvs. förhindra översittande). Efter att ha tillhandahållit en sammanfattning av de viktigaste utvecklingarna i ANN och dess tillhörande algoritmer, noterar vi att det inte på något sätt är heltäckande. Förutom den traditionella feedforward DNN (figur 1b ) som har diskuterats hittills, senare utveckling inkluderar alternativa arkitekturer, särskilt konvolutionella neurala nätverk (figur 3a), 18, 19 Många decennier av kemiforskning har lett till utvecklingen av flera tusen molekylära deskriptorer som beskriver en rad egenskaper av tänkbart någon förening. Molekylära deskriptorer fungerar alltså som egenskaper konstruerade med hjälp av kemisk kunskap och intuition (dvs. domänexpertis) som kan användas i traditionella maskininlärningsmodeller, som har uppnått rimlig framgång i tillämpningar för beräkningskemi. [26] [27] [28] [29] [30] [31] Traditionella maskininlärningsalgoritmer som linjär regression och beslutsträd är intuitiva och skapar enkla modeller som människor kan förstå. Men när vi går vidare till förutsägelsen om mer komplexa egenskaper med icke-linjär relation, vanligtvis de som är förknippade med biologiska processer och materialteknik, är det ofta nödvändigt att förlita sig på mer sofistikerade och mindre transparenta algoritmer såsom stöd vektor maskiner (SVM) och slumpmässiga skogar (RF) för att uppnå en acceptabel nivå av prediktiv noggrannhet. Vid en första anblick, djupt lärande algoritmer faller under den senare kategorin, men det har en stor skillnad. Till skillnad från SVM och RF omvandlar DNN ingångar och rekonstruerar dem 12 till en distribuerad representation över de dolda lagrens nervceller. Med lämpliga träningsmetoder kommer olika funktioner att läras av neuronerna i de dolda skikten i systemet; detta kallas automatisk funktionsextraktion. När varje dolt lager blir inmatningen för nästa skikt i systemet och icke-linjära omvandlingar kan appliceras längs vägen, skapar det en modell som gradvis "lär sig" alltmer abstrakta, hierarkiska och djupa drag. Automatisk funktionsextraktion, en process som inte kräver någon domänkunskap, är därför en av de viktigaste fördelarna med en djupinlärningsalgoritm. Detta är till skillnad från traditionella maskininlärningsalgoritmer, där en modell måste noggrant konstrueras med de "korrekta" funktionerna baserade på kemisk kunskap och intuition för att den ska prestera och generalisera väl. Det är av denna anledning som djupt lärande har blivit den dominerande algoritmen som används i taligenkänning 32 och datorseende 18,33-35 idag. ImageNet är en årlig bedömning och tävling av olika algoritmer för bildklassificering. Före den djupa inlärningen svävade de toppmoderna modellerna i felfrekvensen på 25-30 %, vilket inte är det idealiska målet att matcha en utbildad felfrekvens på 5,1 %. 36 År 2012 introducerades djuplärande algoritmer för första gången till denna gemenskap av Hinton och medarbetare, 18 och deras DNN-baserade modell uppnådde en 16,4% felfrekvens. Det var en betydande förbättring från etablerade modeller i datorseende vid den tiden, och den näst bästa prestanda modell baserad på traditionella maskininlärning algoritmer endast uppnått en 26,2% felfrekvens. Senare förbättringar i DNN-baserade modeller uppnådde så småningom en felfrekvens på under 5.
Till exempel, neurala nätverk har lätt antagits i många kemiska applikationer såsom förutsäga molekylära egenskaper från deskriptorer, proteinkontakt förutsägelse och beräkningsmaterial design REF.
Deep Learning for Computational Chemistry
{'venue': 'Journal of computational chemistry', 'journal': 'Journal of computational chemistry', 'mag_field_of_study': ['Mathematics', 'Computer Science', 'Physics', 'Medicine']}