MOLER: Incorporate Molecule-Level Reward to Enhance Deep Generative Model for Molecule Optimization

Tianfan Fu, Cao Xiao, Lucas Glass, Jimeng Sun

Research output: Contribution to journalArticlepeer-review


The goal of molecular optimization is to generate molecules similar to a target molecule but with better chemical properties. Deep generative models have shown great success in molecule optimization. However, due to the iterative local generation process of deep generative models, the resulting molecules can significantly deviate from the input in molecular similarity and size, leading to poor chemical properties. The key issue here is that the existing deep generative models restrict their attention on substructure-level generation without considering the entire molecule as a whole. To address this challenge, we propose Molecule-Level Reward functions (MOLER) to encourage (1) the input and the generated molecule to be similar, and to ensure (2) the generated molecule has a similar size to the input. The proposed method can be combined with various deep generative models. Policy gradient technique is introduced to optimize reward-based objectives with small computational overhead. Empirical studies show that MOLER achieves up to 20.2% relative improvement in success rate over the best baseline method on several properties, including QED, DRD2 and LogP.

Original languageEnglish (US)
JournalIEEE Transactions on Knowledge and Data Engineering
StateAccepted/In press - 2021


  • Automatic Molecule Optimization
  • Chemicals
  • Drug Discovery
  • Drugs
  • Generative Models
  • Junctions
  • Maximum likelihood estimation
  • Molecule Generation
  • Optimization
  • Reinforcement learning
  • Task analysis

ASJC Scopus subject areas

  • Information Systems
  • Computer Science Applications
  • Computational Theory and Mathematics


Dive into the research topics of 'MOLER: Incorporate Molecule-Level Reward to Enhance Deep Generative Model for Molecule Optimization'. Together they form a unique fingerprint.

Cite this