То есть я воспроизвожу значения приблизительно, а не точно. К сожалению, точное воспроизведение, скорее всего, невозможно, поскольку исходный датасет был со временем утерян. Поэтому мне пришлось симулировать его при помощи более крупного датасета MNIST (никогда не думал, что скажу такое), взяв его цифры размером 28x28, уменьшив их до 16x16 пикселей билинейной интерполяцией и случайно без замены выбрав нужное количество примеров для обучающего и тестового датасетов. Но я уверен, что повлияли и другие помехи. Например, в статье слишком абстрактно описывается схема инициализации весов; к тому же я подозреваю, что в файле pdf есть погрешности форматирования: например, в нём удаляются точки ".", из-за чего «2.5» выглядит как «2 5» и, возможно, удаляются квадратные корни. Например, если нам сообщают, что инициализация весов берётся из равномерного «2 4 / F», где F — это нагрузочный коэффициент по входу, я думаю, что это точно (?) означает «2.4 / sqrt(F)», где sqrt помогает сохранить среднеквадратичное отклонение выводов. Описание разреженной структуры связи между слоями H1 и H2 тоже размыто, в статье просто говорится, что она «выбрана согласно схеме, рассматривать которую мы здесь не будем», поэтому мне пришлось самому логически догадываться о разреженной структуре пересекающихся блоков. В статье также заявляется об использовании нелинейности tanh, но я опасаюсь, что на самом деле это был «нормализованный tanh», отображающий ntanh(1) = 1, и, потенциально, с добавленным уменьшенным skip connection; в то время это использовалось для обеспечения хотя бы небольшого градиента в плоских хвостах tanh. Наконец, в статье используется «особая версия алгоритма Ньютона, применяющего положительную диагональную аппроксимацию гессиана», но я использовал только SGD, потому что это намного проще; к тому же, в статье ещё говорится следующее: «мы не считаем, что этот алгоритм обеспечивает огромный рост скорости обучения».