Взгляд Anderson
Графические процессоры могут быть лучше, а не просто быстрее, для обучения глубоких нейронных сетей

Исследователи из Польши и Японии, работающие с Sony, обнаружили доказательства того, что системы машинного обучения, обученные на графических процессорах (GPU), а не на центральных процессорах (CPU), могут содержать меньше ошибок во время процесса обучения и давать лучшие результаты, противоречащие общему пониманию того, что GPU просто выполняют такие операции быстрее, а не лучше.
Исследование, озаглавленное Влияние неопределенности GPU на обучение прогностических глубоких нейронных сетей, было проведено на факультете психологии и когнитивных наук Университета Адама Мицкевича и двух японских университетов, вместе с лабораториями компьютерных наук Sony.
Исследование показывает, что ‘неопределенности’, которые глубокие нейронные сети демонстрируют при различных конфигурациях аппаратного и программного обеспечения, предпочтительно используют более дорогие (и становящиеся все более редкими) графические процессоры, и обнаружили в испытаниях, что глубокая нейронная сеть, обученная исключительно на CPU, давала более высокие показатели ошибок за то же количество эпох (количество раз, когда система повторно обрабатывает обучающие данные за одну сессию).

В этом дополнительном примере из статьи мы видим (два нижних ряда), подобное качество результатов, полученных с помощью различных GPU, и (первый ряд), худшие результаты, полученные с помощью различных CPU. Source: https://arxiv.org/pdf/2109.01451.pdf
Странные явления
Эти предварительные результаты не применяются равномерно ко всем популярным алгоритмам машинного обучения, и в случае простых архитектур автоэнкодеров это явление не наблюдается.
Тем не менее, работа намекает на возможное “точку отрыва” для эффективности обучения в сложных нейронных сетях, где выполнение одних и тех же операций с более низкой скоростью и большим временем обучения не дает ожидаемого уровня производительности математических итерационных процедур.
Исследователи предполагают, что эта разница в производительности может быть характерна для определенных типов нейронных сетей, и что неопределенные аспекты процессоров GPU, часто рассматриваемые как препятствие, которое в конечном итоге будет преодолено, могут не только дать заметные преимущества, но и могут быть намеренно включены в более поздние системы. Статья также предполагает, что результаты могут дать более глубокие представления о вычислительной обработке, связанной с мозгом.
Определение особенностей, которые увеличивают эффективность и качество результатов на GPU, имеет потенциал для получения более глубокого понимания “черных ящиков” архитектур ИИ, и даже для улучшения производительности CPU – хотя в настоящее время основные причины остаются неясными.
Автоэнкодер против PredNet
При изучении аномалий исследователи использовали базовый автоэнкодер и также сеть предсказательного нейронного сетевого ядра PredNet Гарвардского университета, исследования 2016 года, которое было разработано для изучения и попытки воспроизвести поведение человеческой коры головного мозга.
Обе системы являются глубокими нейронными сетями, предназначенными для синтеза подходящих изображений с помощью обучения без учителя (с данными, из которых были удалены метки), хотя автоэнкодер работает линейно с одним изображением на пакет, которое затем производит вывод как следующее изображение в повторяющейся трубопроводе. Автоэнкодер был обучен на базе данных рукописных цифр MNIST.

Автоэнкодер в испытаниях исследователей был обучен на базе данных MNIST, которая состоит из 60 000 обучающих изображений размером 28×28 пикселей, сглаженных для индукции градаций серого, а также 10 000 тестовых изображений.
Напротив, PredNet оценивает сложные видеовходы, и в случае этого исследования был обучен на наборе данных FPSI, который включает обширные видеозаписи с носимых камер за день в Дисней-Ворлде в Орландо, Флорида (Дисней был одним из исследовательских партнеров в статье 2012 года).

Последовательности изображений из FPSI, показывающие виды с первого лица за день в Дисней-Ворлде.
Две архитектуры очень khácны по сложности. Автоэнкодер предназначен для реконструкции изображений, а не для прогнозирования целевых значений. Напротив, PredNet имеет четыре слоя, каждый из которых состоит из представляющих нейронов, использующих свёрточную долгосрочную память (LSTM).
Слои производят контекстные прогнозы, которые затем сравниваются с целевым значением для получения ошибки, которая распространяется по всей сети. Обе модели используют обучение без учителя.

Простая, линейная архитектура автоэнкодера и более сложная, рекурсивная сеть PredNet.
Обе системы были протестированы на различных конфигурациях аппаратного и программного обеспечения, включая CPU без GPU (Intel i5-4590, i7-6800K, i5-7600K или AMD Ryzen-5-3600) и CPU с GPU (Intel i5-7600K + NVIDIA GTX-750Ti, i5-7600K + GTX-970, i7-6700K + GTX-1080, i7-7700K + GTX-1080Ti, i7-9700 + RTX-2080Ti, i5-7600K + RTX-2060 super, AMD Ryzen-5-3600 + RTX-2070 super или i5-9400 + Titan-RTX).
Интерактивный просмотрщик процесса htop был использован для обеспечения того, чтобы все обучение происходило либо на одном потоке (на Intel i7-6800K), на четырех потоках (на Intel i5-4590 и i5-7600K), или на шести потоках (на AMD Ryzen-5-3600).
Седловые точки
На автоэнкодере среднее различие по всем конфигурациям, с и без cuDNN, не было значительным. Для PredNet результаты были более поразительными, с заметными различиями в оценке ошибок и качестве между обучением на CPU и GPU.

Средние результаты ошибок для обучения PredNet на четырех CPU и восьми GPU, с сетью, обученной на 5000 видеокадрах в 250 пакетах, со средней ошибкой за последние 1000 кадров (50 пакетов), изображенной. cuDNN был отключен.
Исследователи заключили, что ‘Хотя механизм неясен, аппаратное обеспечение GPU, кажется, имеет способность продвигать обучение глубоких нейронных сетей.’
Результаты показывают, что GPU могут быть лучше в избегании седловых точек – областей в градиентном спуске, которые описывают нижнюю часть склона.

Низшая точка склонов в градиентном спуске – это ‘седловая точка’, названная по очевидным причинам. Source: https://www.pinterest.com.au/pin/436849232581124086/
Седловые точки, хотя и препятствие, были в значительной степени отклонены как легко обходимые в недавней мысли об оптимизации стохастического градиентного спуска (SGD), но новая статья предполагает, что не только GPU могут быть уникально оснащены для избегания их, но и что влияние седловых точек, возможно, следует пересмотреть.












