Для каждой задачи есть несколько моделей, которые могут существенно упростить разработку проекта, используя трансферное обучение, когда мы вставляем первый или последний слой в готовую модель.
Например:
- Компьютерное зрение(CV) – AlexNet, VGG, ResNet, SqueezeNet, DenseNet, Inception v3, GoogLeNet, ShuffleNet v2, MobileNet v2. ResNeXt, Wide ResNet, MNASNet
- Обработка естественного языка(NLP) – BERT, RoBERTa, XLNet, XLM, DistilBERT, RuBERT(Deep Pavlov)
В настоящей момент нейронные сети – это дорогое удовольствие, но реализация очень простая. Фактором затруднения в изучении глубокого обучения является то, что не все API фреймворков отражают реальные операции, которые происходят внутри. Например, TensorFlow и Keras имеют команду model.compile
, которая скрывает логику исполнения. PyTorch – это библиотека, которая обладает нативной логикой исполнения и отражает все детали операции как они происходят.
Цены на разработку моделей глубокого обучения штурмуют высоты, но я считаю, что цены не должны быть высокие для проектов с использованием трансферного обучения, а это большинство проектов. Цены должны быть высокие для разработок, которые используют новые слои или новые функции активации, которые программисты разработали сами, когда происходит нормальный процесс исследования и проект делают под конкретную задачу.
Обучение нейронным сетям не так уж и дорого, Udacity обучает за 199$ в месяц, DataCamp за 25$. Udacity уронило цены в два раза, недавно было 399$ в месяц. Но материал на английском. Русскоязычное обучение стоит около 60 тыс. рублей за курс. Иногда даже выдают диплом. Но, студенты так и не понимают, что происходит за model.compile
. Абстрактное представления не приводит к тому, что специалисты выпускаются высокого качества, готовые делать что-то новое. Выпускают MNIST роботов, которые понятия не имеют, что происходит внутри.
Конечно, не у каждого есть мотивация “копать”, но я считаю это важной чертой.
Вывод из всего сказанного, цены на разработку очень высокие и не дают нужного качества. Обучение очень сильно дешевеет, но выпускаются специалисты роботы, которые говорят, что эту задачу невозможно разработать с помощью нейронные сетей.