Ловушка алгоритма | искусственный интеллект

Всякая машина создается для помощи человеку в выполнении какой-то работы. Одна из первых ЭВМ – Colossus (1942) была создана для помощи человеку в решении задачи расшифровки сообщений противника во время 2-й мировой войны.
Последующее развитие этого направления прояснило идеи развития и применения ЭВМ. ЭВМ – машина для выполнения умственной работы.
Создание ЭВМ вывело на сцену понятие алгоритма. Идея алгоритма казалась замечательной штукой – ведь алгоритмы можно задать машине, чтобы она выполняла расчеты механически, без участия человека.
Однако, еще в 1950 г., после известной статьи Тьюринга, ”COMPUTING MACHINERY AND INTELLIGENCE”. уже стало ясно, что не всегда алгоритм является методической основой компьютеризации.
ЭВМ выполняли только вычисления по алгоритмам. Если это сопоставить с реальной умственной деятельностью человека, становится ясно, что выполнение расчетов на основе алгоритмов – самая примитивная и меньшая часть умственной работы.
Всякая умственная работа – это всегда решение задач. В этом процессе основная часть работы – создание плана решения задачи, алгоритма. При этом, в большинстве случаев применяются известные алгоритмы, но для каждой задачи нужно подобрать нужные алгоритмы и убедиться (доказать) в их пригодности для каждого конкретного случая.
Отсюда следует, что для более эффективного использования ЭВМ нужно направить их на решение задач – на создание алгоритмов.
Термин «решение задач» надо уточнить Большинство людей скажет, что компьютеры и так решают задачи, что тут еще обсуждать? Все так свыклись с массовым применением гаджетов, что не замечают существенного недостатка компьютеров – отсутствие мышления.
Зачем мышление, если он и так все отлично считает? Дело в том, что мы не замечаем, что любое применение компьютера требует предварительной мыслительной неавтоматизированной работы человека. Машины лишь делают обработку данных, а человеку нужна информация. Мост между информацией и данными обеспечивается человеком.
Например, в бухгалтерии, автоматизация привела к повышению производительности труда бухгалтера – он может больше зарабатывать, работая с несколькими фирмами. А привело ли это к улучшению экономических показателей предприятия, которое вложило свои средства в бухгалтерскую систему? Предприятие по-прежнему зависит от человека – бухгалтера, а компьютер лишь освободил его от счетной работы.
Другой пример – программирование. В этой работе зависимость от человека- программиста еще больше, поскольку его деятельность недостаточно формализована. Как это недостаточно, скажет программист – ведь языки программирования – самые формальные языки! Да, но это язык для компьютера, чтобы он мог протранслировать его в машинный код. А для создания программы надо еще спроектировать приложение – понять потребности заказчика, написать техническое задание, превратить его в программу. Тут нет никакой автоматизации и это самая трудная часть работы!
Нужно, чтобы компьютер создавал, алгоритмы, а не только исполнял их.

Как появился искусственный интеллект

Конечно, искусственный интеллект (ИИ) еще не появился – не существует программы, прошедшей тест Тьюринга. Наука об ИИ тоже так называется – «искусственный интеллект» и появилась она в 1956 г.
Интуитивно все представляют, что такое искусственный интеллект примерно так – «это когда машина ведет себя как человек». Если рассматривать поведение человека при обработке информации, то можно сказать «ИИ – это система, способная решать задачи, для которых нет алгоритма».
Это определение подсказывает отличие ЭВМ с ИИ от существующих сегодня. Сегодня в массовом применении находятся машины, исполняющие алгоритмы, которые разработал человек. Наличие строго определенного алгоритма жестко ограничивает применимость – можно решать только заранее зафиксированные виды задач строго определенным способом.
Для создания ИИ нужны алгоритмы второго порядка – алгоритмы, синтезирующие другие алгоритмы. Осознание этого произошло не сразу.
При появлении первых ЭВМ в конце 40-х годов 20 века, их называли не иначе как электронным мозгом. Однако они использовались только для вычислений – выполнения арифметических операций по заданному алгоритму. Понятие алгоритма и ЭВМ были неразрывны.
Ученые решили разобраться, какие алгоритмы надо создать, чтобы применить ЭВМ для решения других умственных задач. Для изучения взяли шахматы и шашки. Казалось, надо заложить в машину описание ходов и правил игры и машина сможет находить лучшие ходы, ведущие к выигрышу. Ведь она считает быстрее человека, значит, сможет играть лучше человека!
Однако этого не произошло. Одна из причин оказалась в том, что объем вычислений чрезвычайно велик и не под силу вычислительной машине.
Если оценить объем вычислений, необходимых, для того, чтобы выиграть у чемпиона мира, то нужно делать перебор вариантов для анализа на 6 ходов вперед – это способность шахматного гроссмейстера. Сколько для этого надо считать? Сделаем приблизительную оценку. В среднем, в каждой шахматной позиции каждая сторона может сделать 20 вариантов ходов, при этом противник на каждый из этих ходов тоже может ответить одним из двадцати ходов. Значит, для выбора хода надо анализировать 20*20 = 400 позиций. Если же смотреть на 6 ходов вперед, надо анализировать число позиций равное 400 в шестой степени 400*400*400*400*400*400 = 4096* 1000000000000. Если в секунду анализировать миллион позиций, то необходимое время составит 4 миллиарда секунд! Количество секунд в году = 60*60*24*365=31 536 000. 126,8 лет нужно для обсчета одного хода гроссмейстера!
Это явление назвали комбинаторным взрывом. Дальнейшие исследования показали, что почти всякая практически полезная интеллектуальная задача обладает этим свойством. Это означает, что такие задачи неразрешимы на основе прямого перебора!
Но человек решает эту задачу! Как он это делает? Ведь человек соображает гораздо медленнее машины! Как у него это получается? Значит, у человека есть более мощные и более эффективные методы решения задач. В чем состоят эти методы?
Отсюда был сделан вывод о необходимости моделирования в машине человеческого мышления, как единственного способа решения сложных интеллектуальных задач.
Отсюда и возникла идея искусственного интеллекта – метода машинного моделирования человеческого мышления.
Эта идея закрепилась в ходе исторического Дартмутского семинара (1956), на котором ведущие ученые в этой области – Джон Маккарти (который придумал и организовал это семинар), Марвин Минский, Клод Шеннон, Аллен Ньюэлл, Герберт Саймон и другие, в течение 2-х месяцев обсуждали проблему ИИ в различных аспектах, что определило направление развития этой науки на много лет вперед.
Для начала надо было изучить мышление человека, описать его формально, чтобы можно было его запрограммировать.

О приложениях ИИ

Решил поделиться некоторыми идеями для стартапа. Мы занимаемся технологией построения прикладных систем искусственного интеллекта. Для начала надо внести ясность — что такое искусственный интеллект (ИИ). Некоторые не замечают разницу между наукой и рекламой, которая сегодня у нас просто бушует — хайп про ИИ везде в информации на любую тему выскакивает волшебное “Artificial Intelligence” — AI. Стоило Гуглу объявить эру ИИ, как все его захотели. Соответственно, маркетологи сориентировались — теперь любую программу можно называть ИИ.
ИИ следует называть информационную систему, которая предназначена для решения таких задач, для которых алгоритм заранее неизвестен. Большинство современных информационных систем (ИС) справедливо называют системами обработки данных (СОД). Такие системами основаны на реализации обработки данных, для которых алгоритм заранее разработан.
В любой деятельности человека есть рутинная и творческая составляющая. Для рутинной части есть алгоритмы и, как правило, для большинства видов деятельности все запрограммировано. Для творческой составляющей практически ничего нет. Вот где поле непаханое, где бесконечное количество новых рынков и денег!
Бурно развиваются приложения на основе нейросемантики, ML/DL (машинное обучение). Но надо понимать, что эти технологии применимы не всегда. Они основаны на математической статистике, поэтому полезны там, где нужно получить статистически достоверные результаты (а значит неточные) — Big Data, игры типа ГО (но не шахматы!), распознавание образов, обработка изображений и т. п.
Если же нам нужно решать задачи, требующие точных ответов, нужно использовать другой подход — на основе моделирования мышления человека. В основе таких систем формализованные знания специалистов в заданной предметной области — базы знаний. Этот термин тоже маркетологи испортили — базой знаний называют любую текстовую базу данных.
В науке об ИИ базой знаний называется система, основанная на логическом выводе, в которой знания предметной области представлены в виде правил для системы логического вывода. Это позволяет обеспечить решение большинства (а в идеале — всех) задач, возникающих в деятельности специалистов для всех предметных областей.
Поскольку в любой работе есть творческая составляющая, ИИ можно применять везде, дополнив им существующие прикладные СОД.
Второй признак ИИ — способность решать задачи, сформулированные на естественном языке. Какая бы замечательная программа не была, нужно учиться ею пользоваться. Пример — NOCODE системы тоже нужно осваивать. Даже если взять самые распространенные EXCEL, WORD — там тоже требуется обучение. 90% пользователей используют 30% возможностей этих программ. Что такое обучение в этом случае? Пользователь учится переводить свои пользовательские операции в команды прикладной системы. Например, как заполнить строку таблицы EXCEL, одним и тем же значением. Это простейший пример. Есть толстые книги, корыте учат этому искусству — использовать все возможности прикладной программы, той же Excel.
А если сделать программу, которая даст пользователю возможность пользоваться программой без всякого обучения, чтобы он просто формулировал задачу на человеческом -естественном языке? Это уже будет ИИ.
А если сделать программу, которая решает любые школьные задачи и при этом еще и объясняет решение и может найти ошибку в решении ученика?

ИИ и хайп

ИИ и хайп

