Нейросетевой калькулятор для сложения и вычитания не очень больших чисел

Мы рады представить наш смелый эксперимент: калькулятор, работающий на основе нейросети. Он работает следующим образом: математическое выражение преобразуется в изображение и подается на вход сверточной нейросети, которая генерирует изображение-результат. Полученный калькулятор генерирует изображения правильных ответов, не вычисляя заданное выражение в явном виде.

Работа уже опубликована на arXiv и представлена на конференции SIGBOVIK в формате аудиозаписи. В этом посте мы поделимся с вами результатами нашего эксперимента. Мотивация и детали реализации также под катом.

Введение

Генеративно-состязательные сети (Generative Adversarial Networks, GANs) успешно применяются во многих приложениях компьютерного зрения, включая генерацию кошек и аниме. До настоящего момента было не так много подтверждений, что такие нейросети хороши ещё и в математике.

Мы следуем тренду развития калькуляторов и представляем нейросетевой калькулятор, принимающий на вход изображение математического выражения и обученный с помощью adversarial-подхода (GAN). Схема работы калькулятора представлена на изображении выше.

Созданный калькулятор поддерживает сложение и вычитание двузначных чисел. Демо находится по адресу. Как и положено калькулятору, он считается на устройстве. Для этого используется библиотека TensorFlow.js. Но если она не работает на вашем устройстве, то вы можете воспользоваться версией, запущенной на наших серверах.

Обзор предыдущих работ

Калькуляторы всегда волновали умы людей. Необходимость складывать и вычитать маленькие (а иногда и большие) числа шла рука об руку с развитием человеческой цивилизации. Существует много трудов, посвящённых этой теме, дальше мы приведём короткий обзор. Опустим часть, связанную с подсчётами на пальцах, отметками на стенах пещер и перейдём сразу же к достижениям индустриальной эпохи.

Подробнее
Пожалуйста, оцените статью:
Пока нет голосов
Источник(и):

Хабр