А если говорить о навыках, необходимых для создания нейронных сетей, то из основных я могу выделить 3:
- Умение работать с данными. К этой области можно отнести навыки сбора, структуризации и обработки данных, которые будут использоваться для обучения сети. Задачи качественного анализа и подготовки данных в деле машинного обучения важны настолько, что сформировали полноценную специальность в области искусственного интеллекта — тот самый Data Science.
- Знание языка программирования, с помощью которого возможна алгоритмическая реализация архитектуры нейронных сетей. Основным в этой области является Python, однако сегодня есть множество довольно зрелых библиотек и полноценных фреймворков для самых разных языков программирования — C++, C#, Java, JavaScript, R.
- Наличие хотя бы базового уровня экспертизы в предметной области, для которой создается нейронная сеть. Тут важно понимать, что с помощью нейронных сетей можно решать самые разные задачи — компьютерного зрения, обработки естественного языка, всевозможной классификации (банковский скоринг, постановка диагнозов и т. п.), творчества (создание аудио-, видео- и других видов контента) и многих других. В различных областях доминируют и разные архитектуры нейронных сетей — свертки для зрения, рекуррентные для обработки языка, прямого прохода для классификации — каждая из которых непрерывно и достаточно интенсивно развивается. При этом создание системы постановки медицинских диагнозов или принятии решения о выдаче кредита в банке требует наличия хотя бы базовых представлений о предметной области. Поэтому обычно у специалистов от ИИ есть одна или несколько специализаций — например компьютерного зрения в медицине или классификаторов для рекомендательных систем онлайн-кинотеатров.