
Дуэт ученых из Google Brain провел необычный эксперимент: авторы создали три нейросети, две из которых — Алиса и Боб — обменивались зашифрованными сообщениями, а третья сеть — Ева — пыталась их «подслушать» и расшифровать переписку. Разработчики не регулировали то, как именно Алиса и Боб шифровали сообщения, тем не менее, в большинстве тестовых запусков нейросетям удавалось создать метод шифрования, который Ева не смогла взломать. Препринт исследования выложен на arXiv.org.Интерес к все более новым системам шифрования во многом обусловлен требованиями современных платежных системам и в целом проблемой безопасности обмена данными в интернете. Проблему защищенной передачи информации пытаются решать разными способами: например, используя квантовое шифрование или децентрализованные сети, в которых пользователи сами проверяют достоверность транзакций. Однако существуют и более необычные сферы применения шифрования, например, в сложных программах на основе нейросетей может потребоваться скрыть ту или иную информацию от определенных частей системы. В этом случае разработчикам не столь важно понять, как именно нейросеть будет шифровать данные, до тех пор, пока программа справляется со своей задачей.Авторы новой работы решили проверить, насколько нейросети вообще способны обучаться методам шифрования. Для этого ученые создали тестовую систему: нейросеть Алиса получала входное сообщение и условный «ключ», а на выходе генерировала зашифрованное сообщение, которое передавалось Бобу вместе с ключом. Задачей Боба было воспроизвести исходное сообщение, которое получила Алиса. Третья нейросеть — Ева — получала только зашифрованное сообщение, а ее задача была такой же, как у Боба — прочитать исходное сообщение.Нейросети обучали методом обратного распространения ошибки, при этом от функция потерь Евы зависела лишь от того, насколько она ошиблась при расшифровки сообщения. Алису и Боба же тренировали вместе так, чтобы Боб ошибался как можно меньше (успехом считалось наличие менее 5 процентов ошибок в тексте сообщения), а условная «идеальная Ева» (оптимально работающая для данного набора сообщений и ключей) ошиблась как можно сильнее - ее результат должен был не очень отличаться от результата случайного перебора.
