Недавно официально завершился конкурс HPAIC (Human Protein Atlas Image Classification), организованный Kaggle и спонсируемый Leica Microsystems и NVIDIA. Соревнования длились три месяца, в них приняли участие 2236 команд со всего мира, а золотую медаль конкурса завоевали Научно-исследовательский институт искусственного интеллекта Цзичейн и Инженерная академия.
соревнование окончено
Белки являются «актерами» в клетках человека, выполняя множество функций, которые вместе способствуют жизни. Классификация белков ограничена одним паттерном в одном или нескольких типах клеток, но чтобы полностью понять сложность человеческих клеток, модели должны классифицировать смешанные паттерны в различных клетках человека.
Изображения, визуализирующие белки в клетках, часто используются в биомедицинских исследованиях, и эти клетки могут стать ключом к следующему прорыву в медицине. Однако благодаря достижениям в области высокопроизводительной микроскопии эти изображения генерируются намного быстрее, чем их оценка человеком. Таким образом, потребность в автоматизированном анализе биомедицинских изображений для ускорения понимания человеческих клеток и болезней как никогда высока.
Хотя это биологическое соревнование, его суть заключается в задаче классификации изображений по нескольким меткам в направлении машинного зрения.Участвующие команды также включают в себя множество экспертов конкурса в области машинного зрения и машинного обучения.
анализ данных
Чиновник предоставил нам два типа наборов данных, одна часть представляет собой изображение png 512x512, а другая часть представляет собой изображение TIFF 2048x2048 или 3072x3072, набор данных составляет около 268G, из которых обучающий набор: 31072 x 4, а тестовый набор: 11702 x 4.
Белковая карта состоит из 4-х методов окрашивания (красный, зеленый, синий, желтый), примеры изображений следующие:
Изображение, на котором мы объединяем 4 канала в 3-канальную (RYB) визуализацию, выглядит так:
Всего в этом конкурсе 28 категорий, таких как нуклеоплазма, ядерная мембрана и т. д. Каждое изображение атласа может иметь одну или несколько меток. Статистика количества тегов выглядит следующим образом:
Можно обнаружить, что количество меток сосредоточено в 1-3, но есть еще изображения с 5 метками, что добавляет в игру определенную степень сложности.
С другой стороны, сложность в том, что количество выборок в наборе данных очень неравномерно: в категории с наибольшим количеством изображений 12 885 изображений, а в категории с наименьшим количеством изображений всего 11 изображений, что вызывает большие трудности в на конкурсе Распределение числа проб видно на рис.
В ходе конкурса участники постепенно обнаружили официальный дополнительный набор данных HPAv18 и получили официальную авторизацию, эти наборы данных содержат 105 678 изображений, что значительно расширило количество образцов и оказало нам большую помощь.
экологические ресурсы
Что касается аппаратного обеспечения, мы использовали 4 видеокарты NVIDIA TESLA P100 и использовали pytorch в качестве основы для обучения модели.
предварительная обработка изображений
Изображение HPAv18 несколько отличается от официального изображения.Хотя оно также состоит из 4 методов окрашивания, каждое окрашенное изображение представляет собой изображение RGB вместо официального одноканального изображения, а значения трех каналов RGB сильно различаются. ., мы предварительно обрабатываем эти изображения, берем только один канал для каждого изображения RGB (r_out=r, g_out=g, b_out=b, y_out=b) и масштабируем эти изображения до масштабов 512x512 и 1024x1024.
Для файлов TIFF мы загружали этот набор данных в течение недели, а затем масштабировали все изображения до 1024x1024.
увеличение данных
Методы увеличения, используемые в нашем конкурсе, - это вращение, отражение и сдвиг; поскольку мы не знаем, существует ли связь между несколькими ячейками в изображении, метод увеличения случайной обрезки не используется в соревновании.
Модель
Базовыми моделями, которые мы в итоге использовали, были Inceptionv3, Inceptionv4 и Xception.Мы тестировали VGG, ResNet, ResNext и SeNet на ранней стадии конкурса, но результаты были не очень хорошими, поэтому по окончании конкурса дальнейшее тестирование не проводилось. .
Мы использовали три шкалы 512, 650 и 800, чтобы улучшить понимание изображения сетью. в целом, а проверочный набор использовался для оценки предсказания модели плохо и выбора моделей и соответствующих им параметров. Когда разные модели проходят перекрестную проверку, разные случайные начальные значения используются для разделения проверочного набора и обучающего набора, чтобы изучить как можно больше различных комбинаций образцов.
Результаты 512 для Inceptionv3 и Inceptionv4 не очень хорошие (0,55+ порог общедоступной таблицы лидеров 0,15), поэтому перекрестная проверка не проводится, но базовая модель обучается по шкале 512 и используется для тонкой настройки 650 и 800.
Модификация модели:
1. Количество входных каналов первого слоя свертки изменено с 3 на 4, оставив неизменными другие параметры свертки, чтобы сеть могла справляться с 4-х канальным вводом;
2. Измените последний уровень пула, чтобы он стал глобальным уровнем пула, чтобы гарантировать, что одна и та же сеть может использоваться в разных масштабах;
3. После глобального объединения добавьте слой из 128 полных соединений, а затем подключите слой из 28 полных соединений.
тренироваться
Параметры тренировочного процесса следующие:
loss: MultiLabelSoftMarginLoss
lr: 0,05 (512, предварительное обучение imagenet), 0,01 (650 и 800, предварительное обучение 512);
lrscheduler: steplr(gamma=0.1,step=6)
optimizer: SGD (adam,rms not well)
эпохи: 25, 600 и 800 вообще заканчиваются заранее на 12-20, берите модель с наименьшими потерями
10 folds CV
веса выборки: [1.0, 5.97, 2.89, 5.75, 4.64, 4.27, 5.46, 3.2, 14.48, 14.84, 15.14, 6.92, 6.86, 8.12, 6.32, 19.24, 8.48, 11.93, 7.38, 1.06, 2.0.4 , 10.39, 16.5]
масштаб: 512, 600, 800
независимый порог
Трудно найти подходящий порог для каждой категории, но наличие нескольких порогов является ключом к улучшению оценки, для меня она может быть улучшена примерно на 0,005~0,008. Мы используем проверочный набор для нахождения порога, мы обучаем одну модель восприятия 512, и на проверочный набор приходится 13%. Настройте порог каждого класса для достижения оптимального балла f1, но мы обнаружили, что порог редких категорий, как правило, высок, а общедоступный lb станет хуже, поэтому мы скорректировали только категории с более чем 1000 проверочных наборов, а редкие порог управления категорией равен 0,15. Пройдено. Пороги, найденные этим методом, также действительны для других моделей или ансамблей.
контрольная работа
После соревнования мы повторно отправим модель, обученную в соревновании, для просмотра личных результатов в таблице лидеров и получим следующие результаты:
Во время конкурса мы обнаружили, что 10-кратный ансамбль не обязательно лучше, чем одиночный, поэтому мы выбираем только некоторые фолды для некоторых моделей (выбранных по потерям) в окончательной интеграции.
забрать
Мы используем метод поиска (функции используют 128-мерные признаки inceptionv4 800), чтобы найти изображения, похожие на hpa в тесте, и используем косинусное сходство для измерения, мы нашли много похожих или даже одинаковых изображений и напрямую используем 300 изображений с самым высоким сходство Результат заменяется, и оценка увеличивается на 0,01~0,015 в общедоступной LB, но это не влияет на приватную LB.Официальный также заявил во время конкурса, что некоторые тестовые изображения перекрываются с некоторыми изображениями в HPA, и подсчет баллов больше не производится.
интегрированный
Мы объединяем функции 10-кратной модели inceptionv3, inceptionv4 и xception 800 (сначала l2), чтобы получить новые функции 3840 измерений, и на основе этого мы проектируем 2-уровневую полносвязную сеть для обучения и делаем 10-кратное CV для Процесс обучения с использованием нетолерантных параметров показан на рисунке, и мы взяли параметры с наименьшими потерями. После слияния частный фунт: 0,55150 общественный фунт: 0,62791.
Хотя приведенный выше метод имеет более высокий балл общедоступной LB, при его объединении с результатами других моделей оценка общедоступной LB уменьшается, поэтому мы уменьшаем вес этой модели.
Окончательный результат получается методом взвешенного слияния.Вес устанавливается в соответствии с публичной lb score модели.Вес inceptionv4 800 и inceptionv3 800 самый высокий, а xception 650 самый низкий.В то же время некоторые фолды также используются другие шкалы inceptionv4 и xception.
Сетевая пресса Лэй Фэн:Адрес совпадения,solution