PXtal: Learning to Align Powder X-Ray Diffraction and Crystal Structures under Information Asymmetry across Modalities
Organizations: School of Computer Science and Informatics, University of Liverpool, Liverpool, UK · Leverhulme Research Centre for Functional Materials Design, Materials Innovation Factory, University of Liverpool, Liverpool, UK · School of Computer Science, University of Sheffield, Sheffield, UK · Department of Chemistry, University of Liverpool, Liverpool, UK
Abstract
Scientific multimodal learning commonly assumes that paired views are comparably informative. Powder X-ray diffraction (PXRD) makes this mismatch explicit: compressing a three-dimensional crystal structure into a one-dimensional diffraction pattern loses information and makes the pattern harder to connect to the crystal structure that produced it. We introduce PXtal, a framework for learning aligned PXRD and crystal representations under this physically imposed information asymmetry. PXtal uses Unbalanced Optimal Transport (UOT) to adapt the cross-modal coupling and coupling-level generalized Kullback-Leibler (GKL) divergence to supervise the full transport plan. Across six test sets, including four zero-shot transfer sets, PXtal consistently outperforms the baseline models in PXRD-to-crystal candidate retrieval, with the largest gains when PXRD patterns have close but crystallographically distinct nonpaired neighbors, meaning similar input patterns associated with different crystals. The resulting crystal and PXRD encoders transfer more effectively to downstream materials and crystallographic tasks. These results identify information asymmetry as a general design problem in scientific multimodal learning: alignment objectives should reflect what each modality preserves.
Figures & tables
| Model | Objective | Epochs | Mean (s/epoch) | Median (s/epoch) | Overhead |
|---|---|---|---|---|---|
| PXtal-CLIP | InfoNCE | 100 | 133.93 | 133.59 | 0.00% |
| PXtal-OT | OT | 100 | 134.65 | 134.03 | 0.54% |
| PXtal-UOT GKL | UOT | 100 | 134.89 | 134.70 | 0.72% |
| PXtal-UFGOT | UFGOT | 100 | 137.87 | 137.31 | 2.95% |
| PXtal-FGOT | FGOT | 100 | 141.85 | 141.46 | 5.92% |
| Dataset | Model | Exact retrieval | Crystal system | Space group | ||||
|---|---|---|---|---|---|---|---|---|
| Acc@1 (%) | Acc@3 (%) | Acc@5 (%) | MRR | Acc@1 (%) | Acc@1 (%) | Acc@3 (%) | ||
| MP-100 | XtalNet-CPCP | 65.13 | 84.46 | 89.07 | 75.78 | 87.09 | 81.48 | 90.36 |
| PXRDGen-PXE † | 65.10 | 82.12 | 85.96 | 74.68 | 84.94 | 79.11 | 88.10 | |
| PXtal-CLIP | 67.26 | 84.67 | 88.34 | 76.77 | 87.12 | 81.41 | 90.21 | |
| PXtal-OT | 71.71 | 87.91 | 91.05 | 80.43 | 89.05 | 84.46 | 92.13 | |
| PXtal-UOT CE | 70.82 | 87.28 | 90.46 | 79.71 | 89.34 | 84.15 | 91.76 | |
| Model | JARVIS-DFT-3D | Alex-MP-20 | QMOF | Perov-5 | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Exact retrieval | Crystal system | Space group | Exact retrieval | Crystal system | Space group | Exact retrieval | Crystal system | Space group | Exact retrieval | Crystal system | Space group | |
| PXtal-CLIP | 61.66 | 82.16 | 72.30 | 54.48 | 78.83 | 70.48 | 11.09 | 53.12 | 36.33 | 19.31 | 57.99 | 57.99 |
| PXtal-OT | 64.98 | 84.93 | 76.42 | 56.87 | 80.62 | 72.41 | 16.32 | 51.67 | 37.87 | 20.18 | 60.05 | 60.03 |
| PXtal-FGOT | 65.36 | 84.33 | 75.99 | 56.39 | 80.07 | 71.98 | 19.46 | 55.30 | 42.76 | 21.74 | 59.34 | 59.34 |
| PXtal-UFGOT | 68.89 | 89.53 | 81.05 | 58.51 | 83.99 | 75.37 | 18.56 | 54.64 | 41.75 | 23.46 | 62.99 | 62.96 |
| PXtal-UOT GKL | 70.18 | 90.22 | 82.18 | 59.24 | 83.94 | 75.91 | 20.99 | 55.87 | 42.54 | 25.63 | 64.23 | 64.23 |
| Model | Band gap MAE (eV) | Formation energy MAE (eV/atom) | Metal/nonmetal AUROC | Metal/nonmetal F1 | Bulk modulus MAE | Shear modulus MAE |
|---|---|---|---|---|---|---|
| ALIGNN | 0.1861 | 0.0215 | 0.9128 | 0.9015 | 0.0568 | 0.0715 |
| coGN | 0.1559 | 0.0170 | 0.9124 | 0.9012 | 0.0535 | 0.0689 |
| PXtal-CLIP | 0.1911 | 0.0231 | 0.9045 | 0.8924 | 0.0545 | 0.0729 |
| PXtal-OT | 0.1882 | 0.0229 | 0.9054 | 0.8933 | 0.0530 | 0.0720 |
| PXtal-FGOT | 0.1881 | 0.0228 | 0.9039 | 0.8914 | 0.0532 | 0.0716 |
| PXtal-UFGOT | 0.1885 | 0.0228 | 0.9040 | 0.8917 | 0.0539 | 0.0727 |
| Model | Crystal system | Space group | Lattice lengths | Lattice angles | Unit cell volume | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| Accuracy (%) | F1 (%) | Accuracy (%) | F1 (%) | MAE (Å) | MAE ( ∘ ) | MAE (Å 3 ) | ||||
| Probe | ||||||||||
| PXtal-CLIP | 89.17 | 86.84 | 75.15 | 52.69 | 0.34 | 0.90 | 3.69 | 0.80 | 25.47 | 0.90 |
| PXtal-OT | 89.25 | 86.95 | 75.06 | 52.93 | 0.35 | 0.90 | 3.78 | 0.80 | 25.94 | 0.89 |
| PXtal-FGOT | 88.65 | 86.25 | 74.79 | 52.62 | 0.36 | 0.90 | 3.90 | 0.79 | 26.20 | 0.89 |
| PXtal-UFGOT | 90.18 | 88.08 | 76.78 | 54.00 | 0.30 | 0.91 | 3.39 | 0.81 | 23.83 | 0.88 |
Appendix figures & tables9 assets
Supplementary material from the paper’s appendix.
Appendix
| Instrument field | Value | Instrument field | Value |
|---|---|---|---|
| Type | PXC | Source label | CuKa |
| Lam | Å | Zero | |
| Polariz. | Azimuth | ||
| U | V | ||
| W | X | ||
| Y | Z |
| Exact retrieval | Crystal system | Space group | ||||||
|---|---|---|---|---|---|---|---|---|
| Encoder | Model | Acc@1 | Acc@3 | Acc@5 | MRR | Acc@1 | Acc@1 | Acc@3 |
| Matformer | PXtal-CLIP | 73.50 | 86.89 | 89.78 | 80.98 | 86.89 | 82.02 | 90.49 |
| PXtal-OT | 76.33 | 89.34 | 91.78 | 83.36 | 88.46 | 83.77 | 92.18 | |
| PXtal-UOT CE | 73.13 | 86.28 | 89.13 | 80.60 | 86.41 | 81.51 | 89.89 | |
| PXtal-UOT GKL | 76.79 | 89.67 | 92.25 | 83.84 | 88.62 | 84.35 | 92.39 | |
| GemNet-T | PXtal-CLIP | 96.97 | 99.77 | 99.87 | 98.36 | 99.45 | 99.15 | 99.81 |
| Exact retrieval | Crystal system | Space group | ||||||
|---|---|---|---|---|---|---|---|---|
| Dataset | Model | Acc@1 | Acc@3 | Acc@5 | MRR | Acc@1 | Acc@1 | Acc@3 |
| JARVIS-DFT-3D | PXtal-CLIP | 61.66 | 76.27 | 80.34 | 70.09 | 82.16 | 72.30 | 84.03 |
| PXtal-OT | 64.98 | 79.93 | 83.89 | 73.48 | 84.93 | 76.42 | 87.37 | |
| PXtal-FGOT | 65.36 | 79.90 | 83.68 | 73.61 | 84.33 | 75.99 | 87.28 | |
| PXtal-UFGOT | 68.89 | 84.32 | 88.62 | 77.65 | 89.53 | 81.05 | 91.65 | |
| PXtal-UOT GKL | 70.18 | 85.39 | 89.32 | 78.74 | 90.22 | 82.18 | 91.88 | |
| Exact retrieval | Crystal system | Space group | ||||||
|---|---|---|---|---|---|---|---|---|
| Dataset | Model | Acc@1 | Acc@3 | Acc@5 | MRR | Acc@1 | Acc@1 | Acc@3 |
| QMOF | PXtal-CLIP | 11.09 | 20.20 | 25.21 | 18.53 | 53.12 | 36.33 | 60.14 |
| PXtal-OT | 16.32 | 26.93 | 32.25 | 24.56 | 51.67 | 37.87 | 62.44 | |
| PXtal-FGOT | 19.46 | 31.93 | 38.51 | 28.83 | 55.30 | 42.76 | 66.62 | |
| PXtal-UFGOT | 18.56 | 30.63 | 36.40 | 27.52 | 54.64 | 41.75 | 64.33 | |
| PXtal-UOT GKL | 20.99 | 33.51 | 39.54 | 30.10 | 55.87 | 42.54 | 67.45 | |
| Q1: lowest similarity | Q2 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Model | Acc@1 | Acc@5 | Acc@10 | MRR | Model | Acc@1 | Acc@5 | Acc@10 | MRR |
| PXtal-CLIP | 70.45 | 88.29 | 92.42 | 78.34 | PXtal-CLIP | 66.66 | 86.58 | 91.00 | 75.63 |
| PXtal-OT | 74.13 | 91.16 | 94.58 | 81.69 | PXtal-OT | 69.79 | 89.21 | 92.71 | 78.47 |
| PXtal-FGOT | 74.13 | 91.50 | 94.74 | 81.83 | PXtal-FGOT | 69.61 | 88.53 | 91.95 | 78.06 |
| PXtal-UFGOT | 77.11 | 93.53 | 96.24 | 84.41 | PXtal-UFGOT | 73.42 | 91.84 | 94.82 | 81.50 |
| PXtal-UOT GKL | 78.00 | 94.32 | 96.66 | 85.19 | PXtal-UOT GKL | 74.42 | 92.42 | 95.29 | 82.56 |
| Crystal encoder | Model | Crystal system | Space group | Lattice lengths | Lattice angles | Unit-cell volume | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Acc. (%) | F1 (%) | Acc. (%) | F1 (%) | MAE (Å) | MAE ( ∘ ) | MAE (Å 3 ) | |||||
| CSPNet | PXtal-CLIP | 76.37 | 75.35 | 64.71 | 46.28 | 0.80 | 0.76 | 6.49 | 0.49 | 103.50 | 0.77 |
| PXtal-OT | 79.14 | 77.98 | 67.13 | 47.82 | 0.74 | 0.78 | 6.20 | 0.50 | 97.57 | 0.78 | |
| PXtal-UOT CE | 80.22 | 79.16 | 67.42 | 47.47 | 0.74 | 0.79 | 6.24 | 0.51 | 95.92 | 0.80 | |
| PXtal-UOT GKL | 81.33 | 80.39 | 69.50 | 51.40 | 0.72 | 0.79 | 5.95 | 0.53 | 93.37 | 0.80 | |
| Matformer | PXtal-CLIP | 76.95 | 75.31 | 63.34 | 43.81 | 0.80 | 0.75 | 6.52 | 0.48 | 104.08 | 0.76 |
| Model | Band gap MAE (eV) | Formation energy MAE (eV/atom) | Metal AUROC | Metal F1 | Bulk modulus MAE | Shear modulus MAE |
|---|---|---|---|---|---|---|
| PXtal-CLIP | ||||||
| PXtal-OT | ||||||
| PXtal-FGOT | ||||||
| PXtal-UFGOT | ||||||
| PXtal-UOT GKL | ||||||
| From scratch |
| Dataset | Train | Validation | Test | Total | PXRD grid |
|---|---|---|---|---|---|
| MP-100 | 28,952 | 6,204 | 6,203 | 41,359 | points, – |
| CrystaLLM-v1 | 2,047,874 | 227,542 | 10,286 | 2,285,702 | 4096 points, – |
| Setting | MP-100 | CrystaLLM-v1 |
| Shared settings | ||
| Optimizer | AdamW ( Loshchilov and Hutter, 2019 ) | |
| Denom. constant | ||
| Schedule | Cosine decay; one update per batch | |
| Seed; selection | 42; best validation performance | |