Новые Технологии
Что такое машинное обучение, и почему оно повсюду в наши дни?

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

Что такое машинное обучение, и почему это имеет значение?

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

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

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

Можете ли вы привести мне основной пример машинного обучения в действии?

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

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

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

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

Я слышал о интеллектуальном анализе данных. Разве это одно и то же?

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

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


Один из способов, который мы слышали, это то, что интеллектуальный анализ данных находит список танцевальных центров в Портленде; машинное обучение-это обучение танцу.

Существуют ли различные типы машинного обучения?

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

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

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

Какое отношение ко всему этому имеют нейронные сети?

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

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

Какие языки программирования для машинного обучения используют учащиеся?

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

Благодаря своей простоте и доступности библиотек глубокого обучения, таких как TensorFlow и PyTorch , Python в настоящее время является языком номер один. Если вы впервые задумываетесь о том, чтобы погрузиться в машинное обучение, это также один из самых доступных языков — и есть множество доступных онлайн-ресурсов.

Java также является хорошим вариантом и поставляется с большим сообществом своих собственных, в то время как C++ и R также стоит проверить.

Является ли машинное обучение идеальным решением для всех наших проблем с ИИ?

Вы, наверное, догадываетесь, к чему мы клоним. Нет, машинное обучение не является непогрешимым. Алгоритмы все еще могут быть подвержены человеческим предубеждениям, и правило “мусор внутри, мусор снаружи” здесь так же верно, как и в любом другом управляемом данными поле.

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

Но как инструмент, который помогает революционизировать технологию, как мы ее знаем, и делает ИИ доступным для масс? Вы можете поспорить, что это отличный инструмент!

 

Автор: Люк Дормель