Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Quantum machine learning wikipedia , lookup
Neural modeling fields wikipedia , lookup
Existential risk from artificial general intelligence wikipedia , lookup
Time series wikipedia , lookup
History of artificial intelligence wikipedia , lookup
Reinforcement learning wikipedia , lookup
Human-Computer Interaction Institute wikipedia , lookup
Concept learning wikipedia , lookup
Applied Machine Learning for Engineering and Design Fall 2015 TuTh 2:00-3:15pm CHE 2136 Catalog Description Applied Machine Learning for Engineering and Design; (3 credits) Grade Method: REG/P-F/AUD. Prerequisite: Undergraduate-level Statistics (ENME392 or equivalent) or Instructor Permission. Cross-listed at both the undergraduate (440) and graduate level (808E). Learn how to apply techniques from Artificial Intelligence and Machine Learning to solve engineering problems and design new products or systems. Design and build a personal or research project that demonstrates how computational learning algorithms can solve difficult tasks in areas you are interested in. Master how to interpret and transfer state-of-the-art techniques from computer science to practical engineering situations and make smart implementation decisions. Contact Dr. Mark Fuge ([email protected]) – 2172 Martin Hall Course Overview New products and systems are no longer stand-alone devices. They produce and consume data with humans and other machines at alarming rates, for tasks such as robotic control, design mass-customization, health monitoring, and even recognizing and adapting to our personal behaviors. Artificial Intelligence (AI) and Machine Learning (ML) link these devices to the data they generate through a dizzying array of models and computing architectures. This course helps you make sense of these techniques and understand when and how they can be used for new products, systems, or research directions in engineering. This course will introduce you to the basic principles of AI and ML, and equip you with the necessary skills to apply those principles to solving various engineering and design problems. To do this, the course helps you build up your abilities in eight key areas: Fundamental Mathematical Knowledge How to discern between various AI/ML algorithms and appreciate how their fundamental mathematical structure creates those differences. How to read state-of-the-art literature in technical fields and understand how to apply it to problems you are interested in. Analyzing Model Assumptions How to understand when particular AI/ML models are appropriate and how different aspects of an engineering or design problem might affect a particular model. System Implementation How to deploy AI/ML techniques in real-world scenarios. What kinds of computing architectures exist and how do you decide which one to use for your specific application. Data-Wrangling How to take heterogeneous information from a variety of sources and sensors and represent it computationally in a way that is amenable to AI/ML algorithms. Page 1 of 6 Trade-Offs How to determine appropriate tradeoffs (accuracy, speed, cost, etc.) when deploying an AI/ML system for various engineering or design applications. Communication How to communicate the results of your work to technical and non-technical audiences, in written and oral form. How to take complex data analysis and make it easily digestible to those in your field. Self-Assessment How to analyze your own skills and gaps in knowledge and locate appropriate resources that help you learn and overcome future challenges. The course will involve a substantial term project where you can apply the techniques you learn in class to a personal or research project of your choice. You will demo and present these projects in an end-of-semester exposition open to the public. Examples of things you will be able to do after completing the course include: • • • • • • • Devise control algorithms for robotics or other systems that learn from experience. Design search strategies for complex planning problems, such as manufacturing scheduling or path finding. Detect anomalous events from data (e.g., sensor readings) and use them to prevent failures. Embed intelligence into products so that they adapt to how you use them (e.g., the Nest Thermostat) Locate patterns or clusters in system or human behaviors to identify areas for deeper research. Fit any of the above onto a computing system of your choice (PC, cell phone, Arduino, “The Cloud”) and understand the costs and limitations of that choice. Further a research frontier in your field, design new “smart products” for modern markets, or apply for jobs involving data science or applied machine learning within engineering organizations. Grading/Assessment This class is cross-listed at both the Undergraduate (ENME 440) and Graduate (ENME 808E) level. Those enrolled in the graduate section will be expected to perform the following additional assessments: 1. Write a conference-length paper on their final project in addition to the demo and poster presentation at the end of the semester. 2. Solve additional problem sets questions beyond what those in ENME 440 are required to solve. The weight of various assessments in the course are as follows: Assessment Unit Problem Sets Participation—Class and Online Comprehension Quizzes Self-Assessments/Reflections Semester Project Deliverables Final Project Paper Total ENME 440 808E 25% 25% 15% 5% 30% 100% 25% 25% 15% 5% 20% 10% 100% Page 2 of 6 Course Content The course will be divided into four main units each covering how to apply major techniques from Artificial Intelligence and Machine Learning to various engineering problems. Week 1 2-4 5-7 8-10 11-13 14-15 Topic Review of Fundamental Mathematics and Statistics needed for AI/ML AI: Search and Planning AI: Markov Decision Processes and Reinforcement Learning ML: Supervised Learning ML: Unsupervised Learning Special Topics and Final Project Exposition Some examples of specific topics, algorithms, or systems we may cover include: Topics: • • • • • • • • • • • • Effects of Function Regularization, Smoothness, and Sparsity Evaluating AI/ML models (e.g., cross-validation, accuracy vs ROC) Effects of Statistical Assumptions (e.g., heteroscedasticity, exchangeability, class imbalance) Online vs Offline models and inference (e.g., streaming data, stochastic gradient descent) Pros and Cons of different inference techniques (e.g., MCMC vs Variational vs Exact) Structured prediction Outlier Detection Dealing with Dimensionality Concerns (e.g., projections, hashing) Dealing with Human Input and Interaction Active vs Passive Learning Ethical considerations for data-driven products and systems Emerging research directions intersecting AI/ML and Engineering Algorithms: • Optimal and Heuristic search (e.g., A*-search) • Constraint Satisfaction Problems • State-Space Estimation (e.g., Particle Filtering, Temporal Difference Learning) • Kernel Machines (e.g., Support Vector Machines) • Parametric Function Approximations (e.g., Generalized Linear Models) • Non-Parametric Function Approximations (e.g., Gaussian Processes, Neural Networks) • Boosting and Bagging (e.g., Random Forests, Ensembles) • Matrix Factorization (e.g., Principal Components, Non-negative matrix factorization) • Manifold Learning (e.g., Isomaps, Local Linear Embedding, Spectral Embedding) • Mixture Models (e.g., Gaussian Mixtures, Dirichlet Process Mixtures) Systems: • Single- vs Multi-Threaded vs Network-Distributed Computation Architectures (e.g., Map-Reduce) • Data structures for improving inference and computation (e.g., KD-Trees, Hashing) Page 3 of 6 Course Schedule Module Wk Topic Examples of Techniques Covered Review 1 Probability; Comp. Architectures Decision Trees and K-Nearest Neighbors. CPUs vs GPUs vs Distributed Computation. 2 Graph Theory, Data Structures, Visualization Graph Laplacians and Spectral Theory. Singular Value Decomposition 3 A*-Search Depth-, Breadth-, and Best-First Search. A*-Search. Admissibility. 4 Constraint Satisfaction Constrain Propagation. Local Search. Stochastic Gradient Descent. Convexity. Simulated Annealing. 5 Probabilistic Models and Inference Directed Acyclic Graphs. Bayes Ball Algorithm. Maximum Likelihood Estimation. EM Algorithm. Approximate Inference: Variational + MCMC. 6 Reinforcement Learning Value/Policy Iteration. Q-Learning. Explore/Exploit Tradeoff. Deep-Q Learning. 7 State Space Estimation HMMs. Particle Filters. System Identification. 8 Generalized Linear Models Exponential Families. GLMs. Loss Functions & Empirical Risk Minimization. Regularization. Sparsity. 9 Non-Parametric Models Kernels. Representer Theorem. RKHS Regularization. Support Vector Machines. Gaussian Processes. Kernel Approximation. Feature Hashing. 10 Ensembles Bagging (Random Forests). Boosting (Gradient Boosting). Cross-Validation. Hyper-parameter Optimization. Multi-Class Algorithms. Stacking. Clustering, Mixture Models, EM Algorithm EM Algorithm for GMMs. K-Means++. NonParametric Bayesian Clustering (Dirichlet Processes). Spectral Clustering. 12 Manifold Learning PCA and Matrix Factorizations. Dictionary Learning. Spectral Embedding. t-SNE. Isomap. 13 Outlier Detection; Thanksgiving One-class SVMs. Kernel Density Estimation. 14 Active Learning; SemiSupervised Learning Multi- and Infinite-Armed Bandits. UpperConfidence Bound Algorithms. Variance Reduction Algorithms. Label Propagation. 15 Deep/Structured Learning; Final Expo Neural Networks and Deep Learning. Final Project Demo Day. AI: Search AI: MDPs ML: Supervised ML: 11 Unsupervised Special Topics Page 4 of 6 Course Format The course will meet two times a week (TuTh 2:00-3:15pm CHE 2136). Each meeting involves a subset of the following activities: • • • Discussions around in-class demonstration of various AI/ML algorithms applied to real and synthetic data. Group analysis of datasets from a variety of engineering domains, with class discussions around different modeling choices and assumptions. Discussions of case studies or research papers applicable to the course content. Programming This course will require a significant amount of programming on a weekly basis and for the final project. Inclass examples will be done in Python, though you are free to use whatever language you want for the assignments or project. You should be comfortable writing programs of a few hundred lines in an interpreted language (e.g., MATLAB, Python, etc.) to get the most out of the course discussions and problem sets. Course Polices Readings/Textbook There is no single textbook that covers all of the topics we will discuss in this course. As such, there is no required textbook for the class. The vast majority of course content will be freely available via course lecture notes, website content, or academic papers accessible through the UMD network. The optional recommended texts below may be useful for a deeper understanding of the course subjects and are available through the UMD library or online: 1. 2. 3. 4. 5. Kevin Murphy, Machine Learning: A Probabilistic Perspective, MIT Press Stuart Russell, Peter Norvig, Artificial Intelligence: A Modern Approach, Prentice Hall Christopher Bishop, Pattern Recognition and Machine Learning, Springer Richard Sutton and Andrew Barto, Reinforcement Learning: An Introduction, MIT Press Tom Mitchell, Machine Learning, McGraw Hill Attendance A large portion of your grade will be determined by participation in class discussions and activities, so attendance is necessary. University policy excuses the absences of students for illness (self or dependent), religious observances (http://www.president.umd.edu/policies/iii510a.html), participation in University activities at the request of University authorities, and compelling circumstances beyond the student's control. Students must submit the request in writing and supply appropriate documentation, e.g. medical documentation. Students with written, excused absences are entitled to a makeup exam (or assignments if applicable) at a time mutually convenient for the instructor and student. For more information, see UMD's policy on medically necessitated absences from class Course Website The course will be using the UMD Canvas infrastructure to facilitate most course issues: http://umd.instructure.com. For online Q&A, we will use Piazza (https://piazza.com), embedded in the Canvas site. Page 5 of 6 Late Assignments Reading Comprehension Quizzes and Self-Reflections are due at their designated time on Canvas, at which time Canvas will prevent further submissions and you would get zero credit for that assignment. For Problem Sets, Project Deliverables, and the Final Paper, the policy for late submissions will be set in the first week of class according to the results of the Pre-Course survey. Exceptions will be made in accordance with University policy regarding major grading events. All submissions should be done via Canvas; no assignments will be accepted via email. Plagiarism and Group Work I encourage group work for discussing Unit Problem Sets, however all of your work should be your own (i.e., any write up and code you submit should be done without conferring with your peers). For the Comprehension quizzes, no collaboration of any kind if allowed. For the Final Project, you are allowed to work in groups, however, the amount of work should scale by the number of team members. Please review the university policy on academic integrity and academic dishonesty at http://www.jpo.umd.edu/ and http://www.studenthonorcouncil.umd.edu/code.html. Also note that no form of plagiarism will be tolerated. All work presented to the instructor is assumed to be the original work of the course participant(s). Words, diagrams, figures, or original contributions of anyone other than a student must be referenced when included in a student’s work. The course instructor may use plagiarism checking software and/or request evidence of references for any submitted work. A useful website on avoiding plagiarism is found at the Purdue Online Writing Lab (http://owl.english.purdue.edu/owl/resource/589/01/). Note: All homework assignments are assumed to be original work of each individual course participant. Copying work done by another is considered an act of academic dishonesty and will be reported according to University policy. All other assignments are collaborative, group work. It is critical that teams use formal referencing practices in all reports and presentations. Failure to do so will be treated in accordance with University policy. Page 6 of 6