https://github.com/gautams3/irl_intelligentgrading
Using Inverse Reinforcement Learning for grading of physical (sensorimotor) skills. This framework is a proof-of-concept with a toy problem of navigating in grid-based parking lot
https://github.com/gautams3/irl_intelligentgrading
educational-technology inverse-reinforcement-learning machine-learning
Last synced: 8 months ago
JSON representation
Using Inverse Reinforcement Learning for grading of physical (sensorimotor) skills. This framework is a proof-of-concept with a toy problem of navigating in grid-based parking lot
- Host: GitHub
- URL: https://github.com/gautams3/irl_intelligentgrading
- Owner: gautams3
- License: apache-2.0
- Created: 2018-04-26T03:04:25.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-04-28T05:33:55.000Z (about 8 years ago)
- Last Synced: 2025-01-08T17:05:27.526Z (over 1 year ago)
- Topics: educational-technology, inverse-reinforcement-learning, machine-learning
- Language: Java
- Homepage: https://www.gautamsalhotra.com/2018/04/inverse-reinforcement-learning-for.html
- Size: 2.08 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://maven-badges.herokuapp.com/maven-central/edu.brown.cs.burlap/burlap) []()   
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](http://burlap.cs.brown.edu/) 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](https://www.jetbrains.com/idea/), a free Java IDE.
1. Clone the project to a local directory (`git clone https://github.com/gautams3/IRL_IntelligentGrading.git` )
3. 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)
4. Open file `src/main/java/Tutorial/IRLParkingLotExample.java`
5. 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 `GridWorldRunOptions` enum
1. Explore and record: This lets you navigate the parking lot world, and record episodes
2. Playback: Playback recorded episodes
3. RunIRL: Run the IRL algorithm to learn the reward function based on the given expert demonstrations (transitions are considered deterministic)
4. 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.