Нет, речь пойдет не об алгоритмах распознавания изображений – речь пойдет об ограниченности их использования, в частности при создании ИИ.

По моему мнению, распознавание визуальных образов человеком и компьютерной системой сильно различается – настолько сильно, что имеет между собой мало общего. Когда человек говорит «Я вижу», на самом деле он более мыслит, чем видит, чего не скажешь о компьютерной системе, снабженной оборудованием для распознавания изображений.

Знаю, мысль не нова, но предлагаю еще раз убедиться в ее справедливости на примере робота, претендующего на обладание интеллектом. Тестовый вопрос звучит так: каким робот должен видеть окружающий мир, чтобы полностью уподобиться человеку?

Разумеется, робот должен распознавать предметы. О да, с этим алгоритмы справляются – посредством обучения на исходных образцах, насколько понимаю. Но ведь этого катастрофически мало!

I.
Во-первых, каждый предмет окружающего мира состоит из множества каких-либо предметов и в свою очередь является подмножеством других предметов. Я называю данное свойство вложенностью. А что если какой-то предмет попросту не имеет названия, соответственно его нет в базе исходных образцов, по которым обучается алгоритм – что в таком случае должен распознавать робот?

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

Получается, что алгоритм без логического блока мало на что пригоден. Если алгоритм обнаружит часть целого объекта, то не всегда сможет сообразить – соответственно, робот не сможет сообщить, – что это такое.

II.
Во-вторых, перечень объектов, составляющих окружающий мир, не закрыт: он постоянно пополняется.

Человек обладает способностью конструировать объекты реальности, присваивая имена новым обнаруженным объектам, к примеру видам фауны. Коня с человеческими головой и торсом он назовет кентавром, но для этого предварительно сообразит, что у данного существа человеческие голова и торс, а все остальное – лошадиное, тем самым признает увиденный объект за новый. Так поступает человеческий мозг. А алгоритм при отсутствии вводных данных определит такое существо либо как человека, либо как лошадь: не оперируя характеристиками типов, не сумеет установить их комбинацию.

Чтобы робот уподобился человеку, он обязан уметь определять новые для него типы объектов и присваивать данным типам имена. В описаниях нового типа должны фигурировать характеристики известных типов. А если робот этого не умеет, на кой ляд он нам нужен, такой красивый?

Допустим, мы отправляем робота-разведчика на Марс. Робот видит нечто необычное, но способен идентифицировать объект исключительно в известных ему земных понятиях. Что это даст людям, выслушивающим поступающие от робота вербальные сообщения? Иногда – что-то даст, конечно (если на Марсе обнаружатся земные предметы), а в иных случаях – ничего (если марсианские предметы окажутся не похожи на земные).

Изображение – другое дело: человек сам сможет все увидеть, правильно оценить и поименовать. Только посредством не заранее обученного алгоритма распознавания изображений, а своего более хитро устроенного человеческого мозга.

III.
В-третьих, имеется некоторая проблема с индивидуализацией объектов.

Окружающий мир состоит из конкретных предметов. Собственно, видеть можно только конкретные предметы. Но в некоторых случаях их требуется вербально индивидуализировать, для чего используются либо личные имена («Вася Петров»), либо простое указание на конкретный объект, произносимое или подразумеваемое («этот стол»). То, что я называю типами объектов («люди», «столы») – всего лишь собирательные наименования предметов, обладающих определенными общими характеристиками.

Алгоритмы распознавания изображений, если обучить их на исходных образцах, будут способны распознавать как индивидуализированные, так и неиндивидуализированные объекты – это хорошо. Распознавание лиц в местах массового скопления людей и все такое. Плохо то, что такие алгоритмы не поймут, какие предметы следует распознавать в качестве обладающих индивидуальностью, а какие категорически не стоит.

Робот, как обладатель ИИ, должен бы время от времени разражаться сообщениями типа:
– Ой, а эту старушку я уже видел неделю назад!

А вот по поводу травинок злоупотреблять подобными репликами не стоит, тем более что имеются обоснованные опасения по поводу достаточности вычислительных мощностей для выполнения подобной задачи.

Мне непонятно, где проходит тонкая грань между индивидуализированной старушкой и бесчисленными полевыми травинками, которые сами по себе индивидуализированы не менее старушки, но при этом для человека никакого интереса с точки зрения индивидуализации не представляют. Что в этом смысле распознанное изображение? Почти ничего – начало сложного до мучительности восприятия окружающей действительности.

IV.
В-четвертых, динамика объектов, определяемая их взаимным пространственным расположением. Это, скажу вам, что-то!

Я сижу перед камином в глубоком кресле и теперь пытаюсь подняться.
– Что ты видишь, робот?

