Будет ли разница в производительности с использованием различных реализаций глубокого обучения, когда настройки одинаковы

115
14

Я использовал Torch, Tensorflow и sknn и обнаружил существенные различия в их дизайне механизмов, синтаксисе, требованиях к среде, производительности с точки зрения скорости, однако я хочу знать, есть ли какая-либо разница между этими библиотеками, когда нейронная сеть имеет точные такие же настройки?

Другими словами, будет ли производительность (с точки зрения, например, точности в задачах классификации) разницей, используя разные реализации для построения сети, когда сама сеть имеет одинаковые настройки (количество слоев, тип слоев, выпадение, активация, объективные функции и т.д.)?

Огромное спасибо.

спросил(а) 2016-11-22T17:44:00+03:00 3 года, 11 месяцев назад
1
Решение
106

есть ли разница между этими библиотеками, когда нейронная сеть имеет одинаковые настройки?

Конечно. См. Например, тест ConvNet Benchmark.

Всегда есть небольшие отличия, как вычислять вещи, даже если вы вычисляете то же самое. Например, x^4 можно вычислить как tmp=(x*x); tmp*tmp tmp=(x*x); tmp*tmp или x*(x*(x*x)). Или матричное умножение ijk vs ikj (см. Мою статью для более). Оптимизация компилятора также может быть очень важной.

Другими словами, будет ли производительность (с точки зрения, например, точности в задачах классификации) разницей, используя разные реализации для построения сети, когда сама сеть имеет одинаковые настройки (количество слоев, тип слоев, выпадение, активация, объективные функции и т.д.)?

Это другой вопрос, кроме скорости. Однако из-за числовых проблем вы все равно можете получить разные результаты. Однако они не должны быть значительными.

Смотрите также

ответил(а) 2016-11-22T22:01:00+03:00 3 года, 11 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема