Categories
Languages Platforms

The Significance of AlphaGo: Has a golden age for artificial intelligence just dawned?

In recent years artificial intelligence (AI) has returned to the forefront of technological debate. That debate has moved on from when, and even whether, computers will ever display intelligent behaviour to how smart they will get, how quickly, and what the implications are for society. Although there are multiple approaches to creating AIs, the ones that involve machine learning from large datasets are generally outperforming all others. The results from such systems are often so impressive that large companies are rushing to hire data scientists, collect more data, and apply the latest machine learning techniques to inform their management decision making. Google’s DeepMind team recently demonstrated that without any human in the loop they can build a system that makes complex strategic decisions better than a human expert. Their approach suggests a way forward for building such systems in many diverse fields.

Machine_learning&artificial_intelligence

The game computers couldn’t beat

The announcement from the DeepMind team that their AlphaGo program had defeated the European champion at the game of Go was a highly significant landmark in AI. Not only did they accomplish a long-standing ‘grand challenge’ in AI and surpass rival Facebook’s efforts by an enormous distance, but the way the system works is in many ways very human-like. At first glance it’s easy to dismiss game-playing AI systems as not immediately applicable to real-world problems. The ‘world’ the AI operates in is incredibly simple compared to our physical world – in the case of Go, a 19×19 board where a black or white stone can be placed on each intersection. However, [tweetable]advances in AI from the pursuit of better Go playing programs are already being used[/tweetable] in real-world applications elsewhere. Also, the ‘deep convolutional neural networks’ that AlphaGo uses to ‘perceive’ the board are similar to those currently being employed to push forward the state-of-the-art in image and speech recognition, as well as natural language processing.

It’s different this time

Back in 1997, IBM’s Deep Blue beat the world Chess champion, Garry Kasparov. How is this different? First, Go is significantly more complex than Chess. There are nearly an order of magnitude more moves possible from every position and each move can have a bigger impact on the strength of a player’s position. Second, Deep Blue used a supercomputer and some hand-crafted heuristics to effectively do a brute force search of all reasonable future move combinations to pick the best move to make next. This was nothing like the way a human would play Chess and also not generalisable to other problems.

In contrast to Deep Blue, AlphaGo combines two deep convolutional neural networks with a Monte Carlo Tree Search algorithm to select moves in a way that’s quite similar to the way a human would play. The first neural network, called the policy network, picks a few promising positions for the next move. A human player doesn’t systematically evaluate all possible moves, rather through experience they develop an intuition for moves that should make their position stronger. They would struggle to explain why they selected a specific move over others in many cases. This suggests they’ve developed a model for how to play that exists below their conscious awareness. AlphaGo’s policy network is trained to predict the moves that expert players would make using a dataset of 30 million different positions from real games. The second neural network, called the value network, estimates how strong any given position is. It was trained, simplifying slightly, using the results of the policy network alone playing against itself from 30 million distinct positions. The Monte Carlo Tree Search is then used to look ahead from each move selected by the policy network at the opponent’s likely responses and AlphaGo’s subsequent moves. However, rather than search all the way to the end of the game, the value network is used to evaluate the end position after a sequence of moves. This is also similar to human play, looking a handful of moves ahead to assess the probability of gaining an advantage with each possible move. The lookahead searches are shallow (constrained by the processing power and time allowed for a move) and yet the results are better than existing leading systems that look much further ahead but with much less sophisticated move candidate selection and position evaluation capabilities.

Widely applicable artificial intelligence

This might all still sound a long way from a truly human style of thinking but if we abstract and generalise it slightly then it becomes more familiar. For any goal-oriented behaviour in a complex or changing environment we can assess our current situation versus our goal and generate some options for moving towards the goal. We can then simulate or predict the results of taking those actions and evaluate the new situations we could get into. We choose the option that moves us closest to our goal, or has the highest probability of moving us closer to that goal. This is just a description of iterative planning.

AlphaGo has shown that we can train a machine-learning system to emulate the options a human would select in a relatively-complex environment. If we simulate the immediate results of those selections we then just need to evaluate where we get to with each option. Again: machine learning comes to the rescue. If we can acquire or generate enough data we can train another machine learning system to perform the evaluation. None of this is really a new idea but now it has been demonstrated to be good enough to beat a professional at Go, it’s a fair bet it can be made to work for a huge range of other problems too. This is possibly why it’s such a landmark for AI research. It’s a challenge that until very recently was thought to require a completely new breakthrough in AI and probably another decade of research (and Moore’s Law) to get us there. It turns out the techniques we’ve already invented, when suitably combined, can achieve very intelligent behaviour.

Dawn of a golden age?

