Как стать автором
Обновить

Комментарии 97

«программист — это профессиональный конвертор галлюцинаций заказчика в жесткую формальную систему»
Это в википедию надо :)
А некоторые к галлюцинациям заказчика добавляют еще и свои :-)
Скорее в лурк)
Таки оно нынче там, в эпиграфе. клёво.
>>«Надо просто не забывать, что мы тоже можем работать как машины Геделя.»

Очень правильная мысль!
Гм. Автор, по-моему, доказывая одно, вы доказали обратное. :-) Вы же сами пишите, что «мы тоже можем работать как машины Геделя». Разве из этого не следует, что нормально сделанная машина Тьюринга тоже сможет работать как машина Геделя? :-)

Ну и на мой взгляд вы трактуете тест Тьюринга несколько узко, поэтому и получается, что одни люди не могут пройти его с другими… На мой взгляд не нужно закапываться в конкретику (которой Тьюринг-то и не обозначил), а смотреть в суть: это ведь простой Duck typing, да и то вынужденный, т.к., как вы сами сказали, пока никто не смог «определить человека». Вопрос в том, что у Тьюринга этот duck typing уж слишком упрощен и неформализован. ИМХО, надо что-то посвежее придумывать. Некий компромисс, чтобы и в детали не зарываться, и не отдавать определение ИИ на откуп пятиминутной беседы с китайцем…
Боюсь машина Тьюринга работать как машина Геделя в общем случае не сможет.
Умение жить в социальной среде не эквивалентно умению решать потенциально любые решаемые задачи — для доказательства достаточно посмотреть как паркуется отдельно взятая блондинка.
:-)
И хотя мы можем работать как машина Геделя, обычно этой возможностью мы не пользуемся.

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

Сейчас он слишком абстрактен.
Но просто отказываться от него не стоит, пока не придумана замена.
И придумать хорошую замену — имхо очень интересная и перспективная задача.
Единственная проблема здесь в том, что по области действия это работа для философов и гуманитариев.
Так что думаю результат предопределен — годы склок и споров…
А что блондинка? Если она человек, её можно научить решить любую потенциально решаемую задачу.
Даже Эйнштейн не может решить любую потенциально решаемую задачу.
Например ответить на вопрос, текст которого требует двести лет на зачитывание.
Мы ограничены чисто количественно.

Кроме того я не знаю кто бы поставил такой эксперимент с блондинкой — с данной категорией людей есть намного более интересные занятия.
:-)
Ночью все кошки блондинки серы. Впрочем, если серьёзно, то речь же шла о задачах, потенциально решаемых силами одного человека. Упрощённо выражаясь, если кто-то живёт в социальной среде, значит он владеет языком/разумом, то есть человек, а значит может быть научен всему тому же, чему любой другой человек.
Есть подозрения, что некоторые люди не могут быть чему-то научены в силу того, что люди разные физически и интеллектуально. Сомневаюсь, что меня можно научить поставить мировой рекорд по бегу или обыграть в шахматы чемпиона мира по ним. Сомневаюсь, что меня можно научить писать интересные романы или хорошие стихи. Есть, по-моему, индивидуальный потолок в каждой области деятельности выше которого конкретный индивид не прыгнет, даже если всю жизнь будет этому учиться. И чем старше человек, чем больше у него опыта в других областях, тем ниже этот потолок.
Мы говорили про интеллектуальные задачи, так? А это всё не интеллектуальные задачи. Даже игра в шахматы на высоком уровне — это не явное решение задач, а «фоновое», интуитивное.
А что вы считаете интеллектуальными задачами?
Мне кажется, что в контексте следует говорить о задачах, потенциально решаемых путём последовательных рассуждений отдельным человеком за доступное ему время, иначе какой смысл?
Очень многие простые программы в современном мире проходят тест Тьюринга короткое время. Пример — бот в mmoprg. Вопрос только как долго он может косить под человека. В случае простейших кликеров это минуты имитации, когда остальные не догадываются, что оператора уже нет. Собственно, это и есть практически научная среда для эксперимента. Можно повторять очень похожие ситуации с ботом и человеком (прохождение сотен раз одних и тех же инстансов) и оценивать среднее время появления криков в чате про афк или окно или бота и т.п. Пока что программы не могут долго обманывать и еще ни одна не смогла создать свой клан с живыми людьми, доминирующий на сервере.
в 90-х был любопытный вариант теста Тьюринга обладающий намного большей практической ценностью.
Сравнивали использование патентов, часть из которых были человеческие, часть — сгенерированные ИИ (в частности ГП).
ИИ кстати повторил многие человеческие решения.
Тем не менее автор обозначил проблематику: люди сами не понимают что вкладывают в термин ИИ.
Удобный и безопасный ИИ, с точки зрения всего человечества в целом, можно встретить у Айзека Азимова. Вопрос только — но будет ли это ИИ, а не огроменное множество шаблонный действий )))
А не окажется ли при этом, что наш ЕИ таким же огроменным множеством шаблонных действий?:)
Самое интересное что таки да, уже оказался. И это подтверждается не только теорией бихевиористской экономики.
Я даже пару экспериментов провел на живых экспертных группах, думал потом морду набьют по результату.
:-)
НЛО прилетело и опубликовало эту надпись здесь
Хм, попробую, но это много букв.
Можно даже вынести в отдельный пост, но боюсь он там будет выглядеть весьма взрывоопасным и провокативным.

Я приготовлю текст и подумаю куда его постить — сюда или отдельно.
Если отдельно — то здесь кину ссылку.
попробую здесь, но сильно не бейте, это все личный опыт.

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

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

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

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

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

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

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

1. Для каждого эксперта существует область его компетентности, в которой он практически и на личном опыте наступил на все грабли.
Заявленная область компетентности эксперта однако шире, и включает в себя информацию, не проверенную им лично, а полученную из других источников — книжек, коллег или просто собственной фантазии.
2. Области реальной компетентности разных экспертов не совпадают, чем больше несовпадение тем выше эффективность группы или область покрытия.
3. Если эксперт оценивает что-то внутри своей зоны компетентности (зеленой зоны) — он обычно прав.
Если эксперт оценивает что-то вне своих практических знаний (красной зоны) — он попадает пальцем в небо.
4. В процессе минимизации личного риска любой эксперт более рестриктивно оценивает события в красной зоне. Чем более успешен и известен эксперт — тем больше он выстраивает ограничений в красной зоне.

Грубо говоря эксперт имеет в голове карту. На этой карте есть области которые он обошел сам и проверил и есть граница за которой написано «здесь живут драконы».
И если его спросить об красной зоне — средний эксперт ответит одним словом — «НИЗЗЯ!!!».
Хотя это и неправда.
Причем этот шаблон абсолютно иррационален и часто лежит в области страхов.

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

В сообществе экспертов область с драконами уменьшается, однако возникает область ада. Та, где все эксперты начинают кричать «нет» согласованно и ссылаясь друг на друга.

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

