Skip to content
This repository has been archived by the owner on May 16, 2024. It is now read-only.

OMS CS7637 - Knowledge-Based AI (KBAI) - Spring '19 #3

Open
scarecrow1123 opened this issue May 5, 2019 · 0 comments
Open

OMS CS7637 - Knowledge-Based AI (KBAI) - Spring '19 #3

scarecrow1123 opened this issue May 5, 2019 · 0 comments

Comments

@scarecrow1123
Copy link
Owner

scarecrow1123 commented May 5, 2019

CS7637 Knowledge-Based AI - Cognitive Systems (KBAI) - Spring '19

Instructor: Prof David Joyner
Course Page: Link

I applied for OMSCS in 2018 and joined the Spring '19 batch. I intend to do Machine Learning(ML) Specialization. KBAI is in no way related to anything that is machine learning and it does not fall under the core/elective courses that is required for the specialization. To satisfy the specialization requirements, I will be taking the following seven courses that are available throughout this program:

  • CS 6515 GA
  • CS7641 ML
  • CS6476 CV
  • CS7642 RL
  • CS7646 ML4T
  • CSE6242 DVA
  • CSE6250 BD4H

Apart from the above courses few other courses that may be relevant for someone who is interested in ML/AI could be CS6601 Artifical Intelligence, CS7638 AI for Robotics. KBAI can be considered as a distant precursor to a typical AI course, but definitely not a prerequisite if one is planning to take any of the above courses.

About KBAI

KBAI is a gentle introduction to concepts and problems that are involved when designing an AI algorithm. The syllabus surveys a wide variety of traditional AI paradigms and concepts that closely follows the Patrick Winston "Artificial Intelligence" book. The course content also includes some of the work done personally by the instructors Ashok Goel, David Joyner and people from their lab.

Course work

The goal of this class is to develop an AI agent to solve a variant of an IQ test called Raven's Progressive Matrices (RPM). The class is divided into three 5-week periods. Each of these include submitting a 10-page assignment, project work and an exam. The project work includes writing code to solve a given set of RPM problems and writing a detailed report. So at the end of the course everyone would have submitted 3 sets of assignments, projects and exams.

RPM Project

There are 4 sets of RPM problems given with increasing difficulty(see attached image for a sample problem). These problems could be solved in two different ways. For the first two projects, we would be given a verbal description of these patterns which can be used as input to solve the problem. However for the final project, only images can be directly used as inputs. Hence it would make sense to start the first project itself by using image inputs rather than starting with verbal and changing the agent implementation at a later stage to use visual inputs. These two papers[1], [2] helped a lot to implement the solution successfully.
image

Getting started early on the projects is also helpful. The grading rubric for the project includes how spaced out the submissions are for a project.

About the class

The class was very well organized. I should say that Prof Joyner's way of organizing a class should be a blueprint for designing and conducting classes online. The TAs were also helpful throughout in Piazza and the forums were literally buzzing throughout(perhaps because posting something would fetch a student some participation grades too ;)). But overall the class was very engaging and set the tone for me on how OMS is going to be. The class also used Peerfeedback to receive and give peer feedback about project and assignment submissions. Even though the feedbacks I received were mostly generic and sometimes rhetorical, getting to read others' submissions was definitely helpful in a lot of ways to me personally.

One quibble I had with the content was that the things I(or most of the class) implemented for the projects were for a large part looked disconnected from the lecture content. Even though on hindsight a bunch of things from an implementation could be mapped to a few concepts in the lectures, there was nothing that enforced on using them. Also, the lecture content looked repetitive and hand-wavy a bit at times. There are not many computational techniques/models that one could learn from this class.

There are also a couple of optional participation projects completing which would fetch some participation points. Both of them had an NLP problem to solve. These projects are testers for what may be given as full time projects in one of the later versions of KBAI. Another interesting fact about KBAI is from one of the discussions that happened in the forums. It looks like in the Fall version of KBAI, the TAs wouldn't know if a submission is from the online class or the onsite class that happens at GT. And I heard that there is no much performance difference between the two classes.

Conclusion

I opted this class because this was my first semester into the program. A lot of reviews in OMSCentral also suggested this class for someone who is starting with OMS. I also intended to get an introduction to the traditional AI topics and this class did satisfy a part of my expectations. However, if you are expecting to learn computational techniques, this class is weak on that front. This is an easy class for a graduate level program and one can expect to work around 10-15 hours a week during submission times.

@scarecrow1123 scarecrow1123 changed the title WIP: OMS CS7637 - Knowledge-Based AI - Spring '19 OMS CS7637 - Knowledge-Based AI - Spring '19 May 5, 2019
@scarecrow1123 scarecrow1123 changed the title OMS CS7637 - Knowledge-Based AI - Spring '19 OMS CS7637 - Knowledge-Based AI (KBAI) - Spring '19 May 5, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant