8 Контуры будущего: задачи сегодняшнего и завтрашнего дня — Тогда мы сможем сами, — восхищенно воскликнул Леопольд, — управлять великими святыми ящиками в Храме и кораблями, которые летают сами по себе, и овладеем Святой Пищей, которая излечивает рак и все другие болезни?!
Айзек Азимов. Академия[3253] 8.1 Перспективные направления исследований Отдельный жанр статей в жёлтой прессе составляют публикации, утверждающие, что исследования в области ИИ зашли в тупик. Причём в роли непроходимого тупика фигурируют самые разные проблемы, некоторые из них и вовсе не являются проблемами, какие-то просто иллюстрируют глубокое непонимание автором вопроса, который он взялся освещать, а иные, напротив, соответствуют активно развивающимся секторам. Быстрый прогресс в области ИИ привёл к расширению фронта исследований, при этом прогресс продолжается во множестве направлений. Мы уже рассмотрели немало примеров того, как постепенно улучшаются значения метрик при решении различных задач, как появляются новые модели и подходы, как под напором исследовательских усилий сдаются задачи, которые публика ещё вчера считала неразрешимыми. Конечно, громко заявить, что прогресса нет, — верный способ привлечь к себе внимание, и многие заявления следует воспринимать сквозь призму экономики современных медиа, ориентированной на максимизацию числа просмотров. Но это вовсе не значит, что прогресс даже в такой стремительно развивающейся области, как ИИ, — это лёгкая увеселительная прогулка для учёных. За решениями проблем часто стоят нелёгкий труд, множество экспериментов, размышлений и неудач, остающихся сокрытыми от читателей очередных статей, устанавливающих новую планку SOTA в решении той или иной задачи. Какие вопросы стоят сегодня перед исследователями в области ИИ? Какие направления исследований вызывают наибольший интерес у учёных? В каких сферах мы можем ждать революционных достижений в грядущее десятилетие? Давайте попробуем разобраться и в этом. Начнём мы с направления, которое традиционно называют AutoML. В отношении коннекционистских моделей одной из наиболее актуальных задач, относящихся к AutoML, является «поиск нейросетевой архитектуры» (Neural architecture search, NAS). Работа специалиста по машинному обучению в наши дни нередко связана с поиском оптимальных параметров модели, а также параметров процесса обучения (которые ещё называют гиперпараметрами, чтобы отличать их от параметров самой модели). В глубоком обучении вслед за подготовкой первой версии обучающей выборки обычно следует этап экспериментов с нейросетевыми архитектурами из нескольких последних SOTA-работ, посвящённых решаемой задаче или задаче, напоминающей решаемую, а затем начинается длительный период экспериментов по модификации выбранной архитектуры, подбору гиперпараметров и различных параметров процесса аугментации данных. Многие из этих действий имеют преимущественно механический характер, что подталкивает к идее о том, что такая работа может быть автоматизирована. Почему бы не использовать какую-нибудь модель машинного обучения, которая будет самостоятельно проектировать другие модели наиболее оптимальным образом? Перспективы этого подхода будоражат воображение: оно тут же начинает рисовать картину самосовершенствующейся системы ИИ, подобной предложенной Юргеном Шмидхубером гипотетической машине Гёделя [Gödel machine][3254], и того самого «интеллектуального взрыва». Неудивительно, что в этом направлении ведутся активные исследования. В «классическом» машинном обучении (предназначенном для работы с данными сравнительно небольшой размерности) возможность автоматического подбора параметров модели встроена во многие популярные программные библиотеки: auto-sklearn[3255], AutoWEKA[3256], AutoGluon[3257], H2O[3258], [3259], TPOT[3260], FLO[3261], CatBoost[3262] — эти названия обычно хорошо знакомы тем, кто работает с «неглубокими» моделями машинного обучения. Семь лет назад мы с коллегами также разработали одну из таких библиотек, получившую название Est1mator. Однако «классические» модели обладают существенно меньшим числом параметров, чем «глубокие» модели, да и вычислительные затраты на один эксперимент по обучению модели в случае «неглубоких» моделей обычно заметно скромнее. Долгое время возможность применения методов AutoML к глубокому обучению рассматривалась специалистами как перспектива сравнительно отдалённого будущего. Однако начиная с 2016 г. исследователи Google и DeepMind опубликовали сразу несколько серьёзных работ[3263],[3264], [3265], [3266], [3267], [3268],[3269], [3270], посвящённых этому направлению. Сегодня исследованиями в области NAS занимаются исследователи и других технологических компаний, таких как Samsung[3271], [3272], Microsoft[3273], Facebook[3274], [3275] и Bosch[3276]. Не отстают и университетские[3277] учёные, особенно исследователи из Китая[3278], [3279], [3280]. Собственным инструментом для поиска нейросетевых архитектур обзавелась и одна из популярных библиотек для глубокого обучения — Keras. Этот инструмент, как несложно догадаться, получил наименование Auto-Keras[3281]. За последние годы было создано несколько специальных наборов тестов для оценки возможностей систем поиска эффективных нейросетевых архитектур и гиперпараметров их обучения, например: NAS-bench-101[3282], [3283], NAS-Bench-201[3284], NAS-Bench-360[3285], NAS‑Bench‑x11[3286], HW-NAS-Bench[3287], NAS-Bench-ASR[3288], NATS-Bench[3289], NAS-HPO-Bench[3290] и NAS-HPO-Bench-II[3291]. Наверное, самым большим триумфом этого подхода на сегодняшний день стало создание[3292], [3293] семейства свёрточных нейросетевых архитектур EfficientNet, которые позволили достичь большей точности и эффективности, чем предыдущие свёрточные архитектуры. В частности, в 2019 г. архитектура EfficientNet-B7 позволила при классификации изображений ImageNet достичь[3294] точности top-1 в 84,3% и точности top-5 в 97,0%, будучи в 8,4 раза меньше и в 6,1 раза быстрее при выполнении, чем лучшая из предшествовавших архитектур (AmoebaNet, обученная с применением библиотеки GPipe)[3295]. В том же году исследователям из Google Brain при помощи более хитрой процедуры обучения, задействующей две нейросети («ученика» и «учителя»), удалось «выжать» из архитектуры EfficientNet-L2 при классификации изображений ImageNet значения точности top-1 и top-5, равные 90,2 и 98,8% соответственно[3296].
вернуться Schmidhuber J. (2003). Goedel Machines: Self-Referential Universal Problem Solvers Making Provably Optimal Self-Improvements // https://arxiv.org/abs/cs/0309048 вернуться Feurer M., Eggensperger K., Falkner S., Lindauer M., Hutter F. (2020). Auto-Sklearn 2.0: The Next Generation // https://arxiv.org/abs/2007.04074 вернуться Kotthoff L., Thornton C., Hoos H. H., Hutter F., Leyton-Brown K. (2016). Auto-WEKA 2.0: Automatic model selection and hyperparameter optimization in WEKA / Journal of Machine Learning Research, Vol. 17 (2016) // http://www.cs.ubc.ca/labs/beta/Projects/autoweka/papers/16-599.pdf вернуться Erickson N., Mueller J., Shirkov A., Zhang H., Larroy P., Li M., Smola A. (2020). AutoGluon-Tabular: Robust and Accurate AutoML for Structured Data // https://arxiv.org/abs/2003.06505 вернуться Arora A., Candel A., Lanford J., LeDell E., Parmar V. (Oct. 2016). Deep Learning with H2O / http://docs.h2o.ai/h2o/latest-stable/h2o-docs/booklets/DeepLearningBooklet.pdf вернуться Click C., Lanford J., Malohlava M., Parmar V., Roark H. (Oct. 2016). Gradient Boosted Models with H2O / http://docs.h2o.ai/h2o/latest-stable/h2o-docs/booklets/GBMBooklet.pdf вернуться Le T. T., Fu W., Moore J. H. (2020). Scaling tree-based automated machine learning to biomedical big data with a feature set selector / Bioinformatics, Vol. 36 (1), pp. 250—256 // https://doi.org/10.1093/bioinformatics/btz470 вернуться Wang C., Wu Q. (2019). FLO: Fast and Lightweight Hyperparameter Optimization for AutoML // https://arxiv.org/abs/1911.04706 вернуться Prokhorenkova L., Gusev G., Vorobev A., Dorogush A. V., Gulin A. (2017). CatBoost: unbiased boosting with categorical features // https://arxiv.org/abs/1706.09516 вернуться Zoph B., Le Q. V. (2016). Neural Architecture Search with Reinforcement Learning // https://arxiv.org/abs/1611.01578 вернуться Real E., Moore S., Selle A., Saxena S., Suematsu Y. L., Tan J., Le Q., Kurakin A. (2017). Large-Scale Evolution of Image Classifiers // https://arxiv.org/abs/1703.01041 вернуться Kaiser L., Gomez A. N., Shazeer N., Vaswani A., Parmar N., Jones L., Uszkoreit J. (2017). One Model To Learn Them All // https://arxiv.org/abs/1706.05137 вернуться Zoph B., Vasudevan V., Shlens J., Le Q. V. (2017). Learning Transferable Architectures for Scalable Image Recognition // https://arxiv.org/abs/1707.07012 вернуться Chen L.-C., Collins M. D., Zhu Y., Papandreou G., Zoph B., Schroff F., Adam H., Shlens J. (2018). Searching for Efficient Multi-Scale Architectures for Dense Image Prediction // https://arxiv.org/abs/1809.04184 вернуться Liu H., Simonyan K., Yang Y. (2018). DARTS: Differentiable Architecture Search // https://arxiv.org/abs/1806.09055 вернуться Howard A., Sandler M., Chu G., Chen L.-C., Chen B., Tan M., Wang W., Zhu Y., Pang R., Vasudevan V., Le Q. V., Adam H. (2019). Searching for MobileNetV3 // https://arxiv.org/abs/1905.02244v5 вернуться Xiong Y., Liu H., Gupta S., Akin B., Bender G., Kindermans P.-J., Tan M., Singh V., Chen B. (2020). MobileDets: Searching for Object Detection Architectures for Mobile Accelerators // https://arxiv.org/abs/2004.14525v2 вернуться Abdelfattah M. S., Mehrotra A., Dudziak Ł., Lane N. D. (2021). Zero-Cost Proxies for Lightweight NAS // https://arxiv.org/abs/2101.08134 вернуться Dudziak Ł., Chau T., Abdelfattah M. S., Lee R., Kim H., Lane N. D. (2020). BRP-NAS: Prediction-based NAS using GCNs // https://arxiv.org/abs/2007.08668 вернуться Zhang Y., Zhang Q., Yang Y. (2020). How Does Supernet Help in Neural Architecture Search? // https://arxiv.org/abs/2010.08219 вернуться Dai X., Zhang P., Wu B., Yin H., Sun F., Wang Y., Dukhan M., Hu Y., Wu Y., Jia Y., Vajda P., Uyttendaele M., Jha N. K. (2018). ChamNet: Towards Efficient Network Design through Platform-Aware Model Adaptation // https://arxiv.org/abs/1812.08934 вернуться Wan A., Dai X., Zhang P., He Z., Tian Y., Xie S., Wu B., Yu M., Xu T., Chen K., Vajda P., Gonzalez J. E. (2020). FBNetV2: Differentiable Neural Architecture Search for Spatial and Channel Dimensions // https://arxiv.org/abs/2004.05565 вернуться Awad N., Mallik N., Hutter F. (2020). Differential Evolution for Neural Architecture Search // https://arxiv.org/abs/2012.06400 вернуться Jie R., Gao J. (2021). Differentiable Neural Architecture Search with Morphism-based Transformable Backbone Architectures // https://arxiv.org/abs/2106.07211 вернуться Tian Y., Shen L., Shen L., Su G., Li Z., Liu W. (2020). AlphaGAN: Fully Differentiable Architecture Search for Generative Adversarial Networks // https://arxiv.org/abs/2006.09134 вернуться Ding M., Lian X., Yang L., Wang P., Jin X., Lu Z., Luo P. (2021). HR-NAS: Searching Efficient High-Resolution Neural Architectures with Lightweight Transformers // https://arxiv.org/abs/2106.06560 вернуться Yang Y., You S., Li H., Wang F., Qian C., Lin Z. (2021). Towards Improving the Consistency, Efficiency, and Flexibility of Differentiable Neural Architecture Search // https://arxiv.org/abs/2101.11342 вернуться Jin H., Song Q., Hu X. (2018). Auto-Keras: An Efficient Neural Architecture Search System // https://arxiv.org/abs/1806.10282 вернуться Ying C., Klein A., Real E., Christiansen E., Murphy K., Hutter F. (2019). NAS-Bench-101: Towards Reproducible Neural Architecture Search // https://arxiv.org/abs/1902.09635 вернуться Zela A., Siems J., Hutter F. (2020). NAS-Bench-1Shot1: Benchmarking and Dissecting One-shot Neural Architecture Search // https://arxiv.org/abs/2001.10422 вернуться Dong X., Yang Y. (2020). NAS-Bench-201: Extending the Scope of Reproducible Neural Architecture Search // https://arxiv.org/abs/2001.00326 вернуться Tu R., Khodak M., Roberts N., Talwalkar A. (2021). NAS-Bench-360: Benchmarking Diverse Tasks for Neural Architecture Search // https://arxiv.org/abs/2110.05668 вернуться Yan S., White C., Savani Y., Hutter F. (2021). NAS-Bench-x11 and the Power of Learning Curves // https://arxiv.org/abs/2111.03602 вернуться Li C., Yu Z., Fu Y., Zhang Y., Zhao Y., You H., Yu Q., Wang Y., Lin Y. (2021). HW-NAS-Bench: Hardware-Aware Neural Architecture Search Benchmark // https://arxiv.org/abs/2103.10584 вернуться Mehrotra A., Ramos A. G. C. P., Bhattacharya S., Dudziak Ł., Vipperla R., Chau T., Abdelfattah M. S., Ishtiaq S., Lane N. D. (2020). NAS-Bench-ASR: Reproducible Neural Architecture Search for Speech Recognition // https://openreview.net/forum?id=CU0APx9LMaL вернуться Dong X., Liu L., Musial K., Gabrys B. (2020). NATS-Bench: Benchmarking NAS Algorithms for Architecture Topology and Size // https://arxiv.org/abs/2009.00437 вернуться Klein A., Hutter F. (2019). Tabular Benchmarks for Joint Architecture and Hyperparameter Optimization // https://arxiv.org/abs/1905.04970 вернуться Hirose Y., Yoshinari N., Shirakawa S. (2021). NAS-HPO-Bench-II: A Benchmark Dataset on Joint Optimization of Convolutional Neural Network Architecture and Training Hyperparameters // https://arxiv.org/abs/2110.10165 вернуться Tan M., Le Q. V. (2019). EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks // https://arxiv.org/abs/1905.11946 вернуться Arora A. (2020). EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks // https://amaarora.github.io/2020/08/13/efficientnet.html вернуться Tan M., Le Q. V. (2019). EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks // https://arxiv.org/abs/1905.11946 вернуться Huang Y., Cheng Y., Bapna A., Firat O., Chen M. X., Chen D., Lee H. J., Ngiam J., Le Q. V., Wu Y., Chen Z. (2018). GPipe: Efficient Training of Giant Neural Networks using Pipeline Parallelism // https://arxiv.org/abs/1811.06965 вернуться Pham H., Dai Z., Xie Q., Luong M.-T., Le Q. V. (2020). Meta Pseudo Labels // https://arxiv.org/abs/2003.10580 |