Комментарии 8
Спасибо! Очень интересно. Буду ждать статью про детекцию аномалий. И если есть что-нибудь про шумопонижение.
Интересный подход. А экспериментировали ли вы с triplet loss? Он тоже справляется неплохо с кластеризацией.
Возможно в связке с предложенным вами слоем нечеткой логики позволит улучшить результат?
Triplet loss интересная штука, обязательно повозимся с ней как руки дойдут.
Triplet loss на эмбеддинги накидывать?
На центроиды гауссиан)
Хм... А зачем?)
Вообще мой вопрос относился скорее к ванильному VAE - как отметил комментатор выше: "triplet loss тоже справляется неплохо с кластеризацией." - вот интересно, на что он навешивается.
А по поводу Вашего подхода хотел уточнить кое-что (попробую сформулировать).
Допустим, у меня датасет кошечки/собачки (разметка точная, ошибка разметки <0.001%, дисбаланс классов, скажем, до 1:4), есть разметка на породы как кошечек, так и собачек, причем не полная (как не для всех данных есть разметка, так и не для всех пород), с ошибками, дисбаланс по породам может быть и того сильнее, а также есть разметка на условия съемки (допустим, в помещении / на улице), так же не полная и так же с ошибками, плюс есть корреляция с целевым классом (кошечки чаще в доме, собачки - на улице). Если вопрос формулировать кратко, то в таком сеттинге какие задачи может помочь решить Ваш подход? Например, исправить ошибки разметки, доразметить датасет на условия / породы, выявить породы, которых нет в разметке, распутать условия и метку и т.п.
С ошибками все просто - их должно быть существенно меньше, чем правильно размеченных классов, тогда функция принадлежности будет близорукой, не давать строгую 1 там, где хочется, а где то 0.8, но... Такова цена.
По поводу доразметки - к примеру, вы разметили датасет кошек и собак и среди собак выделили один класс собак - питбули, допустим, десять картинок отметили. После этого запустили кое-как обученную модель нечеткого CVAE, посмотрели, что сработало на новом классе и отметили, что является питбулем, а что не является питбулем. Как правило пары итераций на это дело хватает, чтобы получить приемлемый результат, да и общий размеченный датасет меньше.
Выявление классов, о которых вы ранее не знали - это, к сожалению, не про этот подход. Вы можете сами начать изучать латентное пространство, разбираться что там есть что и замкнете цикл привнесения экспертного знания в модель через разметку ;)
Варим кашу из нечеткой логики и вариационных автоэнкодеров