Обновить
4
0
Vladimir@imageman

Пользователь

Отправить сообщение

Обучали на "домашнем", запускали уже на сервере. Да и там же у них сразу много потоков на inference (на обучении можно и 1 поток спокойно).
Могли бы еще и про inference чуть подробнее рассказать. Где-то далеко сервер? А как передаете картинку туда? Или это ночами в offline режиме аналитика идёт?

Извините, но по моему мнению то, как написана статья это ужас.

Оговорюсь, что на данный момент фаззинг с генетическим алгоритмом в YADRO официально не применяется, пока мы проводим эксперименты.

Почему прочитав 30% статьи я узнаю, что это эксперименты? А ведь в заголовке самоуверенное "как тестировать продукт на безопасность".

Очень много про работу ГА (кроссовер и мутация и всякое такое). Допустимо (но на мой взгляд избыточно). А вот Фитнес-функция как-то уж больно вяло описана.
Пример вредоносного пакета меня надолго ввел в ступор. Почему таблица 4*4 байтов дает 64 байта?
Поищите в статье такое место: "0xIN 0xYO 0xU0 0x0!" что это за кодировка? У нас Payload текстовый? Или бинарный?

В нашем случае это были метод черного ящика (Black Box)

Хорошо, ближе к концу наши догадки, что использовались "только внешние ответы, логи и прочую информацию, которую система выдает наружу" подтвердились.
Самое главное: посмотрев фитнесс-функции я увидел, что большое внимание уделяется разным ошибкам, которые отображаются в логах(?) -- "invalid (base64|json|xml|protobuf) data" и т.п. Но как нам поможет увеличение числа подобных записей в логах поймать пропущенную стандартными методами системы ошибку? Потому что в случае с ГА именно так и будет происходить - он будет пытаться получить наивысшую оценку score.
Я ведь прав, нам нужно найти такие пакеты, которые вызовут сбой системы (и во время такого сбоя могут как быть в логах какие-то ошибки, так и не быть)?

Для такой статьи я поставил бы минус (говорю как человек, который ГА посвятил очень много времени).

Если не сложно - примерно скажите сколько людей работало над проектом, как долго.
На каких данных шло обучение ("сколько картинок было")?

-- кластеризация

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

тут уместно было бы сразу сказать число fps, разрешение и размер YOLO. Понятно, что работать будет. Ну и, заодно, через какую библиотеку.

Решающее дерево
Одно решающее дерево практически никогда не используют. Смотрят на лес деревьев, а лучше на бутстреп. XGBoost можно сделать модель, которая потом (с некоторыми усилиями) конвертируется в любой стандартный язык программирования (я несколько лет назад пользовался для этого m2cgen - Transform ML models into a native code [Java, C, Python, Go, JavaScript, Visual Basic, C#, R, PowerShell, PHP, Dart, Haskell, Ruby, F#, Rust] with zero dependencies)

В конце нужно добавить отталкивание (а может лучше притягивание) кругов друг от друга.

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

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

а как по чистому металлу делать? Там тогда два компонента обязательно - проводящий "1" и непроводящий "0". Визуально разные по цвету, термо- и химически стойкие с высокой адгезией. Хоть и сложно, но может можно. Но на практике мало отличается от обычного QR-кода (не забываем про толстый слой масла). Мне ударная маркировка больше всего понравилась :-)

Как вариант я бы вообще задумался о методе PCA. К примеру взял 5-7 наиболее подозрительных колонок и сделал 2. Но в разрезе линейной регрессии не знаю насколько полезно. Скорее всего не особо полезно (хотя ГПТ рекомендует отобрать несколько компонент через кросс-валидацию).

# Optimize both metricsoptimal_solution = optimize(accuracy, cost)

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

А вообще статья ни о чём. Предлагаю её на переделку отправить (хоть это и перевод).

Очень повезло ... технолог который смог рассказать принцип работы

А у кого-то язык поворачивается называть технологом человека, который не знает досконально процесс? Такое на производствах часто бывает? Я только встречался с тем, что технолога нет вообще (что грустно) [но у меня очень маленькая выборка].

Скрытый текст

В этом контексте «РКС» скорее всего означает «рабочая кабельная схема» – то есть распечатанная схема подключения (иногда её ещё называют рабочей конструкторской схемой), которую используют для проверки состояния входов и выходов контроллера, а также для оперативной справки при замене или ремонте оборудования.

Если что, то это ответ ЧатГПТ

Тоже пользуюсь иногда, особенно когда что-то старое нужно почитать и натыкаюсь на ошибку "нет файла", "нет страницы" (статьи, программы, инструкции). Зачастую "старыми" оказываются страницы из 2019 года (я уж не говорю про 2009 или 1999). А иногда просто посмотреть что писал хабр 1 апреля лет пять назад.

Не заглядывал в лосс функцию, но хотелось бы узнать что именно вы ставили себе целью. MSE - это хорошо (т.к. она "не придумывает", а пытается честно восстановить что можно). Но MSE визуально прирост даст совсем маленький (коррекция цвета, контраст, незначительное восстановление резкости, может аберрации уменьшит). VGG-19 несколько устарела, но может использоваться (для одного из слагаемых loss) - визуально даёт увеличение качества, но подталкивает нейросеть "делать красиво" (плевать, что придумано). В частности при работе с волосами нейросеть может прорисовать каждый волосок, но он будет не в том месте (и не в том количестве). Одним из способов проконтролировать - посмотреть как нейросеть восстанавливает снимки с мелким текстом.

Мы видим, что точность на тренировке растёт, а точность на тесте стоит на месте - явный признак переобучения. "добавить различный и несложный орнамент" - если есть возможность, то почему бы нет? Должно помочь. Но тут нужно помнить, что чем больше и сложнее нейросеть, тем больше нужно примеров, что бы нейросеть не свалилась в переобучение. Лет 20 назад было эмпирическое правило - на каждую нейронную связь 10 обучающих примеров (это с некоторым запасом).

является явным признаком переобучения

Я понимаю, что сейчас считается немодным менять параметры слоёв (число блоков, число каналов и т.п.). Но в вашем случае это просто напрашивается. Или хотя бы dropout попытаться подобрать. Судя по всему нейросети слишком "жирные". Но начать с аугментации обучающих данных нужно.
Для второго набора данных это особенно актуально.

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

Для типовых, но редких задач инструкции по пунктам самое то (к примеру техническая проверка станка раз в месяц).
Как только мы хотим описать не типовые задачи, инструкция теряет линейность и становится запутанной, а это никуда не годится. Как вариант, сделать 50 типовых инструкций и сделать еще инструкцию как искать инструкции? (ирония и сарказм)

1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Резекне, Латвия, Латвия
Дата рождения
Зарегистрирован
Активность

Специализация

ML разработчик, Инженер по компьютерному зрению
Средний
От 2 500 €
Python