Here are some interesting links I’ve discovered recently while researching Artificial Intelligence and neural networks.
1. Like it or not, Python is the most used programming language for Artificial Intelligence. Zoe, our talented PSL intern, introduced me to Jupyter. Jupyter is a way to share and run code on a web page – a dynamic notebook. .ipynb files can contain live code (either client side or caches of server side code), equations, visualizations and descriptive text. For example, here’s one teaching image recognition. What’s cool is that Github supports the format, so you can run your code as you view it.
2. Daniel Gorrie showed me an impressive demo from AI2 where a neural net is used to recognize the answers to questions. A neural net (“Bi-Directional Attention Flow” model) is trained on a corpus of english text, then fed a new paragraph and a question. The machine doesn’t comprehend English so much as recognize word locations and relationships – but it can answer questions where the exact wording doesn’t appear in the text. Wait, maybe that’s what it means to comprehend English.
3. Sean Robinson gave us an amazing presentation on Deep Q Learning at PSL. This is a hybrid approach using deep neural nets to summarize the state of the environment and optimize quality matrices of possible actions through iterative experimentation. The algorithm evaluates its progress using whichever measure you give it – which can lead to unexpected results and moral quandaries. Good Artificial Intelligence is always creepy.
You may have also seen the demos awhile back of Artificial Intelligence learning to play Atari video games. This type of reinforcement learning is powerful because the machine can simulate the world and learn from itself (“unsupervised”). Here’s a useful example of training machines to direct traffic. Here’s a quick tutorial on how to make your own game bot. Minecraft diamond mining bot, anyone?
4. Lastly, here’s an application that may put my job at risk. This project will turn an image of a Website layout into HTML code. Once it again, it raises the question: how much pattern recognition and application equals “understanding?” It remains to be seen.