On chip learning