Изменения

Перейти к: навигация, поиск
Новая страница: « Disclaimer. Это моя интерпретация лекции, сокращенная, неполная и дополненная собственными м…»
Disclaimer. Это моя интерпретация лекции, сокращенная, неполная и дополненная собственными мыслями.

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

Из нее я вынес для себя несколько сильных тезисов
* Именно машина и может мыслить, потому то она создает модели, и можно понять, как она действует. А вот может ли мыслить человек и нужно ли ему это - вопрос отдельный. Может, ему из всего мышления достаточно понимания.
* Если посмотреть на создание ИИ, то его создатели быстро и в сокращенном виде повторяют 300-летний путь философовв по поводу мышления, в том числе - повторяя их ошибки.
* В 60-е годы была идея, что создание мыслящих машин позволит нам понять мышление самого человека: заглянуть в машину и понять как она действует гораздо проще, чем заглянуть в голову человека. Сейчас этот пафос утерян. Я думаю, это не корректно, потому что лишь некоторые думали так, а Тьюринг сразу говорил про имитацию, не зависящую внутреннего от устройства. А сейчас ясно, что заглянуть в машину и объяснить тоже не получается: эта задача стоит, но за нее серьез не брались. А еще создают ИИ инженеры и они - прагматики, им решение задач важнее, чем объяснение этого решения. При этом GPT умеет имитировать объяснения примерно так же, как человек их имитирует.

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

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

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

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

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

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

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

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

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

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

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

И это приводит нас ко второму имени - Марвин Мински (или Минский).

У Мински. по факту было три разных программы.
* Концепт нейронных сетей как моделей действия мозга, восприятия информации и прогнозов, на основе perceptros (1969)
* Фреймы для представления знаний, основа базы знаний с онтологиями 1974
* The Society of Mind 1986 - ум может быть понят как совокупность множества процессов, совместной работы специальных агентов
По каждому из направлений был значительный вклад, эти идеи легли в основу дальнейшего развития.

Мински рассматривал 5 процессов
# Восприятие - видеть и интерпретировать мир
# распознавание образов
# Обучение
# Понимание естественного языка
# Решение проблем.

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

Фреймы.
* Мозг организует знания в структуры для интерпретации мира.
* Распознавание ситуации и действия - много сложнее, чем обмен фразами или ходы в игре.
* Наличие шаблонов сокращает обучение на данных.
* Любая машинная модель, отражающая сложность реального мира строится на наборе фреймов из типоых, близких ситуаций.
* У фреймов - слоты для заполнения конкретной информацией.
* Это аналог врожденных идей философии или врожденные схематизмы Пиаже.
* Машина не учится, фреймы задаются разработчиками. Это дает компактность и экономия времени на обучение. Но это и ограничение на конструкцию.

Фреймы стали основой для экспертных систем. Кроме того, они используются в семантических сетях и технологиях поиска и опознания информации, например, чтобы понимать, что ищут про фильм, а не город, и что это - разное. Сейчас в ИИ используют для работы с физическим миром, учета контекста (Siri, Google Assistant), интеграция знаний, включение в обучение как типичных ситуаций.

Отметим, что фреймы не обязательны для разговорных машин: задача разговорных машин - имитировать общение, а не организовывать знания.

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

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

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

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

Эмоции - внутренний язык общения между агентами. Чтобы переключать ментальные состояния, режимы работы между контекстами. При моделировании интеллекта концентрация на сложных - тупик, начинать надо с простого, 3-летнего ребенка, тут он в 1986 повторяет мысль Тьюринга 1950. Ребенок связывает посылки и следствиями не связанные формально, а ребенок - нет.

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

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

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

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

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

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

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

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

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

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

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

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

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

В 1968 на большом мероприятии была презентация на 1000 человек: видеоконференция, гипертекст, мышь, сетевое взаимодействие, работа с текстом и GUI. При этом зрители в реальном времени наблюдали совместную работу нескольких человек, находящихся в разных точках на расстоянии 30 км, вместе с удаленным общением между ними. Это был результат работы 10 лет команды около 1000 человек, которая готовила элементы решений. Сейчас все это - норма, а тогда этап презентация задала некоторый ориентир светлого будущего.

Что важно, коммерческие продукты для этого светлого будущего были созданы не Энгельбартом, хотя его ученики в некоторых принимали участие, многое сделал Xerox. Почему не получилось? Алан Кей объясняет это через метафору "скрипка Энгельбарта" - завышенные требования к пользователю. Фреймворк - только для knowledge worker, он требовал слишком большого мастерства.
* универсализм вместо гибкости, не было адаптации под конкретных группах
* ставка на усложнение систем вместо упрощения
* попытка вовлечь пользователей в разработку, навязать роль
* высокий уровень навыков
* путаница между разработчиками и пользователями - слишком сложно для повседневности, разработчики не понимали пользователей
* внешний заказ подменили самозаказом - и финансирование прекратилось.
По сути делали инженеры для инженеров, требуя, чтобы все пользователи подтянулись до их уровня. То есть инженеры результатами пользовались, а для пользователей было слишком сложно.

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

В заключении лекции была схема мыследеятельности. Тезис Петра следующий: эта схема - не только обобщение 25 лет работы ММК, но и обобщение 350 лет развития философии мысли, начиная от метода Декарта. Разные философы рассматривали различные аспекты, а схема собрала их воедино.
* Декарт - Cogito (не мышление, рефлексия)
* Локк - understanding - понимание
* Витгенштейн - коммуникация
* Кондильяк - деятельность
* Бриджмен - мыслительная деятельность

Схема задает три важных принципа
# Культурно-исторического, интерсубъективного существования интеллектуальных процессов
# Разграничение между психикой индивидуума и интеллектуальными мыследеятельностными процессами, мышлением
# Отделяет 5 процессов: мыследеяствование, рефлексия, коммуникация, понимание, чистое мышление (его Петр сейчас делит на два)

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

Петр предложил подумать над позиционированием этих работ на схеме мыследеятельности.

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

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

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

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

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

Навигация