Теперь суть эксперимента.
Будучи руководителем лаборатории ИИ в фирме NoName Inc моя команда сделала некоторый продукт SomeProduct.
До нас бизнес процесс выглядел просто — территориально разделенные эксперты из многих стран оценивали некоторые генерируемые данные и выносили вердикты. Данные считались обработанными если не менее трех экспертов выносило согласованный вердикт.
В большинстве случаев эксперты согласованно утверждали невозможность использования конкретного блока данных. Ссылаясь на опыт, на литературу, на публикации и на здравый смысл. Однако в реальности они просто перед рассмотрением данных применяли к ним набор шаблонных фильтров. И если хоть один из них срабатывал — данные заворачивались.

Мы сделали систему которая автоматически выбирала весь спектр возможных данных, доступных для использования.
Попытка пропустить их через экспертов приводила к тому, что 90% их браковалась.

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

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

Другой пример — эта статья.
Я сначала послал ее в корпоративный блог компании (где я дорабатываю последние недели). Для превью я отослал ее по обычному маршруту. Т.е. группе экспертов родной фирмы. Эксперты мурыжили ее неделями и написали что по их мнению статья наберет много отрицательных отзывов на хабре.
Почему?
Потому что негативный паттерн сильнее, он включает в себя риски конкретного эксперта.
А в результате статья набрала больше плюсов чем большинство постов компании из корпоративного блога.

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

Знание этого факта добавляет множество возможностей.
Пока сам не превратился в эксперта.
:-)
гениально, спасибо
Этот комментарий достоин отдельной статьи.
намек понял.
:-)
Дайте пожалуйста пример того, какие данные заворачивали эксперты. А если эксперт заворачивал данные и эти данные были в его зеленой зоне? Как вы определяли цвет данных для каждого эксперта?
Достаточно сложно описать не раскрывая сущность данных и аналитики.
Как показательный пример подобного поведения я могу привести такую вещь из химии как реакция Белоусова-Жаботинского.
Авторы этой работы не могли опубликовать ее 8 лет, просто потому что эксперты в журналах не могли поверить в автоколебательные процессы на практике.
И смотрели на авторов как на Петриков.

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

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

Цвет вердикта (не данных) я определял просто — опросом и наблюдением за действиями эксперта.
Красная зона считалась если эксперт давал быстрый негативный вердикт без глубокого анализа.
В таких случаях он обосновывал вердикт одним единственным критерием — вот здесь так, а так нельзя.

Причем на вопрос — а почему нельзя? — следовал недоуменный взгляд и попытки обоснования типа
1. Потому что так нельзя
2. Потому что и так видно
3. Потому что так принято у нас
4. Здравый смысл подсказывает
5. Ты не специалист, не понимаешь

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

Существует область быстрых вердиктов.
И область негативных вердиктов.
В той задаче они пересакались не менее чем на 95%.
Я вообще не вспомню ни одного быстрого позитивного вердикта, максимум что я мог получить — «интересно, надо посмотреть поглубже». И вердикт переходил в зеленую зону.

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

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

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

Из статьи я не понял, к чему вообще противопоставление Геделя и Тьюринга. На сколько я помню, Тьюринг использовал идеи Геделя для демонстрации невычислимости. Что такое ИИ по Геделю и по Тьюрингу?

На счет теста Тьюринга. Не надоело его пихать во все места? Думаю Тьюринг бы долго смеялся, узнав что из простого мысленного эксперимента выстроили религию. Почитайте, что Норвиг об этом пишет.
Основная работа с доказательствами приведена в конце и лежит ftp.idsia.ch/pub/juergen/gm6.pdf
Что такое ИИ по Геделю и Тьюрингу я описал в статье, они различаются по методу оценки результата.
Геделевский (рациональный) ИИ пользуется оценкой объективной, существующей отдельно от нас.
Тьюринговский работает на субъективных оценках.

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

По тесту Тьюринга — пока других формальных критериев такой же мощности у нас нет.
Увы.

PS
Если вы имеете в виду Норвига-Рассела, то я ее читал, я ее даже в бумаге когда-то купил и подарил студентам. Только вот в практических задачах там мало что пригодилось.
Базовые ML техники давали на практике намного больше.
> По тесту Тьюринга — пока других формальных критериев такой же мощности у нас нет.

Формальных? Можете записать тест Тьюринга в какой-нибудь формальной системе? Сомневаюсь.

Относительно всех этих критериев. Это критерий чего? Вы хотите сделать оценку, на сколько данная программа является true AI? Вроде estimate(siri) = 0.4 of true AI? Зачем это вообще нужно?

На счет машины Геделя. Я почитаю позже подробней. Но пока все равно не ясно зачем вы ее сюда притянули. Оптимизирующийся солвер — он к чему тут? Кстати, у этой «модной» концепции в википедии всего одна строка.
>Можете записать тест Тьюринга в какой-нибудь формальной системе? Сомневаюсь.

const int IS_HUMAN 1

Expert experts[EXPERT_SIZE];

Object object=! IS_HUMAN;

int verdict=0;

for(size_t i=0;i<EXPERT_SIZE;i++)
verdict+=experts[i].getVerdict(object);

printf("%s\n",verdict>=0? «fail»: «pass»);

Не вижу вообще проблемы пока мы используем экспертов как атрибуты классификатора.

>Относительно всех этих критериев. Это критерий чего?
Критерий задачи. Это задача которая решается.

Мне не нужно делать estimate_true_AI(???)
Я пишу об IRL задачах и способах их решения. Например с помощью AI.

>Оптимизирующийся солвер — он к чему тут?
Очевидно к теме статьи. Которая в том числе и про оптимизирующиеся сольверы.

>Кстати, у этой «модной» концепции в википедии всего одна строка.
Это неудивительно.
Universal AI там вообще редирект.
Очевидно что модность тенденции имеет смысл только в контексте референтной группы. И очевидно что Вики в список источников данной референтной группы никак не входит.

Ну разделение на «сильный ИИ» и «слабый ИИ» не сегодня появилось, в чём же новость сообщения?
Это разделение в другой плоскости.
Хотя можно сказать что Геделевский ИИ — это предельно сильный ИИ.
В то время как Тьюринговский — слаб по определению, слишком умная честная машина тест Тьюринга не пройдет т.к. будет отличаться от среднего человека.
Разве что научится создавать имитации индивидуальностей под конкретное жюри, адаптируясь к диалогу и показывая себя глупее чем она есть.
Попросить ее честно вычислить корень надцатой степени из факториала 1000 минус один или факторизовать число — не пользуясь посторонними инструментами — и все.

А новости конечно в сообщении нет, о чем я и написал в начале, мне данное разделение казалось достаточно самоочевидным достаточно давно.
Ну так в том и дело, что есть теоретические исследования, в рамках которых изучают принципы создания разума (что бы под этим не подразумевалось), а есть cookbooks вроде Рассела и Норвига, где описываются всякие эвристические поиски, деревья принятия решений, классификаторы и прочие полезные инструменты, не претендующие на понимание разума.

