Однозначно статью писал/переводил человек не из области.
У ИИ для медицины куча проблем, а в РФ, по моему мнению, все пошло вообще не туда.
В медицине автоматизация рутины - лучшее, что может предложить ИИ на данный момент. Реальный профит очевиден, порезали человеко-часы, цена ошибки - минимум. Рай для современного ML.
Любая интерпретация результатов на уровне врача - огромная проблема. Врачи консервативны. Они хотят понимать: почему модель приняла такое решение (задача классификации почти никому не нужна, нужны области принятия решений), она должна быть очень робастной. А врачи ещё и по разному смотрят, корреляция между мнением двух врачей не стремится к 99.999%, имхо около 80%. Врачи держат в голове огромное количество информации довольно слабо поддающееся формализации. Большинство сервисов не дотягивают по объему и качеству своей работы даже до средненького врача. Узко специализированные мало кому нужны, денег на них не заработаешь.
Поэтому в медицине маловероятно будет революция. Повышение производительности за счет автоматизации не более.
Не в обиду автору, но вдруг те, кто когда-то в университете всё это проходил и просто решил освежить в голове по каким-то причинам, оказались тут. Канал на "Душкин объяснит", там всё крайне проще и понятнее. Два видео про функцию правдоподобия и максимальное правдоподобие, на скорости x1.5. Хватит 15 минут, чтобы все понять. Если захочется поболее вникнуть в тонкости, вернетесь сюда)
Это конечно все здорово, но медицинская разметка - это долго и дорого. Сабсеты кажется хорошей идеей, но сколько надо насобирать данных, чтобы получить адекватные доверительные интервалы метрик на этих сабсетах. Про тесты на лик: к сожалению единого идентификатора пациента в России, как и в остальном мире нет. И элементарно одного и того же человека очень сложно отловить, чтобы исключить такой лик. Out-of-Distribution - это просто беда. Я видел маммографию с оцифровщика, под снимком лежала сим-карта. И пользователи не хотят понимать, что этого объекта быть не должно и почему сим-карта воспринимается как образование. Его вывод - ваша система отстой.
Тут же предлагается bounding box для первичной детекции руки разметить, без самих ключевых точек. Это делается максимально быстро в простом VGG Image Annotator или грузится на толоку.
За статью респект, применю ваш в опыт в поиске ключевых точек на рентгенах костей
Из личного опыта MRCNN показывает результаты хуже результаты с другими оптимизаторами. Если классы сбаласированы то Adam справляется на ура. SGD и RMSprop спасают, если какие-то буквы встречаться будут откровенно редко (1к10 и больше). Но опять же с этим можно побороться, если прикрутить взвешенную функцию потерь.
Вы конечно молодцы и задача классная. Но только в общих словах описали pipeline для работы и покидались красивыми словами. Где же хоть какие-то метрики? Какого IoU или Dice добились с Unet? Какова AUC ROC при классификации по категориям?
Так где-то была статья, что тренд в разработке новых моделей изменился. Раньше гнались за размером и новыми рекордами метрик. Теперь гонятся за эффективностью без падения метрик.
Кстати по мне, так нейросетевая регрессия — надстройка над линейной. Так в пределах получения выхода одного нейрона без активации, что мы имеем? <x, w> — скалярное произведение входов на веса. В нейронке туча регрессий, на выходы которых наложена нелинейность активационных функций.
еще забыл, что частенько функции(например InvertImg) работают с 8-битными изображениями. А в медицине, например бывает 12-16 бит. Поэтому вставляешь костыли: конвертируешь сначала до float 0.-255., применяешь аугментацию, а потом до 0.-1.
Я бы еще посоветовал вам при обучении модели попробовать Tversky loss-функцию — это надстройка над Dice ошибкой, только с доп. параметром По факту заставляет сеть штрафовать больше за False Positive или False Negative.
Крыш все-таки гораздо меньше фона и классы сегментации несбалансированы.
Да вполне, спасибо большое.
Еще не понятен один момент. При определении расстояния от точки до плоскости dist(x) в знаменателе норма вектора w. А зачем она там? модуль скалярного произведения |wTx+b| разве не дает нам расстояние? В коде например так и сделано.
Отличная статья. Но много, за раз не осилил. Пришлось возвращаться 3 раза.
А чем вызвана любовь к Keras? Для себя решил, что Keras скорее хороший старт, чем полноценный инструмент. В связи с этим копаюсь и переношу часть проектов в PyTorch.
Однозначно статью писал/переводил человек не из области.
У ИИ для медицины куча проблем, а в РФ, по моему мнению, все пошло вообще не туда.
В медицине автоматизация рутины - лучшее, что может предложить ИИ на данный момент. Реальный профит очевиден, порезали человеко-часы, цена ошибки - минимум. Рай для современного ML.
Любая интерпретация результатов на уровне врача - огромная проблема. Врачи консервативны. Они хотят понимать: почему модель приняла такое решение (задача классификации почти никому не нужна, нужны области принятия решений), она должна быть очень робастной. А врачи ещё и по разному смотрят, корреляция между мнением двух врачей не стремится к 99.999%, имхо около 80%. Врачи держат в голове огромное количество информации довольно слабо поддающееся формализации. Большинство сервисов не дотягивают по объему и качеству своей работы даже до средненького врача. Узко специализированные мало кому нужны, денег на них не заработаешь.
Поэтому в медицине маловероятно будет революция. Повышение производительности за счет автоматизации не более.
Не в обиду автору, но вдруг те, кто когда-то в университете всё это проходил и просто решил освежить в голове по каким-то причинам, оказались тут.
Канал на "Душкин объяснит", там всё крайне проще и понятнее. Два видео про функцию правдоподобия и максимальное правдоподобие, на скорости x1.5.
Хватит 15 минут, чтобы все понять. Если захочется поболее вникнуть в тонкости, вернетесь сюда)
Это конечно все здорово, но медицинская разметка - это долго и дорого.
Сабсеты кажется хорошей идеей, но сколько надо насобирать данных, чтобы получить адекватные доверительные интервалы метрик на этих сабсетах.
Про тесты на лик: к сожалению единого идентификатора пациента в России, как и в остальном мире нет. И элементарно одного и того же человека очень сложно отловить, чтобы исключить такой лик.
Out-of-Distribution - это просто беда. Я видел маммографию с оцифровщика, под снимком лежала сим-карта. И пользователи не хотят понимать, что этого объекта быть не должно и почему сим-карта воспринимается как образование. Его вывод - ваша система отстой.
Тут же предлагается bounding box для первичной детекции руки разметить, без самих ключевых точек. Это делается максимально быстро в простом VGG Image Annotator или грузится на толоку.
За статью респект, применю ваш в опыт в поиске ключевых точек на рентгенах костей
Из личного опыта MRCNN показывает результаты хуже результаты с другими оптимизаторами. Если классы сбаласированы то Adam справляется на ура. SGD и RMSprop спасают, если какие-то буквы встречаться будут откровенно редко (1к10 и больше). Но опять же с этим можно побороться, если прикрутить взвешенную функцию потерь.
В таких вещах датасет может быть ценнее модели)
16 бит в png влезает спокойно, при желании можно даже несколько каналов
Вы конечно молодцы и задача классная. Но только в общих словах описали pipeline для работы и покидались красивыми словами. Где же хоть какие-то метрики? Какого IoU или Dice добились с Unet? Какова AUC ROC при классификации по категориям?
Хорошая статья. Тоже хотел перевести, но меня опередели)
Так где-то была статья, что тренд в разработке новых моделей изменился. Раньше гнались за размером и новыми рекордами метрик. Теперь гонятся за эффективностью без падения метрик.
Кстати по мне, так нейросетевая регрессия — надстройка над линейной. Так в пределах получения выхода одного нейрона без активации, что мы имеем? <x, w> — скалярное произведение входов на веса. В нейронке туча регрессий, на выходы которых наложена нелинейность активационных функций.
За lambda спасибо. Про неё не знал.
albumentations конечно хорош, но инфы по нему не так много. Особенно когда он начнет засыпать ошибками.
Я бы еще посоветовал вам при обучении модели попробовать Tversky loss-функцию — это надстройка над Dice ошибкой, только с доп. параметром По факту заставляет сеть штрафовать больше за False Positive или False Negative.
Крыш все-таки гораздо меньше фона и классы сегментации несбалансированы.
Однако в условиях когерентности вообще не раскрыты индексы t_k, t_m. Там какая-то путаница.
Автор, спасибо за статью. Сам инженер в области антенной техники. Подход с точки зрения векторов однозначно топ.
Да вполне, спасибо большое.
Еще не понятен один момент. При определении расстояния от точки до плоскости dist(x) в знаменателе норма вектора w. А зачем она там? модуль скалярного произведения |wTx+b| разве не дает нам расстояние? В коде например так и сделано.
А чем вызвана любовь к Keras? Для себя решил, что Keras скорее хороший старт, чем полноценный инструмент. В связи с этим копаюсь и переношу часть проектов в PyTorch.