Русский
Русский
English
Статистика
Реклама

Глубокие нейросети

Глубокие нейросети в компьютерном зрении genesis for geeks

20.11.2020 14:23:38 | Автор: admin

Если вы в общих чертах представляете себе, как работает компьютерное зрение, но жаждете деталей, то эта статья для вас.

Распознавание объектов нейросетью на системах NvidiaРаспознавание объектов нейросетью на системах Nvidia

Под катом о том, как работают нейросети, какого рода алгоритмы используются в системах компьютерного зрения и насколько улучшилось качество распознавания за последние годы. А также о сферах применения: от медицины и геологии до транспорта, строительства и безопасности.

В общем все то, что вы хотели знать, но боялись спросить, или не доходили руки погуглить.

Статья написана по мотивам выступления Евгения Бурнаева, кандидата физико-математических наук, доцента центра Сколтеха по научным и инженерным вычислительным технологиям для задач с большими массивами данных, в московской городской Точке кипения и нашей последующей беседы с ним.

Чтобы сократить уровень посредничества, просто передаем ему слово.

Привет! Я занимаюсь deep learningом глубоким обучением нейросетей для компьютерного зрения и предиктивной аналитики. Наша научная группа включает 30 исследователей. Мы активно публикуемся в передовых журналах и много сотрудничаем с индустрией Huawei, Airbus, Bosch, Louis Vuitton, Sahara Force India Formula 1 team.

При упоминании словосочетания искусственный интеллект все начинают вспоминать страшилки вроде Терминатора.

На самом деле искусственный интеллект набор технологий на основе математики, аппаратного и программного обеспечения, который позволяет автоматизировать решение рутинных задач.

Ассоциация математического подхода с нейросетями возникла еще в 40-х годах прошлого века, когда Питтс и Мак-Каллок предложили простейшую математическую модель нейрона. Одновременно появился простой алгоритм обучения. В результате люди нафантазировали чуть ли не человекоподобных роботов. В реальности ни одну из этих фантазий так и не внедрили не существовало технических возможностей. Так наступила, как это теперь называют, первая зима искусственного интеллекта: финансирование сократили, а интерес к вопросу снизился.

Следующий всплеск интереса произошел лишь в 90-х, когда появились вычислительные мощности и новые хорошие математические алгоритмы, которые позволяли решать задачи распознавания и прогнозирования. А в 2014 году технологии распознавания получили буквально третье рождение благодаря тому, что мы научились решать подобные задачи на порядок лучше, чем раньше. Но ассоциация с нейронами сохранилась по сей день.

Технологии шагнули довольно далеко. Но пока еще у систем распознавания есть много проблем. Требуется дорабатывать алгоритмы, чтобы повысить эффективность их работы. Здесь есть где развернуться не только инженеру, но и ученому.

Но начнем с того, как это работает.

Компьютерное зрение

Компьютерное зрение это прикладная область, составная часть искусственного интеллекта.

В теории от компьютерного зрения мы ожидаем возможности имитировать способности человека по распознаванию объектов на фото способности понимать, где текст, где лицо, а где здание.

Учитывая комбинацию распознаваемых элементов на фото, человек может сказать очень многое. Он видит, что небо голубое, флаги не трепещут на ветру, а значит, ветра нет и погода солнечная. Хотелось бы, чтобы системы компьютерного зрения это повторили.

Тест Тьюринга для систем компьютерного зрения ответить на любой вопрос об изображении, ответ на который может дать человек.

Пример обнаружения объектов на фотоПример обнаружения объектов на фотои идентификациии идентификации

Первые алгоритмы компьютерного зрения появились давно. Типичный пример один из самых простых детекторов лиц Виолы Джонса, который отмечает положение людей в кадре.

Работа алгоритма обнаружения лиц в фотокамерах

Этот алгоритм в некотором смысле необучаем (на обучаемости остановимся чуть позже). Ну а в данный момент мы наблюдаем бум алгоритмов, которые основаны на более сложных принципах.

Как устроены системы компьютерного зрения

Цифровое изображение это матрица, где каждый пиксель это некоторый элемент, содержащий число. В случае черно-белого изображения это число от 0 до 255, отражающее интенсивность серого.

Пиксели растрового изображения и их яркость в однобайтной кодировкеПиксели растрового изображения и их яркость в однобайтной кодировке

Для цветного изображения это обычно комбинация трех цветов. Еще в позапрошлом веке первые цветные фотографии одновременно снимали на три камеры в разном цвете, а потом полученные кадры совмещали. И до сих пор цветные изображения часто раскладывают на те же три цвета красный, зеленый и синий.

