Education
Dude, Where's My Robot?: A Localization Challenge for Undergraduate Robotics
Ruvolo, Paul (Olin College of Engineering)
I present a robotics localization challenge based on the inexpensive Neato XV robotic vacuum cleaner platform. The challenge teaches skills such as computational modeling, probabilistic inference, efficiency vs. accuracy tradeoffs, debugging, parameter tuning, and benchmarking of algorithmic performance. Rather than allowing students to pursue any localization algorithm of their choosing, here, I propose a challenge structured around the particle filter family of algorithms. This additional scaffolding allows students at all levels to successfully implement one approach to the challenge, while providing enough flexibility and richness to enable students to pursue their own creative ideas. Additionally, I provide infrastructure for automatic evaluation of systems through the collection of ground truth robot location data via ceiling-mounted location tags that are automatically scanned using an upward facing camera attached to the robot. The robot and supporting hardware can be purchased for under $400 dollars, and the challenge can even be run without any robots at all using a set of recorded sensor traces.
Contextual RNN-GANs for Abstract Reasoning Diagram Generation
Kulharia, Viveka (Indian Institute of Technology, Kanpur) | Ghosh, Arnab (Indian Institute of Technology, Kanpur) | Mukerjee, Amitabha (Indian Institute of Technology, Kanpur) | Namboodiri, Vinay (Indian Institute of Technology, Kanpur) | Bansal, Mohit (University of North Carolina, Chapel Hill)
Understanding object motions and transformations is a core problem in computer science. Modeling sequences of evolving images may provide better representations and models of motion and may ultimately be used for forecasting or simulation. Diagrammatic Abstract Reasoning is an avenue in which diagrams evolve in complex patterns and one needs to infer the underlying pattern sequence and generate the next image in the sequence. For this, we develop a novel Contextual Generative Adversarial Network based on Recurrent Neural Networks (Context-RNN-GANs), where both the generator and the discriminator modules are based on contextual history and the adversarial discriminator guides the generator to produce realistic images for the particular time step in the image sequence. We employ the Context-RNN-GAN model (and its variants) on a novel dataset of Diagrammatic Abstract Reasoning as well as perform initial evaluations on a next-frame prediction task of videos. Empirically, we show that our Context-RNN-GAN model performs competitively with 10th-grade human performance but there is still scope for interesting improvements as compared to college-grade human performance.
Learning without Forgetting
When building a unified vision system or gradually adding new capabilities to a system, the usual assumption is that training data for all tasks is always available. However, as the number of tasks grows, storing and retraining on such data becomes infeasible. A new problem arises where we add new capabilities to a Convolutional Neural Network (CNN), but the training data for its existing capabilities are unavailable. We propose our Learning without Forgetting method, which uses only new task data to train the network while preserving the original capabilities. Our method performs favorably compared to commonly used feature extraction and fine-tuning adaption techniques and performs similarly to multitask learning that uses original task data we assume unavailable. A more surprising observation is that Learning without Forgetting may be able to replace fine-tuning with similar old and new task datasets for improved new task performance.
Model AI Assignments 2017
Neller, Todd W. (Gettysburg College) | Eckroth, Joshua (Stetson University) | Reddy, Sravana (Wellesley College) | Ziegler, Joshua (Air Force Institute of Technology) | Bindewald, Jason (Air Force Institute of Technology) | Peterson, Gilbert (Air Force Institute of Technology) | Way, Thomas (Villanova University) | Matuszek, Paula (Villanova University) | Cassel, Lillian (Villanova University) | Papalaskari, Mary-Angela (Villanova University) | Weiss, Carol (Villanova University) | Anders, Ariel (Massachusetts Institute of Technology) | Karaman, Sertac (Massachusetts Institute of Technology)
The Model AI Assignments session seeks to gather and disseminate the best assignment designs of the Artificial Intelligence (AI) Education community. Recognizing that assignments form the core of student learning experience, we here present abstracts of six AI assignments from the 2017 session that are easily adoptable, playfully engaging, and flexible for a variety of instructor needs.
Polynomial Optimization Methods for Matrix Factorization
Wang, Po-Wei (Carnegie Mellon University) | Li, Chun-Liang (Carnegie Mellon University) | Kolter, J. Zico (Carnegie Mellon University)
Matrix factorization is a core technique in many machine learning problems, yet also presents a nonconvex and often difficult-to-optimize problem. In this paper we present an approach based upon polynomial optimization techniques that both improves the convergence time of matrix factorization algorithms and helps them escape from local optima. Our method is based on the realization that given a joint search direction in a matrix factorization task, we can solve the ``subspace search'' problem (the task of jointly finding the steps to take in each direction) by solving a bivariate quartic polynomial optimization problem. We derive two methods for solving this problem based upon sum of squares moment relaxations and the Durand-Kerner method, then apply these techniques on matrix factorization to derive a direct coordinate descent approach and a method for speeding up existing approaches. On three benchmark datasets we show the method substantially improves convergence speed over state-of-the-art approaches, while also attaining lower objective value.
DeepFix: Fixing Common C Language Errors by Deep Learning
Gupta, Rahul (Indian Institute of Science Bangalore) | Pal, Soham (Indian Institute of Science Bangalore) | Kanade, Aditya (Indian Institute of Science Bangalore) | Shevade, Shirish (Indian Institute of Science Bangalore)
The problem of automatically fixing programming errors is a very active research topic in software engineering. This is a challenging problem as fixing even a single error may require analysis of the entire program. In practice, a number of errors arise due to programmer's inexperience with the programming language or lack of attention to detail. We call these common programming errors. These are analogous to grammatical errors in natural languages. Compilers detect such errors, but their error messages are usually inaccurate. In this work, we present an end-to-end solution, called DeepFix, that can fix multiple such errors in a program without relying on any external tool to locate or fix them. At the heart of DeepFix is a multi-layered sequence-to-sequence neural network with attention which is trained to predict erroneous program locations along with the required correct statements. On a set of 6971 erroneous C programs written by students for 93 programming tasks, DeepFix could fix 1881 (27%) programs completely and 1338 (19%) programs partially.
Efficient Stochastic Optimization for Low-Rank Distance Metric Learning
Zhang, Jie (Nanjing University) | Zhang, Lijun (Nanjing University)
Although distance metric learning has been successfully applied to many real-world applications, learning a distance metric from large-scale and high-dimensional data remains a challenging problem. Due to the PSD constraint, the computational complexity of previous algorithms per iteration is at least O ( d 2 ) where d is the dimensionality of the data.In this paper, we develop an efficient stochastic algorithm for a class of distance metric learning problems with nuclear norm regularization, referred to as low-rank DML. By utilizing the low-rank structure of the intermediate solutions and stochastic gradients, the complexity of our algorithm has a linear dependence on the dimensionality d . The key idea is to maintain all the iterates in factorized representations and construct stochastic gradients that are low-rank. In this way, the projection onto the PSD cone can be implemented efficiently by incremental SVD. Experimental results on several data sets validate the effectiveness and efficiency of our method.
AI Projects for Computer Science Capstone Classes (Extended Abstract)
Taylor, Matthew E. (Washington State University) | Ay, Sakire Arslan (Washington State University)
Capstone senior design projects provide students with a collaborative software design and development experience to reinforce learned material while allowing students latitude in developing real-world applications. Our two-semester capstone classes are required for all computer science majors. Students must have completed a software engineering course — capstone classes are typically taken during their last two semesters. Project proposals come from a variety of sources, including industry, WSU faculty (from our own and other departments), local agencies, and entrepreneurs. We have recently targeted projects in AI — although students typically have little background, they find the ideas and methods compelling. This paper outlines our instructional approach and reports our experiences with three projects.
Exploring Artificial Intelligence Through Image Recognition
Fargas, Kelsey (University of Southern California) | Zhou, Bingjie (University of Southern California) | Staruk, Elizabeth (University of Southern California) | Tejada, Sheila (University of Southern California)
This demonstration showcases the different use cases of Artificial Intelligence (AI) in education by introducing students to applications of the Scribbler robot with the Fluke board in order to cultivate an interest in programming, robotics, and AI. The targeted audience for this is students aged eight through twelve. This demonstration uses three Scribbler robots to introduce students to common tools in AI (OpenCV and Tesseract), and teach them the basics of coding in an interactive, unintimidating way; by physically describing the goals of simple shape-building algorithms and implementing them using cards with both visual and written representations of the instructions.
Improving Performance of Analogue Readout Layers for Photonic Reservoir Computers with Online Learning
Antonik, Piotr (Université libre de Bruxelles) | Haelterman, Marc (Université libre de Bruxelles) | Massar, Serge (Université libre de Bruxelles)
Reservoir Computing is a bio-inspired computing paradigm for processing time-dependent signals (Jaeger and Haas 2004; Maass, Natschläger, and Markram 2002). The performance of its hardware implementation (see e.g. (Soriano et al. 2015) for a review) is comparable to state-of-the-art digital algorithms on a series of benchmark tasks.The major bottleneck of these implementation is the readout layer, based on slow offline post-processing. Several analogue solutions have been proposed (Smerieri et al. 2012; Duport et al. 2016; Vinckier et al. 2016), but all suffered from noticeable decrease in performance due to added complexity of the setup. Here we propose the online learning approach to solve these issues. We present an experimental reservoir computer with a simple analogue readout layer, based on previous works, and show numerically that online learning allows to disregard the added complexity of an analogue layer and obtain the same level of performance as with a digital layer. This work thus demonstrates that online training allows building high-performance fully-analogue reservoir computers, and represents an important step towards experimental validation of the proposed solution.