Оглавление 1. Результаты освоения курса внеурочной деятельности 2 2. Содержание курса внеурочной деятельности с указанием форм организации и видов деятельности 7 3. Тематическое планирование 15 1. Результаты освоения курса внеурочной деятельности Личностные результаты освоения программы «Машинное обучение и искусственный интеллект» отражают готовность обучающихся руководствоваться системой позитивных ценностных ориентаций и расширение опыта деятельности на ее основе и в процессе реализации основных направлений воспитательной деятельности, в том числе в части ценности научного познания: ориентация в деятельности на современную систему научных представлений об основных закономерностях развития человека, природы и общества, взаимосвязях человека с природной и социальной средой; овладение основными навыками исследовательской деятельности, установка на осмысление опыта, наблюдений, поступков и стремление совершенствовать пути достижения индивидуального и коллективного благополучия. В части адаптации обучающегося к изменяющимся условиям социальной и природной среды: освоение обучающимися социального опыта, основных социальных ролей, соответствующих ведущей деятельности возраста, норм и правил общественного поведения, форм социальной жизни в группах и сообществах, включая семью, группы, сформированные по профессиональной деятельности, а также в рамках социального взаимодействия с людьми из другой культурной среды; способность обучающихся во взаимодействии в условиях неопределенности, открытость опыту и знаниям других; способность действовать в условиях неопределенности, повышать уровень своей компетентности через практическую деятельность, в том числе умение учиться у других людей, осознавать в совместной деятельности новые знания, навыки и компетенции из опыта других; навык выявления и связывания образов, способность формирования новых знаний, в том числе способность формулировать идеи, понятия, гипотезы об объектах и явлениях, в том числе ранее не известных, осознавать дефициты собственных знаний и компетентностей, планировать свое развитие; умение распознавать конкретные примеры понятия по характерным признакам, выполнять операции в соответствии с определением и простейшими свойствами понятия, конкретизировать понятие примерами, использовать понятие и его свойства при решении задач (оперировать понятиями), а также оперировать терминами и представлениями в области концепции устойчивого развития; формулировать и оценивать риски и последствия, формировать опыт, уметь находить позитивное в произошедшей ситуации; быть готовым действовать в отсутствие гарантий успеха. Метапредметные результаты освоения программы «Искусственный интеллект и машинное обучение» отражают овладение учащимися универсальными учебными познавательными действиями: 1) базовые логические действия: выявлять и характеризовать существенные признаки объектов (явлений); 2 устанавливать существенный признак классификации, основания для обобщения и сравнения, критерии проводимого анализа; с учетом предложенной задачи выявлять закономерности и противоречия в рассматриваемых фактах, данных и наблюдениях; предлагать критерии для выявления закономерностей и противоречий; выявлять дефициты информации, данных, необходимых для решения поставленной задачи; выявлять причинно-следственные связи при изучении явлений и процессов; делать выводы с использованием дедуктивных и индуктивных умозаключений, умозаключений по аналогии, формулировать гипотезы о взаимосвязях; самостоятельно выбирать способ решения учебной задачи (сравнивать несколько вариантов решения, выбирать наиболее подходящий с учетом самостоятельно выделенных критериев); 2) базовые исследовательские действия: оценивать на применимость и достоверность информации, полученной в ходе исследования (эксперимента); самостоятельно формулировать обобщения и выводы по результатам проведенного наблюдения, опыта, исследования, владеть инструментами оценки достоверности полученных выводов и обобщений; прогнозировать возможное дальнейшее развитие процессов, событий и их последствия в аналогичных или сходных ситуациях, выдвигать предположения об их развитии в новых условиях и контекстах; 3) работа с информацией: применять различные методы, инструменты и запросы при поиске и отборе информации или данных из источников с учетом предложенной учебной задачи и заданных критериев; выбирать, анализировать, систематизировать и интерпретировать информацию различных видов и форм представления; находить сходные аргументы (подтверждающие или опровергающие одну и ту же идею, версию) в различных информационных источниках; самостоятельно выбирать оптимальную форму представления информации и иллюстрировать решаемые задачи несложными схемами, диаграммами, иной графикой и их комбинациями; оценивать надежность информации по критериям, предложенным педагогическим работником или сформулированным самостоятельно; эффективно запоминать и систематизировать информацию. Овладение универсальными учебными коммуникативными действиями: 1) общение: воспринимать и формулировать суждения, выражать эмоции в соответствии с целями и условиями общения; понимать намерения других, проявлять уважительное отношение к собеседнику и в корректной форме формулировать свои возражения; в ходе диалога и (или) дискуссии задавать вопросы по существу обсуждаемой темы и высказывать идеи, нацеленные на решение задачи и поддержание благожелательности общения; сопоставлять свои суждения с суждениями других участников диалога, обнаруживать различие и сходство позиций; 2) совместная деятельность: понимать и использовать преимущества командной и индивидуальной работы при решении конкретной проблемы, обосновывать необходимость применения групповых форм взаимодействия при решении поставленной задачи; 3 уметь обобщать мнения нескольких людей, проявлять готовность руководить, выполнять поручения, подчиняться; оценивать качество своего вклада в общий продукт по критериям, самостоятельно сформулированным участниками взаимодействия; сравнивать результаты с исходной задачей и вклад каждого члена команды в достижение результатов, разделять сферу ответственности и проявлять готовность к предоставлению отчета перед группой. Овладение универсальными учебными регулятивными действиями: 1) самоорганизация: выявлять проблемы для решения в жизненных и учебных ситуациях; ориентироваться в различных подходах принятия решений (индивидуальное, принятие решения в группе, принятие решений группой); самостоятельно составлять алгоритм решения задачи (или его часть), выбирать способ решения учебной задачи с учетом имеющихся ресурсов и собственных возможностей, аргументировать предлагаемые варианты решений; составлять план действий (план реализации намеченного алгоритма решения), корректировать предложенный алгоритм с учетом получения новых знаний об изучаемом объекте; делать выбор и брать ответственность за решение; 2) самоконтроль: владеть способами самоконтроля, самомотивации и рефлексии; давать адекватную оценку ситуации и предлагать план ее изменения; учитывать контекст и предвидеть трудности, которые могут возникнуть при решении учебной задачи, адаптировать решение к меняющимся обстоятельствам; объяснять причины достижения (недостижения) результатов деятельности, давать оценку приобретенному опыту, уметь находить позитивное в произошедшей ситуации; вносить коррективы в деятельность на основе новых обстоятельств, изменившихся ситуаций, установленных ошибок, возникших трудностей; оценивать соответствие результата цели и условиям; 3) эмоциональный интеллект: различать, называть и управлять собственными эмоциями и эмоциями других; выявлять и анализировать причины эмоций; 4) принятие себя и других: осознанно относиться к другому человеку, его мнению; признавать свое право на ошибку и такое же право другого; принимать себя и других, не осуждая; открытость себе и другим; осознавать невозможность контролировать все вокруг. Предметными результатами освоения программы «Искусственный интеллект и машинное обучение» для основного уровня являются: умение моделировать реальные ситуации на языке математики; составлять выражения, уравнения, неравенства и их системы по условию задачи, исследовать построенные модели с использованием аппарата алгебры, интерпретировать полученный результат; строить математические модели с помощью геометрических понятий и величин, решать связанные с ними практические задачи; составлять вероятностную модель и интерпретировать полученный результат; решать прикладные задачи средствами математического анализа, в том числе социально-экономического и физического характера; умение оперировать понятиями: случайный опыт (случайный эксперимент), элементарное событие (элементарный исход) случайного опыта, случайное событие, вероятность события; умение находить вероятности случайных событий в опытах с 4 равновозможными элементарными событиями; умение решать задачи методом организованного перебора и с использованием правила умножения; умение оценивать вероятности реальных событий и явлений, понимать роль практически достоверных и маловероятных событий в окружающем мире и в жизни; знакомство с понятием независимых событий; знакомство с законом больших чисел и его ролью в массовых явлениях; владение основными понятиями: информация, передача, хранение и обработка информации, алгоритм, модель, цифровой продукт и их использование для решения учебных и практических задач; умение оперировать единицами измерения информационного объема и скорости передачи данных; умение кодировать и декодировать сообщения по заданным правилам; понимание основных принципов кодирования информации различной природы: текстовой (на углубленном уровне: в различных кодировках), графической, аудио; владение понятиями: высказывание, логическая операция, логическое выражение; умение записывать логические выражения с использованием дизъюнкции, конъюнкции и отрицания, определять истинность логических выражений, если известны значения истинности входящих в него переменных, строить таблицы истинности для логических выражений; записывать логические выражения на изучаемом языке программирования; развитие алгоритмического мышления как необходимого условия профессиональной деятельности в современном обществе; понимание сущности алгоритма и его свойств; создавать и отлаживать программы на языке программирования Python, реализующие несложные алгоритмы обработки числовых данных с использованием циклов и ветвлений; умение разбивать задачи на подзадачи, использовать константы, переменные и выражения различных типов (числовых, логических, символьных); владение умениями и навыками использования информационных и коммуникационных технологий для поиска, хранения, обработки и передачи и анализа различных видов информации; умение выбирать способ представления данных в соответствии с поставленной задачей (таблицы, схемы, графики, диаграммы) с использованием соответствующих программных средств обработки данных; умение использовать компьютерно-математические модели для анализа объектов и процессов: формулировать цель моделирования, выполнять анализ результатов, полученных в ходе моделирования; оценивать адекватность модели моделируемому объекту или процессу; представлять результаты моделирования в наглядном виде; сформированность представлений о сферах профессиональной деятельности, связанных с информатикой, программированием и современными информационнокоммуникационными технологиями, основанными на достижениях науки и IТ-отрасли; для продвинутого уровня: умение оперировать понятиями: граф, связный граф, дерево, цикл, граф на плоскости; умение задавать и описывать графы различными способами; использовать графы при решении задач; умение свободно оперировать понятиями: случайный опыт (случайный эксперимент), элементарное случайное событие (элементарный исход) опыта, случайное событие, частота и вероятность случайного события, условная вероятность, независимые события, дерево случайного эксперимента; умение находить вероятности событий в опытах с равновозможными элементарными событиями; знакомство с ролью маловероятных и практически достоверных событий в природных и социальных явлениях; умение оценивать вероятности событий и явлений в природе и обществе; умение выполнять операции над случайными событиями, находить вероятности событий, в том числе с применением формул и графических схем (диаграмм Эйлера, графов); умение приводить примеры 5 случайных величин и находить их числовые характеристики; знакомство с понятием математического ожидания случайной величины; представление о законе больших чисел и о роли закона больших чисел в природе и в социальных явлениях; свободное владение основными понятиями: информация, передача, хранение и обработка информации, алгоритм, модель, моделирование и их использование для решения учебных и практических задач; умение свободно оперировать единицами измерения информационного объема и скорости передачи данных; умение кодировать и декодировать сообщения по заданным правилам; понимание основных принципов кодирования информации различной природы: числовой, текстовой (в различных современных кодировках), графической (в растровом и векторном представлении), аудио; свободное оперирование понятиями: высказывание, логическая операция, логическое выражение; умение записывать логические выражения с использованием дизъюнкции, конъюнкции, отрицания, импликации и эквивалентности, определять истинность логических выражений, если известны значения истинности входящих в него переменных, строить таблицы истинности для логических выражений, восстанавливать логические выражения по таблице истинности, записывать логические выражения на изучаемом языке программирования; владение терминологией, связанной с графами (вершина, ребро, путь, длина ребра и пути) и деревьями (корень, лист, высота дерева); умение использовать графы и деревья для моделирования систем сетевой и иерархической структуры; умение находить кратчайший путь в заданной графе; наличие развитого алгоритмического мышления как необходимого условия профессиональной деятельности в современном обществе; свободное оперирование понятиями «исполнитель», «алгоритм», «программа», понимание разницы между употреблением этих терминов в обыденной речи и в информатике; умение выбирать подходящий алгоритм для решения задачи; умение составлять программы для решения типовых задач обработки массивов данных: числовых массивов, матриц, строк (других коллекций); умение записывать простые алгоритмы сортировки массивов на изучаемом языке программирования; умение использовать простые приемы динамического программирования, бинарного поиска, составлять и реализовывать несложные рекурсивные алгоритмы; свободное владение умениями и навыками использования информационных и коммуникационных технологий для поиска, хранения, обработки и передачи и анализа различных видов информации; умение выбирать способ представления данных в соответствии с поставленной задачей (таблицы, схемы, графики, диаграммы) с использованием соответствующих программных средств обработки данных; умение формализовать и структурировать информацию, использовать электронные таблицы для обработки, анализа и визуализации числовых данных; умение классифицировать основные задачи анализа данных (прогнозирование, классификация, кластеризация, анализ отклонений); понимать последовательность решения задач анализа данных: сбор первичных данных, очистка и оценка качества данных, выбор и/или построение модели, преобразование данных, визуализация данных, интерпретация результатов; сформированность представлений о сферах профессиональной деятельности, связанных с информатикой, программированием и современными информационнокоммуникационными технологиями, основанными на достижениях науки и IТ-отрасли; 6 2. Содержание курса внеурочной деятельности с указанием форм организации и видов деятельности Модуль 1. Введение в технологию искусственного интеллекта и основы программирования на Python Тема 1. Знакомство с технологией ИИ Теория. Понятия ИИ (artificial intelligence, AI). Роль ИИ в современном мире. Исторический обзор исследований в области искусственного интеллекта. Современные направления внедрения прикладных интеллектуальных систем. Перспективы развития искусственного интеллекта. Машинный интеллект и робототехника. Отличия экспертного ИИ и машинного обучения. Слабый искусственный интеллект. Сильный искусственный интеллект. Роль данных при разработке алгоритмов искусственного интеллекта или машинного обучения. Профессии в области Data Science и искусственного интеллекта: Data инженер, аналитик данных, инженер машинного обучения, Data сайентист. Практика. Практическая работа 1. «Введение в машинное обучение. Профессия Дата сайентист» Тема 2. Введение в язык программирования Python. Основные конструкции Теория. Роль программирования в машинном обучении. История, особенности и преимущества языка программирования Python. Классификация языков по способам исполнения: компилируемые и интерпретируемые. Среда разработки (IDE) для машинного обучения: Google Collab и Jupyter Lab. Дистрибутив Anaconda для научных вычислений, включая науки о данных и машинное обучение. Знакомство со структурой программы на языке Python. Функция как минимальная единица программы на Python. Виды функций: встроенные и пользовательские. Синтаксис функций. Аргументы функций. Встроенные функции для организации диалога: вывод информации рrint() и чтение данных с клавиатуры input(): синтаксис и допустимые значения аргументов. Понятие переменной: назначение, синтаксис, инициализация, требования к имени. Понятие типа данных. Базовые типы данных: int, float, string. Понятие операция, операнд и оператор. Математические операции: синтаксис и правила применения. Логические выражения: синтаксис и правила применения. Условный оператор: назначение, виды, синтаксис. Полный условный оператор. Логические операции: синтаксис и правила применения. Каскадный условный оператор: синтаксис и правила применения. Практика. Практическая работа 2. «Установка Python. Дистрибутив Anaconda». Практическая работа 3. «Знакомство с браузерной средой программирования Google Colab». Практическая работа 4. «Организация диалога при помощи функций рrint() и input()». Практическая работа 5. «Линейный алгоритм. Задача по определению возраста пользователя». Практическая работа 6. «Линейный алгоритм. Программа-калькулятор». Практическая работа 7. «Линейный алгоритм. Целочисленная арифметика». Практическая работа 8. «Условный оператор. Сравнение трех чисел». Формы организации: беседы, дискуссии, совместные поиски решений, групповая работа, парная работа, мини-конференции, мини-проекты, исследования в рамках внеурочной деятельности, предметные олимпиады. Модуль 2. Создание алгоритмов искусственного интеллекта на Python Тема 3. Строки и циклы Теория. Тип string и операции над строками. Понятие конкатенации. Инициализация строк. Хранение символов в памяти компьютера. Таблица ASCII. Функция ord и chr: назначение, синтаксис и примеры использования. Индексация и слайсинг: назначение и 7 примеры использования. Явное приведение типов. Применение срезов для извлечения части строки. Встроенные методы. Функции и методы для работы со строками. Понятие цикла, тело цикла, переменная цикла. Цикл с условием (цикл while): назначение, синтаксис, примеры использования. Цикл с параметром (цикл for): назначение, синтаксис, примеры использования. Управление циклом с помощью операторов break и continue. Практика. Практическая работа 9. «Циклы и работы со строками. Рисование фигур при помощи символов». Практическая работа 10. «Циклы и работы со строками. Поиск и замена символов в строке». Практическая работа 11. «Циклы и работы со строками. Расчет количества символов по условию». Практическая работа 12. «Циклы. Числа Фибоначчи». Практическая работа 13. «Циклы. Определение количества чисел в диапазоне согласно условию». Тема 4. Python. Списки, функции. Файлы. Теория. Понятие массива. Тип данных list (список): назначение, синтаксис, примеры использования. Операции со списками. Понятие слайса и генератора, примеры использования. Методы массивов для удаления и добавления элементов. Тип данных для хранения списка именованных сущностей dict (словарь): назначение, синтаксис, примеры использования. Свойства словаря. Слияние словарей. Понятие файла. Текстовые и бинарные файлы. Методы и функции для работы с файлами: открытие, закрытие, чтение и запись. Режимы открытия файлов. Примеры использования файлов. Пользовательские функции в Python: назначение, создание, вызов. Область видимости переменных. Локальная и глобальная переменная: назначения, инициализация, передача параметров. Понятие лямбда-функции. Практика. Практическая работа 14. «Словарь. Вывод данных из телефонного справочника». Практическая работа 15. «Списки. Генерация элементов массива». Практическая работа 16. «Функции. Вычисление произведения всех нечётных натуральных чисел из диапазона». Практическая работа 17. «Функции. Возвращение числа предыдущих вызовов данной функции». Практическая работа 18. «Функции. Возвращение логических констант в зависимости от условия». Практическая работа 19. «Функции. Обновление функции преобразования строки». Тема 5. Основы объектно-ориентированного программирования Теория. Парадигма объектно-ориентированного программирования. Основные компоненты ООП: класс, объект, свойства, методы. Назначение объекта и его синтаксис. Создание объекта в Питон. Параметры и методы объекта. Конструктор и экземпляр класса. Динамические поля. Понятие родительского и дочернего класса. Принципы ООП: наследование, полиморфизм, инкапсуляция. Варианты доступа к данным: свободный режим доступа (public), режим доступа protected, режим доступа private. Перегрузка операторов. Практика. Практическая работа 20. «ООП. Создание простого класса». Практическая работа 21. «ООП. Создание класса числа с конструктором от числа, оператором += и методом get_val(), возвращающим значение». Практическая работа 22. «ООП. Создание класса MyQueue очереди с конструктором по умолчанию и функциями по его обработке». Практическая работа 23. «ООП. Создание класса Нейрон». Тема 6. Математические основы искусственного интеллекта 8 Теория. Роль математики в программировании. Линейная алгебра: векторы и матрицы. Алгебраическое и геометрические определение вектора. Операции над векторами: сложение, умножение на скаляр (число), вычитание. Вычисление длины вектора. Норма вектора. Многомерные векторы. Основы линейной алгебры: матрицы. Понятие матрицы, элементы матрицы. Операции над элементами матрицы: сложение, вычитание, умножение, транспонирование. Умножение матрицы на вектор. Преобразование плоскости. Ассоциативность умножения матриц. Дистрибутивность умножения матриц. Единичная матрица. Нулевая матрица. Обратная матрица. Основы математической статистики и теории вероятности. Матстатистика: понятие, назначение, терминология. Случайная величина. Распределение случайной величины. Распределения реальных случайных величин: понятие выборки. Понятие независимости случайных величин. Независимость в анализе данных. Базовые понятия теории вероятностей: испытания и события, испытание или эксперимент со случайным исходом. Свойства вероятности. Попарно независимые события. Независимость в совокупности. Практика. Практическая работа 24. «Векторы. Вычисление координат векторов». Практическая работа 25. «Векторы. Нахождение угла между векторами». Практическая работа 26. «Векторы. Нахождение вектора, удовлетворяющего условию». Практическая работа 27. «Матрицы. Вычисление произведения матриц». Практическая работа 28. «Матрицы. Вычисление разницы матриц». Практическая работа 29. «Теория вероятности. Решение задач». Тема 7. Библиотеки Python для обработки данных Теория. Библиотека Numpy для обработки числовых массивов. Создание одномерных и многомерных массивов, поэлементные операции с ними, добавление, объединение, удаление и сортировка массивов. Слайсинг массивов, многомерные массивы, поэлементные операции (shape broadcasting) и операции по осям (сворачивание), изменение формы массива. Линейная алгебра с библиотекой Numpy. Инициализация матриц значениями из равномерного распределения. Основные математические операции по работе с векторами и матрицами в Numpy. Векторно-матричная и матрично-векторная операции. Встроенный метод T для транспонирования матриц. Библиотека Pandas для работы с табличными данными. Встроенные типы данных Series и DataFrame. Назначение методов .loc, .iloc, head() и примеры их использования. Функция загрузки больших наборов данных read_csv, примеры использования. Методы . shape (возвращение кортежа из числа строк и столбцов у DataFrame), .columns (возвращение коллекции с названиями столбцов), .info() (информация о всех строках DataFrame). Индексация по условиям и изменение данных в таблицах. Визуализация данных посредством графиков. Виды графиков. Точечная диаграмма (Scatter plot) или диаграмма рассеяния как основной инструмент визуализации в машинном обучении и анализе данных. Пример использования библиотеки для анализа и визуализации данных о пассажирах Титаника (датасет Titanik). Библиотеки Mapltlolib и Seaborn для построения графиков. Функции библиотек. Пример использования библиотек для визуализации данных о пассажирах Титаника (датасет Titanik). Практика. Практическая работа 30. «Библиотека Numpy. Обработка одномерных массивов». Практическая работа 31. «Библиотека Numpy. Обработка двумерных массивов». Практическая работа 32. «Библиотека Numpy. Пользовательская функция для обработки одномерных массивов». 9 Практическая работа 33. «Библиотека Numpy. Пользовательская функция для обработки двумерных массивов». Практическая работа 34. «Библиотека Numpy и линейная алгебра. Скалярное произведение векторов». Практическая работа 35. «Библиотека Numpy и линейная алгебра. Умножение квадратных матриц». Практическая работа 36. «Библиотека Numpy и линейная алгебра. Задача линейной регрессии». Практическая работа 37. «Библиотека Numpy и линейная алгебра. Матричное произведение, транспонирование, вычисление обратной матрицы». Практическая работа 38. «Библиотеки Pandas, Mapltlolib и Seaborn. Анализ и визуализация данных о пассажирах Титаника (датасет Titanik)». Формы организации: беседы, дискуссии, совместные поиски решений, групповая работа, парная работа, мини-конференции, мини-проекты, исследования в рамках внеурочной деятельности, предметные олимпиады. Модуль 3. Машинное обучение как методология ИИ Тема 8. Введение в машинное обучение Теория. Базовые понятия машинного обучения (МО): объекты и признаки, выборка, целевая переменная. Примеры применения МО. Типы алгоритмов машинного обучения: машинное обучение с учителем, машинное обучение без учителя. машинное обучение с частичным привлечением учителя, машинное обучение с подкреплением. Постановка задачи машинного обучения: обучение с учителем. Представление данных в машинном обучении. Табличные данные и типы признаков. Признаковое описание объектов. Числовые, категориальные, бинарные и прочие признаки. Виды задач МО. Понятия регрессии и классификации, их отличия и графическое представление, область применения. Проблема переобучения. Измерение качества модели машинного обучения. Функционалы качества: метрика, функция потерь. Критерии качества моделей. Переобучение многочленов. Методы решения проблем с переобучением. Метод kближайших соседей (k-nearest neighbors), KNN, его преимущества и недостатки. Пайплайн машинного обучения. Этапы разработки модели машинного обучения. Диаграмма пайплайна, принцип разделения данных: обучающая и валидационная части. Обработка данных и data leakage, признаков и кросс-валидация для подбора гиперпараметров модели. Обработка данных: валидация, удаления утечки и обработка пропущенных значений, обработка категориальных и численных признаков. Метрики машинного обучения. Метрики, их назначение. Виды метрик. Основные метрики регрессии: MSE, MAE и их вариации; коэффициент детерминации. Отличие метрики от функции потерь. Метрики Precision и Recall, показатель F1-мера. Оценивание качества упорядочивания графиком ROC-AUC. Логистическая функция ошибки LogLoss. Практика. Практическая работа 39 «Решение задач по теме пайплан МО» Практическая работа 40 «Реализация класса линейной регрессии». Тема 9. Математические основы машинного обучения Теория. Функции математического анализа. Число Эйлера и показательная функцией. Экспоненциальная функция, ее график, свойства. Пределы функций и последовательностей. Понятие и основные свойства логарифмической функции, ее график. Свойства функций: непрерывность, экстремумы, возрастание и убывание. Экстремумы функций: определения, примеры экстремумов и свойство монотонности функций. Производная, градиент и градиентная оптимизация. Понятие производной, геометрический смысл. Производная как функция. Производная композиции функций. Вычисление производных, правило производной композиции. Производная функций многих переменных. Градиент. Градиентная оптимизация. Алгоритм градиентного спуска для нахождения минимума функции. Одномерный градиентный спуск на языке Python. 10 Практика. Практическая работа 41 «Решение задач на градиентную оптимизацию». Тема 10. Алгоритмы регрессии в задачах МО Теория. Алгоритм МО линейная регрессия для анализа данных: определение и основные свойства. Обучение модели линейной регрессии для большего количества признаков. Применение модели линейной регрессии из библиотеки Python Sklearn к решению практических задач. Визуализация модели. Интерпретация коэффициентов линейной регрессии. Алгоритм логистической регрессии. Двумерная линейная классификация. Многомерный случай. Вычисление вероятности классов. Логистическая регрессия. Логистическая регрессия в матричном виде. Запись критерия качества. Логистическая функция потерь. Практика. Практическая работа 40 «Реализация класса линейной регрессии». Практическая работа 42. «Реализация логистической регрессии с L2оегуляризацией» Тема 11. Выбор модели МО и метода оценки ее эффективности в зависимости от решаемой задачи Теория. Логические алгоритмы анализа данных. Решающие деревья, устройство и обучение для задачи классификации. Анализ решающих деревьев. Выбор решающего правила в решающем дереве. Переобучение и недообучение решающих деревьев: постановка проблемы; гиперпараметры решающих деревьев. Преимущества и недостатки решающих деревьев. Решающее дерево для задачи регрессии. Композиции алгоритмов. Идея построения композиции алгоритмов: принцип Кондорсе; эксперимент Гальтона. Бэггинг: простое голосование; бутстрэп. Алгоритм случайного леса. Стекинг: идея стекинга, способы обучения, анализ. Бустинг: идея алгоритма, градиентный бустинг, преимущества и недостатки. Пайплайн выбора модели. Работа с библиотекой Sklearn (модули grid search и pipeline). Конвейер обработки данных с помощью различных моделей. Выбор наилучшей модели машинного обучения для конкретной задачи. Техники выбора гиперпараметров модели. Конкурсы на kaggle.com. Платформа для проведения соревнований по машинному обучению Kaggle. Датасетм и загрузка решений на платформу Kaggle. Практика. Практическая работа 43 «Построение модели МО методом ближайших соседей и измерение её качества с помощью кросс-валидации». Практическая работа 44. «Обучение композиции алгоритмов: случайный лес и градиентный бустинг с помощью готовых реализаций данных моделей в библиотеках sklearn и catboost.» Формы организации: беседы, дискуссии, совместные поиски решений, групповая работа, парная работа, мини-конференции, мини-проекты, исследования в рамках внеурочной деятельности, предметные олимпиады. Модуль 4. Нейронные сети и компьютерное зрение Тема 12. Введение в нейронные сети. Теория. История развития нейросетей. Модель искусственного нейрона. Перцептрон Розенблатта: полнота и сходимость. Алгоритм обучения нейронных сетей. Рекуррентные нейронные сети. Свёрточные нейронные сети. Революция глубокого обучения. Трансформеры в обработке естественного языка. Современное развитие нейронных сетей. Модель нейрона. Функция сигмоиды. Функции активации. Один нейрон и полносвязная нейронная сеть. Многослойный перцептрон обучение полносвязных нейронных сетей. Задача распознавания рукописных цифр. Преобразование вектора в перцептроне. Параметры нейронной сети. Обучение нейронных сетей. Обучение перцептрона. Оптимизация функции потерь. Стохастический градиентный спуск. Анализ полносвязных нейросетей. Способы регуляризации в нейронных сетях: слои Dropout и 11 Batch Normalization и их применение. Фреймворки deep learning. Обучение нейронных сетей в библиотеке глубокого обучения PyTorch. Практика. Практическая работа 45. «Обучение нейронных сетей в Pytorch». Тема 13. Технология компьютерного зрения Теория. Сверточные нейросети: история развития компьютерного зрения. История развития компьютерного зрения, конкурс ImageNet. Компьютерное зрение до нейросетей. Устройство свертки. Гистограмма ориентированных градиентов (HOG). Классификация изображений. Полносвязные сети для обработки картинок. Сверточные сети для обработки картинок. Свертка изображения фильтром. Операция свертки. Свертка цветных изображений. Построение прототипа сверточной нейросети. Устройство полноценной сверточной нейросети. Последовательные сверточные слои в обработке картинок. Устройство сверточной нейронной сети для задачи классификации. Интерпретация сверточных слоев. Параметры в полносвязной части сверточной нейросети. Pooling в решении проблемы большого количества параметров сверточной нейросети. Архитектуры CNN. Архитектуры сверточных нейросетей: AlexNet; VGG. Проблема затухания градиентов. Skip Connection. Skip Connection в сверточных слоях. Архитектуры ResNet, DenseNet. Transfer Learning: перенос знаний. Применение при обучении нейросетей. Дообучение сети. Заморозка слоев перед дообучением. Практика. Практическая работа 46. «Построение сверточной нейросети для решения задачи классификации». Практическая работа 47. «Дообучение нейросети на задачу классификации картинок». Формы организации: беседы, дискуссии, совместные поиски решений, групповая работа, парная работа, мини-конференции, мини-проекты, исследования в рамках внеурочной деятельности, предметные олимпиады. Модуль 5. Продвинутые алгоритмы машинного обучения Тема 14. Логистическая регрессия для классификации текстов Теория. Задача классификации текстов и ее применение. Классические методы решения, их достоинства и недостатки. Способы кодирования текстов для использования в классическом подходе. Предварительная обработка текста с помощью библиотеки nltk. Обучение алгоритма логистической регрессии на bag-of-words (мешок слов) и эмбеддингах слов в двух сеттингах на задаче классификации настоящих и фейковых новостей, сравнение результатов. Практика. Практическая работа 48. «Логистическая регрессия для классификации текстов. Создание спам-фильтра». Тема 15. Метод опорных векторов (SVM) Теория. Назначение метода опорных векторов (SVM). Задача линейной классификации. Разделимый и неразделимый случаи. Идея алгоритма. Ядерный трюк. Преимущества SVM. Отступ объекта. Функция потерь. Ширина полосы. Задача оптимизации. Практика. Практическая работа 49. Решение задачи оптимизации. Тема 16. Градиентный бустинг Теория. Градиентный бустинг как новый способ построения композиции алгоритмов. Применение алгоритма для задач классификации, регрессии и простой модельной задачи. Преимущества и недостатки бустинга. Готовые реализации: XGboost, LightGBM и CatBoost. Практика. Практическая работа 50. «Решение задачи регрессии с помощью градиентного бустинга». Тема 17. Кластеризация и методы понижения размеренности 12 Теория. Задачи машинного обучения без учителя (без обучающей выборки): кластеризация и методы понижения размеренности. Методы снижения размерности: метод главных компонент, t-SNE и автоэнкодеры. Задача кластеризации: постановка и применение. Методы кластеризации: K-Means и DBSCAN, их преимущества и недостатки. Практика. Практическая работа 51. «Решение задачи кластеризации с помощью библиотеки sklearn». Тема 18. Задачи компьютерного зрения и их нейросетевые решения Теория. Задачи области компьютерного зрения: сегментация, детекция, генерация изображений. Постановка задачи сегментации и идеи ее решения. Семантическая сегментация. Transposed convolution, Современные архитектуры нейросетей для задачи сегментации SegNet, U-Net. Задачи на стыке компьютерного зрения и обработки естественного языка. Сферы их применения и ресурсы для тестирования моделей для этих задач. Практика. Практическая работа 52. «Решение задачи сегментации изображений с камеры беспилотного автомобиля». Тема 19. Внедрение моделей машинного обучения в продукт Теория. Стадии разработки ML-моделей. Выбор метрики в зависимости от области. Сложность конвертации. ML и проблема точности. Валидация данных и признаков. Недоступность признаков и кредитный скоринг. Проблема выбора модели. ML и проблема выбора быстрой модели. Метрики продукта. Примеры продуктовых гипотез. Этапы внедрения ML-моделей. Практика. Практическая работа 53. «Создание телеграм-бота с языковой моделью для классификации токсичных текстов». Тема 20. Введение в обработку естественного языка Теория. Обработка естественного языка (Natural Language Processing, NLP). Примеры использования NLP. Данные для обучения. Основные задачи NLP. Способы кодирования слов для подачи в модели машинного обучения: мешок слов Bag of Words, и Tf-Idf, их преимущества и недостатки. Обработка текста. Базовые операции по обработке текстов: получение признака из текста и очищение его от ненужной информации. Стемминг и лемматизация. Токенизация. Эмбеддинги - способ кодирования слов для подачи в алгоритмы машинного обучения. Свойства эмбеддингов. дистрибутивная семантика. Получение эмбеддингов. Способы обучения эмбеддингов: Word2Vec и GloVe. Проверка качества эмбеддингов. Практика. Практическая работа 54. «Предобученные эмбеддинги из библиотеки gensim для решения задачи перевода текста». Тема 21. Классификация текста и рекуррентные нейронные сети Теория. Методы классификации текстов. Рекуррентные нейронные сети (RNN): общее устройство, применение в классификация текстов, виды. Простейший вид Vanilla RNN. Преимущества и недостатки RNN. Применение RNN для решения задач обработки текста: классификация, языковое моделирование, машинный перевод. Практика. Практическая работа 55. «Бинарная классификация с помощью рекуррентной нейронной сети». Тема 22. Языковое моделирование Теория. Понятие языкового моделирования. Формальная постановка задачи через перемножение условных вероятности слов для оценки вероятности текста. Метрики качества. Основная метрика качества для языкового моделирования — перплексия. Формула перплексии. Решение задачи языкового моделирования с помощью N-граммной языковой модели. Решение задачи языкового моделирования с помощью RNN. Методы генерации текста с помощью языковых моделей. Стратегии генерации текста: greedy и beam search. Введение в LSTM и GRU. Проблемы взрывающихся и затухающих градиентов. Решение проблем с помощью клипинга градиентов и архитектур LSTM и GRU. 13 Практика. Практическая работа 56. «Обучение char-level языковой модели в помощью RNN». Тема 23. Современные архитектуры NLP Теория. История развития архитектур в NLP. Современная архитектура Transformer. Позиционные эмбеддинги и общая архитектура Transformer. Механизм внимания. Слои и элементы: multi-head attention, LayerNorm, feed-forward слой, residual connections. Кодирование позиционной информации позиционными эмбеддингами. Примеры использования архитектуры в различных областях глубокого обучения. Subword токенизация. Наивной токенизации иее проблемы. есть несколько проблем, в том числе out-of-vocabulary.Современный алгоритм токенизации текста — BytePair-Encoding Практика. Практическая работа 57. «Решение задачи классификации с помощью модели BERT архитектура Transformer. Тема 24. Введение в Transfer Learning в NLP. Теория. Особенности подхода Self-supervised learning. Предобучение на большом объеме “сырых” данных. Датасет для оценки качества GLUE. GPT. BERT и Masked Language Modeling. BART. Предобучение Seq2seq. Суммаризация текста с помощью BART. Практика. Практическая работа 58. «Классификация токенов». Формы организации: беседы, дискуссии, совместные поиски решений, групповая работа, парная работа, мини-конференции, мини-проекты, исследования в рамках внеурочной деятельности, предметные олимпиады. 14 3. Тематическое планирование Тема № п/п Кол-во часов 10 класс Модуль 1. Введение в технологию искусственного интеллекта и основы программирования на Python – 14 часов 1 Знакомство с технологией ИИ 2 2 Знакомство с профессиями в ИИ 2 3 Введение в язык программирования Python. Среда разработки Jupyter Lab. Дистрибутив Anaconda 2 4 Введение в язык программирования Python. Организация диалога 2 Введение в язык программирования Python. Основные синтаксические единицы и конструкции Введение в язык программирования Python. Линейный и условный алгоритмы Введение в язык программирования Python. Каскадный условный оператор 5 6 7 2 2 2 Модуль 2. Создание алгоритмов искусственного интеллекта на Python – 54 часа 8 Строки и циклы. Тип string и операции над строками 2 9 Строки и циклы. Цикл с параметром и условием 2 10 Списки, функции. Типы данных list и dict 2 11 Списки, функции. Операции со списками 2 12 Списки, функции, файлы. Пользовательские функции 2 13 Списки, функции. Возвращение логических констант в зависимости от условия 2 14 Списки, функции. Обработка файлов 2 15 Основы объектно-ориентированного программирования. Классы и объекты 2 16 ООП. Конструкторы 2 17 ООП. Методы 2 18 ООП. Перегрузка операторов 2 19 ООП. Создание класса Нейрон 2 15 20 21 22 23 24 25 26 27 28 29 Математические основы искусственного интеллекта. Векторы и матрицы Математические основы искусственного интеллекта. Вычисление координат векторов Математические основы искусственного интеллекта. Нахождение угла между векторами Математические основы искусственного интеллекта. Нахождение вектора, удовлетворяющего условию Математические основы искусственного интеллекта. Вычисление произведения матриц Математические основы искусственного интеллекта. Вычисление разницы матриц Математические основы искусственного интеллекта. Теория вероятности Математические основы искусственного интеллекта. Математическая статистика Математические основы искусственного интеллекта. Задачи по теории вероятности Библиотека Numpy для обработки числовых массивов. Обработка одномерных массивов 2 2 2 2 2 2 2 2 2 2 30 Библиотека Numpy. Обработка двумерных массивов 31 Библиотека Numpy. Пользовательская функция для обработки одномерных массивов 2 32 Библиотека Numpy и линейная алгебра. Задача линейной регрессии 2 33 34 Матричное произведение, транспонирование, вычисление обратной матрицы Библиотеки Pandas, Mapltlolib и Seaborn. Анализ данных о пассажирах Титаника (датасет Titanik) Визуализация данных о пассажирах Титаника (датасет Titanik) 2 2 11 класс Модуль 3. Машинное обучение как методология искусственного обучения – 22 часа 35 Введение в машинное обучение (МО). Регрессия и классификация 2 36 Пайплайн машинного обучения 2 37 Построение модели МО методом ближайших соседей и измерение её качества с помощью кросс-валидации 2 38 Метрики машинного обучения 2 39 Реализация класса линейной регрессии 2 40 Математические основы машинного обучения. Функции математического анализа 2 41 Алгоритмы регрессии в задачах МО 2 16 42 Логистическая регрессия 2 43 Решающие деревья 2 44 Композиции алгоритмов 2 45 Пайплайн выбора модели 2 Модуль 4. Нейронные сети и компьютерное зрение – 12 часов 46 Введение в нейросети 2 47 Построение нейронных сетей. Введение в библиотеку Pytorch. 2 48 Обучение нейронных сетей в библиотеке PyTorch 2 49 Технология компьютерного зрения. Свёрточные нейронные сети 2 50 Архитектуры CNN и Transfer Learning 2 51 Классификация изображений на практике 2 Модуль 5. Продвинутые алгоритмы машинного обучения – 34 часа 52 Логистическая регрессия для задач классификации текста 2 53 Логистическая регрессия для задач классификации текста 2 54 Алгоритм SVM 2 55 Градиентный бустинг 2 56 Градиентный бустинг 2 57 Задачи компьютерного зрения и их нейросетевые решения 2 58 Задачи компьютерного зрения и их нейросетевые решения 2 59 Внедрение моделей машинного обучения в продукт 2 60 Внедрение моделей машинного обучения в продукт 2 61 Введение в обработку естественного языка. Эмбеддинги слов 2 62 Введение в обработку естественного языка. Эмбеддинги слов 2 63 Классификация текстов с помощью эмбеддингов слов 2 17 64 Классификация текстов с помощью эмбеддингов слов 2 65 Языковое моделирование 2 66 Языковое моделирование 2 67 Современные архитектуры NLP. Transformer, BERT 2 68 Transfer Learning в NLP 2 Итого 136 18