Построение цветного изображения на заре фотографииПостроение цветного изображения на заре фотографииПостроение цветного изображения из пикселей красного, синего и зеленого цветовПостроение цветного изображения из пикселей красного, синего и зеленого цветов

Поговорим о том, как работать с изображениями, чтобы они лучше воспринимались машиной.

Задача категоризации

Компьютерное зрение позволяет решать задачи распознавания. Фактически это базовая задача категоризации, когда мы устанавливаем для фотографии метки из заранее определенного множества категорий.

Как выглядит базовая задача категоризации изображенияКак выглядит базовая задача категоризации изображения

Эта задача бывает двух типов: бинарная (например, изображен ли на этой картинке человек) и более сложная (к каким типам относится планктон на картинке). Бывает, что одновременно с классификацией объекта мы должны отметить, где он находится.

Виды задачи классификацииВиды задачи классификации

Имитируем распознавание

Предположим, у нас есть картинка. Инженер подошел бы к распознаванию следующим образом: он начал бы проверять, что есть на этом изображении. Например, какие есть объекты, имеющие овальную форму. Для этого он выбрал бы какие-то признаки, которые на объектах овальной формы принимали бы большие значения.

Это искусственный пример, но здесь важно понять принцип. Когда мы посчитаем эти признаки, они поступят на вход классификатора. Если среди них есть те, что принимают большие значения, мы говорим, что на изображении есть определенные объекты и они находятся в такой-то части.

Условная схема решения задачи классификацииУсловная схема решения задачи классификации

Типичный пример классификатора то, что называется деревом решений. Самые простые деревья мы строим в обычной жизни:

Пример простейшего дерева решенийПример простейшего дерева решений

Деревья решений такого типа можно строить и в более сложных случаях. Например, при выдаче кредита, но у них будет очень много узлов, где происходят ветвления.

На практике обычно комбинируют множество деревьев решений, то есть получают ответы с каждого, а потом проводят что-то типа голосования.

При распознавании фотографии (поиске ответа на вопрос, есть ли на фото люди) мы можем применить ровно такой же подход считаем признаки и отправляем их в дерево решений, чтобы получить финальный ответ.

Примеры признаков, которые можно использовать для категоризации фотоПримеры признаков, которые можно использовать для категоризации фото

Признаки и их расчет

Какого типа признаки здесь можно было бы использовать?

На практике изображение делят на части и на каждой проводят локальный анализ. Например, оценивают направления, в которых градиенты изображения меняются сильнее всего, или считают среднее значение для пикселей, которые есть в этом изображении, или вычисляют контуры объектов на изображении.

Все это можно делать в том числе с применением известных фильтров матриц коэффициентов, которые мы прикладываем к изображению, двигаясь по нему слева направо (сверху вниз), через умножение чисел в матрице на эти коэффициенты. Если фильтр устроен определенным образом, на выходе можно получить новое изображение, в котором, например, выделены края:

Другой пример фильтр, увеличивающий высокие частоты (резкость):

А если я возьму такую матрицу чисел, изображение, наоборот, будет размытым:

Классический подход состоит в том, что фильтры строятся вручную исходя из различных математических и инженерных соображений. Основываясь на своем опыте, для каждой задачи человек комбинирует группы фильтров, примерно представляя, что лучше всего подходит в этом случае. Но оказалось, что эти фильтры можно научить.

Что это значит? Представьте, что в фильтрах стоят не готовые числа, а некие заранее неопределенные коэффициенты. Вы применяете эти фильтры к изображению, а потом объединяете этап построения результатов фильтрации и классификацию в единое целое. По сути, вы настраиваете коэффициенты фильтров для конкретной задачи по большой выборке данных так, чтобы качество решения задачи (например, распознавание) было максимальным.

Решение задачи классификации при помощи нейросетиРешение задачи классификации при помощи нейросети

Для настройки коэффициентов требуются: большая выборка данных, много слоев и специальное вычислительное оборудование. Поговорим о каждом из компонентов.

Большая выборка

Прорыв в этой области произошел в 2010 году, когда появился датасет ImageNet, который содержал 10 млн картинок. Чтобы его получить, проделали огромную работу: каждой из картинок вручную присвоили класс объекта, который там изображен.

На сегодняшний день это уже не единственная база размеченных картинок.

Примеры баз размеченных изображенийПримеры баз размеченных изображений

Наличие огромных баз данных, на которых можно обучать коэффициенты фильтров, дало старт развитию систем распознавания.

