newsmode
search
Меню
arrow_back Назад

The state of Computer Vision and AI: we are really, really far away.

auto_awesomeКраткое саммари

Андрей Карпатый разбирает знаменитую фотографию, на которой Барак Обама незаметно давит ногой на весы, пока стоящий на них человек взвешивается, а окружающие смеются. Автор перечисляет десятки слоёв знаний, нужных, чтобы понять шутку: 3D-структура сцены, распознавание зеркал и лиц, физика весов, теория сознания, социальный статус и предсказание развития событий. Он подчёркивает, что современные методы Computer Vision (Imagenet, Pascal VOC, оценка позы, распознавание действий) решают узкие и разрозненные задачи и жалко выглядят на фоне такой реальной сцены. Карпатый сомневается, что достаточно просто больше данных и трюков вроде SGD, adagrad или L1-регуляризации — главная проблема в том, чтобы собрать правильные данные для подобных выводов. Он склоняется к мысли, что нужны воплощённость (embodiment), годы структурированного временно́го опыта и какая-то новая архитектура активного обучения. В финале автор иронично признаётся, что всё это его удручает, и шутит, что, может, проще запустить стартап с мобильным локальным соцприложением для iPhone.

The picture above is funny.

Картинка выше — забавная.

But for me it is also one of those examples that make me sad about the outlook for AI and for Computer Vision. What would it take for a computer to understand this image as you or I do? I challenge you to think explicitly of all the pieces of knowledge that have to fall in place for it to make sense. Here is my short attempt:

Но для меня это ещё и один из тех примеров, которые навевают грусть по поводу перспектив AI и Computer Vision. Что нужно, чтобы компьютер понял это изображение так же, как вы или я? Я предлагаю вам явно перечислить все кусочки знаний, которые должны сложиться, чтобы в этом появился смысл. Вот моя короткая попытка:

  • You recognize it is an image of a bunch of people and you understand they are in a hallway
  • You recognize that there are 3 mirrors in the scene so some of those people are “fake” replicas from different viewpoints.
  • You recognize Obama from the few pixels that make up his face. It helps that he is in his suit and that he is surrounded by other people with suits.
  • You recognize that there’s a person standing on a scale, even though the scale occupies only very few white pixels that blend with the background. But, you’ve used the person’s pose and knowledge of how people interact with objects to figure it out.
  • You recognize that Obama has his foot positioned just slightly on top of the scale. Notice the language I’m using: It is in terms of the 3D structure of the scene, not the position of the leg in the 2D coordinate system of the image.
  • You know how physics works: Obama is leaning in on the scale, which applies a force on it. Scale measures force that is applied on it, that’s how it works => it will over-estimate the weight of the person standing on it.
  • The person measuring his weight is not aware of Obama doing this. You derive this because you know his pose, you understand that the field of view of a person is finite, and you understand that he is not very likely to sense the slight push of Obama’s foot.
  • You understand that people are self-conscious about their weight. You also understand that he is reading off the scale measurement, and that shortly the over-estimated weight will confuse him because it will probably be much higher than what he expects. In other words, you reason about implications of the events that are about to unfold seconds after this photo was taken, and especially about the thoughts and how they will develop inside people’s heads. You also reason about what pieces of information are available to people.
  • There are people in the back who find the person’s imminent confusion funny. In other words you are reasoning about state of mind of people, and their view of the state of mind of another person. That’s getting frighteningly meta.
  •  Finally, the fact that the perpetrator here is the president makes it maybe even a little more funnier. You understand what actions are more or less likely to be undertaken by different people based on their status and identity.
  • Вы распознаёте, что это изображение группы людей, и понимаете, что они находятся в коридоре. Вы видите, что в сцене есть 3 зеркала, так что некоторые из этих людей — «ненастоящие», это отражения с разных ракурсов. Вы узнаёте Обаму по нескольким пикселям, из которых состоит его лицо. Помогает то, что он в костюме и что вокруг него другие люди в костюмах. Вы понимаете, что на весах стоит человек, хотя сами весы занимают совсем немного белых пикселей, сливающихся с фоном. Но вы используете позу этого человека и знание о том, как люди взаимодействуют с предметами, чтобы это вычислить. Вы видите, что Обама поставил ногу чуть-чуть на сами весы. Обратите внимание на язык, которым я пользуюсь: я говорю в терминах 3D-структуры сцены, а не положения ноги в 2D-системе координат изображения. Вы знаете, как работает физика: Обама наваливается на весы, прикладывая к ним силу. Весы измеряют силу, которая на них прикладывается, — так они устроены => они завысят вес стоящего на них человека. Человек, измеряющий свой вес, не подозревает, что Обама это делает. Вы делаете такой вывод, потому что знаете его позу, понимаете, что поле зрения человека ограничено, и понимаете, что он вряд ли почувствует лёгкий нажим ноги Обамы. Вы понимаете, что люди стесняются своего веса. Вы также понимаете, что он считывает показания весов и что вскоре завышенный вес собьёт его с толку, потому что окажется гораздо выше, чем он ожидает. Иными словами, вы рассуждаете о последствиях событий, которые развернутся через секунды после того, как был сделан этот снимок, и особенно о мыслях и о том, как они будут развиваться в головах людей. Вы также рассуждаете о том, какая информация доступна каждому из людей. Сзади стоят люди, которые находят грядущее замешательство этого человека забавным. То есть вы рассуждаете о состоянии сознания людей и о том, как они видят состояние сознания другого человека. Это становится пугающе мета. Наконец, тот факт, что «виновник торжества» здесь — президент, делает ситуацию, пожалуй, ещё немного смешнее. Вы понимаете, какие действия более или менее вероятны со стороны разных людей в зависимости от их статуса и личности.

    I could go on, but the point here is that you’ve used a HUGE amount of information in that half second when you look at the picture and laugh. Information about the 3D structure of the scene, confounding visual elements like mirrors, identities of people, affordances and how people interact with objects, physics (how a particular instrument works, leaning and what that does), people, their tendency to be insecure about weight, you’ve reasoned about the situation from the point of view of the person on the scale, what he is aware of, what his intents are and what information is available to him, and you’ve reasoned about people reasoning about people. You’ve also thought about the dynamics of the scene and made guesses about how the situation will unfold in the next few seconds visually, how it will unfold in the thoughts of people involved, and you reasoned about how likely or unlikely it is for people of particular identity/status to carry out some action. Somehow all these things come together to “make sense” of the scene.

    Я мог бы продолжать, но суть в том, что вы использовали ОГРОМНОЕ количество информации за те полсекунды, пока смотрите на картинку и смеётесь. Информацию о 3D-структуре сцены, о сбивающих с толку визуальных элементах вроде зеркал, об идентичности людей, об аффордансах и о том, как люди взаимодействуют с предметами, о физике (как работает конкретный прибор, что значит навалиться и какой это даёт эффект), о людях и их склонности комплексовать из-за веса. Вы рассуждали о ситуации с точки зрения человека на весах: что он осознаёт, каковы его намерения и какая информация ему доступна, — и рассуждали о людях, рассуждающих о людях. Вы также подумали о динамике сцены и сделали предположения о том, как ситуация будет развиваться в ближайшие секунды визуально, как она будет разворачиваться в мыслях вовлечённых людей, и прикинули, насколько вероятно или невероятно для людей определённого статуса/идентичности совершить то или иное действие. Каким-то образом всё это вместе складывается в «понимание» сцены.

    It is mind-boggling that all of the above inferences unfold from a brief glance at a 2D array of R,G,B values. The core issue is that the pixel values are just a tip of a huge iceberg and deriving the entire shape and size of the icerberg from prior knowledge is the most difficult task ahead of us. How can we even begin to go about writing an algorithm that can reason about the scene like I did? Forget for a moment the inference algorithm that is capable of putting all of this together; How do we even begin to gather data that can support these inferences (for example how a scale works)? How do we go about even giving the computer a chance?

    Поражает, что все вышеперечисленные выводы разворачиваются из беглого взгляда на 2D-массив значений R,G,B. Главная проблема в том, что значения пикселей — это лишь верхушка огромного айсберга, и вывод всей формы и размера этого айсберга из априорных знаний — самая трудная задача, стоящая перед нами. Как нам вообще приступить к написанию алгоритма, способного рассуждать о сцене так, как это сделал я? Забудьте на минуту про алгоритм вывода, способный связать всё это воедино; как нам хотя бы начать собирать данные, которые могут поддержать такие рассуждения (например, о том, как работают весы)? Как мы вообще можем дать компьютеру шанс?

    Now consider that the state of the art techniques in Computer Vision are tested on things like Imagenet (task of assigning 1-of-k labels for entire images), or Pascal VOC detection challenge (+ include bounding boxes). There is also quite a bit of work on pose estimation, action recognition, etc., but it is all specific, disconnected, and only half works. I hate to say it but the state of CV and AI is pathetic when we consider the task ahead, and when we think about how we can ever go from here to there. The road ahead is long, uncertain and unclear.

    А теперь учтите, что state-of-the-art методы в Computer Vision тестируются на таких задачах, как Imagenet (присвоение 1-из-k меток целым изображениям) или Pascal VOC detection challenge (плюс bounding boxes). Также есть немало работ по оценке позы, распознаванию действий и т. п., но всё это узкоспециализировано, разрозненно и работает лишь наполовину. Мне неприятно это говорить, но состояние CV и AI выглядит жалко, если задуматься о масштабе стоящей перед нами задачи и о том, как мы вообще можем добраться отсюда туда. Дорога впереди длинная, неопределённая и неясная.

    I’ve seen some arguments that all we need is lots more data from images, video, maybe text and run some clever learning algorithm: maybe a better objective function, run SGD, maybe anneal the step size, use adagrad, or slap an L1 here and there and everything will just pop out. If we only had a few more tricks up our sleeves! But to me, examples like this illustrate that we are missing many crucial pieces of the puzzle and that a central problem will be as much about obtaining the right training data in the right form to support these inferences as it will be about making them.

    Я встречал аргументы, что всё, что нам нужно, — это гораздо больше данных из изображений, видео, возможно, текстов, и запустить какой-нибудь хитрый алгоритм обучения: может быть, лучшую функцию потерь, SGD, отжиг шага обучения, adagrad, навесить тут и там L1 — и всё само собой выскочит. Если бы только у нас в рукаве было ещё пара трюков! Но мне такие примеры показывают, что мы упускаем многие важнейшие куски пазла и что центральной проблемой будет в той же мере получение правильных обучающих данных в правильной форме для поддержки таких выводов, как и само построение этих выводов.

    Thinking about the complexity and scale of the problem further, a seemingly inescapable conclusion for me is that we may also need embodiment, and that the only way to build computers that can interpret scenes like we do is to allow them to get exposed to all the years of (structured, temporally coherent) experience we have, ability to interact with the world, and some magical active learning/inference architecture that I can barely even imagine when I think backwards about what it should be capable of.

    Если думать о сложности и масштабе задачи дальше, для меня кажется почти неизбежным вывод: нам, возможно, также понадобится воплощённость (embodiment), и единственный способ построить компьютеры, способные интерпретировать сцены так, как это делаем мы, — дать им возможность набраться всех тех лет (структурированного, темпорально связного) опыта, что есть у нас, способности взаимодействовать с миром и какой-то магической архитектуры активного обучения/вывода, которую я едва могу себе представить, когда пытаюсь идти от обратного — от того, на что она должна быть способна.

    In any case, we are very, very far and this depresses me. What is the way forward? :( Maybe I should just do a startup. I have a really cool idea for a mobile local social iPhone app.

    В любом случае, нам ещё очень, очень далеко, и это меня угнетает. Куда двигаться? :( Может, мне просто запустить стартап. У меня есть очень классная идея для мобильного локального социального iPhone-приложения.