Иванов-Петров Александр (ivanov_petrov) wrote,
Иванов-Петров Александр
ivanov_petrov

Categories:

Упорный спор об искусственном интеллекте

http://ivanov-petrov.livejournal.com/493824.html
В этом треде несколько интересных разговоров, но самый длинный... Редко когда попадаются достойные спорщики - не уклоняясь от темы, отстаивают свои позиции.
kaktus77
А где можно увидеть естественный интеллект :)
Любой интеллект (разум, мышление и т.п.) искусственен. Сможем обучать (по программе средней школы, скажем) чего-то, вот и будет у этого чего-то интеллект :)
А так, я согласен, вопрос об ИИ в традиционной форме мало-осмысленен. Я его понимаю, как включение всяких машин в интелектуальные процессы (в той или иной функции). Тогда можно спросить - какие именно функции - а) возможно передать машине, б) стоит передать машине.

mike67
Кажется, я разобрался в чем у нас разногласия. Вы утверждаете, что:
1) То что ИИ является разумом надо доказывать, а не брать в качестве аксиомы.
2) В отсутствии этих доказательств ИИ может быть приравнен к человеческому не сам по себе, а только если мы сами его таковым провозгласим.

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

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

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

kaktus77
"Мы знаем, что при мышлении не происходит ничего кроме электрических сигналов. :)"
Когда мы общаемся - не происходит ничего кроме сотрясения воздуха. Когда Вы пишите в ЖЖ - не происходит ничего, кроме нажатия на клавиши клавиатуры :)

"Я утверждаю, что опровергнуть принципиальную возможность создать такой ИИ можно лишь доказав, что человеческий разум не может быть описан в виде алгоритмов."
У Вас устаревшие представления, что программисты описывают алгоритмы. Это не так, алгоритмы никто давно не пишет (они все уже написаны :) и собраны в библиотеках). В том числе и в области ИИ никто не работает в алгоритмах.

mike67
"Когда Вы пишите в ЖЖ - не происходит ничего, кроме нажатия на клавиши клавиатуры :)"
Очень хороший пример. Он доказывает возможность точного повторения любой записи, что я и продемонстировал с помощью ctrl+c ctrl+v.

"У Вас устаревшие представления, что программисты описывают алгоритмы."
Я понимаю, что Вы имеете в виду. Но я же не могу полностью все расшифровывать и оговаривать - не диссертацию же пишу. Частностями приходится пренебрегать.

kaktus77
"Я понимаю, что Вы имеете в виду. Но я же не могу полностью все расшифровывать и оговаривать - не диссертацию же пишу. Частностями приходится пренебрегать."
Отлично, раз понимаете. Но ведь это не детали, а как раз суть вопроса - что именно переносится на транзисторы, на единички и нули. Т.е., как именно мы можем описать и реконструировать интеллектуальное. Реконструировать таким образом, чтобы это можно было перенести на другой материал.

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

mike67
Это одновременно и суть вопроса и не вполне суть вопроса. Алгоритмы инициируют систему и корректируют ее, ограничивая по некоторым параметрам. Описывать все стадии процесса саморазвития совершенно не нужно. Достаточно описать, как будет осуществлен запуск программы саморазвития.
Дальше все происходит в некоторых допустимых рамках - как и с развитием живого организма.

kaktus77
"Описывать все стадии процесса саморазвития совершенно не нужно. Достаточно описать, как будет осуществлен запуск программы саморазвития."
Дык, не занимаются в ИИ саморазвитием. Вроде все там уже поняли, что никакая изолированая система (будь то техническая, будь то биологическая) само-развиваться не может.

mike67
Зачем же изолированная? Изолированная не может, это точно.

kaktus77
Что ж тогда Вы называете саморазвитием ?

mike67
Обработку самостоятельно полученной информации

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

Вот, кстати, если взять в качестве примера шахматные программы. То эту проблему так пока и не решили. Шахматные программы играть не умеют, и проиграют на раз любому более-менее приличному белковому шахматисту.
На самом деле против крамников и каспаровых играет не программа (компьютер), а человеко-машинная система-кентавр, где роль человека очень велика.

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

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

"А вот то, что против Каспарова играет не программа - это, по-моему, утверждение на совести Гарри Кимовича"
Я не про это :). А про то, что программа сама не умеет "правильно" разыгрывать дебют. Любой гросс легко получит в дебюте против компа позицию такого типа, которую программы "играть" не умеют. Чтобы этого не происходило, в команде компьютерщиков есть специальный человек (обычно гросс), который прописывает компу дебютные варианты (с учетом конкретного соперника).
А уж эндшпиль - это отдельная песня. У современных программ есть так называемая эндшпильная база, где просто забиты все возможные позиции (до 6 фигур на доске)! Программа не понимает, что такое позиционная ничья, поэтому приходится идти на откровенное "жульничество".
Так что реально играет не программа, а целая команда - в дебюте и, во-многом, в эндшпиле прогораммы вообще не делают своих ходов.

mike67
"Т.е. нет таких работающих представлений о самообучении, которые "абстрагировались" бы от человека."
Конечно! Так ведь на первых порах человек и будет "натаскивать". Нас самих-то тоже люди обучают.
Насчет дебютов не понял. Вроде бы в современные программы вбиты едва ли не все варианты? Каспарова ведь тогда Deep Blue подловил на ходе, который дебютными руководствами был "забракован". Или я что-то путаю?
А насчет позиционной ничьей - да, понимаю. Сталкивался. И позиционный проигрыш они не всегда "чувствуют".

kaktus77
"Конечно! Так ведь на первых порах человек и будет "натаскивать". Нас самих-то тоже люди обучают"
Но обучают-то людей. Нет таких представлений, где могли бы самообучаться не люди. Мы можеи сегодня какие-то способы мышления и деятельности "оторвать" от человеческого материала и положить на машины. Но не можем этого сделать с самообучением. Может этого и в принципе сделать нельзя (т.е. возможно "самообучение" и "саморазвитие" - это фикции)
"Насчет дебютов не понял. Вроде бы в современные программы вбиты едва ли не все варианты?"
Вбиты, конечно. Но ведь надо выбирать какой вариант играть. Вот этот выбор и делается заранее человеком, да еще и новинки какие-то готовятся. Понятно, что человек-игрок тоже все это дома просчитывает, и не один, а с помощниками и компами. Вот и идет где-то до хода 20-30-го домашняя борьба двух человеко-машинных команд. И здесь в современных шахматах решается процентов 70 от общего успеха

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

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

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

kaktus77
Если на Вашем языке. Цель - откуда?, задается как понимаю человеком. Основания для анализа путей откуда? - задаются, как понимаю человеком.
Что остается - перебор вариантов.
Собственно, это последнее Ваше представление вполне хорошо подходит к компьютерным программам. Цель - поставить мат, основание для анализа путей - оценочная функция (где экспертные веса проставил какой-нибудь гросс). Что делает программа - перебирает варианты и "пользуясь" оценочной функцией получает ходы (промежуточные цели).
Если Вы это называете ИИ, то уже сейчас есть гораздо более интересные концепции и разработки. И где здесь самообучение, так и не понял.

mike67
Ходы шахматной программы - не промежуточные цели. Идет перебор вариантов и на основании оценочной функции каждому гипотетическому ходу присваивается какое-то число. Шахматная программа ведь не играет по плану, она считает.
Главное отличие ИИ в 1) широком использовании приблизительных оценок и главное 2) в формировании опытным путем промежуточных целей. Промежуточными целями становятся, например, приблизительные позиции определенного типа, которые выигрываются чаще всего.
Допустим, одной из промежуточных целей явно должна стать потенциальная способность фигур прибыть на помощь королю. При этом считать ходы бесполезно, если ясно, что в обозримом будущем они, скажем, не попадут на королевский фланг. Даже мне удавалось выигрывать у компьютера (правда с глубиной не более 5 секунд на ход). Например, во французской защите белыми я "пережимал" дополнительным фигурным давлением переход через e6 (на что комп. шел совершенно спокойно), после чего становилось очевидным, что ходов через 10 я пешками разрушу весь его королевский фланг. Разумеется, я не могу это точно просчитать, но видно, что пешки туда рано или поздно дойдут, а вот он своими фигурами никак туда не успеет.

kaktus77
"Шахматная программа ведь не играет по плану, она считает."
Совершенно верно. А откуда планы у ИИ, точнее откуда метод составления плана?
Если методы планирования задаются извне, то такое планирование мало чем отличается от счета. Если же ИИ может сам строить новые методы планирования, то за счет чего? В этом весь вопрос. Пока люди и сами не знают как они приходят к новым методам. Этому невозможно научить даже людей (нет таких технологий и методов обучения), как же Вы научите этому железку.
Выделить существующее методы планирования (мышления) и положить (более менее) на железку - это возможно и, в принципе, уже делается. А вот научить "придумывать" новые - это никому не удается.

mike67
Это удобнее рассмотреть на "человеческом" ИИ. Главная цель - выживание, грубо говоря, задается сразу. К ней программа выстраивает логическую цепочку из переменных, проверяемых по принципу if - then на соответствие главной цели.
При быстром росте массива переменных и констант (а в ИИ будут поступать через "органы чувств" и вводиться программистом все обычные для человека данные об окружающем мире) подсчет невероятно усложнится.
Здесь мы и приходим к тому принципу, на котором, видимо, основаны и соответствующие функции человеческого интеллекта - к образованию промежуточных целей. Это не совсем что-то новое, просто цепочка if-then начинает сильно ветвиться, там образуются "узлы", которые становятся "промежуточными целями". То есть, если A строго ведет к искомому B, то A становится промежуточной целью, и машина уже вычисляет, как прийти к нему.
Например, мы ищем денег, чтобы купить еду. Поиск денег оформляется в голове как отдельная программа, мы вычисляем на какую работу лучше устроиться, оцениваем много факторов и вряд ли думаем о конечной цели - еде, размышляя, насколько хорош коллектив на том или ином месте работы.

kaktus77
"Главная цель - выживание, грубо говоря, задается сразу"
Чего это, нет у меня такой цели (да и у Вас, думаю нет). А то б точил я лясы в ЖЖ :)
"К ней программа выстраивает логическую цепочку из переменных, проверяемых по принципу if - then на соответствие главной цели."

1) не пишутся прoграммы через if-then. Это я Вам, как программист говорю :) Программы "пишутся" (и особенно в области ИИ) прежде всего через простраивание системы знаний, соответствующей той области, с которой имеет дело "программист" (на самом деле там куча специализаций). И развитие языков (и других средств) программирования обеспечивает все новые и новые средства описания знаний и построения моделей.
2) Вы опять все в кучу валите. Вы же уже развели счет (перебор), который и реализуется через if-then, и планирование (на примере шахм. программ). Зачем опять сводить планирование к перебору.
Планирование (в отличии от if-then) подразумевает использование знаниевых представлений (понятий). Если взять опять же пример из шахмат. Вот я составляю план - я знаю, что коням нужны опорные пункты, что слонам нужно открытое пространство и т.п. Т.е. у меня есть понятия, например - опорного пункта, слабой пешки и т.д. Исходя из этих понятий я
1) оцениваю позицию, т.е. перевожу ее в систему понятий (знаний) 2) разворачиваю понятие в его процедурной части (намечаю, как занять опорный пункт) 3) при этом я должен еще планировать за соперника и, в конечном итоге, у меня получается веер альтернативных планов (но это никак не результат перебора)
Теперь, чтобы комп мог планировать, а не перебирать туда-сюда, на него нужно эти понятия "положить". Это в принципе возможно. Но обратите внимание это не if-then переменных, а система (или пусть даже цепочка) понятий.
Что мне кажется невозможным - чтобы он (комп) сам мог строить новые понятия.

mike67
Понимаете, я программирую только на Бэйсике, и научился этому сам. Поэтому моя терминология несколько непривычна, так скажем.
Ваши понятия/знания соответствуют приблизительно тому, что я обозвал промежуточными целями.
Под if/then я имею в виду процедуру установления причинно-следственных связей, если программа обнаруживает, что искомый символ B во вводимой строке чаще всего следует за A, то она устанавливает A в качестве "причины" B. Разумеется, в достаточно сложной системе это B будет само достаточно сложным, например, будет описывать понятие опорных пунктов для коней. Цепочка, как Вы и сами говорите, будет выстраиваться. Это именно то что я имел в виду. Я это обозначаю как if/then только потому, что не знаю терминологии. Знаю только, как я бы это делал.
Собственно, принципиален только вопрос, может ли комп строить новые понятия. Я считаю, что да - именно тем путем, который Вы назвали сваливанием в кучу планирования и перебора. Но здесь я рискую вновь злоупотребить традиционной терминологией, поэтому хочу уточнить вопрос: может ли программа сама прийти к тому, что, скажем, для слонов нужно открытое пространство, так?

kaktus77
"может ли программа сама прийти к тому, что, скажем, для слонов нужно открытое пространство"
Скорее, может ли программа прийти к понятию открытого пространства. Так вот, не может.
"если программа обнаруживает, что искомый символ B во вводимой строке чаще всего следует за A, то она устанавливает A в качестве "причины" B."
И здесь та же проблема. Чтобы установить "причину", в программу уже должно быть встроено понятие причины - т.е. встроено это "рассуждение", что можно (нужно) отслеживать частоту следования двух символов.

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

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

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

mike67
Значит, все-таки Вы исходите из общефилософской позиции.
Напомню основные пункты нашего диалога о причинности:
1) Я пишу: программа может устанавливать причину
2) Вы отвечаете: для этого в программу надо встроить понятие причинности
3) Я: Нет проблем. Встроим и это будет работать
4) Вы: У детей понятие причинности не встроено.
Получается, что проблемы составления соответствующей программы нет, а есть проблема опытного или априорного происхождения категории причинности. Но если категория причинности знакома каждому из нас, и ее можно воспроизвести программными методами, то какая разница, что о генезисе этой категории думали Кант и Юм?
По той же причине нас не должен интересовать и физический процесс развития человеческого мозга в детском возрасте (уточню все же, что ребенок не научается причинности, соответствующая программа у него просто инициируется).

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

kaktus77
"Но если категория причинности знакома каждому из нас, и ее можно воспроизвести программными методами, то какая разница, что о генезисе этой категории думали"
Да, конечно. В контексте нашего обсуждения без разницы (это была скорее реплика в сторону). Основной тезис был не в этом, а в том, что
1) Встроим и будет работать
2) При этом машина будет делать только то, что в нее встроили. Т.е. будет реализовывать понятие причинности.
3) Если, скажем, мы хотим, чтобы машина понимала про часть и целое. То надо будеть встроить в нее понятия целого и части. И так далее, каждое новое понятие надо будет в нее встраивать. Собственно, этим и занимаются разработчики всяких ИИ.

Программу, которая сможет распознавать вводимые в нее новые изображения собак именно как собак, а не, скажем, кошек, написать можно. В чем проблема?
Проблемы нет, только надо эту программу написать :). А как только мы (человеки) таковую напишим, то, конечно, будет распознавать кошек и собак. А вот написать программу распознавания вообще, т.е. без учета того, что распознается, написать нельзя. Спроcите у любого специалиста в области ИИ (распознавания образов), то-то шуму будет :). Этож у них самое больное место - огромный объем работы по вталкиванию в железку всех этих понятий - кошечек, собачек, буковок (каждой отдельно) и т.д и т.д.

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

Собственно, было (в истории) много попыток построить механизм саморазворачивания мышления - и Гегель, и тот же Пиаже, и Щедровицкий (совсем ранний). Но все они провалились.
"Пиаже установил, что дети начинают группировать понятия и предметы даже до установления логических операций."
Ясно дело :) Логические операции существенно сложнее по устройству. Они сложнее, скажем, арифметических (и исторически гораздо позже появились), а арифметическиие дети осваивают с огромным трудом только в 8-9 лет.

mike67
Да, разумеется, все что "встроено" в нас, надо будет встроить и в машину. Но далее мы расходимся, поскольку Вы считаете, что каждое новое понятие, абстракцию и т.д. также придется "встраивать", я же полагаю, что базовых категорий (причинность, объединение предметов и понятий в группы по общим признакам и т.д.) достаточно, чтобы программа впоследствии могла применять их к частным случаям.
Главная проблема действительно в распознавании образов. Я бы уточнил: это проблема именно ввода информации, поскольку мы пока не можем адекватно симулировать работу наших органов чувств. Понятно, что человек, в отличие от машины, быстро догадается, что гора на многомегабайтном фото напоминает формой треугольник. Но это потому, что ему не приходится перерабатывать эти мегабайты - в сознательную часть мозга поступает сильно облегченная картинка. Я не касаюсь попутных тонкостей насчет механизмов восприятия, а хочу пока заметить лишь то, что что речь идет о восприятии, а не об интеллектуальной обработке информации.
А главное Ваше возражение, наверное, относится именно к интеллектуальной обработке, а конкретно - к способности программы систематизировать вещи по нечетким признакам, поскольку систематизировать, скажем, ряды символов достаточно просто. Можно так сформулировать основную проблему распознавания и построения абстракций? Будет ли вопрос снят, если программа, обученная распознавать кошек, распознает в стае собак некие общие видовые черты и поинтересуется у программиста, как называется это животное?

kaktus77
"Но далее мы расходимся, поскольку Вы считаете, что каждое новое понятие, абстракцию и т.д. также придется "встраивать", я же полагаю, что базовых категорий (причинность, объединение предметов и понятий в группы по общим признакам и т.д.) достаточно, чтобы программа впоследствии могла применять их к частным случаям."
Да, тут расходимся :) Если даже говорить только о базовых категориях, то
1) их на сегодняшний день порядка ста. И большинство из них слабо-исследованы. По-крайне мере недостаточно для того, чтобы встроить в железку.
2) к тому же, список открыт, выделяются все новые категории. Собственно говоря, различение "старых" и "новых" категорий достаточно условно. Исследование "старых" непременно рождает "новые". Так что, встроить все категории невозможно в принципе.
"достаточно, чтобы программа впоследствии могла применять их к частным случаям."
Здесь у нас еще одно расхождение. Я ж не отрицаю, что программа может применять встроенные категории к частным случаям. Я отрицаю, что такое применение имеет отношение к построению понятия. Понятия при этом не образуются.
Вот, если даже исходить из аристотелевской видо-родовой схемы. Чтобы выделить вид из рода (скажем, кошек из четвероногих) требуется видовое отличие. Т.е. каждое понятие задается (ближайшим) родом и видовым отличием. И их придется задавать.
Т.е. одно дело подвести конкретный экземпляр четвероногого под (существующее) понятие кошки.
Совсем другое дело - сформулировать видовое отличие.
В первом случае - это применение к частному случаю. Во-втором - построение понятия (через видовое отличие). Это совсем разные процессы.
"поскольку систематизировать, скажем, ряды символов достаточно просто."
Я не говорю, что это сложно. А то, что это не имеет отношению к образованию новых понятий (см. выше). Если Вы считаете, что это не так, то приведите контрпример. И мы его обсудим. Вот, скажем, как Вы получите понятие целого и части из Вашего набора категорий ?
(А "нечеткие" признаки от "четких" по сути ничем не отличаются, математика просто немножко другая )
"Будет ли вопрос снят, если программа, обученная распознавать кошек, распознает в стае собак некие общие видовые черты и поинтересуется у программиста, как называется это животное?"
Да, но это невозможно.

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

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

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

mike67
Хорошо, готов порбыть кантианцем и сторонником "слабенькой" модели. Насчет восприятия и интеллектуальной функции я нарочно оговорил заранее, что сложностей касаться сейчас не буду, потому что речь пойдет о той части мышления, которая свободна от задачи распознавания информационного сигнала, об обработке уже полученной информации.
Я считаю проблему распознавания паттернов отдельной, а Вы, я сильно подозреваю, так не считаете. Давайте пока отделим работу с сенсорикой, тем более, что мы Вы прекрасно поняли, какую задачу я ставлю и согласились, что спор можно решить на приведенном мной примере.
Итак кошки и собаки. Задачу систематизации по нечетким признакам Вы с меня сняли. Тогда сформируем из переменных, отражающих характерные особенности кошки (от четвероногости до формы морды) строку символов. Очевидно, что собаки будут описываться большей частью теми же символами, отличаясь лишь меньшей частью. Очевидно, что каждая отдельная особь будет отличаться еще меньшей частью. Введем туда же вперемешку крыс, медведей и черепах. Надо ли мне написать программу, которая отнесет их всех к четвероногим и разобьет этот массив на пять компактных групп (видов)? И которая сможет в дальнейшем отнести новую собаку именно к собакам?

kaktus77
"Тогда сформируем из переменных, отражающих характерные особенности кошки (от четвероногости до формы морды) строку символов."
А дальше уже ничего интересного нет, и мышления никакого нет. Вы же свели интеллект к формальному оперированию символами. Тогда любой калькулятор вершина интеллекта :)
Вот возьмем еще такой пример. Ребенок лет в 7 прекрасно может оперировать арифметическими символами (как правило) - т.е. складывать и вычитать числа. А вот решить арифметическую задачу (типа "сидели нескоко птичек, прилетело 7, стало 12. Скоко было") не может. Хотя запросто может вычитать 7 из 12.
Мышление (и понимание) вовсе не сводятся к формальным операциям. Весь вопрос - как получить эту "строку символов"

