Ny ballade om deep learning: Algoritmer dumper i efterprøvning

2. august 2019 kl. 05:0516
Ny ballade om deep learning: Algoritmer dumper i efterprøvning
Illustration: Jakub Jirsak/Bigstock.
Ny videnskabelig artikel sætter endnu en gang spørgsmålstegn ved effekten af neurale netværk til machine learning.
Artiklen er ældre end 30 dage
Manglende links i teksten kan sandsynligvis findes i bunden af artiklen.

Næsten alle af 18 deep learning-algoritmer indenfor et bestemt felt, som i de seneste år har været fremlagt på de fineste videnskabelige konferencer, viser sig at have store problemer, når det kommer til stykket.

Kun syv af algoritmerne er mulige at reproducere med en fornuftig indsats.

Af disse klarer seks sig ringere end blot en simpel algoritme med tommelfingerregler.

Kun én af de 18 algoritmer giver klart bedre resultater end med de simple metoder.

Artiklen fortsætter efter annoncen

Det fremgår af en ny videnskabelig artikel med titlen: ‘Are We Really Making Much Progress? A Worrying Analysis of Recent Neural Recommendation Approaches’ skrevet af forskerne Maurizio Ferrari Dacrema, Paolo Cremonesi og Dietmar Jannach fra italienske og østrigske universiteter.

Deep learning er den foretrukne metode

Deep learning er en populær machine learning-tilgang, hvor der benyttes neurale netværk med mange såkaldte skjulte lag. Teknikken har især givet resultater indenfor visuel genkendelse, som det ikke har været muligt at opnå med andre slags algoritmer.

De tre forskere har set nærmere på problemet ‘top-n recommendation.’

Det er ganske simpelt den algoritme, der benyttes, når en kunde på et site som Amazon får anbefalinger af produkter, som algoritmen gætter på, at kunden vil være interesseret i. Problemet løses som regel ved at se på, hvad andre brugere på sitet, som også ligner kunden, tidligere har kigget på.

Artiklen fortsætter efter annoncen

»Deep learning-teknikker er blevet den foretrukne metode for forskere, der arbejder med algoritmiske aspekter af anbefalingssystemer,« skriver forskerne i artiklen.

»Med den stærkt øgede interesse for machine learning generelt er det blevet svært at holde styr på det nyeste på området, for eksempel i forbindelse med top-n recommendation-opgaver. Hertil kommer, at flere nylige artikler påpeger problemer i dagens forskningspraksis i anvendt maskinlæring, for eksempel reproducerbarheden af ​​resultaterne eller valg af sammenligningsgrundlag, når man foreslår nye modeller.«

ITU-forsker: Deep learning giver nemmere adgang til tidsskrifter

De tre forskeres generelle konklusioner genkendes af Sebastian Risi, som er adjunkt ved IT-Universitetet og ekspert i deep learning og kunstig intelligens. Han siger:

Alle taler om deep learning, så hvis man ønsker, at ens forskning skal nævnes, hjælper det at have begrebet med i titlen i ens forskningsartikel. Men det skaber ikke bedre forskning, mener Sebastian Risi, som er adjunkt ved IT-Universitetet.

»I almindelighed er det meget vigtigt at overveje reproducerbarhed. I en masse aktuel forskning i machine learning er det undertiden svært at reproducere de resultater, som forskere har offentliggjort. Det vigtigste trin er, at alle skal stille deres kode til rådighed, så resultaterne let kan reproduceres. Det er noget, som visse konferencer bevæger sig hen imod ved at gøre det obligatorisk at offentliggøre koden.«

Han forsætter:

»Mange forskere bruger deep learning som et buzzword i artikler, fordi det er mere sandsynligt, at din artikel bliver accepteret i et tidsskrift, hvis du bruger fancy, sexede ord som 'deep learning' i stedet for at sige, at du brugte en meget enkel model, og du opnåede den samme ydeevne. Dette er et betydeligt problem lige nu. Folk bruger komplekse modeller, før de overvejer enkle modeller, der måske har samme ydelse. Det lyder bedre, hvis du siger, at du bruger deep learning end en simpel lineær klassifikation, der i visse tilfælde kan opnå den samme ydelse.«

Det er forbundet med den aktuelle hype omkring kunstig intelligens, mener Sebastian Risi. Alle taler om deep learning, så hvis man ønsker, at ens forskning skal nævnes, hjælper det at have begrebet med i titlen i ens forskningsartikel.

Artiklen fortsætter efter annoncen

Men det skaber ikke bedre forskning, lyder synspunktet.

Reproducerbarhedskrisen

Det har gennem flere år været en bekymring, at mange tekniske, naturvidenskabelige og andre kvantitative forsknings­resultater ikke lader sig reproducere.

Bekymringerne kom blandt andet til udtryk, da den amerikanske biofarma­ceutiske virksomhed Amgen ville efterprøve banebrydende forskningsresultater, der var beskrevet i 53 videnskabelige artikler. De kunne kun bekræfte resultaterne i seks af artiklerne.

»Det var et chokerende resultat,« skrev en tidligere forskningsleder for Amgen i tidsskriftet Nature i 2012.

Læs også: Ingeniøren: Over halvdelen af hundrede resultater kunne ikke reproduceres

Det er også kendt, at forskning i kunstig intelligens og machine learning lider under dette problem.

Sidste år skrev tidsskriftet Science, at en stikprøve på 400 algoritmer præsenteret på to konferencer om kunstig intelligens viste, at kildekoden bag algoritmen kun var offentliggjort i seks procent af tilfældene. I kun en tredjedel af tilfældene var det offentliggjort, hvilke data algoritmen var testet op imod. For halvdelen af algoritmerne i stikprøven havde forskerne kun fremlagt pseudokode, som er et sammendrag af en algoritme.

Læs også: Ingeniøren: Skjult kode gør det umuligt at gentage studier i kunstig intelligens

»Jeg tror, at mange uden for vores forskningsmiljø antager, at reproduktion altid en mulighed, fordi vi bruger kode. Sådan er det langtfra,« udtalte Nicolas Rougier, som er tilknyttet Frankrigs nationale institut for datalogisk forskning, i den forbindelse til Science.

Behov for mere stringens og bedre forskningspraksis

De tre forskere slår i den nye artikel fast, at problemet har eksisteret i mange år. Allerede i 2009 viste en analyse, at noget ikke stemte med de resultater, som ny forskning kom med. Det på trods af, at der fortsat blev offentliggjort mange forskningsartikler på området.

I den nye artikel påpeger forskerne en række en faktorer, som bidrager til denne tendens.

Det drejer sig om tyndbenede sammenligningsgrundlag, der ikke reelt udfordrer deep learning-algoritmerne, samt vanskeligheder med at sammenligne og gengive resultater på tværs af forskningsartikler.

Forskerne har stillet to spørgsmål: I hvilken grad kan de nye resultater reproduceres med en fornuftig indsats, og i hvor høj grad er samme resultater egentlig en forbedring sammenlignet med simple, men finjusterede metoder?

Konklusionen er, som tidligere nævnt, at det ofte er svært at reproducere resultater, og at de simple metoder tit giver resultater, der er lige så gode som med deep learning.

Derfor er der også behov for mere stringens og bedre forskningspraksis i forhold til en faglig vurdering af algoritme-forskning på dette område, lyder forskernes anbefaling.

16 kommentarer.  Hop til debatten
Denne artikel er gratis...

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.

Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.

Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.

Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.

Debatten
Log ind eller opret en bruger for at deltage i debatten.
settingsDebatindstillinger
16
2. august 2019 kl. 17:57

Jeg tror ikke at forskningsverdenen inden for datalogi (stærkt generaliseret) er klar til at være software udviklere med uniforme arbejdsgange (på tværs af universiteter), source control, automatiseret tests, peer review af pull requests osv.

Jeg er enig. Jeg arbejder med anvendt datalogi som postdoc, men jeg har en baggrund i open source, hvor jeg heldigvis fik lært mig gode vaner hvad softwareudvikling angår. Jeg græmmes over de standarder der ofte lægges for dagen - og selv når kildekoden er tilgængelig er den ofte af håndværksmæssig yderst tvivlsom kvalitet, typisk af overfladiske årsager, hvor det ikke ville have taget meget længere at gøre det ordentligt fra starten.

Og er det i virkeligheden deres ansvar?

Ja. Hvis man laver anvendt datalogi, så må man også tage sig sammen hvad det håndværksmæssige angår. I dette felt er programafvikling godtaget som bevisteknik, og det kan i mine øjne kun forsvares hvis programmerne er af en sådan kvalitet at man kan stole på deres resultater. Det er heldigvis på vej i den rigtige retning, og der er aktive projekter der forsøger at gøre anvendt datalogi mere reproducérbart, ligesom mange store konferencer (især ACM) er aktive indenfor artefakt-evaluering. Det store problem er at der ikke er meget karrieremæssigt incitament til at skubbe denne vogn.

