Я понимаю, что предварительная подготовка используется, чтобы избежать некоторых проблем с обычным обучением. Если я использую обратное распространение, скажем, с помощью автоматического кодера, я знаю, что у меня возникнут проблемы со временем, потому что обратное распространение идет медленно, а также что я могу застрять в локальном оптимуме и не изучить некоторые функции.
Чего я не понимаю, так это как мы готовим сеть и что конкретно делаем, чтобы подготовить. Например, если бы нам дали стек ограниченных машин Больцмана, как бы мы подготовили эту сеть?
Ответы:
Вы начинаете с тренировки каждого RBM в стеке отдельно, а затем объединяетесь в новую модель, которая может быть дополнительно настроена.
Предположим, у вас есть 3 RBM, вы тренируете RBM1 со своими данными (например, кучей изображений). RBM2 обучен с выходом RBM1. RBM3 обучен с выходом RBM2. Идея состоит в том, что каждая модель RBM имеет характерные для изображений изображения, и веса, которые они изучают при этом, полезны в других дискриминационных задачах, таких как классификация.
источник
Предварительная подготовка штабелированных RBM должна жадно послойно минимизировать определенную энергию, то есть максимизировать вероятность. Г. Хинтон предложил алгоритм CD-k, который можно рассматривать как одну итерацию выборки Гиббса.
источник