Ok, jag postade detta i ett annat forum, men fick inget svar så nu gör jag ett försök här. Det handlar alltså om neurala nätverk. Om ni vet något forum där det diskuteras mycket NN så vore jag väldigt tacksam! Vad har du för output? Jag har ett tal som output och som står för vilken aktivitet som djuret vill göra. Men problemet är alltså att ibland skall flera faktorer spela in (den kanske vill para sig om energinnivån är hög, det är nära till en artfrände och inga fiender är i närheten) och ibland spelar bara ett stimuli in (om den har väldigt låg energinivå MÅSTE den äta för att inte dö). Om jag då har ca 10 input, varav bara en är viktig, så har jag löst det nu genom att träna med alla kombinationer av max- och minvärden, dvs 2^9 träningar! Och det är nog ingen bra metod! För det första brukar man med "stimuli" beteckna "hela inputen". Tack för att du tar dig tid! Hmm, visserligen en intressant lösning, men det blir inte så smidigt sen när djuren skall börja evolutionera. Tanken med den här träningen är bara att ge några grova startbeteenden så att de kommer igång. Sen skall de själva anpassa sig genom att para sig och mutera. Det kanske visar sig att det bästa är att, tex., para sig då ett rovdjur är nära eftersom djuret ändå kommer att dö. Då vill inte jag ha min bild av hur det fungerar "hard-wired" i systemet. <b>>Med risk för att verka otrevlig, men är du duktig på NN?</b> <b>Sen har jag en fundering - du vill simulera fram startvärden? Jo, men jag antar att du har en uppsättning arter? Hmm, jag har tänkt lite på att göra så, men av andra skäl. Jag har nämligen gjort att parningen går till så att en del av "generna" kommer från den ena individen och resten från den andra. Men eftersom de är tränade utifrån helt andra förutsättningar så ger det ofta avkomma som inte fungerar. Om de vore mer lika från början så kanske problemet skulle bli mindre. Jag ska kika på det. Tack! Vilken typ av nätverk använder du? Hur många lager? Vilken backpropagation algoritm använder du? Om det är ett forskningsprojekt du håller på med så kanske det är idee att knyta kontalkt med Artificial Intelligence @ Computer Science ( http://ai.cs.lth.se/ )Lära neurala nätverk
I'm working on my first NN-project which is a biosimulator. I have lots of "animals" (NNs) and they can mate, eat, evolve, die and so on. My problem is with the training. Each NN recieve several inputs such as energy level, distance to enemy and so on. Then I want to train the animalt to follow certain guidelines such as "when the energy level is low then you have to eat". That is, only one parameter should be considered. How do I do this? As it is now I have to assign values to all parameters to train the networks. I have tried using one training with maxvalues and one with minvalues for every "unused" parameter, but the results aren't that good and the number of necessary trainings rises very quickly. I'm using a backpropagation algorithm. Please help! Sv: Lära neurala nätverk
Jag tycker nog det enklaste sättet att se på detta är att du skickar en ett enda input - ett stimuli. Till varje sådant stimuli vill du ha ett output, och så får du träna på hela det.Sv:Lära neurala nätverk
Sv: Lära neurala nätverk
<b>> Om jag då har ca 10 input, varav bara en är viktig, så har jag löst det nu genom att träna med alla kombinationer av max- och minvärden, dvs 2^9 träningar! Och det är nog ingen bra metod!</b>
I princip tror jag att det är det enda vettiga sättet att göra det på. Alltså att du varierar ditt stimuli i alla de vettiga varianterna det kan vara.
En annan lösning kunde vara att göra något i stil med följande:
För varje intressant kombination av input, t.ex. "energinivå, avstånd till fiende, avstånd till artfrände", så skapar du ett separat NN, som inte interagerar med de andra.
Då har du ett antal "Första-steg". Sen har du slutligen ett som väljer bland dina olika separata Nätverk.Sv:Lära neurala nätverk
Med risk för att verka otrevlig, men är du duktig på NN? Jag tycker att det borde finnas någon bättre metod, men om du verkligen kan dina saker så får det väl bli så här som det är.
Det här låter väldigt luddigt men... Som det är nu tränar man ju genom att säga att det här är rätt, det här är rätt, det här är rätt osv. Det borde istället finnas något sätt att "straffa" närdet avviker från det förväntade. Som den mänskliga hjärnan, vi lär oss multiplikationstabellen genom "det här är rätt"-repetition men vi lär oss att inte slicka på lyktstolpar genom en enda "straffning". Ok, det där var oförståligt! Sv: Lära neurala nätverk
Ingen fara! =)
Nej, jag kan inte påstå att jag har någon egentlig större erfarnhet, nästan bara väldigt grundläggande grejer. Däremot är jag intresserad av NN och annan AI, har hyfsat mycket erfarenhet inom matematisk modellering, och gillar att spekulera... =)
Har även läst en del böcker om AL och liknande.
<b>>Jag tycker att det borde finnas någon bättre metod, men om du verkligen kan dina saker så får det väl bli så här som det är.</b>
Rent principiellt tror jag nog att det är så man måste göra. I och med att du kan få väsentligt skilda resultat i ganska lika fall, så borde det vara svårt att se till att just de fallen fungerar...
<b>>Det här låter väldigt luddigt men... Som det är nu tränar man ju genom att säga att det här är rätt, det här är rätt, det här är rätt osv. Det borde istället finnas något sätt att "straffa" närdet avviker från det förväntade. Som den mänskliga hjärnan, vi lär oss multiplikationstabellen genom "det här är rätt"-repetition men vi lär oss att inte slicka på lyktstolpar genom en enda "straffning". Ok, det där var oförståligt! </b>
Nej då, jag hajar. Jag kan inte speciellt mycket om backpropagation; men som jag förstår det så har du ett output, och när det outputet är bra, så "belönar" du nätet. I princip kunde du ju ha ett slags inverterat output utöver det; alltså ett output som säger "gör detta", och ett output som säger "gör absolut inte detta", och belöna när det visar rätt?
Sen har jag en fundering - du vill simulera fram startvärden?
Spelar det någon roll om du har ett hundratal olika stimuli som du behöver testa med?
Du behöver ju bara göra det en gång?
Om inte annat för att ge ideer... =)Sv:Lära neurala nätverk
Spelar det någon roll om du har ett hundratal olika stimuli som du behöver testa med?
Du behöver ju bara göra det en gång?
Om inte annat för att ge ideer... =)</b>
Problemet är att det är flera tusen djur som skall tränas. Annars får de ju samma "gener" allihop och då funkar det inget vidare.Sv: Lära neurala nätverk
Rent spontant borde du väl kunna göra en träning per art, ge alla inom samma art samma gener. Sen skapar du variationer genom mutation. Jag har för mig att det är en hyfsat vanlig metod inom AL. Man skippar så att säga några miljoners år evolution, och låter alla individer vara hyfsat fungerande från början. Sen muterar man dem regelbundet, och snart har man en hyfsat heterogen population.Sv:Lära neurala nätverk
Sv: Lära neurala nätverk
Min /max behöver inte vara det mest gynsamma tillvägagångssättet. Att variera sig så lite som möjligt för att byta output är nog mer effektivt. Det är en naturlig egenskap hos neurala nätverk att finna kontinuerliga funktioner. Det gäller alltså för dig att återskapa den _kontinuerliga_ funktion som din mappning avser. Sv: Lära neurala nätverk