Google’s new machine learning algorithm harnesses the processing power of your smartphone to improve algorithms and save on data consumption by intelligent virtual assistants and the like.
Using a process called Federated Learning (FL), Google claims that they can “collaboratively share a prediction model while keeping training data on the device.” It might sound complicated, but it’s actually a simple, well thought-out solution to a problem that’s been haunting machine learning for years.
Machine Learning (ML) is used to design algorithms. These algorithms help in the functioning of what we know as artificial intelligence (AI). Siri, Google Assistant, Bixby, they’re all just algorithms.
But ML is used for more than just digital assistants. Google’s self-driving car, for example, learns to drive using ML. Essentially, data is harvested and analysed and then an algorithm is developed based on the results. This one-line description grossly oversimplifies how ML works, but you get the general idea.
For example, if you normally drink your coffee at 6 AM every day on weekdays and at 8 AM on weekends, ML will analyse the data and determine your coffee drinking patterns, potentially automating your coffee making process if you have, say, a smart coffee maker. More data might lead the algorithm to determine that you drink coffee late on public holidays as well, or the data might be tied to your heart rate, etc.
The possibilities are endless, but are predicated on a large amount of data, some of it very revealing and potentially a privacy nightmare.
Image: Google
Image: Google
Traditionally, this data would need to be harvested by some device, like your smartphone, and then sent to the cloud for processing. ML is then used to analyse the data further and learn from it, further improving algorithms.
As Google explains in its blog-post, this approach requires low-latency, high-bandwidth data transfer rates. Of course, the privacy issues also raise their head here and taking responsibility for the data can put a company in a tricky spot.
With FL, Google has changed how the learning process works. As they describe it, “your device downloads the current model, improves it by learning from data on your phone, and then summarises the changes as a small focused update.”
The data that’s actually sent to the cloud is the updated algorithm and not the actual data itself. The data remains on your phone at all times.
Google’s cloud-based FL then aggregates these updates and creates an improved model for all devices. This updated model is then sent to devices as an update and the process repeats itself.
Using this technique, Google claims that bandwidth needs can be dropped by up to 100x.
Better yet, for the sake of privacy, the cloud-based processing won’t happen unless “100s or 1000s of users have participated.” This ensures that the updates from a single user cannot be identified.
The updated algorithms that your phone creates are sent to the cloud in a compressed and encrypted manner to begin with.
Google has deployed this technique in their Gboard app to help improve its natural language processing, but as they refine the process, they hope to expand FL’s scope to other applications as well.
FL has the potential to fundamentally change the way models are developed in the future. More information can be found here.
Publish date: April 12, 2017 11:16 am| Modified date: April 12, 2017 11:16 am