Введение

Как и было обещано в моем последнем блоге сегодня, я собираюсь обсудить другой тип нейронной сети - ограниченную машину Больцмана (RBM). Это метод машинного обучения без учителя. За УКР стоят пугающие математические формулы. Здесь я пытаюсь дать простое и понятное объяснение УКР без глубокого погружения в математику.

Ограниченная машина Больцмана - это нейронная сеть. Это относится к моделям, основанным на энергии. RBM может быть не очень известным именем, как CNN или RNN, но в последнее время оно приобрело популярность. В конкурсе Netflix Prize компания RBM достигла высочайшего уровня исполнения.

Ограниченная машина Больцмана - это особый тип машины Больцмана. Итак, сначала давайте посмотрим, что такое машина Больцмана.

Что такое машина Больцмана (БМ)?

Машина Больцмана была впервые изобретена в 1985 году Джеффри Хинтоном. Это генеративная неконтролируемая модель. Что же является генеративным? Да, ты прав. Он порождает. Теперь, что он генерирует? Он генерирует новые данные, которых раньше не видел. Он учится на предоставленных входных данных и генерирует выходные данные, основываясь на своем понимании входных данных.

Boltzmann Machine имеет входной слой (видимый снаружи, называемый видимым слоем) и один или несколько скрытых слоев (называемых скрытым слоем ).

Машина Больцмана - это нейронная сеть. У нас есть несколько нейронов на каждом слое. Все нейроны связаны не только с другими нейронами в других слоях, но и с нейронами в том же слое. Подключения двунаправленные. В машине Больцмана все нейроны одинаковы. Нет разницы между входным слоем и нейроном скрытого слоя.

Предположим, у вас есть завод со множеством сложных машин. А вы заботитесь о безопасности рабочих и фабрики. Есть определенные параметры, которые вы регулярно контролируете, такие как наличие дыма, температура, качество воздуха и т. Д. Если все эти параметры находятся в определенном диапазоне, то мы можем считать завод безопасным. Вам нужна система, которая может предупреждать вас, как только происходит какое-либо изменение нормального состояния любого из этих параметров или комбинации параметров. Теперь мы не можем перейти на обучение с учителем в кейсе. Поскольку у нас не будет данных по необычным / опасным состояниям. Мы здесь пытаемся выяснить то, что еще не произошло, но может произойти.

Мы должны иметь возможность определять, когда система переходит в опасное состояние, даже если раньше не видели такого состояния. Это можно сделать, построив модель нормального состояния и заметив, когда новое состояние отличается от нормального. Машина Больцмана может в этом помочь. Он использует обучающие данные в качестве входных и корректирует их веса. Используя входные данные, он узнает, каковы возможные отношения между всеми этими параметрами, как они влияют друг на друга. Это похоже на нормальное состояние любой системы (здесь заводской).

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

Что такое машина Больцмана с ограничениями (RBM)?

RBM - это особый тип машины Больцмана. Они называются «ограниченными», потому что никакие два узла в одной группе не связаны друг с другом, как в оригинальной машине Больцмана.

Как работает УКР?

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

Обучение RBM

Вперед:

Может быть несколько входов. Все входные данные умножаются на веса, а затем добавляются к смещению. Затем результат передается через функцию активации сигмовидной кишки.

Этап реконструкции:

Это похоже на пас вперед, но в противоположном направлении.

h1: вектор скрытого слоя, v0: входной вектор, W: матрица весов, a: вектор смещения скрытого слоя, S: функция активации сигмоида, b: смещение видимого слоя

Разницу (v0-v1) можно рассматривать как ошибку восстановления, которую нам нужно уменьшить на последующих этапах процесса обучения. Веса корректируются на каждой итерации, чтобы минимизировать эту ошибку.