There’s an outside chance Go just happened to be a lot easier than we thought, or just unusually suited to these ‘deep learning’ techniques. However, given the progress that’s being made with deep learning on other longstanding AI problems it seems more probable that [tweetable]we’re about to enter a golden age for AI[/tweetable]. In this context it’s interesting to note that AlphaGo beat the European champion a month before Google opened the source code for their TensorFlow deep learning framework (which prompted Microsoft to follow suit with theirs). These open source moves can be seen as part of a land grab for talent and mindshare. The techniques are the subject of published research and efficient implementations are valuable but nowhere near as much as the data required for training and the talent to utilise it. Then of course, Google, Microsoft, Amazon and a bunch of startups will all offer managed solutions for training and running these kinds of framework on their clouds. As the significance of DeepMind’s accomplishment sinks in, more researchers and developers will rush to jump on the machine learning bandwagon and there will be no shortage of tech giants waiting to welcome them aboard.

Categories
Business Tips

Best Practices for a successful IoT Developer Program

Events and training programs are a main component in many IoT developer programs. But just how effective are they?

This infographic sheds some light into the effectiveness of training and events. Insights are based on our Best Practices for IoT Developer Programs report.

Best Practices for an IoT Developer Program
Infographic
Categories
Business

Developer stories: Mobile Development Runs Deep

At VisionMobile, we believe in the people behind the numbers. While it’s important to understand numbers, trends and segments, it’s equally important to understand the people we’re trying to reach with our research. This developer profile is one in a series designed to help us get to know some of the people behind the statistics.

MobileDevelopmentRunsDeep_Levent_Gurses_interview

Developer Profile:
Levent Gurses

Company, job title and duties:
Movel: CEO, developer entrepreneur. Movel is an enterprise development company, and Levent says, “I code on a daily basis because other people are doing the less interesting stuff.”

Country/Area:
Virginia, US

Development Focus:
Movel focuses on mobile, but that’s too easy of an answer. They work on both native and cross-platform apps (iOS, Android, Windows Mobile, Phonegap, and more.) Levent emphasizes that mobile development doesn’t mean just the front-end app. The back end, he points out, is the biggest part of a mobile project, particularly one with multiple front ends. The back end includes key capabilities such as RESTful, secure APIs and identity and transaction management.

Levent explains that when building enterprise apps, most of a mobile app’s back end applies to a Web app/client’s back end as well. As he builds enterprise solutions, he’s able to build a “21st century back end.” Everything that applies to a mobile app backend applies to a Web app as well, bringing Web apps up to speed for 2016.

levent-gurses

Languages used:
While some developers have a specific language they prefer, Levent and Movel use a mix of languages and clients. AngularJS, however, is a favorite. He’s also fond of Google’s Polymer framework and feels it’ll be a standard in 6-12 months … if Google doesn’t shut it down.

While there’s something to be said for using established frameworks and languages, when a new, promising technology comes along, he takes a pragmatic approach. If a new technology provides sufficient promise, he discusses the potential risks and rewards with the client, along with the backup plan. If the client agrees, they’ll try those less established technologies on a new product.

Favorite devices:
As with some people, Levent is frustrated with the Apple ecosystem, and frustrated by Apple. And like many of us, he says, “I can’t live without my IPhone 6 Plus.” But he uses a variety of devices for testing and exploring. He contrasts iOS devices to Android devices like this: “If I want to use a small computer, I’ll use Android. If I want to use a phone, I’ll use my iPhone.”

He also has an Internet of Things (IoT) shop with about 20 Raspberry PIs running office projects like presentations, dashboards, and temperature sensors. The Raspberry PI is his favorite of this genre for “general, light computing power.” In fact, he says, these eliminate the need for desktops in many applications with the open source Raspbian OS. Arduinos, by comparison, are more limited, but useful for training.

They don’t need any Windows computers, he says, since their MacBooks and Macs run Parallels.

Favorite project built recently:
His favorite recent project stands out to him not because of the technology used but because of the solution. Built for an educational nonprofit, the solution streamlines the application process for college. US high school students use the app to more easily apply to multiple colleges.

Favorite tools:
“Nothing can touch the power of the Chrome developer tools,” even simulating slow connections, network traffic and simulated security issues.

But Movel doesn’t lock its developers into a particular toolset. “That’s what’s beautiful about development nowadays … it’s all open unless it’s Adobe (PDF).” Some prefer no IDE at all, others love heavier IDEs. “Use whatever makes you more efficient.”

They do, however, enforce backend standards like Ansible and Docker.

Best developer-related advice ever heard
“Premature optimization is the root of all evil,” commonly attributed to Donald Knuth. He explains, we need to understand the art of creating the minimum viable product that addresses the business problem.

levent-gurses-2

Best developer-related advice ever given
“Get involved in local meetups and hackathons.” He continues, “Here’s what happened to a lot of developers with the Internet. Everything became impersonal, even resumes. But it takes away the joy. Get out to talk with like-minded people to discuss tools and techniques. You’ll learn stuff you wouldn’t come across in your usual stream, be that Twitter, GitHub or other social media. Everyone you follow is likely like-minded. This takes away the coincidences – local encounters, conferences, meetups, hackathons – all give you a chance to get out of your comfort zone.”

This advice applies to not just new but to experienced developers. He counsels to not get too comfortable: instead, build a trusted network of real people you meet and spend time with. “We grow based on our environment and who we know. When we increase the caliber of people we know then we can grow in leaps and bounds.”