Многослойность

Предположим, у нас есть изображение. Есть первый слой с каким-то количеством фильтров. Применяя эти фильтры последовательно к изображению, мы получаем новую картинку. После этого применяем к изображению специальное нелинейное преобразование (в нейросетях оно называется Transfer Function передаточная функция), затем другие фильтры, а следом новое нелинейное преобразование. И так далее. Каждый такой этап называется слоем.

Пример последовательного применения фильтров к изображениюПример последовательного применения фильтров к изображению

В итоге получаем такую нелинейную фильтрацию, которая выделяет характерные признаки изображения. В конце этого процесса у нас будет набор коэффициентов. Для одних типов объектов они будут больше, для других меньше. И эти признаки-коэффициенты подают на вход стандартного классификатора.

После создания первой системы, обученной на очень большой базе данных, оказалось, что точность распознавания возросла в несколько раз, в какой-то момент сравнилась с точностью человека и даже превысила ее. Нейросеть такого типа содержит 60 млн параметров это те самые настраиваемые параметры фильтров.

Ниже на гистограмме показано, как со временем эволюционировала точность от 2010-го до 2015 года, а также отмечено количество слоев нейросети, которое необходимо, чтобы достичь такой точности.

Изменение точности и сложности нейросетей с 2010-го по 2015 год (справа налево)Изменение точности и сложности нейросетей с 2010-го по 2015 год (справа налево)

Ошибка классификации 33,5%, и это лучше, чем у человека. Человек распознает с ошибкой 45%.

Говоря о точности, всегда стоит указывать, о какой задаче идет речь. Чем сильнее мы сужаем спектр применений, тем большей точности можем достигнуть.

Качество систем распознавания зависит не только от того, как построена нейросеть, но и от того, как она обучена. Если создатель модели выполнил свою работу некачественно, точность распознавания будет существенно ниже. Правда, это легко проверить. К примеру, можно использовать кросс-валидацию, когда часть обучающей выборки отделяют для проверки работы модели. Этот подход имитирует ситуацию с получением новых данных.

Аппаратное обеспечение

Чтобы подобрать огромное количество коэффициентов, нужно специальное оборудование, которое позволит распараллелить подобные задачи, поскольку обычный CPU решает их последовательно.

Несколько лет назад Nvidia заказала у создателей MythBusters забавный пиарный ролик для демонстрации параллельных вычислений

Речь идет о графических процессорах (GPU), которые изначально создавали для ресурсоемких игр. Их адаптировали под быстрое выполнение матричных вычислений. А нейросети, по сути, у нас и построены на матричных вычислениях, то есть умножениях одной таблицы чисел на другую.

Какие задачи мы можем решить?

Имитируя человека, мы можем на фотографии указать, где находится предмет, и отделить его от окружающих объектов.

Можем ответить на вопрос, какая у человека позиция относительно других тел, и даже спрогнозировать по двумерной фотографии положение частей тела человека в 3D.

Можем отыскать лицо человека.

Обнаружение лица, идентификация, оценка позы, распознавание эмоцийОбнаружение лица, идентификация, оценка позы, распознавание эмоций

Имея априорные знания о движении, можем по позе человека на фотографии предположить, в каком направлении он бежит, или спрогнозировать, куда он будет двигаться далее.

Сопровождение объектов, распознавание действий, оптический потокСопровождение объектов, распознавание действий, оптический поток

Где сейчас используют нейросети

Некоторые из задач, которые я перечислю, можно решать и другими способами. Не надо думать, что нейросети покрывают все. Просто на данный момент это один из наиболее популярных и достаточно эффективных методов решения задач такого типа. Возможно, лет через пять появятся другие, более эффективные в конкретных приложениях архитектуры, которые будут отличаться от классических нейросетей.

А кроме того, есть большое количество инженерных задач, где старые методы, основанные на тех же дескрипторах, могут показывать лучшие результаты, чем нейросети, требующие большой обучающей выборки.

Поиск по картинкам

Все мы пользуемся стандартной функцией поиска объектов на фото в поисковиках вроде Яндекса и Google. На вход мы подаем фотографию. С помощью фильтров нейросеть считывает признаки, характеризующие семантический смысл фотографии (я говорил о них ранее). Далее они сравниваются с признаками фотографий, которые уже есть в интернете (те заранее были подсчитаны и сохранены в виде векторов чисел). Изображения со сходными признаками оказываются семантически близки.

Примеры поисковой выдачи по заданным фотоПримеры поисковой выдачи по заданным фото

