The two concepts machine teaching and inverse RL are closely related. But one is not a special case of another. For machine teaching, the goal is to decide the optimum data set for an algorithm to learn. In other words, given a constraint of teaching cost (that can be proportional to the size of training batch), the teacher would like to minimize the learning error. In most machine teaching setup, we usually assume that learning model is given. Moreover, we may also absorb the teaching cost constraint into the objective function with Lagrange multiplier.
Because just evaluating the objective function (getting the learning error) requires to complete the training of the model. Even machine teaching formalism is intuitive. It is not easy to apply in practice because of the very high complexity in solving the overall optimization problem.
Therefore some works do not try to find the optimum training batch for the teaching problem but try to iteratively improve the training batch so as to improve teaching. For example, the work by Microsoft considers machine training process as language programming.
Inverse RL
The goal of inverse RL is not to optimize the training data but the reward function. Given the training data, the goal of inverse RL problem is to find the optimum reward to imitate the trajectory of the training data.
Inverse RL is an important problem because appropriate reward function for a task is not always obvious. There have been interesting works of applying machine teaching to inverse RL problems. For example, SCOT by UT and the sequential machine teaching problem by HIIT. Some potential improvement of these approaches could be increasing the robustness of the reward function. That may include MAXENT modifications of these approaches.