Бесплатный курс Харварда Введение в искусственный интеллект с использованием языка Python

Бесплатный курс Харварда Введение в искусственный интеллект с использованием Python

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

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

Если вы хотите освежить свои основы программирования перед прохождением этого курса, рекомендуется ознакомиться с Введение в компьютерные науки (CS50x) — также бесплатным курсом, чтобы быть в курсе основ программирования и компьютерных наук.

Итак, давайте рассмотрим содержание курса.

Ссылка на курс: Введение в искусственный интеллект с использованием Python в курсе CS50

1. Поиск

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

В этом первом модуле о поиске рассмотрены следующие темы:

  • Поиск в глубину (DFS)
  • Поиск в ширину (BFS)
  • Жадный поиск с наилучшим первым выбором
  • Поиск с использованием алгоритма A*
  • Минимакс
  • Отсечение альфа-бета

Следующие проекты будут разработаны в этом модуле:

Ссылка: Поиск

2. Знания

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

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

Во втором модуле о знаниях рассматриваются следующие темы:

  • Предложения в логике
  • Выводимость
  • Исчисление
  • Модель проверки
  • Резолюция
  • Логика первого порядка

А проекты, которые вы будете создавать, включают:

  • Рыцари: программа для решения логических головоломок и искусственный интеллект, играющий в матрицу
  • Создание искусственного интеллекта для игры в сапёра

Ссылка: Знания

3. Неопределённость

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

Этот модуль включает:

  • Вероятность
  • Условная вероятность
  • Случайные величины
  • Независимость
  • Байесовские сети
  • Распределение
  • Марковские модели
  • Скрытые Марковские модели

Проекты, которые вы будете создавать:

  • Искусственный интеллект, который оценивает значимость веб-страниц по важности
  • Искусственный интеллект, оценивающий вероятность наличия генетического признака у человека.

Ссылка: Неопределенность

 

4. Оптимизация

 

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

В этом модуле рассматриваются следующие алгоритмы оптимизации:

  • Локальный поиск 
  • Подъем на гору 
  • Имитация отжига
  • Линейное программирование 
  • Удовлетворение ограничений 
  • Поиск с возвратом

В рамках этого модуля вы создадите ИИ, который генерирует кроссворды.

Ссылка: Оптимизация

 

5. Обучение

 

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

В модуле рассматриваются следующие темы:

  • Классификация ближайших соседей 
  • Обучение перцептрона 
  • Метод опорных векторов 
  • Регрессия 
  • Функции потерь 
  • Регуляризация 
  • Марковский процесс принятия решений 
  • Обучение методом Q 
  • Кластеризация K-средних 

Для этого модуля вам предстоит создать ИИ, который предсказывает, завершит ли клиент онлайн-покупку.

Ссылка: Обучение

 

6. Нейронные сети

 

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

Вот обзор тем, рассматриваемых в модуле нейронных сетей:

  • Искусственные нейронные сети 
  • Функции активации 
  • Градиентный спуск 
  • Обратное распространение 
  • Переобучение 
  • Тензорный поток 
  • Сверточные нейронные сети 
  • Рекуррентные нейронные сети 

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

Ссылка: Нейронные сети

 

7. Язык

 

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

  • Синтаксис 
  • Семантика 
  • Контекстно-свободная грамматика 
  • N-граммы 
  • Мешок слов 
  • Внимание 
  • Трансформеры 

Вот проекты для этого модуля:

  • Парсер, разбирающий предложения и извлекающий именные фразы 
  • Предсказание маскированного слова 

Ссылка: Язык

 

Заключение

 

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

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

[Bala Priya C](https://twitter.com/balawc27) – разработчик и технический писатель из Индии. Ей нравится работать на пересечении математики, программирования, науки о данных и создания контента. Ее интересы и экспертиза включают в себя DevOps, науку о данных и обработку естественного языка. Она любит чтение, написание, кодинг и кофе! В настоящее время она работает над изучением и обменом своими знаниями с разработческим сообществом, создавая учебные пособия, руководства и мнения и многое другое.