Category: it

Category was added automatically. Read all entries about "it".

  • mns2012

Содержание

Чейтин о парадоксе творчества

Что такое творчество? Как его определить? Что такое тест Лавласа? Смогут ли машины заниматься творчеством? Алгоритмизуемо ли оно? По-видимому, нет, поскольку как только мы создаем алгоритм для решения очередной задачи, её решение перестаёт быть творчеством. Хотя поиск лучшего алгоритма -- всё-таки задача творческая.

Я понимаю...

Билл Дембски вспоминает о курсе по искусственному интеллекту, который он прослушал в 1982 г.

Во время оно на Лиспе была написана программа ELIZA, о которой говорилось, что она может беседовать. На самом же деле, она лишь обращала высказывания человека в виде вопросов к нему же самому: а ты действительно так думаешь? что ты имеешь в виду? Что-то типа "пациент должен помочь себе сам".

Это достигалось нехитрой уловкой:

- выявлением либо грамматической структуры в высказываниях человека, либо ключевых слов, за которые можно зацепиться и поддержать беседу ("всегда", "никогда", "должен" и пр.);

Но самое интересное: когда алгоритм не мог сделать ни того, ни другого, он генерировал глубокомысленную фразу "я понимаю".

Вот в этом и есть вся суть того, что называется искусственным интеллектом: понималки у него нет, понималка в человеке.

Естественный и искусственный отбор и моделирование

Прочитал в который раз вот это:

In the computer science field of artificial intelligence, a genetic algorithm (GA) is a search heuristic that mimics the process of natural selection.

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

ЕО работает, конечно, но слабо и в очень специфических случаях, о чем я уже неоднократно писал (например, здесь). Искусственный отбор -- совсем другое дело. Если бы приведённое выше распространённое высказывание было верным, никто бы генетическими алгоритмами на практике не пользовался.
  • mns2012

IT-специалист Роберт Маркс о проблемах матмоделирования эволюции

Здесь.

Настоятельно рекомендую прочесть всем, кто интересуется данной темой.

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

Collapse )
  • mns2012

Что такое программа?

Продолжение. Начало здесь.

Всё в той же бестолковой лекции Деннета, которую я всё ещё смотрю:



(остановился примерно на 40-й минуте, потому что записывать комментарии надо почти к каждому предложению, это что-то...) лектором была высказана следующая "глубокая" мысль.

Software is made of bits.

Ниже я привожу небольшую иллюстрацию, показывающую что Деннет вообще не понимает, о чём речь.

Collapse )
  • mns2012

Ещё о клеточных автоматах, или лёгким движением руки брюки превращаются...

... в элегантные шорты.

Недавно снова зашёл разговор о клеточных автоматах, что они моделируют эволюцию, и всё такое. Но ЧТО на самом деле моделируется: эволюция, которая по самому своему определению не направлена, или всё же искусственный отбор?! Поведение КА определяется начальными условиями и правилами перехода между состояниями. Таким образом, очень многое зависит от правил. Явным или неявным образом задаётся будущее поведение системы, роли не играет. Ситуация здесь такая же, как в комбинаторном поиске: можно явно или неявно задать функцию цели и тем самым направлять поиск в ту область параметрического пространства, где, как известно из предыдущего опыта решения аналогичных задач, плотность решений выше среднего. Таким образом, агент (программист) сообщает системе так наз. активную информацию о том, где и как нужно искать решение задачи. Вот здесь об этом говорится подробнее:

Ewert, Dembski, Marks: Active Information in Metabiology. Bio-Complexity: 2013, doi:10.5048/BIO-C.2013.4

То есть в данном случае речь идёт о программировании поведения клеточного автомата путём подбора нужных правил (и начальных условий). Подобным программированием КА и занимаются специалисты. У них даже проводятся соревнования на предмет того, кто создаст более совершенный КА.

Вот здесь, например, содержится описание метаклетки, созданной в 2018 г., размером 18650000 клеток и с периодом 236 тактов.

Моделировать эволюцию -- такую, какой она заявляется, -- можно ТОЛЬКО случайным блужданием по пространству параметров. Направленной эволюция быть не может по определению. Как только вводится guidance, bingo! моделирование эволюции легким движением руки превращается в моделирование искусственной селекции. Сноровка программиста, показывающего такие математические "фокусы", заключается в умении спрятать подальше от глаз процесс интеллектуальной настройки поведения модели. Потом рассказывать можно много и долго о том, какая эволюция умная...
  • mns2012

Метод передачи знания

Transfer learning. Что это такое?

Суть состоит в использовании модели машинного обучения, настроенной на распознавание Х, для распознавания Y. Представьте себе, что у вас есть распознаватель кошек. Можно ли его использовать для распознавания крокодилов? Да! Есть очень мощные настроенные модели, доступные в качестве библиотек. Например, гугловская библиотека tensorflow включает сеть глубокого обучения VGG16. Метод состоит в использовании подобных стандартных моделей, но не по прямому их назначению в качестве распознавателей X как таковых, а лишь как источник признаков X (features). Признаки столь разнообразны и их так много, что этого бывает достаточно для эффективного распознавания Y c помощью гораздо менее мощной модели, которую можно достаточно быстро создать (например, модель логистической регрессии). Весь фокус как раз в этих самых признаках, общих для X и Y.

Поясню, что такое признак. Например, если стоит задача распознавания лиц (X), признаками могут быть: овал лица, нос, брови, два глаза и т.д. Чем больше таких признаков выявлено, тем надёжнее распознавание по какому-либо иному критерию, например, носит ли человек на изображении головной убор (Y).

Интересно, можно ли методологию передачи знания использовать при распознавании биологической функции? Вероятно, это возможно, поскольку если Разработчик один, значит, и принципы разработки различных систем будут сходны, что, наверняка, можно будет использовать в качестве упомянутых выше признаков. В теряющей свою убедительность с каждым днём эволюционной парадигме многочисленные примеры повторного использования одних и тех же признаков представляются лишь случайностями, имя которым "конвергентная эволюция". Хорошо было рассказывать сказки про это 50-100 лет назад. Но сегодня, когда примеров повторного использования становится известно всё более, кредит доверия теории эволюции тает на глазах.
  • mns2012

Несимметричность классификации по критерию функции

Так случилось, что я только что перечитывал вот этот обмен сообщениями с livelogic. А ещё случилось так, что я в данный момент работаю с бинарным классификатором изображений. Мне резко бросилась в глаза несимметричность классификатора, соответствующая несимметричности дизайн-распознавания, о которой мы говорили с livelogic (здесь и ниже). Конечно, это соответствие здесь неспроста: распознавание образов и распознавание дизайна в биологии -- это в принципе одно и то же. Под несимметрией я имею в виду вот что.

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

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

И в заключение скажу, что относительно нашей пенитенциарной функции f строка s = "казнить, нельзя помиловать" несёт функциональную информацию, а строка "казнить нельзя, помиловать" не несёт, хотя в обеих количество шенноновской информации одно и то же. Для подсчёта количества функциональной информации в s используется формула:

I_f(s) = - log (число функциональных строк / число всех возможных строк)

Если не учитывать синонимичные строки, то из расчёта 43 символов (русский алфавит + синтаксические символы) и длины строки s, равной 26, получим:

I_f(s) = - log (1 / 43^26) = 141.1 функциональных бит.

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

См. также: