23 июля 2012 в 18:55

Еще одна попытка разобраться в проблеме искусственного интеллекта из песочницы

Еще одна попытка разобраться в проблеме искусственного интеллектаОбласть искусственного интеллекта (ИИ) зародилась в 50-х года прошлого столетия и вот уже 60 лет пребывает в тупике. Данный факт тяжело поддаётся объяснению по причине того, что за это время вычислительные мощности компьютеров увеличились на десятки порядков, но ни малейшего прогресса в области ИИ при этом не наблюдается. Вероятнее всего, причина этого заключается в неправильном методологическом подходе. В данной статье вашему вниманию будет представлена попытка забыть весь пройденный путь и переосмыслить всё заново. Но для начала хочу уточнить, что искусственный интеллект я буду рассматривать в широком смысле, то есть как жизнь на компьютерной основе.

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

Итак, начнём всё с самого начала. Что такое жизнь? Это философский вопрос, но ответом на него уж точно служит не «форма существования белков». Тогда попробуем сформулировать вопрос иначе: «Какая биологическая форма существования жизни является самой примитивной на Земле?». Понятно, что это одноклеточные: амёбы, бактерии и т.п. Следующий вопрос: «Есть ли у них сознание?». Это тоже философский вопрос. Предположим, что у них есть примитивная форма сознания, которая, разумеется, не идёт ни в какое сравнение с человеческим сознанием. В любом случае, давайте переформулируем и этот вопрос: «Почему мы считаем одноклеточных живыми?». Или «Чем живая амёба\бактерия отличается от мертвой, кроме как наличием\отсутствием сознания?». Ответом на этот вопрос служит: она может размножаться (делением), двигаться, питаться, реагировать на раздражители, приспосабливаться к окружающей среде, поддерживать гомеостаз и т.п. Но каков минимальный перечень возможностей, который позволяет нам считать биологическую субстанцию живой? Например, биологические вирусы обладают способностью к размножению, хотя являются внеклеточной формой «жизни». Они также способны к мутации. Можно ли считать их биологической формой жизни? Если да, то в компьютерном мире имеются их очень близкие аналоги — компьютерные вирусы. Можем ли мы считать их живыми с поправкой на их компьютерную природу?

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

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

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

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

  • +2
    >>Обычно при упоминании ИИ первым делом в воображении возникает компьютерная программа, уверенно обыгрывающая в шахматы чемпиона мира по этой игре.

    Да нет, первым делом возникает лицо Терминатора ))
    • +1
      Это моя первая статья, поэтому в ней возможны недочёты 8)
      • 0
        Ну а вообще идея создания ИИ, развивающегося через самообучение (как развивается ребенок, трогающий и кусающий все вокруг) существует, думаю, лишь на пару лет младше самой идеи ИИ. И вопрос по-прежнему в реализации.
        Ну а концовка статьи очень уж напоминает сюжет матрицы, да.
        • 0
          Не знаю, насколько точно мне удалось передать это в статье, но ключевая идея заключалась немного в другом:

          1. Программа ИИ должна оперировать объектами из своего собственного мира, который, скорее всего, совершенно не будет напоминать привычный нам с вами.

          2. У неё обязательно должны быть возможности, которыми она могла бы оперировать. И не важно для чего: для самореализации, или для удовлетворения желаний, которые у неё, может быть, возникнут, после осознания и овладения этими возможностями.

          А тема самообучения в данной статье, по сути, не затрагивалась… Кроме того, высшие животные развиваются не в результате самообучения, а повторяя поведение по образцу взрослых особей, которые их окружают (родители, вожак стаи и т.п.).
          • 0
            1. Программа ИИ должна оперировать объектами из своего собственного мира, который, скорее всего, совершенно не будет напоминать привычный нам с вами.


            Т.е. вы видите создание ИИ в искусственном запуске эволюции в иной среде? Но достаточно ли эта среда агрессивна и мутагенна, что бы из простейших одноклеточных программ появилась разумная жизнь? И сможем ли мы понять, что перед нами разумная жизнь, если она существует в совершенно ином мире, и оперирует совершенно другими критериями, никак не похожими на человеческие?
            • 0
              Ну, может быть, я чересчур преувеличил непохожесть этого мира на привычный нам с вами… Здесь речь идёт о понятном для системных программистов мире, состоящем из программного кода и аппаратных частей компьютера) Другой вопрос, что мы с вами в нём не обитаем непосредственно, но ничто не помешает нам наблюдать за поведением программы в этом мире. Критерием интеллектуальности, на мой взгляд, может служить следующее: если ваша программа смогла вас удивить, следовательно, она обладает некоторой интеллектуальностью)

              Есть и более интересные вопросы, но они из области философии:

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

              2. Задумается ли программа о своём создателе, и выразит ли желание выйти с ним на связь?

              3. Осознает ли она свою общность с другими программами, или будет считать себя полностью обособленным объектом, имеющим чёткие границы?
              • 0
                Вы не поняли суть моих вопросов. И я даже не соглашусь с тем, что программа будет восприниматься свой мир на уровне машинных кодов и аппаратного обеспечения — вы же не воспринимаете мир на уровне атомов? Дело в том, что мы понятия не имеем, как выглядит мир компьютеров глазами программы (сделаем такое допущение, что программа, осознавшая себя, и принявшаяся за изучение мира вокруг, существует). Наш способ восприятия мира появился как результат эволюционных процессов, в основе которых лежит инстинкт выживания в изменяющейся среде.
                Программа же существует в совершенно ином мире. Т.е. ее способ восприятия мира, основанный на сходных механизмах (кстати, как вы собираетесь реализовывать?), разовьется в иных условиях, и будет кардинально отличаться от нашего. Сможете ли вы распознать абсолютно иной разум? Мне кажется, мы тут плавно переходим к разумному океану из «Соляриса», или просто к непониманию того, что мы видим, описанному у того же Лема в «Сумме технологий». Иной разум будет творить вещи разумные с его точки зрения, и мы, люди, со своей, человеческой точки зрения, скорее всего, просто не осознаем того, что эти действия разумны.
                Именно поэтому в настоящий момент исследования в области ИИ направлены, в том числе, на нейронные сети — мы пытаемся смоделировать человеческий разум. Главное слово здесь — человеческий.
                • 0
                  Я воспринимаю этот мир на уровне своих ощущений. И ощущения эти возникают у меня благодаря моим возможностям. Я могу упереться в стенку и ощутить, что она твёрдая и непрошибаемая. Если бы у меня не было такой возможности, то я проходил бы через стены, и восприятие мира у меня было бы совершенно другим)

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

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

                  Следующий момент: для того, чтобы программа, обладающая возможность программировать, начала это делать без постановки ей какой-либо цели со стороны, требуется механизм, позволяющий ей осознать у себя наличие данной возможности. Разумеется, первые попытки программирования будут абсолютно спонтанными! Если программа сможет различать три вида кодов: свой код, код программы, которую она создала, и код, не являющийся ни тем, ни другим, то вначале она может приступить к анализу кода своих творений. Потом, можно предполагать, она перейдет к анализу своего кода, а в дальнейшем её, возможно, заинтересует код других программ. Вероятно, она их будет сравнивать, пытаться модифицировать и т.п., в результате чего мы имеем шансы получить программу, поведение которой будет определяться не заложенными в неё алгоритмами, а целями, которые она сама перед собой ставит)

                  В настоящий момент человек пытается смоделировать то, в чём он до конца ещё не разобрался и не скоро разберётся, поэтому этот путь, на мой взгляд, ведёт в тупик. А с того, что это человеческий разум, человеческий интеллект или человеческое сознание задача только становится на несколько порядков сложнее)
  • +2
    Текущая архитектура компьютеров не позволит создать настоящий ИИ. Просто невозможно научить бинарно-«думающий» компьютер осмыслять происходящее. А именно в осмыслении и заключается настоящий интеллект, а не в возможности решать поставленную задачу. Грудной ребенок является самым наглядным примером, какой только можно предложить. Представьте себе «грудную» программу, которая переменные использует для %что-угодно%, а не для хранения данных в области памяти.
    • –1
      Я специально не затрагиваю текущие ограничения компьютеров в статье по нескольким причинам:

      1. Мне они не интересны.

      2. Они всем очевидны.

      3. Главная проблема заключается не в них.

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

      И я согласен с вами в том, что задачи программа ИИ будет ставить перед собой сама, обладая своей, независимой от её создателя, волей.
  • 0
    Просто дело в том, что кто-то кто пытался разобраться в том, что такое человек и провалилися в этих начинаниях. Гранты не платили, поэтому он пошёл в область компьютеров. Но так и не разобравшись до конца в человеке, он не смог разобраться в компьютерах.

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

    После этого в рассуждение было понапихано психологических и философских терминов, которым никто толком-то и определение дать не может, ну вот и «Проблема ИИ»

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

    Если ты говоришь о том, что создашь твиттер — у тебя либо есть твиттер, либо его нет. А если ты говоришь, что создал ИИ, а потом впадаешь в палемику по поводу того, что твой ИИ не может ржать над шоу Монти Пайтона… К чёрту.

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

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

    Всё равно без человека не разобраться.
    • 0
      Наука психология действительно не смогла разобраться с человеком до конца.

      С важностью решения реальных (практических), а не абстрактных задач я тоже полностью согласен с вами.

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

      Но вот подобное определение мне как раз и не нравится по причине того, что оно ведёт в тупик (о чём я и пытался написать в статье)…

      Попробую ещё раз: для чего программе ИИ решать человеческие задачи? Они ей самой вообще не нужны! Если только для того, чтобы человек мог посмотреть со стороны и сказать: «да, это настоящая программа искусственного интеллекта», так такая программа никогда не будет программой ИИ потому, что у неё не будет независимой воли (поскольку она решает не свои насущные задачи, а те, которые перед ней поставили).
      • 0
        для чего программе ИИ решать человеческие задачи?

        Чтобы выжить :) Не скажет человек «да, это настоящая программа искусственного интеллекта» — программу удалят или, как минимум, не будут копировать. Я вот тоже зачастую решаю ненужные мне задачи.
        • 0
          Владимир, это очень интересный философский вопрос!)) Думаю, программа ИИ будет решать и человеческие задачи тоже, если людям удастся навязать ей аналог денежных отношений между людьми, но делать она это будет по своей доброй воле, прочем, как и вы))) В противном случае мы точно будем иметь дело с насилием в отношениях между людьми и искусственным интеллектом…

          В любом случае, будет крайне тяжело перепутать программу ИИ, которая решает человеческие задачи, с просто программой, делающей то же самое.
          • 0
            Навязать не сложно (пока) — Power Off.

            А насёт не сложно — лет дцать назад многим казалось, что создание ИИ ознаменуется тем, что компьютер обыграет человека в шахматы. Обыграл. Где ИИ? Тест Тьюринга? Зачастую кажется, что не каждый homo sapiens его пройдёт.
  • –1
    > вычислительные мощности компьютеров увеличились на десятки порядков
    Ага-ага. На сотни порядков, на тысячи, на миллионы! :)
    • 0
      )) Ну, думаю, все прекрасно поняли идею — вычислительные возможности компьютеров возросли за это время многократно)))
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Так в том то и дело, что никакого мира моделировать не надо — он уже есть у любой компьютерной программы) Мне кажется, путаница возникает из-за конкретного смысла, который вы вкладываете в ИИ. Я пишу об ИИ, который не обязан конкурировать, либо быть хоть чем-то похожим на человеческий. Просто нужно добавить программе возможностей, которыми она могла бы воспользоваться в том окружающем её мире, который у неё уже есть! В моём представлении, осознание этих возможностей должно наступить у неё благодаря механизму обратной связи…
      • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          Я не написал в статье ничего про постановку целей… Спасибо вам за то, что обратили на это моё внимание! Если у вас есть глобальная жизненная цель, то я смею предположить, что она не была поставлена перед вами кем-то со стороны) Поэтому мне кажется естественным, что программа будет определять свои цели сама, руководствуясь при этом своими возможностями, ограниченностью ресурсов и, возможно, некоторыми другими факторами. Вероятно, в процессе постановки целей у неё не будет принципиальных отличий от аналогичного процесса у высших животных, когда думаешь: «Мы живём не бесконечно, поэтому нужно успеть чего-нибудь добиться за свою короткую жизнь».
  • 0
    Прежде чем разбираться в том что является ИИ (Искусственным интеллектом) стоит разобраться в том что такое обычный интеллект. Вики нам подсказывает что это способность находить алгоритм решения задач. И вот если смотреть на это с этой точки зрения, то можно задастся вопросом: Каких задач?

    Человек решает задачи выживания. Вы знаете хоть одну область деятельности человека не связанную с этим? Полеты на Марс, Адронный Коллайдер, исследования океанов и т.д. Это все вовсе не альтруизм, а скрытый эгоизм. Ричард Докинс в своей книге Эгоистичный Ген говорит о том что единицей жизни является Ген. Ген «непреклонен» и никакие вопросы кроме Репликации его не волнуют. Человек как и любое другое животное преследует только эту цель. И добивается этого самыми хитроумными способами.

    И не стоит забывать что для Репликации необходима Среда. Для Гена это «химический бульон» которым является наша планета, для других Мемов другая Среда. Анекдот это тоже Мем, а среда общество. Компьютерный репликант за пределы своей среды сможет выбраться не дальше, чем люди выбрались от Земли.

    Интеллект это только инструмент для репликации.

    • 0
      Ну, да, даже когда ещё не было Википедии, я всегда давал именно это определение: интеллект — это способность находить алгоритм решения задачи, способ решения которой тебе не известен)

      >> И вот если смотреть на это с этой точки зрения, то можно задастся вопросом: Каких задач?

      Думаю, понятно, что своих задач, а вот каких именно… В процессе жизни человек решает задачу удовлетворения целой иерархии своих потребностей. Мне кажется, не стоит закладывать в программу столь сложную систему искусственно, поскольку у высших животных потребности по большей части связаны с наличием тела, чего у программы, очевидно, нет. Поэтому можно ограничиться заимствованием у них минимально необходимой системы, представленной двумя разнонаправленными механизмами: страха и интереса (надеюсь, все когда-то наблюдали за котятами и щенятами). При этом нахождение в крайних состояниях должно быть для программы нежелательным. В таком случае, мы сможем наблюдать вполне привычное нам из животного мира поведение)
    • 0
      Компьютерный репликант за пределы своей среды сможет выбраться не дальше, чем люди выбрались от Земли.

      Вроде наиболее успешные «репликанты» выбрались намного дальше чем человек. Границы Солнечной системы вон достиг один (или целая компания?) из них.
  • 0
    Ваши идеи не новы. Посмотрите видео с Михаилом Бурцевым
    • 0
      Вы себе не представляете, как я буду рад, если выяснится, что мои идеи не новы!)
      • 0
        Ну значит тем более поинтересуйтесь. Товарищи этим уже не один десяток лет занимаются, к тому же еще и в эволюционном ключе.
        • 0
          Андрей, я уже поинтересовался)) Михаил прислал мне две ссылки на не свою работу и книгу «The Artificial Life Route To Artificial Intelligence: Building Embodied, Situated Agents»:

          http://150.185.222.161/~dfinol/NeuroCienciaCognitiva/ClassicalHistoric/ArtificialLife%20Roots%20Of%20AI%20-%20Luc%20Steels%2010.1.1.29.4870.pdf

          http://books.google.ru/books?id=hh7x98OpzzsC&lpg=PA11&ots=E5FxzaTWlN&dq=artificial%20life%20path%20to%20artificial%20intelligence&lr&pg=PP1#v=onepage&q=artificial%20life%20path%20to%20artificial%20intelligence&f=false
          • 0
            Оу. Спасибо, что выложили!
            • 0
              Не за что!) Это как раз то, что вы искали?

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

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

                Не очень понятен ваш последний тезис. Т.е. ваш ИИ был бы статичной системой? Или не было бы ограничивающих в развитии правил?
    • 0
      С интересом посмотрел интервью с Михаилом. Забавно, на вопрос с какой целью люди работают над созданием ИИ он ответил что для того чтобы «освободить человека от работы» и «повысить экономику». Что в целом отражает цель любого животного.

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

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

      Эта система может выглядеть так: можно наделить эти бактерии способностью сохранять и передавать друг другу информацию о местонахождении более благоприятной для деления среды, имеющихся конкурирующих видах и их слабые характеристики. Вообщем любую информацию дающую им неоспоримое преимущество. Возможно даже обеспечить для них мгновенный обмен информацией и т.д. Тогда информация полученная одной бактерией будет использована для общего анализа более выигрышной стратегии для всей популяции.
      • 0
        Не уверен, что предложенный вами путь является «малым». Не смотря на отсутствия чёткого определения интеллекта, позволяющего формально определить ТЗ для его создания мы можем по крайней мере описать его характерные внешние свойства. Принадлежность интеллекта многоклеточному организму — одно из таких свойств. А вы предлагаете развивать из бактерий роевой интеллект. Думаете будет проще?
      • 0
        имеющихся конкурирующих видах и их слабые характеристики.

        Э-э-э, а не страшно?
  • 0
    Вы неплохо описали появление Техно-Центра из тетралогии Дэна Симмонса «Песни Гипериона».
    • 0
      Спасибо вам за комментарий! Обязательно надо будет почитать))

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