Citat:
Ursprungligen postat av
WbZV
Citat:
Ursprungligen postat av
Mia-Rovy
De har inte hårdkodat hur man spelar schack. De de har belönat datorn utefter hur bra den spelar. Sedan så har den lärt sig själv. Datorn har programmerat sig själv.
Programmet har en förprogrammerad sökalgoritm och förprogrammerade regler. Det är fullt tillräckligt för att programmet skall kunna spela schack bättre än de flesta människor. Träningen där datorn spelar mot sig själv gör att den kan finjustera lägesanalysen så att den dessutom blir världsmästare. Parameteroptimering som träningen handlar om räknas normalt inte som programmering.
Du inser att Mia-Rovy inte menar att datorn programmerat sig själv eller hur? Den har via en process lärt sig. Den har lärt sig genom att ställa in värden på dess vikter och gränsvärden. "Den har programmerat sig själv", betyder ju inte att den har programmerat sig själv i det sammanhanget, det betyder just det du mer korrekt kallar parameteroptimering.
Citat:
Ursprungligen postat av
WbZV
Jag vill inte förringa de neurala nätverkens betydelse. Helt uppenbart så tillför de den extra kryddan som gör det här programmet bättre än tidigare program. Men det är helt felaktigt att påstå att nätverken lär sig spela schack.
För att kunna spela schack måste man veta hur man flyttar pjäser, men de här nätverken har ingen aning om att pjäserna faktiskt går att flytta. De lär sig att göra statiska lägesbedömningar, det vill säga analysera en given ställning och försäga om vitt eller svart kommer att vinna med en precision som är bättre än slumpen. Inte alltid rätt och inte alltid fel, men oftare rätt än fel. Den dynamiska processen där en ställning kan förändras genom att spelarna flytta sina pjäser ligger dock bortanför nätverkens kunskapsområde. De vet inte hur eller varför svart eller vit kan vinna, bara vem som rent statistiskt har störst chans att vinna vid en given ställning. Nätverken tillför kunskap som de andra algoritmerna saknar, men de förstår ändå ingenting av hur själva spelet går till.
Om man vet hur brädet ser ut, och man vet alla möjliga konfigurationer man kan få brädet att anta med avseende på sin svarta löpare, så räcker det som förståelse för att den går att flytta. Vi människor vet ofta saker utan att veta de egentliga bakomliggande funktionerna. Skulle du säga att merparten av Sveriges befolkning inte förstår att bilar bromsar för de inte begriper de bakomliggande fysiska lagarna? Det svenska folket kan alltså inte köra bil för de "förstår" inte minskning av hastigheten?
Nätverket förstår mycket riktigt om en konfiguration på brädet har hög eller låg sannolikhet att vinna, utöver det så har dock neuronätet hittat mönster bland dessa vinnande och förlorande positioner. Vad tror du det är som skiljer jämfört med en mänsklig spelare? Dessa mönster är ju just det som "förstå spelet" innebär.
Jag ser att du har god förståelse för maskininlärning så det är åtminstone givande att debattera lite. Utöver det behöver man dessutom goda kunskaper i neurologi för att se hur själva koncepten med neuronät är relaterat till våra egna hjärnor. Visst, mycket av det moderna artificiella neuronät ägnar sig åt saknar motsvarighet inom biologin, men själva slutresultatet, själva lärandet, är snarlikt. Vi själva fungerar på samma sätt. Signal sorteras ut från brus, och det är själva kopplingarna i nätverket som är "minnet", inte någon enskild cell. Minne, förståelse, tankar och medvetande är alltså samtliga "emergent properties", och finns alltså även hos neuronät, om än i betydligt mindre skala.
Oavsett vad du vill kalla det så räknas det som att "förstå schack" när man vet hur bra ens nuvarande position är, hur samtliga pjäser kan flyttas, veta vilka pjäser som är relevanta att flytta, veta hur ens chans att vinna ändras om man flyttar dessa pjäser på dess olika sätt och sedan väljer det mest gynnsamma draget.
Men jag håller med till viss del, det är inte mycket som skiljer mellan AlphaZero och vanliga schack program. Den enda biten är neuronätet som med dess förståelse begränsar antalet sökningar. Jag själv blev otroligt mycket mer imponerad av AlphaGo som med hjälp av hur de strukturerat neuronäten och dess olika ändamål kunde utläsa vinstchanser med hjälp av utseendet på brädet sen välja bästa drag med ett annat nät och sedan låta utseendenätet avgöra förändringar i vinstchans. Om man ska prata "förståelse" så klassar jag det som mycket högre grad av förståelse än vad som finns i AlphaZero.