Распознавание лиц

По такому же принципу устроено детектирование и идентификация лиц. Это приложение важно для обеспечения безопасности тех же банков.

Ниже реальный пример из презентации одной из компаний. Как вы думаете, правда ли, что в каждом из пунктов на двух соседних фото один и тот же человек? Людям сложно это определить, поэтому возникают ошибки и процветает мошенничество.

Определите, в каком из шести случаев изображен один и тот же человекОпределите, в каком из шести случаев изображен один и тот же человек

Правильно обученные системы компьютерного зрения не ошибутся даже в сложных ситуациях и в условиях плохого освещения. Точность распознавания у них достигает 99%.

Правильный ответПравильный ответ

В западных странах подобные технологии уже активно используют для контроля доступа и рабочего времени.

Социальный протест

Использование нейросетей, связанное с распознаванием лиц, вызывает у обывателей опасения. Вот один из таких заголовков:

Заголовок одного из изданий: Судя по сканирующим мозг каскам, Китай не заинтересован в тайне частной жизни рабочихЗаголовок одного из изданий: Судя по сканирующим мозг каскам, Китай не заинтересован в тайне частной жизни рабочих

В заметке речь шла о том, что в Китае якобы установили в шлемы рабочих сенсор, фиксирующий, насколько человек погружен в работу и какие он испытывает эмоции. Забегая вперед, скажу, что в текущих условиях это невозможно. Но такие статьи появляются, их связывают с искусственным интеллектом, и это вызывает опасения.

Более реалистичное применение камеры в учебном классе, которые оценивают, насколько студенты вовлечены в процесс. Так можно косвенно определить эффективность процесса обучения.

Система оценки вовлеченности обучающихсяСистема оценки вовлеченности обучающихся

Говоря об опасениях, нельзя не вспомнить знаменитую серию публикаций о наличии в Китае системы соцрейтинга, которая мониторит людей и оценивает, насколько они подчиняются правилам.

Фантазии на тему китайского соцрейтингаФантазии на тему китайского соцрейтинга

Насчет китайского опыта существуют разные мнения. Лично я в Китае не жил и не могу описать ситуацию. Но на Западе внедрение подобных систем вызывает социальный протест. Например, некоторое время назад рабочие Amazon жаловались на жесткие рамки учета рабочего времени, прописанные в новой системе мониторинга.

На волне этих протестов некоторые компании и даже правоохранительные органы в городах Америки сворачивают или ограничивают функциональность систем, связанных с трекингом людей и распознаванием лиц. Так что в целом законы о приватности и защите персональных данных работают, то есть опасения относительно нейросетей реально снимать при помощи законодательства.

Модификация фотографий

С помощью подобных нейросетевых моделей можно манипулировать изображениями к примеру, стилизовать фото.

Нейросеть добавляет налет абстракционизмаНейросеть добавляет налет абстракционизма

Нейросетевые модели могут анимировать фотографию или картину, используя видео эмоций другого человека. Лицо с фотографии будет изменять выражение вслед за человеком на видео.

Повторение мимики и жестов при помощи нейросетиПовторение мимики и жестов при помощи нейросети

А эту анимацию делали коллеги из дружественной нам группы Сколтеха.

Анимирование картины при помощи нейросетиАнимирование картины при помощи нейросети

Подобные методы используют при создании фильмов и рекламы.

Физическая безопасность и обучение

Компьютерное зрение активно применяют для обеспечения безопасности, например, чтобы наблюдать за пустой квартирой или контролировать условия труда: ходят ли рабочие в безопасных зонах, носят ли каски.

Система отмечает, что на объекте находятся люди без каски или перчатокСистема отмечает, что на объекте находятся люди без каски или перчаток

Контроль соблюдения скоростного режима на дорогах также может осуществляться с помощью нейросетевых моделей.

Для распознавания госномеров нейросеть не нужна. Но определить тип и модель транспортного средства без нее уже сложноДля распознавания госномеров нейросеть не нужна. Но определить тип и модель транспортного средства без нее уже сложно

Компьютерное зрение активно применяют в качестве элемента более сложных задач, например, в системах дополненной реальности. Хороший пример обучение технического персонала навыкам работы в сложных условиях, когда нужна максимально четкая реакция (тренировки автоматических навыков). Физических установок, реалистично имитирующих окружение для отработки подобных действий, мало или у них нет необходимой функциональности. И отработка навыков в дополненной реальности позволяет решить эту задачу.

Строительство и городское планирование

