Facebook has released as open source some software modules that can speed image recognition, language modeling and other machine learning tasks, in a move to advance computer artificial intelligence for itself and others.
Such modules could be used by startups or other companies that want to build AI-based products and services, but may not have the "deep engineering" expertise on hand to develop such capabilities in-house, said Soumith Chintala, a Facebook research engineer who works for the Facebook AI Research (FAIR) lab.
Facebook does not yet incorporate AI technologies into its social networking service, Chintala said, though the techniques being developed at FAIR may one day be used to improve customer experience. Given the relative paucity of commercially available AI tools, Facebook is funding FAIR to build basic capabilities in-house, and open sourcing the results so others can use and refine them, he said.
The new modules run on Facebook's Torch, an open source development framework for building deep learning applications. Google, Twitter, Nvidia, Intel, and Nvidia have used this framework for their projects.
The module that Chintala was most enthusiastic about discussing was one that was written to recognize objects within images. While there are plenty of software libraries that already do this task, this set of code does it much more quickly than other approaches, using techniques Facebook researchers developed along with Nvidia's cuFFT library (FFT stands for fast Fourier Transform, an algorithm for converting signals).
The module, which was built to run on arrays of GPUs, can be used to build convolutional networks, an emerging type of neural network well-suited for machine vision.
Another module, called Hierarchical SoftMax, can speed the process of training a machine-learning network to understand the relationships among tens of millions of objects -- all the words in a dictionary, for instance. This module could be used, for instance, to predict the next word in a sentence, given the first few words of a sentence. Hierarchical SoftMax builds on work done at Microsoft's research labs.
Another module does temporal correlation, Chintala said. It can be used to look at a series of time-related data and predict what the next value would be. This module would also be used in word prediction.
Facebook also released an optimized lookup table that can aid in holding in memory extremely large numbers of objects. A computer program looking to find the relationship between related words, such as "food" and "hunger" could use the table to speed the process of connecting them together, Chintala said. Facebook itself has tested this module for automatically generating potential hashtags for a given body of text.