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".
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.
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.
I will be graduating with a Master of 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.
Hey HN, this project was done as part of a course we had this semester. I wrote up a quick blog post for it, and posted the final report for those interested in the details. Note that it can take a while to scrape the data from Reddit using their API, and I'm not sure how happy the server will be if this gets somewhat popular, so apologies if the performance is slow.
A good read, thanks! This technique largely inspired a project we did for school this year, a subreddit recommender system with an RNN learning an embedding space for subreddits. I've just finished up exams and am starting work on getting a minimal webapp up for people to play with, but links to the final report and an interactive bokeh plot of the final embedding can be found here: http://cole-maclean.github.io/blog/RNN-Based-Subreddit-Recom...
Agreed, but the linked paper was one of the more talked about ones during the conference, and has a fairly accessible discussion on the topic, including a history of related work in section 1.2 with references to many of Jurgen's papers.
I attended my first NIPS this year, and found Juergen to be a very engaging speaker, with the RNN symposium organized by him and his colleagues being my favorite part of the conference. A popular phrase that was being thrown around during the conference was "learning to learn" or "meta learning", with one of the papers even being titled "learning to learn by gradient descent by gradient descent"[1] Juergen seemed very passionate about the subject and he gave a cool talk around his Godel Machine[2], and sparked interesting conversation during the panel discussion. I wouldn't be surprised if "learning to learn" or "meta learning" replaces "deep learning" as the AI-word of 2017.
I'll throw mine into the mix. Not sure about employers thinking "I need to hire this person", but for me, my personalized dashboard is a nice way to monitor things I'm working on and reflecting on things I've learned.
I was in a strikingly similar position as you at the beginning of this year. In December 2015, I setup a plan to quit my job and take some time to self-learn Artificial Intelligence, when I was accepted into a master's program in Barcelona (UPC's* - assuming it's the same as the one you're considering).
This blogpost outlines what my plan and concerns were about the self-taught route:
Since then, I've been asked why I ultimately pursued the formal degree route, and this was my response:
"Without a formal CS background, I was pretty skeptical about my chances of getting accepted, but I applied anyways. I was so skeptical, that I convinced myself it wouldn't happen and set off to teach myself. But I ended up getting accepted into a Masters program in Barcelona, and I couldn't turn down the opportunity. I love Barcelona as a city, the tuition is reasonable and the program was inline with what I was looking for - a larger focus on application with foundation in theory as opposed to full on theoretical research.
I chose to do the conventional degree because of the above, plus the allure of receiving a piece of paper that people respect. Regardless of my thoughts on the real value of conventional degrees, it's hard to argue against their societal credit.
I'm new to this industry and pretty young, so take everything I say with salt, but my main advice would be to just build cool stuff. Whether you do it at a university or through autodidactism (learned that one from the HN thread), just work on cool projects. My naive hope is that people will care more about stuff you can actually build over a piece of paper with your name on it - but it doesn't hurt to have both."
That was in response to a thread about this guys blog, which gives some further perspective on the self-learning route:
I'd like to add, that I've since decided to do both. I'm using the curriculum I developed for myself with online courses to compliment my formal education from the master's program, which has been working well so far.
ps. If UPC is the program you're looking into, it can be completed in 1.5 years (3 semesters) instead of the full 2. The last semester is dependent on how long it takes to finalize your thesis. Also, if you have questions about the program (again, assuming it's UPC's), my email is available from the site in the first link.
I'm curious what the interest would have been had I linked to the article over the graphic. Unfortunately I'm not sure how I could test that without having a time machine.
Thanks for the detailed response! I think you and others on here are right, there's a better way to do the ranking so the results closer represent what we're looking for. I think I need to better define what question we actually want to answer with this data and then establish the metric that best measures that, and your ideas definitely give some hints for some directions that measurement can go. I especially like the idea of "boosting" cities that have a rare topic the user is interested in. Thanks again for the interest!
[1] http://cole-maclean.github.io/blog/Evolving%20the%20StarCraf...