На гигантских объектах трудно понять, действительно ли строительство идет по плану, поскольку даже нескольким людям сразу тяжело все обойти и оценить объем работ за неделю или месяц. Вместо ручной сверки можно снять видео с дрона, взять данные с лидара (лазерного дальномера, оценивающего расстояние от сканера до точек на поверхности объекта) и по ним уже автоматически оценить, что и где построили.

Контроль строительства с помощью нейросетиКонтроль строительства с помощью нейросети

Компьютерное зрение используют для обработки данных дистанционного зондирования (аэрофотосъемки или съемки со спутника). Типичный пример когда на вход подают огромные снимки, полученные со спутника в разные моменты времени, допустим в конце лета и осенью, чтобы оценить, какие произошли изменения.

Пример обработки данных дистанционного зондирования, в результате которой выделены новые объекты (в данном случае постройки)Пример обработки данных дистанционного зондирования, в результате которой выделены новые объекты (в данном случае постройки)

Так можно выявить незаконные свалки и понять, насколько быстро они растут, или зафиксировать последствия стихийных бедствий: ураганов, пожаров, землетрясений. Сравнив снимки до и после, можно приблизительно оценить количество пострадавших домов и подсчитать потери страховой компании.

Аналогичные задачи есть в сфере городского планирования, а также в оценке населенности и объемов строительства. На картах не всегда есть информация о том, жилой ли это дом, сколько у него этажей, сколько в нем проживает людей. Но эта информация необходима, чтобы спланировать, например, размещение сетевого магазина. Нужно понять, какие рядом с этим зданием проходят людские потоки. И эту оценку можно выполнить по данным дистанционного зондирования.

Выяснить тип дома можно по крыше производственная ли это площадка, жилой дом или офисное здание. Высоту и этажность рассчитывают по тени, которую дом отбрасывает и по данным о том, в какой момент времени сделали фотографию. Так оценивают, сколько в среднем там может жить людей. Для большей части территорий с типичной плотностью населения оценки неплохо совпадают с реальностью. Эти данные важны для компаний, которые занимаются застройкой и развитием торговых сетей.

Пример анализа жилых объектов при помощи нейросетиПример анализа жилых объектов при помощи нейросети

Другой пример сканирование инфраструктурных объектов. Есть множество производственных помещений, чертежей которых не сохранилось. Однако при планировании ремонта или расширения без них не обойтись. Такую задачу можно решить автоматизированно обработав данные сканирования лидаром. Причем это можно делать как изнутри здания, так и снаружи. По этим данным можно воссоздать полную цифровую модель здания, с которой можно делать все что угодно, в том числе планировать ремонт и изменения.

3D-модель промышленного объекта, созданная по результатам сканирования при помощи нейросети. Объем модели нереально огромен: 12 млрд точек. С помощью модели намного проще проектировать ремонт и реконструкцию3D-модель промышленного объекта, созданная по результатам сканирования при помощи нейросети. Объем модели нереально огромен: 12 млрд точек. С помощью модели намного проще проектировать ремонт и реконструкцию

Геология

В нефтегазовой индустрии есть задача оценки, насколько легко нефть проходит через породу и, следовательно, можно ли ее существующими промышленными методами извлечь так, чтобы это было рентабельно. Задача решается через бурение. Для этого делают пробные скважины, из которых достают образцы породы (керн). По томограммам этого керна можно восстановить цифровую модель породы и понять, где в ней находятся поры, а где твердое вещество.

Восстановление цифровой модели породы при помощи нейросетейВосстановление цифровой модели породы при помощи нейросетей

От того, насколько эта порода пористая и как через нее распространяется вязкая жидкость, зависит, насколько трудно будет извлечь нефть.

Анализ прохождения вязкой жидкости через породуАнализ прохождения вязкой жидкости через породу

Медицина

В медицине существует большое количество задач, связанных с обработкой снимков, на которые врач тратит довольно много времени. Например, по снимкам сердца и предсердия надо вычислить их объем. Или по данным сканирования глазного дна понять, есть ли там какие-то изменения, связанные с диабетом.

Пример расчета объема сердца по снимку при помощи нейросетиПример расчета объема сердца по снимку при помощи нейросети

Если врач будет выполнять такого рода работу вручную, она займет много времени. Самое главное, что могут возникнуть ошибки, связанные с тем, что человек, допустим, устал. Чтобы этого избежать, нейросеть выполняет роль советчика. Подобное программное обеспечение уже одобрено минздравами многих стран. Это уже значительный рынок, где методы компьютерного зрения позволяют ускорить работу и сделать анализы более точными.

