Продолжая свои приключения в области машинного обучения на курсах FastAI, я хотел изучить концепцию процента отсева. Если вы хотите, чтобы Jupyter Notebook использовался для этих тестов, включая полные аннотации о том, что и почему, ознакомьтесь с моим проектом машинного обучения на github. В частности, Тестирование показателей отсева (маленькие изображения).ipynb.

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

Эти тесты были настроены так, чтобы максимально изолировать процент отсева. Кроме того, хотя в этом тесте использовался ResNet50, результаты могут отличаться при использовании другой модели. Ладно, хватит болтовни, давайте сразу к выводам, не так ли?

Скорость обучения

Наилучшая скорость обучения должна быть меньше, когда процент отсева увеличивается. Тем не менее, эффект довольно незначительный, и осторожность с меньшей скоростью обучения имеет большое значение.

Размеры изображения

Для скорости чем меньше, тем лучше. Я сравнил масштабированные изображения 64×64 с масштабированными изображениями 224×224 (из того же набора данных) с соответствующими размерами пакетов и скоростью обучения и обнаружил, что результаты были такими же, но место для поиска результатов изменилось. Для больших изображений самые явные различия между показателями отсева были связаны с функцией потерь при проверке. Для небольших изображений точность проверки была лучшим отличием. Эти выходные данные являются рекомендуемым способом определения наилучшего показателя отсева.

Вот коллекция изображений, которые помогут прояснить суть. Обратите внимание, что чем больше размер, тем лучше для точности, а чем меньше, тем лучше для потерь.

Точность

Потеря

Наборы данных уникальны

Для моих наборов данных, собак и кошек, есть только две возможности. И конкретно для этого набора общий показатель отсева 0,2 был лучшим местом. Это может варьироваться, поэтому было бы неплохо настроить тест, подобный моей записной книжке, чтобы помочь определить лучший вариант для вашего набора данных. Если есть 100 категорий или если это набор данных без зрения, возможно, 0,5 будет лучше. Мы не узнаем, пока не проверим, поэтому используйте самые быстрые из возможных методов и посмотрите, что подходит именно вам.

У меня также есть блокнот для проверки различий в показателях отсева в определенных слоях. Я позволю вам посмотреть на это самостоятельно и сделать собственные выводы.

Первоначально опубликовано на mariolurig.com 12 июля 2018 г.