Я прошел курс Джеффа Хинтона по нейронным сетям на Coursera, а также познакомился с ограниченными машинами Больцмана , все еще не понимая интуицию, лежащую в основе УОКР.
Зачем нам нужно вычислять энергию в этой машине? И какая польза от вероятности в этой машине? Я также видел это видео . В видео он просто написал уравнения вероятности и энергии перед этапами вычисления и, похоже, нигде не использовал его.
Помимо вышесказанного, я не уверен, для чего предназначена функция правдоподобия?
unsupervised-learning
rbm
Born2Code
источник
источник
Ответы:
RBM - интересный зверь. Чтобы ответить на ваш вопрос и оставить в памяти мою память, я выведу УОР и расскажу о выводе. Вы упомянули, что вы запутались в вероятности, поэтому мой вывод будет с точки зрения попытки максимизировать вероятность. Итак, начнем.
RBM содержат два разных набора нейронов, видимых и скрытых, я буду обозначать их и соответственно. Учитывая конкретную конфигурацию и , мы отображаем это пространство вероятностей.v h v h
Есть еще пара вещей, которые нужно определить. Суррогатная функция, которую мы используем для отображения из конкретной конфигурации в пространство вероятностей, называется энергетической функцией . Константа - это нормализующий фактор, который гарантирует, что мы на самом деле отобразим пространство вероятностей. Теперь давайте перейдем к тому, что мы действительно ищем; вероятность набора видимых нейронов, другими словами, вероятность наших данных.E(v,h) Z
Хотя в этом уравнении много терминов, все сводится к написанию правильных уравнений вероятности. Будем надеяться, что до сих пор, это помогло вам понять , почему нам нужна функция энергии , чтобы вычислить вероятность того , или то , что делается чаще ненормированного вероятности . Ненормализованная вероятность используется, потому что функция разделения очень дорога для вычисления.p(v)∗Z Z
Теперь давайте перейдем к фактическому этапу обучения УКР. Чтобы максимизировать вероятность, для каждой точки данных мы должны сделать шаг градиента, чтобы сделать . Чтобы получить выражения градиента, нужна математическая акробатика. Первое, что мы делаем, это берем журнал . Теперь мы будем работать в логарифмическом вероятностном пространстве, чтобы сделать математику выполнимой.p(v)=1 p(v)
Now I did this on paper and wrote the semi-final equation down as to not waste a lot of space on this site. I recommend you derive these equations yourself. Now I'll write some equations down that will help out in continuing our derivation. Note that:Zp(v,h)=e−E(v,h′) , p(v)=∑h∈Hp(v,h) and that p(h|v)=p(v,h)p(h)
And there we go, we derived maximum likelihood estimation for RBM's, if you want you can write the last two terms via expectation of their respective terms (conditional, and joint probability).
Notes on energy function and stochasticity of neurons.
As you can see above in my derivation, I left the definition of the energy function rather vague. And the reason for doing that is that many different versions of RBM implement various energy functions. The one that Hinton describes in the lecture linked above, and shown by @Laurens-Meeus is:
It might be easier to reason about the gradient terms above via the expectation form.
The expectation of the first term is actually really easy to calculate, and that was the genius behind RBMs. By restricting the connection the conditional expectation simply becomes a forward propagation of the RBM with the visible units clamped. This is the so called wake phase in Boltzmann machines. Now calculating the second term is much harder and usually Monte Carlo methods are utilized to do so. Writing the gradient via average of Monte Carlo runs:
Calculating the first term is not hard, as stated above, therefore Monte-Carlo is done over the second term. Monte Carlo methods use random successive sampling of the distribution, to calculate the expectation (sum or integral). Now this random sampling in classical RBM's is defined as setting a unit to be either 0 or 1 based on its probability stochasticly, in other words, get a random uniform number, if it is less than the neurons probability set it to 1, if it is greater than set it to 0.
источник
В дополнение к существующим ответам, я хотел бы немного поговорить об этой энергетической функции и ее интуиции. Извините, если это немного долго и физически.
Функция энергии описывает так называемую модель Изинга , которая является моделью ферромагнетизма в терминах статистической механики / квантовой механики. В статистической механике мы используем так называемый гамильтонов оператор, чтобы описать энергию квантово-механической системы. И система всегда пытается быть в состоянии с самой низкой энергией.
Теперь модель Изинга в основном описывает взаимодействие между электронами со спиномσК +1 или -1, в присутствии внешнего магнитного поля час , Взаимодействие двух электроновя и J описывается коэффициентом Jя ж , Этот гамильтониан (или энергетическая функция)
Нам нужно использовать конечную физическую величину: энтропию. Как мы знаем из термодинамики, система будет располагаться в состоянии с минимальной энергией, что также соответствует состоянию с максимальной энтропией.
Как представил Шенон в 1946 году, в теории информации энтропияЧАС также может рассматриваться как показатель содержания информации в Икс определяется следующей суммой по всем возможным состояниям Икс :
Наконец , вот где мы возвращаемся к RBM: в основном, мы хотим, чтобы этот RBM кодировал как можно больше информации. Итак, поскольку мы должны максимизировать (теоретико-информационную) энтропию в нашей RBM-системе. Как предложил Хопфилд в 1982 году, мы можем максимизировать теоретико-информационную энтропию точно так же, как физическую энтропию: моделируя RBM, как модель Изинга выше, и используя те же методы, чтобы минимизировать энергию. И именно поэтому нам нужна эта странная энергетическая функция для RBM!
Хороший математический вывод в ответе Армена Агаджаняна показывает все, что нам нужно сделать, чтобы минимизировать энергию, таким образом максимизируя энтропию и сохраняя / сохраняя как можно больше информации в нашей УОКР.
PS: Пожалуйста, дорогие физики, простите любые неточности в выводе этого инженера. Не стесняйтесь комментировать или исправлять неточности (или даже ошибки).
источник
The answer of @Armen has gave myself a lot of insights. One question hasn't been answered however.
The goal is to maximize the probability (or likelihood) of thev . This is correlated to minimizing the energy function related to v and h :
Our variables area , b and W , which have to be trained. I'm quite sure this training will be the ultimate goal of the RBM.
источник
h_bin = (rand() < h_val) ? 1 : 0
- this has to be done for each neuron, and each time you want a sample.h
илиv
- вы выборка вектора двоичных значенийh
или дляv
того, чтобы сгенерировать пример , что сеть «считает» существует - то есть пример , который имеет высокую статистическую вероятность быть представителем из Обучающий набор. Во время тренировки вы определяете, насколько хорошо он соответствует существующему примеру тренировки, и соответствующим образом корректируете вес.