Как совместно выучить две задачи на уровне предсказания?

Я обучил сеть двум разным модальным изображениям. Я передаю данные вместе в одном слое, но после этого это почти две параллельные сети, они не разделяют слой, и две задачи имеют разные наборы меток, поэтому у меня есть два разных уровня потерь и точности (я использую кафе кстати). Я хотел бы изучить эти задачи вместе. Например, предсказание класса задачи 1 должно быть выше при наличии задачи 2, предсказывающей определенную метку класса. Я не хочу присоединяться к ним на уровне функций, но на уровне прогнозирования. Как мне это сделать?


person dusa    schedule 30.03.2017    source источник
comment
См. arxiv.org/abs/1612.07695.   -  person Martin Thoma    schedule 31.03.2017


Ответы (1)


Почему вы не хотите присоединяться к прогнозу на уровне объекта?

Если вы действительно хотите придерживаться своей идеи не присоединяться к каким-либо слоям сети, вы можете применить CRF или SVM поверх общего конвейера прогнозирования, чтобы изучить взаимные корреляции между прогнозами. Для любого другого метода вам нужно будет так или иначе комбинировать функции внутри сети. Однако я настоятельно рекомендую, чтобы вы подумали об этом. Это общая тема глубокого обучения: делать что-то внутри сети лучше, чем делать это снаружи.

Из того, что я узнал, экспериментируя с совместным прогнозированием, вы получите максимальный прирост производительности, если разделите веса между всеми свёрточными слоями сети. Затем вы можете применить независимые fc-слои, а затем регрессию softmax и отдельные функции потерь поверх совместно предсказанных функций. Это позволит сети изучить взаимную корреляцию между функциями, в то же время она сможет делать отдельные прогнозы.

Взгляните на мой документ MultiNet в качестве хорошей отправной точки. Весь наш обучающий код находится на github.

person MarvMind    schedule 31.03.2017
comment
Раньше я использовал совместное обучение путем объединения функций, однако я скептически относился к тому, следует ли мне объединять более поздние функции для этой проблемы, над которой я работаю, или есть ли лучший способ сделать это. - person dusa; 01.04.2017