Машинне навчання - нейронна мережа; s зниження ваги - перехресна перевірка

Чи існують якісь алгоритми/методи прийняття навченої моделі та зменшення її кількості ваг з якомога меншим негативним ефектом до її остаточної продуктивності?

Скажімо, у мене дуже велика (занадто велика) модель, яка містить X вагових коефіцієнтів, і я хочу зменшити її, щоб мати 0,9 * X вагові коефіцієнти з якомога меншим пошкодженням остаточної продуктивності (або, можливо, навіть найвищого можливого виграшу в деяких випадках ).

Зменшення ваги відбувається або шляхом зміни базової архітектури моделі та видалення шарів, або за рахунок зменшення глибини об’єкта у згаданих шарах. Очевидно, що після зменшення буде потрібно дещо відрегулювати решту ваг.

машинне

2 відповіді 2

Ви можете перевірити:

І нещодавніша стаття на цю тему:

Однак мені не вдалося знайти реалізацію цих двох. Тож вам потрібно буде реалізувати це самостійно.

Прочитавши деякі корисні коментарі та відповіді, я самостійно прочитав цілеспрямоване читання.

Як зазначалося в інших відповідях, цей процес називається Обрізка і, як і багато інших ідей у ​​галузі нейронної мережі, це не нове. З того, що я можу сказати, це бере свій початок у роботі LeCun 1990 року з милою "Оптимальний збиток мозку" (У статті наводяться деякі попередні роботи з мінімізації мережі з кінця 80-х, але я не зайшов так далеко в кролячу нору). Основною ідеєю було наблизити зміну втрат, спричинених видаленням карти об’єктів, та мінімізувати її:

Де C - функція витрат, D - наш набір даних (з х зразків та y міток), а W - ваги моделі (W0 - вихідні ваги). hi - результат, отриманий з параметра i, який може бути як повною картою об'єктів у шарах згортки, так і окремим нейроном у щільних шарах.