ENAMeL: A Language for Binary Correlation Matrix Memories
- 113 Downloads
Despite their relative simplicity, correlation matrix memories (CMMs) are an active area of research, as they are able to be integrated into more complex architectures such as the Associative Rule Chaining Architecture (ARCA) “Austin et al. (International conference on artificial neural networks, pp 49–56, 2012)”. In this architecture, CMMs are used effectively in order to reduce the time complexity of a tree search from \(O(b^d)\) to \(O(d)\)—where \(b\) is the branching factor and \(d\) is the depth of the tree. This paper introduces the Extended Neural Associative Memory Language (ENAMeL)—a domain specific language developed to ease development of applications using CMMs. We discuss various considerations required while developing the language, and techniques used to reduce the memory requirements of CMM-based applications. Finally we show that the memory requirements of ARCA when using the ENAMeL interpreter compare favourably to our original results “Austin et al. (International conference on artificial neural networks, pp 49–56, 2012)” run in MATLAB.
KeywordsCorrelation matrix memory Associative memory Compact representation Domain specific language Rule chaining
Our thanks to Ken Lees for his initial work on developing the syntax of ENAMeL. Financial support from the Engineering and Physical Sciences Research Council is gratefully acknowledged.
- 2.Brewer G (2008) Spiking cellular associative neural networks for pattern recognition. Ph.D. Thesis, University of YorkGoogle Scholar
- 3.Shanker KPS, Turner A, Sherly E, Austin J (2010) Sequential data mining using correlation matrix memory. In: International conference on network information technology, pp 470–472. doi:10.1109/ICNIT.2010.5508469
- 7.Ladd DA, Ramming JC (1994) Two application languages in software production. In: USENIX very high level languages symposium proceeding 1994, pp 169–178Google Scholar
- 8.Van Deursan A, Klint P (1998) Little languages: little maintenance? J Softw Maintenance 10:75–92. doi:10.1002/(SICI)1096-908X(199803/04)10:2<75:AID-SMR168>3.0.CO;2-5 Google Scholar
- 9.Kieburtz RB, McKinney L, Bell JM, Hook J, Kotov A, Lewis J, Oliva DP, Sheard T, Smith I, Walton L (1996) A software engineering experiment in software component generation. In: 18th International conference on software engineering, pp 542–552Google Scholar
- 10.Basu A (1997) A language-based approach to protocol construction. Ph.D. Thesis, Cornell UniversityGoogle Scholar
- 11.Bruce D (1997) What makes a good domain-specific language? APOSTLE, and its approach to parallel discrete event simulation. ACM SIGPLAN Workshop on Domain-Specific Languages, pp 17–35Google Scholar
- 17.Hobson S, Austin J (2009) Improved storage capacity in correlation matrix memories storing fixed weight codes. In: International conference on artificial neural networks, pp 728–736. doi:10.1007/978-3-642-04274-4_75
- 19.Orovas C, Austin J (1997) Cellular associative neural networks for image interpretation. In: Sixth international conference on image processing and its applications, pp 665–669. doi:10.1049/cp:19970978
- 20.Austin J, Hobson S, Burles N, O’Keefe S (2012) A rule chaining architecture using a correlation matrix memory. In: International conference on artificial neural networks, pp 49–56. doi:10.1007/978-3-642-33269-2_7
- 23.Austin J (1992) Parallel distributed computation. In: International conference on artificial neural networks, 1992Google Scholar