Goto

Collaborating Authors

 printf


Neural Information Organizing and Processing -- Neural Machines

Petrila, Iosif Iulian

arXiv.org Artificial Intelligence

In nature, neural information processing emerged with the necessity of complex beings such as animals to manage information in a more dynamic manner to ensure their interaction with an unpredictable environment, and implicitly their survival, by specialize certain cells for information management purpose through the nervous system as an integrative component of sensing and actuating (afferent and efferent) external and internal information by developing functions aimed to ensuring the adaptive and resilient characteristics. Through computing systems, the neural type of information processing began to be investigated for its perspective of use within artificial computing systems for understanding and validating natural neural processes through simulations as well for constructing devices with neural specific functions, consequently, various neural information aspects being highlighted over the time [1-17]. The neural information processing methods, although they have a tortuous history and do not have yet a coherent model not even at a fundamental level, are beginning to prove convincing in areas where specifically neural processes are more relevant than purely digital ones, such as: natural languages processing (text transformations, speech recognition and synthesis, etc.), patterns recognition, creative processing (multimedia), data analysis (healthcare, finance), control and coordination (robotics), etc. [7 - 17]. Since in essence the neural processes realize functional transformations of some contextual information, they are find usefulness in related fields such as formal systems, computing tools (compilers, libraries), etc. [18, 19].


Assessing the Interpretability of Programmatic Policies with Large Language Models

Bashir, Zahra, Bowling, Michael, Lelis, Levi H. S.

arXiv.org Artificial Intelligence

Although the synthesis of programs encoding policies often carries the promise of interpretability, systematic evaluations were never performed to assess the interpretability of these policies, likely because of the complexity of such an evaluation. In this paper, we introduce a novel metric that uses large-language models (LLM) to assess the interpretability of programmatic policies. For our metric, an LLM is given both a program and a description of its associated programming language. The LLM then formulates a natural language explanation of the program. This explanation is subsequently fed into a second LLM, which tries to reconstruct the program from the natural-language explanation. Our metric then measures the behavioral similarity between the reconstructed program and the original. We validate our approach with synthesized and human-crafted programmatic policies for playing a real-time strategy game, comparing the interpretability scores of these programmatic policies to obfuscated versions of the same programs. Our LLM-based interpretability score consistently ranks less interpretable programs lower and more interpretable ones higher. These findings suggest that our metric could serve as a reliable and inexpensive tool for evaluating the interpretability of programmatic policies.


Learning Performance-Improving Code Edits

Shypula, Alexander, Madaan, Aman, Zeng, Yimeng, Alon, Uri, Gardner, Jacob, Hashemi, Milad, Neubig, Graham, Ranganathan, Parthasarathy, Bastani, Osbert, Yazdanbakhsh, Amir

arXiv.org Artificial Intelligence

With the waning of Moore's law, optimizing program performance has become a major focus of software research. However, high-level optimizations such as API and algorithm changes remain elusive due to the difficulty of understanding the semantics of code. Simultaneously, pretrained large language models (LLMs) have demonstrated strong capabilities at solving a wide range of programming tasks. To that end, we introduce a framework for adapting LLMs to high-level program optimization. First, we curate a dataset of performance-improving edits made by human programmers of over 77K competitive C++ programming submission pairs, accompanied by extensive unit tests. A major challenge is the significant variability of measuring performance on commodity hardware, which can lead to spurious "improvements". To isolate and reliably evaluate the impact of program optimizations, we design an environment based on the gem5 full system simulator, the de facto simulator used in academia and industry. Next, we propose a broad range of adaptation strategies for code optimization; for prompting, these include retrieval-based few-shot prompting and chain-of-thought, and for finetuning, these include performance-conditioned generation and synthetic data augmentation based on self-play. A combination of these techniques achieves an average speedup of 5.65X on CodeLlama-13B and 6.86X on GPT-3.5, surpassing the best human performance (4.06X). We find our proposed performance-conditioned generation is particularly effective at improving performance as well as increasing the fraction of optimized programs.


Natural language processing for word sense disambiguation and information extraction

Chowdhary, K. R.

arXiv.org Artificial Intelligence

This research work deals with Natural Language Processing (NLP) and extraction of essential information in an explicit form. The most common among the information management strategies is Document Retrieval (DR) and Information Filtering. DR systems may work as combine harvesters, which bring back useful material from the vast fields of raw material. With large amount of potentially useful information in hand, an Information Extraction (IE) system can then transform the raw material by refining and reducing it to a germ of original text. A Document Retrieval system collects the relevant documents carrying the required information, from the repository of texts. An IE system then transforms them into information that is more readily digested and analyzed. It isolates relevant text fragments, extracts relevant information from the fragments, and then arranges together the targeted information in a coherent framework. The thesis presents a new approach for Word Sense Disambiguation using thesaurus. The illustrative examples supports the effectiveness of this approach for speedy and effective disambiguation. A Document Retrieval method, based on Fuzzy Logic has been described and its application is illustrated. A question-answering system describes the operation of information extraction from the retrieved text documents. The process of information extraction for answering a query is considerably simplified by using a Structured Description Language (SDL) which is based on cardinals of queries in the form of who, what, when, where and why. The thesis concludes with the presentation of a novel strategy based on Dempster-Shafer theory of evidential reasoning, for document retrieval and information extraction. This strategy permits relaxation of many limitations, which are inherent in Bayesian probabilistic approach.


Targeted Example Generation for Compilation Errors

Ahmed, Umair Z., Sindhgatta, Renuka, Srivastava, Nisheeth, Karkare, Amey

arXiv.org Artificial Intelligence

The repaired code example in Figure 3b deletes assignment operator " ", and inserts an equality operator " ". Hence its set of repair tokens are {, - }. D. Error Repair Class Given a buggy source program that suffers from compilation errors ( E s) which require a set of repair tokens ( R s) to fix, its error-repair class ( C) is defined as the merged set of errors and repairs {E s R s}. For example, the erroneous-repaired code pair in Figure 3 belongs to C 8 {E 10 - }, the 8 th most frequently occurring error-repair class. We determine the error-repair class of the 23, 275 erroneous-repaired code pairs in our dataset. Table III lists the error-repair classes ( C s) sorted in decreasing order of frequency, along with the number of buggy programs belonging to each class.


Machine Learning for Android Developers with the Mobile Vision API-- Part 1 -- Face Detection

#artificialintelligence

Machine learning is a very interesting field in Computer Science that has ranked really high on my to-learn list for a long while now. With so many updates from RxJava, Testing, Android N, Android Studio and other Android goodies, I haven't been able to dedicate time to learn it. I was very excited to discover that Machine Learning can now implemented by anyone in their Android Apps based on the Mobile Vision APIs from Google without needing to have prior knowledge in the field. All you need is to know is how to use APIs. There are a lot of APIs for Machine Learning on the cloud and mobile, but in this series I'm going to focus only on the Mobile Vision APIs since those are created specifically for Android developers.


Arbitrary-palette positional dithering algorithm

#artificialintelligence

This paper introduces a patent-free¹ positional (ordered) dithering algorithm that is applicable for arbitrary palettes. Such dithering algorithm can be used to change truecolor animations into paletted ones, while maximally avoiding unintended jitter arising from dithering. For most of the article, we will use this example truecolor picture and palette. The scene is from a PSX game called Chrono Cross, and the palette has been manually selected for this particular task. You may immediately notice that the palette is not regular; although there are clearly some gradients, the gradients are not regularly spaced.