Статья создана в апреле 2020 года, около 7000 слов, расчетное время чтения 18 минут, пожалуйста, сядьте и расслабьтесь.
0 - Предисловие
Примечание. В этой статье по умолчанию традиционные алгоритмы являются базовыми навыками всех инженеров, поэтому алгоритмы, упомянутые ниже, в основном относятся к таким алгоритмам, как машинное обучение и глубокое обучение.
Хотя в центре моего поиска работы по-прежнему находится бэкэнд, чтобы успешно закончить текущую степень магистра в области искусственного интеллекта и позволить себе расширить путь разработки алгоритмов, я просто планирую знания и навыки, которые нужно дополнить в этой части алгоритма.Еще необходимо.
Эта статья направлена на то, чтобы получить предложение о работе по алгоритму в 2021 году, начиная с опыта работы по алгоритму в 2020 году, и анализирует, какие деревья навыков необходимы.
1 - Разница между постами с разными алгоритмами
Первое, что следует отметить, это то, что технические должности в разных областях будут различаться в зависимости от степени участия в научных исследованиях и бизнесе.
Вы можете просто сослаться на вопрос Говарда о Чжиху.«В чем разница между исследованиями в академических кругах и исследованиями и разработками в промышленности?»Ответ на [1], посты алгоритма можно условно разделить на:
- Бизнес-ориентированный, в большинстве случаев основное внимание уделяется развитию;
- Ориентация на технологии, как исследования, так и разработки;
- Ориентированный на исследования, в большинстве случаев он будет основан на исследованиях;
В последние годы этот момент более очевиден в посте об алгоритмах, потому что несколько лет назад большинство алгоритмов все еще находились на стадии исследования.Недавно, после того, как были открыты некоторые зрелые библиотеки пакетов машинного обучения, некоторые отрасли начали обнаруживать Эти алгоритмы могут генерировать реальную ценность, поэтому количество рабочих мест, связанных с алгоритмами, в последние годы продемонстрировало взрывной рост, особенно среди инженеров-алгоритмов, ориентированных на бизнес (поскольку большинство компаний все еще надеются, что эти алгоритмы могут приносить больше и быстрее ценность для бизнеса).
Конечно, это на самом деле немного запоздало.Сейчас не то время, когда это началось.В то время вы бы использовали фреймворк и настроили параметры, чтобы получить предложение.Текущий пост алгоритма больше похож на нормальную ситуацию после волны. Требуется не только прочная теоретическая база, но и богатая проектная практика.
Лично я больше склоняюсь к бизнес-ориентированной разработке алгоритмов, поэтому эта статья написана с этой целью.Если вам интересно узнать подробности о трех разных позициях, вы можете прочитать статью в публичном аккаунте Си Сяояо.«Откажитесь следовать тренду, расскажите о разнице и опыте нескольких постов алгоритма»[2].
2 - После прочтения Священных Писаний 2020 г.
Чтобы лучше понять, что компании в различных отраслях ценят больше (вероятно, технологии, которые используют эти компании), я предпочитаю находить возможные ответы непосредственно в посте алгоритма на фейсбуке.Niuke.com[3] выше.
Найденные точки можно просто сгруппировать в следующие категории:
- чистая математика
- машинное обучение
- глубокое обучение
- связанные с НЛП
- Алгоритм рекомендаций
Некоторые традиционные алгоритмы здесь не перечислены (достаточно также Leetcode и некоторых книг, таких как "The Sword Offer"). Мяньцзин, который я вижу, ограничен, и контент, представленный в Мяньцзин, также ограничен, поэтому следующее содержание нельзя назвать обобщенным, но, по крайней мере, большую часть часто встречающихся ключевых слов можно извлечь (если они действительно есть). , написать краулер + извлечение ключевых слов).
Поскольку контент не имеет большого количества последовательных зависимостей, он указан в том порядке, в котором он появляется в Mianjing.
2.1 - Чистая математическая релевантность
- Расчет вероятности события
- Распределение Дирихле
- Оценка максимального правдоподобия и байесовская оценка
- ...
2.2 - Машинное обучение
- Очистка данных, сглаживание данных
- Обычно используемые методы уменьшения размерности, PCA
- LDA(Linear Discriminant Analysis)
- Дерево решений, ID3, C4.5, КОРЗИНА
- XGBoost, LightGBM, случайный лес, Adaboost, GBDT
- Принцип SVM, двойная задача
- L1, L2 регуляризация
- переоснащение
- Методы выбора признаков
- LR (логистическая регрессия) и SVM, линейный SVM и LR
- Методы кластеризации, K-средние, иерархическая кластеризация
- Индекс оценки модели, ROC
- Наивный принцип Байеса
- scikit-learn, numpy
- бэгинг и бустер
- интегрированное обучение
- Классификация
- Оптимизация модели онлайн
- Непрерывнозначные, дискретнозначные, преимущества дискретизации непрерывных функций
- Методы регрессии, линейная регрессия, гребневая регрессия, регрессия Лассо, LR
- Прирост информации, коэффициент прироста информации, отношение коэффициента Джини
- Принцип и значение горячего кодирования
- Оптимизаторы (градиентный спуск,...)
- Статистические алгоритмы обучения
- ...
2.3 - Глубокое обучение
- Feedforward Neural Network
- Back Propagation
- Слои, сверточные, пулы, полносвязные
- CNN (свертка), RNN (проблема исчезновения градиента), LSTM, ГРУ
- GAN
- Обнаружение объектов, R-CNN, Fast R-CNN, Faster R-CNN, YOLO, SSD,...
- СофтМакс, Сигмоид
- Embedding
- механизм внимания
- GCN(Graph Convolutional Network)
- Оптимизаторы (градиентный спуск, BGD, SGD, Adam, Adagard...)
- Тензорфлоу, Керас, PyTorch
- Активация(сигмовидная, softmax, relu...)
- MobileNet
- Dropout
- Процессор, ускорение графического процессора
- ...
2.4 - Связанный с НЛП
- Извлечение ключевых слов, TF-IDF
- названная сущность
- LDA(Latent Dirichlet Allocation)
- word2vec
- Берт, Трансформер
- ...
2.5 - Алгоритмы рекомендаций
- Рекомендации на основе контента
- Рекомендации по совместной фильтрации, UserCF, ItemCF
- Как работать с разреженными матрицами
- ...
2.6 - Резюме интервью
В большинстве алгоритмических собеседований вопросы интервьюера задаются по пунктам резюме.Мы можем видеть моменты, связанные со многими из вышеперечисленных пунктов, и интервьюер может задавать подробные вопросы, такие как:
- Почему исходная задача SVM должна быть преобразована в двойственную задачу, почему двойственную задачу решить легко, а исходную задачу решить нельзя?
- В K-средних я хотел сгруппировать в 100 категорий, но обнаружил, что могу сгруппировать только в 98 категорий, почему?
- В чем разница между LR и SVM в приложении?
- Для PCA будет первый главный компонент и второй главный компонент.Почему первый главный компонент является первым и почему?
- Что из бэггинга и бустинга может уменьшить дисперсию результата и почему?
- ...
Поэтому в процессе обучения вы должны знать не только «как», но и знать еще несколько «почему»: одно — уметь отвечать на вопросы во время собеседования, а другое — лучше понимать инструмент в руках.
3 - Базовое дерево навыков Алгоритма
Точки, суммированные в личном опыте, все еще немного запутаны, поэтому я ссылаюсь на некоторые сообщения о маршруте обучения алгоритму, чтобы просто классифицировать и сортировать точки, в основном относящиеся к сердцу машины.Полный маршрут обучения ИИ, наиболее подробное расположение ресурсов на китайском и английском языках.[4], ограничение по времени 2019-04-28, а так же ссылаюсь на сводку знаний, которую я не знаю когда и где нашел.Если кто знает первоисточник, можете сообщить мне в комментариях , а ссылка на картинку будет прикреплена к статье в конце (картинка очень большая, так что когда вставишь, будет плохо видно).
3.1 - Математические основы
- продвинутая математика
- Линейная алгебра
- Теория вероятностей и математическая статистика
Это не означает, что вы должны тщательно проглотить три вышеуказанных учебника, прежде чем приступить к изучению последующих.На самом деле, многие методы в области искусственного интеллекта используют лишь малую их часть.Есть некоторые специальные конспекты по математике, которые нужно для использования в машинном обучении.Книги и документы знаний [4], вы можете найти их в статье публичного аккаунта Heart of the Machine (я также поставлю ссылку в конце статьи), те, которые имеют базовые математические основы могут быть использованы для повторения, и те, у которых нет математической основы, рекомендуются. Просмотрите учебник, если вы его не понимаете.
Некоторые посты могут добавить выпуклую оптимизацию к математической основе.С точки зрения личного понимания, выпуклая оптимизация может быть названа самым скучным курсом в чистом процессе обучения.Большинство из них представляют собой некоторые определения и теоретические формулы выпуклой оптимизации.Доказательство, поэтому рекомендуется вырезать определенную точку для более глубокого изучения, когда вы столкнетесь с ней позже.
3.2 - Основы программирования
С точки зрения численного анализа и искусственного интеллекта библиотека, поддерживаемая Python, более удобна, и ее достаточно для вводного обучения, на данный момент рекомендуется версия 3.5 или 3.6.
Anaconda (или Miniconda) — это относительно удобная виртуальная среда Python и программное обеспечение для управления пакетами, но иногда оно сталкивается с проблемами (например, со странными требованиями к среде некоторых фреймворков алгоритмов), но в большинстве случаев для использования достаточно начального этапа.
Pycharm — наиболее часто используемая IDE для Python.Если у вас есть некоторые навыки, вы можете рассмотреть возможность использования плагинов vscode + и так далее.
3.3 - Обработка данных/анализ/добыча
В реальном использовании многие методы машинного обучения и глубокого обучения могут работать только с высококачественными данными, например, объем информации в данных достаточен, а уровень шума и дезинформации достаточно низок. В реальном процессе сбора данных сделать данные настолько совершенными во многих случаях невозможно, поэтому требуется некоторая предварительная обработка данных (сбор, очистка, выборка, шумоподавление, уменьшение размерности, ...).
В дополнение к основам языка Python вам также необходимо освоить некоторые основные библиотеки обработки данных, такие как numpy, pandas, matplotlib и т. д. Вы можете обратиться к «Анализу данных с использованием Python», рекомендованному Heart of Machines.
Эта книга содержит большое количество практических примеров, и вы узнаете, как использовать различные библиотеки Python (включая NumPy, Pandas, Matplotlib, IPython и т. д.) для эффективного решения различных задач анализа данных. Если вы запустите код один раз, вы сможете решить большинство проблем анализа данных.
Кроме того, есть [4]:
- Разработка функций в интеллектуальном анализе данных
- Некоторые проекты интеллектуального анализа данных
Интеллектуальный анализ данных может помочь нам сначала понять некоторые отношения между функциями данных и добавить или удалить некоторые функции, чтобы помочь в последующем обучении. Интеллектуальный анализ данных можно систематически изучать с помощью некоторых вводных книг или курсов, большинство из которых не очень глубокие.
3.4 — Традиционное машинное обучение
3.4.1 - Начало работы
Если вы изучаете математику и теоретические формулы в самом начале, когда начинаете, и не понимаете, в чем польза от этой штуки, будет трудно понять, зачем нужны эти теории.
Прежде чем изучать каждый алгоритм машинного обучения, вы можете сначала понять функцию этой штуки в целом, а затем задать вопрос «как это достигается?» изучить теорию алгоритма, чтобы лучше понять математику и формулы в нем. тщательно.
Вот рекомендуемый сайт,Библиотека обучения ИИ для продакт-менеджеров.
Энциклопедия в области искусственного интеллекта, идеально подходящая для новичков и новичков в области ИИ. Подавляющее большинство данных ИИ, которые сегодня все видят на рынке, представляют собой «научно-техническую книгу», которая требует строгости. -понимать содержание. Мы хотим отложить в сторону сложные формулы, сложную логику и сложные имена собственные. Создайте базу знаний об искусственном интеллекте, понятную студентам гуманитарных наук.
3.4.2 - Теория
Теоретическая часть машинного обучения, вероятно, такова:
- Проблемы, с которыми сталкивается машинное обучение
- Классификация
- Древо решений
- K-ближайший сосед
- SVM
- Логистическая регрессия
- байесовский
- случайный лес
- ...
- возвращение
- Линейная регрессия
- Регрессия методом наименьших квадратов
- локальная регрессия
- Нейронные сети
- ...
- кластеризация
- K-means
- EM
- ...
- Снижение размерности
- Анализ основных компонентов PCA
- Линейный дискриминантный анализ LDA
- ...
- ...
- Классификация
- возвращение
- Линейная регрессия
- Логистическая регрессия
- ...
- Деревья решений и случайные леса
- ID3
- C4.5
- CART
- дерево регрессии
- случайный лес
- ...
- SVM
- Линейно отделимый
- Линейно неразделимы
- Максимальная энтропия и алгоритм ЭМ
- Комбинация нескольких алгоритмов и оптимизация модели
- выбор модели
- Анализ состояния модели
- Оптимизация модели
- слияние моделей
- Байесовская сеть
- Скрытая цепь Маркова HMM
- Цепь Маркова
- Скрытая цепь Маркова
- Тематическая модель LDA
- интегрированное обучение
- ...
Внутренняя ОС: Это в основном то же самое, что и каталог некоторых книг.
Рекомендуемые курсы[4]:
- «Машинное обучение» — Нг Энда, Источник: Coursera, больше подходит для вводных курсов.
- «Машинное обучение» — Ву Энда, Источник: NetEase Cloud Classroom., перевод и обработка вышеперечисленных курсов Netease Cloud Classroom.
- «CS229» — Ву Энда, Стэнфорд, источник: NetEase Cloud., похожее на «Машинное обучение», с большим количеством математических требований и выводом формул.
- «Фонд машинного обучения» — Линь Сюаньтянь, Национальный тайваньский университет, Источник: Bilibili., учитель веселый и с чувством юмора, фокусируется на теоретических знаниях машинного обучения, поддерживает книги«Обучение на основе данных».
Рекомендуемые книги[4]:
- Арбуз Книга "Машинное обучение" - Чжоу Чжихуа, в основном основные математические теории и алгоритмы машинного обучения.
- «Статистические методы обучения» - Ли Ханг, более полные и профессиональные теоретические знания в области машинного обучения, очень хорошие в качестве надежной теории.
- «Распознавание образов и машинное обучение», китайский перевод «Распознавания образов и машинного обучения», именуемый PRML, из рук Кристофера Бишопа (Christopher Bishop, директор лаборатории Microsoft Cambridge Research Institute) Открытый источник, адрес:Woohoo.Microsoft.com/En-US/Горячий цвет…
3.4.3 - Практика
После начала работы и изучения теории вы можете попробовать попрактиковаться, чтобы изучить и применить изученные алгоритмы.
Первый — это несколько общих инструментов, которые могут расширить возможности (чтобы не строить собственные колеса):
- scikit-learn: Очень мощная библиотека машинного обучения, предоставленная третьей стороной на Python, которая охватывает все аспекты от предварительной обработки данных до обучающих моделей. Использование scikit-learn в реальном бою может значительно сэкономить нам время на написание кода и уменьшить объем нашего кода, чтобы у нас было больше энергии для анализа распределения данных, настройки модели и изменения гиперпараметров.
- XGBoost: xgboost — это инструмент для массивно-параллельного бустинга деревьев, в настоящее время это самый быстрый и лучший набор инструментов бустинга деревьев с открытым исходным кодом, более чем в 10 раз быстрее, чем обычные наборы инструментов. Что касается науки о данных, большое количество игроков kaggle выбирают его для соревнований по интеллектуальному анализу данных, включая планы побед в более чем двух соревнованиях kaggle. С точки зрения промышленного масштаба, распределенная версия xgboost имеет широкие возможности переносимости, поддерживает работу на различных платформах, таких как YARN, MPI, Sungrid Engine и т. д., и сохраняет различные оптимизации параллельной версии для одной машины, что делает ее хорошим решением для проблемы в промышленных масштабах.
- LightBGM: LightGBM (Light Gradient Boosting Machine) также представляет собой распределенную структуру повышения градиента, основанную на алгоритме дерева решений. Чтобы удовлетворить потребности отрасли в сокращении времени расчета модели, дизайнерские идеи LightGBM в основном заключаются в двух пунктах: 1. Сокращение использования памяти для данных и обеспечение того, чтобы одна машина могла использовать как можно больше данных без жертвуя скоростью.; 2. Снизить стоимость связи, повысить эффективность многомашинного параллелизма и добиться линейного ускорения вычислений. Можно видеть, что первоначальное намерение LightGBM состояло в том, чтобы предоставить инструмент обработки данных, который является быстрым, эффективным, с низким использованием памяти, высокой точностью и поддерживает параллельную и крупномасштабную обработку данных.
- ...
тогда ты можешь идтиKaggleЯ на линии с большими парнями.Если у вас есть возможность и идея, вы можете создать проект самостоятельно, чтобы сделать это.
Если у вас есть более глубокое понимание некоторых алгоритмов, вы даже можете попытаться воспроизвести их в своем собственном коде.
Рекомендуемые книги:
- «Руководство пользователя по машинному обучению Scikit-Learn и TensorFlow»: эта книга разделена на две части, первая часть знакомит с основными алгоритмами машинного обучения, и каждая глава снабжена практическими проектами Scikit-Learn; вторая часть знакомит с нейронными сетями и глубокое обучение. Каждая глава снабжена практическими проектами TensorFlow. Если это просто машинное обучение, вы можете сначала прочитать первую часть.
3.5 - Глубокое обучение
3.5.1 - Начало работы
Также рекомендуется здесьБиблиотека обучения ИИ для продакт-менеджеров.
3.5.2 - Теория
Теоретическая часть глубокого обучения, вероятно, [4]:
- Базовая нейронная сеть
- нейроны
- функция активации
- Базовая структура: входной слой, скрытый слой, выходной слой
- Алгоритм обратного распространения
- CNN
- сверточный слой
- объединяющий слой
- полносвязный слой
- Типичная сетевая структура CNN (LeNet, AlexNet, VGG, ResNet, ...)
- RNN
- Однонаправленный RNN
- Двунаправленный RNN
- Глубокий РНН
- LSTM
- GRU
- GAN
- ...
Вы можете начать с широты, а направление для углубленного изучения выбрать исходя из того, что вы знаете:
- Компьютерное зрение (обработка изображений, видео, в основном с использованием CNN);
- Обработка естественного языка NLP (включая обработку текста, речи, данных последовательности часто требует RNN);
- Генеративные модели (GAN, VAE и др.);
Рекомендуемые курсы[4]:
- «Глубокое обучение» — Ву Энда, источник: NetEase Cloud, вся тема включает в себя пять курсов: 01. Нейронные сети и глубокое обучение, 02. Улучшение глубоких нейронных сетей — отладка гиперпараметров, регуляризация и оптимизация, 03. Проект структурированного машинного обучения, 04. Сверточные нейронные сети, 05. Модель последовательности.
- Битва программистов за глубокое обучение — Fast.ai, источник: Bilibili, идите в ногу с «Глубоким обучением» Ву Энда, самая большая особенность этого курса - «сверху вниз», а не «снизу вверх», это отличный курс для изучения глубокого обучения в реальном бою,Китайский алфавит, источник CSDN.
- CS230 — Эндрю Нг, Стэнфорд, источник Bilibili, охватывающий базовые модели глубокого обучения, такие как CNN, RNN, LSTM, Adam, Dropout, BatchNorm, инициализация Xavier/He и т. д., включая такие области, как лечение, автономное вождение, распознавание языка жестов, генерация музыки и обработка естественного языка.
Рекомендуемые книги[4]:
- книги с открытым исходным кодом«Нейронные сети и глубокое обучение» — Цю Сипэн, Фуданьский университет, Эта книга заняла у г-на Цю три года, чтобы разобраться в этой системе знаний глубокого обучения, объединив свои собственные исследования, ежедневное обучение и практику. Книга в основном знакомит с базовыми знаниями о нейронных сетях и глубоком обучении, основных моделях (сетях с прямой связью, сверточных сетях, рекуррентных сетях и т. д.) и приложениях в компьютерном зрении, обработке естественного языка и других областях [5].
- цветочная книга«Глубокое обучение», источник: Github netizen translation, Эта книга знакомит с базовыми математическими знаниями, опытом машинного обучения, а также теорией и развитием глубокого обучения на этом этапе от простого к глубокому. Она может помочь энтузиастам и практикам в области технологий искусственного интеллекта всесторонне понять глубину под под руководством трех экспертов и ученых.
- наклейки бога«Глубокое обучение 500 вопросов»Автор Тан Цзиюн, выдающийся выпускник Сычуаньского университета. Проект представляет собой вопросы и ответы для глубокого обучения, собирая 500 вопросов и ответов. Содержание затрагивает актуальные вопросы, такие как широко используемые знания о вероятности, линейной алгебре, машинном обучении, глубоком обучении, компьютерном зрении и т. д. Книга еще не закончена, но уже получила 2,4 звезды на Github (сейчас 3,7 звезды).
3.5.3 - Практика
После начала работы и изучения теории вы можете попробовать попрактиковаться, чтобы изучить и применить алгоритм глубокого обучения, который вы изучили.
Первый — это несколько общих инструментов, которые могут расширить возможности (чтобы не строить собственные колеса):
- TensorFlow, платформа глубокого обучения Google с открытым исходным кодом, но интерфейс относительно низкоуровневый, и он может быть немного сложным для начального уровня.
- Keras, высокоуровневый API нейронной сети, написанный на Python, который может работать с TensorFlow, CNTK или Theano в качестве серверной части. Keras удобен для входа, но слишком много инкапсуляций может затруднить настройку и модификацию, поэтому они в основном ориентированы на задачи быстрого экспериментирования и быстрой проверки.
- PyTorch, набор сред глубокого обучения, выпущенный Facebook, PyTorch фокусируется на низкоуровневых API, которые напрямую работают с выражениями массива. В прошлом году ему уделялось много внимания как предпочтительному решению для академических исследований и приложений глубокого обучения, которым необходимо оптимизировать пользовательские выражения.
По поводу вопроса, какое средство лучше, тоже идут постоянные споры среди "сторонников", на самом деле нет необходимости биться над тем, какой из них выбрать, просто попробуйте и вы все узнаете (побег.
После выбора инструмента для обучения вы можете перейти кKaggleЯ на линии с большими парнями.Если у вас есть возможность и идея, вы можете создать проект самостоятельно, чтобы сделать это.
3.6 - Другое
Что касается обучения с подкреплением, трансфертного обучения, компьютерного зрения, НЛП, рекомендательных систем, карт знаний и т. д., из-за объема статьи я не буду их здесь представлять, но вы можете найти связанное с ними содержание в статье на Heart of Машины.
3.7 - Чтение диссертации
Большая часть теоретического содержания машинного обучения и глубокого обучения исходит из статей, опубликованных в области исследований в области компьютерных наук, а современные передовые технологии также содержатся в статьях, опубликованных в последние годы.
В качестве следующего этапа расширения входа, теории и практики вы можете расширить свои знания, читая передовые статьи.
Поскольку чтение передовых статей не является необходимой способностью для инженера-алгоритма, ориентированного на бизнес, я не буду вводить здесь слишком много.Точно так же вы можете найти информацию о чтении передовых статей в статье Heart of the Machine. Связанное введение.
4 - Резюме
Не так давно веб-сайт 404 прислал мне видео с очень популярным названием.Не изучайте машинное обучение — Дэниел Бурк, Источник: Youtube, основное содержание автора состоит не в том, чтобы изучать алгоритмы просто для того, чтобы изучать алгоритмы, а в том, чтобы изучать алгоритмы с целью создания продуктов (или приложений, или решения проблем), студенты, у которых есть условия, могут посмотреть (внутренние не видели перевод пока) Если будет время и возможность, переведу и перенесу).
Учиться на предложениях может быть не лучшим способом. Моя цель - развивать back-end как основное направление.Причина, по которой я не полностью отказался от этой части алгоритма, отчасти из-за моей специализации, а больше потому, что я знаю, что только эти алгоритмы могут эффективно решать определенные задачи. Использование большего количества алгоритмов также позволяет программистам решать больше задач.
5 - Справочные статьи
- [1] В чем разница между академическими исследованиями (исследованиями) и промышленными исследованиями и разработками (НИОКР)? ,Ууху. Call.com/question/36…
- [2] Откажитесь следовать тренду, расскажите о разнице и опыте нескольких постов об алгоритмах — Си Сяояо
- [3] Коллекция выбранных лиц инженерами-алгоритмами — Niuke.com,Woohoo.now coder.com/discuss/exp…
- [4] Полный маршрут обучения ИИ, наиболее подробное расположение ресурсов на китайском и английском языках — Сердце машины,Tickets.WeChat.QQ.com/Yes/DI0IM1AZ и…
- [5] Профессор Фудань Цю Сипэн выпустил «Нейронные сети и глубокое обучение» — Datawhale