2nd Open Catalyst Challenge @ NeurIPS 2022

Hi -

Correct, the upcoming test dataset will require predicting adsorption energy - E_ads. As far as releasing reference energies, we have no plans on releasing that information. The training dataset you should be using already corresponds to adsorption energy, so when making test predictions no additional steps are necessary.

Let me know if you have any follow-up questions.

Dear @mshuaibi,
Thank you for your reply. I would also like to know how to calculate the “target_mean” and “target_std” given in /configs/is2re/base.yml, because I notice that the mean and std given by you are slightly different from those set by Graphormer. Are you using different data ranges (e.g., with or without valid data) to calculate the mean and std?

Thanks a lot!

We computed the mean and standard deviation of the IS2RE-All set. No validation data was used. I cant speak to what Graphormer did, but in general we’ve seen little impact regarding the normalization strategies.

Dear mshuaibi,

I’m not sure why the grad_target_mean and grad_target_std values are one-dimensional because they’re used to normalize the forces; why aren’t they three-dimensional means and standards? Also, I would like to know if you used S2EF-all or S2EF-2M to calculate grad_target_mean and grad_target_std. Thanks a lot!

Hi -

Great question. Originally, in order to preserve conservation of energy, forces needed to be normalized by the same normalizing factor used for energies - hence why grad_target_std and target_std are identical. grad_target_mean is set to 0 because when taking the gradient that goes to 0. I believe these were extracted from S2EF-200k, the values don’t change much going to higher dataset sizes and we’ve generally seen little impact on training.

However, with the recent developments of direct force predicting models - e.g. GemNet-OC and SCN, it’s possible to use normalization factors independent of energies. I believe we tried this at some point but didn’t really see much of a difference. We haven’t tried three-dimensional normalization factors as you’ve mentioned.

Hello team,

I would like to know why the target label is normalized in the case of OC20 but set to False for OC22 in the configs?

Thank you for your time!

One thing to note is OC20 was trained on adsorption energies while OC22 while is trained on total DFT energy. We tried experiments for OC22 with and without normalization but found setting it to False provide better results in this case.

Yeah, but given that total DFT energy is much larger in magnitude than adsorption energy, it would seem logical that normalization must improve the performance.

However, even when I trained OC22 by using normalization, I got much poorer results; hence, I wondered if there was any particular reason for this.

Thank you for your time and reply!