ImageNet
ImageNet — набор данных из 14 миллионов изображений, упорядоченных по WordNet. Его подмножество ILSVRC с 1000 классами сделало CNN массово востребованными и до сих пор остаётся важным ориентиром для классификации.
ImageNet — это база данных, содержащая более 14 миллионов изображений, каждое из которых помечено одним из 21 841 понятий-существительных из лексической иерархии WordNet. Базу создала группа Фэй-Фэй Ли в Принстонском и Стэнфордском университетах; она была представлена в 2009 году. В повседневной речи под «ImageNet» обычно понимают ImageNet-1k — набор данных из 1000 классов конкурса ImageNet Large Scale Visual Recognition Challenge (ILSVRC) 2012 года, включающий 1 281 167 обучающих изображений, 50 000 валидационных изображений и 100 000 тестовых изображений. ImageNet-1k — стандартный эталонный набор данных для классификации изображений, а обученные на нём сети часто используют как отправную точку для переноса обучения в компьютерном зрении.
Как устроен ImageNet#
Каждое понятие WordNet, называемое синсетом, объединяет обозначающие его слова и относится к более общим понятиям: золотистый ретривер относится к собакам, а собаки — к животным. Команда ImageNet собирала кандидаты на изображения каждого синсета с помощью веб-поиска и поручала сотрудникам Amazon Mechanical Turk проверять каждое из них, стремясь получить по 500–1000 качественных изображений на понятие. ImageNet-1k включает 1000 синсетов, в основном узких понятий на нижних уровнях иерархии, а не широких категорий: 118 его классов — это породы собак, поэтому модель должна различать сибирского хаски и аляскинского маламута так же, как школьный автобус и щегла. Полная версия со всеми 21 841 синсетами называется ImageNet-21k или ImageNet-22k и используется главным образом для предварительного обучения на больших наборах данных.
Конкурс ILSVRC и AlexNet#
Конкурс ILSVRC проходил ежегодно с 2010 по 2017 год. Участников классификации ранжировали по доле ошибок top-5 — доле тестовых изображений, для которых истинный класс отсутствует среди пяти классов с наивысшими оценками модели. По мере улучшения моделей более распространённой метрикой стала точность top-1, учитывающая только наиболее вероятный класс. В 2012 году AlexNet — свёрточная нейронная сеть (CNN) с 60 миллионами параметров, обученная на двух GPU, — победила с долей ошибок top-5 15,3% против 26,2% у модели, занявшей второе место и использовавшей признаки, спроектированные вручную. Этот разрыв изменил направление исследований в компьютерном зрении в пользу глубокого обучения. Победители следующих лет продолжали снижать долю ошибок, а в 2015 году ансамбль остаточных сетей (ResNet) достиг показателя 3,57% — ниже доли ошибок top-5 5,1%, зафиксированной для обученного аннотатора-человека в статье об ILSVRC.
Предварительное обучение и перенос обучения#
Сеть, обученная на ImageNet-1k, усваивает общие визуальные признаки на ранних слоях — например границы, текстуры и простые формы — и более специфичные для объектов признаки на поздних слоях. Повторное использование этих весов в качестве бэкбона и их дообучение на меньшем наборе данных позволяют быстрее добиться сходимости и более высокой точности, чем при обучении со случайными весами; наибольший прирост достигается при небольшом количестве размеченных изображений. Модели классификации YOLO26 обучаются на ImageNet-1k с размером изображения 224 пикселя и достигают точности top-1 на валидации от 71,4% у YOLO26n-cls до 79,9% у YOLO26x-cls. При обучении на пользовательском наборе данных выходной слой для 1000 классов заменяется слоем, размер которого соответствует новым классам.
from ultralytics import YOLO
# Load a YOLO26 nano classifier trained on the 1,000 ImageNet-1k classes
model = YOLO("yolo26n-cls.pt")
# Classify an image and select the result for that image
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# Print the five most likely ImageNet classes with their probabilities
for index, probability in zip(result.probs.top5, result.probs.top5conf.tolist()):
print(f"{result.names[index]}: {probability:.3f}")Модель оценивает все 1 000 классов, а цикл выводит пять классов с наивысшими оценками — тот же список топ-5, который метрика ошибок ILSVRC сравнивает с истинной меткой.
Крупнейшие модели компьютерного зрения теперь предварительно обучаются на гораздо более крупных и шумных наборах данных, например на 400 миллионах пар изображение–текст, лежащих в основе CLIP. Однако ImageNet-1k остаётся стандартным тестом качества выученных признаков этих моделей — при дообучении, классификации без примеров или линейном зондировании, при котором на замороженных признаках обучается только линейный классификатор.
Ограничения и последующие наборы данных#
- Ошибки разметки: По меньшей мере 6% меток валидационной выборки ImageNet-1k неверны, а на многих изображениях присутствует несколько объектов, хотя им назначена только одна метка. В наборе меток ReaL валидационную выборку размечали заново, указав для каждого изображения все подходящие классы.
- ImageNetV2: Новый тестовый набор, собранный с помощью повторения исходного процесса. Точность моделей на нём снизилась на 11–14%, хотя порядок моделей почти не изменился. Авторы объясняют это тем, что изображения оказались немного сложнее, а не многолетним повторным использованием исходной тестовой выборки.
- Конфиденциальность и справедливость: В 2019 году команда ImageNet отфильтровала 2 702 синсета из поддерева, связанного с людьми, в полном наборе данных, а в 2021 году выпустила версию данных ILSVRC с размытыми лицами, что привело лишь к незначительному снижению точности. Фильтрация поддерева, связанного с людьми, не затронула 1 000 классов ILSVRC.
- Условия доступа: ImageNet не владеет авторскими правами на изображения и предоставляет к ним доступ только для некоммерческих исследований и обучения. Обучающая и валидационная выборки ImageNet-1k занимают около 144 ГБ.
ImageNet и связанные наборы данных#
- COCO: Ограничивающие рамки, маски и ключевые точки для 80 категорий объектов, причём на каждом изображении размечено много объектов. Это стандартный бенчмарк для детекции объектов и сегментации.
- CIFAR-10: 60 000 изображений размером 32×32 пикселя в 10 классах — достаточно небольшой набор для экспериментов, которые обучаются за несколько минут на одном GPU.










