Исследователи нашли ошибки округления в базовых функциях обучения нейросетей
Исследователи нашли ошибки округления в массовых реализациях softmax и кросс-энтропии — двух базовых функций, через которые проходит обучение почти любой нейросети. Softmax превращает выходы сети в вероятности, кросс-энтропия меряет расхождение с правильным ответом.
Статья Джонатана Баррона с соавторами описывает, где именно теряется точность при вычислении в числах с плавающей запятой, и предлагает исправленные формулы. Код самодостаточный, отдельной библиотеки не требуется.
Любопытна не столько поправка, сколько срок: функции используются больше десяти лет во всех основных фреймворках, и до сих пор на баги никто не наткнулся.