Projects

  • Slogan Generator
    • Creating catchy slogans is a demanding and clearly creative job for ad agencies. The process of slogan creation by humans involves finding key concepts of the company and its products, and developing a memorable short phrase to describe the key concept. We attempt to follow the same sequence, but with an evolutionary algorithm. A user inputs a paragraph describing describing the company or product to be promoted. The system randomly samples initial slogans from a corpus of existing slogans. The initial slogans are then iteratively mutated and improved using an evolutionary algorithm. Mutation randomly replaces words in an individual with words from the input paragraphs. Internal evaluation measures a combination of grammatical correctness, and semantic similarity to the input paragraphs. Subjective analysis of output slogans leads to the conclusion that the algorithm certainly outputs valuable slogans. External evaluation found that the slogans were somewhat successful in conveying a message, because humans were generally able to select the correct promoted item given a slogan.
    • Project Paper
    • Project Slides
    • Project Source
  • Actor-Critic Reinforcement Learning for Classic Control problem
    • Reinforcement learning (RL) has recently shown great promise in solving difficult learning task, and achieved above human level performance in promising tasks like Atari games~\autocite{mnih2013playing}, Go ~\autocite{silver2016mastering} and poker ~\autocite{revell2017ai}. RL has two broad classes of algorithms: Actor and Critic, with their own merits and demerits. This paper explores the benefits of combining them into Actor-Critic algorithms and demonstrates their ability in solving classic control problems. We use temporal difference learning class of algorithms as critic and policy gradient as actor. Our implementation of Actor-Critic algorithms was able to solve the classic Cartpole problem ~\autocite{1606.01540} in 96 time steps. As these algorithms are model-free, it can be use to solve almost any type of RL problems with very few tweaks.
    • Project Paper
    • Project Slides
    • Project Source
  • Nepali Character Recognition using Deep Belief Nets
    • Various deep learning architectures such as Deep Neural Network (DNN), Convolution Neural Network (CNN), Long short term memory (LSTM) and Recurrent Neural Nets (RNN) have been applied to fields such as natural language processing, speech recognition and computer vision where they have been shown to produce state-of-the-art results. But these advance models have not yet been applied in the context of Nepali language. Trivial problems like automatic recognition of a small piece of a handwritten document is still a challenging task in Nepali. So, we want to apply state-of-the-art deep learning models to recognize handwritten Nepali characters. This might convince researchers to explore these deep models which in turn will help to expand research on Nepali language. After careful analysis of different hyper parameters, we choose four layers deep network with 1024 hidden units in each layer. We achieved 90.18\% accuracy in a test set against 72.3\% accuracy obtained using simple Multi Layer Perceptron (MLP). This result shows a significant improvement above all other methods reported. This trained model can be used for any general purpose application which involves recognizing Nepali characters effectively.
    • Project Paper
    • Project Slides
    • Project Source
  • Control Theory
    • This motivation of this project was to compile chapters so that it could be useful for upcoming students in control theory. Different topics in each chapter were divided among the students in CS 712R and as a final project all the chapters were combined to form a book on Control Theory. Specifically I worked on the Dissipative systems chapter of the book along with Dynamical Structure Functions, Lyapunov Functions and stability criteria. I this this book would be useful for students who want to study Control theory with a broader perspective.
    • Project Chapters I and Chapter II
  • Cooperative Transport in Cozmo robots
    • Social animals cooperatively transport object which is many times bigger than themselves effectively. Mimicking those behaviors on real robots will have diverse applications in engineering, health care and search and rescue. In this paper, we define different categories of cooperative transport problems and discuss different tools and techniques to tackle them. We then show that occlusion-based cooperative transport techniques are effective when the object is convex and there are enough agents to overcome frictional force. Results show that even with only two robots, the occlusion-based technique is able to transport objects 60\% of the time.
    • Project Paper
    • Project Slides
    • Project Source
  • Open Set Deep Network (OSDN)
    • Current computer vision algorithms using Neural Nets with softmax function can only classify objects in between the labels used for training. If we provide the algorithm with the entirely different image still it will try to classify the image for the labels it knows. It would be amazing if these algorithms could distinguish between the images which are similar to what it has seen before and which are completely different. This problem is known as Open Set recognition problem. Addressing this problem would be tremendous benefits for computer vision as machines will be able to classify the objects more accurately and more robust to fooling images as well as adversarial images. We implement OSDN algorithm using Weibull fitting in the penultimate layers of Neural Nets to address the issue with Open Set recognition problem.
    • Project Document
    • Project Slides
    • Project Source
  • Emergence of Collective Behaviors in Hub-Based Colonies Using Grammatical Evolution and Behavior Trees
    • Animals such as bees, ants, birds, fish, and others are able to efficiently perform complex coordinated tasks like foraging, nest-selection, flocking and escaping predators without centralized control or coordination. These complex collective behaviors are the result of emergence. Conventionally, mimicking these collective behaviors with robots requires researchers to study actual behaviors, derive mathematical models, and implement these models as algorithms. Since the conventional approach is very time consuming and cumbersome, this thesis uses an emergence-based method for the efficient evolution of collective behaviors.Our method, Grammatical Evolution algorithm for Evolution of Swarm bEhaviors (GEESE), is based on Grammatical Evolution (GE) and extends the literature on using genetic methods to generate collective behaviors for robot swarms.
      GEESE uses GE to evolve a primitive set of human-provided rules, represented in a BNF grammar, into productive individual behaviors represented by Behavior Tree (BT). We show that GEESE is generic enough, given an initial grammar, that it can be applied to evolve collective behaviors for multiple problems with just a minor change in objective function.Our method is validated as follows: First, GEESE is compared with state-of-the-art genetic algorithms on the canonical Santa Fe Trail problem. Results show that GEESE outperforms the state-of-the-art by a)~providing better solutions given sufficient population size while b)~utilizing fewer evolutionary steps. Second, GEESE is used to evolve collective swarm behavior for a foraging task. Results show that the evolved foraging behavior using GEESE outperformed both hand-coded solutions as well as solutions generated by conventional Grammatical Evolution. Third, the behaviors evolved for single-source foraging task were able to perform well in a multiple-source foraging task, indicating a type of robustness. Finally, with a minor change to the objective function, the same BNF grammar used for foraging can be shown to evolve solutions to the nest-maintenance and the cooperative transport tasks.
    • Project Document
    • Project Slides
    • Project Source
  • Homomorphic learning: A privacy-focused approach to machine learning
    • Cryptography and data science research grew exponential with the internet boom. Legacy encryption techniques force users to make a trade-off between usability, convenience, and security. Encryption makes valuable data inaccessible, as it needs to be decrypted each time to perform any operation. Billions of dollars could be saved, and millions of people could benefit from cryptography methods that don’t compromise between usability, convenience, and security. Homomorphic encryption is one such paradigm that allows running arbitrary operations on encrypted data. It enables us to run any sophisticated machine learning algorithm without access to the underlying raw data. Thus, homomorphic learning provides the ability to gain insights from sensitive data that has been neglected due to various governmental and organization privacy rules.In this paper, we trace back the ideas of homomorphic learning formally posed by Ronald L. Rivest and Len Alderman as “Can we compute upon encrypted data?” in their 1978 paper. Then we gradually follow the ideas sprouting in the brilliant minds of Shafi Goldwasser, Kristin Lauter, Dan Bonch, Tomas Sander, Donald Beaver, and Craig Gentry to address that vital question. It took more than 30 years of collective effort to finally find the answer “yes” to that important question.
    • Project Document
  • Autonomous car simulation with Model Predictive Control (MPC)
    • PID controller is quite a popular algorithm used in control theory. But it’s difficult for a PID controller to over come latency that is prevalent in the real-world systems. We describe an MPC that adapts well in presence of latency in the system. MPC is an advanced method of process control that is used to control a system while satisfying a set of constraints. MPC model has been successfully applied to vehicles with bicycle models and is a popular choice with self-driving cars. First, a brief description of the stable, controllable, and observable properties of the system is provided. Followed by the system model, constraints, and cost function. We implement the MPC controller to a car simulator and evaluate its performance. This project was a part of the  ECEN 773 class.
    • Project Slides
  • Minimal Self-driving car
    • It is crucial not only to understand the specialized subsystem of an autonomous vehicle like lane detection, vSLAM, and traffic light detection to build a safe and reliable self-driving car, but understanding the subsystem interaction with each other is equally important. So for our CS704R project, first, we independently implement those specialized subsystems. Second, we combine those modules to build a minimal self-driving car agent in ROS. Finally, we test our agent in a simulated highway environment. Our minimal agent was successful in driving on the highway track. For this project, we have modified the Udacity self-driving car simulator to work with latest ROS (Noetic) and Python 3 (https://github.com/aadeshnpn/CarND-Capstone)
    • Project Paper
    • Project Slides
  • Active Listening Chatbot
    • Task-based chatbots tend to suffer from either overconfidence or ignorance — giving a response that is confidently wrong or completely uncertain (e.g.“I don’t know”). A chatbot that could identify the source of its uncertainty and ask a clarifying question would lessen the burden of query reformulation for the user. We introduce a two-turn query-response-query (QRQ) task, in which a user queries the chatbot and the chatbot must ask a clarifying question, which results in a second user query that clarifies the user’s intent. We evaluate performance in two ways: 1) by the perplexity of the response on the Taskmaster-2 dataset, and 2) by information acquisition between the first user query and the second user query, as measured by an intent classifier. We train a variety of architectures for these objectives, including a supervised encoder-decoder transformer and an unsupervised system trained to acquire more information from the second query than the first. Although the unsupervised system does not currently improve on baseline, there are positive indications that a similar approach could yield positive results in future.
    • Project Paper
    • Project Slides
  • Learning Resilient Swarm Behaviors via Ongoing Evolution
    • Grammatical evolution can be used to learn bio-inspired solutions to many distributed mulitagent tasks, but the programs learned by the agents are often not resilient to perturbations in the world. Biological inspiration from bacteria suggests that ongoing evolution can enable resilience, but traditional grammatical evolution algorithms learn too slowly to mimic rapid evolution because they utilize only vertical, parent- to-child genetic variation. Prior work with the BeTr-GEESE grammatical evolution algorithm showed that individual agents who use both vertical and lateral gene transfer rapidly learn programs that perform one step in a multi-step problem even though the programs cannot perform all required subtasks. This paper shows that BeTr-GEESE can use ongoing evolution to produce resilient collective behaviors on two goal- oriented spatial tasks, foraging and nest maintenance, in the presence of different types of perturbation. The paper then explores when and why BeTr-GEESE succeeds, emphasizing two potentially generalizable properties: modularity and locality. Modular programs enable real-time lateral transfer, leading to resilience. Locality means that the appropriate phenotypic behaviors are local to specific regions of the world (spatial locality) and that recently useful behaviors are likely to be useful again in the near future (temporal locality).
    • Project Paper
    • Project Slides
css.php