С нашей обыденной точки зрения робот видит, как я поднимаюсь с кресла. Что он должен ответить? Наверное, релевантным ответом будет:
– Я вижу, как ты поднимаешься с кресла.

Для этого робот должен знать, кто такой я, что такое кресло и что значит подниматься…

Алгоритм распознавания изображений после соответствующей настройки сумеет распознать меня и кресло, далее посредством сравнения кадров мы сможем определить факт взаимного удаления меня от кресла, но что значит «подниматься»? Как вообще происходит «поднимание» в физической реальности?

Если я уже поднялся и отошел, все достаточно просто. После того, как я отдалился от кресла, все предметы в кабинете не изменили пространственного положения относительно друг друга, за исключением меня, который первоначально находился в кресле, а через какое-то время оказался в отдалении от кресла. Допустимо сделать вывод, что я покинул кресло.

Если я еще пребываю в процессе вставания с кресла, все несколько сложней. Я по-прежнему нахожусь рядом с креслом, однако взаимное пространственное положение частей моего тела изменилось:

  • первоначально голень и туловище находились в вертикальном положении, а бедро – в горизонтальном (я сидел),
  • в следующий момент все части тела оказались в вертикальном положении (я встал).

Наблюдай за моим поведением человек, он мгновенно сделает вывод, что я поднимаюсь с кресла. Для человека это будет не столько логический вывод, сколько зрительное восприятие: он буквальным образом увидит, что я поднимаюсь с кресла, хотя на самом деле увидит изменение взаимного положения частей моего тела. Однако, на самом деле это будет логический вывод, который кто-то должен объяснить роботу, либо данный логический вывод робот должен выработать самостоятельно.

И то, и другое равным образом затруднительно:

  • вводить в начальную базу знаний сведения о том, что вставание есть последовательное изменение взаимного пространственного положения определенных частей тела, как-то не вдохновляет;
  • не менее глупо надеяться, что робот, как искусственное мыслящее существо, сам скоренько догадается, что изложенное выше изменение взаимного пространственного положения определенных частей тела называется вставанием. У человека данный процесс занимает годы, сколько же он займет у робота?

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

V.
«Вставание» – абстрактное понятие, определяется изменением характеристик материальных объектов, в данном случае изменением их взаимного пространственного положения. В общем случае это справедливо для любых абстрактных понятий, ведь сами по себе абстрактные понятия в материальном мире не существуют, а полностью зависят от материальных объектов. Хотя зачастую мы воспринимаем их как наблюдаемые воочию.

Сдвинуть челюсть вправо или влево, не открывая рот – как данное действие называется? А никак. Несомненно, по той причине, что такое движение для человека в общем-то нехарактерно. Увидеть-то робот с помощью обсуждаемых алгоритмов увидит, а что толку? В базе исходных образцов нужное наименование будет отсутствовать, и назвать зафиксированное действие робот затрудниться. А давать развернутые вербальные формулировки неименованным действиям, равно как и другим абстрактным понятиям, алгоритмы распознавания изображений не обучены.

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

VI.
В-шестых, причинно-следственные отношения.

Представьте, что вы наблюдаете, как пикап вылетает с дороги и сносит ограду. Причина того, что ограда снесена – движение пикапа, и в свою очередь движение пикапа имеет следствием снос ограды.

– Я видел это собственными глазами!
Это ответ на вопрос, видели вы случившееся или додумались до него. А что вы видели на самом деле?

Несколько предметов, в такой динамике:

  • пикап съехал с дороги,
  • пикап вплотную приблизился к ограде,
  • ограда изменила форму и местоположение.

Основываясь на визуальном восприятии, робот должен сообразить, что в обычном случае ограды не меняют форму и местоположение: здесь это произошло в результате контакта с пикапом. Предмет-причина и предмет-следствие должны контактировать друг с другом, иначе причинность в их отношениях отсутствует.

Хотя здесь мы попадаем в логическую ловушку, ведь контактировать с предметом-следствием могут и другие предметы, не только предмет-причина.

Допустим, в момент удара пикапа на ограду села галка. Пикап и галка контактировали с оградой одновременно: как определить, в результате какого контакта ограда оказалась снесена?

Наверное, с помощью повторяемости:

  • если в каждом случае, когда на ограду садится галка, ограда оказывается снесена, виновата галка;
  • если в каждом случае, когда в ограду врезается пикап, – виноват пикап.

Таким образом, вывод о том, что ограда снесена пикапом, – не совсем наблюдение, а результат анализа на основе наблюдения контактирующих между собой предметов.

С другой стороны, воздействие может осуществляться на расстоянии, например воздействие магнита на железный предмет. Как робот догадается, что приближение магнита к гвоздю заставляет гвоздь устремляться к магниту? Визуальная картинка не такая:

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