(Og jeg gjorde da også mit speciale, min PhD-afhandling, og det samlede forskningsprojekt offentligt tilgængeligt, delvist fordi jeg synes det er vigtigt og moralsk som offentligt finansieret forsker, men mest fordi det er sjovt).

15
2. august 2019 kl. 17:39

Han var fremragende til en bestemt type opgaver, som at dæmpe en konkret og nemt placeret smerte. Men pløkumulig til den ønskede opgave, som var at fjerne en mere kompliceret pine. Og denne forskel forstod han ikke selv.

At et computerprogram er fremragende til at gætte sig frem til et skapere foto, betyder ikke at den samme tilgang fx kan opspore forbrydelser. Men den skelnen er nok for svær at sætte på formel, når der atter lokkes med nye og forbedrede recepter på IT-sovs.

14
2. august 2019 kl. 13:11

Der burde [bleep] være krav om at data og kode til brug for efterprøvning af et forskningsresultat er Open Source.. eller i det mindste til rådighed :(

Det er det jeg mener med teoretisk og praktisk datalogi. Al den teoretiske datalogi kræver ikke andet end artiklen. Den er "self-contained". Og det har jo været nok siden 60'erne.

Under min afhandling skrev jeg også først til diverse forfattere, før jeg begyndte at implementere dem selv. Der var én som svarede og sendte mig en executeable. Jeg kunne jo så heldigvis validere at min algoritme gav det samme output ved ens input, så kildekoden var ikke nødvendigt.

Når det så er sagt, så er der jo også kæmpe forskel på hvem der fortolker psudokode og implementere det mhp performance (og korrekthed). Der er ikke umiddelbart noget som hedder automatiseret test, edge case testing o.l.

Jeg tror ikke at forskningsverdenen inden for datalogi (stærkt generaliseret) er klar til at være software udviklere med uniforme arbejdsgange (på tværs af universiteter), source control, automatiseret tests, peer review af pull requests osv.

Og er det i virkeligheden deres ansvar? Skal deres fokus være på de teoretiske aspekter? Bevise øvre (worst case) og nedre (best case) grænser af antal operationer? Big O? Bevise korrekthed? Jeg er personligt bange for at det teoretiske aspekt mister fokus. Det smarte ved machine learning er jo at det oftest er psudo-statistik, så man behøver ikke nødvendigvis at vide hvilken statistisk model der er brugbar i en given situation. Man kan jo bare prøve sig frem indtil det virker. Med hovedet under armen endda.

13
2. august 2019 kl. 13:10

Nu har jeg ikke noget sted skrevet at deep learning eller neutrale netværk er ubrugelige generelt. På ingen måde! Jeg anerkender fuldt ud fremskridtet indenfor f.eks. billedbehandling, talegenkendelse (selvom det ikke fungerer ret godt, er det dog blevet bedre) etc. De ting kunne man ikke have løst via if-then-else. Men det er ikke en ting der pludselig er sket - det er en udvikling der har været igang i 20-30 år med minimum hundredevis af forskere og som nu har nået et mere præsentabelt niveau, hvorfor offentligheden hører om det.

Men der er utrolig meget hype omkring deep learning, så der er en masse der vil være en del af hypen der slår sig op og pludselig skal teknikken bruges til en masse områder, svarende til de forhåndenværende problemer. Ligesom Bitocin affødte Blockchain og crypto currencies o.s.v. Eller ligesom IT-boblen.

Virksomhederne ansætter "data analytics" folk der har læst en tutorial om tensorflow eller måske endda har 10-20 ECTS point uddannelse på området. Resultatet er at tenikken enten:

  1. Slet ikke er anvendelig på området (som i nærværende tilfælde)
  2. Anvendelse mulig, men kræver dyb ekspertise i det specifikke anvendeles- og modelområde og ikke bare machine learning generelt (ekspertise som typisk ikke findes hos firmaets bemeldte "data analytics" ekspert)
  3. Muligvis kan deep learning senere anvendes, men det vil så kræve massiv yderligere grundforskning før det er tilfældet.

Derfor får man en masse pseudo-forskning/projekter i virksomhederne som ikke rigtig giver noget. Selv hvis det ser ud til at give noget, skal man blot kradse lidt i lakken for at se at det er blændværk.

Min vurdering er at langt størstedelen af den brug af AI/ML/MachineLearning som er kommet til i danske virksomheder i nyere tid hører 100% til ovenstående, d.v.s. er meget lidt værdiskabende.

Skabelsen af det egentligt brugbare sker på universiteterne (skal ikke kunne sige om de danske), samt hos giganter som Google, Apple, Facebook m.m. som har hele forskningsafdelinger siddende. Og det er ikke bare med kandidater eller jævne PhD'er, men derimod tidligere professorer og højt etablerede forskere/stiftere af området. Det er helt usammenligneligt med det jeg har set folk sysle med i Danmark.

12
2. august 2019 kl. 12:40

Når man ikke gør det nemt for kollegaerne og efterprøve? Så går hele pointen med at skulle publicere sin forskning til kollegaer, der kan efterprøve og finde fejl i ligesom i fløjten.. Det får vi da ikke højere kvalitet af og forskere ligger da efter min opfattelse netop stor vægt på Peer Review delen af "ægte forskning" ?

Der burde [bleep] være krav om at data og kode til brug for efterprøvning af et forskningsresultat er Open Source.. eller i det mindste til rådighed :(

11
2. august 2019 kl. 12:19

Hvorfor ikke?

Jeg er faktisk ikke helt sikker, men jeg mener at den indeholdte nogle ikke-afprøvet ideer fra min medvejleders arbejde, som ikke var udgivet på daværende tidspunkt.

Jeg ved faktisk ikke om jeg må offentliggøre det nu. Det ligger i GitHub, som indeholder både kildekode, afhandling og slides til præsentation heraf. Min afhandling er offentlig og kan sikkert findes på biblioteket ved datalogi på AU.

10
2. august 2019 kl. 12:07

Undskyld, jeg maa lige kommentere denne her igen, for v2-artiklen er jo virkelig det rene sludder.

"Ny videnskabelig artikel sætter endnu en gang spørgsmålstegn ved effekten af neurale netværk til machine learning." Nej. Den beskriver at deep learning nok ikke er det bedste valg til recommender systems. Den er ikke udtryk for at der er "ballade" eller at der er tvivl om "effekten af neurale netværk til machine learning". Der er tale om at nogle har forsoegt at skrue en stjerneskrue i med en torx-skruetraekker, fordi "alle siger at torx er bedre, saa det maa vi ogsaa hellere proeve", og at de muligvis har oversolgt resultatet ("skruen kom i til sidst!"). Ja, de er sikkert nogle fjolser, men det goer da ikke at stjerneskruer er bedre end torx.

Eller sagt paa en anden maade: Hvis jeg vaelger at implementere en heap ved at putte et nyt element i enden af et array og kalde quicksort for hver eneste insert, er noget galt med mig og den konference som publicerer min forskning, ikke med quicksort. Der er ingen "ballade om quicksort" eller "tvivl om effekten af quicksort til sortering af tal".

9
2. august 2019 kl. 11:56

Synes det virker lidt tåbeligt at påstå der ikke er fremskridt indenfor AI. AI er blevet ret godt til at spille go, skak, starcraft osv. Ret godt til at lave ansigter.

Jeg gad godt se hans simple algoritme som løser de ting.

8
2. august 2019 kl. 10:54

Deep learning virker fantastisk til signalbehandling, f.eks. til billeder eller lyd. Dette er uomtvisteligt. Turing-prisen er netop blevet uddelt til tre af de store navne inden for deep learning og convolutional neural networks, og det er den fordi der er tale om et stort videnskabeligt gennembrud. Langt de fleste artikler paa de rigtige top-konferencer (NeurIPS/NIPS, ICML, ICLR, CVPR) indenfor AI kommer med fuld kode og datasaet, og resultaterne er ofte ekstremt lette at reproducere, og bliver det efter typisk faa dage, selv i de tilfaelde hvor koden ikke foelger med. At nogle saa proever at bruge dem til recommender systems (et problem man kan loese eksakt med en enkelt matrix multiplikation hvis man har tid og plads nok), uden at kunne faa det til at virke, er enten et tegn paa at det er et daarligt match mellem teknikkerne, eller at folk der i 2019 stadig forsker i recommender systems fremfor i mere generel ML/AI simpelthen ikke er dygtige nok. Jeg tror, at den omtalte artikel primaert vaekker opsigt fordi den rammer lige ned i agurketiden, og lige ned i et "sure roennebaer"-publikum, som foeler sig klemte af al hypen om deep learning og AI, og maaske oensker sig tilbage til dengang man var kongen af IT-afdelingen med sine "20-liniers if-then-else" (citat fra indlaeg ovenfor.)

7
2. august 2019 kl. 10:02

Der er ikke noget galt med tommelfingerregler. Men hvis folk præsenterer modeller der tager år at lave, koster millioner og bruger kilo-watt energi at afvikle, så skal de være bedre end noget der kan implementeres med 20-liniers if-then-else og <> operatorerne :) Problemet er at folk tillægger det en værdi i sig selv at der er brugt neutrale netværk, for så føles det mere magisk. Og så vil ledelsen måske betale flere penge for det, selvom det ikke er bedre end det virksomheden har gjort før. Det kræver en vis indsigt overhovedet at fortolke performance-tal for AI/Machine Learning algoritmer. Det er nemt at komme med tal der forblænder enhver ledelse (99.99% nøjagtighed!) selvom samme performance kan opnås helt trivielt og måske allerede har været opnået af andre i virksomheden. Generelt er hele området præget af at man ikke er kritisk nok og ikke fokuserer på hvad værdi der skabes, men mere på hvilken teknologi der bruges.

6
2. august 2019 kl. 09:24

AI er jo også bare et begreb som dækker over mange ting, bl.a. machine learning. I forskningens verden er det ikke interresant med begrebet "AI" (udover når man skal søge forskningsmidler).

Jo, jeg ville blot påpege det faktum at AI ikke nævnes, selvom "deep learning" og "neurale netværk" ofte er en del af dette.

Det er vigtigt at vi forstår AI som "nogle rigtigt gode tommelfingerregler", der genererer sådan cirka helt præcist de resultater, som ejeren/køberen/lejeren af AI-servicen har ønsket.

Med andre ord, så skal vi forvente at f.eks. et AI trænet af/til et forsikringsselskab nok blot fremkommer med en afgørelse baseret på samtlige tommelfingerregler, som gør at forretningen tjener mest muligt. Vi kan ikke forvente at kundens tarv tilgodeses, og må antage at eneste tommelfingerregel, som trækker i kundens retning er "Vi må ikke åbenlyst fremstå mere uretfærdige end vor konkurrent". Men da AI er en black-box, kan delene af argumentet ikke modargumenteres enkeltvis. Således er det farligt at støtte fortællingen om at beslutninger fra AI er alt andet end uunderbyggede partsindlæg i en sag.

Derfor kunne jeg have ønsket mig en bemærkning om at "upålidelig" deep-learning også smitter af på AI.

K

4
2. august 2019 kl. 09:00

Men ikke :
"AI"

AI er jo også bare et begreb som dækker over mange ting, bl.a. machine learning. I forskningens verden er det ikke interresant med begrebet "AI" (udover når man skal søge forskningsmidler).

3
2. august 2019 kl. 08:37

Er jeg den eneste, som undrer mig over at der bruges ord som: "Deep learning" og "neurale netværk" Men ikke : "AI"

Er dét mon fordi den generelle læser ikke skal kunne betvivle kommunens, lægens - eller taksatorens argimenter , når de siger "Nej!". ?

(Jeg er klar over dette nok ikke er V2's agenda) K

2
2. august 2019 kl. 08:14

Da jeg skrev min kandidatafhandling stødte jeg også gang på gang ind i en mur af lukket kildekode og ufrivillighed til at udlevere den eller blot en executeable.

Jeg brugte måske op mod 40% af min tid på at implementere, refaktorere og optimere andres algoritmer (og min implementation heraf), så jeg kunne reproducere det de havde skrevet i deres artikler.

Jeg tror at det er et sympton på at forskere lever i to forskellige paradigmer i datalogi: teoretisk datalogi og "anvendt datalogi". I den teoretiske datalogi er det vigtigst at bevise at algoritmen er korrekt og at dens køretid beskrevet i Big O notation er (sub)optimal. I den praktiske datalogi er det vigtigst at vise at algoritmen er korrekt og at dens køretid på forskellige input er mindst en størrelsesorden (orders of magnitude) af førende algoritmer på samme input.

Min afhandling er også en mellemting mellem teoretisk og praktisk. Jeg er super fan af at man kan bevise at noget er korrekt for derefter at vise at det også virker i praksis. Jeg er ærgerlig over den kultur der var (og måske stadig er) i forskningsverdenen da jeg skrev min afhandling for snart 4 år siden. Er min afhandling og dens dertilhørende kildekode open source? Nej.

1
2. august 2019 kl. 07:21

"Konklusionen er, som tidligere nævnt, at det ofte er svært at reproducere resultater, og at de simple metoder tit giver resultater, der er lige så gode, som med deep learning."

Selvfølgelig - men det er irrelevant, for det er sjovere og mere givtigt for forskere og firmaer at forske i machine learning end i simple metoder. Så må samfundet bare lægge ryg, data og midler til...

(Artiklen er stærkt relevant - tak for den)