Чему вы научитесь
- Изучите работу полносвязных нейронных сетей.
- Познакомитесь с фреймворком PyTorch для проектирования и обучения нейросетевых моделей.
- Увидите, каким образом происходит обучение нейронных сетей с помощью алгоритма Back Propagation.
- Научитесь работать с набором обучающих данных, представленных в разных форматах.
- Рассмотрите важные аспекты, связанные с переобучением моделей и способами борьбы с ним: L2-регуляризация, Dropout, Batch Normalization.
- Узнаете, как работают сверточные нейронные сети.
- Познакомитесь с известными архитектурами сверточных сетей: VGG, ResNet, U-Net.
- Изучите принцип работы рекуррентных нейронных сетей.
- Узнаете о LSTM и GRU блоках.
- Изучите и научитесь применять Embedding при прогнозировании слов в предложениях.
- Познакомитесь с принципом работы автоэнкодеров и генеративных сетей.
О курсе
Нейронные сети не нуждаются в представлении. О них слышал практически каждый. Но далеко не каждый понимает и даже отдаленно представляет принцип их работы. Это рождает много домыслов и небылиц о зарождении искусственного самосознания, захвата мира бездушными машинами, о проникновении в творческие профессии и полного вытеснения из них человека. Чтобы лучше разбираться в этих и других подобных вопросах, как всегда, необходимы базовые, фундаментальные знания в области нейронных сетей. И этот курс предоставляет их вам, с минимальными математическими обоснованиями, необходимыми для понимания сути приводимых алгоритмов.
Я думаю, этот курс будет полезно пройти даже тем, кто не собирается проектировать, обучать и внедрять нейросетевые технологии в повседневную жизнь. Ценность этого курса уже в том, чтобы устранять многие мифы и небылицы вокруг этого относительно нового направления и тем самым поддерживать развитие искусственного интеллекта в нашей стране. Тем более, что лидеры в нем сейчас Китай и США.
Практической основой курса выбран фреймворк PyTorch, с помощью которого выполняется построение и обучение нейронных сетей. Почему именно PyTorch? В действительности, единственный конкурент ему другой аналогичный фреймворк Keras/Tensorflow. Однако PyTorch имеет более удобный функционал проектирования сетей самой разной архитектуры. В то время как Keras/Tensorflow больше зарекомендовал себя в коммерческих приложениях (в продакшене) благодаря несколько более высокой скорости обучения НС. Но различия по скорости работы между этими двумя фреймворками не так существенны, а иногда и вовсе незаметны, чтобы отказываться от удобства PyTorch в пользу Keras/Tensorflow. К тому же, изучив PyTorch, вы легко сможете перейти на Keras/Tensorflow, если в этом возникнет необходимость.
Несмотря на то, что этот курс является логическим продолжение курса по машинному обучению:
https://stepik.org/course/209247/
его, тем не менее, можно проходить независимо от первого и обращаться к предыдущему лишь по некоторым темам, если они вам неизвестны. Также желательно хорошо знать пакет NumPy для работы с векторами и матрицами:
Ну и, конечно же, сам язык Python, который является основой для разработки самых разных алгоритмов машинного обучения, включая нейронные сети:
https://stepik.org/course/100707/
Желаю всем успешного изучения этого интересного, захватывающего и трендового направления!
Телеграм-канал: https://t.me/machine_learning_selfedu
Для кого этот курс
Для всех желающих окунуться в мир нейронных сетей.
Начальные требования
Уверенные знания школьной математики, линейной алгебры, дифференцирование матриц и векторов, теории вероятностей и математической статистики (основы).
Знание языка программирования Python: https://stepik.org/course/100707/
Базовые знания первой части курса по ML: https://stepik.org/course/209247/