* change the automatic differentiation API to allow differentiation for compound semiring * add entropy semiring