Два разных типа систем ИИ

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

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

В реальном мире, чтобы построить систему AI/ML в продукте, мы должны включить как знания, так и модели, потому что каждая система, основанная исключительно на знаниях или моделях, имеет свои собственные недостатки. Включение обоих может синергетически улучшить производительность системы AI/ML.

Начнем с дифференциации знаний и моделей.

Что такое знания и модель?

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

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

Слабость систем искусственного интеллекта, основанных исключительно на знаниях

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

Во-вторых, знания чувствительны ко времени. Некоторые знания действительны в течение определенного периода времени, но могут устареть по мере развития новых открытий или технологий. Например, iPhone не был брендом до 2007 года, когда было выпущено первое поколение iPhone. Если представить, что через 100 или более лет Apple.com может исчезнуть с исторической сцены, к тому времени iPhone больше не будет брендом в литературе. По сути, очень сложно и требует много времени обновлять базу знаний человека вручную.

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

Слабость систем искусственного интеллекта, основанных исключительно на моделях

Чисто модельная система также имеет свою слабость.

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

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

На практике мы видим успешные системы AI/ML, построенные как на знаниях, так и на моделях.

Примеры систем модели знаний в реальной жизни

Поиск Google — очень успешная система AI/ML. По сравнению с другими поисковыми системами поиск Google не только обучил алгоритм ранжирования поиска на огромном количестве данных, но также потратил огромное количество усилий на накопление знаний и использовал эти знания для направления окончательных результатов поиска. Некоторые запросы могут иметь совершенно разные результаты в Google и других поисковых системах. Например, поисковый запрос 嫩滑, что означает «мягкий и гладкий», относящийся к еде или коже, приводил к совершенно разным результатам в разных поисковых системах, причем одна из поисковых систем показывала явные результаты для взрослых. Причина, по которой контент для взрослых обслуживается этой поисковой системой, легко понять. Для любой поисковой системы поиск контента для взрослых составляет большинство запросов. Без использования знаний для определения того, что является контентом для взрослых, модель, обученная исключительно на данных, будет соответствовать большинству обучающих данных и отображать правильный контент для большинства запросов, который является контентом для взрослых, но не подходит.

Другой пример — автовождение. Наивный способ разработки алгоритма автоматического вождения состоит в том, чтобы обучать модели на всех необработанных сигналах от различных датчиков — камер, лазерных сканеров и радаров, вместе с ожидаемым результатом — поведением человека-водителя, таким как рулевое управление, торможение, ускорение и т. д. Однако обученная таким образом модель не сможет добиться приемлемых результатов. Согласно системной архитектуре, раскрытой на курсах Udacity по самоуправляемым автомобилям, для обучения и настройки модели используется много знаний, таких как определение полосы движения, обнаружение и понимание сигналов светофора и т. д. Между тем ожидается, что модель будет генерировать эти представления и использовать их для планирования и контроля.

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

Ожидания от системы искусственного интеллекта с синергетической моделью знаний

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

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

Идеальная система ИИ должна иметь следующие характеристики:

1. Предположение об открытом мире

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

2. Самоулучшающийся

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

3. Диктовка

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

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

Как создать систему искусственного интеллекта с синергетической моделью знаний

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

1. Модуль сбора данных

Данные служат основой для обучения. Современные технологии машинного обучения обычно используют большой объем данных. Без данных у нас не будет ни знаний, ни моделей.

2. Модуль маркировки знаний

Человек начинает маркировать данные с самого начала и продолжает маркировать данные по мере развития новых знаний.

3. Модуль обучения и оценки модели

На основе всех известных знаний модель может быть обучена и оценена.

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

Нам нужно обратить особое внимание на следующие функции.

1. Модели могут использовать как можно больше знаний

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

2. Модели должны уметь находить знания

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

а. Используйте свойство для замены класса.

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

б. Преобразование задачи классификации близкого множества в задачу близкого соседства открытого множества.

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

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

в. Используйте одноразовое обучение.

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

3. Контроль адекватности модели

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

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

4. Представление знаний в модели

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

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

Сводка

Я рассказал о некоторых рекомендациях по созданию систем AI/ML, основанных на моих наблюдениях за успешными системами AI/ML и собственном опыте создания таких систем. Основная идея заключается в том, что успешная система должна использовать как знания, так и модель, чтобы у нее было бесконечное пространство для совершенствования и роста. Руководство находится на очень высоком уровне, и может быть много вариаций в реализации. Давайте поразмыслим, обсудим, попрактикуемся и повторим, чтобы найти оптимальный способ построения систем AI/ML.