Расширения и ограничения нейронного GPU

Аннотация
Нейронный GPU (Neural GPU) — это недавняя модель, способная изучать такие алгоритмы, как многоразрядное двоичное сложение и двоичное умножение, с возможностью обобщения на входные данные произвольной длины. Мы показываем, что существуют два простых способа повышения производительности нейронного GPU: тщательная разработка учебной программы (куррикулума) и увеличение размера модели. Последнее требует реализации, эффективной с точки зрения памяти, поскольку наивная реализация нейронного GPU является ресурсоемкой. Мы обнаружили, что эти методы расширяют круг алгоритмических задач, решаемых нейронным GPU: нам удалось научить модель выполнять все арифметические операции (с обобщением на числа произвольной длины), когда аргументы заданы в десятичном представлении (что, как ни удивительно, ранее было невозможно). Нам также удалось обучить нейронный GPU вычислять длинные арифметические выражения с несколькими операндами, требующие соблюдения порядка приоритета операций, хотя это удалось сделать только в их двоичном представлении и без идеальной точности. Кроме того, мы получаем более глубокое понимание работы нейронного GPU, исследуя сценарии его сбоев. Мы обнаруживаем, что нейронные GPU, которые корректно обобщаются на числа произвольной длины, все же не справляются с вычислением правильного ответа на высокосимметричных, нетипичных входных данных: например, нейронный GPU, достигающий практически идеального обобщения при десятичном умножении чисел длиной до 100 знаков, может дать сбой на примере 000000…002×000000…002, успешно справляясь с 2×2. Подобные режимы сбоев напоминают состязательные примеры (adversarial examples).
Авторы
Полный текст статьи читайте на OpenAI
