OpenAI: s nya metod för imiteringsinlärning med ett skott, en titt på AI: s framtid

One-Shot Imitation Learning Yan Duan, Marcin Andrychowicz, Bradly C. Stadie, Jonathan Ho, Jonas Schneider, Ilya Sutskever, Pieter Abbeel, Wojciech Zaremba

Den 16 maj delade OpenAI-forskare en video av ett av sina projekt tillsammans med två uppsatser av betydelse som utforskade lösningar på tre viktiga flaskhalsar för den nuvarande AI-utvecklingen: metallärande, one-shot-lärande och automatiserad datainformation. I mitt föregående inlägg lovade jag en artikel som ägnas åt det fascinerande problemet med lärande med en skott, så här går. Du kan börja med att titta på videon de släppte som förklarar deras fantastiska arbete:

I den här videon ser du en fysisk robot med en arm som staplar kuber ovanpå varandra. Att känna till de komplexa uppgifterna som industrirobot för närvarande kan utföra, om forskaren inte försökte förklara vad som händer, på många konton skulle detta vara mycket överväldigande. I kontrollerad miljö är uppgiften enkel, processuella (hårkodade) tillvägagångssätt har redan löst dessa problem, vad som är lovande och revolutionerande är hur mycket den allmänna ramen under kan skala upp till flera, mer komplexa och anpassningsbara beteenden i bullrare miljöer.

Skillnaden i åtanke mellan människan och de högre djuren, stor som den är, är verkligen en grad och inte av slag.
- Charles Darwin

I analogi är denna artikel ett starkt bevis på att skillnaderna i kognitiva system mellan nuvarande förkroppsligade AI (artificiell intelligens av fysiska system) och robotar från det 22-talet kommer att vara en skala och inte av slag. Sedan 2012 ImageNet-tävlingen * har djup inlärningsforskning blivit blomstrande, inte så mycket för att ändra karaktären på den distribuerade beräkningen som görs av ett neuralt nätverk, men genom att hitta nya sätt att strukturera nätverk för att de ska kunna lära sig en specifik uppgift. För en neural nätverksfunktion är struktur, denna struktur är inte hårdkodad (inte designad för hand) men det är resultatet av atomberäkningsenheter som initialt är anslutna mellan ingångar och utgångar, som kan modifiera deras struktur och anslutningar. Det är genom att modifiera nätverkets övergripande struktur att det lär sig en specifik funktion.

I den här artikeln byggde de en allmän ram som kunde utbilda en agent att representera uppgifter på ett abstrakt sätt och lära sig att överföra denna kunskap till nya osynliga uppgifter (överföringsinlärning) efter bara en demonstration av den nya uppgiften (ett skott imiterat lärande).

Uppgifterna

Även om den exakta arkitektoniska implementeringen skiljer sig åt, tar de två uppgifter som exempel för att visa hur den allmänna strategin fungerar.

Partikel nå

I det första exemplet får systemet ingångar till färgade målpositioner i ett plan och en enda videodemonstration av det simulerade medlet som går till det specificerade målet.

Figur 2. Roboten är en punktmassa som styrs med 2-dimensionell kraft. Uppgifternas familj är att nå ett riktigt landmärke. Landmärkenas identitet skiljer sig från uppgift till uppgift, och modellen måste räkna ut vilket mål man ska eftersträva baserat på demonstrationen. (vänster) illustration av roboten; (mitten) är uppgiften att nå den orange rutan, (höger) uppgiften är att nå den gröna triangeln.

Under träningen måste systemet reproducera samma uppgift (nå orange) men från en annan konfiguration, med olika startpositioner för roboten och målen. Det är inte klart om agenten under testning testats på den uppgift han tränats på (nå orange) eller på den uppgift han aldrig sett förut (nå grön till exempel) eller båda.

Den utbildade policyn utvärderas utifrån nya scenarier och villkoras av nya demonstrationsbanor som inte ses under träningen.

Det är säkert att agenten måste dra slutsatsen från en unik demonstration och åter börja från en annan konfiguration. Detta innebär att den exakta motoriska sekvensen inte kunde ha lärt sig innan testning och måste uttalas genom abstraktion (strukturerad representation på högre nivå) av uppgiften och motorplanering.

Block stapling

I det andra exemplet måste agenten lära sig att stapla kuber (identifierade med olika färger) i samma ordning som den som visas i en enkel simulerad demonstration. Denna simulerade demonstration är en serie 2D-bilder genererade av en 3D-fysikmotor där egenskaperna hos robotarnas motor och sensoriska apparater modelleras.

En-shot-politik. En enda policy utbildad för att lösa många uppgifter. Toppuppgift: {abc, def}, bottenuppgift: {ab, cd, ef}

I båda exemplen är de ursprungliga positionerna för kuberna i demonstrationen och i det verkliga testet olika, varje uppgift börjar från en annan startposition. Roboten försöker inte byta ut kuberna så att de matchar demonstrationens ursprungliga position, den överför den högre nivån att stapla kuben oavsett tillstånd han startar i.

Träning med randomisering av domäner

I båda fallen erhålls alla bilder som används under träning genom simulering med användning av domän randomisering där de randomiserar följande aspekter av proverna:

Antal och form på distraheringsobjekt på bordet Position och struktur på alla objekt på bordet Strukturer på bordet, golvet, skybox och robot Position, orientering och synfält för kameran Antal ljus i scenen Position, orientering, och lampans speciella egenskaper Typ och mängd slumpmässigt brus som läggs till bilder

Träningsuppsättning för att nå partiklar

Vi överväger en allt svårare uppsättning uppdragsfamiljer, där antalet landmärken ökar från 2 till 10. För varje uppdragsfamilj samlar vi in ​​10000 banor för träning, där landmärkenas position och punktrobotens startposition slumpmässigt. Vi använder en hårdkodad expertpolicy för att effektivt generera demonstrationer. Vi lägger till brus i banorna genom att störa de beräknade åtgärderna innan vi tillämpar dem på miljön, och vi använder enkel beteendekloning för att utbilda nervnätverkspolitiken

Träningsuppsättning för blockstapling

Konkret samlar vi 140 träningsuppgifter och 43 testuppgifter, var och en med en annan önskad layout av blocken. Antalet block i varje uppgift kan variera mellan 2 och 10. Vi samlar in 1000 banor per uppgift för utbildning och upprätthåller en separat uppsättning banor och initiala konfigurationer som ska användas för utvärdering. I likhet med den uppnådda uppgiften partiklar, injicerar vi brus i banan insamlingsprocessen. Banorna samlas in med hjälp av en hårdkodad policy.

Framgångsrika demonstrationer samlas in med hjälp av en hårdkodad policy

Observera att under inlärning de korrekta banorna genereras av en processuell "hårdkodad" policy, som jag tror är beroende av klassiska tekniker för systemidentifiering och kontroll. Så under utbildning och testning har agenten två ingångar: a) en demonstration i en konfiguration A, och b) en startkonfiguration B. Endast under träning har inlärningsalgoritmen också tillgång till ett idealiskt svar: en bana som startar från konfiguration B som svarar på problemet och med vilken agentens svar kommer att jämföras under inlärning - vilket gör det till ett övervakat inlärningsproblem.

För varje träningsuppgift antar vi tillgången till en uppsättning framgångsrika demonstrationer.

Om det inte är klart kommer jag att gå igenom skillnaderna mellan olika typer av inlärningsparadigmer i nästa avsnitt.

Optimeringsalgoritm och förlustfunktion

Övervakad inlärning avser utbildningsparadigmer där nätverket vid varje beslut har tillgång till det rätta valet han borde ha gjort, och därmed till en uppfattning om fel. Till exempel i en klassificeringsuppgift mellan hundar och katter är etiketten med bilder av hundar och katter under träning känd i förväg och felen upptäcks omedelbart. I den meningen skiljer det sig från inlärning utan tillsyn där i allmänhet ombudet ombeds att hitta en tidigare okänd struktur i de ingångar han får, och utan etiketter av katter och hundar skulle behöva upptäcka att det finns två kluster av olika objekt endast baserat på informationen i uppgifterna. Det skiljer sig också från förstärkningslärande som ofta gäller för realtidssystem där den exakta beslutssekvensen som leder till ett mål är okänd men bara en slutlig "belöning" kommer att avgöra om sekvensen var korrekt eller inte. Genom att använda imitationsinlärning förvandlar de ett klassiskt förstärkningsinlärningsproblem till ett övervakat inlärningsproblem, där felet beräknas från ett avstånd till en observerad bana.

Som det är fallet för varje övervakad träningskonfiguration, definieras uppgiften fullständigt av förlustfunktionen, som syftar till att kvantifiera hur långt var agenten från det avsedda beteendet. Att definiera denna funktion är ofta det kritiska steget eftersom det avgör hur optimeringsalgoritmerna uppdaterar modellens parametrar. Dessa algoritmer är av betydelse när det gäller beräkningstiden och kräver ofta en del justering för att kunna konvergera, om inte alls. Faktum är att lösningarna som kommer att minimera funktionen i mycket hög dimension ligger i ett mycket litet skal i parameterutrymmet, med ett litet hammingsavstånd mellan dem, så snart du kommer bort från det lilla domänet växer avståndet mellan lösningarna snabbt. Det finns mycket mycket intressant arbete om det ämnet som bland annat görs av den mycket fantastiska Jennifer Chayes, hon borstar ämnet i en mycket intressant intervju i det sista avsnittet av Talking Machines.

Under utbildning av policynätverk (hela nätverket, i stånd att bestämma utifrån vilka insatser man ska vidta) bearbetar de först den framgångsrika demonstrationsbanan. För denna del kommer de att jämföra två tillvägagångssätt, den klassiska beteendekloning (inte exakt säker på vilken implementering de använde) och DAGGER-algoritmerna. Detta möjliggör sedan den iterativa minimeringen av förlustfunktionen antingen genom l2 eller korsentropi-förlust baserat på huruvida handlingar är kontinuerliga eller diskreta (baserat på fördelningar av händelser i sekvensen). I alla experiment använde de Adamax-algoritmen för att utföra optimeringen med en inlärningshastighet på 0,001.