kaktus77
"Тогда сформируем из переменных, отражающих характерные особенности кошки (от четвероногости до формы морды)"
А если кошка лежит - и ног не видно. То уже нет четвероногости :)
А если глаз выбили, тогда нет двухглазости :)
Если Вы будете через свойства (характеристики) распознавать кошку, то у Вас большинство кошек не распознается. Это по другому делается.
"Надо ли мне написать программу, которая отнесет их всех к четвероногим и разобьет этот массив на пять компактных групп (видов)?"
Так Вы ж вопрос первоначально по-другому ставили - может ли программа распознавания (только) кошек узнать про собак. А теперь у Вас "распознаются" и кошки, и собаки, и медведи :)
Если ж оставить токо кошек, то будут только кошки и не-кошки (куда, кстати тоже куча кошек попадет :) ). Т.е. то что распознано и то, что не распознано. А откуда возьмется вопрос про собак?

mike67
Насчет ребенка могу лишь повторить, что его "программы" инициируются не сразу, возражение насчет калькулятора, как я понимаю, шутка. Как получить строку символов я говорил.
Насчет распознавания кошек с поджатыми лапами: мы ведь в определенных проекциях и куб примем за квадрат, а уж спящую кошку с шапкой перепутать - запросто.
Но раз уж Вы требуете от машины большего - надо ли объяснить, как написать программу, объединяющую собаку с оторванным ухом именно с собаками?
Кстати, пример с собаками Вы как-то не совсем так поняли. Все строки, группирующиеся по принципу сходства последовательности большинства входящих в них символов, будут отнесены программой именно к новому виду, равнозначному массиву "кошек".
При наличии нескольких "животных" вероятность ошибки станет гораздо меньше. Я сомневаюсь, что количество ошибочных отнесений превысит какой-то малый процент.

kaktus77
1) "Насчет ребенка могу лишь повторить, что его "программы" инициируются не сразу"
А как Вы считает, инициация происходит сама по себе, или можно как-то ей поспособствовать? Скажем, можно ли инициировать умение решать арифметические задачи не в 7-8 лет, а в 4 года. Хотелось бы услышить Ваш ответ, чтобы понять что Вы имеете в виду.
2) Вообще-то пример был несколько про другое. Про то, что формальное оперирование символами не обеспечивает (само по себе) решение задач. Если мы понимаем мышление, как умение решения задач (с чем Вы вроде согласны), то получается, что оперирование символами только один из элементов мышления. И мышление к нему не сводится. Т.е. нельзя представлять мышление (интеллект) как (формальное) оперирование символами - такое представление дефициентно.
Отсюда следует, что разделение на восприятие и мышление (как оперирования символами полученными из восприятия) логически не правомерно. Как минимум, мы должны тогда считать, что мышление "содержит" и восприятие и оперирование символами (и возможно что-то еще).
И я как раз и говорил, что восприятие - существенно более сложный компонент мышления (по сравнению с оперированием символами). Именно здесь и все проблемы, и, можно даже сказать, сущность мышления.
3) "Все строки, группирующиеся по принципу сходства последовательности большинства входящих в них символов, будут отнесены программой именно к новому виду, равнозначному массиву "кошек"."
Так где ответ на основной вопрос-то (основной в контексте примера) - откуда появляется вопрос железки про собак: "Будет ли вопрос снят, если программа, обученная распознавать кошек, распознает в стае собак некие общие видовые черты и поинтересуется у программиста, как называется это животное?"

mike67
Боюсь углубляться в "детский вопрос". Он прямо к теме не относится, зато все, что я скажу будет объявлено не отражающим всей сложности явления. Равно как все о чем я не упомяну, будет названо самым главным.
Я хочу вернуться к нашим собакам. В том, что программа может сгруппировать строки со схожими признаками в разные группы (массивы) Вы ведь не сомневаетесь?
В том, что программа в случае дефицита данных должнва будет обращаться с вопросами к человеку - тоже не сомневаетесь? Ведь дети так же делают. Так как же она может не поинтересоваться, как называется "у людей" этот новый массив?

kaktus77
Так откуда берутся эти А, B, R и т. д.
Насколько я понял - это характеристики (предикаты) объектов. Либо их вводит программист (в строках), либо он строит какой-то механизм "получения" этих предикатов (через распознования).
В любом случае сама схема классификации поступаемого материала (т.е. набор предикатов) задан заранее.
Вот этот набор предикатов и задает понятия, или точнее понятийное устройство "мира" программы.
А рассортировка по кучкам - это уже простенькая такая актуализация этого мира.
Tags: philosophy2, science2
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 45 comments