Как видите, отслеживать причинно-следственные связи очень непросто, даже в тех случаях, когда свидетель заявляет с железной убежденностью, что видел это собственными глазами. Алгоритмы распознавания изображений здесь бессильны.

VII.
В-седьмых и в-последних, это выбор целей визуального восприятия.

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

Очевидно, что настроить алгоритм распознавания изображений на восприятие одних объектов и игнорирование других не получится, так как может быть заранее не известно, на что следует обращать внимание, а что игнорировать, тем более что текущие цели могут меняться по ходу дела. Может сложиться такая ситуация, когда сначала потребуется воспринять многие тысячи вложенных друг в друга объектов – буквально каждый из них, – проанализировать и лишь затем выдать вердикт, какие объекты существенны для решения текущей задачи, а какие не представляют интереса. Именно так воспринимает окружающий мир человек: он видит лишь важное, не обращая внимание на малоинтересные фоновые события. Каким образом ему это удается, составляет тайну.

А робот, даже оснащенный самыми современными и хитроумными алгоритмами распознавания изображений?.. Если во время нападения марсианских инопланетян он начнет доклад со сводки погоды и продолжит описанием расстилающегося перед ним нового ландшафта, то может и не успеть сообщить о самом нападении.

Выводы

  1. Простое распознавание визуальных образов не заменит человеческих глаз.
  2. Алгоритмы распознавания изображений – вспомогательный инструмент с весьма узкой сферой применения.
  3. Чтобы робот начал не то что мыслить, а хотя бы видеть по-человечески, требуются алгоритмы не только распознавания образов, но и все того же полноценного и пока недостижимого человеческого мышления.

