OpenNN

Last updated
OpenNN
Developer(s) Artelnics
Repository
Operating system Cross-platform
Type Neural networks
License LGPL
Website www.opennn.net

OpenNN (Open Neural Networks Library) is a software library written in the C++ programming language which implements neural networks, a main area of deep learning research. [1] The library is open-source, licensed under the GNU Lesser General Public License.

Contents

Characteristics

The software implements any number of layers of non-linear processing units for supervised learning. This deep architecture allows the design of neural networks with universal approximation properties. Additionally, it allows multiprocessing programming by means of OpenMP, in order to increase computer performance.

OpenNN contains machine learning algorithms as a bundle of functions. These can be embedded in other software tools, using an application programming interface, for the integration of the predictive analytics tasks. In this regard, a graphical user interface is missing but some functions can be supported by specific visualization tools. [2]

History

The development started in 2003 at the International Center for Numerical Methods in Engineering, within the research project funded by the European Union called RAMFLOOD (Risk Assessment and Management of FLOODs). [3] Then it continued as part of similar projects. At present, OpenNN is being developed by the startup company Artelnics. [4]

Applications

OpenNN is a general purpose artificial intelligence software package. [5] It uses machine learning techniques for solving predictive analytics tasks in different fields. For instance, the library has been applied in the engineering, energy, or chemistry sectors. [6] [7] [8]

See also

Related Research Articles

<span class="mw-page-title-main">Artificial neural network</span> Computational model used in machine learning, based on connected, hierarchical functions

Artificial neural networks are a branch of machine learning models that are built using principles of neuronal organization discovered by connectionism in the biological neural networks constituting animal brains.

Computer science is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. One well known subject classification system for computer science is the ACM Computing Classification System devised by the Association for Computing Machinery.

<span class="mw-page-title-main">Neural network</span> Structure in biology and artificial intelligence

A neural network can refer to either a neural circuit of biological neurons, or a network of artificial neurons or nodes in the case of an artificial neural network. Artificial neural networks are used for solving artificial intelligence (AI) problems; they model connections of biological neurons as weights between nodes. A positive weight reflects an excitatory connection, while negative values mean inhibitory connections. All inputs are modified by a weight and summed. This activity is referred to as a linear combination. Finally, an activation function controls the amplitude of the output. For example, an acceptable range of output is usually between 0 and 1, or it could be −1 and 1.

<span class="mw-page-title-main">OpenCV</span> Computer vision library

OpenCV is a library of programming functions mainly for real-time computer vision. Originally developed by Intel, it was later supported by Willow Garage, then Itseez. The library is cross-platform and licensed as free and open-source software under Apache License 2. Starting in 2011, OpenCV features GPU acceleration for real-time operations.

<span class="mw-page-title-main">Weka (software)</span>

Waikato Environment for Knowledge Analysis (Weka) is a collection of machine learning and data analysis free software licensed under the GNU General Public License. It was developed at the University of Waikato, New Zealand and is the companion software to the book "Data Mining: Practical Machine Learning Tools and Techniques".

AForge.NET is a computer vision and artificial intelligence library originally developed by Andrew Kirillov for the .NET Framework.

<span class="mw-page-title-main">Torch (machine learning)</span> Deep learning software

Torch is an open-source machine learning library, a scientific computing framework, and a scripting language based on Lua. It provides LuaJIT interfaces to deep learning algorithms implemented in C. It was created at IDIAP at EPFL. Torch development moved in 2017 to PyTorch, a port of the library to Python.

<span class="mw-page-title-main">Feature engineering</span> Extracting features from raw data for machine learning

Feature engineering or feature extraction or feature discovery is the process of extracting features from raw data. Due to deep learning networks, such as convolutional neural networks, that are able to learn it by itself, domain-specific- based feature engineering has become obsolete for vision and speech processing.

Neural Designer is a software tool for machine learning based on neural networks, a main area of artificial intelligence research, and contains a graphical user interface which simplifies data entry and interpretation of results.