Подготовка к удалению опухоли мозга локализация речевого и зрительного центров помогает улучшить планирование операции и сократить время на локализацию этих центров во время процедурыПодготовка к удалению опухоли мозга локализация речевого и зрительного центров помогает улучшить планирование операции и сократить время на локализацию этих центров во время процедуры

Выше изображен проект, который мы делаем с коллегами из Национального медицинского исследовательского центра нейрохирургии имени академика Н.Н.Бурденко. Это так называемая предоперационная картина, в рамках которой необходимо понять, что речевой и зрительный центры в мозге человека не пересекаются с опухолью (чтобы при удалении опухоли их не травмировать).

В обычных условиях человека будят во время операции и электрическим щупом фактически замыкают контакты на мозговой коре, проверяя, что при этом он внятно говорит, может двигать рукой и так далее. От этой процедуры нельзя отказаться, но хочется минимизировать время, которое тратится на такого рода манипуляции. Для этого делают fMRI-скан (фактически последовательность трехмерных фотографий мозга, каждая из которых показывает, в какой части была активность). Обработка этих сканов позволяет достаточно точно определить, где находятся речевой и зрительный центры. Так хирург может заранее спланировать, как лучше удалять опухоль.

Ритейл

Я думаю, многие слышали о магазине Amazon Go. Продавцов там нет. Человек заходит, берет товар. За счет автоматического распознавания товара можно рассчитать стоимость покупки. По выходе из магазина с человека списывают деньги.

Самый первый магазин Amazon Go в Сиэтле (фото: SounderBruce, CC BY-SA 4.0)Самый первый магазин Amazon Go в Сиэтле (фото: SounderBruce, CC BY-SA 4.0)

Схожая система есть для мерчандайзеров она оценивает выкладку. Человек берет смартфон, проводит им по полкам и оценивает, где находятся упаковки, сколько их и какого типа, достаточно ли товара.

Распознавание выкладки товаров по фотоРаспознавание выкладки товаров по фото

Эти приложения активно развиваются не только на Западе, но и в России. Первый магазин без продавцов уже протестировали в Москве.

Автономный транспорт

Типичная задача в этой сфере спрогнозировать положение объектов в трехмерном пространстве по изображениям с камер. Расчет координат центра, угла поворота все эти задачи успешно решаются с применением нейросетей.

Позиционирование в 3D при помощи нейросети, помогающее автономному автомобилю перемещаться в пространствеПозиционирование в 3D при помощи нейросети, помогающее автономному автомобилю перемещаться в пространстве

Кроме того, автомобиль, получив видео некого пространства вокруг себя, может ответить, бывал ли он в этом пространстве, что запечатлел на видео, когда проезжал это же место. Так можно реализовать визуальную навигацию роботизированных систем, помогающую автономному транспорту ориентироваться в пространстве по ситуации.

Визуальная навигация при помощи нейросетей, позволяющая автономному автомобилю точно определить расстояние до окружающих предметовВизуальная навигация при помощи нейросетей, позволяющая автономному автомобилю точно определить расстояние до окружающих предметов

Расширение задачи

Вначале мы определяли компьютерное зрение как возможность ответить на любой вопрос об изображении. Но чем сильнее мы хотим имитировать возможности человека, тем больше нам потребуется разных нейросетей, обученных на большом количестве изображений разных объектов. И в этом мы ощущаем свои пределы. Например, в ImageNet содержится порядка 10 тысяч классов объектов.

Мы можем соединить несколько нейросетей, заточенных под конкретные вопросы, это в какой-то степени уже реализуется в некоторых инженерных системах. Но полностью повторить человеческое описание картинки мы пока не можем.

Ошибки и обман систем распознавания

Создание систем распознавания с использованием современного аппарата нейросетей это просто хорошая технически реализуемая инженерная задача. В базовом варианте она не требует серьезной науки. Но в целом научной работы предстоит очень много, потому что эти системы все еще несовершенны.

Во-первых, их относительно легко можно обмануть. Как пример, ниже приведены фотографии человека с гримом на лице. В определенных ситуациях этот грим может запутать систему распознавания лиц.

Это связано с тем, что системы обучают на выборках большого размера, где присутствуют снимки людей с разной освещенностью, в очках и без них, но фото с таким гримом в этой выборке нет. Поэтому система распознает его как нечто инородное, не относящееся к человеку.

И если обмана или ошибки надо избежать, то рано или поздно разработчики проанализируют ситуацию и поставят соответствующую защиту.

Во-вторых, нейросети такого типа подвержены взлому. Вот один известный пример: к изображению добавляют шум с маленькой амплитудой. Для человека картинка почти не меняется, а нейросеть перестает его распознавать.

Взлом нейросети. Пример смешивания изображений, в результате которого сверточная нейросеть выдает ошибочный результат (источник: spectrum.ieee.org)

Аналогичные вещи можно делать и с физическими объектами, например, добавить посторонние элементы к знакам дорожного движения.

Даже небольшие помехи сбивают с толку алгоритм распознавания (подробности: spectrum.ieee.org)

Система распознает знак неправильно или не распознает его в принципе. Такие же проблемы есть с распознаванием других модальностей, например речи.

Но постепенно ситуация улучшается. Вспомним хотя бы систему разблокировки смартфонов по лицу. Первые реализации были ненадежными: чтобы обмануть систему, достаточно было использовать распечатанную фотографию. Теперь же необходимо создать объемный макет.

Для обмана используют напечатанную на 3D-принтере основу, которую оклеивают фотографиямиДля обмана используют напечатанную на 3D-принтере основу, которую оклеивают фотографиями

Как я говорил выше, точность повышают, расширяя набор обучающих данных и повышая число рассчитываемых признаков.

Мысли про сохранность рабочих мест

Отдельная тема это разговоры про сохранность рабочих мест. Не останутся ли люди без работы после внедрения всех этих технологий? Я полагаю, что проблема не столь катастрофична. Нейросети сокращают одни рабочие места и создают другие связанные с поддержкой и обучением этих систем. Вдобавок они открывают новые рынки, где тоже будет нужна разработка и обслуживание.

Подробнее..

Хакатоны Осень 2020. Мой опыт

02.01.2021 14:12:00 | Автор: admin

Добрый день, уважаемые хабровчане.

Подходит к концу год 2020 и пришла пора подвести итоги. В этот году я попробовал себя в хакатона для получения разнообразных навыков. Самым важным было для меня отработать навык быстрого погружения в проблему, написать решение, протестировать его и улучшить. Хакатоны которые мне попадались были длинные и короткие. Длинные- это больше 1 недели, короткие- это 2-3 дня. Всегда есть плюсы и минусы у обоих вариантов. Как и всякого человека, меня одолевали сомнения, как это будет, моя роль в команде, где искать эти команды, хватит ли навыков и т.д. Мой друг Владимир Привалов много раз приглашал меня на хакотоны, но все это как то откладывалось и переносилось по разным причинам. Видимо это был мой внутренний саботаж данного процесса. Но осенью этого года я решил попробовать свои силы и принял участие в одном хакатоне самостоятельно без команды, знакомых, смс и регистрации

Хакатон отбор на архипелаг 20.35

В октябре мне на емейл упало письмо про отбор на программу интенсив по АИ от 20.35.

Если хотите стать частью успешного стартапа иразрабатывать искусственный интеллект, присоединяйтесь котбору наАрхипелаг20.35. Это акселератор для команд, номынашли решение идля участников-одиночек.

Вэту субботу для участников без своего проекта проводим24-часовойонлайн-хакатон вчатах Телеграма. Мыпредложим вам команду, которую подберет ИИ. Под руководством бота вывместе пройдете основные этапы разработки проекта иподадите этот проект наАрхипелаг20.35.

В начале участия бот действительно подобрал мне 4-5 рандом людей для команды и мы начали этот хакатон. Который потом оказался не хакатоном, но об этом позже. Первые 5 этапов происходили в телеграмме, организаторы присылали задания и команде должна была их выполнить. Отличная задумка, но реализация была на мой скромный взгляд ужасная. Времени давалось мало, все должны были принять общее мнение, обсудить и уложиться в отведенное время. Кроме того задания были связанны друг с другом. Наша команда не поняла первое задание, кое как выполнила второе. На третьем задании началось самое интересное. Задание было собрать источники информации для задачи. Это должны были быть дата сеты, таблицы и другая инфа,