Реконструкция отличается от регрессии или классификации. В Реконструкции он оценивает распределение вероятностей исходного ввода. При классификации или регрессии мы связываем непрерывное / дискретное значение с входом. Итак, при реконструкции мы пытаемся угадать несколько значений одновременно. Это называется генеративным обучением, в отличие от дискриминантного обучения, которое происходит в задаче классификации (сопоставление входных данных с метками / классами).

Давайте теперь углубимся в то, как это уменьшает ошибку на каждом шаге. Предположим, у нас есть два нормальных распределения, одно из входных данных (p (x)) и одно из восстановленных входных данных (q (x)). Разница между этими двумя распределениями - это наша ошибка (в графическом смысле), и наша цель - минимизировать ее. KL-дивергенция (дивергенция Кульбака-Лейблера) измеряет неперекрывающиеся области под двумя графами.

Ограничительные машины Больцмана - это модели, основанные на энергии. Что же такое энергетическая модель?

Поскольку мы знаем, что энергия связана с физикой, почему теперь энергия входит в Deep Learning?

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

E - это энергетическая модель для скрытого вектора h и входного вектора v. Наша цель - минимизировать энергию во время обучения. Выборка Гиббса и контрастная дивергенция используются для обучения УКР.

Выборка Гиббса - это алгоритм Монте-Карло с цепью Маркова для получения последовательности наблюдений, которые приблизительно основаны на заданном многомерном распределении вероятностей. Это используется, когда прямой отбор проб затруднен.

Здесь ввод представлен буквой v, а скрытое значение - h. p (h | v) - это прогноз, когда известны скрытые значения. p (v | h) используется для прогнозирования восстановленных входных значений.

Контрастное расхождение - это приблизительный алгоритм обучения с максимальным правдоподобием. Он используется для аппроксимации графического уклона, представляющего взаимосвязь между весами сети и ее ошибкой, называемого градиентом. Он используется в ситуации, когда мы не можем напрямую оценить функцию или набор вероятностей. Необходима некоторая модель вывода, чтобы аппроксимировать градиент обучения алгоритма и решить, в каком направлении двигаться.

Используя CD, веса обновляются в RBM. Первый градиент (дельта) рассчитывается на основе восстановленных входных данных. Затем к старым весам добавляется дельта, чтобы получить новые веса.

Подробные сведения о уравнениях и способах их вывода см. В Руководстве Джеффри Хинтона по обучению УКР.

Практические примеры

Ниже приведены несколько случаев использования RBM.

· Система рекомендаций: предложения по продуктам Amazon или рекомендации по фильмам Netflix - все это рекомендательные системы. Хорошие рекомендательные системы очень ценны в современном мире.

· Распознавание рукописных цифр: это очень распространенная проблема в наши дни. Он используется в различных приложениях, таких как уголовное доказательство, компьютеризация офиса, проверка чеков, приложения для ввода данных и т. Д.

Преимущества и недостатки RBM

Преимущества:

· Достаточно выразительный, чтобы кодировать любой дистрибутив, и вычислительно эффективен.

· Быстрее, чем традиционная машина Больцмана, из-за ограничений в отношении соединений между узлами.

· Активации скрытого слоя можно использовать в качестве входных данных для других моделей в качестве полезных функций для повышения производительности.

Недостатки:

· Обучение сложнее. Вычислить функцию градиента энергии сложно.

· Алгоритм CD-k (CD-k представляет собой алгоритм CD с k итерациями выборки Гиббса для каждой точки данных), используемый в RBM, не так знаком, как обратное распространение.

Вывод

Подводя итог, можно сказать, что ограниченные машины Больцмана - это двухуровневые нейронные модели без учителя, которые учатся на входном распределении с помощью CD-k. Это используется во многих приложениях реального времени. Со временем в классический RBM было внесено много улучшений. Пример: нечеткий RBM, бесконечный RBM и т. Д.

Я надеюсь, что этот блог помог вам понять и получить представление об этом потрясающем генеративном алгоритме.