Комментарии (45)


  1. voftik
    03.05.2019 20:21

    Я, возможно, в чем-то ошибаюсь, но вы описываете «сильный» AI, которого нет, и в ближайшем не квантовом вычислительном будущем не предвидится. И который, в общем-то, не нужен для решения большинства прикладных и инженерных задач, которые решаются как раз таки узкоспециализированными «слабыми» AI, что, в частности, повышает стабильность их работы и предсказуемость результата


    1. mikejum Автор
      03.05.2019 20:31

      Вы не ошибаетесь, я описываю «сильный» интеллект. С моей точки зрения, «слабый» интеллект — это вовсе не интеллект. Данная классификация — ложная.


  1. Ermit
    03.05.2019 21:05

    По поводу Ваших выводов:
    1. Видит не глаз, видит мозг. Собственно, в этом одна из проблем компьютерного зрения (CV)…
    2. Распознавание (т.е. классификация) — это очень узкая задача, проблематика CV много шире. Погуглите…
    3. Пока неизвестно как именно устроено «видение», Ваш вывод слишком сильный, он не обоснован. Да, можно предполагать именно это (см. п.1), но нет даже самой грубой модели. Мы просто не знаем пока…


  1. teology
    04.05.2019 11:07

    Чтобы рассуждать об алгоритмах распознавания, надо знать, как они работают, как их обучают, как реально решается инженерная задача. Чесать языком легко: легко сказать «мне не нравятся нейросети, потому что ...». Пустой разговор. Вот если бы вы немного въехали в тему, то разговаривали по-другому.
    Если хотите научить нейросетку видеть процесс вставания с кресла или рисования символов, то учите её этому. Какая проблема? У инженеров такой задачи не стоит, вы ее сами сформулировали. А проблема будет: надо будет подготовить обучающие примеры (датасет). Решайте эту проблему, а не обзывайте нейросети плохими словами только потому, что хочется.


    1. mikejum Автор
      04.05.2019 11:19

      Вы правы: с алгоритмами распознавания я не знаком. Я никогда и не притворялся, что знаком.
      С другой стороны, ваши слова показывают, что в мое «чесание языком» вы немного не въехали. Вопрос не в том, чтобы «научить нейросетку видеть процесс вставания с кресла», а в том, чтобы робот сам находил характерные признаки «вставания с кресла». Нейросетка для этого не приспособлена. А обучать нейросетку различать вставание с кресла, потом вставание со стула и еще миллиону типовых действий можно. Только заколеблетесь обучать, и ИИ таким способом не создадите. В этом главный посыл статьи.


      1. teology
        04.05.2019 16:06

        Нейросетка для этого не приспособлена. А обучать нейросетку различать вставание с кресла, потом вставание со стула и еще миллиону типовых действий можно.

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

        Лучше не сочиняйте сказки про нейросети.


        1. Ermit
          04.05.2019 17:06

          Михайло, это ты?


          1. teology
            04.05.2019 18:02

            Привет, Эгг. Эт я.


        1. mikejum Автор
          04.05.2019 17:48
          +2

          Что-то я логики не улавливаю. А говорю «Обучить нейросеть различать вставание с кресла можно», а вы в ответ: «Ничего подобного. Конечно, можно».
          Чего, по моему мнению, нейросеть не умеет, так это самостоятельно (то есть без обучения, на основании одной постановки задачи) находить характерные признаки «вставания с кресла». А что, она это умеет?


          1. teology
            04.05.2019 18:00
            +1

            Все очень просто. Вы находитесь в неведении, поэтому и не видите логики. Вы верите в божественность мозга. Вам уже говорили про антропоцентричность вашего мировоззрения, я просто повторяю.
            Нет никакой сложности обучить нейросеть отличать вставание со стула от прыжков на батуте или занятия сексом на видео. Простое обнаружение зависимости между пикселями соседних кадров, чистый анализ данных. Примерно также и мозг человека работает, только у него несколько другие обучающие примеры. Главное подносите обучающие примеры. )) В этом вся трудность — где взять датасеты.

            С постановками задач еще сложнее, датасеты надо готовить совсем сложные, нейросеть придется обучать послойно. Нужно учить нейросеть, читать, писать, считать… А вы как думали??? Нейросеть надо учить как человека. Теоретически это понять несложно, но вот как реализовать практически — это да…

            И потом вы понимаете, что человек может стать инженером, но для этого надо его аккуратно учить. Только лучшие становятся инженерами, а то гляди и учеными. Следует различать две вещи:
            1. Человек МОЖЕТ стать инженером
            2. Человек СТАЛ инженером

            Разница в обучающих примерах (датасетах). ))))) Вспомните в фантастических фильмах 90-х годов: обучали суперменов и всяких там универсальных солдатов за несколько часов с нуля путем показа большого количества картинок по телевизору. Такое не прокатит. На картинках далеко не уедешь.


            1. mikejum Автор
              04.05.2019 18:44

              В таком случае спорить не о чем: подписываюсь, особенно под этим:

              Нейросеть надо учить как человека. Теоретически это понять несложно, но вот как реализовать практически — это да…

              Кстати, о практическом способе: по-моему, он один — начинать обучать робота вместе с новорожденными человеческими младенцами, и так до совершеннолетия.
              И да, на мой вопрос «Умеет ли нейросеть самостоятельно ставить задачу и находить характерные признаки «вставания с кресла»?» вы так и не ответили. Вероятно, все-таки не умеет. Именно поэтому я и считаю нейросети ограниченными в своем применении. Над нейросетями, на уровень выше (ну, или ниже, смотря как выразиться), еще один управляющий алгоритм должен быть, и этот алгоритм точно не нейросеть.


              1. teology
                04.05.2019 19:27

                Умеет ли нейросеть самостоятельно ставить задачу и находить характерные признаки «вставания с кресла»?

                Не умеет. Но можно научить. Никакого алгоритма сверху не надо для того, чтобы научиться повторять. Человек тоже повторяет, не изобретает. Изобретения — это случайный процесс. Нейросеть тоже может изобретать: т.е. взять попробовать что-то, сама оценить результат -> обучиться -> закрепить результат. Может сформулировать новое правило на основе новых эмпирических данных, если обучена формулировать правила.

                Вообще никаких проблем. Теоретических.

                Кстати, грамотно экспериментировать — это тоже обучаемый навык. Им обладают хорошие инженеры, художники. Навык развивается за счет опять же обучающих примеров, а не дан богом свыше.


                1. mikejum Автор
                  04.05.2019 19:44

                  Интуитивно не согласен, а обосновать не в силах.
                  Строго говоря, ваши последние утверждения не противоречат моей статье. Даже если вы правы, совершенно и во всем, то нейросеть для распознавания изображений все равно ограничена в применении. Над ней все равно должна быть другая управляющая программа, без которой изображения (для их восприятия интеллектом) — жалкий пшик. Вы считаете, что эта управляющая программа должна быть нейросетью, я в это не верю (не специалист — могу искренне заблуждаться. Впрочем, как и специалисты). Но в любом случае данный вопрос — не тема моей статьи. Статья о том, что нейросетевая распознавалка изображений — весьма локальная подпрограмма даже для распознавания изображений, в обыденном человеческом представлении.


                  1. teology
                    04.05.2019 20:17

                    Каждый последующий слой нейронной сети — это и есть как бы надпрограмма над предыдущими слоями нейронов. Чем ближе слой к выходу тем высокоуровневее и абстрактнее признаки. (Признак — это такой термин. Каждый нейрон «реагирует» на какой-нибудь признак, например, наличие глаз на фото и т.п.)
                    От слоя к слою признаки обогащаются примерно так:
                    1. Глаз есть.
                    2. Два глаза есть.
                    3. Два глаза и хвост.
                    4. Два глаза и длинный хвост.
                    5. Все признаки кошки.
                    6. Все признаки большой кошки.
                    7. Это же тигр!
                    8. Это злой тигр!
                    9. Опасность!
                    10. Ноги, совершайте движения.
                    11. Бег.
                    12. Быстрый бег!


                    1. mikejum Автор
                      04.05.2019 20:30

                      Пример управляющего алгоритма, который не может быть нейросетью.
                      Интеллект обязан иметь цель. Это довольно очевидно, доказательства опускаю. У человека целый комплекс целей, от низменных до высокодуховных: питание, выживание, размножение, удовлетворение эстетических потребностей и т.п. ИИ тоже должен иметь цель. Ее просто нужно вложить в программу — никакой нейросети для ее определения не требуется. Целевая установка — управляющая программа, которая не является нейросетью.


                      1. teology
                        04.05.2019 20:47

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

                        Но! Это низкоуровневая система целеполагания. Нейросеть, в принципе, может создать высокоуровневую систему целеполагания в процессе обучения. Достаточно учить нейросеть планированию и действиям в соответствии с планом. Ведь план — это документ, содержащий цели.

                        Так что у нейросетей все как у человека.


                        1. mikejum Автор
                          04.05.2019 20:52

                          Я имел в виду не текущие тактические цели, а единственную стратегическую цель. Допустим, у человека это размножение. У робота такая стратегическая цель тоже должна быть. Допустим, это выполнение приказов человека. Для программирования этой цели никакой нейросети не нужно, по определению: цель заранее известна, и она единственная. А определять последующие тактические цели, на основании стратегической, — наверное, нейросеть это сумеет, я не возражаю.


                          1. teology
                            05.05.2019 04:34

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

                            Вы всегда думаете о каком-то абстрактном человеке (среднестатистическом, суперчеловеке), которого мысленно наделяете любыми способностями. Например, способностями спортсмена или способностями доказывать алгебраические теоремы. Однако вы не думаете о том, что человека надо обучить этому. Вы думаете, что он сам МОЖЕТ обучиться, если захочет. Однако это неправда. Интеллект человека гораздо слабее, чем кажется. Все те замечательные способности, которыми мысленно наделяется «обычный» человек, для большинства людей могут быть недоступны.


    1. worldmind
      04.05.2019 13:55
      +1

      Думаю слишком много всяких вариантов действий и связей, устанете учить.


      1. teology
        04.05.2019 16:07

        Да, устану. Человека нужно обучать 20 лет, а то и больше. Вообще невыносимо учить человека, очень дорого. Но реально.


      1. GokenTanmay
        04.05.2019 16:19

        Больше чем в го? (топологически разумеется, в распознавании всех «запеченных воксельных форм» разумеется нет необходимости) Требуется определить допустимые относительные углы сочленений, классифицировать «плечи» эти углов, определить наличие объекта с которого может происходить вставание… тут даже не везде NN или «сильный интеллект нужен». Разумеется здесь приведена поверхностная декомпозиция задачи, без определения граничных условий и выявления того, что мы будем понимать под термином «вставание». Даже с точки зрения человека — если это выглядит как человек, движется как человек и находится в условиях допустимых для существования человека — то это скорее всего человек. На этом построены всякие иллюзии и ужастики. Наш человеческий «ИИ-зрения» не всегда верно класифицурет входные данные и если дело совсем швах — то включает механизм выживания «страх» — классический ужастик — показать что-то в темноте — отдаленно что-то напоминающее, а потом резко показать иное, причем желательно сложно классифицируемое.


        1. worldmind
          04.05.2019 21:08

          Требуется определить допустимые относительные углы сочленений, классифицировать «плечи» эти углов, определить наличие объекта с которого может происходить вставание…

          и это только для одного понятия из огромного множества таковых


  1. buriy
    04.05.2019 20:15

    Вы говорите, что молотком (алгоритмом классификации изображений) нельзя поднять стул на третий этаж, и долго и методично это обосновываете.
    Но неужели вы только про молоток знаете?
    Ну так может стоит поискать в интернете, как решать именно вашу задачу, спросить на форуме или в тематической конференции? (рекомендую сообщество ods.ai ).
    Нейросеть может заменять любую часть любого алгоритма. Где-то это будет чрезвычайно неэффективно, а где-то — более эффективно, чем писать этот алгоритм руками и формулами.
    В данном случае, вас интересуют задачи SLAM (построение карты глубины по одной видеокамере), (video) instance segmentation (video object segmentation, не ограниченное классами объектов распознавание объектов на фото и видео, причём два разных человека после instance segmentation должны стать разными объектами, в этом смысл слова «instance» в названии), human pose recognition (построение положения рук и ног человека), video-based human action (activity) recognition (распознавание действий человека по видео).
    А молоток пусть лежит на полке и используется для забивания гвоздей.
    P.S. Кстати, у человека тоже разные области коры решают разные задачи.


    1. mikejum Автор
      04.05.2019 20:25

      Я методично это обосновываю, а вы не менее методично критикуете каждый мой пост на тему ИИ. Вот и гадай после этого, это ваш общественный долг или служебная обязанность.
      Ну говорил же: не нравятся мои посты, не читайте.


      1. buriy
        04.05.2019 21:10

        Извините, я не смог пройти мимо и не подсказать вам, как лучше решать вашу задачу, даже если вы и не задали явно вопрос. Профессиональная деформация? :)
        Но, может, я действительно вас неправильно понял, и вы хотели объяснить, что алгоритм мультиклассового распознавания изображений не решает все задачи мышления, связанные со зрительными процессами. Исправьте тогда, пожалуйста, моменты, указанные в моём комментарии ниже, и получится отличная статья!


  1. teology
    04.05.2019 20:25

    Кстати говоря, почему бы вам (автор) не взять и не начать работать с нейросетями? Это гораздо проще, чем кажется.
    Ставите Python и к нему библиотеку типа Sci-kit learning (для начала), Keras (для дальнейшего развития). Потом гляди в сторону OpenCV, если нравится компьютерное зрение (необязательно нейросети тут).


    1. mikejum Автор
      04.05.2019 20:36

      Ознакомиться со всеми технологиями не хватит жизни.
      На данный момент у меня есть задачки поинтересней изучения нейросетей. Если возникнет интерес, изучу, никаких сомнений.
      Жаль, конечно, что мне в учебных заведениях нейросети не преподавали, по известным причинам, но этого упущения уже не исправить.


      1. buriy
        04.05.2019 21:16

        Есть курсы в интернете:
        stepik.org/course/401 — попроще, заканчивается классификатором, подобным описанному вами в этом посте.
        dlcourse.ai — наш, посложнее, но, в том числе, обзорно описывающий проблематику применения нейросетей для решения различных задач. Даже если пропускать математические куски, можно получить неплохое представление о том, как эти технологии применять на практике, и лучше понять их ограничения.


  1. buriy
    04.05.2019 21:06

    P.P.S. Кто-то, вероятно, сообщение выше не понял, даже несмотря на мою простую аналогию.
    Давайте распишу чуть подробнее основную проблему данной статьи: шизофреничность. В одном месте автор говорит, что хочет сравнить компьютерное зрение и человеческое, а в другом месте — что хочет сравнить компьютерное зрение и человеческое мышление.
    Приведу конкретные примеры.

    >По моему мнению, распознавание визуальных образов человеком и компьютерной системой сильно различается – настолько сильно, что имеет между собой мало общего.

    Нет, «распознавание визуальных образов» как раз не сильно различается, но вы к «распознаванию визуальных образов человеком» причисляете различные задачи, которые ниже перечисляете, а компьютерную систему берёте только одну: мульти-классовое распознавание объектов.
    Компьютерное зрение тоже решает различные задачи.
    В одном вы правы: классический алгоритм компьютерного зрения, рассматриваемый вами — классификатор ограниченного числа объектов — действительно имеет все эти ограничения.
    Но объясните мне, пожалуйста, как вы проделали этот переход от «распознавание визуальных образов компьютером» к одному конкретному алгоритму? Почему «распознавание визуальных образов человеком» трактуете после этого расширительно?
    (Вопрос «зачем вообще кому-то сравнивать тёплое с мягким?» при этом оставим)
    Если человеку давать говорить в ответ на то, что он видит, только цифру от 1 до 1000 (и попросить, чтобы новые цифры не зависели от прошлых цифр), то посмотрим, как человек решит все ваши задачи в пунктах 2-7.

    >А что если какой-то предмет попросту не имеет названия, соответственно его нет в базе исходных образцов, по которым обучается алгоритм – что в таком случае должен распознавать робот?

    Алгоритмы распознавания лиц, например, способны понять по двум фото, один это и тот же человек или нет, даже если никогда его не видели (и не имеют для него метки). Как же это возможно? Благодаря такой штуке, как «embedding», которая примерно соответствует тому, что «человек видит, но не имеет ещё для этого названия».

    А ещё часть механизма зрения человека — это механизм внимания… Если человеку обездвижить глаза и голову, увидит он немного. Про него вы забыли совершенно, даже методично сравнивая тёплое с мягким. Кажется, в половине случаев, «мышлением» вы назваете именно этот механизм. Я понимаю, сложно разделить зрение, внимание и мышление. (Кстати, у компьютера тоже есть механизм внимания, и именно он помогает побеждать компьютеру в Dota 2 и Starcraft 2.)

    Давайте разберём и выводы, вызванные этой терминологической путаницей.

    >1. Простое распознавание визуальных образов не заменит человеческих глаз.

    Вот как раз глаза заменит. Есть различные эксперименты и устройства.

    >2. Алгоритмы распознавания изображений – вспомогательный инструмент с весьма узкой сферой применения.

    Тут всё верно. И человеческие, и компьютерные механизмы распознавания изображений — «вспомогательные инструменты с весьма узкой сферой применения».

    >3. Чтобы робот начал не то что мыслить, а хотя бы видеть по-человечески, требуются алгоритмы не только распознавания образов, но и все того же полноценного и пока недостижимого человеческого мышления.

    Чтобы робот начал видеть по-человечески, у него всё уже есть! (Правда, чтобы компьютер видел хорошо, пока что нужна мощность кластера или хотя бы нескольких видеокарт и мощный процессор. А вот с тем, чтобы компьютер видел «очень хорошо» — у нас есть некоторые проблемы, но, может, надо увеличить мощность вычислений ещё на пару порядков?)
    А вот чтобы ответы робота на заданные ему вопросы совпадали с человеческими, ему нужны механизмы мышления, сравнимые с человеческими, и базы данных для тренировки, сравнимые с данными, которыми кормят людей. Систему зрения при этом компьютеру можно оставить такой, какая есть (ну, разве что, добавить ей мощности).


    1. mikejum Автор
      04.05.2019 21:17

      Не волнуйтесь вы так, это я вам минус в комментариях поставил.
      И то, что вы пишете, особого отторжения у меня не вызывает. Просто человеческое зрение сильно увязано с мышлением. Вы в данной мысли усматриваете шизофреничность? Вот вам ссылка на соответствующую статью в Википедии, ознакомьтесь:
      ru.wikipedia.org/wiki/%D0%A8%D0%B8%D0%B7%D0%BE%D1%84%D1%80%D0%B5%D0%BD%D0%B8%D1%8F
      И да, извините, но больше на ваши комментарии отвечать не стану. Не хочу.


      1. buriy
        04.05.2019 21:38

        >Просто человеческое зрение сильно увязано с мышлением.
        >Вы в данной мысли усматриваете шизофреничность?
        Да, я чётко разделяю понятия «мышления» и «зрения». Для меня зрение — это про «то, что мы видим», а не про «то, что мы думаем о том, что мы видим».
        Я усматриваю шизофреничность в том, что вы считаете человеческое зрение связанным с мышлением, а компьютерное зрение — не связанным с мышлением. Видимо, это потому, что вы интуитивно понимаете, как делить на части компьютерные системы, но не хотите подобным же образом делить системы человеческого мозга.
        Вы же понимаете, что если вы сделаете систему компьютерного мышления, то она тоже будет тесно связанной с системой компьютерного зрения?


  1. buriy
    04.05.2019 21:28
    +1

    И ещё, давайте уж сразу выскажусь на тему применения нейросетей для «сильного ИИ», раз уж эта тема затрагивается в вашем посте:
    1) Да, нейросети можно применять для многих задач на практике уже сейчас
    2) Но ещё больше задач, где их нельзя пока применять, по разным причинам.
    3) Более того, текущие ограничения нейросетей делают задачи «слабого ИИ» намного более полезными на практике (аналогия: нам не нужен весь человек с его спонтанностью, а лишь только части его мозга, хорошо решающие отдельные конкретные задачи).
    4) Тем не менее, решение задачи построения «сильного ИИ» без нейросетей мне кажется невозможным.
    5) Классические методы использования нейросетей не рассчитаны на «задачи мышления»: они хуже человека справляются со смещёнными выборками и противоречивыми данными.
    6) Мы привыкли решать измеримые задачи (такие, где критерий качества — число от 0 до 1). А как измерить качество «сильного ИИ», интеллектуального компьютера, без использования человека?


  1. demimurych
    04.05.2019 22:30

    Всегда поражало, как авторы таких статей употребляют такие термины как сознание, мышление и тем более осознание самого себя… А потом на основе своих же сентенций делают далеко идущие выводы о слабости алгоритмов распознавания.

    Ребята опомнитесь, сейчас никто ничего об этом не знает. едва едва только нащупывают способы понять. Более того, последние изыскания в области нейрофизиологии, за которые в том числе давали нобелевские, говорят, что сознание ни на что не влияет, и что наш мозг ровно так же как и обычная сеть учится распознавать образы. Дети до трех лет — упорно учатся распознавать обьекты и их контуры. И если, не дай бог, они окажутся в условиях полной изоляции, они не смогут видеть в облаках драконов.

    Не уподобляйте себя Шерхану, которые судит о Маугли по тому, что может о нем представить в рамках своего животного мира. Мы же с Вами знаем, что если бы не обстоятельства, маугли вполне мог стать Шекспиром.

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

    Сам факт, что наши текущие слабые подделки на этот счет не просто что-то узнают, а еще и могут быть использованы в продакшене — это УДИВИТЕЛЬНО. Удивительно настолько что пугает. Не дай бог у нас будут ресурсы скормить сети столько же информации сколько обрабатывает наша нейронная человеческкая сеть.


    1. mikejum Автор
      04.05.2019 22:38

      Запрещаете употреблять термины «сознание» и «мышление»? Или запрещаете делать далеко идущие выводы не лауреатам нобелевской премии? Интересно, нынешние лауреаты, еще не будучи лауреатами, нарушали данные правила или их выводы становились далеко идущими сразу после присуждения нобелевских премий? :)


      1. teology
        05.05.2019 04:46

        Я бы запретил. Только потому что это терминология философов, а не ученых. Философия — это псевдонаука. Не бывает науки обо всем. Например, о теореме Геделя может рассуждать только математик, а не дилетант-философ.


        1. mikejum Автор
          05.05.2019 08:20

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


          1. teology
            05.05.2019 15:28

            Ничего подобного. Никакие науки от философии ничего не получали с 18-го века. Не надо сочинять на ходу. На пересечениях наук находятся другие науки, междисциплинарные, которые с философией ничего общего не имеют. Философия — это надувательство щек. Не существует также никакой новой современной философии, заменяющую «ту старую».

            Все термины философии, например, относящиеся к искусственному интеллекту, являются ненаучными. Это трудно понять? Настоящая наука не собирается заниматься «проблемами сознания», «проблемами мышления», так как таких проблем не существует для науки.


            1. mikejum Автор
              05.05.2019 18:18

              Не стану переубеждать.


              1. teology
                05.05.2019 20:00

                И не сможете. Все ваши убеждения сродни религиозным: антропоцентризм в искусственном интеллекте, научность философии… Спор на неравных условиях.


  1. ebt
    05.05.2019 03:31

    Теоретически, все упомянутые Вами проблемы разрешаются добавлением нового уровня machine reasoning к имеющемуся machine learning. Такая архитектура должна сочетать логические рассуждения на базе знаний всего человечества (см. проект CYC) и контекстное обучение на ходу. Пока на практике эта архитектура (её называют нейро-символьными вычислениями) ещё не изобретена, но никаких фундаментальных ограничений, препятствующих её появлению, нет.


    1. teology
      05.05.2019 04:49

      Нейросеть может сама научиться резонить.
      Просто обучать сложно.


      1. ebt
        05.05.2019 15:41

        Безусловно, может. Правда, тогда она становится кое-чем посложнее, например, неокортексом.


  1. Oldron
    05.05.2019 06:39


  1. lynxus
    05.05.2019 08:14

    так-то, на ImageNet машина обошла человека в прошлом году

    Вы хотите робота с NLP+CV+inference на человеческом уровне

    будет Вам такой робот, оглянуться не успеете и он пройдёт тест Тьюринга

    уже делаем, оглянитесь вокруг

    как говорил один Великий Кормчий, чтобы сделать робота надо делать робота

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


  1. perfect_genius
    05.05.2019 14:07

    Перед нами стол. На столе стакан и вилка. Что они делают? Стакан стоит, а вилка лежит. Если мы воткнем вилку в столешницу, вилка будет стоять. Т.е. стоят вертикальные предметы, а лежат горизонтальные? Добавляем на стол тарелку и сковороду. Они вроде как горизонтальные, но на столе стоят. Теперь положим тарелку в сковородку. Там она лежит, а ведь на столе стояла. Может быть, стоят предметы готовые к использованию? Нет, вилка-то готова была, когда лежала. Теперь на стол залезает кошка. Она может стоять, сидеть и лежать. Если в плане стояния и лежания она как-то лезет в логику «вертикальный-горизонтальный», то сидение — это новое свойство. Сидит она на попе. Теперь на стол села птичка. Она на столе сидит, но сидит на ногах, а не на попе. Хотя вроде бы должна стоять. Но стоять она не может вовсе. Но если мы убьём бедную птичку и сделаем чучело, оно будет на столе стоять. Может показаться, что сидение — атрибут живого, но сапог на ноге тоже сидит, хотя он не живой и не имеет попы. Так что, поди ж пойми, что стоит, что лежит, а что сидит.