И одни эти инструменты занимают целую толстую книгу.
Питер Норвиг и Стюарт Рассел в своей книге «Artificial Intelligence: A Modern Approach» выделяют такие подходы к ИИ:

Acting humanly: The Turing Test approach
Thinking humanly: The cognitive modeling approach
Thinking rationally: The “laws of thought” approach
Acting rationally: The rational agent approach

Так что все уже придумано до нас, так сказать :-)

К слову, книга считается лучшим учебником по ИИ в мире.
Я сконцентрировал внимание на дихотомии humanly/rationally.
Но так как я технарь, то меня больше интересуют имплементации,, т.е. ситуации когда я строю рабочую систему и по результатам ее работы увольняют отдел аналитиков в Китае за ненадобностью.
И вот по такому опыту (личному разумеется) acting/thinking имхо не так уж и разделимы, и смысла в разделении обычно нет.
А вот выбор humanly/rationally встречается очень часто. И humanly строится намного сложнее, и имеет меньшую эффективность чем rationally.
Экспертная система хуже чем тупейший random forest.
[1]
[2]
[3]
[4]
<Офтопик>Глупо в электронном формате, поддерживающем гиперссылки, делать такие сноски. Тем более, что это «Хабрахабр»<Офтопик>
Спасибо, сейчас фиксану.

Возможно вопрос глупый.

Но так как ссылка на статью заканчивается на слеш, то переход вида a href="#anchor" не работает, а скрипт пихать в чужой сайт как-то не комильфо.
Как вообще здесь решается такая проблема?
«Воспроизводить это в коде тяжело и бессмысленно, годы работы научных коллективов на моделирование того, что любая женщина сделает за 9 месяцев — не высока ли цена?» — каков пассаж.
Это же практически цитата из «Собачьего сердца» Булгакова, читайте оригиналы.
Действительно такая классификация мне существенно более симпатична, чем «сильный ИИ» vs. «слабый ИИ».
Позволю себе поделиться умозаключениями на эту, безусловно, интересную тему. Моя благодарность автору за статью в такой легкой форме о достаточно сложной теме, отдельное спасибо за красноречивое определение профессии =)

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

Зачастую «искусственный интеллект» понимается как синоним термину «сознание», что в корне неверно и является грубейшей ошибкой, на мой взгляд. Я постараюсь объяснить почему:

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

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

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

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

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

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

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

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

Это к «попытке построения полностью эквивалентной работы ЦП», своего рода виртуальной машины сознания, если я вас правильно понял.

>Нативно мы не способны через форму чувственного опыта определить наличие какого-либо еще сознания извне. Наше «Я» одиноко по определению, наше «Я», под которым в данном случае я подразумеваю сознание, не имеет эмпирических данных о существовании иных себе подобных форм.

Это хороший вопрос.
По моему мнению мы имеем в нашем распоряжении очень мощный инструмент. Мы можем наблюдать себя.
Кроме того мы можем наблюдать других. И можем наблюдать себя реагирующего на наблюдение других и других наблюдающих нас. Т.е. мы можем выводить общие модели поведения для себя и для других людей, абстрагируясь уровнем выше и создавая идею абстрактного класса — человека.
Человек асоциальный, как Робинзон — не совсем человек, он неполноценен не только социально, но и интеллектуально.
Мы живем в окружении себе подобных и из всех объектов окружаего мира другие люди (а также их изображения, слова, и просто воспоминания о них) представляют если не большинство, то близкое к этому значению.
Сколько раз вы видели сон в котором не было бы других людей?

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

Имхо основная точка — это рефлексия индивидуума в обществе, королевство движущихся зеркал.
Борхесовская game with shifting mirrors.

простите, ответил сообщением ниже, не в текущую ветку.
>>> Хотя я боюсь мы вышли бы за формат хабра.

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

>>> Я прагматик, и то, что не может быть реализовано или то, что бесполезно — для меня не существует.

Я полагаю, мы друг друга не совсем поняли, потому как:

>>> просто сделать поведенческую копию ради копии — зачем?

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

>>> Это к «попытке построения полностью эквивалентной работы ЦП», своего рода виртуальной машины сознания, если я вас правильно понял.

В данном случае я имел в виду, что как только будут такие попытки, то на выходе всегда будет получаться «гиперпроекция». Иными словами, виртуальная копия будет на столь высоком уровне абстракции, что ее время исполнения будет несоизмеримо большим по отношению к нативному сознанию. То есть сама постановка задачи провальная. Это все равно, что пытаться собрать кубик Lego в качестве элементарного блока для конструктора из маленьких кубиков Lego.

>>> Мы можем наблюдать себя. Кроме того мы можем наблюдать других…

Все что мы можем — наблюдать. В данном случае, я бы употребил термин — воспринимать. Наше «Я» способно лишь воспринимать и только. Процесс восприятия и следствия восприятия мы называем интерпретацией. Мы способны осознать собственное «Я» и определить то, что не относится к нашему «Я», образуя «Не Я», то есть нечто внешнее — внешний мир.

Но мы не можем осознать ни одной копии подобных нашему «Я». Для нас, эмпирически, мы одиноки. Даже способ общения друг с другом происходит через трансляцию мыслеобраза в потоки информации, образуя интерфейсы взаимодействия. Хотя очевидно, что самый простой способ передачи — трансляция знания напрямую между копиями сознаний. Этого нет по причине полной инкапсуляции сознания. Мы вынуждены использовать внешние трансферы. В некоторой степени наше сознание существует в своем собственном уникальном «пространстве имен». Мы словно «программы», мы вынуждены обращаться друг к другу через аналог операционной системы — через внешний мир, через материю, через «Не Я».

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

Для нашего «Я» других сознаний просто НЕТ. Их не существует нативно. Все понимание разумности других людей возникает лишь как способ интерпретации поведенческих факторов. Мы лишь выстраиваем модель, допуская существование других, подобных нашему, «Я».

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

>>> И вот по моему мнению источник разума именно тут, в социальности и рефлексии, а не в свойствах мозга.

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

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

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

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

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

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

«Я мыслю, следовательно, я существую»… и не более того.

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

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

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

Ваша точка зрения, очень достойна. Вы заодно с Лейбницем — попробуй-ка с вами двумя поспорь )). Лейбниц + проблемы ИИ — это очень круто. Большое вам спасибо, что не поленились все это изложить — тут столько всего интересного всплывает.

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

В первом случае, машина строится вокруг продукта интеллекта разработчика. Ну то есть например, алгоритм логической игры (шахматы, шашки и пр) — строим граф ходов, оцениваем вершины графа, в зависимости от реальной ситуации на доске меняем алгоритм оценки вершин и глубину просчета ходов… То есть, я хочу сказать, что мы очень сильно подумали за машину. По сути, мы решили задачу сами, а машине дали играться с этим решением. Классификация методом ближайшего соседа или методом опорных векторов — тоже самое, в машине уже присутствует наше решение… Ведь Геделевские теоремы работают только в том случае, если в системе присутствует хотя бы арифметика. То есть получается, что если что-то не умеет считать, то значит это что-то уже не интеллект, по крайней мере не интеллектуальная машина. Это утверждение довольно спорно, как мне кажется. И мне видится, что это проблема этого подхода. Хотя чисто практически такой подход самое оно — с автором не поспоришь.

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

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

Смотрите, мы сейчас имеем некое представление о некоторых сущностных свойствах живых организмов и их функционировании. То есть мы понимаем, что живые системы это информационные системы. Информация в живых системах одновременно хранится и изменяется (стабильные гены и гены подверженные частым мутациям). Информационные взаимодействия в живых системах часто происходят по механизмам рефлексии. Две цепи ДНК комплементарны друг-другу — по сути каждая цепь это зеркало другой, полипептидная цепочка, это пептидное зеркало мРНК, которое в сою очередь является зеркалом цепочки ДНК, взаимодействие антитело-антиген, взаимодействие гормон-рецептор, правое-левое полушарие, психологические рефлексии — это все тоже в какой-то степени зеркала. Для биологической информации важен контекст, (одни и те же гены экспрессируются по разному в зависимости от того какие соседи рядом). По мимо этого, мы знаем, что живые системы это многоуровневые иерархические системы регулируемые по механизмам обратной положительной или отрицательной связи. По мимо этого, мы знаем, что регуляция часто носит триггерный характер (Порог возбуждения нейрона, например) и тп и тд… Если сюда еще привлечь закономерности открытые лингвистами, нейрофизиологами, то получится, что мы знаем довольно много, чтобы попытаться строить компьютерные модели этой функциональности. Но речь идет не о моделировании структур (не надо моделировать клетку с ее органеллами или многослойную нейронную сеть) надо моделировать систему, компоненты которой обладали бы этими сущностными для живого функциями. То есть делать такие квазиорганизмы и заселять ими квазисреду, заставить их «выживать» — повышать свою устойчивость, заставить их взаимодействовать друг с другом и эволюционировать, а мы в любой момент могли бы посмотреть, что там у них происходит на информационном уровне. Чисто программно, скорее всего, это будут ужасные, громоздкие, медленные софтины жрущие ресурсы, но они позволят нам заглядывать в их «головы» и тогда возможно мы сможем выявить тот момент когда появляется первая абстракция, зарождается неформальный язык, или там понимания нуля. Зачем я все это пишу, если кто-то читал о каких-то подобных исследованиях — дайте пожалуйста ссылочки. Я понимаю, что ближе всего к описанному подходу генетические алгоритмы, но тут немножко другое, согласитесь.
Было очень много работ по artificial immune systems, как модели сложной взаимодействующей и эволюционирующей системы.
Собственно я сначала планировал написать статью по ним, я работал в этой области, но понял что это будет статья не для хабра а для журнала страдающих бессонницей.

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

Опять таки, хотя сложность иммунной системы сравнима со сложностью мозга, — это не интеллект.

Интересный эксперимент был у John Koza по самоорганизациии из Тьюринговского газа — кусков лисп-программ. Программы самостоятельно эволюционировали до сексуальной репродукции, подтвердив что основной инстинкт является основным даже на LISP.

Но это опять таки имеет больше отношение к самоорганизации, абиогенезу и приспособляемости. Интеллект там не появляется.

Были древние, периодически всплывающие learning classifier systems на генетике.
Но это тоже сложно назвать интеллектом.

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

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

Имхо здесь могли бы быть интересны модели типа cooperators/defectors/punishers (agent-based model), но они слишком примитивны в текущем виде.

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

Я могу накидать ссылок по теме, но тут тем очень уж много.
Теперь буду знать, что именно гуглить — спасибо.

>>>Имхо если бы сто лет назад начали моделировать лошадь — мы бы не ездили на автомобилях.

Возможно )))

>>>Я могу накидать ссылок по теме, но тут тем очень уж много.

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

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

В AIS действительно значимых алгоритмов мало. Но зато там есть Danger Theory. И вот эта концепция мне кажется важнее всех алгоритмов.
Надо бы постараться успеть ;)
Заготовка есть, но не хочется сырую статью кидать. А между заказами надо быть внимательным, иначе непонятно где буду кормиться следующий год.

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

Вот ряд ссылок, но они как раз на алгоритмы.

web.ist.utl.pt/~gdgp/VA/ais.htm
www.dangertheory.com/
Здесь libtissue
www.cs.nott.ac.uk/~jpt/software.html

Вроде некоторые алгоритмы уже в weka попали.

Книжка по иммунокомпьютингу.
lib.mexmat.ru/books/9203

Но это все пена, т.е. работы было проделано очень много, не вопрос, но рабочих продуктов очень мало и в основном в очень узкой сфере.
Если не получится успеть, то покидайте ссылок, пожалуйста.
мысль <> слово.
Именно это доказывают случаи со студентами и собаками — когда всё понимаешь, а сказать не можешь.
Разделение на тьюринговский и геделевский ИИ в терминах автора статьи мы называем подходом на основе когнитивных архитектур и подходом на основе универсального ИИ. Это разделение (действительно имеющее быть в современных работах по Artificial General Intelligence) очень грубое и не имеющее хороших перспектив. Когнитивные архитектуры остаются слабым ИИ; универсальный ИИ остается непрактичным. И даже Шмидхуберовской машине Гёделя (которая отчасти сомнительна) потребуются многие миллиарды лет, чтобы научиться решать даже не очень сложные задачи. Выход из этого «простой» — нужно совмещать оба подхода (чем мы — группа aideus — и занимаемся). Неправильно считать, что машина Гёделя строится на полностью объективных основаниях, не имеющих отношения к человеку. Любой универсальный решатель имеет индуктивное смещение. Если мы хотим «непредвзятый» решатель, который не ориентирован на какой-то конкретный класс сред, то нам безразлично, какое именно индуктивное смещение в нем заложено — оно закладывается «от балды», главное, чтобы сохранялась универсальность. Парето-множество оптимальных универсальных решателей задается на всем классе вычислимых сред. Если какой-то решатель чуть лучше в одной среде, то он будет чуть хуже в другой среде. Ни один решатель не обладает преимуществом над другими на классе всех возможных сред. Но нас-то не интересуют абсолютно все возможные среды. Нас интересует вполне определенный класс сред, задаваемый реальным миром вообще и человеческим социумом в частности. Для этого класса можно построить решатель с таким индуктивным смещением, который будет эффективнее той же машины Гёделя или любого другого «непредвзятого» решателя. Это и будет настоящий сильный ИИ, который совмещает в себе «тьюринговскую» и «гёделевскую» (по терминологии автора статьи) парадигмы ИИ.
Как я писал в исходной публикации — это точка зрения технаря. Т.е. человека которому платят за конкретный законченный продукт.
Соответственно оплата производится за определенные характеристики продукта — вполне себе объективные.

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

И если заказчик хочет от меня антивирус — то я должен обеспечить ему допустим XX% детекции при 0.XX% false positive rate на стандартном тестовом сете.
Если заказчик хочет детектор дорожных знаков, то мы берем стандартизированный датасет и получаем YY% детекции при 0.YY% FP.
Т.е. любая задача в технологии должна быть сведена к числам на стандартных данных.

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

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

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


А сколько лет потребуется машине Тьюринга с бумажной лентой для расчета корня уравнения четвертой степени?
Мы говорим о концепции и классах эквивалентности.
Реализации могут быть разные и совсем не совпадающие с классической.
Learning classifier systems в теории были не сильно хуже машины Геделя. И даже на практике работали кое-где. Но для них не было такого математического обоснования, это просто подсмотренное у природы.

Любой универсальный решатель имеет индуктивное смещение

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

Если какой-то решатель чуть лучше в одной среде, то он будет чуть хуже в другой среде.

NFL теорема, не всегда правда применимая.

Ни один решатель не обладает преимуществом над другими на классе всех возможных сред.

А я вот думаю что С4.5 будет по крайней мере не хуже подбрасывания монетки в любой среде.
И индуктивного смещения, что характерно, не требует.

PS
Я обязательно посмотрю сайт вашей группы, достаточно интересно пообщаться с людьми занимающимися этим вопросом с другой стороны.
Всегда рады пообщаться с человеком, разбирающимся в данных вопросах.
(На остальное ответ ниже)
«И вот получается что ни для какого ИИ таких показателей нет.»
А, скажем, для программиста есть? 20 строк кода в минуту? Или путем собеседования при приеме на работу? Или путем решения олимпиадных задачек?
А экзаменатор как проверяет студентов? На стандартных тестах? Опять же собеседованием? Ответом на билеты?
Как только мы выходим за рамки предельно узких предметных областей типа машинисток, печатающих на машинках с такой-то скоростью и с таким-то количеством ошибок, эффективность решателя становится весьма сложно выразить парой чисел. И это тоже объективная характеристика сложных задач.

«Для Геделевского ИИ можно наработать достаточно плотный массив данных для проверки.»
Можно, но почти бесполезно. Поскольку на каждом конкретном наборе будет выигрывать та машина, индуктивное смещение которой лучше соответствует именно этим данным. В условиях априорной неопределенности субъективность неизбежна.

«А сколько лет потребуется машине Тьюринга с бумажной лентой для расчета корня уравнения четвертой степени?
Мы говорим о концепции и классах эквивалентности.»
А машина Гёделя разве реализуется не на машине Тьюринга? Но, собственно, речь не об этом, а именно о концепциях. О том, что индуктивное смещение реального интеллекта столь велико, что за этим смещением сложно разглядеть машину Гёделя (или какой-то другой универсальный самооптимизирующийся решатель). И дело здесь не в том, как реализовать машину Гёделя, а в том, что нужная реализация — это нечто гораздо большее, чем просто машина Гёделя как универсальный unbiased решатель.

«Хм, а можно ссылку на это? Я всегда считал что Колмогоровская сложность наблюдаемой среды однозначно определяет такие вещи.»
Вовсе нет. Общеизвестно (в том смысле, что это не наше мнение), что Колмогоровская сложность определяется с точностью до «способа программирования» (опорной машины). По некоторым причинам сей факт обычно игнорируется. К чему это ведет, можно почитать, например, здесь
aideus.ru/research/doc/preprints/02_paper2_RMDL.pdf
(Мы как-нибудь напишем об этом на хабре в более легкой манере, чем научная статья)

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

«А я вот думаю что С4.5 будет по крайней мере не хуже подбрасывания монетки в любой среде.
И индуктивного смещения, что характерно, не требует.»
Спорно. Думаю, он (по крайней мере, некая его реализация) может оказаться хуже в игре «камень-ножницы-бумага». Кроме того, неявным индуктивным смещением он обладает, поскольку использует вполне определенное представление информации. Но, собственно, речь шла про алгоритмически универсальные решатели, коими не являются ни C4.5, ни подбрасывание монетки. Их сравнение было бы как раз некорректным примером применения NFL.
> Можно, но почти бесполезно. Поскольку на каждом конкретном наборе будет выигрывать та машина, индуктивное смещение которой лучше соответствует именно этим данным. В условиях априорной неопределенности субъективность неизбежна.

В таком случае, это будет не универсальный решатель. Универсальный решатель не обладает «индуктивным смещением» (если я правильно понял, что это такое). Возьмем к примеру 100 задач Бонгарда. Ошибка состоит в том, что их сейчас решают по одной — и говорят о якобы решении. Хотя решением будет построение такой машины, которая не обладая «индуктивным смещением» решит их все с одинаковой точностью. И это возможно как мы видим — человек решает.

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

Человек обладает очень существенным индуктивным смещением. Посмотрите, например, на когнитивное смещение (когнитивное искажение)…
Вы путаете отсутствие индуктивного смещения и универсальность. Говоря упрощенно, потеря универсальности — это приравнивание априорных вероятностей каких-то моделей нулю; отсутствие индуктивного смещения — это равенство априорных вероятностей всех моделей. Последнее вредно и ведет к переобучению. Наличие индуктивного смещения не только не мешает универальности, но и неизбежно в случае универсальности. Равенство априорных вероятностей возможно только в узких пространствах моделей, но это будет означать в более глобальном плане еще более жесткое индуктивное смещение, так как вероятности моделей вне этого пространства будут нулевые.
Можете сформулировать, что по вашему такое «индуктивное смещение»?
Хотел тот же вопрос Вам задать ))
Но у меня это сформулировано в сообщении выше: упрощенно говоря, индуктивное смещение определяется распределением априорных вероятностей в пространстве моделей.
«индуктивное смещение» — я понимаю как некоторую предрасположенность к определенному решению.

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

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

"«индуктивное смещение» — я понимаю как некоторую предрасположенность к определенному решению"
Да, в широком смысле вполне можно так сказать.

«Т.е. структурный анализ задачи — должен как раз установить «распределение априорных вероятностей»»
Когда мы говорим об алгоритмической вероятности по Соломонову или хотя бы об алгоритмической сложности по Колмогорову, это как раз самый что ни на есть структурнейший анализ. Структурнее некуда. Так вот этот структурный анализ тоже неизбежно обладает своим априорным распределением.
> Когда мы говорим об алгоритмической вероятности по Соломонову или хотя бы об алгоритмической сложности по Колмогорову, это как раз самый что ни на есть структурнейший анализ.

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

Например, структура перцептрона это множество функций вида x1w1+x2w2+xnwn. Есть так называемый МГУА от Ивахненко — там другая структура. У Соломонова тоже другая исходя из его формулы. Но эта структура ни в одном из эти «универсальных решателей» не оптимизируется под задачу. Точнее у Соломонова она оптимизируется, но не под задачу, а исходя из его представлений о оптимальности, что не имеет связи с оптимизацией под задачу. Иначе бы у него не было бы практических трудностей в применении его теории.
И важно еще что оптимизация должна быть не параметрическая. Так например, некоторые утверждают, что сети с добавлением нейронов (растущие/эволюционирующие сети) — это якобы и есть структурная адаптация — не фига, тут лишь параметрическая адаптация. А у Соломонова даже этого нет.

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

Хорошо, если в перцептроне структура вида x1w1+x2w2+xnwn — представляется естественным образом как набор пороговых элементов, то как представляется «множество всех вычислимых функций»? Как я понимаю это не имеет представления, а соответственно перейти к чему-то практическому не удается. И тут мы обречены летать в пространстве математики (читать «пространстве идей»).

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

К примеру, давайте возьмем любые две задачи — ну пусть предикат «четность» и скажем функцию c=a+b. Тогда требуется, чтобы машина на основании некоторой обучающей выборки — дала бы структуру — а именно сказала бы что это подмножество подчиняется законы суммы, а вот это есть предикат «четность». При этом она должна обладать конечным множеством физических элементов (в простейшем случае пороговых элементов, или каких угодно других, но опять же быстро вычисляемых). кроме того стоит задача минимизации количества физических элементов, а именно желательно сразу после просмотра обучающей выборки установить оптимальное для данной задачи их число.
«а именно сказала бы что»

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

И еще «множество всех вычислимых функций» так же легко ввести в перцептроне, если бы мы умели бы выбирать какие функции нам нужны. Тогда речь шла бы о выборе функции активации (передаточной функции в терминологии Розенблатта) того или иного порогового элемента.
При большом желании можно сделать перцептроны алгоритмически полными путем выбора активационных функций. Но это все равно, что к одноэтажному дому делать стоэтажную пристройку. Я, наоборот, предпочитаю рассматривать, ИНС в качестве одного из представлений алгоритмов.
> При большом желании можно сделать перцептроны алгоритмически полными путем выбора активационных функций.

Плюсанул за это, т.к. наши мнения совпали, видимо действительно можно.

> Я, наоборот, предпочитаю рассматривать, ИНС в качестве одного из представлений алгоритмов.

Можно и так. Но к сожалению, когда нет ничего то другого столь же осязаемого как ИНС — выбрать на место «конкретного воплощения представления алгоритма» — ничего другого не получается.

В то время как ИНС — наиболее биологичны. Математические представления тут не годятся.
Да, и выбор «конкретного воплощения представления алгоритма» — не богат.

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

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

Современные представления о генетических алгоритмах достаточно слабы — не решают задачи классификации.

Множества нечеткой логики — интересны, но скорее сходятся к деревьям решений, только с вероятностью.
Какое-то у нас все же расхождение в понимании… Перечисленное Вами — это очень частные «представления алгоритмов», не являющиеся полными по Тьюрингу. Я не очень понял, откуда они у Вас тут взялись в контексте нашего разговора.
Генетическое программирование является тьюринговски полным.
Другой вопрос, что там своих проблем хватает.
Однако сам факт что природа основывается на них привлекает к ним внимание.
Ну, во-первых, было сказано «генетические алгоритмы». Во-вторых, это способ не представления алгоритмов, а способ их оптимизации, поэтому включение их в общий список само по себе выглядит странным. В-третьих, в генетическом программировании нередко используются не полные по Тьюрингу представления алгоритмов: иногда просто параметризованные узкие семейства алгоритмов, иногда — конечные автоматы или те же ИНС. Полные представления используются, но на практике — очень редко, так как там действительно куча трудностей. В-четвертых, даже при использовании полных представлений редко ставится вопрос о том, может ли быть в принципе получен любой алгоритм в процессе работы метода генетического программирования.
В общем, из того, что было перечислено и что является именно представлениями алгоритмов, полных по Тьюрингу представлений нет.
Да, разумеется, ГП этоне ГА.
Но насчет полноты — как сделать.
Язык PUSH, насколько я понимаю, полный — циклы там заменены на проход по списку.
И на практике он часто дает очень неплохое качество, например на небольших объемах он выводил мне деревья решений намного лучше чем C4.5 или CART.

Мне сложно представить себе нейронную сеть, которая вывела бы в символьной форме корни квадратного уравнения.
ГП это может.

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

С этим я конечно согласен. Но вопрос в приоритете и выборе подходящей теории остается.

> пытаться интуитивно решить сложные проблемы — из этого ничего не получится (из комментария ниже)

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

Одну из таких задач я описывал проблема двух учителей, а именно, в задаче сворачивания РНК как раз я её решаю интуитивно выбирая в одном месте функцию avg(a1...an) или max(a1...an), в то время как «теоретический идеал» должен был бы мне дать более точный вид функции.

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

Идти же от частного к общему, когда частное известно — куда более перспективно.

«Например, структура перцептрона это множество функций вида x1w1+x2w2+xnwn»
Да. А в универсальной индукции структура — это множество всех вычислимых функций. На то она и универсальная. И именно это позволяет делать произвольную структурную адаптацию в рамках универсальной индукции.
Нет смысла говорить об этом теоретически или математически (что тоже самое что теоретически).

Нужен алгоритм в который подаются входные-выходные данные и по ним машина определяет структуру. Вы утверждаете что такой алгоритм есть? Какой?
А алгоритм сочиняется по наитию, а не из математического анализа? ))
И чем Вам машина Гёделя не алгоритм?
Я вполне понимаю и разделяю Вашу неудовлетворенность от конструкций типа AIXI или машины Гёделя. Они слишком далеки от практической реализуемости. Но это означает не то, что их нужно игнорировать и пытаться интуитивно решить сложные проблемы — из этого ничего не получится. Нет, это означает, что нужно пытаться сблизить теорию и практику и самим пытаться создать соответствующий «алгоритм», а не ждать, когда готовое решение получат другие. Поскольку когда они его получат, они первыми его и будут использовать.
Еще хотелось бы спросить у автора следующее, раз уж статья про машину Гёделя…
Мы вот с коллегами анализировали эту машину, анализировали, и пришли к выводу, что ничего особо хорошего в плане самооптимизации она не сделает. Эта машина осуществляет акт переписывания switchprog только в том случае, когда в рамках заданной логической аксиоматики может строго доказать, что это переписывание приведет к повышению будущего вознаграждения. Но складывается подозрение, что при действии интеллектуального агента в недетерминированной среде (а именно этот случай представляет интерес) однозначно доказать допустимость самомодификации можно в крайне ограниченных случаях. Более того, в рамках классической теории алгоритмов есть ряд теорем, доказывающих невозможность ускорения сверх определенного предела. Если исходная аксиоматика будет базироваться на классической теории алгоритмов (а Шмидхубер другого, вроде, не предлагает), то возможности по самооптимизации будут крайне ограниченными. А чего-то типа прагматической теории алгоритмов (в рамках которой можно было бы доказывать, что для каких-то конкретных случаев субоптимальные алгоритмы при имеющихся ограничениях на ресурсы будут «оптимальнее» оптимальных алгоритмов в смысле заданной функции полезности) просто нет. Собственно вопрос: есть ли у Вас какие-то аргументы, которые бы позволили развеять наши сомнения в работоспособности машины Гёделя и в том, что подход к самооптимизации на основе логического доказательства вообще хоть немного адекватен для агента в недетерминированной среде, действующего в реальном времени?
У меня как раз больше аргументов против.

Я считаю что логика (т.е. логика первого порядка на ZFC базе) мягко говоря непрактична.
Однако Ленатовские программы были относительно успешны.
Он соединял логически непротиворечивые островки знаний (микротеории).
И мне кажется что конечная система могла бы иметь вид набора таких микротеорий плюс статистическая функция выбора и сшивки таких теорий.

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

Но если говорить о машине Геделя, то я бы смотрел немного шире.
В описании используются термины «доказательство». Но если мы, например, работаем с вероятностями, то можно доказывать что данная стратегия работает не всегда, а в большинстве случаев (статистические кванторы, если вы читали такую древность как lib.mexmat.ru/books/55118).

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

Еще один плюс машины Геделя — ее рефлексивность.
Живые системы имеют гораздо большую степень свободы в области самомодификации и самонаблюдения чем искусственные.
Как я писал в комментах ранее, я занимался искусственными иммунными системами, там рефлексия практически абсолютна, вплоть до скоростной подстройки генома на лету.
Рефлексивные системы относительно плохо исследованы, а в практическом программировании прямо запрещены.
Но мне кажется, что искать надо именно в этой области.
Поэтому я, кстати и упоминал Learning Classifiers System — это очень ранняя разработка, современник генетики, однако обладающая высокой степенью рефлексии.

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

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

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

Чем мне нравится подход в машине Геделя — изначальная ориентация на ограниченность ресурсов.
Я не считаю, что это конечная точка развития, но направление достаточно интересное.
И имхо если заменить поиск доказательства на статистику и расслабить требования к доказанному — эта штука будет намного полезнее на практике.
«У меня как раз больше аргументов против.»
В некотором смысле, жаль. Хотелось бы не изобретать велосипед, а использовать чужой. Но если не мы одни считаем, что чужой слишком крив, то придется все же разрабатывать теории самооптимизации почти с нуля самим…

«И мне кажется что конечная система могла бы иметь вид набора таких микротеорий плюс статистическая функция выбора и сшивки таких теорий.»
Это уже эвристика — элемент индуктивного смещения, которое нужно закладывать в модели типа AIXI или машину Гёделя для повышения их «прагматичности» (в смысле определения Гёрцеля). Именно этим мы как раз и занимаемся… Но все же хочется отметить, что нужно четко понимать, что подобная декомпозиция будет работать далеко не в любой среде.

«Но если мы, например, работаем с вероятностями, то можно доказывать что данная стратегия работает не всегда, а в большинстве случаев (статистические кванторы, если вы читали такую древность как lib.mexmat.ru/books/55118).»
Да, читал, правда, лет десять назад. Да, ваше замечание о том, что можно проводить строгие доказательства в вероятностной логике или чем-то похожем, вполне справедливо, и я сам об этом думал. Но все же лично у меня вызывает интуитивно-методологический протест использование дедуктивной логики в индукции. Я считаю любую форму дедуктивной логики результатом индуктивного обобщения, и априорное введение любой аксиоматики, включающей понятие истинности как базовое, мне кажется слишком жестким (ведь теория алгоритмов строится на внелогическом основании; а она сама основа универсальной индукции). Хотя, возможно, этот вопрос надо еще раз обмозговать.

«Еще один плюс машины Геделя — ее рефлексивность.»
Совершенно справедливо. Собственно, идея самоприменимости — это тот сухой остаток от машины Гёделя, который только и имеет значение.

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

«В реальном мире не существует бесконечных языков. Есть только конечные способы их конструкции.»
Да; надо разделять потенциальную и актуальную бесконечность. Но способы конструирования бесконечных языков необходимы для универсальности. Конечно, можно усомниться в том, что теоремы о том, что, скажем, множество машин Тьюринга мощнее множества конечных автоматов, имеет хоть какое-то отношение к практике, поскольку в реальности все машины конечны (бесконечных лент не бывает), а, значит, в некотором смысле эквивалентны конечным автоматам. Или, скажем, с практической точки зрения теоремы о том, что задача грамматического разбора алгоритмически неразрешима в классе неограниченных языков, абсолютно не мешают заниматься компьютерной лингвистикой. Еще у Минского давно была фраза о том, что типа математические доказательства полноты каких-то методов вредны для ИИ. Самые смешные доказательства из этой серии, которые я видел, это доказательства сверхтьюринговости искусственных нейронных сетей. По сути, они основаны на том, что активности нейронов выражаются вещественными числами с актуально бесконечной точностью. Математически корректно, но практически абсолютно бессмысленно. Но (!!!) совершенно недопустимо делать какие-то выводы вне теории из «практических соображений». В частности, машины Тьюринга даже с конечной лентой не являются конечными автоматами, как можно было бы подумать из наивного анализа. Грубую эквивалентность между ними можно установить, но останутся более тонкие, но важные для практики различия (размер конечных автоматов, эквивалентных машинам Тьюринга с ограниченной лентой может экспоненциально расти при увеличении размера ленты — это к вопросу об оптимальном использовании ресурсов). То есть теоретическое свойство несоизмеримой мощности бесконечных языков, порождаемых машинами Тьюринга и конечными автоматами, не имеющее, казалось бы, практического смысла, имеет хотя и немного неявные, но весьма ощутимые практические следствия. Аналогично, невычислимая колмогоровская сложность на практике превращается в крайне полезный принцип минимальной длины описания.
Да, нужно быть осторожным и не зацикливаться на разной «эзотерической» трансфинитной мути, но в равной степени нужно быть внимательным к теоретическим результатам, многие из которых могут вскрыть природу практических проблем гораздо четче, чем это могут сделать практики из своего непосредственного опыта.

«Чем мне нравится подход в машине Геделя — изначальная ориентация на ограниченность ресурсов.»
Ну, ограниченность ресурсов рассматривалась еще в AIXItl. Хотя, к слову, там тоже использовалась система логических доказательств… В этом смысле фишка машины Гёделя именно в самооптимизации.

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

В следующем году я планирую вернутся к генетическому программированию.
В этом подходе есть несколько позитивных моментов.
1. Тьюриговская полнота модели.
2. Не очень хорошее покрытие теорией, что дает возможность найти что-то новое, теоремы шим не хвататет для полного понимания процесса.
3. Тот простой факт, что природа со всеми ее ресурсами так же пошла по этому пути. И что даже живые нейронные сети появились из генома, не говоря уде об естественом интеллекте (что бы этот термин не означал).
4. Ряд интересных наблюдений в биологии.

Вот с последним пунктом достаточно весело получается.
Как ни странно, биологи знают то, что не учитывают математики.
В математической и инженерной литературе например рекомендуют параметры ГП просто подбирать (!).
А в биологических моделях предполагается что
1. Передача информации от родителя к потомку формирует канал связи с Шенноновским ограничением (если учитывать мутации как шум). Если частота мутаций перекрывает ширину канала, то популяция теряет информацию.
2. В живых системах практически всегда реальный объем передаваемой информации лежит очень близко к шенноновскому порогу, на уровне выше 99%.

