What I learned from competing against a ConvNet on ImageNet
Андрей Карпати рассказывает, как он лично соревновался с свёрточной нейросетью GoogLeNet на задаче классификации ImageNet (ILSVRC 2014). GoogLeNet показал ошибку Hit@5 в 6.7% на тестовом наборе из 1.2 млн изображений и 1000 классов, и Карпати решил измерить человеческую точность. Он разработал веб-интерфейс с 13 примерами на класс и после долгого обучения разметил 1500 изображений сам, достигнув ошибки 5.1% против 6.8% у GoogLeNet на той же выборке (p=0.022). Анализ показал, что нейросеть чаще ошибается на мелких объектах, фильтрах и абстрактных изображениях, а человек — на тонком различии пород собак и незнании классов. В обновлении 2015 года автор отмечает, что несколько моделей уже превзошли его результат, но подчёркивает: человеческая точность — это не точка, а кривая компромисса между усилиями и ошибкой, с теоретическим нижним пределом около 2%.
The results of the 2014 ImageNet Large Scale Visual Recognition Challenge (ILSVRC) were published a few days ago. The New York Times wrote about it too. ILSVRC is one of the largest challenges in Computer Vision and every year teams compete to claim the state-of-the-art performance on the dataset. The challenge is based on a subset of the ImageNet dataset that was first collected by Deng et al. 2009, and has been organized by our lab here at Stanford since 2010. This year, the challenge saw record participation with 50% more participants than last year, and records were shattered with staggering improvements in both classification and detection tasks.
Результаты ImageNet Large Scale Visual Recognition Challenge 2014 (ILSVRC) были опубликованы несколько дней назад. The New York Times также написала об этом. ILSVRC — одно из крупнейших соревнований в области компьютерного зрения, и каждый год команды борются за звание лидера по точности на этом датасете. Соревнование основано на подмножестве датасета ImageNet, впервые собранного Deng et al. 2009, и проводится нашей лабораторией в Стэнфорде с 2010 года. В этом году соревнование собрало рекордное число участников — на 50% больше, чем в прошлом году, и были побиты рекорды с впечатляющими улучшениями как в задачах классификации, так и в задачах детекции.
(My personal) ILSVRC 2014 TLDR: 50% more teams. 50% improved classification and detection. ConvNet ensembles all over the place. Google team wins.
(Моё личное) TLDR по ILSVRC 2014: на 50% больше команд. На 50% улучшилась классификация и детекция. Ансамбли ConvNet повсюду. Команда Google побеждает.
Of course there’s much more to it, and all details and takeaways will be discussed at length in Zurich, at the upcoming ECCV 2014 workshop happening on September 12.
Конечно, это далеко не всё, и все детали и выводы будут подробно обсуждаться в Цюрихе на предстоящем воркшопе ECCV 2014, который пройдёт 12 сентября.
Additionally, we just (September 2nd) published an arXiv preprint describing the entire history of ILSVRC and a large amount of associated analysis, check it out on arXiv. This post will zoom in on a portion of the paper that I contributed to (Section 6.4 Human accuracy on large-scale image classification) and describe some of its context.
Кроме того, мы только что (2 сентября) опубликовали препринт на arXiv, описывающий всю историю ILSVRC и большое количество сопутствующего анализа — посмотрите на arXiv. Этот пост сосредоточится на той части статьи, в которую я внёс свой вклад (раздел 6.4 «Human accuracy on large-scale image classification»), и опишет некоторый контекст.
ILSVRC Classification Task
Задача классификации в ILSVRC
For the purposes of this post, I would like to focus, in particular, on image classification because this task is the common denominator for many other Computer Vision tasks. The classification task is made up of 1.2 million images in the training set, each labeled with one of 1000 categories that cover a wide variety of objects, animals, scenes, and even some abstract geometric concepts such as “hook”, or “spiral”. The 100,000 test set images are released with the dataset, but the labels are withheld to prevent teams from overfitting on the test set. The teams have to predict 5 (out of 1000) classes and an image is considered to be correct if at least one of the predictions is the ground truth. The test set evaluation is carried out on our end by comparing the predictions to our own set of ground truth labels.
В рамках этого поста я хотел бы остановиться, в частности, на классификации изображений, потому что эта задача является общим знаменателем для многих других задач компьютерного зрения. Задача классификации состоит из 1,2 миллиона изображений в обучающей выборке, каждое из которых размечено одной из 1000 категорий, охватывающих самые разные объекты, животных, сцены и даже некоторые абстрактные геометрические понятия, такие как «крюк» или «спираль». 100 000 тестовых изображений выпускаются вместе с датасетом, но метки скрыты, чтобы команды не могли переобучиться на тестовом наборе. Команды должны предсказать 5 классов (из 1000), и изображение считается классифицированным правильно, если хотя бы одно из предсказаний совпадает с истинной меткой. Оценка тестового набора проводится с нашей стороны путём сравнения предсказаний с нашим собственным набором эталонных меток.
GoogLeNet’s Impressive Performance
Впечатляющая производительность GoogLeNet
I was looking at the results about a week ago and became particularly intrigued by GoogleLeNet’s winning submission for the classification task, which achieved a Hit@5 error rate of only 6.7% on the ILSVRC test set. I was relatively familiar with the scope and difficulty of the classification task: these are unconstrained internet images. They are a jungle of viewpoints, lighting conditions, and variations of all imaginable types. This begged the question: How do humans compare?
Около недели назад я просматривал результаты и особенно заинтересовался победной заявкой GoogLeNet в задаче классификации, которая достигла ошибки Hit@5 всего 6,7% на тестовом наборе ILSVRC. Я был относительно хорошо знаком с масштабом и сложностью задачи классификации: это неограниченные интернет-изображения. Это джунгли ракурсов, условий освещения и вариаций всех мыслимых типов. Это породило вопрос: А как с этим справляются люди?
There are now several tasks in Computer Vision where the performance of our models is close to human, or even superhuman. Examples of these tasks include face verification, various medical imaging tasks, Chinese character recognition, etc. However, many of these tasks are fairly constrained in that they assume input images from a very particular distribution. For example, face verification models might assume as input only aligned, centered, and normalized images. In many ways, ImageNet is harder since the images come directly from the “jungle of the interwebs”. Is it possible that our models are reaching human performance on such an unconstrained task?
Сейчас в компьютерном зрении есть несколько задач, в которых производительность наших моделей близка к человеческой или даже превосходит её. Примеры таких задач — верификация лиц, различные задачи медицинской визуализации, распознавание китайских иероглифов и т. д. Однако многие из этих задач довольно ограничены в том смысле, что предполагают входные изображения из очень определённого распределения. Например, модели верификации лиц могут принимать на вход только выровненные, центрированные и нормализованные изображения. Во многих отношениях ImageNet сложнее, поскольку изображения приходят прямо из «джунглей интернета». Возможно ли, что наши модели достигают человеческой производительности на такой неограниченной задаче?
Computing Human Accuracy
Вычисление человеческой точности
In short, I thought that the impressive performance by the winning team would only make sense if it was put in perspective with human accuracy. I was also in the unique position of being able to evaluate it (given that I share office space with ILSVRC organizers), so I set out to quantify the human accuracy and characterize the differences between human predictions with those of the winning model.
Короче говоря, я подумал, что впечатляющий результат победившей команды имеет смысл оценить только в сравнении с человеческой точностью. К тому же я находился в уникальной позиции для проведения такой оценки (учитывая, что я делю офис с организаторами ILSVRC), поэтому я решил количественно измерить человеческую точность и охарактеризовать различия между предсказаниями людей и предсказаниями победившей модели.
Wait, isn’t human accuracy 100%? Thank you, good question. It’s not, because the ILSVRC dataset was not labeled in the same way we are classifying it here. For example, to collect the images for the class “Border Terrier” the organizers searched the query on internet and retrieved a large collection of images. These were then filtered a bit with humans by asking them a binary “Is this a Border Terrier or not?”. Whatever made it through became the “Border Terrier” class, and similar for all the other 1000 images. Therefore, the data was not collected in a discriminative but a binary manner, and is also subject to mistakes and inaccuracies. Some images can sometimes also contain multiple of the ILSVRC classes, etc.
Подождите, разве человеческая точность не 100%? Спасибо, хороший вопрос. Нет, потому что датасет ILSVRC размечался не так, как мы его классифицируем здесь. Например, чтобы собрать изображения для класса «Бордер-терьер», организаторы искали по запросу в интернете и получали большую коллекцию изображений. Затем эти изображения немного фильтровались людьми с помощью бинарного вопроса: «Это бордер-терьер или нет?». Всё, что прошло фильтрацию, становилось классом «Бордер-терьер», и аналогично для всех остальных 1000 классов. Поэтому данные собирались не дискриминативным, а бинарным способом, и подвержены ошибкам и неточностям. Некоторые изображения иногда также могут содержать несколько классов ILSVRC и т. д.
CIFAR-10 digression. It’s fun to note that about 4 years ago I performed a similar (but much quicker and less detailed) human classification accuracy analysis on CIFAR-10. This was back when the state of the art was at 77% by Adam Coates, and my own accuracy turned out to be 94%. I think the best ConvNets now get about 92%. The post about that can be found here. I never imagined I’d be doing the same for ImageNet a few years down the road :)
Отступление про CIFAR-10. Забавно отметить, что около 4 лет назад я проводил аналогичный (но гораздо более быстрый и менее детальный) анализ точности человеческой классификации на CIFAR-10. Это было тогда, когда state-of-the-art составлял 77% у Adam Coates, а моя собственная точность оказалась 94%. Думаю, лучшие ConvNet сейчас достигают около 92%. Пост об этом можно найти здесь. Я никогда не думал, что буду делать то же самое для ImageNet несколько лет спустя :)
There’s one issue to clarify on. You may ask: But wait, the ImageNet test set labels were obtained from humans in the first place. Why go about re-labeling it all over again? Isn’t human performance 0% by definition? Kind of, but not really. It is important to keep in mind that ImageNet was annotated as a binary ask. For example, to collect images of the dog class “Kelpie”, the query was submitted to search engines and then humans on Amazon Mechanical Turk were used for the binary task of filtering out the noise. The ILSVRC classification task, on the other hand, is 1000-way classification. It’s not a binary task such as the one used to collect the data.
Есть один момент, который надо прояснить. Вы можете спросить: Но подождите, метки тестового набора ImageNet изначально были получены от людей. Зачем переразмечать всё заново? Разве человеческая точность по определению не 0%? Вроде того, но не совсем. Важно помнить, что ImageNet размечался как бинарная задача. Например, чтобы собрать изображения класса собак «Kelpie», запрос отправлялся в поисковые системы, а затем люди на Amazon Mechanical Turk выполняли бинарную задачу фильтрации шума. Задача классификации ILSVRC, с другой стороны, — это классификация на 1000 классов. Это не бинарная задача, как та, что использовалась для сбора данных.
Labeling Interface
Интерфейс разметки
I developed a labeling interface that would help us evaluate the human performance. It looked similar to, but not identical, to the screenshot below:
Я разработал интерфейс разметки, который помог бы нам оценить человеческую производительность. Он выглядел похоже, но не идентично скриншоту ниже:
The interface consisted of the test image on the left, and 1000 classes listed on the right. Each class was followed by 13 example images from the training set so that the categories were easier for a human to scan visually. The categories were also sorted in the topological order of the ImageNet hierarchy, which places semantically similar concepts nearby in the list. For example, all motor vehicle-related classes are arranged contiguously in the list. Finally, the interface is web-based so it is easy to naturally scroll through the classes, or search for them by text.
Интерфейс состоял из тестового изображения слева и 1000 классов, перечисленных справа. За каждым классом следовало 13 примеров изображений из обучающего набора, чтобы категории было проще визуально сканировать человеку. Категории также были отсортированы в топологическом порядке иерархии ImageNet, что располагает семантически похожие концепции рядом друг с другом в списке. Например, все классы, связанные с автотранспортом, расположены подряд. Наконец, интерфейс веб-ориентированный, поэтому по классам легко прокручивать или искать их по тексту.
Try it out! I’m making the the labeling interface available to everyone so that you can also try labeling ILSVRC yourselves and draw your own conclusions. There are a few modifications in this version from the one we used to collect the data. I added two buttons (Show answer, and Show google prediction), and of course, the images shown in this version are the validation images, not the test set images. The GoogLeNet validation set predictions were graciously provided by the Google team.
Попробуйте сами! Я делаю интерфейс разметки доступным для всех, чтобы вы тоже могли попробовать разметить ILSVRC и сделать свои собственные выводы. В этой версии есть несколько модификаций по сравнению с той, которую мы использовали для сбора данных. Я добавил две кнопки (Показать ответ и Показать предсказание Google), и, конечно, в этой версии показываются валидационные изображения, а не изображения тестового набора. Предсказания GoogLeNet на валидационном наборе любезно предоставила команда Google.
Roadblocks along the way
Препятствия по пути
It was hard. As I beta-tested the interface, the task of labeling images with 5 out of 1000 categories quickly turned out to be extremely challenging, even for some friends in the lab who have been working on ILSVRC and its classes for a while. First we thought we would put it up on AMT. Then we thought we could recruit paid undergrads. Then I organized a labeling party of intense labeling effort only among the (expert labelers) in our lab. Then I developed a modified interface that used GoogLeNet predictions to prune the number of categories from 1000 to only about 100. It was still too hard - people kept missing categories and getting up to ranges of 13-15% error rates. In the end I realized that to get anywhere competitively close to GoogLeNet, it was most efficient if I sat down and went through the painfully long training process and the subsequent careful annotation process myself.
Это было сложно. Когда я бета-тестировал интерфейс, задача разметки изображений 5 категориями из 1000 быстро оказалась чрезвычайно сложной даже для некоторых друзей по лаборатории, которые уже какое-то время работали с ILSVRC и его классами. Сначала мы думали выложить это на AMT. Потом думали нанять платных студентов-бакалавров. Затем я организовал «вечеринку разметки» с интенсивным трудом только среди (экспертных разметчиков) в нашей лаборатории. Потом я разработал модифицированный интерфейс, использующий предсказания GoogLeNet, чтобы сократить число категорий с 1000 до примерно 100. Всё равно было слишком сложно — люди продолжали пропускать категории и получали ошибку в диапазоне 13-15%. В итоге я понял, что чтобы хоть как-то приблизиться к GoogLeNet, эффективнее всего было сесть и пройти мучительно долгий процесс обучения и последующую кропотливую разметку самому.
It took a while. I ended up training on 500 validation images and then switched to the test set of 1500 images. The labeling happened at a rate of about 1 per minute, but this decreased over time. I only enjoyed the first ~200, and the rest I only did #forscience. (In the end we convinced one more expert labeler to spend a few hours on the annotations, but they only got up to 280 images, with less training, and only got to about 12%). The labeling time distribution was strongly bimodal: Some images are easily recognized, while some images (such as those of fine-grained breeds of dogs, birds, or monkeys) can require multiple minutes of concentrated effort. I became very good at identifying breeds of dogs.
Это заняло время. В итоге я обучился на 500 валидационных изображениях, а затем переключился на тестовый набор из 1500 изображений. Разметка шла со скоростью примерно одно изображение в минуту, но со временем замедлялась. Мне нравились только первые ~200, а остальное я делал только #радинауки. (В итоге мы уговорили ещё одного эксперта-разметчика потратить несколько часов на аннотации, но он успел разметить только 280 изображений, с меньшим обучением, и получил около 12%). Распределение времени разметки было сильно бимодальным: некоторые изображения легко узнаваемы, а некоторые (например, тонкие различия пород собак, птиц или обезьян) могут требовать нескольких минут сосредоточенных усилий. Я очень хорошо научился определять породы собак.
It was worth it. Based on the sample of images I worked on, the GoogLeNet classification error turned out to be 6.8% (the error on the full test set of 100,000 images is 6.7%). My own error in the end turned out to be 5.1%, approximately 1.7% better. If you crunch through the statistical significance calculations (i.e. comparing the two proportions with a Z-test) under the null hypothesis of them being equal, you get a one-sided p-value of 0.022. In other words, the result is statistically significant based on a relatively commonly used threshold of 0.05. Lastly, I found the experience to be quite educational: After seeing so many images, issues, and ConvNet predictions you start to develop a really good model of the failure modes.
Оно того стоило. На выборке изображений, с которыми я работал, ошибка классификации GoogLeNet оказалась 6,8% (ошибка на полном тестовом наборе из 100 000 изображений составляет 6,7%). Моя собственная ошибка в итоге составила 5,1%, примерно на 1,7% лучше. Если прогнать расчёты статистической значимости (то есть сравнить две пропорции с помощью Z-теста) при нулевой гипотезе об их равенстве, получается одностороннее p-значение 0,022. Иными словами, результат статистически значим по относительно общепринятому порогу 0,05. Наконец, я нашёл этот опыт довольно поучительным: увидев так много изображений, проблем и предсказаний ConvNet, начинаешь хорошо понимать виды ошибок модели.
My error turned out to be 5.1%, compared to GoogLeNet error of 6.8%. Still a bit of a gap to close (and more).
Моя ошибка оказалась 5,1% против ошибки GoogLeNet в 6,8%. Разрыв всё ещё есть, его надо закрыть (и не только).
Analysis of errors
Анализ ошибок
We inspected both human and GoogLeNet errors to gain an understanding of common error types and how they compare. The analysis and insights below were derived specifically from GoogLeNet predictions, but I suspect that many of the same errors may be present in other methods. Let me copy paste the analysis from our ILSVRC paper:
Мы исследовали как человеческие ошибки, так и ошибки GoogLeNet, чтобы понять типичные виды ошибок и как они соотносятся. Анализ и выводы ниже получены конкретно из предсказаний GoogLeNet, но я подозреваю, что многие из тех же ошибок могут присутствовать и в других методах. Позвольте мне скопировать анализ из нашей статьи об ILSVRC:
Types of error that both GoogLeNet human are susceptible to:
Типы ошибок, которым подвержены и GoogLeNet, и человек:
Multiple objects. Both GoogLeNet and humans struggle with images that contain multiple ILSVRC classes (usually many more than five), with little indication of which object is the focus of the image. This error is only present in the Classification setting, since every image is constrained to have exactly one correct label. In total, we attribute 24 (24%) of GoogLeNet errors and 12 (16%) of human errors to this category. It is worth noting that humans can have a slight advantage in this error type, since it can sometimes be easy to identify the most salient object in the image.
Incorrect annotations. We found that approximately 5 out of 1500 images (0.3%) were incorrectly annotated in the ground truth. This introduces an approximately equal number of errors for both humans and GoogLeNet.
Несколько объектов. И GoogLeNet, и люди испытывают трудности с изображениями, содержащими несколько классов ILSVRC (обычно намного больше пяти), без явного указания, какой объект является центральным для изображения. Эта ошибка присутствует только в задаче классификации, поскольку каждое изображение должно иметь ровно одну правильную метку. В сумме мы относим к этой категории 24 (24%) ошибок GoogLeNet и 12 (16%) ошибок человека. Стоит отметить, что у людей здесь может быть небольшое преимущество, так как иногда легко определить наиболее значимый объект на изображении. Неправильные аннотации. Мы обнаружили, что примерно 5 из 1500 изображений (0,3%) были неверно размечены в эталонных метках. Это вносит примерно одинаковое количество ошибок как для людей, так и для GoogLeNet.
Types of error that GoogLeNet is more susceptible to than human:
Типы ошибок, которым GoogLeNet подвержен больше, чем человек:
Object small or thin. GoogLeNet struggles with recognizing objects that are very small or thin in the image, even if that object is the only object present. Examples of this include an image of a standing person wearing sunglasses, a person holding a quill in their hand, or a small ant on a stem of a flower. We estimate that approximately 22 (21%) of GoogLeNet errors fall into this category, while none of the human errors do. In other words, in our sample of images, no image was mislabeled by a human because they were unable to identify a very small or thin object. This discrepancy can be attributed to the fact that a human can very effectively leverage context and affordances to accurately infer the identity of small objects (for example, a few barely visible feathers near person’s hand as very likely belonging to a mostly occluded quill).
Image filters. Many people enhance their photos with filters that distort the contrast and color distributions of the image. We found that 13 (13%) of the images that GoogLeNet incorrectly classified contained a filter. Thus, we posit that GoogLeNet is not very robust to these distortions. In comparison, only one image among the human errors contained a filter, but we do not attribute the source of the error to the filter.
Abstract representations. We found that GoogLeNet struggles with images that depict objects of interest in an abstract form, such as 3D-rendered images, paintings, sketches, plush toys, or statues. An example is the abstract shape of a bow drawn with a light source in night photography, a 3D-rendered robotic scorpion, or a shadow on the ground, of a child on a swing. We attribute approximately 6 (6%) of GoogLeNet errors to this type of error and believe that humans are significantly more robust, with no such errors seen in our sample.
Miscellaneous sources. Additional sources of error that occur relatively infrequently include extreme closeups of parts of an object, unconventional viewpoints such as a rotated image, images that can significantly benefit from the ability to read text (e.g. a featureless container identifying itself as “face powder”), objects with heavy occlusions, and images that depict a collage of multiple images. In general, we found that humans are more robust to all of these types of error.
Маленький или тонкий объект. GoogLeNet испытывает трудности с распознаванием объектов, которые очень малы или тонки на изображении, даже если этот объект — единственный. Примеры включают изображение стоящего человека в солнцезащитных очках, человека, держащего перо в руке, или маленького муравья на стебле цветка. Мы оцениваем, что примерно 22 (21%) ошибок GoogLeNet попадают в эту категорию, в то время как у людей таких ошибок нет вовсе. Иными словами, в нашей выборке изображений ни одно изображение не было неправильно размечено человеком из-за того, что он не смог идентифицировать очень маленький или тонкий объект. Это расхождение объясняется тем, что человек может очень эффективно использовать контекст и аффордансы, чтобы точно вывести идентичность маленьких объектов (например, несколько едва заметных перьев около руки человека, которые с большой вероятностью принадлежат в основном скрытому перу-чернильнице). Фильтры изображений. Многие люди обрабатывают свои фотографии фильтрами, которые искажают распределение контраста и цвета изображения. Мы обнаружили, что 13 (13%) изображений, которые GoogLeNet классифицировал неверно, содержали фильтр. Таким образом, мы предполагаем, что GoogLeNet не очень устойчив к таким искажениям. Для сравнения, только одно изображение среди человеческих ошибок содержало фильтр, но мы не относим источник этой ошибки к фильтру. Абстрактные представления. Мы обнаружили, что GoogLeNet испытывает трудности с изображениями, изображающими интересующие объекты в абстрактной форме, такими как 3D-визуализации, картины, эскизы, плюшевые игрушки или статуи. Пример — абстрактная форма банта, нарисованная источником света при ночной фотографии, 3D-визуализация робота-скорпиона или тень на земле от ребёнка на качелях. Мы относим примерно 6 (6%) ошибок GoogLeNet к этому типу и считаем, что люди значительно более устойчивы — в нашей выборке таких ошибок не наблюдалось. Прочие источники. Дополнительные источники ошибок, встречающиеся относительно редко, включают экстремальные крупные планы частей объекта, нестандартные ракурсы, например повёрнутые изображения, изображения, для распознавания которых очень помогло бы умение читать текст (например, безликая упаковка с надписью «face powder»), объекты с сильной окклюзией и изображения, представляющие коллаж из нескольких изображений. В целом мы обнаружили, что люди более устойчивы ко всем этим типам ошибок.
Types of error that human is more susceptible to than GoogLeNet:
Типы ошибок, которым человек подвержен больше, чем GoogLeNet:
Fine-grained recognition. We found that humans are noticeably worse at fine-grained recognition (e.g. dogs, monkeys, snakes, birds), even when they are in clear view. To understand the difficulty, consider that there are more than 120 species of dogs in the dataset. We estimate that 28 (37%) of the human errors fall into this category, while only 7 (7%) of GoogLeNet erros do.
Class unawareness. The annotator may sometimes be unaware of the ground truth class present as a label option. When pointed out as an ILSVRC class, it is usually clear that the label applies to the image. These errors get progressively less frequent as the annotator becomes more familiar with ILSVRC classes. Approximately 18 (24%) of the human errors fall into this category.
Insufficient training data. Recall that the annotator is only presented with 13 examples of a class under every category name. However, 13 images are not always enough to adequately convey the allowed class variations. For example, a brown dog can be incorrectly dismissed as a “Kelpie” if all examples of a “Kelpie” feature a dog with black coat. However, if more than 13 images were listed it would have become clear that a “Kelpie” may have a brown coat. Approximately 4 (5%) of human errors fall into this category.
Тонкое (fine-grained) распознавание. Мы обнаружили, что люди заметно хуже справляются с тонким распознаванием (например, собак, обезьян, змей, птиц), даже когда они хорошо видны. Чтобы понять сложность, учтите, что в датасете более 120 пород собак. Мы оцениваем, что 28 (37%) человеческих ошибок попадают в эту категорию, тогда как у GoogLeNet таких ошибок только 7 (7%). Незнание классов. Разметчик иногда может не знать, что эталонный класс присутствует в списке вариантов меток. Когда на класс ILSVRC указывают, обычно становится ясно, что метка применима к изображению. Эти ошибки становятся всё реже по мере того, как разметчик лучше знакомится с классами ILSVRC. Примерно 18 (24%) человеческих ошибок попадают в эту категорию. Недостаточно обучающих данных. Напомним, что разметчику показывается только 13 примеров каждого класса под именем категории. Однако 13 изображений не всегда достаточно, чтобы адекватно передать допустимые вариации класса. Например, коричневую собаку можно ошибочно отвергнуть как «Kelpie», если все примеры «Kelpie» показывают собаку с чёрной шерстью. Однако если бы было показано больше 13 изображений, стало бы ясно, что «Kelpie» может иметь и коричневую шерсть. Примерно 4 (5%) человеческих ошибок попадают в эту категорию.
Conclusions
Выводы
We investigated the performance of trained human annotators on a sample of up to 1500 ILSVRC test set images. Our results indicate that a trained human annotator is capable of outperforming the best model (GoogLeNet) by approximately 1.7% (p = 0.022).
Мы исследовали производительность обученных человеческих разметчиков на выборке до 1500 изображений тестового набора ILSVRC. Наши результаты показывают, что обученный человеческий разметчик способен превзойти лучшую модель (GoogLeNet) примерно на 1,7% (p = 0,022).
We expect that some sources of error may be relatively easily eliminated (e.g. robustness to filters, rotations, collages, effectively reasoning over multiple scales), while others may prove more elusive (e.g. identifying abstract representations of objects). On the hand, a large majority of human errors come from fine-grained categories and class unawareness. We expect that the former can be significantly reduced with fine-grained expert annotators, while the latter could be reduced with more practice and greater familiarity with ILSVRC classes.
Мы ожидаем, что некоторые источники ошибок можно относительно легко устранить (например, устойчивость к фильтрам, поворотам, коллажам, эффективное рассуждение на нескольких масштабах), в то время как другие могут оказаться более неуловимыми (например, идентификация абстрактных представлений объектов). С другой стороны, большая часть человеческих ошибок происходит из тонко-различимых категорий и незнания классов. Мы ожидаем, что первое можно значительно уменьшить с помощью экспертных разметчиков по тонкому распознаванию, а второе — за счёт большей практики и большего знакомства с классами ILSVRC.
It is clear that humans will soon only be able to outperform state of the art image classification models by use of significant effort, expertise, and time. One interesting follow-up question for future investigation is how computer-level accuracy compares with human-level accuracy on more complex image understanding tasks.
Очевидно, что вскоре люди смогут превосходить state-of-the-art модели классификации изображений только ценой значительных усилий, экспертизы и времени. Один интересный вопрос для будущего исследования — как точность компьютера соотносится с точностью человека на более сложных задачах понимания изображений.
“It is clear that humans will soon only be able to outperform state of the art image classification models by use of significant effort, expertise, and time.”
«Очевидно, что вскоре люди смогут превосходить state-of-the-art модели классификации изображений только ценой значительных усилий, экспертизы и времени».
As for my personal take-away from this week-long exercise, I have to say that, qualitatively, I was very impressed with the ConvNet performance. Unless the image exhibits some irregularity or tricky parts, the ConvNet confidently and robustly predicts the correct label. If you’re feeling adventurous, try out the labeling interface for yourself and draw your own conclusions. I can promise that you’ll gain interesting qualitative insights into where state-of-the-art Computer Vision works, where it fails, and how.
Что касается моего личного вывода из этого недельного упражнения, я должен сказать, что качественно я был очень впечатлён производительностью ConvNet. Если изображение не содержит каких-либо нерегулярностей или сложных деталей, ConvNet уверенно и устойчиво предсказывает правильную метку. Если вам хочется приключений, попробуйте интерфейс разметки сами и сделайте собственные выводы. Я могу обещать, что вы получите интересные качественные инсайты о том, где state-of-the-art компьютерное зрение работает, где оно ошибается и как.
EDIT: additional discussions:
РЕДАКТУРА: дополнительные обсуждения:
UPDATE:
ОБНОВЛЕНИЕ:
На странице воркшопа ImageNet теперь есть ссылки на слайды и видео многих команд. Статья о GoogLeNet на arXiv описывает детали их архитектуры.
UPDATE2 (14 Feb 2015):
ОБНОВЛЕНИЕ 2 (14 февраля 2015):
There have now been several reported results that surpass my 5.1% error on ImageNet. I’m astonished to see such rapid progress. At the same time, I think we should keep in mind the following:
С тех пор появилось несколько заявленных результатов, превосходящих мою ошибку 5,1% на ImageNet. Я поражён таким стремительным прогрессом. В то же время, я думаю, нам следует помнить о следующем:
Human accuracy is not a point. It lives on a tradeoff curve.
Человеческая точность — это не точка. Она лежит на кривой компромисса.
We trade off human effort and expertise with the error rate: I am one point on that curve with 5.1%. My labmates with almost no training and less patience are another point, with even up to 15% error. And based on some calculations that consider my exact error types and hypothesizing which ones may be easier to fix than others, it’s not unreasonable to suggest that an ensemble of very dedicated expert human labelers might push this down to 3%, with about 2% being an optimistic error rate lower bound. I know it’s not as exciting as having a single number, but it’s the right way of thinking about it. See more details in my recent Google+ post.
Мы обмениваем человеческие усилия и экспертизу на уровень ошибки: я — одна точка на этой кривой с 5,1%. Мои коллеги по лаборатории, почти без обучения и с меньшим терпением, — другая точка, с ошибкой вплоть до 15%. И, основываясь на некоторых расчётах, учитывающих конкретные виды моих ошибок и предположениях о том, какие из них проще исправить, не лишено оснований предположить, что ансамбль очень преданных делу экспертных человеческих разметчиков мог бы снизить эту цифру до 3%, при этом около 2% является оптимистичной нижней границей ошибки. Я знаю, что это не так захватывающе, как иметь одно число, но это правильный способ об этом думать. Подробнее в моём недавнем посте в Google+.