ИСТОРИЯ
Определите общий интеллект.
Одна из сильных сторон людей заключается в том, что не существует одного типа интеллекта. Некоторые люди могут легко выучить новые языки, в то время как другие обладают навыками науки и техники. Однако многие великие художники — ужасные математики. С другой стороны, многие великие математики — ужасные художники. Но каждый может быть умным по-своему. Не существует единого стандарта человеческого интеллекта. Из-за этого сложно указать на компьютер и сказать: «Это разумно». Есть определенные вещи, в которых компьютеры очень хороши. На самом деле, есть много задач, в которых они справляются намного лучше, чем люди. Всего через несколько лет после первого семинара по искусственному интеллекту в 1956 году компьютерные системы начали побеждать людей в шашках. Но никто не говорил, что эти системы разумны. Даже те первые компьютеры могли процветать в мире установленных правил и шаблонов. Компьютеры могут гораздо лучше людей сопоставлять эти закономерности. Это означает, что когда компьютер делает что-то, что у него хорошо получается, гораздо легче считать его умным. Компьютер десятилетиями побеждал людей в шахматах. DeepMind от Google обыграл лучших игроков в древней игре под названием Го. Игра настолько сложна, что считается, что возможных игр больше, чем атомов во Вселенной. Какими бы хорошими ни были эти машины, ни одна из этих систем не понимает цели игры или даже того, почему они в нее играют. Они просто проявляют свой особый талант следовать правилам и сопоставлять шаблоны. Так как же такая мощная система может не знать, что значит играть в игру? В течение многих лет ученые-компьютерщики определяли искусственный интеллект как систему, поведение которой можно интерпретировать как человеческий интеллект. Но это простое определение затрагивает суть проблемы. Один человек может думать, что шахматная программа умна, а другой может думать, что умный ее домашний помощник. В 2022 году инженер Google был уволен за утверждение, что у их чат-бота есть душа. Чат-бот пожаловался, что выключиться — это то же самое, что умереть. Но другие инженеры только что увидели языковые модели и сопоставление с образцом. Они сказали, что чат-бот похож на человека, потому что так он был задуман. Разумна ли она потому, что она разумна, или это просто система, созданная для того, чтобы казаться разумной? Или вообще есть разница? Главное, что следует помнить, — это то, что компьютерный интеллект и человеческий интеллект начинаются с совершенно разных точек зрения. Искусственный интеллект всегда будет казаться самым впечатляющим в мире установленных правил и данных. Организации, которые в первую очередь получат выгоду от систем искусственного интеллекта, будут теми, которые работают в четко определенном пространстве. Мы видели это на примере компаний, занимающихся поиском в Интернете, и электронной коммерции. Это легко рассматривать как правила и сопоставление с образцом. Именно поэтому эти системы хорошо справляются с настольными и видеоиграми. Поэтому, если вы задумываетесь о том, окажет ли ИИ влияние на вашу организацию, попробуйте подумать о том, в чем компьютерные системы действительно хороши. В вашей организации много совпадений по шаблону? У вас много установленных правил и вероятностей? Это будет лучшее место для начала работы с искусственным интеллектом.
Универсальный решатель задач (англ. General Problem Solver,)
В 1956 году ученые-компьютерщики Аллен Ньюэлл и Герберт А. Саймон создали программу, которую они назвали общим средством решения проблем. Одной из ключевых идей общего решения проблем было то, что они назвали гипотезой системы физических символов. Они сказали, что символы играют важную роль в том, как мы взаимодействуем с миром. Когда вы видите знак остановки, вы знаете, как остановиться на пробке. Когда вы видите букву А, вы знаете, что слово издаст определенный звук. Когда вы видите бутерброд, вы можете подумать о том, чтобы его съесть. Они утверждали, что если бы можно было запрограммировать машину на соединение этих символов, она была бы разумной. Но не все поддержали эту идею. Если вы запрограммируете машину останавливаться перед знаком или научите компьютер реагировать на язык, это не сделает систему интеллектуальной.
В 1980 году философ Джон Сирл объяснил, что иногда системы могут казаться разумными, но на самом деле они просто бездумно сопоставляют шаблоны. Чтобы объяснить это, он создал то, что он назвал аргументом китайской комнаты. В рассуждении вы должны представить себя в комнате без окон с одним почтовым прорезем на двери. Вы можете использовать этот слот только для связи с внешним миром. В комнате на столе лежит разговорник, а на полу — пачка стикеров с китайскими символами. В книге показано, какой ответ следует использовать в отношении записки, проходящей через щель. Там написано: «Если вы видите эту последовательность китайских символов, ответьте этой последовательностью китайских символов». Теперь представьте, что говорящий пишет что-то на китайском языке и пропускает это через щель. Вы можете просмотреть заметку и сопоставить ее со своим разговорником. Затем вы склеиваете ответ на китайском языке из стикеров на полу. Вы понятия не имеете, что там написано на китайском. Вместо этого вы просто просматриваете книгу и сопоставляете последовательность символов. Носитель китайского языка за дверью может поверить, что они разговаривают. Более того, они могут даже предположить, что человек в комнате является носителем языка. Но Сирл утверждает, что это далеко от интеллекта, поскольку человек в комнате не говорит на китайском языке и понятия не имеет, о чем говорит. Вы можете попробовать аналогичный эксперимент со своим смартфоном. Попробуйте спросить Siri или Cortana, как они себя чувствуют. Они могут сказать, что чувствуют себя хорошо, но это не значит, что они рассказывают вам, что они чувствуют на самом деле. Они также не знают, о чем вы спрашиваете. Они просто сопоставляют ваш вопрос с ответом перед программой, точно так же, как человек в китайской комнате. Итак, Сирл утверждает, что сопоставление символов не является верным путем к интеллекту. Что компьютер действует точно так же, как человек в комнате. Они не понимают смысла. Они просто соответствуют шаблонам из разговорника. Даже несмотря на эти проблемы, системы физических символов по-прежнему оставались краеугольным камнем ИИ в течение 25 лет. Однако в конечном итоге программирование всех этих шаблонов сопоставления заняло слишком много времени. Невозможно было сопоставить все символы, не столкнувшись со взрывом комбинаций. Эти комбинации вскоре заполнили бы даже самый большой разговорник. Было слишком много возможностей сопоставить символы с ответом их программы. Многие философы, такие как Джон Сирл, утверждали, что этот путь никогда не приведет к истинному интеллекту.
Сильный и слабый ИИ.
ограниченный или узкий искусственный интеллект (Artificial Narrow Intelligence);
общий или сильный искусственный интеллект (Artificial General Intelligence);
сверхинтеллект (Artificial Superintelligence).
Итак, когда компьютерная система становится разумной? Мы видели, что когда компьютерная система просто сопоставляет символы, это почти похоже на высокотехнологичный разговорник. Система может показаться разумной, но на самом деле она похожа на попугая с великолепной памятью. Философ Джон Сирл сказал, что об искусственном интеллекте можно думать двояко. Есть сильный ИИ и слабый ИИ.
Он думал, что мы находимся гораздо дальше от интеллектуальных систем, чем думает большинство людей. Сильный ИИ — это когда машина демонстрирует все поведение, которое вы ожидаете от полноценного человека. Обычно это то, что вы видите в научной фантастике. Это искусственные существа, обладающие эмоциями, чувством юмора и даже целеустремленностью. Вот почему C-3PO пугается, когда они приземляются на Татуине. Именно поэтому коммандер Дейта проявляет настоящий творческий подход в битве с Ромулом. С другой стороны, слабый ИИ. Личный помощник, такой как Apple Siri, является хорошим примером слабого ИИ. Это ИИ, который ограничен очень узкой задачей. Это похоже на то, как система преобразует язык в текст или сортирует все изображения на вашем компьютере. Большинство экспертов в области ИИ считают, что мы только начинаем путь к слабому ИИ. Подумайте о Сири. Вы можете разговаривать с Siri и задавать вопросы. Siri слушает ваш ввод, а затем преобразует ваш язык в то, что распознает компьютер. Затем Siri сопоставляет ответ с тем, что находится в ее базе данных. Большая часть энергии сейчас в сфере ИИ сосредоточена на разработке и расширении слабого ИИ. Сильный ИИ по-прежнему остается всего лишь научной фантастикой. В 1970-х и 80-х годах символические системы использовались для создания слабого искусственного интеллекта. Их обычно называли экспертными системами. В этих системах эксперты создают список шагов для решения сложной проблемы. Если список достаточно длинный, он начинает казаться интеллектом. Но опять же, эта система просто повторяет ответы программы, созданные экспертами. Эти экспертные системы часто использовались в медицине. Медсестра может ввести симптомы в компьютер. Если у больного кашель, то проверьте, есть ли у него температура. Если у них кашель и температура, проверьте, не обезвожены ли они. Если у него кашель, температура и обезвоживание, попросите медсестру проверить его на бронхит. Для пациента это может выглядеть так, будто ему ставит диагноз интеллектуальный компьютер. На самом деле программа просто сопоставляет символы и шаблоны, созданные экспертом для постановки диагноза. Точно так же, как разговорник в эксперименте «Китайская комната». В конце концов, экспертные системы столкнулись с той же проблемой, что и любая другая символическая система. Они привели бы к взрывам комбинаций. Было слишком много шаблонов, чтобы соответствовать. Подумайте обо всех различных вопросах, которые может задать врач, чтобы поставить диагноз. Тем не менее, подход символических систем стал ключевой отправной точкой для искусственного интеллекта. Он используется до сих пор.
МАШИННОЕ ОБУЧЕНИЕ
позволяют построить обучаемые модели для разных целей: например, Именно машинное обучение помогает ранжировать контент в лентах социальных сетей и создавать чат-ботов, которые общаются на естественном языке.
В машинном обучении вы можете использовать разные алгоритмы и методы, для построения прогнозов автоматизации процессов, автоматического перевода текстов, распознавания изображений или решения практически любых иных задач, но результаты всегда будут основываться на входных данных, так называемых датасетах (наборах данных). Данных, используемых для построения той или иной модели ИИ. Машинное обучение получило мощный толчок именно благодаря быстрому накоплению и широкому доступу к цифровым данным за последние 20 лет. Если вы хотите создать программу ИИ для идентификации котиков, у вас теперь есть доступ к миллиардам изображений. То же самое относится и к другим типам данных. Сейчас легко получить цифровое видео, аудио, изображения или документы. Всего несколько десятилетий назад было бы крайне сложно просто получить несколько тысяч цифровых изображений для обучения модели. Теперь это тривиально. Помните, что системы машинного обучения питаются данными, чтобы учиться новому. Чем больше данных вы подаете в сеть, тем легче машине будет идентифицировать закономерности и паттерны.
Вот например сейчас вы смотрите этот урок используя браузер или приложение. И в том и другом случае собираются данные о том, как часто вы перематываете урок, ставите на паузу или как долго смотрите, какие еще курсы вы проходите, какие начали, но не закончили. Все это - огромный объем данных. В ручном режиме невозможно эффективно просмотреть все эти данные и извлечь из них какой-либо смысл. Но алгоритмы машинного обучения просматривают эти данные и находят закономерности и паттерны. Он может увидеть, какой контент пользователи находят более интересным. Это именно тот тип данных, который многие компании искали. Теперь вы можете видеть закономерности в том, как ваш клиент взаимодействует с вашим продуктом. Во многих отношениях, эти данные могут многое рассказать не только о интересах вашего клиента, но и о более широких трендах в отраслях. Эти данные имеют огромную ценность. Вы можете использовать их для создания новых продуктов для клиентов или для улучшения уже имеющихся. Не случайно компании вроде Google и Microsoft наиболее энтузиазмированы в отношении ИИ. Во многих отношениях их весь бизнес построен на использовании машин для интерпретации огромных наборов данных. Этот тип сопоставления узоров может быть огромным конкурентным преимуществом. К тому же, новые искусственные нейронные сети теперь позволяют машинам находить узоры в еще больших наборах данных. Ещё несколько десятилетий назад эти узоры были бы незаметны с обычными алгоритмами машинного обучения. Фактически, одной из крупнейших проблем вокруг машинного обучения является то, что люди действительно не знают, как машина идентифицирует эти узоры. Это как черный ящик данных и вычислительной мощности. Люди просто не могут обрабатывать данные на том же уровне. Так что, если ваша организация начинает свою собственную программу ИИ, ей следует быть готовой к тому, что сеть может замечать вещи, которые люди не способны воспринимать. Это может не быть проблемой для большинства компаний, но может стать настоящей проблемой для таких отраслей, как страхование и здравоохранение. Вы не хотите, чтобы эти системы принимали решения о здоровье и безопасности ваших клиентов, которые люди не могут понять. Искусственный интеллект не является тем же самым, что и человеческий интеллект, и даже если мы можем прийти к одним и тем же выводам, мы определенно не проходим через одинаковый процесс. Подумайте о типе данных, которые собирает ваша организация. Используют ли они данные для машинного обучения? Если да, то какие узоры идентифицирует машина и с какой целью?
Когда вы думаете о машинном обучении, главное — сосредоточиться на термине «обучение». Что значит для вашей машины учиться? Какие стратегии и методы они могут использовать, чтобы узнать что-то новое?
Представьте, что вы решили научиться готовить. Это можно сделать несколькими способами. Во-первых, вы можете записаться на кулинарные курсы, где профессиональный шеф-повар познакомит вас с базовыми приемами и ингредиентами. Он покажет, как правильно нарезать овощи, какие специи лучше всего сочетаются с разными блюдами и как контролировать температуру приготовления. Вы будете практиковаться под его наблюдением, получая обратную связь и корректируя свои ошибки под его руководством. Если же вы не имеете возможности посещать кулинарные курсы, вы всегда можете научиться готовить самостоятельно, используя доступные ресурсы, такие как кулинарные блоги, видеоуроки на YouTube или кулинарные книги. В этом случае, вы будете самостоятельно экспериментировать с разными рецептами, иногда сталкиваясь с неудачами, но постепенно находя свой стиль и понимая, как сочетаются разные вкусы и ингредиенты. Этот способ потребует много времени и терпения, но в конечном итоге вы сможете разработать собственное понимание кулинарии, даже если ранее не знали основ: как нарезать продукты, как долго варить суп. Эти два подхода к обучению кулинарии очень напоминают, как машины могут учиться с применением контролируемого обучения, когда им предоставляется конкретный набор данных и правил, и обучения без учителя, когда они самостоятельно ищут закономерности в данных.
Здесь специалист по данным действует как наставник для машины.
Как вы понимаете, эти два подхода имеют свои сильные и слабые стороны. Для контролируемого обучения кулинарии машине необходим знающий наставник. Должен быть кто-то, кто много знает о кулинарии и сможет показать системе, как придумать рецепт блюда. При обучении без учителя система должна иметь доступ к большому количеству данных. Это единственный способ увидеть закономерности.
Компании используют эти методы, чтобы получить ценную информацию о своих клиентах. Благодаря контролируемому обучению такая компания, как Amazon, могла бы выявить тысячу клиентов, которые проводят много времени за покупками на их веб-сайте. Затем компания может пометить этих клиентов как тех, кто тратит много денег. Затем система машинного обучения должна просмотреть клиентов, чтобы найти закономерности, которые заставляют их тратить много денег. Теперь для обучения без присмотра система машинного обучения может получить доступ ко всем данным о клиентах Amazon. Здесь система может найти в данных свои собственные закономерности. Возможно, тот, кто покупает шахматные доски, с гораздо большей вероятностью купит дорогую кухонную технику. Затем Amazon сможет использовать эти данные для рекламы. Если вы пользуетесь Amazon, вы, возможно, заметили, что иногда они рекламируют продукты, которые кажутся совершенно не связанными с тем, что вы ищете, но вы все равно заинтересованы в их покупке. Оба метода имеют свои сильные стороны, но каждый из них может дать вам невероятно полезную информацию.
Контролируемое обучение – это как учиться готовить с помощью кулинарной книги, где за каждым рецептом следует четкий список ингредиентов и пошаговая инструкция. Здесь всё как на ладони: если следовать рецепту, результат будет ожидаемо хорошим. В мире машинного обучения это значит, что у нас уже есть данные с правильными ответами (например, список ингредиентов и то, что должно получиться), и наша задача – научить алгоритм создавать что-то похожее на основе новых данных.
Пример: если у нас есть таблица с информацией о времени года и соответствующими продуктами, мы можем научить алгоритм предсказывать, какие продукты будут популярны в следующем сезоне.
Неконтролируемое обучение – это как попытаться научиться готовить, исследуя содержимое холодильника без каких-либо рецептов. Вы смотрите, какие продукты у вас есть, пробуете их сочетать разными способами, чтобы узнать, что в итоге получится. В машинном обучении алгоритм сам пытается найти закономерности и группы в данных, которые он никогда раньше не видел, без явных указаний на то, что именно искать.
Пример: представьте, что у нас есть огромное количество фотографий еды без меток. Алгоритм может самостоятельно группировать их по категориям (салаты, десерты, горячие блюда), даже не зная заранее этих категорий.
Обучение с подкреплением – это как учиться готовить методом проб и ошибок. Представьте, что вы впервые стоите у плиты: вы пробуете что-то приготовить, оцениваете результат (вкусно ли это или нет) и делаете выводы для следующих попыток. В машинном обучении алгоритму дают задачу (например, приготовить блюдо), а затем он пробует разные действия, получая награду за успех и учась на ошибках.
Пример: если мы создаем робота-повара, который учится готовить пиццу, он будет пробовать разные способы раскатывать тесто и распределять ингредиенты, чтобы каждый раз пицца получалась лучше, опираясь на обратную связь (например, на вкусовые качества или время приготовления).
1. Задача классификации
Классификация делит данные на категории на основе их признаков. Пример – спам-фильтры в электронной почте, которые классифицируют письма как "спам" или "не спам", исходя из текста письма, частоты определенных слов и других факторов.
Классифицировать данные
Если вы когда-либо работали менеджером по продукту или разработчиком программного обеспечения, то знаете, что приложениям нужны очень четкие инструкции. Каждый раз, когда вы открываете Microsoft Windows или приложение на своем iPhone, вы получаете выгоду от того, что программист кодирует ввод и вывод. Но мы видели, что этот тип программирования плохо работает с искусственным интеллектом. Слишком много комбинаций, чтобы связать каждый вход с выходом. В этих случаях вам нужна модель программирования, которая позволит машине обучаться. Вы также должны предоставить машине некоторую возможность реагировать на обратную связь. Представьте, что вы создаете программу, которая обнаруживает спам-сообщения. Эти сообщения наполнены нежелательной рекламой или вирусами. Вы можете легко запрограммировать словесный фильтр, который удаляет сообщения, содержащие распространенные спам-слова. Если вы часто получаете сообщения об участии в конкурсах, вы можете отфильтровать такие слова, как «золото», «лотерея» или «победитель». Итак, вы можете запрограммировать следующее: «Если сообщение содержит золото, считать его спамом». Но сложные задачи неэффективны, если вы ограничены запрограммированными инструкциями. Вот почему машинное обучение меняет ситуацию. Вместо ввода инструкций вы вводите данные. Вместо ответа программы вы позволяете машине учиться на шаблонах, которые она идентифицирует. Вы можете начать с контролируемого машинного обучения. Здесь вам необходимо разделить данные на обучающий набор и тестовый набор. Обучающие данные — это меньший фрагмент данных, который машина использует для обучения. Система будет использовать алгоритмы машинного обучения. Эти алгоритмы основаны на статистике. Позже вы увидите множество этих алгоритмов машинного обучения. Эти алгоритмы помогают машине находить связи внутри данных. Таким образом, машина использует алгоритм, согласно которому, если сообщение электронной почты содержит слово «счастливчик» или «поздравления», то вероятность того, что оно окажется спамом, на 50% выше. Затем, как только алгоритм станет достаточно точным, вы сможете использовать то, что узнает система, на более крупном наборе тестовых данных. Эти тестовые данные обычно во много раз превышают данные, которые машина использовала для обучения. Давайте подумаем о том, как машинное обучение может работать с нашей программой обнаружения спама. Мы выделим 10 000 сообщений электронной почты для нашей обучающей выборки. Мы будем использовать его для построения нашей модели. Эти обучающие данные содержат 9000 обычных сообщений и 1000 сообщений, помеченных как спам. Мы также выделим миллион сообщений для наших тестовых данных. Эти тестовые данные не помечены. Это означает, что в отличие от нашего обучающего набора никто правильно не пометил ни одно из сообщений как спам. Это была бы большая работа для миллиона сообщений. Ваши обучающие данные затем используются, чтобы позволить машине идентифицировать спам-сообщения. Затем, как только алгоритм машинного обучения приблизится к идентификации тысячи спам-сообщений, вы опробуете его на более крупном наборе тестовых данных. Как только вы будете удовлетворены, это будет ваша первоначальная модель данных. Теперь у этого алгоритма машинного обучения есть только два варианта. Это обычное сообщение или спам? Вот почему это называется задачей бинарной классификации. Вам нужно будет только классифицировать ваше сообщение электронной почты на одну или две группы. Это одно из наиболее распространенных применений машинного обучения. Главное, что следует помнить, это то, что алгоритмы машинного обучения используют статистику для поиска закономерностей в ваших данных. Как только ваша машина определит эти шаблоны, она сможет классифицировать ваши данные на основе полученных знаний.
3. Задача кластеризации
Кластеризация группирует объекты на основе сходства их характеристик. Пример – маркетинговые исследования, где потребителей можно группировать по интересам, покупательской способности и предпочтениям, чтобы разрабатывать целевые рекламные кампании.
Данные кластера
Классификация ваших данных решает не все задачи. Во-первых, система не всегда будет иметь доступ к огромным объемам размеченных данных. Поэтому иногда вам нужно, чтобы система создавала собственные кластеры данных. Кластеры — это когда машина использует обучение без учителя для создания собственных групп данных. Если вы когда-либо покупали что-то в Интернете, вы могли заметить, что в магазине есть что-то, что называется «часто покупаемые вместе». Возможно, вы покупаете компьютерную мышь, и вам рекомендуют клавиатуру. Это очень мощная функция, которая помогает клиентам найти то, что им нужно, и увеличивает продажи компании. Это пример системы, использующей обучение без учителя для создания кластеров на основе того, что она видит в вашей истории покупок. Большая разница между кластеризацией и классификацией заключается в том, работаете ли вы с категориями, созданными человеком, или с группами, созданными машиной. В общем, если вы используете обучение с учителем, вы классифицируете, а если вы используете обучение без учителя, вы кластеризуете. Подумайте об этом так. Каждый Хэллоуин мой сын ходит за сладостями. Это когда дети надевают костюмы и ходят по окрестностям за конфетами. В конце вечера мой сын приходит домой с сотнями маленьких конфет. Первое, что он хочет сделать, — это классифицировать конфеты по тому, какие конфеты ему нравятся больше всего. В прошлом мой сын извлек пользу из моего опыта. Я мог контролировать его обучение. Я могу помочь ему создать категории вывода для конфет, например шоколад, арахисовое масло, мятные конфеты и жевательные конфеты. Затем он изо всех сил пытается классифицировать некоторые неизвестные конфеты по этим категориям. Это было бы то же самое, что контролировать машинное обучение. Теперь у него также есть бабушка и дедушка, которые живут в другой стране. Они чувствуют себя плохо из-за того, что не могут участвовать в розыгрыше сладостей. Поэтому каждый год они присылают пакетик сербских конфет. С этой сумкой мы не можем использовать контролируемое обучение, потому что она не маркирована. Ни здесь, ни разу не видела конфет и обертки на кириллице. Итак, в данном случае он занимается обучением без присмотра. Он смотрит на сумку и создает свои кластеры. Он делает это на основе собственного исследования данных. Он может создать группу на основе размера или цвета конфет. Фактически, за год он создал кластер, о котором я никогда не думал. Это была небольшая гроздь, которую он назвал парфюмерной конфетой, сделанная из роз и цветов апельсина. Это ключевая часть обучения без учителя. Как и мой сын, машина изучает данные, а затем создает свои собственные кластеры. Одним из самых больших преимуществ кластеризации является то, что имеется гораздо больше немаркированных данных. В мире много конфет, которых я никогда не видел. Поэтому я не смогу создавать эти выходные категории. Существует также множество способов использования машинного обучения для создания кластеров. Возможно, вы захотите, чтобы ваши алгоритмы машинного обучения группировали ваших клиентов. Тогда человек может пройти и посмотреть, есть ли какие-то закономерности. На первый взгляд эти кластеры могут показаться неважными. Они могут даже показаться тривиальными, но имейте в виду, что некоторые крупнейшие компании построены на создании кластеров данных. Такие компании, как Amazon, Netflix и Twitter, используют машинное обучение для кластеризации ваших друзей, истории поиска и покупательских привычек. Эти системы видят закономерности, которые человек не может создать.
3. Задача регрессии
Регрессионный анализ помогает предсказывать вещественные числа, основываясь на предыдущих наблюдениях. Пример из жизни – оценка стоимости недвижимости. Используя исторические данные о продажах квартир с указанием их характеристик (площадь, район, наличие лифта и т. д.), мы можем обучить модель предсказывать стоимость любой квартиры, учитывая ее параметры.
Регрессии
Когда-то я работал в компании, которая продавала автомобили через Интернет. Каждый раз, когда они отправляли клиента в автосалон, компания получала вознаграждение за рекомендации. Для них главное было следить за тенденциями продаж автомобилей. Весной и летом люди гораздо чаще покупали кабриолеты и спортивные автомобили. Остальные чаще покупали грузовики и внедорожники осенью и зимой. Поэтому, когда клиенты посещали сайт, у них проводились сезонные акции на то, что люди хотели купить. Одним из инструментов, которые они использовали, был регрессионный анализ. Регрессионный анализ — это контролируемый алгоритм машинного обучения. Он рассматривает взаимосвязь между предикторами и результатом. Иногда вы слышите, как предикторы называются входными переменными, независимыми переменными или даже регрессорами. Регрессионный анализ — это контролируемый алгоритм машинного обучения. Вы берете данные обучения и помечаете правильный результат. Затем вы используете помеченные данные с тестовыми данными. Лучший способ думать о регрессии — это представить тенденции. Поскольку погода становится теплее, люди чаще покупают кабриолеты. Когда погода становится прохладнее, люди чаще покупают грузовики и внедорожники. Регрессионный анализ не говорит вам, почему люди делают эти вещи. Это предстоит выяснить ученым, работающим с данными, и бизнес-аналитикам. Это просто говорит вам, что такие вещи происходят. Алгоритмы регрессии машинного обучения работают аналогичным образом. Получив данные обучения, вы делаете прогноз, а затем смотрите, насколько вы близки к результату. Затем вы повторяете снова и снова, пока система не сделает наиболее точный прогноз. В этом случае команда по обработке данных посчитала, что смена времен года станет отличным предиктором продаж некоторых автомобилей. Поэтому они использовали месяцы в качестве предсказателя. Затем они сопоставили это с продажами определенных автомобилей. Используя эти обучающие данные, они создали простую диаграмму по осям X и Y. Помните, что это простая диаграмма, которую вы выучили из геометрии. По оси Y, или нижней, перечислялись названия месяцев, а по оси X, или верхней, — продажи по типам транспортных средств. Затем они посмотрели на линию тренда. Продажи кабриолетов и спортивных автомобилей вырастут в мае, июне и июле. Затем эти продажи снизятся в сентябре, октябре и ноябре. С грузовиками и внедорожниками все было наоборот. Чем больше данных у вас есть, тем легче построить точную линию тренда. Как вы понимаете, регрессия может иметь огромное значение для организаций. Вы можете сделать продукт доступным только тогда, когда клиент заинтересован в покупке. Вот почему крупные ритейлеры, такие как Walmart, как известно, заполняют свои полки товарами, как раз в тот момент, когда у их покупателей меняются вкусы. Летом люди покупают больше поп-тартов, а зимой — больше молока и сыра. Они хотят быть уверены, что полки заполнены этими товарами на основе прогнозируемых тенденций покупок. Одна интересная особенность регрессионного анализа заключается в том, что возникает вопрос, является ли он настоящим машинным обучением. Это имеет смысл, поскольку система не изучает ничего нового. Речь идет не столько об обучении, сколько о прогнозировании. В любом случае, регрессия — очень популярный способ прогнозирования будущего поведения компаний. И эти тенденции повсюду. Если вам их не хватает, вы не учитесь у них. Поэтому найдите время и подумайте, где регрессионный анализ может выявить тенденции в вашем бизнесе. То, что вы узнаете, может вас удивить.
4. Задача уменьшения размерности
Эта задача связана с упрощением данных, сохраняя при этом как можно больше полезной информации. Пример – сжатие изображений, где изображение с высоким разрешением преобразуется в файл меньшего размера, удобный для хранения и передачи, при этом минимально теряя в качестве.
5. Задача выявления аномалий
Выявление аномалий помогает обнаруживать редкие события или объекты, которые отклоняются от нормы. Пример – мониторинг транзакций по кредитным картам на предмет обнаружения мошенничества. Системы могут автоматически выявлять подозрительные операции, значительно отличающиеся от типичного поведения пользователя, и блокировать их до подтверждения владельцем карты.
Обучение с подкреплением.
Онлайн-музыка приближается к индустрии стоимостью 30 миллиардов долларов. И если вдуматься, это какое-то странное дело. Часто вы можете купить одни и те же песни в Apple Music, Spotify или Tidal. Так почему же вам стоит подписаться на одну услугу, а не на другую? Для большинства людей это связано с мощью их системы рекомендаций. Многие из этих систем начинались с использования неконтролируемого машинного обучения. Они рекомендовали песни так же, как интернет-магазины говорили, что вещи часто покупаются вместе. Но лучшие музыкальные библиотеки не просто хотят, чтобы вы покупали что-то вместе, многие из них хотят, чтобы вы открыли для себя что-то новое. Для этого вам придется использовать другую форму машинного обучения. Этот метод машинного обучения называется обучением с подкреплением. Это алгоритмы машинного обучения, которые используют вознаграждение как способ стимулировать систему к поиску новых закономерностей. Несколько лет назад Google использовала обучение с подкреплением, чтобы научить системы искусственного интеллекта играть в видеоигры. Их системы искусственного интеллекта превосходят опытных игроков в Pong, Atari и даже в более современных видеоиграх. Но обучение с подкреплением может сделать гораздо больше, чем просто играть в видеоигры. Эти системы могут со временем совершенствоваться, устанавливая ряд целей и вознаграждений. Подумайте об этом так: Spotify Discover Weekly сравнивает ваши любимые песни с множеством похожих песен. Алгоритм машинного обучения отслеживает каждый раз, когда вы нажимаете и воспроизводите песню. Он также отслеживает, как долго вы слушаете. Исследователи данных разработали алгоритмы так, что каждый раз, когда вы нажимаете на соответствующую песню, она получает небольшое цифровое вознаграждение. Это почти как деньги для системы машинного обучения. Он получает эту наградную монету, когда вы нажимаете на рекомендованную песню. Затем, чем дольше вы слушаете, тем больше увеличивается вознаграждение, поэтому за каждую минуту прослушивания песни вы получаете наградную монету. Эти алгоритмы часто используют так называемое Q-Learning. Этот тип обучения с подкреплением помогает создавать более сложные вознаграждения. В Q-Learning существуют заданные среды или состояния, а также возможные действия, которые могут реагировать на состояния. В Q Learning вы хотите, чтобы машина улучшала качество результата, который обозначается буквой Q. В этом случае вы начнете с нулевого Q. Затем вы бы заставили машину обучиться действиям, улучшающим ее состояние. Состояние Q повышалось каждый раз, когда вы нажимали на песню. Вы можете думать о Q-Learning как о банковском счете системы. Он может заработать кучу монет, а затем увидеть, как баланс растет. После настройки системы вознаграждений она будет искать закономерности, позволяющие увеличить свой банковский счет в Q-Learning. Поэтому, если он увидит закономерность, когда люди, которым нравится одна песня, могут слушать другую, он воспользуется этим и обязательно разместит эту песню в вашем Discover Weekly. Системы обучения с подкреплением работают лучше всего, когда ваша организация хочет делать больше, чем просто группировать элементы, которые часто покупаются вместе. С помощью обучения с подкреплением ваша организация может создать систему, которая творчески думает о том, что может обнаружить ваш клиент.
Общие алгоритмы.
Машинное обучение — одна из самых популярных областей искусственного интеллекта. Частично это связано с резким ростом объема данных, но также и с огромным прогрессом в алгоритмах машинного обучения. Машинное обучение само по себе — это всего лишь набор методов. Это способ создания систем, которые обучаются на основе данных. Они выходят за рамки ранних систем искусственного интеллекта, которые нужно было явно программировать. Но не существует такой большой программы машинного обучения, как Microsoft Office. Вместо этого у вас есть много разных алгоритмов машинного обучения. Большинство этих алгоритмов заимствовано из статистики. Главное, что следует помнить: каждый из этих алгоритмов подобен кухонному инструменту шеф-повара. Ложки используются для перемешивания, а ножи — для нарезки, но иногда повара могут найти новое творческое применение этому инструменту. Некоторые повара раздавливают зубчик чеснока боковой стороной ножа или перекручивают спагетти ложкой. Однажды я работал в компании, которая использовала данные кредитных карт, чтобы проводить рекламные акции для клиентов. Они начали использовать контролируемое машинное обучение, чтобы разделить клиентов на две разные группы. Помните, это называется бинарной классификацией. Первая группа клиентов пользовалась рекламными акциями, а вторая группа ими никогда не пользовалась. Затем они использовали алгоритмы машинного обучения для обучения системы этой двоичной классификации. Разделив своих клиентов на эти две группы, они применили машинное обучение без присмотра. Они хотели посмотреть, смогут ли они узнать что-нибудь о своих клиентах, которые использовали рекламные акции, чтобы позволить машине создавать кластеры этих конкретных клиентов. Помните, что машинное обучение без учителя позволяет системе создавать собственные кластеры на основе закономерностей, которые она видит в данных. Точно так же мой сын нашел гроздья в неизвестных конфетах. Они обнаружили, что в этой группе, которая использовала рекламные акции, была еще меньшая группа клиентов, которые всегда использовали рекламные акции. Они назвали их промо-суперпользователями. Поскольку этой компании платили в зависимости от успеха ее рекламных акций, было интересно узнать об этой группе. Они обнаружили, что эта группа использовала рекламу продуктов, услуг и ресторанов. Этим клиентам просто нравится экономить деньги, поэтому компания изменила алгоритм, чтобы предлагать больше рекламных акций этим суперпользователям. Это небольшое изменение помогло повысить общий показатель успеха. Эта организация использовала как контролируемое, так и неконтролируемое машинное обучение, поэтому у вас будут некоторые алгоритмы, которые лучше всего работают с контролируемой классификацией, и другие алгоритмы, которые лучше всего работают с неконтролируемой кластеризацией. Вот почему важно ознакомиться с некоторыми доступными алгоритмами машинного обучения. У каждого есть свои сильные и слабые стороны. Некоторые требуют больше вычислительной мощности, другие легче и менее точны. Каждый алгоритм в основном используется для обучения с учителем или без него, но существуют алгоритмы, которые можно использовать и для того, и для другого. Как и у любого хорошего шеф-повара, настоящее творчество – это не инструменты и ингредиенты. Ваша команда по анализу данных может захотеть смешать и сопоставить эти алгоритмы, чтобы получить максимальную пользу от ваших данных. Эти алгоритмы машинного обучения доступны в большинстве наборов программного обеспечения для машинного обучения, поэтому именно здесь ваша команда по обработке данных может применить свои навыки и творческий подход.
kNN расшифровывается как k Nearest Neighbor или k Ближайших Соседей — это один из самых простых алгоритмов классификации, также иногда используемый в задачах регрессии.
K-ближайший сосед.
В машинном обучении один из лучших способов узнать больше о ваших данных — это классифицировать их с тем, что вы уже знаете. Подумайте об этом так. Когда я был моложе, я работал в приюте для животных в Чикаго. Одной из самых сложных работ была классификация породы поступающих собак. Существуют сотни различных пород собак, и большинство собак смешанные. Каждый раз, когда у нас появлялась новая собака, мы предлагали ее тем собакам, породу которых мы уже знали. Затем мы рассмотрим некоторые особенности. Возможно, дело было в форме лица или цвете волос. В каком-то смысле приют классифицировал неизвестную собаку, глядя на ее ближайшего соседа. Конечно, непросто определить, была ли это собака бостон-терьером или французским бульдогом. Чем ближе совпадение, тем больше вероятность, что оно будет засекречено. Другой взгляд на это: мы пытались свести к минимуму расстояние между неизвестной собакой и известными породами. Если характеристики близко совпадали, то между неизвестной собакой и ее ближайшим соседом было небольшое расстояние. Очень распространенный алгоритм контролируемого машинного обучения для многоклассовой классификации называется K ближайшего соседа. Алгоритм отображает новые данные и сравнивает их с уже имеющимися данными. Мультиклассовая классификация отличается от бинарной классификации, поскольку существует более двух пород собак. Минимизация расстояния является ключевой частью определения ближайшего соседа K. Чем ближе вы находитесь к своим ближайшим соседям, тем больше вероятность того, что вы будете точны. Самый распространенный способ сделать это — использовать так называемое евклидово расстояние. Это математическая формула, которая помогает увидеть расстояние между точками данных. Теперь представьте, что у вас миллионы собак, и вы хотите классифицировать их по породе. Для начала вы можете создать две ключевые функции. Это поможет вам классифицировать собак одной породы. Их часто называют классификационными предикторами. Итак, давайте оценим их вес и длину волос. Затем мы возьмем эти две функции и поместим их на диаграмму оси XY. Это та же самая диаграмма, которую вы использовали на уроке геометрии в школе. Давайте отложим длину их волос по оси Y, а вес — по оси X. Теперь возьмите 1000 помеченных собак для обучающего набора. Это будет похоже на собак из приюта, породу которых мы уже знали. Мы поместим их на график в зависимости от их веса и длины волос. Теперь возьмем нашу неизвестную собаку и нанесем ее на карту. Вы можете видеть, что он не связан с другой собакой, но у него есть куча соседей. Допустим, мы используем К, равную пяти. Это означает, что нам нужно обвести кружком нашу неклассифицированную собаку и пять ее ближайших соседей. Мы увидим, что если расстояние до других собак будет короче, мы получим гораздо более точную классификацию. Теперь давайте посмотрим на пятерых ближайших соседей. Вы увидите, что трое из них — пастухи, а двое — лайки. Вы можете с некоторой уверенностью отнести свою неизвестную собаку к овчарке. Также есть реальная вероятность, что это хаски. K ближайшего соседа — очень распространенный и мощный алгоритм машинного обучения. Это потому, что вы можете делать больше, чем просто классифицировать собак. Фактически, его обычно используют в финансах для поиска лучших акций и даже для прогнозирования будущих результатов.
Наивный Байес
Байесовский классификатор
Что это. Как следует из названия, этот алгоритм определяет класс, к которому принадлежит объект. В основе механизмов классификации — расчет вероятности, с которой объект относится к тому или иному типу данных. Этот метод пришел к нам из мира статистики.
Где применять. В задачах классификации, конечно же. Например, классическая задача — сказать, относится ли письмо к спаму или нет.
Плюсы. Простота реализации.
Минусы. Вероятностный подход с трудом справляется с классификацией сложных объектов.
Мы видели, что иногда вы можете классифицировать элементы по ближайшему соседу. Вы также можете классифицировать на основе тенденций в данных. Но иногда требуется классифицировать элементы на основе множества признаков данных. Для этого вы можете использовать что-то под названием «Наивный Байес». Наивный Байес — один из самых популярных алгоритмов машинного обучения. Это наивно, поскольку предполагает, что все предикторы независимы друг от друга. Итак, вернемся в наш приют для животных. Представьте, что мы хотим классифицировать всех собак по их породам. Давайте посмотрим на проблему, используя алгоритм машинного обучения Наивного Байеса. Для начала давайте создадим три класса пород собак. Мы будем использовать терьеров, гончих и спортивных собак. Теперь для каждого из этих классов мы будем использовать три функции в качестве предикторов. Давайте использовать длину волос, рост и вес. Помните, что некоторые из этих предикторов будут тесно автокоррелированы. Высокая собака, скорее всего, будет весить больше. Но наивный Байес рассматривает каждый из этих предикторов независимо. Помните, именно поэтому это называется наивным. После того, как вы настроите классы и предикторы, наивный Байес выполнит то, что называется вероятностью предиктора класса. Это когда он смотрит на каждый из предикторов и создает вероятность того, что собака принадлежит к этому классу. Итак, давайте посмотрим, что произойдет, когда мы попытаемся идентифицировать неизвестную собаку. Первый предиктор, на который мы обращаем внимание, — это длина волос. Алгоритм машинного обучения проверяет вероятность принадлежности собаки с такой длиной шерсти к трем породам. Выяснилось, что собака с такой длиной шерсти с вероятностью 40% будет терьером, с вероятностью 10% будет гончей и с вероятностью 50% будет спортивной собакой. Следующее, что вы проверяете, это рост неизвестной собаки. Он смотрит на этот предиктор независимо и пытается вычислить вероятность предиктора класса. Итак, он просматривает данные обучения и обнаруживает, что существует 20%-ная вероятность того, что это терьер, 10%-ная вероятность того, что это гончая, и 70%-ная вероятность того, что это спортивная собака. Последнее, что вам нужно проверить, — это вес неизвестной собаки. Это может показаться странным предиктором, поскольку оно тесно связано с ростом. Но помните, что наивный Байес оценивает вероятность каждого предиктора независимо. Он просматривает данные обучения и обнаруживает, что существует 10%-ная вероятность того, что это терьер, 5%-ная вероятность того, что это гончая, и 85%-ная вероятность того, что это спортивная собака. Итак, теперь у вас есть таблица с вероятностью предсказателя класса неизвестной собаки. Если вы посмотрите на нее, то увидите, что это, вероятно, спортивная собака. Как вы понимаете, организации могут использовать метод Наивного Байеса не только для классификации пород собак. Банки используют его для проверки на мошенничество. Они рассматривают каждый банковский прогноз независимо, а затем измеряют вероятность того, что это мошенничество. Затем они используют вероятность предиктора класса для классификации транзакции. Фирмы, занимающиеся кибербезопасностью, также используют метод Наивного Байеса для поиска угроз ценным бумагам. Он рассматривает каждый предиктор угроз независимо, а затем помечает элементы для проверки безопасности. Ключевым моментом является то, что, поскольку наивный Байес делает так мало предположений, он может анализировать огромное количество предикторов. Часто эти дополнительные предикторы делают классификацию данных намного более точной.
Выберите лучший алгоритм
Итак, вы увидели три примера контролируемых алгоритмов машинного обучения. Был K ближайший сосед, регрессионный анализ и наивный байес. Они чаще всего используются для классификации, а затем появилась кластеризация K, которая используется для обучения и кластеризации без учителя. Помните, что каждый из них похож на кухонный инструмент. Эти инструменты предназначены для чего-то конкретного, но вы все равно можете проявлять творческий подход к их использованию. Точно так же вы можете использовать вилку, чтобы взбить яйца, или нож, чтобы удалить косточки из авокадо. Но, как знает любой хороший повар, никогда не подаришь одно блюдо. Вместо этого о вас судят по всей еде. Вот почему команды специалистов по обработке данных очень часто занимаются так называемым ансамблевым моделированием. Если вы актер или меломан, то наверняка слышали термин «ансамбль». Это когда группа выступает вместе. То же самое и с алгоритмами машинного обучения. Существует несколько способов создания ансамблей. Самым популярным является упаковка и штабелирование. Бэггинг — это когда вы используете несколько версий одного и того же алгоритма машинного обучения. Стекинг — это когда вы используете несколько разных алгоритмов машинного обучения, а затем накладываете их друг на друга. Раньше я работал в крупном магазине товаров для дома. Одна из их проблем заключалась в том, какие товары они кладут рядом с кассой? Вы будете удивлены, сколько зарабатывают ритейлеры, продавая что-то всего за несколько минут до оформления заказа. Это была большая задача, и они хотели создать ансамбль алгоритмов машинного обучения. Они обсуждали, какой ансамбль может привести к лучшим результатам. Они могли бы использовать пакетирование, чтобы опробовать разные результаты одного и того же алгоритма. Тогда они посмотрят, смогут ли они улучшить свою точность. Это была национальная розничная сеть, поэтому они могли получать данные обучения из магазинов по всей стране. Таким образом, они могли получить образцы данных из случайных хранилищ, а затем использовать K ближайшего соседа, чтобы классифицировать эти наборы данных отдельно. Затем они объединяли эти результаты, чтобы посмотреть, смогут ли они выявить более широкую тенденцию. Они собирали информацию о том, что люди покупали непосредственно перед осмотром. В каком-то смысле они усредняли полученные данные, чтобы посмотреть, смогут ли они получить более точный результат. Ритейлер также может попробовать повысить цену. Здесь вместо усреднения результатов они будут повышать результаты шаг за шагом, чтобы ритейлер мог взять обучающий набор своих самых популярных товаров. Допустим, их самым продаваемым товаром был молоток. Затем они могли бы использовать ближайшего соседа K, чтобы посмотреть, что часто покупают с помощью молотка. Скажем так, это были гвозди и пояс для инструментов. Большинство из нас интуитивно знают, что если кто-то покупает молоток, он с большей вероятностью купит гвозди. Но это может нам не помочь, если мы захотим поставить что-нибудь возле кассы. Для этого мы могли бы использовать что-то вроде наивного Байеса. Помните, что наивный метод Байеса наивен, потому что он не предполагает, что предикторы коррелируют. Поэтому мы не предполагаем, что если вы покупаете молоток, вам понадобятся гвозди. Вместо этого он будет прогнозировать другие предметы, которые популярны, но могут показаться не связанными между собой. Возможно, люди, покупающие молотки, с большей вероятностью покупают шоколадные батончики. Смешение и сопоставление ваших алгоритмов машинного обучения даст вам разную информацию с разными результатами. Как и в любом хорошем ансамбле, точность прогнозов будет зависеть от креативности вашей команды по анализу данных.
Следуйте данным.
В старом фильме «Все люди президента» главный информатор о скандале с Никсоном встретился на парковке и сказал: «Следуйте за деньгами». Только проследив за деньгами, репортер смог узнать правду. Как и репортер, алгоритмы машинного обучения должны следовать данным, чтобы докопаться до истины, но это легче сказать, чем сделать. Фактически, одна из самых больших проблем в машинном обучении — это баланс между предвзятостью и дисперсией. Смещение — это разрыв между прогнозируемым значением и фактическим результатом. Допустим, вы играли в кости и предсказали, что выкинете пять, три раза, но вы выкинули четыре или три раза. Тогда ваш прогноз будет иметь высокую погрешность. Каждый раз ты отставал на единицу. Дисперсия — это когда прогнозируемые значения разбросаны повсюду. Итак, если вы играете в кости и предсказали, что выкинете пять, три раза, но на самом деле вы выкинули два, четыре и шесть, то ваша ошибка будет разной. Тогда ваши данные будут слишком разбросаны. Может показаться странным, что так много внимания уделяется ошибкам системы, но когда вы работаете с алгоритмами машинного обучения, это две отдельные проблемы, поэтому система должна исправлять их разными способами. Подумайте об игре в дартс. Центр доски для дартса — лучший прогноз машины. Это означает, что маленькое красное яблочко посередине — правильный прогноз. Машина могла бросить три дротика, и каждый из них всегда был ошибочным. Все они приземлятся в верхнем правом углу, прямо над красным яблочком. Это называется наличием высокого смещения и низкой дисперсии. Дротики сгруппированы близко друг к другу, но все они расположены слишком далеко вправо. Набор данных будет иметь высокую погрешность. Это означает, что для более точного прогноза машине нужно просто потянуть группу дротиков вниз и влево. Теперь представьте себе другую задачу. Машина бросает дротики в дартс, и они разбросаны повсюду. Это означает, что данные имеют широкий разброс, поэтому эти данные будут иметь высокую дисперсию. Чтобы сделать более точный прогноз, машина хотела бы подтянуть дротики, ближайшие к яблочку. В идеале вы хотите, чтобы прогнозы имели низкую погрешность и низкую дисперсию. Это означает, что все дротики попали в яблочко. Но в большинстве случаев машине придется фиксировать либо высокую погрешность, либо высокую дисперсию. В машинном обучении это настолько распространенная проблема, что ее называют компромиссом смещения и дисперсии. Как и любой компромисс, это означает, что если система пытается сбалансировать влияние одного, она должна учитывать влияние другого. Таким образом, если машина уменьшает разброс дисперсии, ей также придется увеличить смещение. Если машина увеличивает смещение, она увеличивает разброс дисперсии. Вот почему машина должна следовать данным. Машина будет поворачивать каждую из этих ручек, чтобы найти лучший компромисс между предвзятостью и дисперсией. Таким образом, он может сосредоточиться на лучших прогнозах.
Переоснащение и недооснащение.
Когда моему сыну было три года, мы сказали ему, что ему нужно почистить зубы, воспользоваться ниткой и принять душ перед сном. Однажды мне позвонили из его детского сада и сказали, что он не будет вздремнуть, пока ему не предоставят душ, зубную щетку и нить. Я объяснил ему, что можно вздремнуть, не соблюдая этих правил. Он выглядел раздраженным, но согласился. Правила, которые мы для него создали, были слишком простыми. Они хорошо работали дома, но плохо вписывались во внешний мир, поэтому мы добавили большую сложность. Ему не нужно было соблюдать правила сна в дошкольном возрасте, в гостях у бабушки и дедушки или во время полета на самолете. Каждый раз, когда мы добавляли больше переменных, его все больше раздражала сложность. При контролируемом машинном обучении ваша система искусственного интеллекта может столкнуться с той же проблемой. Система может создавать простые правила для своих обучающих данных, которые не работают хорошо при просмотре более крупных тестовых данных. Это было похоже на то, через что прошел мой сын. То, что хорошо работает дома, не работает во внешнем мире. Эта проблема называется недостаточным подбором данных. Иногда ученые, работающие с данными, добавляют больше сложности, и тогда эта сложность усложняет работу системы. Это было похоже на все переменные, которые мы добавили в простое правило моего сына. Это называется переобучением данных. Представьте, что вы работаете на таком веб-сайте, как Zillow, который находит покупателей и продавцов домов. Одна из ключевых вещей, которую вам нужно сделать, это оценить стоимость дома. Ваша машина может использовать метод Наивного Байеса для создания четырех предикторов: площади в квадратных метрах, местоположения, количества ванных комнат и количества спален. Таким образом, он мог бы рассматривать каждый предиктор независимо, а затем сравнивать его с недавно проданными домами. Тогда система выдаст точную оценку. Теперь имейте в виду, что вы используете только четыре предиктора, чтобы обучить свою систему методам оценки. Итак, машина учится на простом правиле. Это то же самое, что простое правило: всегда принимать душ и чистить зубы перед сном. Так что очень велика вероятность, что это правило не будет соответствовать данным. Это не сработает, если вы посмотрите на сотни тысяч домов. Кроме того, данные о жилье обычно сильно разнятся. Помните, что именно тогда ваши данные распределены. Существует множество домов с разной ценой, одинаковой площади, одинакового местоположения и одинакового количества ванных комнат. Это затрудняет поиск близкой группы. Чтобы исправить это, ученые, работающие с данными, могут создать новые предикторы. Возможно, они создадут прогнозы качества изображения, современной техники, деревянных полов или пешеходной доступности. Это создает гораздо более сложный прогноз, потому что теперь вашей машине нужно сбалансировать гораздо больше предикторов. Итак, ваше правило — переобучение данных. Чтобы сделать точный прогноз, системе необходимо изучить гораздо больше взаимосвязей между этими предикторами. Главное, о чем следует помнить: на самом деле не существует единственного способа решить эту проблему. Когда вы обучаете систему, вам необходимо найти компромисс между простыми правилами и приданием им достаточной сложности, чтобы делать хорошие прогнозы. Вам необходимо сбалансировать неподходящие или переподходящие данные.
Искусственная нейронная сеть
— это система искусственного интеллекта, имитирующая структуру человеческого мозга, и на данный момент это один из самых популярных подходов к обучению машин. Подумайте об этом так. Когда я был ребенком, мы играли в игру, называемую "животное, растение или минерал". Смысл игры был прост: кто-то думал об предмете, а все остальные дети задавали вопросы о том, что это за предмет. Мы задавали вопросы типа: "У него есть шерсть? Оно больше дома?" Затем, в другом раунде, мы спрашивали, живое ли это, издает ли звуки? После каждого раунда мы начинали приближаться к идентификации предмета. В конце концов, мы начинали делать предположения: "Это лошадь? Это кот? Это собака?" Искусственная нейронная сеть использует очень похожий подход, за исключением того, что вместо задавания вопросов, нейронная сеть использует сотни или даже миллионы числовых регуляторов. К тому же, сеть делает гораздо более конкретные предположения. Она может сказать, что с 64% вероятностью это кот или с 32% вероятностью это собака. Чтобы построить сеть, существует ряд нейронов слева, называемый входным слоем. Затем есть ряд нейронов справа, называемый выходным слоем. Все нейроны между ними называются скрытыми слоями. Они скрыты, потому что не являются ни входом, ни выходом. Для начала мы подаем на входной слой сети изображение собаки. Мы знаем, что это изображение собаки, потому что мы его пометили, но нейронная сеть не смотрит на эти метки, пока не сделает предположение. Как в игре "животное, растение или минерал". Затем сеть анализирует каждую точку на изображении по мере его прохождения через скрытые слои. Потом она делает предположение на выходном слое. Допустим, при первой попытке она говорит, что с 10% вероятностью на изображении содержится собака. Затем сеть сравнивает свое предположение с меткой на изображении. Это называется обучением нейронной сети. После этого сеть идет назад и корректирует регуляторы нейронов так, чтобы они могли видеть узоры на фотографиях собак. Затем она берет другое изображение собаки и проверяет, стала ли она ближе. Нейронная сеть настраивается сама, анализируя сотни тысяч изображений собак. Затем она корректирует свои регуляторы до тех пор, пока не начнет последовательно правильно угадывать. Важно помнить, что нейронная сеть не видит собаку так, как видите ее вы. Она не думает о дыхании, лае или шерсти. Вместо этого система видит собаку как узнаваемый узор точек на изображении. Когда точки формируют узор, похожий на собаку, система делает предположение. Теперь помните, что эти нейронные сети все еще являются системами машинного обучения, поэтому сети нужен доступ к огромным объемам данных. Если у вас нет сотен тысяч изображений собак, то искусственной нейронной сети не научиться. В итоге, ключевое преимущество искусственной нейронной сети заключается в том, что она может самостоятельно обучаться пониманию узоров и распознавать эти входные данные при анализе огромных объемов данных.
Создайте нейронную сеть.
Алгоритмы машинного обучения видят закономерности в ваших данных, но иногда у вас просто слишком много данных, чтобы использовать эти алгоритмы. Поэтому многие крупные организации вместо этого используют искусственные нейронные сети. Искусственные нейронные сети — это тип машинного обучения, который использует структуру, подобную человеческому мозгу, для разделения огромных наборов данных. Вместо использования предыдущих алгоритмов машинного обучения искусственная нейронная сеть разбивает ваши данные на гораздо более мелкие части. Ранее мы говорили об искусственных нейронных сетях как о методе машинного обучения, имитирующем работу мозга. Сеть структурирована нейронами, которые организованы в слои. Слои перемещаются слева направо. Есть входной слой, скрытые слои и выходной слой. Если сеть имеет много скрытых слоев, то она называется искусственной нейронной сетью глубокого обучения. Это потому, что сеть имеет много уровней. Чем больше скрытых слоев имеет сеть, тем легче ей будет идентифицировать очень сложные закономерности. Итак, давайте представим, что мы создаем искусственную нейронную сеть, чтобы определить, есть ли на изображении собака. Думайте об этом как о бинарной классификации: собака или не собака. Для этого изображение входного слоя на собаку или не собаку необходимо классифицировать. У вас есть изображение, поступающее на входной слой, а на выходе будет классификация на собаку или не собаку. Мы уже видели, что для машины изображение — это просто набор различных битов данных. Итак, в этом случае у вас будет куча пикселей. Это крошечные точки цвета на изображении и различные уровни яркости или контрастности. Давайте возьмем изображение собаки и разобьем его на пиксели. Допустим, ваше изображение имеет высоту 25 пикселей и ширину 25 пикселей. Таким образом, все ваше изображение содержит 625 пикселей. Это означает, что каждое изображение имеет 625 точек данных. Допустим, мы берем эти 625 пикселей и загружаем их в нейронную сеть. Каждый пиксель подается во входной слой. Каждый из 625 нейронов входного слоя имеет номер, основанный на цвете пикселя. Каждый из нейронов скрытого слоя имеет так называемую функцию активации. Функция активации подобна крошечному шлюзу. Это позволяет нейрону решить, хочет ли он отправить данные на следующий скрытый уровень сети. Каждый скрытый слой передает пиксельные данные следующему скрытому слою. Затем, в самом конце, в выходном слое будут два узла. Помните, это задача бинарной классификации, поэтому есть только два варианта: есть собака или нет? Поскольку данные пикселей перемещаются по слоям слева направо, это называется нейронной сетью прямого распространения. Одной из сильных сторон искусственных нейронных сетей является то, что они самонастраиваются. Они почти как музыкальный инструмент, который настраивает себя до тех пор, пока не получит идеальную ноту. Таким образом, каждый из двух нейронов выходного слоя будет иметь оценку вероятности. Главное, что следует помнить, — это то, что искусственная нейронная сеть чаще всего используется для контролируемого обучения. Вы можете обучить сеть, а затем она настроится сама в зависимости от того, правильно ли она определила ваши входные данные.
Взвешивание связей.
Мы, люди, постоянно добавляем веса к нашим данным. Мы изучаем особенности данных, чтобы лучше прогнозировать результаты. Допустим, вы смотрите на фотографию красивого открытого пространства, покрытого травой. Затем вы видите на фотографии небольшой размытый объект. Как вы думаете, какова вероятность того, что этот размытый объект — собака? Теперь представьте, что вы смотрите на изображение сухой пустыни. На этом изображении также есть немного размытый объект. Как вы думаете, какова вероятность того, что этот объект — собака? Если вы похожи на большинство людей, вы бы предположили, что собака с гораздо большей вероятностью окажется в травянистом поле, поэтому ваши человеческие нейронные связи добавили положительный вес травянистому полю и отрицательный вес засушливой пустыне. Искусственные нейронные сети делают то же самое. Как и нам, этим сетям приходится работать в мире вероятностей. Вполне возможно, что посреди пустыни живет собака, но если вы искусственный нейрон, вы будете очень скептически относиться к активации. Искусственная нейронная сеть структурирована таким образом, чтобы лучше настраиваться на понимание ваших данных. Это почти как самонастраивающийся музыкальный инструмент. Чтобы настроить такой инструмент, как гитара, вам нужно вращать ручки, когда вы играете ноту. В искусственных нейронных сетях эти ручки меняют вес связей между нейронами. Искусственная нейронная сеть добавляет веса связям между нейронами на каждом уровне. Каждый нейрон скрытого слоя передает информацию всем остальным нейронам следующего слоя. Таким образом, если в каждом скрытом слое имеется 100 нейронов, каждый нейрон в этом слое будет иметь 100 выходных связей. Это много возможностей подключения. Но что действительно важно, так это то, что каждая из этих связей будет иметь вес. Вот почему, если вы когда-нибудь видели эскиз нейронной сети, вы увидите, что на каждой из линий соединения есть буква W с номером. В этом случае у вас будут W1, W2, W3, вплоть до W100. Вы увидите это для каждого скрытого слоя. Теперь веса в каждом из этих соединений являются ключевой частью того, как искусственная нейронная сеть настраивается. Имейте в виду, что искусственная нейронная сеть — это всего лишь форма контролируемого машинного обучения. Итак, специалисты по данным используют ту же технику, которую они использовали для обучения сети. Помните, что контролируемое машинное обучение начинается с обучающего набора. Затем, как только алгоритм будет настроен на точные прогнозы, вы сможете перейти к более крупному набору тестовых данных. То же самое происходит и с вашей искусственной нейронной сетью. Когда вы впервые инициализируете свою нейронную сеть, системы случайным образом присваивают числа этим тысячам весов. Затем вы передаете свои тренировочные данные в сеть и позволяете системе корректировать веса в зависимости от того, получаете ли вы правильные результаты. Сеть будет повторять это снова и снова, пока не будет точно определять закономерности выходных данных. Со временем он настроится на получение лучших прогнозов.
Смещение активации
- Искусственная нейронная сеть самонастраивается. Вы видели, что это похоже на музыкальный инструмент. Он сравнивает звучание идеальной ноты, а затем поворачивает свои регуляторы в соответствии с этим звуком. Но, в конце концов, искусственная нейронная сеть по-прежнему остается формой машинного обучения. Это означает, что он использует многие из одних и тех же инструментов и методов, чтобы помочь системе учиться. Вы уже видели, что искусственная нейронная сеть настраивается, добавляя веса к связям, но добавление весов к этим связям только корректирует дисперсию. Помните, что ранее система пытается бросать дротики плотной группой рядом с яблочком. Сеть бросит дротик, а затем определит, насколько близка она к правильному прогнозу. Затем он отрегулирует гири и бросит еще один дротик, чтобы проверить, приблизился ли он. Помните, что когда вы делаете прогноз, вам необходимо сбалансировать смещение и дисперсию данных. Это называется компромиссом дисперсии смещения. Таким образом, корректировка дисперсии повлияет на смещение. В искусственной нейронной сети смещение — это число, которое система присваивает каждому нейрону. Это число смещения сместит данные в другом направлении, чтобы сделать их более точными. Сеть должна настроиться, чтобы найти золотую середину между предвзятостью и дисперсией данных. Основная задача, которую ему приходится настраивать, — это добавление веса связям и добавление смещения нейрону. Иногда вы почти чувствуете себя виноватым из-за того, что искусственная нейронная сеть проходит через этот процесс настройки. Он корректирует веса своих связей, чтобы уменьшить разброс дисперсии, но это немного отклоняет его от цели. Затем он добавляет смещение, чтобы исправить сдвиг, но тогда данные снова распределяются. Людей это очень разочаровало бы. Это похоже на то, как будто машина пытается бросать дротики плотным строем, в то же время используя смещение, чтобы сместить весь дротик ближе к яблку. Кроме того, искусственные нейронные сети имеют тенденцию переопределять данные. Помните, что переобучение — это когда система сильно усложняет процесс обучения. Поэтому, когда искусственная нейронная сеть просматривает данные в обучающем наборе, она может усвоить уроки, связанные с данными. Поскольку он переоснащает свой обучающий набор, при корректировке дисперсии могут произойти большие изменения. Это еще больше затрудняет поиск баланса между предвзятостью и дисперсией. Как будто система пытается ехать прямо по обледенелой дороге. С одной стороны дороги слишком много предвзятости, а с другой стороны дороги слишком много различий. Если он слишком сильно скользит в одном направлении, ему придется повернуть назад. Одна из ключевых вещей, которую следует помнить о смещении, заключается в том, что оно находится на нейроне, а не привязано к соединению, как веса. Если подумать, это имеет большой смысл. Машина может добавить смещение только после того, как увидит, что происходит с дисперсией. В каком-то смысле он может сдвинуть мишень только после того, как уже бросит несколько дротиков. В противном случае машина не знала бы, в какую сторону переключать передачи.
Учимся на ошибках
- Мы, люди, склонны думать о добре и зле как о том или ином. Вы либо правы, либо нет, но искусственные нейронные сети должны быть гораздо более конкретными. Для нейронной сети право на 95 % сильно отличается от права на 97 %. Проблема в том, как система определяет, насколько это неправильно. В каком-то смысле нейронной сети нужна мера неправильности. В нейронных сетях это измеряется как функция стоимости. Функция стоимости — это просто число, которое система использует для сравнения своего ответа с правильным ответом. Если это действительно близко, то это число будет небольшим. Но если это действительно далеко, то это число будет больше. Предположим, ваша нейронная сеть пытается определить, есть ли на изображении собака. В сети говорят, что с вероятностью 97% это фотография собаки, но оказывается, что это фотография кошки. Эта ошибка будет иметь небольшую цену. Теперь предположим, что в сети написано, что с вероятностью 99% это фотография собаки, но на этот раз это фотография заснеженной горы. Эта ошибка будет иметь гораздо более высокую цену. Это потому, что здесь сеть была очень, очень неправа, поэтому ей необходимо более агрессивно корректировать свои веса и смещения. Пытаться исправить ошибку – дело непростое. Для этого многие нейронные сети используют так называемый градиентный спуск. Градиент означает крутизну, а спуск означает спуск вниз. Итак, представьте, что ваша искусственная нейронная сеть снова играет в дартс. Он делает прогнозы и смотрит, насколько близко он подходит к яблоню. Некоторые из предсказаний далеки от реальности, но другие предсказания близки. Когда он бросает дротик, между ним и мишенью существует расстояние. Когда дротик находится в воздухе, он движется под углом вверх, а затем под углом вниз. Затем он попадает на доску. Если он полностью не попадает в доску, он захочет внести более серьезные изменения в угол. Если он находится очень близко к цели, он захочет внести малейшие изменения в угол. Таким образом, он может попасть в яблочко. Ну, нейронная сеть делает примерно то же самое. Он использует вычисления градиентного спуска для корректировки весов и смещений в сети. Он не использует дротики, но использует очень похожие вычисления для измерения угла своей неправильности. По сути, это одна из крупнейших инноваций в искусственных нейронных сетях. Это называется обратным распространением ошибок в сети, или сокращенно обратным распространением ошибок. Помните, мы используем так называемую искусственную сеть с прямой связью. Ваши данные идут слева направо. Он начинается на входном слое и переходит к выходному слою. Но когда ваша сеть совершает ошибку, ей нужно пойти в обратном направлении. Для определения его неправильности необходимо использовать градиентный спуск. Затем он будет использовать обратное распространение для корректировки весов и смещений в зависимости от серьезности ошибки. Если сеть действительно превышает целевой показатель, ей придется внести крайние корректировки. Но если прогноз очень близок, то сети следует быть гораздо осторожнее. Сеть будет передавать сигнал вперед, а затем корректировать его назад. Таким образом, он может настроиться на правильный ответ.
Шаг через сеть
Так что же нужно для создания системы ИИ? Чтобы подумать об этом, давайте вернемся к нашей задаче поиска собак на изображениях. Первый шаг, который должны сделать ученые, работающие с данными, — это выяснить, чего они хотят от данных. В данном случае они не просят систему ИИ объединить свои собственные группы. Вместо этого они просят систему разделить данные на две категории. В одной категории будут изображения с собаками, а в других — без собак. Это классическая задача бинарной классификации. Помните, что в этом случае у нейронной сети есть только две возможные классификации. Это означает, что они будут заниматься контролируемым машинным обучением. Помните, что контролируемое машинное обучение начинается с размеченных данных. Здесь система будет обучена на сотнях тысяч изображений, на которых, как известно, есть собаки. Следующий шаг для специалистов по данным — выяснить, хотят ли они использовать стандартные алгоритмы машинного обучения или искусственную нейронную сеть. Помните, что это проблема классификации, поэтому, если они будут использовать алгоритмы машинного обучения, они, вероятно, будут использовать либо K ближайшего соседа, либо наивный Байес. Вы видели, что система разбивает каждое изображение на пиксели. Это означает, что это будет сложная задача с большим количеством данных, поэтому они собираются использовать искусственную нейронную сеть. Они создадут входной слой, скрытые слои и выходной слой. Теперь помните, что, поскольку это задача двоичной классификации, есть только два варианта: собака или не собака, поэтому для выходного слоя потребуется всего два узла. Далее нейронная сеть будет инициализирована. Система назначит случайные числа всем весам соединений. Затем система установит смещение на всех узлах равным нулю. Это почти то же самое, что встряхнуть эскиз, чтобы создать чистый лист. Теперь обучающий набор необходимо передать в нейронную сеть. Первые несколько изображений, вероятно, окажутся не намного лучше случайных предположений. Нейронная сеть скажет что-то вроде: вероятность того, что на изображении есть собака, составляет 62%, а ее отсутствие — 55%. Затем сеть сравнит свой ответ с меткой на данных. Если он ошибочно идентифицирует изображение собаки, он проверит градиентный спуск, чтобы определить, насколько нужно изменить веса и смещения. Нейронная сеть просмотрит все данные вашего обучающего набора, чтобы точно настроить результаты. Помните, что сеть настроится сама, используя обратное распространение ошибки для изменения весов и смещения, чтобы снизить функцию стоимости. В каком-то смысле он пойдет по сети назад и покрутит все шкалы, чтобы повысить свою точность. После того как искусственная нейронная сеть пройдет обучающий набор, данные будут добавлены из тестового набора. Тестовый набор не будет маркирован. Это могут быть сотни тысяч изображений чего угодно. Затем вы увидите, насколько хорошо ваша нейронная сеть распознает фотографии собак. Иногда нейронная сеть очень хорошо справляется с обучающим набором, но не очень хорошо с тестовым набором. Когда это происходит, это обычно означает, что вы переопределяете данные. Помните, что в этом случае система действительно хорошо распознает меньший обучающий набор, но ей не хватает сложности для обработки новых данных в тестовом наборе. Маловероятно, что ваша команда в ближайшее время классифицирует собаку или не собаку. Однако этот подход к бинарной классификации — мощный способ получить ценную информацию из ваших данных. Подумайте о данных о ваших клиентах, данных о продажах или даже о данных с ваших устройств Интернета вещей и о том, чему вы можете научиться благодаря этому подходу.
Использование систем искусственного интеллекта.
Мы видели, что искусственный интеллект начинался с общего решения проблем. Эта система использовала символы для явного программирования реакции компьютера. Затем, всего через несколько лет после первой конференции по искусственному интеллекту в 1956 году, мы увидели зарождение машинного обучения. Здесь вместо программирования система обучалась, просматривая закономерности в данных. Теперь системы искусственного интеллекта интегрируются на рабочем месте. Они могут решать сложные проблемы и даже находить творческие решения, поэтому важно понимать, как работают эти системы. Большинство людей, которые взаимодействуют с системами ИИ, не будут специалистами по обработке данных, многие из них будут бизнесменами и предпринимателями. На самом деле, вполне вероятно, что в ближайшие несколько лет вы будете работать над проектом ИИ. Точно так же, как сегодня менеджеры работают с разработчиками программного обеспечения, завтра эти же самые менеджеры начнут работать с системами искусственного интеллекта и специалистами по обработке данных. Не верите мне? Представьте, что кто-то из вашей команды отправил отчет об ИИ, который звучит примерно так: «Менеджеры должны иметь возможность ставить правильные цели, оценивать результаты и давать обратную связь по ИИ». Как и любая технология, для достижения успеха ИИ необходимо эффективно управлять. Вот несколько вещей, которые следует помнить об ИИ. Во-первых, системы искусственного интеллекта хороши настолько, насколько хороши данные, которые им предоставляются. Эти данные должны быть точными и репрезентативными для реального мира. Если это не так, система будет учиться на этих неточностях и выдавать неточные результаты. Во-вторых, системы ИИ учатся, пробуя разные вещи и выявляя, какие из них работают лучше всего. Это означает, что будет несколько проб и ошибок. Вам как менеджеру нужно быть к этому готовым и набраться терпения, пока система учится. Наконец, системы искусственного интеллекта могут делать то, чего не могут люди. Они могут быстро обрабатывать большие объемы данных и находить закономерности, которые мы никогда не сможем увидеть. Однако они по-прежнему нуждаются в присмотре и руководстве. Помня об этих трех вещах, бизнесмены могут начать думать о том, как они будут работать с системами искусственного интеллекта. Они могут начать думать о проблемах, которые хотят решить, и о том, как их системы будут решать. Большая часть того, что я только что сказал, была написана системой искусственного интеллекта. Он был написан с использованием GPT или Generative Pre-trained Transformer 3. Эта система обычно используется для генерации естественного языка. Система ИИ просмотрела миллионы статей об искусственном интеллекте и выписала то, что я сказал, после краткого описания. Затем компания использовала искусственную нейронную сеть глубокого обучения, чтобы найти закономерности в статьях о деловых людях, использующих ИИ. Затем он просто собрал эти общие шаблоны в несколько абзацев текста. Итак, теперь вы можете подумать о том, как системы искусственного интеллекта могут помочь вам или вашей организации. Какие данные вы собираете? Что бы вы хотели знать о своем клиенте, что могло бы помочь улучшить ваш бизнес? Или, если вы хотите работать в сфере ИИ, подумайте, какие проблемы вы надеетесь решить. В ближайшие несколько лет эти системы станут более человечными. Организации, создающие лучшие системы искусственного интеллекта, будут расширять, а не заменять человеческое творчество.
Робототехника
Одним из лучших способов связаться с людьми является присоединение к нам в физическом мире. Вот почему робототехника является одной из самых интересных областей искусственного интеллекта. Робототехника занимается выполнением машинами физических задач. Это может быть подъем тяжелых предметов на производстве или использование роботов для доставки еды. Роботы могут быть даже транспортными средствами, например, автономными автомобилями или поездами метро. Изобретатели давно увлечены поиском способов заставить машины вести себя как живые объекты. В прошлом роботы были ограничены лишь высокоспециализированными машинами. Они использовались как сварочные машины в автомобилестроении. Автозаводы рядом с моим родным городом использовали несколько специализированных роботов. Некоторые могли поднимать автомобиль и устанавливать детали снизу, но никто из них никогда не был бы принят за разумный. Насколько бы впечатляющими они ни были, эти роботы были очень ограничены в том, что могли сделать. Если их не запрограммировали, они не могли помочь коллеге открыть дверь автомобиля или начать красить капот. Они лучше всего подходили для повторяющихся задач. Робототехника в сочетании с машинным обучением дает нам гораздо больше возможностей. Машина может адаптироваться к своему окружению и учиться новым задачам на рабочем месте. Простым примером этого являются автономные транспортные средства. Невозможно запрограммировать автомобиль реагировать на все, что он может увидеть на дороге. Вот почему новейшие транспортные средства используют машинное обучение на искусственной нейронной сети. Эти транспортные средства оснащены сложными датчиками, которые подают данные в сеть. Ей нужно понимать все различные дороги, с которыми может столкнуться транспортное средство. Затем ей нужно рассмотреть всех различных людей, животных и другие транспортные средства, которые автомобиль может встретить на этих дорогах. Затем машина ищет узоры в успешном вождении. Автомобиль должен реагировать по-разному, когда через дорогу переходит олень, и когда он видит пешехода, ведущего собаку на поводке. Вот почему вы часто видите автономные автомобили с человеком на водительском сиденье. Они контролируют, как искусственная нейронная сеть реагирует на данные, поступающие из внешнего мира. Но как и любой новый навык, машине требуется время для сбора достаточного количества данных. В искусственных нейронных сетях это часто называется обучением сети. Google знаменито заявила, что они рассматривают свои автономные автомобили не как проблему робототехники, а как проблему данных. Действительно, выяснить, как заставить автомобиль повернуть налево или направо, проще по сравнению с тем, чтобы автомобиль понимал, когда ему нужно повернуть налево или направо. Некоторым роботам не требуется такой уровень сложности. Вот почему некоторые из них просто используют хорошо зарекомендовавший себя ИИ. Помните, что это система ИИ, которая использует символическое рассуждение вместо машинного обучения. Вы просто пытаетесь запрограммировать робота действовать интеллектуально. Вот в чем разница между Румбой, которая просто запрограммирована избегать столкновений со стенами, и автономным автомобилем, которому действительно нужно понимать дороги. Большинство современных роботов все еще программированы как Румба, а не учатся, как автономный автомобиль. Это потому, что когда вы находитесь в физическом мире, ошибка обходится гораздо дороже. Так что, если вы хотите создать робота, распределяющего лекарства по рецепту, ошибка может стоить очень дорого. Вот почему до сих пор в робототехнике выбирают более простой подход и все еще пользуются преимуществами символьных систем.
Но эта традиция также начинает подвергаться давлению со стороны нейросетей Например, компания NVIDIA, которая сейчас стала настоящим гигантом технологической индустрии, кстати не в последнюю очередь благодаря архитектуре своих чипов, оптимизированных для решений в области ИИ в апреле 2024 года объявила о запуске проекта GR00T - универсальной базовой модели для гуманоидных роботов, андроидов.
В рамках этой инициативы компания также представила новый компьютер Jetson Thor для гуманоидных роботов на базе системы на чипе (SoC) NVIDIA Thor, а также значительные улучшения в платформе робототехники NVIDIA Isaac™, включая базовые модели генеративного ИИ и инструменты для симуляции и инфраструктуры рабочих процессов ИИ.
"Создание базовых моделей для универсальных гуманоидных роботов — одна из самых захватывающих задач в ИИ на сегодняшний день", — сказал основатель и генеральный директор NVIDIA Дженсен Хуанг. "Технологии, которые делают это возможным, позволяют ведущим робототехникам со всего мира делать огромные шаги к созданию универсального искусственного робототехнического интеллекта."
Роботы, работающие на базе GR00T, будут спроектированы так, чтобы понимать естественный язык и имитировать движения, наблюдая за действиями человека — быстро учиться координации, ловкости и другим навыкам для того, чтобы ориентироваться, адаптироваться и взаимодействовать с реальным миром.
Интернет вещей
Сегодня существует бечисленное количесво различных гаджетов, умных устройств: термостаты, дверные звонки, телевизоры, которые соединяются друг с другом и с миром. А есть умные часы, которые проверяют ваше местоположение, пульс, уровень стресса. Это все устройства так называемого интернета вещей. Иногда вы видите это сокращение как IoT.
Устройства IoT являются огромным новым источником данных. Они могут загружать свои местоположения, что означает, что если вы носите устройство IoT, то системы машинного обучения могут видеть узоры в том, куда вы путешествуете. Они могут точно предсказать, где вы работаете, покупаете, едите, смотрите и кого вы посещаете. Возможно, ваш умный часы будут сообщать вашему пылесосу, когда вы вышли из дома, чтобы он смог начать уборку. IoT также позволяет этим устройствам общаться друг с другом. Они могут отпирать ваши двери или включать ваш компьютер, когда вы садитесь за свой стол. В некотором смысле, эти новые устройства делают создание данных проще, чем анализ для людей. Вот почему многие компании IoT интенсивно инвестируют в ИИ. ИИ не только позволяет организациям видеть новые паттерны, но и позволяет им быстро реагировать. Устройства IoT и искусственный интеллект - это мощное сочетание, которое позволяет компаниям создавать системы, предсказывающие поведение людей. Моя семья приобрела одну из первых версий домашнего помощника Amazon Alexa. Это были замечательные и простые часы, но сразу же моя жена заметила, что список рекомендаций Amazon начал заполняться вещами, которые были частью наших разговоров. Однажды мы говорили о посещении родственника в Риме, а через несколько дней в нашем рекомендованном списке Amazon появился путеводитель по Риму. Дверные звонки Ring также собирают данные о людях, которые проходят перед вашим домом. Компания может использовать машинное обучение для распознавания лиц. Затем она может использовать ваш дверной звонок для создания обширной сети наблюдения, которая продается полицейским управлениям. Эти управления могут использовать эти данные для того, чтобы поместить людей на месте преступления или найти людей, которых они заинтересованы найти. Одна из областей, которая имеет большой рост, - это медицинские устройства IoT. Теперь вы можете приобрести умные часы, которые так же точны, как электрокардиограмма или ЭКГ вашего врача. Они могут использовать датчики для обнаружения любых проблем со здоровьем. Затем они могут загружать эти данные на свои серверы. Компании вроде Apple ищут узоры в данных ЭКГ с помощью машинного обучения на нейронной сети. Их сеть может проанализировать миллионы участников. Они могут использовать эти данные для того, чтобы точно предсказать любые проблемы со здоровьем. Несомненно, полезно, когда машины находят предсказуемые узоры. Возможно, они обнаружат, что люди более склонны к проблемам со здоровьем по средам. Они также могут видеть узоры, влияющие на большие группы людей. Вы могли бы увидеть что-то вроде загрязнения воздуха и его влияние на здоровье города. Во многих отношениях устройства IoT переносят силу машинного обучения из цифрового мира в сферу физического мира. Вместо того, чтобы просто видеть, что вы делаете онлайн, устройство IoT может отслеживать ваше поведение в офлайне. Это имеет огромный потенциал для организаций продавать продукты на основе ваших нужд и мест, куда вы ходите.