Еще раз надо вернуться к теме применения ИИ. Дело в том, что в ИИ существуют два подхода к проблеме создания приложений ИИ. Первое — широко раскручено, имеется хайп, что называется. Это то, что называется машинное обучение ML/DL еще нейросемантика туда же. Неспециалистам кажется, что это и есть весь ИИ. Также думают и многие инвесторы, которые больше склонны вкладываться в проекты, которые применяют известную технологию.
Второй подход — моделирование в машине мышления человека на основе формализации знаний и логического вывода. Этот подход позволяет получать точное решение прикладных задач, поскольку используются все конкретные знания, применяемые человеком для решения соответствующего класса задач. Этот подход раньше назывался «Экспертные системы», сейчас чаще употребляют термин “rule-based”, т. е. решение задач на на основе использования правил. Правила — это способ представления знаний предметной области.
Надо понимать, что первый подход не является универсальным, поскольку основан на математической статистике и может давать только вероятностные ответы. Например, при применении этого подхода к решению школьных текстовых задач была получена точность 60%.
В основном он применим там, где не требуется точный ответ — при игре в ГО (но не для шахмат!), для обработки изображений, для обработки больших данных (Big Data), или ответов на конкурсе эрудитов.
Второй способ — построение ИИ на основе знаний, более трудоемкий, но может обеспечить полное и точное решение задачи и, при этом, еще и дать объяснение и обоснование полученного решения. Еще одно преимущество — не требуется использовать громадные массивы данных и вычислительные мощности, как это происходит в машинном обучении.
Наш проект “TURING – thinking machine”, обеспечивает технологию построения интеллектуальных прикладных систем на основе баз знаний, описанных на языке EXXLOG.

14.04.2021 | Искусственный интеллект

14.04.21

Решил продолжить блог. Попробую более подробно все расписать, чтобы постепенно донести основные идеи нашего проекта.
В 2020 г. наш проект получил новое название : “TURING — thinking machine.”
Каждый программист, который хочет что-то сделать на основе искусственного интеллекта, может использовать наши инструменты и методологию. По возможности буду консультировать.
Программу Exxlog можно здесь скачать и создавать на ее основе реальные приложения.
Этот инструмент дает возможность создавать независимые EXE-файлы, к которым можно подключаться через файловый интерфейс. Вся интеллектуальная специфика будет внутри, а снаружи это будет обычное приложение для Windows XP, к которому можно обращаться из других программ или создать свою диалоговую оболочку. В последующих версиях Windows это тоже работает, если приложить к программе комплект DLL, который можно взять из оболочки Exxlog.
Конечно, по интерфейсу, система Exxlog, покажется устаревшей и слишком простой, но по своим возможностям моделирования интеллекта, оно превосходит большинство существующих инструментов по многим параметрам.
Для работы с Exxlog надо будет освоить основные идеи теории построения прикладных систем ИИ.
Наша технология TURING основана на моделировании мышления, т. е. на знаниях, смысловых моделях (семантике) и логическом выводе. Никаких ML/DL или нейровычислений мы не используем.
Соответственно, область приложений для технологии TURING отличается своей спецификой.
Можно сказать, что мы создаем приложения для работы с задачами, сформулированными в виде текстов на естественном языке. Текст может вводиться в диалоге с машиной или в виде файла.
Прикладные системы ИИ мы предлагаем строить на основе базы знаний (БЗ) предметной области. Например, БЗ для решения задач по планиметрии будет содержать не только все нужные теоремы, но и формальные способы описания условий задач. Для построения коммерческой версии, наверное, интереснее будет дополнить решатель задач адаптивной к ученику системой обучения и тестирования. Это уже будет система из нескольких БЗ. Такая обучающая система сможет работать полностью автоматически, без участия преподавателя.
Применение БЗ и машинное понимание естественного языка определяют типы приложений, которые можно создавать. Прежде всего, это различного рода консультирующие и обучающие системы. Можно строить целые онлайн-школы по подготовке к экзаменам, можно — системы техподдержки, а можно — системы помогающие применять сложные программные системы, например Excel.
Можно строить и более сложные интеллектуальные приложения, например, консультант по языку программирования может постепенно, по мере своего развития, превратиться в автоматического программиста.
Всевозможные системы работы с документацией, основанные на машинном понимании текста, смогут постепенно заменить большую часть офисных работников.
Это всего лишь примеры, лежащие на поверхности, можно с уверенностью предположить, что во всякой области можно найти применение интеллектуальным приложениям.
Жду откликов.

ИИ – имитация или моделирование?

Хочется поточнее определиться с этим понятием — «искусственный интеллект». Вокруг этой темы стало много шумихи, много денег и тут на первом плане у нас маркетологи – они знают как что назвать, чтобы лучше продать. В последнее время, у меня такое впечатление, что специалисты (программисты) тоже поверили маркетологам.
Еще лет пять назад термин «ИИ» употребляли с большой неохотой, поскольку вера в возможность его создания пошатнулась за десятилетия ожидания его прихода в коммерческий оборот информационных систем.vasnetsov6b
Теперь искусственный интеллект в моде. Он у нас везде – SIRI – это ИИ, ОК Гугл – ИИ, AlphaGo – ИИ, а еще автомобили без водителя и BIG DATA туда же. Инвесторы вовсю вкладываются в стартапы, создающие разные виды искусственного интеллекта. Читать

Exxlog. Руководство пользователя

Научно-производственная фирма «Семантикс Рисеч»

Инструментальный комплекс для создания машины логического вывода экспертных систем Exxlog
Руководство пользователя
(1.02)

2016

Читать