При упоминании о разработчиках и программировании многие люди обычно обращают свои мысли к более широкой области знания — информатике. Информатика — обширная область. В неё входит, в частности, сфера машинного обучения. В сфере машинного обучения компьютеры учатся на основе опыта с помощью алгоритмов. Для успешного обучения они должны пользоваться данными с определёнными характеристиками и атрибутами. Так они выявляют закономерности, которыми мы можем пользоваться для принятия важных решений. В сфере машинного обучения задания подразделяются на различные категории, такие как прогностическое моделирование и кластеризация. Концепция машинного обучения заключается в том, чтобы находить решения актуальных проблем, не дожидаясь непосредственного взаимодействия с человеком.
Машинное обучение и искусственный интеллект сегодня — реальность, о которой мы мечтали много лет назад. Эти концепции больше не ограничиваются вымыслами в кино, они стали основой нашей повседневной жизни. Если человек подумает о своих действиях в Интернете в течение дня, он поймёт, что постоянно взаимодействует с моделями машинного обучения. Сколько раз нам приходилось переводить веб-сайт с иностранного языка на наш родной? Подумаем о том, сколько раз нам помогал чат-бот или программы распознавания лица и голоса. Всё это — случаи, когда мы взаимодействуем с моделями машинного обучения, и они помогают нам, облегчая нашу жизнь.
Как и любая другая сфера, машинное обучение не существует изолированно. Многие понятия в машинном обучении переплетаются со сферой так называемого глубокого обучения и искусственного интеллекта. Существуют и другие сферы, имеющие общие черты с машинным обучением, но мы сосредоточимся на сферах глубокого обучения и искусственного интеллекта.
Говоря о сфере машинного обучения, важно иметь представление о фундаментальных идеях, позволяющих понять технологии, системы и процедуры, применяющиеся в машинном обучении, и то, как они связаны между собой.
Сфера искусственного интеллекта отделилась от сферы машинного обучения, но у них много общего. Если проследить историю этих двух областей, то можно заметить, что на протяжении большей части своей истории они шли одним и тем же путём. Если машинное обучение сосредоточено на создании моделей, которые обучаются с помощью алгоритмов и могут работать без вмешательства человека, то искусственный интеллект сосредоточен на имитации человеческого опыта и интеллекта с помощью вычислений. Можно с уверенностью сказать, что машинное обучение является подклассом искусственного интеллекта, поскольку речь идёт о создании машин, которые могут имитировать процессы принятия решений человеком, хотя и путём обучения на основе данных.
Сфера глубокого обучения знакомит нас с ещё одним разделом машинного обучения, в котором для принятия важных решений применяются искусственные нейронные сети (ИНС). В сфере глубокого обучения нейронные сети применяют многоуровневые структуры, функции которых схожи с функциями здорового человеческого мозга. Таким образом, машинное обучение, глубокое обучение и искусственный интеллект — три сферы, которые взаимосвязаны между собой. Если человек возьмётся за изучение одной из них, то в какой-то момент ему невольно придётся узнать и о других.
В сфере машинного обучения раздел глубокого обучения представляет собой категорию, которая фокусируется на применении алгоритмов для расширения возможностей систем и построения моделей, схожих по принципу работы с человеческим мозгом. Нынешний ажиотаж и шумиха вокруг сферы глубокого обучения возникли благодаря фундаментальным исследованиям в области нейронных сетей. Исследования в области нейронных сетей ведутся уже много лет и могут быть более продолжительными, чем история самого машинного обучения. Это связано с тем, что часть этих знаний была получена в результате проведения неврологических исследований без малейшего отношения к машинному обучению или вычислениям.
За прошедшие годы в исследованиях в сфере машинного обучения произошли значительные сдвиги, особенно в области глубокого обучения. Хотя следует признать увеличение масштабов применения этих сфер, развитие этих технологий стало возможным благодаря трём важным факторам: разработке эффективных алгоритмов, растущему и соответствующему спросу на значительные вычислительные ресурсы, а также увеличению численности пользователей в Интернете, поэтому для обучения и расширения возможностей этих машин доступны огромные массивы данных.
Как же найти связь между сферами глубокого обучения и машинного обучения? Ответ кроется в том, как работают эти модели. Вообще говоря, речь идёт о моделях, которые получают заранее определённые входные и выходные данные. Входные данные могут быть любыми: текстовые инструкции, числовые данные, аудио, видео и изображения в различных медиаформатах. На основе входных данных конкретная модель, которая применяется, выводит результат, соответствующий заданным инструкциям. Выходные данные могут быть любыми: от идентификации имени человека до определения различных групп. Правильный ответ зависит от того, какие входные данные были предоставлены модели машинного обучения.
Изучая эти сети, человек также должен уделять время тому, чтобы оттачивать свои навыки анализа и обработки данных. Один из навыков, которым нужно владеть, — подготовка данных, особенно их очистка. Точность моделей машинного и глубокого обучения зависит от данных. Неточности во входных данных повлияют на результат. При вводе данных происходит множество ошибок, и если не следить за этим, то в итоге получится модель машинного обучения, которая не сможет дать ожидаемый результат. Вот почему очистка данных и анализ данных в целом являются важными процессами.
Как только модель получит достаточное количество данных, она должна предсказать результаты в соответствии с предоставленными данными и инструкциями, на которых она обучается. Сегодня существует множество моделей машинного обучения, которые уже применяются, в том числе TextCNN, YOLO, Inception и FaceNet.
Сфера машинного обучения — довольно простая концепция. Для тех, кто годами программирует в этой области, со временем всё становится ещё проще. Пока машина учится, человек тоже должен продолжать учиться, чтобы иметь возможность совершенствовать свои навыки в сфере машинного обучения. На начальном уровне знание основных концепций должно помочь встать на правильный путь.
Ещё одна важная концепция в сфере машинного обучения, о которой никогда не следует забывать, заключается в том, что в этом процессе совершается много проб и ошибок. Прежде чем выбрать правильный алгоритм или структуру, приходится попробовать разные подходы, пока не будет найден нужный. В некоторых случаях для получения правильного результата может потребоваться применение нескольких алгоритмов. Пробуя различные методы, следует убедиться в том, что данные правильно отформатированы и структурированы.
Знакомство с основными принципами позволяет сделать следующий шаг в области изучения различных платформ и инструментов, которые помогают в процессе моделирования машинного обучения и применения методов развития искусственного интеллекта. Среди распространённых визуальных инструментов, которыми можно пользоваться, — Microsoft Azure Machine Learning Studio, IBM Watson Studio и Google Cloud Auto Machine Learning.
Специфика проблемы, которую пытаются решить, также определяет, удастся ли выбрать правильную модель для машинного и глубокого обучения или нет. Нужно чётко сформулировать проблему, которую следует решить, чтобы получить больше шансов подобрать для неё подходящую модель. При выборе подходящего алгоритма следует учитывать цели, характер данных и любые другие факторы, которые могут повлиять на предполагаемый результат.