Найти тему
Machine Learning Explained

Как эффективно уменьшить размер сети и оценить уверенность в предсказаниях

​​Есть такой исследователь из Оксфорда - Yarin Gal.

Он занимается Bayesian Deep Learning и с 2016 года является главным организатором Bayesian Deep Learning Workshop на NeurIPS.

Сквозной темой своих исследований он сам называет "понимание эмпирически разработанных техник машинного обучения".

Только с начала этого года появилось десять статей с его участием arxiv. Тем не менее самой цитируемой остается статья "Dropout as a Bayesian Approximation: Representing Model Uncertainty in Deep Learning".

Основной её вывод в том, что dropout можно интерпретировать как байесовскую аппроксимацию широко известной вероятностной модели - гауссовского процесса. Такая интерпретация позволяет получить способ оценивать неопределенность предсказаний нейронной сети.

Как пишут авторы, выходное значения слоя softmax ошибочно интерпретируется как вероятность, но ею не является. Большое значение на выходе softmax не является показателем уверенности модели в результате. Байесовская интерпретация дропаута позволяет такую оценку получить, не жертвуя ни сложностью сети, ни точностью на тестовой выборке.

Старая шутка в тему старой статьи
Старая шутка в тему старой статьи

Недавно также вышла статья, в авторах которой числятся Yarin Gal и Geoffrey Hinton. В ней рассказано о технике, которая позволяет существенно уменьшать размер сети, не сильно теряя в производительности.

Часто на практике используются способы уменьшения размера сети, которые отбрасывают веса, например, учитывая их размер. Они основаны на надежде на то, что размер весов подсети коррелирует с её производительностью. Авторы же предлагают, изначально, натренировать сеть так, чтобы она не теряла в производительности при конкретном способе последующего отбора весов.

Для этого нужно сначала выбрать критерий, на основе которого сеть будет уменьшаться (размер весов, например), и использовать targeted dropout во время обучения. Targeted - то есть такой, который будет в большей степени воздействовать на малые веса, подталкивая сеть уменьшать веса неважных подсетей.

Авторы показывают большую эффективность такого подхода по сравнению с другими техниками, особенно, когда при сильном уменьшении размера. Также пишут, что это займет всего пару строчек в реализации на TensorFlow или PyTorch.

Dropout as a Bayesian Approximation: Representing Model Uncertainty in Deep Learning https://arxiv.org/pdf/1506.02142.pdf

Learning Sparse Networks Using Targeted Dropout https://arxiv.org/pdf/1905.13678.pdf

Мой канал в тг: https://t.me/machine_learning_explained