By Frederik Bussler, Security Token AllianceOpen AI is a vague, even nebulous term that was coined by Google in a 2016 research paper.
The initial idea revolved around the technical architecture of how AI could be built — through federated learning and decentralized AI instead of centralized systems.
But since then, it has come to mean so much more, and is now more reminiscent of a movement than a technology, with companies like Elon Musk’s OpenAI, FAIR, and OpenMined seeking to create a form of more democratic artificial intelligence.
Since 2016, Google unveiled TensorFlow Federated (TFF), enabling a user-friendly implementation of federated learning.
Essentially, federated learning means bringing machine learning models down to the level of user data, instead of having users upload data to a centralized server for training, and then re-deploying an iteratively improved model back to the user.
While companies in the Open AI space are often highly controversial, such as OpenAI due to their re-structure as a for-profit company, you’re able to transition your own work in the field to an open model, which brings a variety of benefits over the centralized model.
Companies like Facebook are quickly losing the trust of users, because of scandals like Cambridge Analytica, when user data is abused.
Federated learning helps to ensure user privacy, as models are brought down to user “nodes.
” Other technologies can be brought together to further strengthen privacy, such as homomorphic encryption, and public/private keys controlled via a decentralized blockchain.
Here, we’ll cover just the federated learning aspect.
At the core of federated learning is an algorithm that looks like this: A coordinated series of steps is undertaken in the federated learning process.
First, a random set of client nodes is chosen to receive the global model from the server.
Then, each of these clients computes an updated model using its own local data.
This is the training done on client system.
Next, model updates are sent back to the server.
Finally, the server aggregates these models to improve the global model.
To put these ideas in more concrete terms, let’s look at a simple skeleton code example, to avoid simply throwing in an entire program.
First, we import the necessary dependencies, and create a pseudo-random number for initialization.
After importing simple dependencies (note that we aren’t even using a library like TFF), we write the components for the server-client interaction.
Clearly, the basics of open AI are nothing particularly new.
Simply training models on the user side instead of the server side is what makes all the difference.
While we have discussed “open AI” as a federated learning approach in this article, open AI also relates to building open communities around the creation of AI.
For example, companies like bitgrit host AI for Good problem statements, where anyone can submit a model, such as identifying dog breeds for better shelter adoption rates (disclaimer: I’m CEO).
Other companies like Kaggle and AIcrowd also host AI competitions, opening up the AI creation process to pools of data scientists.
So, the age of centralized AI is giving way to more open ecosystems for AI.
While the concept of open AI is often shrouded in confusion, there are now easily accessible libraries to implement open AI in your organization, and it is even possible without using these libraries.
Further, open ecosystems for the creation of more democratic AI are fast emerging.
Bio: Frederik Bussler is the Founder of the Security Token Alliance, the world’s largest think tank for the Security Token industry with over 100 partners, as well as Chairman at the World Data Science Forum, CEO at bitgrit, and advisor to blockchain startups including SHORTEX Cryptoexchange and klimazone Labs.
As a public speaker, he has presented for audiences including IBM, Nikkei, Slush Tokyo, and the Chinese government, and is featured in outlets including Forbes and Yahoo.
Related: var disqus_shortname = kdnuggets; (function() { var dsq = document.
createElement(script); dsq.
type = text/javascript; dsq.
async = true; dsq.
src = https://kdnuggets.
disqus.
com/embed.
js; (document.
getElementsByTagName(head)[0] || document.
getElementsByTagName(body)[0]).
appendChild(dsq); })();.. More details