Комментарии 13
приятная статья, полезные ссылки, посмотрел по диагонали базовую статью + статью людей из samsung, кое-что стало на место, интересная тематика, такое впечатление что наше восприятие нейросетей само нуждается в калибровке, интересно есть ли работы типа оценки поведения нейросети при помощи другой нейросети?
в конце концов наш мыслительный процесс вероятно в большой степени использует те же нейросети коры головного мозга, правда в определенной степени уже откалиброванные в процессе эволюции и обучения, так что было бы интересно понять как это влияет на нашу оценку и ожидаемое поведение других нейросетей, типа AI который вообще может быть построен с использованием этой модели
В статье, на мой взгляд, неудачное противопоставление "современных" сетей со старым добрым LeNet из которого читатель может сделать вывод что современные сети хуже. В реальности тот же ResNet значительно превосходит LeNet по точности распознавания, а калиброванность зависит от используемых методов и настроек обучения. Если вам нужна хорошо откалиброванная сеть для решения задачи классификации, использование ResNet или другой современной архитектуры гораздо предпочтительнее, а методы обучения калиброванной сети известны. В простейшем случае использование label smoothing может оказаться достаточным.
Спасибо за упоминание проблемы. Тут как с MNIST повелось считать процент попадания в один из классов, так и понеслось. А то, что данные могут быть вообще из другого домена и нужно на самом деле с учетом этого делать оценку правдоподобия, как-то выплескивают вообще :). Заниматься этой проблемой пару лет назад стало более менее мейнстримом в академическом сообществе, но на уровне CV инженеров еще не слишком проблема публична.
Современные нейронные сети достигли уже столь выдающихся результатов
качества предсказаний, что компании начали встраивать их в свои процессы
принятия решений.
Ага, знаем. Когда тебе блокируют банковскую карту после совершенно тривиальной операции, которую ты раньше делал десятки раз на том же компьютере, объяснить техподдержка ничего не может, кроме того, что надо идти в банк и доказывать, что ты не тот верблюд. Практически уверенность предсказания сетей - это то же, что и "нет оснований не доверять сотруднику" - знакомая многим фраза в этой стране.
Ну так тут всё зависит от того, ошибка какого рода для банка дороже: рисковать заблокировать карту невинному вам или рисковать не заблокировать настоящему отмывателю, за которого к ним придут из трехбуквенной конторы. Очевидно, банк сделал свой выбор в рамках бизнес-логики, нейросеть тут не виновата)
Однако этот процесс не дарует сети одной важной способности. Способности говорить «я не знаю». Что будет если в нашу нейронку с кошками и собаками подать иное животное? А если совсем не животное? В лучшем случае мы захотим увидеть предсказанную уверенность близкую к 0.5, однако с современными сетями этого ждать не приходится (распределение мы видели). Сеть просто выберет понравившейся ей класс из «кошка»/«собака» и выдаст приличную вероятность, она ведь уверена.
Мне кажется разумным делать тогда 3 класса «кошка/собака/<не кошка и не собака>» и соотвественно подавать в обучающей выборке варианты когда ни кошек и ни собак не будет.
Так можно делать, но это не лучший подход. Исходя из сильной гипотетической вариативности примеров для класса "остальное" не очень ясно, почему мы в итоге получим желаемое разделение.
Обычно всё-таки данную задачу формулируют как out-of-distribution детекцию и пытаются считать некоторую меру близости к видимой выборке. Из необсуждённых в статье методов для этой задачи можно привести, к примеру, метрические.
Один из способов решения проблемы "уверенности": функция потерь зависит от того, насколько нейросеть уверена в правильности. То есть, чем она более уверена, тем хуже, если результат на самом деле неправильный.
Что такое "LeNet 1998 года"? Если речь о статье
Y. LeCun, L. Bottou, Y. Bengio and P. Haffner: Gradient-Based Learning Applied to Document Recognition, Proceedings of the IEEE, 86(11):2278-2324, November 1998
То там семейство разных моделей, совершенно непонятно о какой именно идёт речь. Если что-то сранивается с чем-то, то нужно точно обозначать, что именно и как оно устроено, иначе модет случится казус. В "LeNet 1998" года не было softmax (там на выходном слое стояли RBF-нейроны), а обучалась она используя MSE, а не кросс-энтропию. Почему это важно, если сравнивать сеть в выходном слое которой все выходы за счёт softmax суммируются в 1.0 и сеть, где они не обязаны это делать, то это одно уже поменяет форму распределения, поэтому делать такое сравнение не очень-то корректно.
Ну и в целом, все маленькое и недообученное имеет всегда более плоское распределение, но это не значит, что оно лучше понимает границы своих возможностей. В общем, опыт выглядит примитивно, он явно не доказывает ничего в таком виде.
Вообще что-то меня в последнее время стали раздражать статьи, где делается примитивный опыт, получается результат, который может иметь тысячу разных причин, но детали, которые могут влиять на результат не обсуждаются, а сразу делаются выводы мирового значения.
Это эксперимент из статьи On Calibration of Modern Neural Networks. У неё 2600 цитирований. Вся суть эксперимента - показать смещённость уверенности современных моделей. Почему вы тут увидели выводы мирового значения я не знаю. По смыслу он схож с подобными в литературе, к примеру со статьёй Optimization with soft Dice can lead to a volumetric bias, где освещается проблема скалиброванности сетей с Dice лоссом.
Тогда в тексте не сделана ссылка на источник, написано "проведем эксперимент", что у читателя оставляет впечатление, что эксперимент вами и проведен. Тогда как должно быть "Chuan Guo с соавторами провел эксперимент" или "Эксперимент, проведенный в [1] показал". В этом случае критика опыта уже будет направлена на авторов оригинальной статьи. То что ссылка есть в конце значения не имеет, так как в списке туча ссылок и вы заставляете читателя фантазировать по поводу того, какая часть статьи откуда взята или как придумана.
Отдельно отмечу, что количество цитирований не должно автоматически возводить статью в ранг объекта для поклонения. Даже у классических статей Хинтона и Лекуна, не все второстепенные результаты воспроизводятся, у современных с этим еще хуже. В статье же о которой идет речь, хоть и указано, что имеется в виду LeNet-5, особых деталей о том, как этот результат получен нет, поэтому вопросы которые я задал остаются. А так как пример играет роль очень вспомогательную, и для предложенного метода не особо важную, то вполне может случится так, что ими не задавались особо ни рецензенты, ни те, кто статью цитировал. Возможно, авторы учли все верно, а возможно и нет. (Последний абзац просьба не воспринимать, ни как критику вашей статьи, а как замечание в целом о том, что число цитирований статьи не может служить аргументом, доказывающим, что в ней каждая строчка верна).
Спасибо за статью. Вы опирались на статью из блога А. Дьяконова?
https://alexanderdyakonov.wordpress.com/2020/03/27/проблема-калибровки-уверенности/
Самоуверенные нейросети