Nice article, lots of good tidbits and insights. The thoughts on indirect encoding seem like an especially interesting area of research. I actually just finished up a project that used a genetic algorithm to tune some of the hyperparameters of an RNN [1]. I didn't evolve the architecture except which cell to use (LSTM or GRU), but it wouldn't be much of an extension to the proof of concept I coded. Thanks for sharing.
This project was my first go at using the pySC2 API recently released by DeepMind and Blizzard. It takes data scraped from 25,000 human played SC2 replays to build a RNN sequence model that can predict the sequence of unique StarCraftII units/buildings in a 1v1 match. The model is a single layered RNN and I tuned some hyperparameters using a GA implemented using the DEAP python library. There's also a super simple webapp you can use to play with and test your own custom build orders for the game.
Was a really fun project and hopefully some of the work helps others build their own!
Newly graduated from a Masters in Artificial Intelligence, looking for my first professional opportunity to kick-start my career as a data scientist or machine learning engineer.
M.Sc. in Artificial Intelligence new grad, looking for my first professional opportunity to kick-start my new career as a data scientist or machine learning engineer.
I will be graduating with an M.Sc. in Artificial Intelligence in July and am looking for my first professional opportunity to kick-start my new career as a data scientist or machine learning engineer.
Ethics can be a tough thing, and it can take more than just a spine to refuse unethical work. Identifying something as being unethical in the first place can be a challenge for someone new to a discipline. Having a professional community that explicitly teaches and tests you about their Code of Ethics gives you a framework and support network to help you with those decisions. It's also kind of a cultural thing. Having transitioned from chemical engineering to artificial intelligence, I'm amazed at the different cultures regarding ethics. Not having an entity responsible for defining the code of ethics in my new discipline, and the lack of community around it, has made it much more difficult to discuss and challenge the ethical decisions we make. Most of the time, when I bring up ethical discussions, my classmates and professors respond with "that's not our responsibility". When I ask whose responsibility it is, the answer is always "someone else's".
Exactly, having the backing of a profession that expects and mandates you uphold its Code of Ethics is a very powerful thing. Refusing to do work you deem unethical is much easier when you have the support, expectation and legal obligation to do so.
The term "engineer" is regulated in Canada, and only Professional Engineers (PE) awarded a licence by their provincial regulatory body can call themselves as such. Someone who graduates with an engineering degree is usually called an Engineer in Training (EIT), until they become a PE. The reason we regulate a specific word for our profession is because of our relationship with the public, and the ethical and safety promises engineers are regulated to commit to the them. The average person does not have the technical background to judge the proficiency of an engineer, so they must trust in their abilities and morals. In Canada, engineering is a self regulated profession designed to uphold high technical and ethical standards so that we can maintain that trust society gives us. The intention is, that when someone calls them self an engineer, you can have confidence in both their technical ability and moral obligations. To be effective, the standards of the term and definition of who can and can't use it needs to be regulated.
That being said, I normally refer to myself as a chemical engineer (not a chemical EIT). I think the distinction needs to be made when you're interacting with someone that you are offering your engineering services to. For example, when at work I would always sign my emails indicating that I was an EIT.
> The intention is, that when someone calls them self an engineer, you can have confidence in both their technical ability and moral obligations.
I thought the intention was that, even if someone didn't have confidence in both their technical ability and moral obligations, it didn't matter. An engineer is a person whose technical decisions are literally protected by law - if they decide to not sign off on something, they don't have to convince anyone and can't face consequences for it (ahem, Quebec bridge[1]). What you're suggesting is just a byproduct of confidence in the system.
I'm not sure that I fully understand your comment, but what I mean to say is that the intent of regulating the specific word is so that everyone has the same understanding of what using that word entails, when applying it to the profession of engineering. What you say about an engineer's decisions being legally bound are true, but that helps provide confidence in the work engineers do, but isn't the reason for regulating a specific word. I feel like I might be missing something in your comment though, sorry if this doesn't address what you were getting at.
[1] http://cole-maclean.github.io/blog/Evolving%20the%20StarCraf...