Вопрос

У меня есть учебный набор, я предоставляю его (рассмотрим данные из обучающего набора) до видимого уровня. Затем следуют нормальный процесс, т.е. положительная фаза-> отрицательная фаза-> Реконструкция весов, существует единицы смещения. Заканчивается ли это здесь или я должен снова итерацию с настоящим видимым значением единицы (процесс следует за несколькими фиксированными итерациями)? Поскольку нигде не указано, будь то с каждыми данными обучающего набора, он снова и снова итерация или с каждыми данными учебного набора.

Это было полезно?

Решение

Когда вы не уверены в том, как что -то (например, RBM) действительно должно быть реализовано, часто полезно смотреть на код других. Сам Г. Хинтон опубликовал матлаб-пипт (здесь), который демонстрирует обучение RBM. Там вы можете видеть, что для каждой мини -партии он делает положительную фазу, затем отрицательную фазу и, наконец, обновляет веса - и это все. И он не перечитывает между видимыми и скрытыми состояниями.

Тем не менее, это не полная правда: для обновлений веса мы должны знать вероятность $ p (v, h) $. Это очень сложно рассчитать, так как она будет содержать сумму по всем возможным состояниям RBM. Существует «математический трюк», называемый выборки Гиббса: он позволяет нам итерации взад и вперед между видимыми и скрытыми единицами для расчета этой вероятности $ p (v, h) $.

Но: чтобы результат был правильным, мы должны итерации навсегда, что на самом деле не практично. Итак, что предложил Хинтон итерацию только на 1 шаг (это $ cd_1 $), поэтому он идет обратно и вперед один раз.

Но вы также можете повторить любое количество раз $ k $, что обозначается $ cd_k $. В то время как для Hinton $ CD_1 $, вы бы сделали

visible --> hidden --> visible

За $ CD_3 $ вы будете повторять от видимого до скрытого и обратного, три раза:

visible --> hidden --> visible --> hidden --> visible --> hidden --> visible

И просто чтобы быть ясным: вы запускаете эту итерацию для каждый Точка данных в учебном наборе. На самом деле, вы обычно делаете так называемые мини-партии, возможно, 10 точек данных, которые вы запускаете одновременно. Затем вы рассчитываете обновление среднего веса из этой партии. Но затем вы делаете эту итерацию снова, и снова, и снова, пока не закончите обучение.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с datascience.stackexchange
scroll top