Stegstorleken börjar små och förfaller exponentiellt.

Algoritmen i sig tillåter inte överföring, det är hur du bygger din träningsuppsättning och din förlustfunktion som möjliggör överföring.

Två typer av överföring finns i uppgifterna. Den första typen kallas "överbrygga verklighetsgapet", det är en generalisering i lärande som möjliggör överföring mellan träning på simulerade insatser till test på naturliga stimuli. Simuleringsdata är ofta en fattig tillnärmning av den verkliga världen, för perfekt, saknar komplexiteten hos verkligt objekt. I den verkliga världen kan kameran vara felaktig och bullrare, motorstyrningen kommer att vara mindre exakt, färgerna kommer att förändras, texturerna blir rikare etc. För att möjliggöra denna första överföring använder de en metod som de kallar "domän randomisering" : Det är genom att lägga till brus till ingångarna att nätverket kan lära sig den gemensamma relevanta strukturen som gör det möjligt att generalisera på rätt sätt till den verkliga världen. De kommer till exempel att ändra kamerans vinkel mellan träningsexempel, ändra strukturer eller göra banorna mindre perfekta. Genom att lägga till buller under träningen lägger vi till robusthet.

Den andra överföringen som testas här är förmågan att producera en relevant motorsekvens i tidigare osynlig uppsättning av konfiguration och mål, baserat på en enda demonstration som startar i en annan initial konfiguration men med ett liknande slutmål. Återigen kommer överföring att möjliggöras genom hur vi konstruerar träningsuppsättningen och modellerar förlustfunktionen. Genom att presentera demonstrationer under träning som inte startar från samma initiala villkor för att nå ett liknande mål, tillåter du nätverket att lära sig att bädda in en högre nivårepresentation av målet utan att använda absoluta positioner, samt en högre ordning av den motoriska sekvensen som inte är en enkel imitation. Den naiva initiala arkitekturen möjliggör utbildning för att modifiera strukturen på ett relevant sätt, och denna utbildade struktur innebär den slutliga funktionen.

mål

För blockstackparadigmet hade de flera begränsningar som de ville att deras lärande agent skulle uppfylla.

Det bör vara lätt att applicera på uppdragstillfällen som har olika antal block.
Det bör naturligtvis generalisera till olika permutationer av samma uppgift. Till exempel bör policyn fungera bra på uppgift {dcba}, även om den bara är tränad i uppgift {abcd}.
Den bör rymma demonstrationer av varierande längder.

De hade flera frågor de ville ha besvarat för den här uppgiften.

Hur jämför träning med beteendekloning med DAGGER, med tanke på att tillräckligt med data kan samlas in offline?
Hur jämför konditionering under hela demonstrationen med konditionering på den slutliga önskade konfigurationen, även om den slutliga konfigurationen har tillräckligt med information för att fullständigt specificera uppgiften?
Hur jämför konditionering under hela demonstrationen med konditionering på en "ögonblicksbild" av banan, som är en liten del av ramar som är mest informativa
Kan vårt ramverk framgångsrikt generalisera till typer av uppgifter som det aldrig har sett under träning? (++)
Vilka är de aktuella begränsningarna för metoden?

Arkitektur

Partikel nå

För det första exemplet jämförde de tre arkitekturer som alla baserades på långa nätverk för kortvarigt minne (LSTM). En beskrivning av dessa nätverk kommer att gå i ett framtida inlägg om minne och uppmärksamhet, som är helt fascinerande ämnen både inom kognitiv och beräkningsvetenskap. I huvudsak matar en LSTM tidigare nätverksutgångar (i tid) som en del av nätverksingången vid varje ny tidpunkt, vilket möjliggör information från tidigare tillstånd för att informera nuet (därav deras namn på kortvariga minnesnätverk). De är roten till många av de senaste teknikerna som handlar om tidsserier (Alexa, Siri etc.).

Här använder de de tre specifika villkoren:

  1. Vanlig LSTM: lär sig att bädda in banan och det aktuella tillståndet för att mata det till en flerlagers perceptron som kommer att producera den motoriska handlingen
  2. LSTM med uppmärksamhet: ge en viktad representation över landmärken i banan
  3. Sluttillstånd med uppmärksamhet: används endast i utbildning av det slutliga tillståndet för att skapa en viktning över landmärken, liknande den tidigare arkitekturen

Block stapling

Medan ett generiskt neuralt nätverk i princip kunde lära sig kartläggningen från demonstration och aktuell observation till lämplig åtgärd, fann vi det viktigt att använda en lämplig arkitektur. Vår arkitektur för stapling av inlärningsblock är ett av huvudbidragen i det här uppsatsen, och vi anser att det är representativt för hur arkitekturer för enskilda imitationer av mer komplexa uppgifter kan se ut i framtiden.

Uppmärksamhetsmoduler

