Você quis dizer uma parte do povo que procura evoluir e ser inteligente. Porque a outra parte do povo, só procura acompanhar o que não deve. 🤷♂️. É lamentável, se na minha infância houvesse informações fáceis assim, nem imagino como eu seria hoje. Os jovens de hoje desperdíça muito tempo com bobagem, onde nem imaginam como era se comunicar alguém à distância, esperando essa pessoa receber a carta enviada e remeter de volta.
Me too, it was able to simplify the problem by reducing its actuators (output). It basically obtained only one threshold, between default (now a ducked default) and jump.
If you notice, this is because the Size indicator reads "0" for birds, so it has to learn to expect a bird coming at it at any moment whenever there isn't a cactus en route, rather than time its ducks more deliberately.
Interessante é como o virtual imita o real. Pensem na quantidade de vidas e gerações que passaram durante milhões de anos nesta terra, para que todas estas espécies aprendessem a sobreviver. Quantas tentativas e erros foram precisos ao longo de nossas histórias? Maravilhoso isso.
***** Essa coisa aí de evolução química já caiu. O experimento de Miller foi feito com os gazes errados; eles refizeram o experimento com os gazes certos e não deu em nada.
***** Cara, voce leu o que eu disse? Eu disse que refizeram o experimento com os gazes certos e não deu em nada. Miller fez o experimento com os gazes que os químicos da época acreditavam formar a atmosfera, mas foram feitos novos estudos e concluíram que esses gazes não representavam a atmosfera primitiva de fato. Então refizeram o experimento com os gazes certos e não deu em nada, nem aminoácidos.
é incrível ver que a máquina realmente aprendeu como o processo evolutivo natural, um indício interessante é que o dinossauro praticamente fica abaixado se não há obstáculo que faz todo sentido lógico. Talvez por uma abstração humana achamos que ele tenha necessariamente que ficar em pé após cada jump mas se parar para analisar isso diminui o tempo de reação para uma ameaça que venha de cima! Fantástico, ótimo trabalho!
+Dellean Santos (Taw) Foi exatamente o que pensei! É interessante ver que para nós as coisas "parecem" óbvias, para elas, é mais uma possível possibilidade! Obrigado
+Ivan Seidel Tambem pensei nisso assim que vi o dino abaixado todo tempo.INCRÍVEL!!!Adorei esse vídeo kara.É a primeira vez que vejo algo assim.Parabéns,e obrigado mesmo pelo vídeo!
Pessoal não entendeu porquê que o dinossauro corre abaixado, caraca, pessoal, o Ivan explicou isso desde o início, é porquê é um algorítmo NINJA, e como o dinossauro imita um ninja, ele estava tentando correr com os braços para trás igual no Naruto.
Interesting how the AI learned to hold down by default. There's no penalty for holding down so it could basically ignore when flyers came by. There is a penatly for jumping at the wrong time. Very nice!
OuterRem I See what you Did there.... better then my One Genome in Mario Kart.... it corrected to Drive into A Pipe ON IT'S OWN. That was not the goal, It Did it anyways lol.
In fact, there are chances that a super intelligent AI will have to create a simpler AI to get a higher score when it can't connect to the internet. Being super intelligent isn't the best thing to be when playing simple games, i guess a bird trained to play dinosaur to win food could become even better than humans.
I like how this things figured out that it's easier to just run ducking since this function is absolutely redundant from the game designing point of view :D
The amount of physical energy to hold down a key is far less valuable than the mental energy you have to spend to duck on reaction. Also your physical energy is basically inexhaustable withing this game while your mental energy is limited and a lack of mental energy spend on jumping on reaction eventually determines when you will mess up. Your human strategy is therefor flawed. Your genome should be dismissed.
Olha que safado! Parece que ele entendeu que ao invéz de tomar a decisão de pular ou abaixar é mais facil seguir abaixado e só pular quando necessário.
Sim, isso mostrou que talvez era desnecessário o output "Nothing", só não sei se a ausência desse output criaria mais ou menos caos em relação às gerações. Possivelmente estabelecendo o ponto de equilíbrio no 0.5 e a mudança de decisão entre "UP" e "DOWN" no 0.6
Pois é. mas se o autor tivesse feito um sistema de exaustão/ esforço para a rede utilizassem os comando o mínimo de tempo possível, ele não teria feito isso.
This is incredibly amazing and mind-blowing. I have no words to amount to the grade of astonishment I feel by watching this material, the explanation, and everything packed together. It's a stroke of genius, you are brilliant!
Incrível como ele aprendeu a abaixar logo depois de saltar, ele tem mais chance de sobreviver do que tentar "processar" apenas das vezes que vier um peterodatilo, é exatamente assim que a evolução biológica acontece também. Vídeo incrível, tive muitas ideias a respeito do assunto
When the dino died at the end, I felt a piece of my heart being chipped away...Rest In Piece Google Dino AI who just wanted to finish the seemingly never ending game.....you will be forever missed....
O interessante é que vc usou os três fatores imprescindíveis da evolução biológica (seleção natural, mutação e reprodução sexuada) pra desenvolver esse programa. A bioinspiração parece ser o melhor caminho pra robótica e inteligência artificial.
Cara tu é foda. Graças a você agora finalmente esta começando a entrar na minha cabeça como funciona esse negócio de inteligencia artificial. Parabéns e sucesso pra ti.
Que coisa mais interessante! Não entendo quase nada do assunto você usou o Node.js para mapear a tela, e fazer os genomas serem selecionados e misturados. Mas no caso, você quem programou os dois primeiros genomas? E isso foi feito no Node.js? E qual curso você faz Ivan?
Pelo que entendi Rafael, o próprio jogo determina os primeiros valores. No caso, velocidade sempre seria a mesma, distancia e tamanho do obstáculo, são aleatórios. O que o programa faz é, tentar pular ou abaixar, baseado nestes valores. ^^
As usual on the interwebs, when you think of doing something it's highly likely someone as already done it. Having had this dinosaur appear a couple too many times, I had thought of evolving a neural network to beat the game or at least perform better than I do. I'm happy to see you did it and the way you explain how you did it is great as well. I like the fact you used English subs and the style of your presentation is very clear and neat. It reminds me of my work on generic algorithms and neural network back in the days ([2004-2009]) and I'm happy to see folks still having fun with them for custom short projects. As for your ninja, it's funny to see how it copes with birds : always crouch except when you need to jump (in which case a low flying bird is no different than a cactus and high flying birds are a non-problem). Nice trick your GA found there :D
I am so grateful that this video exists because I never fully understood Genetic ANNs before watching and (with the help of Google Translate and UA-cam captioning) this video explained the concept in greater detail and clarity than I'd ever seen before or since. I have since programmed an AI to play Snake and am trying to teach another how to pilot spaceships in a homemade space battle strategy game. Not quite awful at either task x)
Dude, I'm genuinely impressed. You just opened my mind to the world of Artificial Intelligence. Thank you so much for doing this. It is so well presented, so well put that it frankly blew my mind. Great work.
Olha, achei realmente brilhante. Já tinha tido contato com redes neurais e etc., e é sempre muito bom ver conteúdos como este em português. Achei inclusive que fez bem em tratar do vídeo de forma bem simples, ensinando, com slides, setas e etc. Mas eu gostaria muuuuuuito, e tenho certeza que muitos outros também gostariam, se você pudesse compartilhar mais alguns detalhes. Por exemplo, ok, tem as 3 entradas, mas como que elas entregam o tal valor entre 0 e 1? Elas são colocadas em funções aleatórias, com pesos aleatórios, ok, mas como você fez isso programando? Ou sei la, pq 12 "filhos" para serem testados? Ou como que o programa capta esses 3 valores de entrada? Como você criou esses sensores pra isso? São perguntas que eu reeeeealmente gostaria muito de entender! Obrigado pelo vídeo!!
Ele deixou os códigos fontes na descrição (acredito que a essa altura do campeonato vc já os tenha baixado). Estou olhando eles agora mesmo. Portanto tem sim como saber quais os processos que ele usou para fazer funcionar, ou seja, suas perguntas já teem respostas. Abrçs
@@fernando8145 cara, desculpa, eu discordo. Esse não é um vídeo feito para pessoas que já entendem muito da area. Ele nitidamente é um vídeo para iniciantes, e por isso se esforçou tanto em deixar as coisas bem explicativas. Eu ainda não manjo da programação disso. Não sei quais programas ele usou, como criou os sensores, as funções e etc. Olhar o codigo fonte não vai ajudar alguém que está iniciando no assunto agora... Por isso acho que seria interessante da parte dele ensinar esse tipo de coisa, mesmo que em outro vídeo, entende?
Parabéns Ivan pelo trabalho, ficou show de bola. Só não entendi como você fez para mapear a tela e identificar cada objeto, poderia explicar por gentileza?
Olá Diego, Utilizo a leitura dos pixels da tela, e leio como se fosse um 'raio'. Indo em uma direção, a partir de um ponto, e verificando a distância até a cor específica da busca.
interessante essa cópia do jogo verdadeiro, e hoje em dia esta diferente. Ex: nesse seu modo de jogo [ Cópia ] não ficou a noite, isso eu reparei muito bem :/
Eu não entendo muito da área de software nem programação, porem sempre curti a ideia de IA é vc apresentou um conceito que para mim é esplêndido. A maioria das pessoas e artigos que vejo mostram a IA como uma função de leitura, onde de alguma forma que não explicam as IAs deles aprendem tudo apenas vendo, o que eu já perco toda a graça de terminar de ver, seja filme, livro ou artigo... Você mostrou o que eu acredito que deva ser uma IA verdadeira, aquela que segue o modelo como nos apredemos: ou seja, errando, erra e aprende até fazer o correto... Não existe outra forma, pois desde os primórdios só ficamos bom no que fazemos que é aprender, errando, todos inventos da humanidade foi por meio de muitos erros, e você conseguiu fazer uma IA com um conceito que se aplicado a uma função mais complexa poderá fazer coisas incríveis pois está sempre em constante aprendizado. Parabéns pelo vídeo, incrível.
Isso representa a velha máxima, é errando que se aprende. Na verdade, se for ver bem, o ser humano é assim também. Será que somos meras máquinas pré-programadas que pensam ter uma inteligência própria? kkk
Tispaccoilculo92 thanks, your solution work. I really doesn't know about that, 'cause every youtubers set black/white subs and I doesn't need that before
Três conclusões: 1 a mais óbvia: a ia aprendeu que ficar sempre abaixado é uma técnica eficiente, já que não a causa a morte sem querer e salva de mais cálculos com os pterodáctilos, ou seja, mais gerações. 2 após o sensor de distância ser resetado, ou seja, o dinossauro abaixa automaticamente para descer ao chão de novo. E isso define a 3 conclusão: o sensor de tamanho começa a ser ignorado, já que o progama calcula a posição de distância para pulo mínimo, efetuando a conta que a quanto a velocidade aumenta, uma porcentagem da distância de pulo mínimo é adicionada. Ele sempre fará isso pois com a função observada na conclusão 2, não há perigo de um erro de falta de espaços pelo próximo pulo. Esse vídeo é bom até hoje!!!
Thank you very much Ivan, I personally love making adaptive trainers and I absolutely enjoyed what you have made. I also learned the genetic algorithm concept in probably the simplest way possible ... Thank you.
This brings me so much joy... Watching a computer program learn stuff like that! Watch the activation bar of the ninja-generation. It taught itself to always duck but when an obstacle comes closer it gradually increases until it reaches the threshold and then it jumps... I am amazed. Now I understand why you could have made those thresholds anything: the algorithm will adapt itself to it... It will learn the feasible value for the 'activation' and the threshold does not matter. Thank you for this wonderful demonstration, greetings from the Netherlands!
This is why I believe our reality could really be just "a computer simulation" of other greater beings that "coded" an AI and our universe for research purposes XD
Me too. Despite the limitations the humanity faces now, It seems that in the long long run everything can be crafted. What if are we? This shit amazes me
Eu aprendi um pouco e se pudesse te pagaria para fazer um curso completo, explicando do seu jeito para todos aqui no UA-cam, ou seja decodificando o conhecimento, com a sua rede neural! Uma dúvida leiga de quem pode não ter entendido direito, os cactos são aleatórios ou sempre seguem a mesma sequência quando se começa o jogo na primeira vez? Se os cactos são aleatórios sempre, é como se o dinossauro aprendesse a trilhar todas as estradas, se não são, é como se ele aprendesse apenas esse caminho.
+DocumentariosCiencia Os cactos e pássaros são todos aleatórios. Isso dificulda um pouco a aprendizagem, mas de certa forma "generaliza" mais o "conhecimento" adquirido...
Opa ivan tranquilade? poderia me ajudar? meu amigo criou um jogo do dino no qual os obstaculos tem cores diferentes do dino e os passaros pulam um pouco mais alto,em qual parte do codigo eu faço alterações de forma que seja fucional nessa situação?
"we apply randomness in a random way, by choosing randomly some value, and adding some random value to it" lol but seriously, awesome work! I am really interested in genetic algorithms and this video was very clarifying
I don't even know what language you are speaking but your video finally allowed me to understand simple neural networks - something every English video failed to do so far.
It's interesting that it always ducks because the duck function, unlike the jump, can be held down infinitely without having to re-initiate it so it figured it's more beneficial to keep it held down
seriously? first of all, not all of us who watch this video is american (speaking english doesn't mean we're american stop stereotyping people), and second of all some of us have hoh which is why subtitles are needed for us to understand, and third this is a video about a.i. programming i don't see the importance of learning Portuguese languange for the sake of watching this video, and even if it's one of the most spoken language the chances of using the language is really low(unless you're in a area where communicating with portuguese are a necessity.)
Mandou muito mlk! Parabéns!! No final das contas, quantos neurônios você usou? Quantas camadas tinha cada neurônio? Você fez alterações nesses valores para ver se alcançava resultados melhores?
+Eduardo Koch this is a big question. The "information" about the knowledge of the network is somehow coded in the weights and the connections of the neural net, but it's not immediately visible. You would need a heck of abstraction to figure out what variables you need, what exact steps (like if-then, while, for loops), etc. I don't think you can "extract" that information and write a code with that. If you could, it would be immensely useful: think about a neural net that, given a pair of catheti, learn to calculate hypotenuse. If you could somehow translate that into code, you could derive the Pythagorean Theorem! This is a very silly example, since the neural net can be represented as sum of functions, so I believe that whit a bit of calculus you could derive the formula, but the point still holds: if you could translate the mess of weights and connections of the net into code, the neural net could teach you about the problem in a way that you could logicly understand
Muito obrigado Ivan, por dividir seu conhecimento. Não sei nada sobre I.A mas graças a você pude aprender um pouco, é difícil encontrar esse assunto aqui no Brasil .
As far as I understand, no. Flappy Bird has different inputs that are used for control and is laid out in a different way. So the code needs to use these inputs and respond to the signals differently. We identify these easily ourselves but a program cannot do this easily. Also, this program has learned to play the dino game, so it would attempt to play the dino game in flappy bird, which obviously wouldnt work. If you changed these things and set it trying to play flappy bird, then sure, it could learn how to do it.
Parabéns pelo vídeo. Excelente qualidade e excelente didática. Você poderia me falar qual o software que você usou pra desenvolver os slides da parte teórica? Valew. Abraço
Não temos conteúdos como esse em português, foi uma experiencia excelente ver teu vídeo. Por mais videos assim, o publico brasileiro agradece.
e português
Você quis dizer uma parte do povo que procura evoluir e ser inteligente. Porque a outra parte do povo, só procura acompanhar o que não deve. 🤷♂️.
É lamentável, se na minha infância houvesse informações fáceis assim, nem imagino como eu seria hoje. Os jovens de hoje desperdíça muito tempo com bobagem, onde nem imaginam como era se comunicar alguém à distância, esperando essa pessoa receber a carta enviada e remeter de volta.
I like how it learned to constantly stay ducked down instead of ducking each time the flying dinosaur comes down.
Me too, it was able to simplify the problem by reducing its actuators (output). It basically obtained only one threshold, between default (now a ducked default) and jump.
Hehh, yes, and after all, the (non-bird) upgrades to real dinos also chose to evolve four-legged locomotion! :)
If you notice, this is because the Size indicator reads "0" for birds, so it has to learn to expect a bird coming at it at any moment whenever there isn't a cactus en route, rather than time its ducks more deliberately.
I like your profile pic.
It might not be the smartest move. I play only with spacebar and an achieve 3000+ score....
I thought it was interesting that it decided to always duck so all it had to do was jump.
Cody is everywhere ! I'm french and love your videos, they are really amazing !
Hey Cody! Didn't know you were into programming
I was just watching one of your videos when this came up as a suggested one...
Always ducking is the best way to deal with those undetectable birds...
My bit.trip runner tactic :P
O que aprendi com este vídeo:
Que são os obstáculos que nos fazem crescer.
Que é melhor ir abaixado desde o começo.
kkkkkkkkk boa.
kkkkk, esse algoritmo ninja sabe das coisas.
Em outras palavras...
Não recue diante dos obstáculos, e mantenha-se sempre humilde! kk
Concordo, só que nós voltamos a cometer o error
Bruno Santos WTF!!!!
Um dos poucos excelentes conteúdos em português. Parabéns!!!
Interessante é como o virtual imita o real. Pensem na quantidade de vidas e gerações que passaram durante milhões de anos nesta terra, para que todas estas espécies aprendessem a sobreviver. Quantas tentativas e erros foram precisos ao longo de nossas histórias?
Maravilhoso isso.
O dinossauro foi projetado para que evoluisse, será que isso se aplica ao real também?
***** Então a vida foi projetada, inclusive, para que evoluisse, correto?
***** Essa coisa aí de evolução química já caiu. O experimento de Miller foi feito com os gazes errados; eles refizeram o experimento com os gazes certos e não deu em nada.
Bem, pelo que sei em Marte foi encontrado bactérias fossilizadas no chão, podem não ter encontrado Bactérias vivas, mas mortas é certeza.
***** Cara, voce leu o que eu disse? Eu disse que refizeram o experimento com os gazes certos e não deu em nada. Miller fez o experimento com os gazes que os químicos da época acreditavam formar a atmosfera, mas foram feitos novos estudos e concluíram que esses gazes não representavam a atmosfera primitiva de fato. Então refizeram o experimento com os gazes certos e não deu em nada, nem aminoácidos.
é incrível ver que a máquina realmente aprendeu como o processo evolutivo natural, um indício interessante é que o dinossauro praticamente fica abaixado se não há obstáculo que faz todo sentido lógico. Talvez por uma abstração humana achamos que ele tenha necessariamente que ficar em pé após cada jump mas se parar para analisar isso diminui o tempo de reação para uma ameaça que venha de cima! Fantástico, ótimo trabalho!
+Dellean Santos (Taw) Foi exatamente o que pensei! É interessante ver que para nós as coisas "parecem" óbvias, para elas, é mais uma possível possibilidade! Obrigado
+Ivan Seidel Tambem pensei nisso assim que vi o dino abaixado todo tempo.INCRÍVEL!!!Adorei esse vídeo kara.É a primeira vez que vejo algo assim.Parabéns,e obrigado mesmo pelo vídeo!
+Ivan Seidel Será que faltou mais tempo de aprendisado para o dino ,ou o processamento não suportou pra que o dino aprendesse infinitamente o jogo.
+Claudio Carvalho eu acho que foi o limite do processamento pq dá pra ver que o Dino pulou, mas um pouco atrasado.
Verdade mesmo,ele realmente pulou!!!kkk.Já imaginou turbinar esse processamento hein!Puts!Como diria nas antigas,vai virar o
JIRÁIA!!
Pessoal não entendeu porquê que o dinossauro corre abaixado, caraca, pessoal, o Ivan explicou isso desde o início, é porquê é um algorítmo NINJA, e como o dinossauro imita um ninja, ele estava tentando correr com os braços para trás igual no Naruto.
Quando o autismo bate e você quer comentar a mesma merda em duas línguas.
547265626f72 por que não aproveita e responde no outro em outra língua também? huehuehue
Agora já fechei e o teu comentário estava lá em baixo.
kkk eu ri disto
KKKJJJJ
Interesting how the AI learned to hold down by default. There's no penalty for holding down so it could basically ignore when flyers came by. There is a penatly for jumping at the wrong time. Very nice!
YOU CAN DUCK?!
I KNOW, RIGHT?
Bruno Henriques Just got a new high score B-)
I just checked....oh wow...
Thank god I wasn't the only failed genome... **wipes sweat from brow**
OuterRem I See what you Did there.... better then my One Genome in Mario Kart.... it corrected to Drive into A Pipe ON IT'S OWN. That was not the goal, It Did it anyways lol.
Simplesmente INCRÍVEL esse projeto, a explicação foi super ótima, meus parabéns
Alibabah
Hum?
Hã? Do que voce(s) estão falando?
If you don't speak portuguese, please speak in english or in your native language, ok?
Hm... ok...
windows_x_seven MIGO SE TÁ BEM ?
i really appreciate it that you talk in your mother language and sub it english
instead of not subbing and talking in broken english
well done
Thank you Melle =)
Subs over Dubs yooo
MrUnkownGuyAC what about subs and dubs, looking at you Netflix
better broken and speaking 2 languages than perfect but only 1 :)
@@revwhyte OOOOOOOOOH
When a super intelligent AI comes to life and can't connect to the Internet... you bet it's going to beat that score.
In fact, there are chances that a super intelligent AI will have to create a simpler AI to get a higher score when it can't connect to the internet. Being super intelligent isn't the best thing to be when playing simple games, i guess a bird trained to play dinosaur to win food could become even better than humans.
hlw Simply awesome (:
The dinosaur must be tired now...
wtf that dinosaur can duck? I did not know that.
Same
Did you play this game for longer than 10 seconds?
+Валерий Пикалов (ASHPD) i managed to get to around 1500 actually. It's not that hard to play without ducking.
That was new to me too! haha, It's also awesome that the A.I. learned (assuming it id) to stay tucked whenever it's not jumping
just press down arrow key
I like how this things figured out that it's easier to just run ducking since this function is absolutely redundant from the game designing point of view :D
The amount of physical energy to hold down a key is far less valuable than the mental energy you have to spend to duck on reaction. Also your physical energy is basically inexhaustable withing this game while your mental energy is limited and a lack of mental energy spend on jumping on reaction eventually determines when you will mess up.
Your human strategy is therefor flawed. Your genome should be dismissed.
Olha que safado! Parece que ele entendeu que ao invéz de tomar a decisão de pular ou abaixar é mais facil seguir abaixado e só pular quando necessário.
ne kkkkkkkkkk
acho que eh pq ele nao mapeou os passaros, soh os objetos que vem por baixo.
KKK
Sim, isso mostrou que talvez era desnecessário o output "Nothing", só não sei se a ausência desse output criaria mais ou menos caos em relação às gerações. Possivelmente estabelecendo o ponto de equilíbrio no 0.5 e a mudança de decisão entre "UP" e "DOWN" no 0.6
Pois é. mas se o autor tivesse feito um sistema de exaustão/ esforço para a rede utilizassem os comando o mínimo de tempo possível, ele não teria feito isso.
and... I didn't even know that birds even existed. Welp, I suck.
Miami Ninja exatamente como eu (just like me)
Maybe you only played the old version. There were no birds or night and day in the older versions
Miami Ninja i knew there where some but i always died when i reached them
i didn't know you can duck. only knew you can jump with space bar XD
lol me too
This video, despite not being in English, is a great example of a clear, beautiful and informative presentation and explanation. Well done sir!
Skynet is real! Soon virtual AI dinosaurs will rule the earth.
kkkkkkkk well possible, search for genesis va an youtube
True.
This is incredibly amazing and mind-blowing. I have no words to amount to the grade of astonishment I feel by watching this material, the explanation, and everything packed together. It's a stroke of genius, you are brilliant!
Ufaaa, por 2 pontos ele não ultrapassou meu recorde. Posso dormir em paz.
uashuash
all google chrome dinosaur videos:
1%: *something about the video*
99%: OMG U CAN DUCK?
Incrível como ele aprendeu a abaixar logo depois de saltar, ele tem mais chance de sobreviver do que tentar "processar" apenas das vezes que vier um peterodatilo, é exatamente assim que a evolução biológica acontece também. Vídeo incrível, tive muitas ideias a respeito do assunto
When the dino died at the end, I felt a piece of my heart being chipped away...Rest In Piece Google Dino AI who just wanted to finish the seemingly never ending game.....you will be forever missed....
Parabéns mano! Um dos melhores vídeos que vi no YT nos últimos tempos
O interessante é que vc usou os três fatores imprescindíveis da evolução biológica (seleção natural, mutação e reprodução sexuada) pra desenvolver esse programa. A bioinspiração parece ser o melhor caminho pra robótica e inteligência artificial.
2:08 In the captions it says "life"
With inverted commas.
Yup.
Nexus so called life of a programist
Inverted commas are called quotation marks
Jamez Martinez k
en.oxforddictionaries.com/punctuation/inverted-commas-quotation-marks or inverted commas
Walking Talking Stephen Hakwing I appreciate the time you took to get the link, but I need a dot org or a dot gov website to backup that claim.
Parabéns, Ivan. Para mim, foi a aula mais didática que já assisti sobre essa abordagem de IA.
Cara tu é foda. Graças a você agora finalmente esta começando a entrar na minha cabeça como funciona esse negócio de inteligencia artificial. Parabéns e sucesso pra ti.
O interessante é que esse Dinossauro com certeza é um sayajin! sempre se levantando mais forte!
Que coisa mais interessante! Não entendo quase nada do assunto você usou o Node.js para mapear a tela, e fazer os genomas serem selecionados e misturados. Mas no caso, você quem programou os dois primeiros genomas? E isso foi feito no Node.js?
E qual curso você faz Ivan?
ward
ward
Os valores dos primeiros genomas, eu acredito, foram cridos aleatoriamente. Eles não precisavam ser "bons".
WARD
Pelo que entendi Rafael, o próprio jogo determina os primeiros valores. No caso, velocidade sempre seria a mesma, distancia e tamanho do obstáculo, são aleatórios. O que o programa faz é, tentar pular ou abaixar, baseado nestes valores. ^^
And now i know, what programmers do then they have no internet X-D Thanks, great video!
That's why we know how to fix the Internet Modem... dam.
Loving the super sad music playing while the dinosaur jumps and ducks for its life. *tears up* It's beautiful.
As usual on the interwebs, when you think of doing something it's highly likely someone as already done it. Having had this dinosaur appear a couple too many times, I had thought of evolving a neural network to beat the game or at least perform better than I do. I'm happy to see you did it and the way you explain how you did it is great as well. I like the fact you used English subs and the style of your presentation is very clear and neat. It reminds me of my work on generic algorithms and neural network back in the days ([2004-2009]) and I'm happy to see folks still having fun with them for custom short projects.
As for your ninja, it's funny to see how it copes with birds : always crouch except when you need to jump (in which case a low flying bird is no different than a cactus and high flying birds are a non-problem). Nice trick your GA found there :D
Amazing. Also clean and simple presentation, very nice!
Thanks ;)
It looks like it can't see the higher birds? So it just ducks all the time to avoid dying to them I guess.
Oh yeah, i was wondering why it did that. it doesn't count fitness when it ducks under the birds, only when it jumps.
It can. It realizes that there is no reason not to duck all the time.
It know there are birds but , judging by that distance meter I don't think it can detect locations of specific higher birds.
The sensor inputs did not change when there was a bird in the air. It only knows about things that are on the ground.
The higher birds are kind of a red herring anyway.
What the... you can crouch???
htf5555 yep (down key)
Same reaction as mine haha
htf5555 i didnt know that too dont feel stupid
UA-cam favor recomendar esse vídeo pois agora é o boom das ias e ele possui melhor conteúdo que todos os atuais pra informar os novos aventureiros.
Cara, espetacular! To estudando IA na faculdade e não é fácil encontrar contudo assim de primeira em português. Obrigado de coração!
Estou sem palavras, isso é a coisa mais incrível que já vi
Listen to the final song on 2x speed
Sounds great! :)
holy fuck.
Something anime like
awsome
+Mitchel Martens Small World
Why are my eyes on tears watching the dino getting to 2000? xD
How does Portuguese sound to you?
I am so grateful that this video exists because I never fully understood Genetic ANNs before watching and (with the help of Google Translate and UA-cam captioning) this video explained the concept in greater detail and clarity than I'd ever seen before or since.
I have since programmed an AI to play Snake and am trying to teach another how to pilot spaceships in a homemade space battle strategy game.
Not quite awful at either task x)
noice
Dude, I'm genuinely impressed. You just opened my mind to the world of Artificial Intelligence. Thank you so much for doing this. It is so well presented, so well put that it frankly blew my mind. Great work.
que bonito ver essa evolução
+Pedro Oliveira é bem maneiro ficar viajando enquanto assisto ele treinando haha
+Ivan Seidel kk
Olha, achei realmente brilhante. Já tinha tido contato com redes neurais e etc., e é sempre muito bom ver conteúdos como este em português. Achei inclusive que fez bem em tratar do vídeo de forma bem simples, ensinando, com slides, setas e etc. Mas eu gostaria muuuuuuito, e tenho certeza que muitos outros também gostariam, se você pudesse compartilhar mais alguns detalhes. Por exemplo, ok, tem as 3 entradas, mas como que elas entregam o tal valor entre 0 e 1? Elas são colocadas em funções aleatórias, com pesos aleatórios, ok, mas como você fez isso programando? Ou sei la, pq 12 "filhos" para serem testados? Ou como que o programa capta esses 3 valores de entrada? Como você criou esses sensores pra isso? São perguntas que eu reeeeealmente gostaria muito de entender! Obrigado pelo vídeo!!
Ele deixou os códigos fontes na descrição (acredito que a essa altura do campeonato vc já os tenha baixado). Estou olhando eles agora mesmo. Portanto tem sim como saber quais os processos que ele usou para fazer funcionar, ou seja, suas perguntas já teem respostas. Abrçs
@@fernando8145 cara, desculpa, eu discordo. Esse não é um vídeo feito para pessoas que já entendem muito da area. Ele nitidamente é um vídeo para iniciantes, e por isso se esforçou tanto em deixar as coisas bem explicativas. Eu ainda não manjo da programação disso. Não sei quais programas ele usou, como criou os sensores, as funções e etc. Olhar o codigo fonte não vai ajudar alguém que está iniciando no assunto agora... Por isso acho que seria interessante da parte dele ensinar esse tipo de coisa, mesmo que em outro vídeo, entende?
Parabéns Ivan pelo trabalho, ficou show de bola. Só não entendi como você fez para mapear a tela e identificar cada objeto, poderia explicar por gentileza?
Olá Diego,
Utilizo a leitura dos pixels da tela, e leio como se fosse um 'raio'. Indo em uma direção, a partir de um ponto, e verificando a distância até a cor específica da busca.
interessante essa cópia do jogo verdadeiro, e hoje em dia esta diferente. Ex: nesse seu modo de jogo [ Cópia ] não ficou a noite, isso eu reparei muito bem :/
Olha a data do video cara .... Essa mudança de dia e noite pode ter chegado em uma atualização mais recente .
hands down, this is the best explanation of machine learning I've ever seen. Thank you!
Eu não entendo muito da área de software nem programação, porem sempre curti a ideia de IA é vc apresentou um conceito que para mim é esplêndido.
A maioria das pessoas e artigos que vejo mostram a IA como uma função de leitura, onde de alguma forma que não explicam as IAs deles aprendem tudo apenas vendo, o que eu já perco toda a graça de terminar de ver, seja filme, livro ou artigo...
Você mostrou o que eu acredito que deva ser uma IA verdadeira, aquela que segue o modelo como nos apredemos: ou seja, errando, erra e aprende até fazer o correto... Não existe outra forma, pois desde os primórdios só ficamos bom no que fazemos que é aprender, errando, todos inventos da humanidade foi por meio de muitos erros, e você conseguiu fazer uma IA com um conceito que se aplicado a uma função mais complexa poderá fazer coisas incríveis pois está sempre em constante aprendizado.
Parabéns pelo vídeo, incrível.
Isso representa a velha máxima, é errando que se aprende.
Na verdade, se for ver bem, o ser humano é assim também.
Será que somos meras máquinas pré-programadas que pensam ter uma inteligência própria? kkk
famoso paradoxico
olha! tem eu ali! o/
parabéns, vc tá famoso
¿¿Como vc está aqui eu estou com enternet? ??
white subtitles on white backgound. Nice!
Thanks youtube for that ;)
You can change the colors... It's not rocket science.
Settings>Subtitles>Options gg
change colours. best comment 2016. wow
Tispaccoilculo92
thanks, your solution work. I really doesn't know about that, 'cause every youtubers set black/white subs and I doesn't need that before
Três conclusões: 1 a mais óbvia: a ia aprendeu que ficar sempre abaixado é uma técnica eficiente, já que não a causa a morte sem querer e salva de mais cálculos com os pterodáctilos, ou seja, mais gerações. 2 após o sensor de distância ser resetado, ou seja, o dinossauro abaixa automaticamente para descer ao chão de novo. E isso define a 3 conclusão: o sensor de tamanho começa a ser ignorado, já que o progama calcula a posição de distância para pulo mínimo, efetuando a conta que a quanto a velocidade aumenta, uma porcentagem da distância de pulo mínimo é adicionada. Ele sempre fará isso pois com a função observada na conclusão 2, não há perigo de um erro de falta de espaços pelo próximo pulo. Esse vídeo é bom até hoje!!!
Thank you very much Ivan, I personally love making adaptive trainers and I absolutely enjoyed what you have made. I also learned the genetic algorithm concept in probably the simplest way possible ... Thank you.
"Chinese play really well things." Thanks for that clarification.
Brazillians.
+Cyan Tear ?
he is brazilian man
He said this in the video.
no, if you don't know portuguese it's good for you to learn before criticize it.
Impressionante! Quais seriam os primeiros passos para começar com Redes Neurais?
Que iniciativa legal.
This brings me so much joy... Watching a computer program learn stuff like that! Watch the activation bar of the ninja-generation. It taught itself to always duck but when an obstacle comes closer it gradually increases until it reaches the threshold and then it jumps... I am amazed. Now I understand why you could have made those thresholds anything: the algorithm will adapt itself to it... It will learn the feasible value for the 'activation' and the threshold does not matter.
Thank you for this wonderful demonstration,
greetings from the Netherlands!
acre simulator
Mitou kkkkkk
UHSDAUHDASUHDASUHADS
O Geek 😂😂😂😂
huashausa
Boa noite. Qual o programa que foi usado para fazer essa apresentação? e alias, parabéns pelo projeto.
quero saber tb kkkk ficou foda
@@BrunoInterlandi acredito q em qual quer programa q da pra por script da pra fazer ( n sei mt sobre isso )
Não sei qual ele usou, mas dá pra fazer igual e até melhor com o After Effects
why did it not go into night mode?
TheFieryGolem 3k score
oh
Not just the contents, but the graphics are amazing, good job!
Cara me amarrei nisso, deve dar maior orgulho criar algo assim e ver acontecer?
Ele se comportando de um jeito inesperado, muito legal.
What is the music during the timelapse? It's beautiful!
Also, how would you handle a value of 1.76 if the neurons can ond go from 0 to 1? log?
soundcloud.com/ivan-seidel/at-night-with-headphones
A way of dealing with it is applying to a limited function like sigmoid: sigmoid(1.76) = 0.8532...
***** Thank you! interesting video.
[ IFDIFGIF ] vai toma no cu
To adorando os gringo ficando com raiva por causa que tu é BR :v
Iguana • Camuflada tô vendo os gringos elogiando o cara
Vocês adoram falar merda do que não existe.
Parabéns pelo vídeo, fiquei interessado no assunto
You are a great teacher. I learned a whole lot of concepts. It wasn't just theory you explained. Thank You!
Show! O zoom e o fade-out no final do vídeo foi emocionante. Eu quase chorei com dó do dinossauro. Parabéns!
I never knew you could duck
This is why I believe our reality could really be just "a computer simulation" of other greater beings that "coded" an AI and our universe for research purposes XD
Me too. Despite the limitations the humanity faces now, It seems that in the long long run everything can be crafted. What if are we? This shit amazes me
Well, our bodies works with "electricity"... technically we are "flesh machines".
How did you make it scan the pixels on the screen to detect the game?
Robotjs github.com/octalmage/robotjs
rj misc Thanks!
rj misc X
Pillow library
Well-made, informative and well structured video.
Wow. You used Node.js! And robotjs - I didn't even know that exists. Thank you, to spectate your work is a joy!
Eu aprendi um pouco e se pudesse te pagaria para fazer um curso completo, explicando do seu jeito para todos aqui no UA-cam, ou seja decodificando o conhecimento, com a sua rede neural! Uma dúvida leiga de quem pode não ter entendido direito, os cactos são aleatórios ou sempre seguem a mesma sequência quando se começa o jogo na primeira vez? Se os cactos são aleatórios sempre, é como se o dinossauro aprendesse a trilhar todas as estradas, se não são, é como se ele aprendesse apenas esse caminho.
+DocumentariosCiencia Os cactos e pássaros são todos aleatórios. Isso dificulda um pouco a aprendizagem, mas de certa forma "generaliza" mais o "conhecimento" adquirido...
Otimização genética de redes neurais pode ser chamado de inteligência?
random english comment for those searching for one.
+LEDE I just translated and created English subs.. Try it out ;)
+Ivan Seidel This is awesome,thanks for sharing :)
Opa ivan tranquilade? poderia me ajudar? meu amigo criou um jogo do dino no qual os obstaculos tem cores diferentes do dino e os passaros pulam um pouco mais alto,em qual parte do codigo eu faço alterações de forma que seja fucional nessa situação?
"we apply randomness in a random way, by choosing randomly some value, and adding some random value to it" lol
but seriously, awesome work! I am really interested in genetic algorithms and this video was very clarifying
30:59 Descanse em paz meu amigo
Só tem gringo aqui mano...
só assim pra gostar de ver esse dinossauro kkk
I don't even know what language you are speaking but your video finally allowed me to understand simple neural networks - something every English video failed to do so far.
He is speaking in Portuguese, fam.
It's interesting that it always ducks because the duck function, unlike the jump, can be held down infinitely without having to re-initiate it so it figured it's more beneficial to keep it held down
Why there are so many people speaking english in here?Do you even understand portuguese?
Cauko the caption of the video is in English..
Cauko Umm.. no. We are using English subtitles.
Oh, I should have guessed that...
That's weird I thought american people didin't like to read subtitles...
Is one of the top 10 most important languages in the world.Just sain'
seriously? first of all, not all of us who watch this video is american (speaking english doesn't mean we're american stop stereotyping people), and second of all some of us have hoh which is why subtitles are needed for us to understand, and third this is a video about a.i. programming i don't see the importance of learning Portuguese languange for the sake of watching this video, and even if it's one of the most spoken language the chances of using the language is really low(unless you're in a area where communicating with portuguese are a necessity.)
This AI is still not close to the level of a human that can reach a score of 5 digits. What went wrong?
only 120 generations, and slow computer.
I think that my computer didn't evolve with the Dino lol
if you program an ai to beat a human it can eaily do that.
you can create a program to play the game perfectly, but this way you let the program learn how to play starting from literally nothing.
Maybe coding could be better, also the computer itself and with more time maybe it would get wayyy better.
Roses are red
Violets are blue
My mom is very beautiful
Me too
Que Foda parabéns, acredito que quase 4 anos depois você junto com seu dinossauro tenha ido muito longe, SUCESSO abs.
Mandou muito mlk!
Parabéns!!
No final das contas, quantos neurônios você usou? Quantas camadas tinha cada neurônio? Você fez alterações nesses valores para ver se alcançava resultados melhores?
video em portugues comentarios em ingles hmmmmm... parece legitimo
project of a gamer seems legit huehue
So, once you have a "winner" you really like, is there a way to generate a CODE (if then else etc) from its 'dna'?
That is a dangerous thought. A winner haha
The winner reaches a score of 2,147,483,647 and crashes chrome lol
Ever heard of long long, bigint, etc?
+Eduardo Koch this is a big question. The "information" about the knowledge of the network is somehow coded in the weights and the connections of the neural net, but it's not immediately visible. You would need a heck of abstraction to figure out what variables you need, what exact steps (like if-then, while, for loops), etc.
I don't think you can "extract" that information and write a code with that. If you could, it would be immensely useful: think about a neural net that, given a pair of catheti, learn to calculate hypotenuse. If you could somehow translate that into code, you could derive the Pythagorean Theorem!
This is a very silly example, since the neural net can be represented as sum of functions, so I believe that whit a bit of calculus you could derive the formula, but the point still holds: if you could translate the mess of weights and connections of the net into code, the neural net could teach you about the problem in a way that you could logicly understand
is there an english version anywhere?
Activate and set english subtitles
The subtitles are white on a white background -> unreadable. :(
GnOOky Go to Settings > Subtitles > Options > Background color and select a color different than white
Thanks a lot!
Vai ter que aprender português uhashuasuhas
Muito obrigado Ivan, por dividir seu conhecimento.
Não sei nada sobre I.A mas graças a você pude aprender um pouco, é difícil encontrar esse assunto aqui no Brasil .
I love the dramatic ending. Beautiful video btw.
Can it play flappy bird?
As far as I understand, no. Flappy Bird has different inputs that are used for control and is laid out in a different way. So the code needs to use these inputs and respond to the signals differently. We identify these easily ourselves but a program cannot do this easily. Also, this program has learned to play the dino game, so it would attempt to play the dino game in flappy bird, which obviously wouldnt work.
If you changed these things and set it trying to play flappy bird, then sure, it could learn how to do it.
When you know 3 languages, and you find a video that you can't understand -_-
OverRatedProgrammer when the video was in your language and you can understand everything
Pedro Gomes ohhh, like this shit is great!
Pedro Gomes, you looks know da wae my bruda
OverRatedProgrammer. Talvez seja porque o vídeo está legendado, eu não sei nenhuma linguagem ainda e entendi o vídeo
Eu sei uma língua e consegui entender.
i have scored over 3000 on this before, (no cheats)
hmmmm is that so, what happens past 800?
i am bored of waiting, it switches between dark and light
yeah, it does
***** lolol must be asian, haha jk
***** cool
Muito bem explicado! Parabéns pelo projeto! Já agora, que programa usou para fazer a apresentação? Obrigado!
Parabéns pelo vídeo. Excelente qualidade e excelente didática.
Você poderia me falar qual o software que você usou pra desenvolver os slides da parte teórica?
Valew. Abraço
Ele utiliza o Keynote
Obrigado Mariana!
How do you duck on android?
Kevin Yeoh on phone there are no pterodactylus
this is the real question..
MrGollum1996 I just played it and they came in when I was at around 600 points.
jump!