Världsmästare i Dota 2 förlorar mot artificiell intelligens från OpenAI

Trädvy Permalänk
Hedersmedlem
Plats
Stockholm
Registrerad
Aug 2001
Skrivet av Patan77:

Fast egentligen inte, traditionell AI är som en digital signal "binary" if true do x if false do y, medans neural networks är mer som en analog signal -1.0 till 1.0 så kan vara 0.37916.
Ex "nural network 1 layer". Man har en input node tex 1.0 med den leder till en neural node i kopplingen mellan dom så multipliceras signalen med tex 0.348 (weight ) sen processar neural noden inkommande signalen sen ger den ett nytt output (ex. 0.76134) som sen leder till output node med en (weight) koppling, fast man har flera inputs/outputs och flera lager och alla lager är kopplade till alla noder från det tidigare noderna,sen väljer man den node som har starkast output signal och man behöver inte ha en ända neural node som använder ett if -stement bara ren mattematik, vist sen sen finns det självklart vissa noder som kan innehålla if-statment beror lite på vilket typ av neural network man bygger, men fördelen att undvika if statment i en node är att det är betydligt långsamme än bara mattematik.

Man skulle kunna säga att den "konventionella logiken har faktiskt satts ur spel".

Om OpenAi bot: / hur gammal if-statement AI fungerar (1:10)
[.youtube]https://www.youtube.com/watch?v=mGYU5t8MO7s[/youtube

Och om output är över 9000 så är det en katt och under 9000 en papegoja, bara för ett väldigt basic exempel på hur IF-satser kan passa in i neurala nätverk (för bildklassificering).

Trädvy Permalänk
Hedersmedlem
Plats
Malmö
Registrerad
Apr 2007
Skrivet av Radolov:

Ja, man kan se draften som det senare alternativet som du sa, alltså alla möjliga drafts. Kommer inte ihåg om de ändrat så att bannen blir random om man inte bannar något (se iceiceice no ban strat). Sedan så har vi lineups (som jag förmodligen skulle skrivit för att klarare markera skillnaden) där ordningen inte spelar roll, då har vi kombinationer. 113 möjliga hjältar och vi ska välja 5 av dessa, alltså har vi 113!/(113-5)!5! = 140364532 lineups möjliga (för ett enskilt lag som jag tänkte på). Nu har jag inte räknat med alla möjliga motståndare som de kan möta och här tror jag att det också är kombinationer [lycan a b c d] är ju samma som [a lycan b c d] , alltså 113!/(113-10)!10!= 62088566355816 (rätta mig om jag har fel).

Så sett från de siffrorna, så om de lyckades beräkna en match på 696 sekunder (det är 4 gånger snabbare än en vanlig match) så skulle de hålla på sedan tidernas begynnelse fram till nu för att kunna köra alla drafts mot alla möjliga drafts....en gång!

Nu kan ju en dator göra det snabbare, men jag ser inte direkt hur det skulle kunna ta mindre än 0,1 sekunder iallafall. Då är det fortfarande 2 miljoner år. Sedan skulle det ju vara bra att ha 2 miljoner gånger beräkningskraften så tar det 1 år. Då har man forftfarande inte analyserat alla spel, då lanes kan se annorlunda ut , ställen wards läggs på etc etc. Så ja...det verkar rätt så hopplöst om jag skulle vara ärlig.

Ja precis. Siffrorna blir löjliga! Och då har vi inte tagit höjd för tramfights med olika antal deltagare eller med olika levlar, komplexiteten som multiplayer, laneswitches, items, patch changes och liknande medför :). Behövs andra sätt än trial and error för det här helt klart!

Skickades från m.sweclockers.com

Bränsleförbrukning kan uttryckas i liter/mil.
Bränsleförbrukning kan också uttryckas som kubikdecimeter/mil eller kubikmeter/meter om man vill hålla sig till SI-enheter. Alltså m³/m.
m³/m = m²
Bränsleförbrukning kan alltså uttryckas i kvadratmeter...

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Feb 2009
Skrivet av DasIch:

Och om output är över 9000 så är det en katt och under 9000 en papegoja, bara för ett väldigt basic exempel på hur IF-satser kan passa in i neurala nätverk (för bildklassificering).