Artikeln är fortfarande relativt hög när det gäller att beskriva strukturen i de nätverk som används för att lära sig uppgiften. En viktig ingrediens i arkitekturen är deras uppmärksamhetsmodul, men jag tror att det här ämnet behöver en specifik post i detalj i sin väsentliga roll. I analogi med det kognitiva vetenskapliga konceptet med långvarig uppmärksamhet används uppmärksamhetsmoduler för att hålla och fokusera på relevant information innehållande olika varierande rum och tid. Den producerar en fast storlek som innehåller en inbäddning av ett informationsinnehåll som sträckts ut i tid och utrymme. I analogi med topologi, en gren av matematik som jag tror kommer att informera starkt om hur vi förstår distribuerade representationer i framtiden, utför ett uppmärksamhetsnätverk en topologisk isomorfism av information, samma krökning, olika form. Observera att dessa nätverk inte spelar en roll som sällskapsdetektor som kan fokusera på oväntade eller sällsynta händelser, vilket är en funktion förknippad med uppfattningen om uppmärksamhet inom neurovetenskapen.

Här använder de två typer av uppmärksamhetsnätverk: a) ett temporärt uppmärksamhetsnätverk som producerar en vägd summa över innehåll (fråga, kontext och minnesvektorer) lagrade i minnet, och b) ett nätverk för uppmärksamhet i området som kan återställa information relativt att blockera positioner beroende på agentens aktuella fråga.

Temporal uppmärksamhetsnätverk, med c: sammanhangsvektor, m: minnesvektor, q: frågavektor, v: lärt vektorvikt. Utgången har samma storlek som minnesvektorn. Det är en linjär kombination av den vektorn som gör det möjligt för någon minnesvektor att ha större påverkan på utgången baserat på kontext- och frågavektorer.Samma idé här, konkurrensen mellan rumslig information upprätthålls dynamiskt av uppmärksamhetssystemet.

Politiknätverket

Det hela nätverket består av tre olika subnätverk: demonstrationsnätverket, kontextnätverket och manipuleringsnätverket.

Demonstrationsnätverket får en demonstrationsbana som input och producerar en inbäddning av demonstrationen som ska användas av policyn. Storleken på denna inbäddning växer linjärt som en funktion av demonstrationens längd såväl som antalet block i miljön.

Som visas här kan demonstrationsnätverket bädda in demonstration av varierande komplexitet och storlek i ett gemensamt format som kommer att användas av kontextnätverket för att representera uppgiften. Det är förmodligen på denna nivå redan generalisering sker, demonstrationsinbäddningen bör lämna ut information om den exakta banan och kubens absoluta positioner sett under demonstrationerna.

När vi tittar på strukturen i kontextnätverket, även om vi från en mycket hög nivå ser vi gränssnittet med demonstrationsnätverket som matar en inbäddning av demonstrationen till de centrala temporära uppmärksamhetsmodulerna. Vi ser också att tidigare åtgärder (LSTM) och nuvarande tillstånd matas som ingångar sammanlänkade med demonstrationsinbäddningen för att producera ett globalt sammanhangsinbäddning som skickas till motornätet.

Deras beskrivning av nätverksfunktionen är enligt min mening den viktigaste delen av uppsatsen:

Kontextnätverket börjar med att beräkna en frågavektor som en funktion av det aktuella tillståndet, som sedan används för att delta i de olika tidstegen i demonstrationsinbäddningen. Uppmärksamhetsvikterna över olika block inom samma tidssteg sammanfattas för att ge en enda vikt per tidssteg. Resultatet av denna temporära uppmärksamhet är en vektor vars storlek är proportionell mot antalet block i miljön. Vi tillämpar sedan grannskapens uppmärksamhet för att sprida informationen över inbäddningarna i varje block. Denna process upprepas flera gånger, där tillståndet avanceras med hjälp av en LSTM-cell med obundna vikter.
Den tidigare sekvensen av operationer producerar en inbäddning vars storlek är oberoende av demonstrationens längd, men fortfarande beroende på antalet block. Vi tillämpar sedan standard mjuk uppmärksamhet för att producera fasta-dimensionella vektorer, där minnesinnehållet endast består av positioner för varje block, som tillsammans med robotens tillstånd bildar ingången som skickas till manipuleringsnätverket.
Intuitivt, även om antalet objekt i miljön kan variera, är antalet relevanta objekt i varje steg i manipuleringsoperationen litet och vanligtvis fast. För blockstackmiljön specifikt bör roboten bara behöva vara uppmärksam på positionen för blocket den försöker plocka upp (källblocket), liksom positionen för blocket den försöker placera ovanpå ( målblocket). Därför kan ett ordentligt utbildat nätverk lära sig att matcha det aktuella tillståndet med motsvarande steg i demonstrationen och dra slutsatsen om källans och målblockens identitet uttryckta som mjuka uppmärksamhetsvikter över olika block, som sedan används för att extrahera motsvarande positioner till skickas till manipuleringsnätverket.

Hur de slutför sin beskrivning är ett perfekt exempel på den nuvarande drivningen av AI-forskning från ett expertsystemssätt till ett lärandesystemmetod, och det antyder också diskussionen kring hur hjärnan utvecklades nedan.

Även om vi inte upprätthåller denna tolkning i utbildning stöder vår experimentanalys denna tolkning av hur den lärda policyn fungerar internt.

De vet inte hur det fungerar! De bygger en struktur som kan utföra viss beräkning och lagra viss information som vi anser är användbar i förväg, och ger den en träningssats i hopp om att hela strukturen kommer att lära sig! Det finns ett slags artificiell intelligensforskningsvoodoo på väg upp, en konst, ett sätt att rikta den heuristiska sökningen i rätt riktning. Och det verkar som om en hel del av dessa magiker arbetar nu för openAI.

Med sina egna ord är manipuleringsnätverket den enklaste strukturen, från den sammanhangsinbäddning som matas till flerlagers perceptron, produceras en motorisk handling.

Resultat

Resultat är ofta en del som jag har lite intresse för, speciellt för de slags otroligt lysande tekniska artiklar. Jag kommer att gå snabbt, och i första hand är att detta tillvägagångssätt fungerar, det utförs med en noggrannhet som liknar den hårdkodade expertpolicyn och, i motsats till den specifika procedurmässiga metoden, kan generaliseras till ett stort antal uppgifter.

Partikel nå

Block Stacking

I dessa experiment testade de också olika förhållanden. Med hjälp av DAGGER jämförde de tre olika ingångsförhållanden genom att nedmontera den visade banan: fullständiga banor, ögonblicksbild av banan eller endast genom att använda det slutliga tillståndet. De jämförde också beteendekloningsalgoritmen med demonstrationens hela bana.

Ett starkt bevis på systemets förmåga att generalisera över kubens identitet

Diskussion

När jag läser de snabba framstegen som gjorts av OpenAI de senaste månaderna känner jag en växande lust att prata om deras arbete och dela mina tankar om vad jag tror att deras arbete, och framstegen inom AI-fältet som helhet, informera vår förståelse för hur biologiska hjärnor fungerar. I synnerhet denna växande idé att de till synes delade kognitiva funktionerna mellan människor inte beror så mycket på en delad struktur som medföra vet hur man utför en uppgift, utan är istället ett resultat av relativt liknande naiva strukturer som, konfronterade med samma miljö, lära sig att utföra liknande uppgifter. Funktionen är resultatet av en funktionslös struktur som bara kan lära sig en specifik uppgift på grund av en specifik miljö snarare än en struktur som kan utföra uppgiften nativt, helt enkelt justera ett par parametrar för att anpassa sig till miljön.

Uppgifter kontra konfigurationer: en till synes godtycklig definition

Jag måste erkänna att jag inte förstår varför de valde att prata om olika uppgifter som de gjorde. En uppgift definieras i blockstackningsexperimentet som en uppsättning strängar som representerar blockens position relativt varandra, antalet element i uppsättningen definierar antalet staplar och antalet tecken antalet block som behöver ordnas . En uppgift är då ett arrangemang av block i staplar oberoende av stackens absoluta position.

Vissa block kan finnas på bordet men inte en del av uppgiften

Deras val av att definiera relativ position och antal staplar som kriterier för separat uppgift verkar godtyckligt. Det kan faktiskt också vara meningsfullt att prata om olika uppgifter baserade på blockens absoluta startpositioner (vad de kallar konfiguration). Jag tror att problemets gemensamma karaktär är uppenbar för dem, men för tydlighetsskäl föredrar de att inte gå in på detaljerna. Det är mer meningsfullt att inrama policyinlärningen som två typer av generaliseringar, på samma sätt som de gör senare:

Observera att generalisering utvärderas på flera nivåer: den inlärda policyn behöver inte bara generaliseras till nya konfigurationer och nya demonstrationer av uppgifter som redan ses, utan måste också generaliseras till nya uppgifter.

Byt bara ut "uppgifter" med "stackbeställningar". Att korrekt lära sig uppgiften innebär att agenten lär sig en inbäddning som kan abstrahera kubernas placering (konfiguration), men också deras identitet (uppgift), antalet staplar (uppgift) och demonstrationens bana (introduceras kort i offertet) för att producera ett relevant motoriskt svar.

Dessa generaliseringar verkar motsägelsefulla, hur kan samma nätverk abstrahera kubens ursprungliga konfiguration eller deras identitet och ändå återställa sin absoluta position för det motoriska svaret?

Detta förklarar behovet av olika kooperativa undernätverk under inlärning, mottagning av olika ingångar, och det förklarar att i sammanhangsnätverket matas en abstrakt representation av uppgiften med lägre ordningsinformation, som kuber absoluta positioner, före det fallande kommandot.

Du kanske tycker att kommentera denna distinktion av uppgift och konfiguration är dumt, men det är viktigt att förstå att det i huvudsak är samma process för abstraktion som spelas på olika objekt (och detta öppnas för följande avsnitt).

Det finns inget lärande utan invarians

Överföringsinlärning är kanske det mest fascinerande begreppet kognition oavsett om det är in-silico eller in-vivo, det är ett mycket hett ämne både för AI-forskare och neurovetenskapsmän, och det råkar vara ämnet för min doktorsavhandling. Observera att nära besläktade begrepp har utforskats inom många fält innan maskininlärning, och detta abstrakta och alltid delvis definierade begrepp har många namn. Filosofer, antropologer och sociologer kan hänvisa till det som (post-) strukturalism (Claude Levi-Strauss, Michel Foucault), lingvist kommer att prata om Syntagma och Nested Tree strukturer (Noam Chomsky), matematiker kommer förmodligen att tänka på Homeomorphism eller Invariants och utbildning forskare eller neurovetenskapsmän kan hänvisa till det som strukturellt lärande. Du kan också se relaterade begrepp inom maskininlärning som representationsinlärning och metallärande, vilket beroende på författaren kan hänvisa till överföringsinlärning eller inlärningsparadigmet som används för att utföra överföringslärande. När man talar om djupa nervnätverk är dessa skillnader suddiga, eftersom i huvudsak ett neuralt nät lär sig att bädda in ett visst problem (representationsinlärning) genom att modifiera dess struktur (metallärande) vanligtvis i en bullrig miljö som innebär en form av överföringsinlärning.

AI-forskare och Cognitive Scientist har ofta en mycket konkret definition av överföringsinlärning, det är processen som tillåter ett system att använda den kunskap som förvärvats i en viss uppgift för att utföra en annan uppgift som delar en gemensam kompositionsstruktur (som beskrivs i artikeln). Kognitiv vetenskap har denna uppfattning om nära och fjärröverföring, beroende på hur de två uppgifterna verkar skilja sig. Men ur ett mer abstrakt perspektiv, i en bullrig och komplex miljö, är allt lärande en form av överföringsinlärning och skillnaden mellan mycket nära och väldigt överföring är bara en fråga om delad information - återigen en fråga om skala inte av natur.

I kontrollerad miljö ansträngas man i förväg för att bygga en hårdkodad bedömning av verkligheten, men i själva verket återger denna diskretion procedurellt vad överföringsinlärning gör, det förenar en oändlig uppsättning tillstånd som finns i verkligheten under en gemensam inneslutande struktur. I huvudsak hänvisar Transfer Learning direkt eller som en förlängning till processen genom vilken lärande agenter använder invarianter för att bygga modeller av världen. Det är en process som använder likheter, upprepningar och variationer av densamma för att bilda allt mer abstrakt och sammansatt representation som kommer att strukturera ensembler över variansspannet av ingången. I allmän mening tillåter det att skapa de grundläggande operationerna genom vilka vi manipulerar informationsgrupper, precis som i matematik det tillåter förening och korsningar. Det tillåter identiteter, det förklarar vår förmåga att kategorisera objekt. Josh Tenembaum ger ett exempel som verkligen talade till mig: föreställ dig att du lär ett tvåårigt barn att känna igen en häst för första gången, du visar honom ett par bilder av olika hästar och sedan visar du honom bilden av en annan häst och bilden av ett hus och be honom berätta vilken som är hästen. Ett barn kommer att göra den här uppgiften ganska enkelt men det är fortfarande något som en dator inte kan göra bra med så få ingångar (inlärning med en bild).

Hur gjorde barnet det?

Djurigenkänning har studerats hos barn och avser vår förmåga att dekonstruera föremål till relevanta delar, pälsens färgområde, halsens storlek, övergripande form osv. Denna förmåga är också det som gör att du kan öppna en dörr har aldrig sett förut, du har lärt dig en motorisk sekvens som generaliseras till alla situationer (domängeneralisering). Det är också det du använder för att bygga förklarande modeller som förenklar världen. Du kan verkligen bli förvånad från början av en plötslig uppenbarelse av en gök i en berömd schweizisk klocka, men efter det andra utseendet kommer du att förvänta dig det. Att hitta invarians är hur ett neuralt nätverk lär sig och dessa modeller byggs omedvetet. Ett exempel är hur vi lär oss intuitivt om fysik redan innan vi har hört talas om matematik och siffror.

Man kan till exempel fråga hur snabbt skulle ett barn som föddes i mikrogravitet anpassa sig till jordens tyngdkraft och lära sig intuitivt att föremål kommer att falla till marken när de tappas?

Vi kan antaga att spädbarn och de flesta djur kommer att omarbeta sin modell omedvetet, ungefär som när du sätter strumpor på tassarna på en hund och det tar lite tid att anpassa sig till den nya informationen.

Men för ett litet barn kommer en medveten förhör och revidering av sin intuitiva modell att ske, från nyfikenhet, genom språk, symboler och övertygelser. Vår förmåga att medvetet förhöra och förändra våra modeller är fascinerande, och som en sidotot kan människor vara den enda art som kan förtala processen men andra arter kan utföra liknande medvetna revisioner.

Invariance är en obligatorisk egenskap av tid, om allt alltid var nytt och på inget sätt förutsägbart, skulle det fortfarande vara denna unika invariant att allt alltid är nytt och oförutsägbart. Det är omöjligt att föreställa sig en värld utan invarians, eftersom det inte kunde finnas en värld att hänvisa till, utan invarians skulle livet vara omöjligt och våra hjärnar värdelösa. Livet är en maskin som endast fungerar genom förutsägbar upprepning av händelser, upprepning av orsaker och effekter, av cyklisk återintroduktion av energi i organismen. Och i Livets strävan att förbättra användningen av de nödvändiga cyklerna är vår hjärna det ultimata verktyget. Det är en prediktionsmaskin, ett anpassningsorgan som kan hitta repetition dynamiskt och använda den för att bättre interagera med världen.

Denna metod som livet valde är extremt robust för små ändringar i strukturen. Det som förblir detsamma är världen, miljöns statistiska egenskaper, men den neurala strukturen som stöter på den kan variera så länge den kan bädda in den relevanta information som den utvecklats för att behandla. Detta förklarar varför våra hjärnor kan vara så olika från individ till individ, till och med primära cortices, och ändå har samma funktioner.

Nervösa system är anpassningsbara, de behöver inte evolution och långsamma genetiska mutationer för att förändra beteende på relevanta sätt. Ett enkelt nervsystem, som de som finns i C. Elegans, fungerar som en medfödd intern koordinator och extern sensor: känna mat och gå mot den, fly från smärta, reproducera. Dessa enkla system var initialt styva och utförde extrem tillnärmning av vår mycket bullriga värld för att diskretisera den i en liten uppsättning möjliga tillstånd (mat till vänster, värme under etc.). Våra motoriska och sensoriska förmågor utvecklades hand i hand med våra nervsystemets förutsägbara förmågor. När våra sensorer blev mer exakta kunde nervsystemet långsamt ändra sin struktur för att lagra information och lära av erfarenhet. Ursprungligen kunde den lära sig att känna igen vissa kategorier av ingångar, såsom lukttyper eller ljusmönster, och kunde också lära sig genom test och fel för att kontrollera dess alltmer komplexa motorsystem. Observera att världen är så komplex att vår hjärna naturligtvis utvecklats mot ett inlärningsparadigm snarare än en medfödd procedurmetod. Beräkningsmässigt är detta perfekt men ett enkelt Go-spel har ett tillstånd som är mycket större (2,10¹⁷⁰) än antalet atomer i universum (10⁸⁰), och när organismer blir mer komplexa och försöker hårdkoda ungefärliga möjliga säger att det kan vara i snabbt blir överträffligt på grund av en kombinatorisk explosion.

Vissa människor kan tro att vår hjärna är byggd på ett sådant sätt att den inneboende representerar utrymmet den kommer att utvecklas i, att i DNAet någonstans finns en gen för det som utgör ett ansikte, eller den temporära organisationen av ljudvågorna som gör upp ord. De kan tro att denna medfödda kunskap är kodad vid födseln någonstans. Andra kanske tror, ​​som min filosofilärare när jag gick på gymnasiet, att existensen föregår essensen, och att vår hjärna definieras fullständigt och enbart av mötet med organismen och världen. Verkligheten är naturligtvis mer komplex, och för de flesta telencefala system som har studerats hittills kodar inte hjärnan inately den funktion som den kommer att utföra utan kommer att lära sig den beroende på informationen i dess ingångar. Om inputen är för dålig med relevant information kan kapaciteten att lära sig i den strukturen ha ett utgångsdatum (t.ex. Amblyopia). Men om den medfödda strukturen inte kodar den slutliga funktionen har hjärnan en specifik struktur. Denna struktur bevaras över individer, och individer av samma art har gemensamma funktioner och drivningar. DNA skapar en viss struktur på plats, en struktur som inte kan utföra sin slutliga funktion inneboende, men en struktur som kan lära sig komplexiteten hos specifika uppgifter baserat på individuell erfarenhet. Det är inte förvånande att evolutionen ledde till uppenbarelsen av en mycket effektiv blod-hjärnbarriär som isolerade hjärnan från resten av kroppen såväl som hjärnhinnehinnorna och det hårda benskalet som skyddade det från omvärlden, för till skillnad från andra organ där strukturen är kodad i genomet, strukturen i en tränad hjärna kan inte regenereras från en inneboende modell. Det som är fascinerande är att vi ser samma inlärningsmekanismer som uppstår genom analogi genom utveckling av alltmer komplexa djupa nätverk som utför allt mer komplexa uppgifter.

Kompositionsstrukturer är svåra att se men överallt

Som en sidotot är det konstigt att även författarna inte inser att deras första uppgift att nå målet har en sammansatt struktur.

Den partikel som når uppgifter visar fint utmaningarna i generalisering i ett förenklat scenario. Uppgifterna delar dock inte en sammansatt struktur, vilket gör utvärderingen av generalisering till nya uppgifter utmanande.

Även om strukturen verkligen är en lägre nivå än blockstapeln och inte är lättillgänglig för experimentell manipulation, är uppgiften verkligen en sammansatt av delad struktur. Ungefärligen världen till ett plan är en sammansatt struktur att kubens identitet (färg) bevaras med översättning, och går från block A - eller en slumpmässig startposition - vid position (Xa1, Ya1) till block B på position (Xb1, Yb2 ) är en del av samma högre ordningssammansättningsstruktur än att gå från block A i position (Xa2, Ya2) till block B i position (Xb2, Yb2).

Gränssnitt mellan nätverk

En byrå av neurala nätverk som kan behandla insatser på olika nivåer av abstraktion kommer att behöva gränssnitt, en domän som jag tror har mycket kvar att upptäcka. Dessa gränssnitt kan vara av många slag. De kan till exempel ses som ett vanligt språk mellan två nätverk, vilket visas i artikeln, ett lägre nätverk beväpnat med ett uppmärksamhetssystem (demonstrationsnätverk) kan översätta en demonstration i en representation som ett annat nätverk (kontextnätverket) kan använda att rikta åtgärder oavsett demonstrationens längd eller initiala konfiguration.

Ytan på detta språk är här ett plan, fixerat i storlek, men man kan föreställa sig möjliga förändringar som kan förbättra kommunikationen mellan nätverket. Exempelvis kan ytans storlek ställas in för att växa eller krympa dynamiskt när nätverken samverkar under inlärning, därmed komprimering eller förlängning av språkkomplexiteten. Vi kan också föreställa oss mer dynamiska interaktioner, till exempel genom feedback. Vi kan föreställa oss förekomsten av facilitatornätverk som skulle lära sig att smidiga kommunikationen mellan nätverk, existerande som ett parallellt nätverk som lär sig att modulera ingången från det första nätverket baserat på input och output från det andra nätverket. Vi kan föreställa oss komplexa sammanhangsnätverk som fungerar som tonic (långsamt varierande) tillströmning till flera mer specialiserade nätverk ... Fascinerande framtida forskningsområde!

Brottfall antyder de möjliga roller som nya moduler kan ha

Det är värt att notera att fel ofta beror på motoriska misstag och att antalet misstag ökar med uppgiftens komplexitet.

Motorisk funktion bör inte försämras endast genom att öka antalet mål, detta är ett starkt bevis på att reproduktionsnätverkets sätt att lära sig att prata med motornätet är för abstrakt. Det är konstigt eftersom de säger att deras test visar att gränssnittet mellan kontextnätet och motornätet är relativt konkret (robotens position, målets position).

En möjlig lösning kan vara, eftersom det här är en modulär arkitektur, att använda olika förlustfunktioner eller modulära förlustfunktioner som representerar var och en en specifik aspekt av uppgiften. Det skulle också få hjälp av en motsvarighet till hjärnans pre-motoriska områden för att försäkra demonstrationen och kontextnätverket kan förbli abstrakt utan att försämra det motoriska kommandot. Premotorregioner är nödvändiga för att bättre lokalisera objekt baserat på målet (från abstrakta nätverk) och sensoriska ingångar för att välja det bästa motoriska kommandot. Det verkar som att kontextnätverket både försöker överföra demonstrationen till en högre nivå inbäddning och förbereda motoriska åtgärder samtidigt i ett aktuellt sammanhang. Ett förmotoriskt nätverk skulle vara att lära sig att kommunicera med det motoriska systemet på ett målorienterat och anpassningsfullt sätt och kombinera både premotorens och hjärnans funktioner för motoriskt lärande och snabb anpassning.

Det finns en intressant teori, Moravecs paradox, som förutsäger att det inte kommer att vara en högre nivåkognition som kommer att beräknas beräkna utan behandlingen av sensoriska ingångar och motoriska systemutgångar. Detta kan faktiskt redogöra för den stora mängden neuroner som finns i vårt hjärna (mer än i resten av vår hjärna) för att adaptivt kontrollera motorisk handling. Denna paradox formulerades i en tid (80-talet) då vi fortfarande trodde att vi kunde bädda in vår egen kunskap i en maskin för att utföra komplexa uppgifter i okontrollerade bullriga miljöer. Naturligtvis är denna paradox meningsfull om maskinen på något sätt kan representera världen i en diskretiserad uppsättning tillstånd, att bygga en högre nivå på det skulle vara lättare. Men jag tror att båda kommer att visa sig vara extremt beskattande, och den interna representationen som används vid gränssnittet mellan nätverk kommer långt ifrån något som liknar våra egna medvetna framställningar.

Slutsats

Genom att kombinera olika neurala nätverk som var och en ansvarar för en specifik behandling av problemet, visar denna artikel att genom att skapa en uppgift som i sig behöver generalisering, och bygga en lämplig inlärningsmiljö genom randomiserad domän, ett neuralt nätverk med tillgång till ett minne och en uppmärksamhetssystem kan lära sig att generalisera bortom enkel reproduktion. Den kan lära sig att upptäcka ett högre ordningsmål som har visats endast en gång i en visuell informationsström och utför beräkning i ett generaliserat utrymme för att återställa lämpliga åtgärder som kan återge det målet i ett annat sammanhang.

I framtiden kommer vi att se en ökande komplexitet av strukturer byggda på de atomära byggstenarna som kan lära sig att generalisera komplexa uppgifter, men ännu viktigare utföra flera av sådana uppgifter, i nya miljöer, med mindre beroende av hårdkodade metoder såsom förbehandling av insatsvaror eller minneslagring. Minneslagring kommer att ersättas av distribuerade representationer över ett minnesnätverk, uppmärksamhetssystem kommer att ersättas av cyklisk aktivitet i uppmärksamma nätverk i realtid. Frågan kvarstår hur vi kommer att kunna anpassa en stark serieteknologi (Turing-maskiner) till vårt ökade förtroende för distribuerad datoranläggning i förkroppsligat system.