搬运自 GitHub
实现了 CipherGAN,用于获取论文Unsupervised Cipher-Cracking Using Neural Networks 的详细结果.
作者: Aidan N. Gomez, Sīcōng Huang, Ivan Zhang, Bryan M. Li, Muhammad Osama, Łukasz Kaiser
@inproceedings{
n.2018unsupervised,
title={Unsupervised Cipher Cracking Using Discrete {GAN}s},
author={Aidan N. Gomez and Sicong Huang and Ivan Zhang and Bryan M. Li and Muhammad Osama and Lukasz Kaiser},
booktitle={International Conference on Learning Representations},
year={2018},
url={https://openreview.net/forum?id=BkeqO7x0-},
}
命令 pip install -r CipherGAN/requirements.txt
来安装依赖项。
我们使用数据生成器来生成用于训练的 TFRecords。 需要注意的是 cipher_generator
, 它可以生成本论文中位移加密和维吉尼亚加密的数据。
We make use of data generators to generate the TFRecords that are used for training. Of particular note is cipher_generator
, which may be used to generate data for the shift and Vigenère ciphers that were tested in the paper.
包含的生成器的设置作为标志被传递。例如,要在样本长度为 200 的布朗语料库上生成单词级维吉尼亚密码(key:CDE),调用:
The settings for the included generators are passed as flags. For example, to generate a word-level Vigenère Cipher (key:CDE
) on the Brown Corpus with a sample length of 200, call:
python CipherGAN/data/data_generators/cipher_generator.py \
--cipher=vigenere \
--vigenere_key=345 \
--percentage_training=0.9 \
--corpus=brown \
--vocab_size=200 \
--test_name=vigenere345-brown200-eval \
--train_name=vigenere345-brown200-train \
--output_dir=tmp/data \
--vocab_filename=vigenere345_brown200_vocab.txt
所有的训练可以通过调用 train.py
来执行。训练要求所含生成器生成的 TFRecords。
All training can be performed by calling train.py
. Training requires the TFRecords generated by the included generators.
请参考 train.py
接受的标志以获得完整的选项集。
Please refer to the flags accepted by train.py
for a full set of options.
python -m CipherGAN.train \
--output_dir=runs/vig345 \
--test_name="vigenere345-brown200-eval*" \
--train_name="vigenere345-brown200-train*" \
--hparam_sets=vigenere_brown_vocab_200
We'd love to accept your contributions to this project. Please feel free to open an issue, or submit a pull request as necessary. If you have implementations of this repository in other ML frameworks, please reach out so we may highlight them here.
Our thanks to Michal Wiszniewski for his assistance in developing this codebase.
In addition, this repository borrows and builds upon code from:
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。