Достаточно интересная точка зрения с частичным математическим анализом может быть найдена еще в одной старой книжке лауреата Нобелевки по химии: lib.mexmat.ru/books/9491
Причем там он показывает вариант решения самоорганизации с другой стороны, непривычной математикам, хотя и пользуясь матаппаратом в полной мере и решая проблему потенциально неограниченного накопления информации в живых системах.

А ведь проблема модулярности и неограниченного накопления информации в ГА и ГП есть, и стоит очень остро, реально ГП отлично создает структуры, а ГП с локальной оптимизацией — законченные модели.
Но — на относительно небольших объемах данных, уменьшая сходимость по мере приближения к оптимуму.
Если же заставить его выделять общие крупноблочные структуры, доказывать что эти структуры составляют полный базис и разрешить системе расти вверх, укрупняя блоки и накапливая информацию, то проблема «серебряной пули» может быть и решена.
Может быть и нет.
Но то, что есть сегодня в публикациях (eCGA, CGP, ADF и многие другие) работает на отдельных задачах. А более общего метода нет.

PS
В любом случае хочу пожелать вам удачи в вашем поиске.
Как эмпирик, я хорошо представляют какие задачи можно будет решать подобными инструментами, созданными теоретиками.
Это серьезная работа, которая стоит хорошего приза.
За книжку — спасибо. Постараюсь при случае прочитать. Эволюционные эвристики нас интересуют.
ГП — штука хорошо, но меня в имеющемся состоянии не удовлетворяет. Правда, я не знаком с последними достижениями в этой области, так что Вы меня поправьте, если «наука уже шагнула вперед». Что меня не удовлетворяет в ГП:
1. Методы ГП сконцентрированы вокруг нескольких оптимизационных метаэвристик, которые были эволюции не даны априори, а были ею «изобретены». Тот же мейоз с кроссинговером возник меньше миллиарда лет назад, то есть больше двух миллиардов лет эволюция обходилась без него. В естественной эволюции есть целая куча других чуть более частных метаэвристик, которые также были «изобретены» на уровне физической и химической самоорганизации. Мне эволюция (не отдельный интеллект!) представляется чем-то типа самооптимизирующейся машины Гёделя, только на внелогической основе. В ГП этого, вроде, нет. Там набор метаэвристик фиксирован; рефлексивности/самоприменимости/аутопоэзиса нет или почти нет. Поэтому ГП, может, и важная, но частность. У Соломонова на основе ГП не получилось построить систему универсального инкрементного обучения.
Какие-то метаэвристики надо закладывать априорно для ускорения развития универсального ИИ, но фиксированного их набора будет недостаточно. ГП должно не просто быть способно порождать произвольные алгоритмы в полном по Тьюрингу представлении, но должно быть способно и формировать любые метаэвристики из алгоритмически полного пространства. Естественная эволюция это умеет. В области ГП, насколько я знаю, этим вопросом никто не озабачивался.
Вот старая статейка о накоплении информации в лисп программах.
citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.127.7571

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

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

С кроссовером кстати есь такой момент, что он нужен как дополнительная эвристика.
Стартуя с МонтеКарло можно получить на выходе репликатор.
Что при обеспечении передачи информации с шумом ниже шенноновского порога гарантирует мутации.
И стартует примитивную дарвиновскую динамику, дающую лучшую сходимость чем Монте-Карло.
Т.е. дарвиновская динамика получается с вероятностью 100%, если шум не нулевой и меньше порога.
Следующий этап — кроссовер или его аналоги связанные с взаимодействием экземпляров.
До него каждый был сам за себя и никак не взаимодействовал с соседями, разве что борясь за ресурс.
После — популяция меняет динамику.
И вот насколько закономерно возникает прямое взаимодействие геномов в дарвиновской системе без кроссовера — это вопрос.
И насколько закономерно это взаимодействие переходит в кроссовер, вообще насколько кроссовер является универсальным методом или частным случаем.
В живой системе есть ведь и восстановление поврежденных участков ДНК, а в ГП — нету таких аналогов.

На практике я часто использую ГП (точнее уже давно GE — grammatical evolution), как генератор гипотез.
До определенного предела он работает очень хорошо.
Дальше — надо про него забывать.

По поводу тьюринговской полноты агентов (безотносительно ГП) — тут вот такая штука.
Если мы ставим задачу оптимального агента в дискретном времени,, то получается что

1. Он должен рассчитать оптимальную стратегию за один тик смены внешних условий (хотя оптимальная стратегия может быть просто ожиданием завершения расчета с переносом действий в будущее).
2. Процесс расчета не должен занять памяти/ресурсов больше определенного конечного значения.

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

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

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

Но я бы искал решение задачи именно в этой области — недетерминированных конечных вычислительных структур с гарантированным временем выполнения — автоматов, языков, каких-либо других объектов.
Весьма любопытно. Было бы здорово увидеть от Вас на хабре статейку про ГП и проблемы оптимизации. Я к проблематике универсального алгоритмического интеллекта пришел из машинного восприятия и обучения. И из эмпирических соображений уверен, что алгоритмическая полнота (пусть не актуальная, но потенциальная) там абсолютно необходима. Ограничиваться, скажем, автоматами — это искать не там, где потеряли, а там, где светло. Конечно, ограниченность ресурсов принципиальна, но она не превращает UMT в конечный автомат; как я писал, остаются более тонкие, но не менее важные отличия. Гарантированное время вычислений, конечно, очень привлекательное свойство, но такими моделями вычислений можно ограничиваться только для частных задач.
Понятно, что как только мы начинаем расширять пространство моделей, во весь рост встает проблема поиска. Я ей занимался меньше, но обнаружил аналогию между моделями данных и методами поиска: и то, и другое управляется сложностью; только одно — структурной, а другое — вычислительной. И есть возможность объединить оба вида сложности в одном критерии. Но чтобы сделать это, несколько не хватает опыта в методах оптимизации (он есть, но для такой глобальной задачи недостаточный). Поэтому сейчас меня живо интересует чужой опыт здесь )))
Однако на автоматы я не соглашусь. Даже недетерминированные. Более того, с точки зрения как машинного обучения, так и принятия решений, детерминированные и недетерминированные алгоритмы не являются эквивалентными. То есть они эквивалентны в некотором очень обобщенном смысле, но в реальных условиях неэквивалентны. Так что я бы сказал, что необходимо использовать не просто алгоритмы, а недетерминированные алгоритмы.
За пожелание — спасибо. Надеюсь на продолжение общения: у меня сложилось впечатление, что Вы обладаете полезным (для нас) опытом ))
Я сам в значительной мере эмпирик, но собственноручно все задачи на практике пощупать физически не успеваешь…
По большому счету Тьюринговая машина — это GUI к ядру — Геделевской машине :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории