Введение
Машинное обучение (ML) можно назвать одним из этапов реализации идеи искусственного интеллекта (AI). Технологии машинного обучения позволяют компьютерным системам учиться на основе данных, предоставленных для обучения без непосредственного участия человека, то есть на основе некоторых алгоритмов. За последние десятилетия данная технология вошла во многие сферы человеческой жизни – это рекомендательные системы, прогнозирование, машинное зрение, генерация текста, изображения, музыки и др. [1, 2].
Таким образом для подготовки специалистов в сфере машинного обучения необходима актуализация знаний, умений и навыков, дающих непрерывное и эффективное движение по образовательной траектории [3, 4].
Виды и задачи машинного обучения Источник: составлено авторами
Цель исследования – выделение в рамках существующих компетенций тех знаний, умений и навыков, которыми должен обладать специалист в области ML.
Применение этого набора целесообразно при формировании учебных планов, направленных на подготовку специалистов в области ML. На практике перед авторами стояла задача разработать план обучения в рамках дополнительного профессионального образования по направлению «Анализ данных и машинное обучение». Особенность заключается в том, что на курс попадают обучаемые самого разного уровня подготовки, поэтому учебный план должен включать максимально широкий набор умений, знаний и навыков (УЗН). Вторая особенность курса – его назначение. Он подразумевает некий старт для обучающихся в будущей профессиональной деятельности в сфере ML, с последующим выбором направления для развития. Поэтому важная задача – выработать общий базовый набор УЗН, который даст основу студентам в дальнейшей профессиональной траектории.
Материалы и методы исследования
Материалом исследования служит набор компетенций, выставляемых на рынке труда к специалистам различной направленности в областях применения искусственного интеллекта. Методика исследования включает в себя систематизацию и анализ предъявляемых требований к соискателям на позиции различного рода специалистов по машинному обучению и обработке данных.
Суть машинного обучения
Машинное обучение берет свое начало в середине XX в. из работ таких ученых, как Алан Тьюринг, Артур Самуэль, Фрэнк Розенблатт, Марвин Минский, Сеймур Пейперт и др. С развитием вычислительных мощностей и возможностью копить большие объемы информации в 1990-х гг. наблюдался прогресс в области ML. В начале 2000-х гг. активно развиваются биоинформатика, обработка естественного языка и компьютерное зрение [5, 6]. В 2010-е гг. появляются технологии распознавания изображений и речи. В последние годы машинное обучение продолжает развиваться быстрыми темпами, сейчас ML способен генерировать тексты, изображения и видео [5, 6].
Интересным направлением будущего развития технологий машинного обучения является разработка методов обучения с малым количеством данных [8, 9].
Общие этапы процесса машинного обучения включают следующие этапы: сбор данных, предобработка данных, выбор модели, обучение модели, оценка производительности и внедрение. Все задачи машинного обучения принято делить на классы, которые представлены на рисунке.
Обучение будущих специалистов в области ML
Бурное развитие технологий машинного обучения за последние десятилетия и практическое их применение в повседневной деятельности человека привело к возрастанию интереса к этой области информационных технологий со стороны молодых специалистов. Для высшего образования остро встали вопросы о компетенциях, знаниях, умениях и навыках будущих специалистов в сфере ML и Data Scientist. Вузы встали перед проблемой построения траектории роста. Альянс в сфере искусственного интеллекта, который объединяет ведущие технологические компании для совместного развития их компетенций и ускоренного внедрения искусственного интеллекта в образовании, научных исследованиях и в практической деятельности бизнеса, разработал базовую модель компетенций специалистов в сфере AI [10, 11]. Она служит основой для построения образовательных программ соответствующего направления. Однако вузам необходимо самостоятельно определять перечень предметов и спецкурсов, а также их содержание.
Авторами был выделен набор специальностей в сфере ML и составлены требования к их УЗН, представленные в табл. 1–6.
Таблица 1
Профессиональные знания, умения и навыки программиста по машинному обучению
Знания |
Умения |
Навыки |
Математика и статистика. Основы линейной алгебры, статистики и теории вероятностей. Языки программирования: Python, R, основы SQL. Библиотеки и фреймворки: Keras, PyTorch, Scikit-learn, TensorFlow. Основные алгоритмы: регрессия, классификация и кластеризация |
Работать с базами данных, извлекать данные, очищать и преобразовывать данные, представлять результаты анализа в понятном виде, проводить оценку производительности моделей с использованием различных метрик (точность, полнота, F1-мера) |
Программирование и документирование кода, работа с данными (Pandas, NumPy), применение базовых алгоритмов ML |
Источник: составлено авторами.
Таблица 2
Профессиональные знания, умения и навыки исследователя машинного обучения
Знания |
Умения |
Навыки |
Линейная алгебра, математический анализ, статистика и теория вероятности. Python, R, Java, SQL. Библиотеки и фреймворки: Keras, PyTorch, Scikit-learn, TensorFlow. Основные алгоритмы: регрессия, классификация и кластеризация. Глубокое обучение |
Способность проводить разведочный анализ данных (EDA), выявлять закономерности и аномалии в наборах данных. Оценивать данные и результаты экспериментов, формулировать гипотезы и проверять их |
Выбирать подходящий алгоритм в зависимости от задачи. Писать статьи и отчеты по результатам исследований для публикации в научных журналах, объяснение сложных концепций как техническим, так и нетехническим аудиториям, непрерывное обучение |
Источник: составлено авторами.
Таблица 3
Профессиональные знания, умения и навыки инженера по данным
Знания |
Умения |
Навыки |
Теория баз данных, реляционные и нереляционные системы управления базами данных. Принципы работы с большими объемами данных и использование инструментов для их обработки, таких как Hadoop, Spark и Kafka, основные облачные платформы (AWS, Google Cloud, Azure), языки программирования: Python, Java или Scala. Знание инструментов бизнес-аналитики (например, Tableau или Power BI). Понимание основных принципов машинного обучения для эффективного взаимодействия с data scientists |
Строить ETL-процессы (процессы извлечения, преобразования и загрузки данных), уметь разрабатывать архитектуру для хранения и обработки данных в облаке, анализировать системы на предмет их производительности и вносить изменения для улучшения работы |
Работать с большими данными (Hadoop, Spark), эффективно общаться и объяснять сложные технические концепции, быть внимательным к деталям для предотвращения ошибок в процессе обработки информации. |
Источник: составлено авторами.
Таблица 4
Профессиональные знания, умения и навыки аналитика данных
Знания |
Умения |
Навыки |
Математическая статистика, теория вероятностей и линейная алгебра реляционных и нереляционных баз данных, SQL для выполнения запросов, основы программирования: Python или R |
Представлять данные в понятной форме через графики и диаграммы оценивать достоверность данных и выявлять возможные источники ошибок, использовать разнообразные методы анализа данных |
Эффективно сотрудничать со специалистами различных направлений (маркетологами, разработчиками и т.д.). Объяснять сложные концепции простыми словами, понятными даже нетехническим специалистам |
Источник: составлено авторами.
К общим компетенциям (так называемым soft skills) относятся работа в команде, эффективное взаимодействие со специалистами других направлений, умение четко формулировать вопросы, а также навык работы с англоязычными источниками [12, 13].
Чтобы подготовить специалиста в области машинного обучения, необходимо создать структурированный план обучения, который охватывает теоретические и практические аспекты [14, 15].
Результаты исследования и их обсуждение
В качестве основного результата исследования авторами предложен рассмотренный выше план по базовой подготовке специалистов в области ML, который может служить основой будущей специализации в одном из более узких направлений. В плане для каждой темы указан минимальный набор аудиторных часов, необходимый для ее усвоения.
Таблица 5
Профессиональные знания, умения и навыки архитектора машинного обучения
Знания |
Умения |
Навыки |
Линейная алгебра, теория вероятностей и математическая статистика, методы оптимизации. Уверенное владение Python и R, Java или C++. Основные алгоритмы: регрессия, классификация и кластеризация. Знание методов глубокого обучения и нейронных сетей, включая сверточные и рекуррентные сети. Знание принципов DevOps |
Работа с библиотеками, такими как TensorFlow, Keras, PyTorch и scikit-learn, необходим для реализации алгоритмов машинного обучения. Проводить исследовательский анализ данных (EDA) для выявления закономерностей и подготовки данных к обучению моделей. Проектировать архитектуру системы машинного обучения, включая выбор подходящих инструментов и технологий для решения конкретных задач принимать решения о технологиях и инфраструктуре. Анализировать бизнес-требования и разрабатывать стратегии внедрения решений на основе машинного обучения анализировать большие объемы информации и делать выводы на основе полученных данных. Находить инновационные решения для сложных задач |
Работать с большими данными (Big Data) и распределенными системами обработки данных (например, Hadoop, Spark), визуализации данных с помощью инструментов Matplotlib или Seaborn. Проектировать сложные системы и архитектуры. Ясно и доступно объяснять сложные технические концепции как техническим, так и нетехническим специалистам |
Источник: составлено авторами.
Таблица 6
Профессиональные знания, умения и навыки специалиста по развертыванию и эксплуатации ML
Знания |
Умения |
Навыки |
Глубокое понимание линейной алгебры, математического анализа, теории вероятностей и математической статистики. Уверенное владение Python и сопутствующими библиотеками, возможно знание R и Java. Знание современных методов и алгоритмов ML, глубокого обучения и нейросетей |
Уметь интегрировать обученные модели в производственные системы и обеспечивать их стабильную работу. Отслеживать их производительность и вносить коррективы для повышения эффективности. Оптимизировать гиперпараметры и обновлять модели на основе новых данных |
Четко формулировать задачи и представлять результаты своей работы. Постоянное обучение и адаптация к новым инструментам и методам |
Источник: составлено авторами.
Таблица 7
Тематический план для курсов дополнительного профессионального образования «Анализ данных и машинное обучение»
Тема |
Часы |
Основы программирования на Python |
|
Знакомство с Python: история и области применения языка, установка и настройка среды разработки, первая программа |
2 |
Основы синтаксиса: переменные и типы данных, арифметические и логические операторы, ввод и вывод данных |
2 |
Условные конструкции: оператор if, elif, else, вложенные условия |
4 |
Циклы: циклы for и while, операторы break и continue, вложенные циклы |
6 |
Структуры данных: операции со списками, индексация, кортежи и множества |
8 |
Функции и модули: определение и вызов функций, аргументы и возвращаемые значения, значения по умолчанию, именованные аргументы, локальные и глобальные переменные, рекурсия |
6 |
Модули и библиотеки: импорт модулей, стандартные и сторонние библиотеки, работа с pip |
2 |
Введение в объектно-ориентированное программирование: классы и объекты, атрибуты и методы |
4 |
Элементы высшей математики и основы теории вероятности |
|
Математический анализ – основные разделы. Функции и последовательности, их пределы: понятие и основные способы нахождения |
4 |
Производные и их свойства. Теоремы о производных |
2 |
Интегральное исчисление: неопределенный интеграл как действие, обратное нахождению производной; его свойства |
2 |
Основные способы вычисления неопределенных интегралов. Вычисление интегралов от тригонометрических и иррациональных функций; интегрирование рациональных дробей. |
4 |
Определенный интеграл – свойства и вычисление. Приложения: вычисление площадей, длин дуг, объемов тел вращения и т.д. |
2 |
Линейная алгебра. Алгебра матриц. Решение систем линейных уравнений: метод Гаусса, метод Крамера, матричный метод |
4 |
Ряды, их свойства и приложения |
4 |
Теория вероятностей: основные формулы и теоремы теории вероятностей. Комбинаторика. |
4 |
Случайные величины: свойства и характеристики. Распределения СВ |
2 |
Основные распределения дискретных СВ: Бернулли, геометрическое, Пуассона; их числовые характеристики |
2 |
Непрерывные СВ: их свойства. Равномерное и нормальное распределения, их основные характеристики. |
2 |
Ковариация и корреляция СВ. Метод наименьших квадратов. Метод наибольшего правдоподобия |
2 |
Статистические гипотезы и их проверка |
2 |
Интервальные и точечные оценки параметров |
2 |
Введение в машинное обучение |
|
Машинное обучение, его виды (обучение с учителем, без учителя и обучение с подкреплением) |
4 |
Базовые алгоритмы: линейная регрессия, логистическая регрессия, деревья решений |
4 |
Работа с данными |
|
Сбор и предобработка данных: изучение методов очистки данных и работы с пропущенными значениями |
4 |
Визуализация данных: использование библиотек Matplotlib и Seaborn для визуализации данных |
4 |
Алгоритмы машинного обучения |
|
Обучение с учителем: глубокое изучение алгоритмов классификации (например, SVM, KNN) и регрессии. |
6 |
Обучение без учителя: Кластеризация (K-means, иерархическая кластеризация) и методы понижения размерности (PCA). |
6 |
Углубленное изучение нейронных сетей |
|
Основы нейронных сетей: изучение архитектуры нейронных сетей и их применения |
2 |
Типы и архитектуры нейронных сетей: однослойные и многослойные ИНС, персептрон, многослойные сети с прямыми связями, теорема Арнольда – Колмогорова, результаты Хехт-Нильсена, процедура обратного распространения ошибки (Backpropagation) |
6 |
Методы обучения нейронных сетей: обучение с учителем и без учителя, метод обучения Хэбба, алгоритм обучения Кохонена, алгоритмы обучения Хопфилда и Хэмминга |
6 |
Глубокое обучение: работа с библиотеками TensorFlow и PyTorch для построения глубоких нейронных сетей |
4 |
Регуляризация и борьба с переобучением |
2 |
Применение современных фреймворков (PyTorch, TensorFlow, Keras) |
4 |
Примеры архитектур: CNN, RNN, GAN |
4 |
Использование предобученных моделей |
4 |
Специализированные темы |
|
Обработка естественного языка (NLP): изучение методов обработки текстовых данных |
4 |
Компьютерное зрение: основы работы с изображениями и видео |
4 |
Практические проекты |
|
Предсказание цен на жилье: построение модели регрессии для оценки стоимости недвижимости на основе характеристик объектов |
4 |
Классификация изображений (например, рукописных цифр MNIST или болезней растений по фото). Использование сверточных нейронных сетей для распознавания объектов на изображениях |
4 |
Система рекомендаций. Разработка рекомендательной системы для фильмов, музыки или товаров на основе пользовательских предпочтений |
4 |
Итоговый проект |
8 |
Курс рассчитан на 10 учебных месяцев, 160 ч и планируется к внедрению в 2025–2026 учебном году. Курс сопровождается полным методическим обеспечением.
В настоящее время авторами был проведен опрос среди студентов второго и третьего курсов, обучающихся в Волго-Вятском филиале Московского технического университета связи и информатики по специальностям «Инфокоммуникационные технологии и системы связи». Опрос 42 чел. показал, что более половины (60 %) из них заинтересованы в обучении на подобных курсах в качестве дополнительного образования с перспективой дальнейшего углубленного изучения по выбранной специализации.
Заключение
В качестве основного результата исследования авторами предложен план базовой подготовки специалистов в области машинного обучения, который может служить фундаментом для дальнейшей специализации в одном из более узких направлений в этой области. Проведенный опрос показывает высокую востребованность предложенной образовательной траектории среди будущих специалистов в области информационных технологий. В дальнейшем авторы планируют внедрить данный курс в качестве факультатива или спецкурса для студентов технических специальностей. Такой подход позволит гибко интегрировать программу в существующую образовательную структуру и адаптировать ее под потребности различных категорий обучающихся. По результатам внедрения курса будет проведен мониторинг успеваемости и анализ распределения студентов по направлениям специализации. Это позволит оценить эффективность предложенной методики и скорректировать программу в соответствии с реальными образовательными запросами и интересами студентов.