Журнал "Системы Безопасности" № 1‘2019

A L L - O V E R - I P 58 февраль – март 2019 www.secuteck.ru сетей на Intel HDGrphics, поддержку обучен- ных моделей из разных фреймворков. Из преимуществ Caffe – обучение моделей на основе SSD, Faster R-CNN, высокая произво- дительность на NVIDIA GPU, из минусов отмечу неудобство работы в Windows и низ- кую производительность на CPU. Плюсы Caffe2 – обучение моделей на основе Faster R-CNN и Mask R-CNN, высокая про- изводительность на NVIDIA GPU, удобство работы в Windows. Минус – медленная рабо- та на CPU. Из преимуществ TensorFlow – обучение моделей на основе SSD, Faster R-CNN и Mask R-CNN (на NVIDIA GPU), из недо- статков выделю технические неудобства в настройке размера входного изображе- ния. В Tiny-dnn из достоинств – минимализм и портируемость, а как следствие – отсутствие гибкости. Какие методы используются для обучения нейросети? Никита Живаго, NVIDIA Разработка приложений ИИ начинается с обучения глубоких нейронных сетей с боль- шими наборами данных. Для исследователей ИИ и разработчиков приложений графиче- ские процессоры NVIDIA Volta и Turing, рабо- тающие на тензорных ядрах, обеспечивают быстрое обучение и более высокую произво- дительность. С включенными тензорными ядрами матрица смешанной точности FP32 и FP16 значительно увеличивает пропускную способность и сокращает время обучения ИИ. Для разработчиков приложений, интегри- рующих глубокие нейронные сети в свои облачные или встроенные приложения, Deep Learning SDK предоставляет высокопроизво- дительные библиотеки, которые реализуют API-интерфейсы строительных блоков для реализации обучения и логического вывода непосредственно в своих приложениях. Бла- годаря единой модели программирования для всех платформ графических процессоров – от настольных компьютеров до центров обра- ботки данных и встраиваемых устройств – специалисты могут начать разработку на своем настольном компьютере, масштабиро- вать в облаке и развертывать на своих пери- ферийных устройствах с минимальными изменениями кода или без изменений. Разработчики и исследователи данных могут получить легкий доступ к оптимизированным контейнерам инфраструктуры глубокого обучения NVIDIA, производительность кото- рых настроена и протестирована для графи- ческих процессоров NVIDIA. Это устраняет необходимость управления пакетами и зави- симостями или создания структур глубокого обучения из исходного кода. Например, задача компьютерного зрения является довольно сложной. Цифровые изоб- ражения представляют собой огромные таб- лицы чисел (интенсивности в пикселях), в которых сложно "разглядеть" тот или иной объект. Для решения этой задачи необходим промежуточный этап – извлечение признаков. Грубый пример: чтобы найти на фотографии котика, надо сначала найти его уши, глаза и т.д. Долгое время такого типа визуальные признаки были очень специализированными и конструировались вручную. С приходом в компьютерное зрение сверточных нейросетей появилась возможность обучать этим призна- кам автоматически из данных. Евгений Веснин, "Малленом Системс" Для обучения нейронных сетей наиболее популярным является метод обратного рас- пространения ошибки и его вариации. Использование биб- лиотек для машинного обучения значительно снизило порог входа в эту область. Библиоте- ки экономят время разработки и предо- ставляют уже готовые реализации нейро- нных сетей и методов их обучения, исключая тем самым наиболее трудные этапы разра- ботки. Многие библиотеки машинного обучения бесплатны и доступны с открытым исходным кодом, что обусловило существен- ный прогресс в последние годы. В открытом доступе доступен "зоопарк" обученных нейронных сетей для разного рода задач. Сети, которые обеспечивают впе- чатляющие результаты, как правило, обучены на выборках, содержащих миллионы объ- ектов, и повторить их обучение на обычных компьютерах часто не представляется воз- можным. Однако обученную сеть можно адаптировать к решению конкретной задачи, используя технологию переноса обучения (Transfer Learning) и небольшой набор дан- ных. Денис Кравченко, Ivideon Пример из моей практики – метод обучения с "учителем", при котором используются раз- меченные данные для тренировки сети. Алексей Ястребов, Macroscop Кроме инструментов, современным разработ- чикам доступны и готовые нейросети, уже обученные, например, для решения задач классификации изображений и находящиеся в открытом доступе. Их вполне можно исполь- зовать, взяв за основу как инструмент, и дообучить классифицировать именно те объ- екты, которые нужны, а хорошие признаки из изображений они выделять уже умеют. Одна- ко в этой области доводилось встречать и зло- употребления. Например, попытку неких самонадеянных разработчиков продать известную нейросеть YOLOv2, находящуюся в открытом доступе, в качестве собственного готового решения для обнаружения разнооб- разных объектов на видео. Надо помнить, что это всего лишь инструмент, который вряд ли будет хорошо работать в реальных сложных условиях. Можно ли считать, что нейронные сети раз- вились до уровня, когда любой человек в состоянии легко решить сложную задачу, взяв готовую модель, данные и запустив обуче- ние? Скорее всего, нет. Можно легко полу- чить хорошее решение для простых случаев, и намного труднее выжать необходимую точ- ность в реальных условиях работы. Проблема кроется в том, что какая бы сложная модель нейросети ни использовалась, это по-преж- нему всего лишь математическая функция, хорошо аппроксимирующая данные. Нейро- сети замечательно научились угадывать отве- ты в сложных задачах. Но они всегда умеют только то, чему их учат. Дмитрий Антонов, ISS Предположим, перед нами стоит задача узна- вать о наличии припаркованного автомобиля или об образовавшемся заторе в зоне посад- ки/высадки из транспортного средства в аэропорту. Сложность заключается в том, что считать количество машин и отслеживать тра- екторию перемещения каждой нужно на мно- гополосном участке с камер, расположенных на крыше многоэтажного терминала аэро- порта. Система должна работать в меняю- щихся условиях освещенности при любой погоде. Решением этой задачи будет трекинг на нейросетях. Исходя из опыта и анализа научных работ, выбираем тип нейросети. Далее оцениваем фреймворк на перспективность использова- ния для решения поставленной задачи и определяем материал, на котором будет проходить обучение. В процессе обучения анализируем поведение нейросети, вносим изменения в выборку, архитектуру, проводим несколько итераций до достижения нужного результата. Следить за поведением нейросети и менять наборы параметров, чтобы получить результат высокой точности, помогает разно- сторонний опыт специалистов в программи- ровании и решении практических задач в нейросетевой разработке. Разработчики высокого уровня могут по выходам промежу- точных слоев целенаправленно вносить изме- нения в алгоритм обучения, архитектуру и ряд других параметров и быстрее доби- ваться нужного результата. www.pixabay.com

RkJQdWJsaXNoZXIy Mzk4NzYw