Improved stability
- Added warmup training for initialization of Q to improve training stability.
- Changed default P initialization to 'pckmeans'.
- Changed convergence check so it is performed after 15 epochs.
- Changed default learning rate to 1e-5 instead of 1e-4.
- Added acceleration for Apple Metal in compatible devices (M1 and M2 family).