HNHacker News
TopNewBestAskShowJobs

TPCrow

15 karma · joined November 22, 2016

submissionscomments
TPCrow··on Backpropagation is a leaky abstraction
As someone who also hand-coded a neural network implementation, forward and back prop as well as an RNN in C, yea "raw numpy" is a joke.

Something I've always hated about people that say "why do I have to write a backprop when TF does it for me?"

Here's why: you go to a company, they want you to incorporate machine learning into their c++ engine. Have fun using numpy, you said you knew machine learning right? implement backprop for me, you can do that right?

TPCrow··on AI Programmer’s Bookshelf
I had the same outlook, however it is for a game I am currently in development.

And for those who are reading this, and are interested in game AI with interest in making true machine learning integrated into their characters, I gope this will help keep you inspired.

So, like you, I had grandeous ideas and vision about adaptive, machine learning approach to controlling my character in a platform-based fighting game. They would learn from previous mistakes and improve themselves, to create a truly interactive AI, one that can challenge the player beyond just memorizing his pre-programmed state machine patterns or giving him inhuman reaction times. Then I ran into the same issues, the game must run at 60 fps, and constant learning cannot be done, so i've implemented a basic AI, but i know every way it will act, nothing is amazing.

Until one day I went back and looked at my AI approach, I realize I could still use machine learning, but perhaps use a smaller neural network, and a different learning algorithm. So, after implementing a combination of reenforcement learning and evolutionary learning. I let them train for a day. Then something amazing happened, and it 's what i imagine a parent feels when their kids learns to do something: it saved itself. Initially, starting out the AI would just spam buttons and usually end up jumping off the platform and killing itself, or stray away from the edge and just not touching the control stick, but this time, he got knocked off and he saved himself.

It was an amazing feeling, I never taught it to do that, but I gave it the ability to learn to do that, and that was extremely liberating.

So i encourage people to not give up on the ML AI for videogames, I know deep mind recently teamed up with blizzard to make a StarCraft2 AI, and that looks awesome.

TPCrow··on OpenAI Universe
I never made that argument.

I made the argument that nearly every single one of this guy's videos are not the least bit helpful in actually learning how machine learning works, and gets viewed based on click-baity title and click-bait thumbnails (attractive girls a lot of the time). Which i will stand by. Every one of them is "how to write an AI that ___" when its importing tensorflow, setting 2-3 hyper parameters then letting it run.

TPCrow··on Logojoy: AI-powered logo creator
>Once you truly know that every problem can be solved by breaking it down into smaller pieces, nothing can stop you.

Also great advice. I've used this mentality to go places I never thought possible.

TPCrow··on Image-to-Image Translation with Conditional Adversarial Nets
Creativity isn't magic.

Humans are not magically creative as much as they'd like to be.

If i ask you to think of a random number, you don't just pull it out of thin air, It can be based on tens to hundres of things: -Should i do a relaly low or high number? -People always use round numbers that end in 0 or 5, maybe i shouldn't do that, or should i to make it seem truer -what other large "random" numbers have a heard? -i remember seeing a number recently, maybe try a modification of that -you used {x} as a random number last time, go similar to that?

All this adds up in that under a second thought you have when i asked you to think of a random number. the literal same thing goes into all creative works, the output is a function of the input.