Fast det stämmer inte, man har inte bara ett output, eftersom du har n antal output noder varje output node har ett värde 0.0-1.0 så för bild klassificering skulle en av output noderna vara katt en annan papegoja tredje hund, och om hund noden har 0.2 papegoja 0.0 katt 0.8 sen väljer man den output node med högsta värde ("confidence") så svaret skulle vara katt i det här exemplet är inget "IF output x then answer = y. "

EVGA Classified SR2 | 48GB 1600Mhz | 2st xeon x5650 4 Ghz 24 trådar | GTX 780 6GB
Renderings burk: i7-3930k 4,8 Ghz | 32GB 1600Mhz
Mitt Galleri: http://www.sweclockers.com/galleri/6978-evga-classified-sr2-x...
Min Hemsida: www.patan77.com

Trädvy Permalänk
Hedersmedlem
Plats
Stockholm
Registrerad
Aug 2001
Skrivet av Radolov:

AI:s kan redan slå människan när det kommer till reaktioner, t.ex instant hex , eller lasthits så rent mekaniskt så kan den slå människan. Instant items och abilities såsom blink/euls/phase shift(puck) kan göra dem i princip odödliga mot en enskild motståndare.

Frågan är dock vad som skulle krävas för ett femmannalag skulle bli oslagbart.

Draft: Det finns 113 heroes, alltså 140364532 möjliga drafts i slutet, antar att de kan köra någon sorts strategi med hjälp av data "Ah men den här draften brukar gå bra mot just den här draften som motståndarna tagit". Sedan så finns det knappast tid för AI:n att köra alla drafts mot alla drafts en hel del gånger. Eller så kan de göra drafts med såna heroes som har "instant cast" abilities och utnyttja det fullt ut.

Heroes: Det tog 2 veckor att träna upp Shadow fiend till pro , men jag vet inte om samma "skills" översatts till andra heroes. Anta att alla heroes tar 2 veckor att lära för midlane, då har vi 113*2~4 år att köra midlane med alla heroes med samma resurser. Sedan så var det ju bara 1 hero mot en annan hero, den kan ju ha 112 möjliga motståndare som den kör mot i mid.

Lanes: Sedan var den ju begränsad i princip endast till midlane. Det finns ju 3 lanes. Hur anpassar den sig till det? Ibland måste man nästan skrota en lane för "den funkar inte" helt enkelt. Ibland måste man lämna sin lane för att hjälpa till någon annan eller helt enkelt gå jungeln.

Game mode: 1vs1 varar knappast lika länge som 5 vs 5. Skulle inte förvåna mig om det tog 7 gånger så lång tid som 1 mot 1 i genomsnitt. Sedan så kommer den säkert vara oerfaren i lategame scenarion där man värderar saker lite annorlunda , har du t.ex 40k guld och fullt med items kanske det inte är så relevant om du farmar din egen jungel. Men man kan väl hoppas att man vinner inom 40 min kanske?

Kommunikation: Du kan inte ha 5 individer som bara kör sitt eget spel, det kommer inte funka. Det finns ju mångdubbelt med val som man kan göra här (gruppera ihop sig, möjligtvis koordinera vem som ska farma vilka creeps, om någon ska splitpusha etc). De måste kommunicera med varandra för att det ska gå ihop.

Patcher: En hero kanske ändrade en av sina abilities eller så gjordes det om så mycket att den måste tränas om (t.ex death prophet fick soul siphon, eller ursa som fick damage block på sin ult och multiplier på swipes).

Items: Fanns vissa restriktioner sedan innan på items. Sedan så har den nog inte så stor erfarenhet av items senare i spelet då 1 vs 1 brukar vara rätt så korta.

Kort sagt: Det är inte bara lite svårare, utan dota 2 kommer förmodligen vara borta sedan länge innan den lärt sig färdigt. Iallafall för att få fram ett lag som alltid vinner mot t.ex team liquid.

Det är inte alls så man angriper problemet. AI;n behöver inte beräkna alla möjlig kombinationer och drag. Vad de gjort är att sätta AI;n i spelvärlden med allt var regler innebär och gett den ett belöningssystem.
Ungefär som om Gud skjuter dig genom öronen med en massiv gudalaser så du blir helt tom i hjärnan och teleporterar dig till en annan planet, med hyfsat begränsade regler. Du får poäng för hur länge du lyckas hålla dig vid och minuspoäng om du dör. Varje gång du dör blir du återupplivad och kommer ihåg hur det gick senast, och du provar sedan lite nya grejer för att överleva längre. Och sådär fortsätter det, tills du blivit en överlevnadsninja.
AI;n är dock mycket dummare än så, men den är också mycket snabbare. Den kör igenom 10,000 liv på 5 minuter. Efter några dagar har den lärt sig rätt mycket...

