Natural Language Understanding with Distributed Representation Machine Learning

This is a lecture note for the course DS-GA 3001 at the Center for Data Science , New York University in Fall, 2015. As the name of the course suggests, this lecture note introduces readers to a neural network based approach to natural language understanding/processing. In order to make it as self-contained as possible, I spend much time on describing basics of machine learning and neural networks, only after which how they are used for natural languages is introduced. On the language front, I almost solely focus on language modelling and machine translation, two of which I personally find most fascinating and most fundamental to natural language understanding.


AAAI Conferences

This paper describes the design and implementation of a new, simplified, entry-level RoboCup league and its integration into an introductory robotics and artificial intelligence curriculum. This E-League allows teams to focus on individual aspects such as hardware platform development or multi agent coordination, because the league provides modular solutions for several components and lets teams concentrate on chosen area(s) instead of requiring that all teams solve all aspects of a coordinated RoboCup team.

RMIT partners with NAB and Palo Alto Networks for new cybersecurity course


The smartest companies now approach cybersecurity with a risk management strategy. Learn how to make policies to protect your most important digital assets. The Royal Melbourne Institute of Technology (RMIT) has announced a new online course on cybersecurity in a bid to address Australia's cybersecurity skills shortage. As part of the course, RMIT Online has partnered with the National Australia Bank (NAB) and Palo Alto Networks, with both organisations to provide mentors for the course. The course, called Cyber Security Risk and Strategy, will cover topics such as the fundamentals of cybersecurity and how to apply cybersecurity risk mitigation strategies to an organisation.

Pyro: An Integrated Environment for Robotics Education

AAAI Conferences

Pyro, which stands for Python Robotics, is a Python-based robotics programming environment that enables students to explore topics in robotics. Programming robot behaviors in Pyro is akin to programming in a high-level general purpose programming language; Pyro provides abstractions for low-level robot-specific features much like the abstractions provided in high-level programming languages. Consequently, robot control programs written for a small robot (such as K-Team's hockey puck sized, infrared-based Khepera robot) can be used, without any modifications, to control a much larger robot (such as ActivMedia's human-scale, laser-based PeopleBot). This represents an advance over previous robot programming methodologies in which robot programs were written for specific motor controllers, sensors, communications protocols and other low-level features. Programming robot behaviors is carried out using the programming language Python, which enables several additional pedagogical benefits. We have developed an extensive set of robot programming modules, modeling techniques, and learning materials that can be used in graduate and undergraduate curricula in a variety of ways. Currently, Pyro supports K-Team's Kheperas, ActivMedia's Pioneer class robots (including PeopleBot and AmigoBot robots), Player/Stage based robots (including Evolution's ER1 and many others), the Handyboard, RWI's Mobility-based B21R, and simulators for all of these. Currently, many other robots are also being ported to Pyro, including Sony's Aibo, K-Team's inexpensive Hemisson, and the Robocup Soccer Server Simulator.

CMRoboBits: Creating an Intelligent AIBO Robot

AI Magazine

CMRoboBits is a course offered at Carnegie Mellon University that introduces students to all the concepts needed to create a complete intelligent robot. In particular, the course focuses on the areas of perception, cognition, and action by using the Sony AIBO robot as the focus for the programming assignments. This course shows how an AIBO and its software resources make it possible for students to investigate and work with an unusually broad variety of AI topics within a single semester. While material presented in this article describes using AIBOs as the primary platform, the concepts presented in the course are not unique to the AIBO and can be applied on different kinds of robotic hardware.