которую можно найти в интернете для нашей задачи. После отправки файла организаторам, оказалось, что нужно было сдать в формате и некоторые ссылки не устроили организаторов. Пришлось часть переделать, для меня это было странно, что заставляют переделать то, что ты сам нашел. После этого было задание подсчитать какие то метрики для задачи, сделать презентацию и сделать мини защиту своей идеи. От первого задания до мини защиты прошло где-то 12 часов. К этому времени в команде остался только я один. Это было удивительно, как люди тихо покидают команду без объяснений. Простите мне мою наивность в этом вопросе J В итоге, после мини защиты, меня подобрала другая команда для решения уже совсем другой задачи. С новой командой мы прошли еще 2 этапа. Очередным заданием было создать лендинг для идеи. В команде был специалист по фронт энду и он очень быстро в течение буквально часа создал лендинг с заглушками и т.д. После сдачи задания пришел ответ от организаторов. Задание не принято сделайте другой шрифт, уберите заглушки и сделайте для них страницы. Меня лично это очень сильно возмутило, из-за чисто бюрократического подхода к принятию задачи. Уже утром на следующий день за пару часов я запустил прототип приложения на мобильном. Нашел на хабе ТF модель и запустил на Iphone. Из коробки это не работало, пришлось исправлять ошибки кода из TF репозитория. В итоге все заработало и вот результат

Хакатон закончился через 12 часов и как-то очень скомкано, подведения итогов не было, места по командам. Просто пришло сообщение работайте дальше над проектом. После этого стало понятно, что такое хакатон и что такое акселератор и в чем отличия.Мне не очень понравился такой формат.

Hackathon20: art of technology

Линк на хакатон

Это был короткий хакатон с 24.10.20 до 25.10.20 и Владимир Привалов @vovaekb90 и Даниил Семенов @sicutglacies пригласили меня в команду. Был выбран трек DATA SCIENCE при поддержке ЕВРАЗ. Задача была на тему Предсказать количество кислорода необходимого для выплавки стали. В команде никто не разбирался в специфике отрасли. Спасибо ЕВРАЗ что дали всем участникам трека необходимую информацию по проблеме. В течение вечера мы построили модель, обучили ее и сделали оптимизацию. Данные были в уже вычищенном датафрейме и мы учили модели каждый на своей локальной машине. Каждый из нас пытался сделать свою модель и показать наилучший результат в лидер борде. Организаторы дали возможность сабмита результатов на сервер и мы видели результаты сразу. В итоге команда заняла 3-е место. И мы получили приз 3000 рублей на всю команду от компании ЕВРАЗ. Хотя мои модели показали низкий скор, я получил массу положительных эмоций. Отлично что команда дошла до конца и пробилась в тройку.

Data science онлайн чемпионат 2020

Линк на хакатон

Время проведения с 14.11.20 до 30.11.20 -это был длинный хакатон. На него мы уже шли командой из 3х человек. Владимир @vovaekb90, Даниил @sicutglacies и я. Мы выбрали трек - Разработка модели машинного обучения, позволяющей спрогнозировать нагрузки на энергосеть с целью выявления оптимальных режимов потребления электроэнергии офисного здания в условиях пандемии COVID-19. Задача была достаточно интересной и реальной с точки зрения бизнеса. Нам дали данные со счетчиков за несколько лет, данные о погоде. Каждая команда могла добавлять любые данные для повышения результата. Соревнование было поделено на 2 этапа. В первом этапе нужно было создать модель и ответить на вопросы теста. Тест был создан из очень не простых вопросов, которые требовали понимания сути данных и взаимосвязей переменных. Во второй этап из 16 команд прошло где-то 8 команд. Наша команда прошла во второй этап. Мы выбрали не самый стандартный путь решения задачи, но это было интересный путь. При сдаче задания одним из требований было создание веб интерфейса, нашей команде не хватило навыков именно в этой области. Итог для команды - 4 место. От имени команды хочу сказать большое спасибо организаторам за отличную организацию данного хакатона. Я записал короткое видео на английском с описанием что мы делали на данной задаче.

Смотрите на увеличенной скорости 1.5-2.0, что бы 30 минут пролетели быстрее.

Личные выводы после этих хакатонов

Команда распадается, члены команды пропадают, вы остаетесь один с задачей все нормально. Просто относитесь к этому спокойно.

Не нервничайте, когда команды соперники представляют свои решения. Вы и команда сделали все возможное и какое вы займете место еще не ясно.

Какая бы ни была ситуация вы обязаны верить в себя. Часто это нужно делать через силу, но все равно нужно, даже если команда не заняла желаемое место.

Принимайте участие в хакатонах. Вы сильно удивитесь, узнав на что вы способны, если идете до конца и прилагаете все усилия. Место или призы тут далеко не главное. Вы сможете больше узнать о себе, а также о своих слабых и сильных сторонах. Самое важное стать лучше в следующий раз, решая уже другую задачу.

Спасибо что дочитали до конца.Всем успехов в Новом 2021 году. Продолжение следует ...

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru