Реализация методов оптимизации для нейронных сетей на машинно-ориентированных языках программировния
PDF
Помимо натурального градиентного спуска, ускорить процесс обучения нейронной сети можно непосредственно в машинном коде. Проблема языка программирования Python 3 состоит в том, что он интерпретируется, базируясь на байт-кодах. Данный метод выполнения обучения занимает много времени, несмотря на использование GPU (Cuda). Поэтому обучение нейронной сети следует проводить на машинном уровне. Для этого будет использован PyPy3, который значительно ускорит процесс обучения.
В данной работе будет реализована логистическая регрессия, распознающая изображения рукописных цифр из базы MNIST. Реализация пройдет на PyPy3, библиотека, которая транслирует Python 3 не в байт коды, а в машинный код. Такой подход способен увеличить скорость исполнения программы, до уровня Си.