The following table compares notable software frameworks, libraries and computer programs for deep learning.

<span class="mw-page-title-main">Glossary of artificial intelligence</span> List of definitions of terms and concepts commonly used in the study of artificial intelligence

This glossary of artificial intelligence is a list of definitions of terms and concepts relevant to the study of artificial intelligence, its sub-disciplines, and related fields. Related glossaries include Glossary of computer science, Glossary of robotics, and Glossary of machine vision.

<span class="mw-page-title-main">Outline of machine learning</span> Overview of and topical guide to machine learning

The following outline is provided as an overview of and topical guide to machine learning. Machine learning is a subfield of soft computing within computer science that evolved from the study of pattern recognition and computational learning theory in artificial intelligence. In 1959, Arthur Samuel defined machine learning as a "field of study that gives computers the ability to learn without being explicitly programmed". Machine learning explores the study and construction of algorithms that can learn from and make predictions on data. Such algorithms operate by building a model from an example training set of input observations in order to make data-driven predictions or decisions expressed as outputs, rather than following strictly static program instructions.

<span class="mw-page-title-main">Automated machine learning</span> Process of automating the application of machine learning

Automated machine learning (AutoML) is the process of automating the tasks of applying machine learning to real-world problems. AutoML potentially includes every stage from beginning with a raw dataset to building a machine learning model ready for deployment. AutoML was proposed as an artificial intelligence-based solution to the growing challenge of applying machine learning. The high degree of automation in AutoML aims to allow non-experts to make use of machine learning models and techniques without requiring them to become experts in machine learning. Automating the process of applying machine learning end-to-end additionally offers the advantages of producing simpler solutions, faster creation of those solutions, and models that often outperform hand-designed models. Common techniques used in AutoML include hyperparameter optimization, meta-learning and neural architecture search.

Deep Learning Studio is a software tool that aims to simplify the creation of deep learning models used in artificial intelligence. It is compatible with a number of open-source programming frameworks popularly used in artificial neural networks, including MXNet and Google's TensorFlow.

<span class="mw-page-title-main">Owl Scientific Computing</span> Numerical programming library for the OCaml programming language

Owl Scientific Computing is a software system for scientific and engineering computing developed in the Department of Computer Science and Technology, University of Cambridge. The System Research Group (SRG) in the department recognises Owl as one of the representative systems developed in SRG in the 2010s. The source code is licensed under the MIT License and can be accessed from the GitHub repository.

References

  1. "OpenNN, An Open Source Library For Neural Networks". KDNuggets. June 2014.
  2. J. Mary Dallfin Bruxella; et al. (2014). "Categorization of Data Mining Tools Based on Their Types". International Journal of Computer Science and Mobile Computing. 3 (3): 445–452.
  3. "CORDIS - EU Research Project RAMFLOOD". European Commission. December 2004.
  4. "Artelnics home page".
  5. "Here Are 7 Thought-Provoking AI Software Packages For Your Info". Saurabh Singh. Archived from the original on 2014-06-27. Retrieved 25 June 2014.
  6. R. Lopez; et al. (2008). "Neural Networks for Variational Problems in Engineering". International Journal for Numerical Methods in Engineering. 75 (11): 1341–1360. Bibcode:2008IJNME..75.1341L. doi:10.1002/nme.2304. S2CID   120913929.
  7. P. Richter; et al. (2011). "Optimisation of Concentrating Solar Thermal Power Plants with Neural Networks". Adaptive and Natural Computing Algorithms. Lecture Notes in Computer Science. Vol. 6593. pp. 190–199. doi:10.1007/978-3-642-20282-7_20. ISBN   978-3-642-20281-0.
  8. A.A. D’Archivio; et al. (2014). "Artificial Neural Network Prediction of Multilinear Gradient Retention in Reversed-Phase HPLC". Analytical and Bioanalytical Chemistry. 407 (4): 1–10. doi:10.1007/s00216-014-8317-3. PMID   25395205. S2CID   40461902.