TensorFlow и Keras заняли доминирующие позиции. И
TensorFlow была создана инженерами Google для инженеров Google, и если вы умеете использовать TensorFlow, то достаточно умны, чтобы работать в Google.
а 1.5. Популярные фреймворки глубокого обучения Фреймворк Основное назначение Типичная целевая платформа TensorFlow (включая Keras) Обучение Настольные компьютеры, серверы PyTorch Обучение Настольные компьютеры, серверы MXNet Обучение Настольные компьютеры, серверы TensorFlow Serving Прогнозирование Серверы TensorFlow Lite Прогнозирование Мобильные и встраиваемые устройства TensorFlow.js Прогнозирование Браузеры ml5.js Прогнозирование Браузеры Core ML Прогнозирование Устройства компании Apple Xnor AI2GO Прогнозирование Встраиваемые устройства TensorFlow
Таблица 1.4. Примеры известных архитектур моделей Задача Примеры архитектур моделей Классификация изображений ResNet-152 (2015), MobileNet (2017) Классификация текста BERT (2018), XLNet (2019) Сегментация изображений U-Net (2015), DeepLabv3 (2018) Преобразование изображений Pix2Pix (2017) Распознавание объектов YOLO9000 (2016), Mask R-CNN (2017) Генерация речи WaveNet (2016)
ImageNet) и сделали их доступными для всех. Благодаря этому можно взять эти модели и настроить их для своего конкретного датасета. Этот процесс называется переносом обучения (transfer learning)
Например, для анализа изображения и звука обычно используются сверточные нейронные сети (CNN), а для обработки текста — рекуррентные нейронные сети (RNN) и сети с долгой краткосрочной памятью (LSTM).
Таблица 1.3. Пример датасета вход1 вход2 выход 1 6 20 2 5 19 3 4 18 4 3 17 5 2 16 6 1 15 Применив методы линейной алгебры (или посчитав в уме), мы можем прийти к выводу, что этому датасету соответствует следующее уравнение: выход = f(вход1, вход2) = 2 × вход1 + 3 × вход2. В данном случае веса равны 2 и 3. Глубокая нейронная сеть имеет миллионы таких весовых параметров.
Самый простой способ решить эти проблемы — обучение с автоматической смешанной точностью (automatic mixed precision
В реальной жизни мы часто используем опыт, полученный при решении одной задачи, для решения другой.