Intelligent Grading with Inverse Reinforcement Learning
This is a project on using Inverse Reinforcement Learning (IRL) for automated grading of physical (sensorimotor) skills. It also includes a snapshot of the BURLAP codebase, since I had to make a few changes in BURLAP to create my IRL framework.
How to run
This project is built using Maven; I will outline steps to use it with IntelliJ, a free Java IDE.
- Clone the project to a local directory (
git clone https://github.com/gautams3/IRL_IntelligentGrading.git)
- Import the project as a Maven project in IntelliJ (Import Project -> go to root project folder -> double click pom.xml. You may have to wait a while for the dependencies to download and the indexing)
- Open file
- Run that class (
main()function. You may have to add a Configuration that runs the IRLParkingLotExample class)
There are 4 modes to run in sequential order, explained thoroughly in the paper. The main() function in IRLParkingLotExample let's you choose these modes, using the
- Explore and record: This lets you navigate the parking lot world, and record episodes
- Playback: Playback recorded episodes
- RunIRL: Run the IRL algorithm to learn the reward function based on the given expert demonstrations (transitions are considered deterministic)
- TestUser: Test the user trials based on the learned reward function from step 3.
In order to help you skip to the mode you wish to run, I have added sample output files for expert demonstrations, user trials, and IRL reward function output.