В 2020 году люди будут получать выгоду от искусственного интеллекта каждый день: системы рекомендаций по музыке, карты Google, Uber и многие другие приложения работают на базе искусственного интеллекта. Однако путаница между терминами искусственный интеллект, машинное обучение и глубокое обучение сохраняется. Один из популярных поисковых запросов Google звучит так: «Искусственный интеллект и машинное обучение - это одно и то же?».

Давайте проясним ситуацию: искусственный интеллект (AI), машинное обучение (ML) и глубокое обучение (DL) - это три разные вещи.

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

3 лица искусственного интеллекта

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

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

Тем не менее некоторые результаты были достигнуты. Например, исследователи поняли, что ключевыми факторами для интеллектуальной машины являются обучение (для взаимодействия с изменяющейся и спонтанной средой), обработка естественного языка (для взаимодействия человека с машиной) и творчество (чтобы освободить человечество от многих его проблем?) .

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

ИИ обычно делится на 3 категории:

Узкий / слабый ИИ

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

«Сильный» ИИ стремится создать искусственных людей: машины, обладающие всеми имеющимися у нас умственными способностями, включая феноменальное сознание. «Слабый» ИИ, с другой стороны, стремится создать машины для обработки информации, которые, по-видимому, обладают полным ментальным репертуаром людей (Searle 1997) ».

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

Вы, наверное, слышали о Deep Blue, первом компьютере, победившем человека в шахматах. Не просто человек - Гарри Каспаров (1997 г.). Deep Blue мог генерировать и оценивать около 200 миллионов шахматных позиций в секунду. Честно говоря, некоторые не были готовы назвать это ИИ в полном смысле этого слова, в то время как другие утверждали, что это один из первых примеров слабого ИИ.

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

Сегодня узкий искусственный интеллект широко используется в науке, бизнесе и здравоохранении. Например, в 2017 году компания DOMO объявила о запуске Mr. Робото . Эта программная система искусственного интеллекта содержит мощные инструменты аналитики и может предоставить владельцам бизнеса рекомендации и идеи для развития бизнеса. Он может обнаруживать отклонения и выявлять закономерности, которые могут быть полезны для управления рисками и рационального планирования. Подобные программы существуют и для других отраслей, и крупные компании, такие как Google и Amazon, вкладывают деньги в их развитие.

Общий / сильный ИИ

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

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

Суперинтеллект

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

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

Задачи, на которых сейчас сосредоточены специалисты по данным (и которые могут помочь в создании общего и сверхразума):

  • Машинное мышление. Системы MR имеют в своем распоряжении некоторую информацию, например базу данных или библиотеку. Используя методы дедукции и индукции, они могут сформулировать некоторые ценные выводы на основе этой информации. Он может включать планирование, представление данных, поиск и оптимизацию для систем ИИ;
  • Робототехника. Эта область науки сосредоточена на создании, разработке и управлении роботами, от комнатных до интеллектуальных андроидов;
  • Машинное обучение - это изучение алгоритмов и компьютерных моделей, используемых машинами для выполнения определенной задачи.

Вы можете называть их методами создания ИИ. Можно использовать только один или объединить все в одной системе. А теперь давайте углубимся в детали.

Как машины могут учиться?

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

Чтобы «обучить» машину, вам понадобятся эти 3 компонента:

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

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

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

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

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

Глубокое обучение

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

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

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

Посмотрите это видео, чтобы подробнее ознакомиться с процессом:

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

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

Некоторыми практическими приложениями DL являются, например, системы распознавания речи, такие как Google Assistant и Amazon Alexa. Звуковые волны динамика могут быть представлены в виде спектрограммы, которая является временным снимком различных частот. Нейронная сеть, которая способна запоминать входные последовательности (например, LSTM, сокращение от long-short-term-memory), может распознавать и обрабатывать такие последовательности пространственно-временных входных сигналов. Он учится отображать потоки спектрограммы в слова. Больше примеров вы найдете здесь.

DL действительно близок к тому, что многие люди представляют, когда слышат слова искусственный интеллект. Компьютер учится сам; как это круто ?! Что ж, правда в том, что алгоритмы DP небезупречны. Программисты любят DL, потому что его можно применять для множества задач. Однако есть и другие подходы к ML, которые мы собираемся обсудить прямо сейчас.

Нет бесплатного обеда и почему существует так много алгоритмов машинного обучения

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

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

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

Четыре группы алгоритмов машинного обучения

Итак, в зависимости от того, как они обучаются, алгоритмы машинного обучения обычно делятся на 4 группы:

Контролируемое обучение

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

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

Примеры алгоритмов:

  • Наивный Байес,
  • Машина опорных векторов,
  • Древо решений,
  • K-Ближайшие соседи,
  • Логистическая регрессия,
  • Линейные и полиномиальные регрессии.

Используется для: фильтрации спама, определения языка, компьютерного зрения, поиска и классификации.

Неконтролируемое обучение

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

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

Примеры алгоритмов:

  • К-означает кластеризацию,
  • DBSCAN,
  • Средний сдвиг,
  • Разложение по сингулярным значениям (SVD),
  • Анализ главных компонентов (PCA),
  • Скрытое размещение Дирихле (LDA),
  • Скрытый семантический анализ, FP-рост.

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

Полу-контролируемое обучение

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

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

Обучение с подкреплением

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

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

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

Примеры алгоритмов:

Используется для: беспилотных автомобилей, игр, роботов, управления ресурсами.

Подводя итоги

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

Первоначально опубликовано на https://serokell.io.