Выбрано с Github, автор: Оскар Чанг, составлено сердцем машины, участие: Тяньчи Лю, Сыюань.
В процессе обучения глубокому обучению мы часто сталкиваемся с различными слухами и различными «навязчивыми идеями», которые принимаем как должное. В этой статье автор суммирует семь распространенных мифов в исследованиях машинного обучения, многие из которых являются старыми концепциями, которые у нас были раньше, но которые недавно были опровергнуты новыми исследованиями. Итак, чтобы заполнить пробел в машинном обучении, давайте проверим эти семь мифов.
Итак, следующие семь вопросов вас «одержимы»?
TensorFlow - это библиотека тензорных операций?
Если вы не слушаете, вам все равно нужно использовать набор тестов для отладки и отладки модели...
Данные обучения, вероятно, полезны для обучения модели.
Как обучить сверхглубокую остаточную сеть без пакетной нормализации (BN)!
Разве механизм внимания не является заменой сверточных сетей?
В любом случае набор данных изображения должен быть близок к реальному распределению.
Разве локальные входные данные, которые доминируют в классификации, не объясняют в точности работу нейронной сети?
Слух 1: TensorFlow — это библиотека тензорных операций
На самом деле TensorFlow — это библиотека матриц, а не тензорных операций, и разница между ними очень велика.
В статье NeurIPS 2018 «Вычисление производных более высокого порядка от матричных и тензорных выражений» исследователи показали, что их новая библиотека автоматического дифференцирования, основанная на тензорном исчислении, имеет значительно более компактные деревья выражений. Это связано с тем, что тензорное исчисление использует идентификацию индекса, что, в свою очередь, позволяет обрабатывать прямые и обратные режимы одинаково.
Напротив, матричное исчисление скрывает индекс для удобства, что часто приводит к чрезмерно сложным деревьям выражений для автоматического дифференцирования.
Если есть операция умножения матриц: C=AB. В прямом режиме есть, а в обратном режиме есть. Чтобы правильно выполнить умножение, нам нужно обратить внимание на порядок умножения и использование транспонирования. Для разработчиков машинного обучения это просто небольшая путаница с логотипом, но для программ это дополнительные вычислительные затраты.
Вот еще один пример, несомненно, более содержательный: для нахождения определителя c=det(A). В прямом режиме есть, а в обратном режиме есть. Здесь очевидно, что одно и то же дерево выражений не может быть использовано для представления обоих шаблонов, так как они состоят из разных операций.
В общем, методы автоматического дифференцирования, реализованные TensorFlow и другими библиотеками, такими как Mathematica, Maple, Sage, SimPy, ADOL-C, TAPENADE, TensorFlow, Theano, PyTorch и HIPS autograd, в прямом и обратном режимах, приводят к разным, неэффективное дерево выражений. В тензорном исчислении коммутативность умножения сохраняется за счет идентификации индекса, что позволяет легко избежать этих проблем (конкретный принцип реализации см. в исходной статье)
Исследователи проверили производительность нового метода автоматического дифференцирования обратного режима на трех разных задачах посредством обратного распространения и измерили время, необходимое для вычисления матрицы Гессе.
Первая задача — оптимизировать квадратичную функцию вида xAx, вторая — решить логистическую регрессию, третья — решитьразложение матрицы.
На ЦП новый метод работает на два порядка быстрее, чем популярные библиотеки автоматической дифференциации, такие как TensorFlow, Theano, PyTorch и HIPS autograd.
На графических процессорах исследователи обнаружили, что ускорение нового метода было еще более выраженным, превосходя скорость популярных библиотек примерно на три порядка.
Важность. Использование современных библиотек глубокого обучения для завершения вывода квадратичных функций или функций более высокого порядка стоит больше, чем следовало бы. Это включает в себя вычисление общих тензоров четвертого порядка, таких как гессиан (например, в MAML, и метод Ньютона второго порядка). К счастью, в «глубоком» обучении функции второго порядка встречаются редко. Но в «традиционном» машинном обучении они широко распространены:SVMДвойная задача, регрессия методом наименьших квадратов, ЛАССО, гауссовский процесс...
Миф 2. Исследователи машинного обучения не используют наборы тестов для проверки
В первом курсе машинного обучения мы научимся делить набор данных на обучающий набор, проверочный набор и тестовый набор. Модель будет обучаться на тренировочном наборе, а эффект будет оцениваться на проверочном наборе, и полученный эффект будет использоваться для руководства разработчиком по настройке модели, чтобы получить модель с лучшим эффектом в реальном место действия. Пока модель не настроена, тестовый набор не следует использовать для объективной оценки того, как модель будет работать в реальных сценариях. Если разработчик «мошенничает», используя тестовый набор во время обучения или проверки, модель рискует переобучить систематическим ошибкам набора данных: информация о таких систематических ошибках не может быть обобщена за пределами набора данных.
В высококонкурентной среде исследований в области машинного обучения новые алгоритмы/модели обычно оцениваются по их производительности на тестовом наборе. Таким образом, для исследователей нет причин писать/представлять статью, эффект набора тестов которой не является SOTA. Это также показывает, что в области исследований машинного обучения в целом использование наборов тестов для проверки является обычным явлением.
Каковы последствия такого «мошеннического» поведения?
В газете ДоCIFAR-10В книге «Обобщение классификаторов до CIFAR-10?» исследователи исследуют эту проблему, создавая новый набор тестов на основе CIFAR-10. Для этого они проанализировали аннотированные изображения из библиотеки Tiny Images, как и в исходном процессе сбора данных.
Исследователи выбрали CIFAR-10, потому что это один из наиболее широко используемых наборов данных в сообществе машинного обучения и второй по популярности набор данных в NeurIPS 2017 (после MNIST). Процесс создания набора данных CIFAR-10 также хорошо задокументирован в открытом доступе. В огромной библиотеке Tiny Images также достаточно подробных данных об этикетках, чтобы можно было перестроить тестовый набор с минимальным изменением распределения.
Исследователи обнаружили, что многие модели нейронных сетей испытывают значительное падение точности (4–15%) при переходе от исходного набора тестов к новому набору тестов. Однако относительное ранжирование моделей остается относительно стабильным.
В целом, более производительная модель также испытала меньшее падение точности, чем менее производительная модель. Это захватывающая новость, потому что, по крайней мере, на CIFAR-10, поскольку исследовательское сообщество изобретает лучшие модели/методы машинного обучения, потеря обобщения из-за «мошенничества» также стала менее серьезной.
Миф 3: В процессе обучения нейронной сети используются все точки данных в обучающем наборе.
Существует расхожее высказывание о том, что данные — это новая сырая нефть (богатство), и чем больше объем данных, тем лучше мы можем обучать наши модели глубокого обучения с относительно бедными данными и чрезмерно параметризованными.
В статье ICLR 2019 года «Эмпирическое исследование забывания примеров во время глубокого обучения нейронной сети» исследователи показали, что в нескольких распространенных небольших наборах данных изображений существует значительная избыточность. Удивительно, но в CIFAR-10 мы можем отсеять 30% точек данных без существенного влияния на точность набора тестов.
Когда нейронная сеть дает неправильную классификацию в момент времени t+1 и точную классификацию в момент времени t, это называется событием забывания. «Моменты» здесь относятся к количеству обновлений стохастического градиентного спуска (SGD) для обучения сети. Чтобы можно было записывать случаи забывания, исследователи запускают нейронную сеть только для небольших пакетов данных, используемых для завершения обновления SGD за раз, а не для одной выборки набора данных. Образцы, которые не испытывают событий забывания, называются незабываемыми примерами.
Исследователи обнаружили, что 91,7% данных в MNIST, 75,3% в пермутированном MNIST, 31,3% в CIFAR-10 и 7,62% в CIFAR-100 принадлежали незабвенным образцам. Это соответствует интуитивному пониманию того, что по мере увеличения разнообразия и сложности набора данных изображения нейронная сеть должна забывать о большем количестве образцов.
Образцы, которые можно забыть, обладают более необычными и уникальными характеристиками, чем образцы, которые невозможно забыть. Исследователи сравнивают их с векторами поддержки в SVM, потому что они разграничивают границы решений.
Напротив, незабываемые сэмплы кодируют большую часть избыточной информации. Если сэмплы отсортированы по их незабываемости, набор данных можно сжать, удалив большинство незабываемых сэмплов.
В CIFAR-10 можно удалить 30 % данных, не влияя на точность набора тестов, в то время как удаление 35 % данных приводит к небольшому падению точности теста на 0,2 %. Если бы 30 % удаленных данных были выбраны случайным образом, а не на основе отсутствия забывчивости, это привело бы к значительному падению примерно на 1 %.
Точно так же в CIFAR-100 можно удалить 8% данных, не влияя на точность набора тестов.
Эти результаты показывают, что при обучении нейронных сетей существует значительная избыточность данных, так же как и при обучении SVM данные, которые не являются опорным вектором, могут быть удалены, не влияя на принятие решений моделью.
Значимость: Если можно определить, какие образцы не забываются до начала обучения, то мы можем сэкономить место для хранения и время обучения, удалив эти данные.
Миф № 4: Нам нужна нормализация пакетов для обучения сверхглубоких остаточных сетей.
Долгое время считалось, что «обучение глубоких сетей со случайными начальными значениями параметров и градиентным спуском, напрямую оптимизирующим контролируемую целевую функцию (например, логарифмическую вероятность правильной классификации), не будет работать очень хорошо».
С тех пор появилось много умных методов случайной инициализации, функций активации, методов оптимизации и других структурных нововведений, таких как остаточные соединения, для уменьшения сложности обучения глубоких нейронных сетей с градиентным спуском.
Но настоящий прорыв произошел с введением пакетной нормализации (и других последующих методов нормализации), которые смягчили такие проблемы, как исчезновение и взрыв градиентов, путем ограничения масштаба активаций на каждом уровне глубоких сетей.
Примечательно, что в статье этого года «Инициализация исправления: остаточное обучение без нормализации» было показано, что глубокая сеть с 10 000 слоев может быть эффективно обучена с использованием ванильного SGD без введения какого-либо метода нормализации.
Исследователи сравнили результаты обучения одной эпохи на CIFAR-10 с разной глубиной остаточных сетей. И обнаружил, что в то время как стандартный метод инициализации потерпел неудачу в 100-уровневой сети, и Fixup, и пакетная нормализация успешно работали в 10 000-уровневой сети.
Путем теоретического анализа исследователи доказали, что «градиентная норма конкретного нейронного слоя принимает значение, которое увеличивается с глубиной сети как ожидаемая нижняя граница», то есть проблема градиентного взрыва.
Чтобы избежать этой проблемы, основной идеей Fixup является корректировка весов m нейронных слоев на каждой L остаточной ветви с использованием коэффициента, который зависит как от L, так и от m. "
Fixup позволяет обучать 110-уровневую глубокую остаточную сеть на CIFAR-10 с высокой скоростью обучения, а результирующая производительность тестового набора сравнима с той же структурной сетью, обученной с пакетной нормализацией.
Исследователи также показывают, что нейронные сети, полученные на основе Fixup, имеют сопоставимые результаты тестирования на наборе данных ImageNet и задачах машинного перевода с английского на немецкий язык без какой-либо нормализации.
Миф 5: Внимание > свертка
В области машинного обучения растет консенсус в отношении того, что механизмы внимания являются лучшей альтернативой сверткам. Важно отметить, что Васвани и др. отмечают, что «вычислительная стоимость отделимой свертки согласуется с вычислительной стоимостью слоя самоконтроля в сочетании со слоем точечной прямой связи».
Даже самые современные сети GAN показали, что самостоятельный анализ лучше моделирует долгосрочные многомасштабные зависимости, чем стандартные свертки.
В статье ICLR 2019 года «Обратите меньше внимания с помощью легких и динамических сверток» исследователи поставили под сомнение достоверность и эффективность параметров механизма внутреннего внимания при моделировании долгосрочных зависимостей. является более эффективным параметром.
Облегченные свертки являются разделимыми по глубине, softmax нормализованы во временном измерении, имеют общие веса в измерении канала и повторно используют одни и те же веса на каждом временном шаге (аналогично сети RNN). Динамические свертки — это легкие свертки, которые используют разные веса на каждом временном шаге.
Эти уловки делают легкие свертки и динамические свертки на порядки более эффективными, чем традиционные неразделимые свертки.
Исследователи также демонстрируют, что эти новые свертки могут соответствовать или превосходить тесты, основанные на внутреннем внимании, с сопоставимым или меньшим количеством параметров в таких задачах, как машинный перевод, языковое моделирование и абстрактное обобщение.
Миф 6. Набор данных изображений отражает распределение реальных изображений в естественном мире.
Можно подумать, что сегодняшние нейронные сети более эффективны, чем люди, в задачах распознавания объектов. Это неправильно. Они действительно могут превзойти реальных людей в просеянных наборах данных изображений, таких как ImageNet. Но для реальных изображений природного мира они абсолютно не лучше распознают объекты, чем нормальные взрослые. Это связано с тем, что изображения, извлеченные из текущего набора данных изображений, не совпадают с изображениями, извлеченными из реального мира в целом, и их распределение отличается.
Вот более старая статья 2011 года: Беспристрастный взгляд на смещение набора данных, в которой исследователи пытаются выяснить, происходит ли данное изображение из какого набора данных, обучая классификатор на популярных наборах данных изображений 12. Существует смещение набора данных.
Случайная догадка должна быть правильной 1/12 = 8%, в то время как экспериментальные результаты точны более чем на 75%.
Исследователи обучили SVM на функциях HOG и обнаружили, что он был правильным на 39%, что выше, чем случайное угадывание. Сегодня, если этот эксперимент воспроизвести с помощью современной CNN, вероятно, производительность классификатора возрастет.
Если набор данных изображения действительно представляет реальные изображения из мира природы, он не сможет сказать, из какого набора данных взято конкретное изображение.
Но в данных есть погрешности, которые делают каждый набор данных идентифицируемым. Например, в ImageNet так много «гоночных машин», что это нельзя считать идеальным представлением понятия «автомобиль» в обычном смысле.
Исследователи обучают классификаторы на одном наборе данных и оценивают производительность на других наборах данных, чтобы дополнительно измерить ценность набора данных. Согласно этому показателю, LabelMe и ImageNet являются наборами данных с наименьшей предвзятостью, с оценкой 0,58 по «корзине валют». Все наборы данных получили менее 1 балла, что указывает на то, что модели, обученные на других наборах данных, давали более низкую точность. В идеальной ситуации без предвзятости набора данных должно быть несколько баллов выше 1.
Миф 7. Карты значимости — надежный метод объяснения нейронных сетей.
Хотя нейронные сети часто считают моделями черного ящика, было проведено множество исследований их интерпретации. Карты значимости или другие подобные методы присвоения показателей важности функциям или обучающим выборкам являются одними из самых популярных форм.
Это очень заманчивая тема, чтобы обобщить причины, по которым изображение можно классифицировать как определенную часть изображения, которая способствует процессу принятия решений моделью. Несколько существующих методов вычисления карт заметности обычно основаны на активации нейронной сети на конкретном изображении и градиентах, распространяемых в сети.
В статье AAAI 2019 года «Интерпретация нейронных сетей является хрупкой» исследователи показывают, что можно исказить карту заметности конкретного изображения, внеся незаметное возмущение.
«Бабочки-монархи классифицируются как монархи не из-за рисунка их крыльев, а из-за какой-то неважной зеленой листвы на заднем плане».
Высокоразмерные изображения обычно располагаются вблизи границы принятия решения, установленной глубокими нейронными сетями, поэтому они уязвимы для атак со стороны противника. Состязательные атаки перемещают изображение на другую сторону границы решения, в то время как состязательные атаки интерпретации перемещают изображение вдоль контура границы решения в той же области решения.
Для осуществления этой атаки основным методом, используемым исследователями, являетсяGoodfellowВариант предложенного метода FGSM (метод быстрого знака градиента), одного из первых методов, введенных для достижения эффективных атак со стороны противника. Это также говорит о том, что для атаки на интерпретируемость нейронных сетей могут использоваться и другие, более поздние и более изощренные состязательные атаки.
Значение: поскольку глубокое обучение все чаще используется в сценариях с высоким риском, таких как медицинская визуализация, становится все более важным интерпретировать выводы, сделанные нейронными сетями. Например, хотя для сетей CNN очень важно идентифицировать маленькие точки на изображениях МРТ как злокачественные раковые опухоли, их не следует принимать как должное, если они основаны на очень слабых методах интерпретации.