With its focus on AI software for unstructured content, Boston-based Indico has now come forward with a new open source project focused on simplifying the use of transfer learning with natural language.
What is transfer learning?
Transfer learning (although initially also applicable to humans) is a part of machine learning — it is the process through which knowledge gained from solving one problem can be applied to a different (often tangentially related) problem or analysis case.
For example, knowledge gained while learning to recognise dogs can be applied to the process of attempting to recognise cats… and knowledge gained while learning to recognise cars can be applied to the process of attempting to recognise trucks & lorries… and so on.
Back to Indico then. The company has produced Enso, an open-source librarydesigned to streamline the benchmarking of embedding and transfer learning methods for a wide variety of natural language processing tasks.
It provides machine learning engineers and software developers with a standard interface and tools for the fair comparison of varied feature representations and target task models.
“The open source community is the driving force for innovation in machine learning, and Indico has benefitted from it and embraces the open source effort fully,” said Slater Victoroff, co-founder and CTO at Indico. “Enso is a way for us to give back to the community and continue to promote the benefits of transfer learning to accelerate its adoption and reduce the barriers to machine learning.”
To date, transfer learning has seen success in the field of computer vision and image classification.
One of its major problems associated with transfer learning is the so-called ‘overfitting’ to specific datasets, that is – many of the models used for benchmarking are tied to specific datasets making it too difficult to take a model trained for one domain and train it on another.
The Enso project promotes the availability of more general datasets and stronger baselines to compare research against. This is said to help users ascertain where application of a given method is effective and where it is not — the end result, in theory, being a chance to accelerate the application of machine learning for more practical purposes.