Unsupervised Cipher Cracking Using Discrete GANs

Authors: Aidan N. Gomez, Sicong Huang, Ivan Zhang, Bryan M. Li, Muhammad Osama, Lukasz Kaiser

ICLR 2018 | Conference PDF | Archive PDF | Plain Text | LLM Run Details

Reproducibility Variable Result LLM Response
Research Type Experimental We demonstrate that Cipher GAN is capable of cracking language data enciphered using shift and Vigen ere ciphers to a high degree of fidelity and for vocabularies much larger than previously achieved. 4 EXPERIMENTS Our experiments use plaintext natural language samples from the Brown English text dataset (Francis & Kucera, 1979).
Researcher Affiliation Collaboration 1 Department of Computer Science, University of Toronto 2 FOR.ai 3 Google Brain
Pseudocode No The paper describes architectural details in Appendix A, but does not present them in pseudocode or a clearly labeled algorithm block.
Open Source Code Yes Code available at: github.com/for-ai/ciphergan
Open Datasets Yes Our experiments use plaintext natural language samples from the Brown English text dataset (Francis & Kucera, 1979).
Dataset Splits No The paper uses the Brown English text dataset and specifies batch size 64, but does not provide explicit train/validation/test dataset splits (e.g., percentages or sample counts) for reproducibility.
Hardware Specification No The paper does not provide specific details on the hardware used, such as exact GPU or CPU models, memory, or cloud instance types.
Software Dependencies No The paper mentions using the Adam optimizer and replacing batch normalization with layer normalization, but does not specify version numbers for any programming languages, libraries, or frameworks used for implementation.
Experiment Setup Yes We train using the Adam optmizer (Kingma & Ba, 2014) with batch size 64 and learning rate 2e 4, β1 = 0 and β2 = 0.9. Our learning rate is exponentially warmed up to 2e 4 over 2500 steps, and held constant thereafter. We use learned embedding vectors with 256 dimensions. The WGAN Lipschitz conditioning parameter was set to α = 10...