Эта статья была первоначально опубликована Деррик Мвити на Нептун блог Где вы можете найти более глубокие статьи для машинного обучения практикующих.
Представьте, что если бы вы могли получить все советы и трюки, вам нужно забить конкурс Kaggle. Я прошел более 39 конкурсов Kaggle, включая
- Наука данных Bowl 2017 – $ 1 000 000.
- Intel & Mobileodt Cervical Screence – 100 000 долларов
- 2018 Данные Наука Bowl – 100 000 долларов
- Обнаружение корабля Airbus Challenge – $ 60 000.
- Планета: понимание амазонки из космоса – $ 60 000.
- IPTOS 2019 Обнаружение слепоты – $ 50 000.
- Классификация изображения человека белка ATLAS – 37 000 долларов
- Siim-Acr Pneumothorax Сегментация – $ 30 000.
- Инклюзивные изображения Challenge – 25 000 долларов
– И извлечь это знание для вас. Копать.
- Внешние данные
- Предварительная обработка
- Увеличение данных
- Моделирование
- Аппаратные настройки
- Функции потери
- Учебные советы
- Оценка и перекрестная проверка
- Методы ансаммов
- Постобработка
- Использование Узел легкого анализа Гранд Вызов данные, потому что он содержит подробные аннотации от радиологов
- Использование LIDC-IDRI данные, потому что у него были рентгенолог описания каждой опухоли что они нашли
- Использовать Flickr CC, Wikipedia Commons DataSets
- Использовать Набор данных белка человека ATLAS
- Использовать Idrid набор данных
- Кластеризация 3D сегментации С порогом 0,5
- Определите, если есть Существенная разница в поезде/тестовых распределениях этикеток
- Выполните обнаружение BLOB с помощью Разница в методе гауссов (собака) Отказ Использовал реализацию, доступную в виде Skimage.
- Использование Патч-входы для обучения Для того, чтобы сократить время обучения
- Использовать CUDF Для загрузки данных вместо Пандас потому что у него более быстрый читатель
- Убедитесь, что все изображения имеют та же ориентация
- Применить контрастную ограниченную адаптивность Выравнивание гистограммы
- Использовать Opencv за Все общее предпроцессия изображений
- Нанимать Автоматическое активное обучение и добавление ручных аннотаций
- Изменить размер все изображения к тому же разрешению Для того, чтобы применить ту же модель для сканов различных толщин
- Конвертировать изображения сканирования в нормированные 3D numpy массивы
- Применить один Изображение удаление дымки Использование темного канала до
- Преобразовать все данные в Hounsfield Units
- Найти дубликаты изображений, используя Парчавая корреляция на регби
- Сделать этикетки более сбалансированными по Разработка пробоотборника Применить псевдокиривающую к тестированию данных в порядке улучшить оценку
- Масштабировать изображения/маски до 320 × 480
- Выравнивание гистограммы (Clahe) с ядром размером 32 × 32
- Конвертировать DCM к PNG.
- Рассчитать хеш MD5 для каждого изображения Когда есть дубликаты изображений
- Использовать Пакет Albumationations для увеличения
- Применить случайные Вращение на 90 градусов
- Использовать горизонтальные, вертикальные или оба сальто
- Попытка Тяжелые геометрические преобразования : Упругое преобразование, перспективентрансформ, кусочно-аффинные преобразования, Искажение погубия
- Применить Случайные HSV.
- Использование Увыкание потери увеличения Для обобщения для предотвращения потери полезной информации о изображении
- Применить канал перетасовывания
- Сделать Увеличение данных На основании класса частота
- Применить Гауссовский шум
- Использовать Перестановки без потерь 3D-изображений Для увеличения данных
- Вращать случайным углом от 0 до 45 градусов
- Масштаб случайным фактором от 0,8 до 1,2
- Яркость Изменение случайным образом изменяют оттенок, насыщенность и значение Примените к увеличению D4 Контрастность Ограниченная адаптивная гистограмма Выравнивание гистограммы Используйте стратегию расширения аутоааугментации
- Использование A U-Net Основанная архитектура. Принял концепции и применил их к 3D входным тензорам
- Использование автоматического активного обучения и добавления Ручные аннотации
- Внутренняя архитектура Resnet V2 Для обучения функций с различными восприимчивыми полями
- Сиамские сети с состязательной подготовкой
- Resnet50 , Xcecepion , Внесенный респерт , v2 x 5 с плотным (Fc) слоем в качестве конечного слоя
- Использование A Глобальный слой Max-объединение который возвращает вывод фиксированной длины, независимо от размера ввода
- Использование сложенные расширенные оболочки
- Voxelnet.
- Заменить плюс знак в LinkNet Пропустите соединения с Concat и Conv1x1
- Обобщенное среднее объединение
- Керас NASNETLARGE Для обучения модели с нуля с помощью 224x224x3
- Использование 3D CONVNET Чтобы скользить над изображениями
- ImageNet – предварительно обученный Resnet152 Как функциональный экстрактор * Замените окончательные полностью подключенные слои Resnet на 3 полностью подключенными слоями с выпуклом
- Использовать ConsvRose в декодере
- Применение базовой архитектуры VGG
- Реализация C3D Сеть с отрегулированными рецептивными полями и слоем узкой узла 64 единицы на конце сети
- Использование Unet Тип архитектуры с предварительно обученными весами для улучшения конвергенции и производительности двоичной сегментации на 8-битных изображениях RGB входных сигналов
- Linknet Так как это быстро и эффективно память
- Maskrcnn.
- Bn-ineception.
- Быстрая точка R-CNN
- Seresnext.
- Unet и Deeplabv3.
- Быстрее Rcnn
- SENET154.
- Resnet152.
- Nasnet-a-bard
- Efficletnet b4.
- Resnet101.
- Gapnet.
- PNASNET-5 – Большой
- Densenet121.
- Ac-gan.
- XcectionNet (96) (XceceptionNet (299), Влияние V3 (139), MELCECTIONRESNET V2 (299), DENSENET121 (224)
- Albunet (Resnet34) от Тернаузеты
- Спасень
- Resnet50 от SELIM_SEF SPACENET 4.
- SCSEUNET (SERESNEXT50) от SELIM_SEF SPACENET 4.
- На заказ Unet и linknet архитектура
- Fpnetresnet50 (5 складок)
- Fpnetresnet101 (5 складок)
- Fpnetresnet101 (7 складок с разными семенами)
- Panetdilatedresnet34 (4 раза)
- Panteresnet50 (4 сгиба)
- Emanetresnet101 (2 сгиба)
- Ретинанет
- Деформируемый R-FCN
- Деформируемые отношения соотношения
- Использование экземпляра AWS GPU P2.XLARGE с NVIDIA K80 GPU
- Pascal Titan-X GPU
- Использование 8 Titan X GPU
- 6 GPU: 21080TI + 41080
- Сервер с 8 × NVIDIA TESLA P40, 256 ГБ ОЗУ и 28 ядер CPU
- Intel Core I7 5930K, 2 × 1080, 64 ГБ ОЗУ, 2×512 ГБ SSD, 3TB HDD
- GCP 1x P100, 8x CPU, 15 ГБ ОЗУ, SSD или 2x P100, 16x CPU, 30 ГБ ОЗУ NVIDIA TESLA P100 GPU с 16 ГБ ОЗУ
- Intel Core I7 5930K, 2 × 1080, 64 ГБ ОЗУ, 2×512 ГБ SSD, 3TB HDD
- 980ti. GPU, 2600 K CPU и 14 ГБ ОЗУ
- Коэффициент кости потому что он хорошо работает с несбалансированными данными
- Взвешенные потери границы чья цель состоит в том, чтобы уменьшить расстояние между прогнозируемой сегментацией и наземная правда
- MultiLabelsoftMarginloss Это создает критерий, который оптимизирует многоквартирный потерю Multi-Label, на основе максимальной энтропии, между входом и целью
- Сбалансированная крестическая энтропия (BCE) [с потерей логита] (что включает в себя взвешивание положительных и отрицательных примеров определенным коэффициентом
- Ловас который выполняет прямую оптимизацию средней потери перекресткования в нейронных сетях на основе выпуклого расширения подмодулярных потерь Ловас
- FOCALOSS + LOVASZ Получено путем суммирования очаговых и ловащих потерь
- Потеря дуговой маржи который включает в себя поле, чтобы максимизировать разделимость классов лица
- Потеря NPARS Это вычисляет потерю нормы между y_true и y_pred.
- Комбинация BCE и DICE потери функции
- LSEP – Паркий рейтинг, который является гладким везде, и, таким образом, легче оптимизировать
- Центральная потеря Это одновременно изучает центр глубоких особенностей каждого класса и наказывает расстояния между глубокими особенностями и их соответствующими классовыми центрами
- Потеря кольца которые дополняют функции стандартных потерь, такие как Softmax
- Твердый убыток триплета Это поедет сеть в встраивание особенностей того же класса одновременно максимизировать расстояние встраивания в различных классах
- 1 + BCE – Dice который включает в себя вычитание потери на доску и кости, затем добавляя 1
- Двоичная кросс-энтропия – Журнал (Dice), это двоичная кросс-энтропия минус журнал потери кости
- Комбинации до н.э., кости и фокус
- Ловаш потери Эта потеря выполняет прямую оптимизацию средней перекрестной прополей.
- BCE + Dice Потеря – потери получают путем расчета гладких коэффициентов коэффициента кости
- Фокусные потери с гамма 2 Это улучшение к стандартному критерию энтропии
- BCE + Dice + Focal – Это в основном суммация трехсторонних функций
- Активные контурные потери который включает в себя информацию о площади и размере и интегрирует информацию в плотной модели глубокой обучения
- 1024 * BCE (результаты, маски) + BCE (CLS, CLS_TARGET)
- Фокус + каппа – Kappa – это функция потери для многоклассной классификации порядковых данных в глубоком обучении. В этом случае мы суммируем это и очаговые потери
- ArcFaceloss – Аддитивная угловая потери поля для распознавания глубокого лица
- Мягкие кубики, обучаемые только на позитивах – мягкие кости используют прогнозируемые вероятности
- 2.7 * BCE (pred_mask, gt_mask) + 0,9 * dice (pred_mask, gt_mask) + 0,1 * bce (pred_empty, gt_empty) какая нестандартная потеря, используемая Каггелером
- посадка Sweart1Loss () Это создает критерий, который использует квадратный термин, если абсолютный элемент-мудрый погрешность падает ниже 1 и срок L1
- Использование Средняя ошибка в квадрате Объективная функция в сценариях, где кажется, что работает лучше, чем Двоинально-крестная энтропия объективная функция.
- Попробуйте разные оценки обучения
- Попробуйте разные размеры партии
- Использовать SDG с импульсом с планированием ручной ставки
- Слишком много Увеличение уменьшит точность
- Поезд на изображении культуры и предсказать на полных изображениях
- Использование KERAS RepentelronPlateau () к курсу обучения
- Поезд без увеличения до плато затем нанесите мягкое и жесткое увеличение в некоторые эпохи
- Замораживайте все слои, кроме Последнее и использовать 1000 изображений из Этап1 для тюнинга
- Сделать этикетки более сбалансированными по Разработка пробоотборника
- Использование класс осознавать выборку
- Используйте выпадение и увеличение при настройке последнего слоя
- Псевдо маркировка улучшить оценку
- Использовать Адам сокращает LR на плато с терпением 2-4
- Использовать Циклический LR с SGD
- Уменьшить Оценка обучения вторым фактором, если потеря валидации не улучшается для двух последовательных эпох
- Повторить худшая партия из 10 партий
- Поезд с по умолчанию unet
- Перекрытие плиток так что каждый край пиксель покрыт дважды
- Гиперпараметрическая настройка: Уровень обучения на обучении, не максимально максимальном пороге подавления и оценки на вывод
- Удалить Низкая ограничительная коробка С низкой оценкой доверия
- Поезд другой сверточные нейронные сети Затем постройте ансамбль
- Стоп Обучение, когда оценка F1 уменьшается
- Дифференциальный курс обучения с постепенным снижением
- Поезд Anns [в укладке, используя 5 складок] ( https://www.kaggle.com/c/statoil-iceberg-classifier-Challenge/discussion/48207 и 30 повторов
- Отслеживание ваших экспериментов, используя Нептун Отказ
- Сплит на Неоднородная стратифицированная по классу
- Избегать переопределение Применив Перекрестная проверка в то время как тюнинг последний слой
- 10-кратный ансамбль CV для классификации
- Комбинация 5 10 раза CV ансамбли для обнаружения
- Sklearn’s Стратифицированная функция k сгиба
- 5 k складки кросс-проверка
- Состязательный Валидация и взвешивание
- Использовать простые Голосование большинства для ансамбля
- Xgboost на Максимальное злокачественность на 3 уровня зума Z-location и количество странной ткани
- Lightgbm Для моделей С слишком много классы. Это было сделано только для необработанных данных.
- Catboost для Модель второго уровня
- Обучение с 7 функциями для Градиентное усиление классификатора
- Используйте «учебное пособие», чтобы ускорить модель обучения. В этой технике модели сначала обучаются на простых образцах, а затем постепенно переходят к жестким.
- Ансамбль с Resnet50, INCECTIONV3 и INCECTIONRESNETV2
- Метод ансамбля для обнаружения объекта
- Ансамбль Маска RCNN , Йолов3 и Быстрее RCNN Архитектуры n с классификационной сетью – Densenet-121 архитектура
- Применить Тестовое увеличение времени – представление изображения в модель несколько раз с разными случайными преобразованиями и средним прогнозами, которые вы получаете
- Выравнивают прогноз испытаний вероятности вместо того, чтобы только использовать прогнозируемые классы
- Применить Среднее геометрическое к прогнозы
- Перекрытие плиток во время выхода, чтобы каждый край пиксель покрывается, по крайней мере, трижды, потому что unet имеет тенденцию иметь плохие прогнозы вокруг краев.
- Не максимальное подавление и ограничительная коробка усадка
- Почтательная водоснабжение отсоединить объекты в экземплярах сегментации проблемы.
Надеюсь, эта статья дала вам немного фона в подсказки и трюки и трюки и трюки изображений и дала вам некоторые инструменты и рамки, которые вы можете использовать, чтобы начать конкурировать.
Мы покрыты советы по:
- архитектура
- Учебные трюки,
- убытки,
- Предварительная обработка,
- Постобработка
- ансамбл
- Инструменты и рамки. Если вы хотите глубже пойти по глубине кролика, просто следуйте ссылкам и посмотрите, как создаются лучшие модели сегментации изображений.
Счастливый сегментность!
Оригинал: “https://dev.to/jakubczakon/image-segmentation-tips-and-tricks-from-39-kaggle-competitions-l97”