Typ så.

DOTA-AI;n har helt enkelt sats på att tugga DOTA utav helvete. Och den behöver inte köra matcher som vi vanliga dödliga. Allt den behöver är en stor mängd data att tugga igenom medan den kör en konstant feedback-loop för att hela tiden hitta bättre strategier. Den behöver aldrig beräkna alla möjliga kombinationer/utfall och därigenom hitta den bästa vägen. Det hör till gammal brute-force AI, vilket är väldigt begränsat. Istället behöver den bara hitta strategier för att vinna, och ju snabbare desto bättre, företrädesvis mot bättre och bättre motståndare.

Tillslut är AI;n tillräckligt bra för att spöa de bästa människorna, utan att ha varit i närheten av att beräkna alla möjliga kombinationer.

Trädvy Permalänk
Medlem
Registrerad
Mar 2017
Skrivet av DasIch:

Det är inte alls så man angriper problemet. AI;n behöver inte beräkna alla möjlig kombinationer och drag. Vad de gjort är att sätta AI;n i spelvärlden med allt var regler innebär och gett den ett belöningssystem.
Ungefär som om Gud skjuter dig genom öronen med en massiv gudalaser så du blir helt tom i hjärnan och teleporterar dig till en annan planet, med hyfsat begränsade regler. Du får poäng för hur länge du lyckas hålla dig vid och minuspoäng om du dör. Varje gång du dör blir du återupplivad och kommer ihåg hur det gick senast, och du provar sedan lite nya grejer för att överleva längre. Och sådär fortsätter det, tills du blivit en överlevnadsninja.
AI;n är dock mycket dummare än så, men den är också mycket snabbare. Den kör igenom 10,000 liv på 5 minuter. Efter några dagar har den lärt sig rätt mycket...

Typ så.

Vet inte om det med 10000 liv stämmer på 5 min, känns osannolikt (beror förstås på beräkningskraft). Men de sa 2 veckor, och jag kan säga att 336 timmar mid 1 mot 1 SF med coaching kan no de flesta bli riktigt jäkla bra på, t.o.m slå de bästa. Problemet uppstår när den möter andra heroes, som har helt annorlunda förutsättningar (t.ex silence, hex, stun) och det kanske påverkar de tidigare strategierna så att ologiska saker händer. Spontant kanske tänker den vad den ska göra om den blir silencad mot en hero som saknar silence? Av den anledningen säger jag att den måste nog köra så länge mot alla heroes för att vara ostoppbar, men det bör rimligtvis gå att översätta vissa skills till att köra färre gånger mot andra heroes. Men vissa matchups är i princip omöjliga, medan andra riktigt lätta. De kommer behöva de här matcherna för att den ska kunna bli bra. Sedan så får man tänka på att alla andra 112 hjältar måste skapa egna vinnande strategier, som kommer att vara unika. De hårdkodade ju trots allt creepblocking som är svårt för en människa, men jätteenkelt för en dator och ger ett stort övertag i just 1 mot 1.

Jag menar inte att den måste köra alla möjliga kombinationer för att bli riktigt bra, mest handlar nog om att lära alla heroes utantill och försöka få fram en vinnande strategi (vilket är lite udda, med tanke på att olika strategier är olika bra baserat på olika tid, olika lineups, olika levels, olika items, olika vision etc.) men även de mest ambitiösa beräkningarna (se mitt tidigare inlägg #16956449 ) gör att den inte blir klar på ett år som var deras mål. Sedan om de ska köra 20000 gånger mot vissa drafts så ja... det blir ju som det blir. Att den är 5 gånger långsammare enbart på grund av att alla extra AIs och ~7 gånger matchlängden utöver de extra variablerna att ta hänsyn till känns inte så betryggande med tanke på tidsuppskattningen som de själva gjorde.

Iallafall, min hypotes är att under dessa två veckor den körde mot sig själv och andra så stötte den på i princip alla typer av beteenden inom de begränsningarna som den kunde stöta på.

Trädvy Permalänk
Medlem
Plats
Malmö
Registrerad
Maj 2014

Ehh...

"...forskningsinitiativet OpenAI, som syftar till att utveckla AI som är öppen för alla och vänligt inställd till människan."

Och de lär den att slåss i spel mot människan. Jag tror någon där behöver forska i var "vänligt inställd" borde betyda. Spel som har våld och strider är inte direkt detta. De skapar fan en "Wargames"...

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Dec 2004
Skrivet av Patan77:

Ganska säker på att dom inte använder valves API för vanliga botar. För anledning att dom ens gjort AI:n är för att utveckla generell AI som kan användas i verkliga världen så skulle motverka lite poängen att använda ett API för att få variables etc, dessutom om man läser på:
https://universe.openai.com/
https://gym.openai.com/

"Agents use the same senses and controls as humans: seeing pixels and using a keyboard and mouse. Universe makes it possible to train a single agent on any task a human can complete with a computer."

Vist I teorin kan dom använda game states i ett neural network, eller en kombination av pixels + game states, jag kan inte hitta någon information om exakt hur dom gör med deras Dota AI, men med tanke på hur dom pratar om att kunna använda den boten i framtiden för att hjälpa kirurger så tror jag att dom antagligen använder pixel data.

https://blog.openai.com/more-on-dota-2/

Här står det att dom använder API't (och det motverkar ingenting som har med OpenAI att göra, du tror väl inte att dom skulle välja att ignorera elektronisk input från t.ex. en hjärtmonitor till fördel för en optisk utläsning? Appropå hjälpa kirurger)

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Feb 2009
Skrivet av vampire-x:

https://blog.openai.com/more-on-dota-2/

Här står det att dom använder API't (och det motverkar ingenting som har med OpenAI att göra, du tror väl inte att dom skulle välja att ignorera elektronisk input från t.ex. en hjärtmonitor till fördel för en optisk utläsning? Appropå hjälpa kirurger)

Tack för källa, jag skrev iof i inlägget att dom kunde använde game states, plus jag gjorde mitt inlägg 2 dagar innan deras blog post, så kunde inte hitta nån information där dom beskrev att dom använde valves API, så var väldigt tveksam över ditt originella påstående " AI:n använde ett API från Valve dvs inte en simulering av ett mänskligt spelande" och om man läser på deras nya blog inlägg skriver dom "Bot API features, which are designed to be the same set of features that humans can see" så deras AI har inte tillgång till massor variables etc som vanliga botar har när dom använder valves API, vilket gör i teorin skulle dom kunna ersätt valves api med en kod som bara läser av skärmen. Jag skulle fortfarande påstå att det är en simulering av mänskligt spelande, och att användning av valves API är bara en optimering.

EVGA Classified SR2 | 48GB 1600Mhz | 2st xeon x5650 4 Ghz 24 trådar | GTX 780 6GB
Renderings burk: i7-3930k 4,8 Ghz | 32GB 1600Mhz
Mitt Galleri: http://www.sweclockers.com/galleri/6978-evga-classified-sr2-x...
Min Hemsida: www.patan77.com

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Dec 2004
Skrivet av Patan77:

Tack för källa, jag skrev iof i inlägget att dom kunde använde game states, plus jag gjorde mitt inlägg 2 dagar innan deras blog post, så kunde inte hitta nån information där dom beskrev att dom använde valves API, så var väldigt tveksam över ditt originella påstående " AI:n använde ett API från Valve dvs inte en simulering av ett mänskligt spelande" och om man läser på deras nya blog inlägg skriver dom "Bot API features, which are designed to be the same set of features that humans can see" så deras AI har inte tillgång till massor variables etc som vanliga botar har när dom använder valves API, vilket gör i teorin skulle dom kunna ersätt valves api med en kod som bara läser av skärmen. Jag skulle fortfarande påstå att det är en simulering av mänskligt spelande, och att användning av valves API är bara en optimering.

Eh, dom använde Valves publika bot API (jag tror dom nämner det i originalvideon med), det exponerar samma saker som en människa kan se (dock med fördelen att det är otroligt mycket lättare att hantera maskinellt), det är hela poängen med API't. Det är inte önskvärt att simulera mänskligt spelande då våra hjärnor är fruktansvärt dåliga på att parallellisera och vårt nervsystem är ganska så långsamt.

Trädvy Permalänk
Forumledare
Registrerad
Jan 2005

*Tråd rensad (tjafs/okonstruktiva inlägg)*
/moderator

Synpunkter gällande modereringen? Då kan du kontakta mig, moderatorerna, Sweclockers
Ursäkta min stavning, jag är dansk