Машинное обучение и нейронные сети - страница 57

 

Лекция 10.2 — Смеси экспертов



Лекция 10.2 — Смеси экспертов [Нейронные сети для машинного обучения]

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

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

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

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

Архитектура смешанной модели экспертов состоит из нескольких экспертов, менеджера и слоя softmax. Менеджер определяет вероятности выбора каждого эксперта на основе входных данных. Функция ошибок вычисляется с использованием выходных данных экспертов и вероятностей менеджера. Дифференцируя функцию ошибок, можно получить градиенты для обучения экспертов и менеджера. Эксперты с низкими вероятностями для конкретного случая будут иметь малые градиенты, сохраняя свои параметры. Дифференциация по выходным параметрам селекторной сети обеспечивает специализацию на основе вероятности.

Существует более сложная функция стоимости, основанная на смешанных моделях, которая включает прогнозы Гаусса и оценку максимального правдоподобия. Эта функция максимизирует логарифмическую вероятность целевого значения в сочетании с прогнозным распределением экспертов. Цель состоит в том, чтобы минимизировать отрицательную логарифмическую вероятность как функцию стоимости.

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

 

Лекция 10.3 — Идея полного байесовского обучения



Лекция 10.3 — Идея полного байесовского обучения [Нейронные сети для машинного обучения]

В этом видео я расскажу о полном байесовском обучении и о том, как оно работает. При полном байесовском обучении мы стремимся найти полное апостериорное распределение по всем возможным настройкам параметров, а не искать одну оптимальную настройку. Однако вычисление этого распределения требует больших вычислительных ресурсов для сложных моделей, таких как нейронные сети. Получив апостериорное распределение, мы можем делать прогнозы, усредняя прогнозы по различным настройкам параметров, взвешенные по их апостериорным вероятностям. Хотя этот подход требует больших вычислительных ресурсов, он позволяет нам использовать сложные модели даже с ограниченными данными.

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

Пример переобучения включает подгонку полинома пятого порядка к шести точкам данных, что, кажется, идеально соответствует данным. Напротив, прямая линия только с двумя степенями свободы плохо соответствует данным. Однако если мы начнем с разумного априорного полинома пятого порядка и вычислим полное апостериорное распределение, мы получим более расплывчатые, но более разумные прогнозы. Различные модели в рамках апостериорного распределения делают разные прогнозы при заданном входном значении, и в среднем они близко совпадают с прогнозами, сделанными зеленой линией.

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

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

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

 

Лекция 11.1 — Сети Хопфилда



Лекция 11.1 — Сети Хопфилда [Нейронные сети для машинного обучения]

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

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

Чтобы найти минимум энергии, элементы в сети Хопфилда обновляются последовательно, по одному, в случайном порядке. Каждый модуль вычисляет свое состояние на основе конфигурации, которая приводит к наименьшей глобальной энергии. Это последовательное обновление не позволяет единицам принимать одновременные решения, которые могут увеличить энергию и привести к колебаниям. Сети Хопфилда подходят для хранения воспоминаний, поскольку воспоминания соответствуют минимумам энергии в сети. Воспоминания могут быть частичными или поврежденными, и правило принятия решения о двоичном пороге может очистить их и восстановить до полной памяти. Эта адресуемая по содержимому память обеспечивает доступ к сохраненным элементам на основе частичной информации о содержимом.

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

Сети Хопфилда предлагают простой подход к хранению воспоминаний и обладают интересными свойствами, которые делают их ценными для различных приложений.

 

Лекция 10.4 — Использование полного байесовского обучения на практике



Лекция 10.4 — Использование полного байесовского обучения на практике [Нейронные сети для машинного обучения]

В этом видео я объясню, как сделать полное байесовское обучение практичным для больших нейронных сетей с тысячами или даже миллионами весов. Используемый метод представляет собой метод Монте-Карло, который на первый взгляд может показаться странным. Мы используем генератор случайных чисел для исследования пространства весовых векторов случайным образом, но с уклоном в сторону убывания функции стоимости. Если все сделано правильно, этот подход обладает замечательным свойством: он выбирает векторы весов пропорционально их вероятностям в апостериорном распределении. Выбирая большое количество весовых векторов, мы можем получить хорошее приближение к полному байесовскому методу.

По мере увеличения числа параметров количество узлов сетки в пространстве параметров становится экспоненциально большим. Следовательно, создание сетки для более чем нескольких параметров невозможно, когда имеется достаточно данных, чтобы сделать большинство векторов параметров маловероятными. Вместо этого мы можем сосредоточиться на оценке небольшой части точек сетки, которые вносят значительный вклад в прогнозы. Идея, которая делает возможным байесовское обучение, заключается в выборке векторов весов в соответствии с их апостериорными вероятностями. Вместо того, чтобы суммировать все члены уравнения, мы можем выбрать члены из суммы. Каждому вектору весов мы присваиваем вес, равный единице или нулю, в зависимости от того, выбран он или нет. Вероятность выборки соответствует апостериорной вероятности весового вектора, что приводит к правильному ожидаемому значению.

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

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

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

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

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

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

 

Лекция 10.5 — Отсев



Лекция 10.5 — Dropout [Нейронные сети для машинного обучения]

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

Два способа объединения выходных данных нескольких моделей — усреднение их выходных вероятностей или использование среднего геометрического их вероятностей. Распределение веса играет решающую роль в этом методе. Dropout обеспечивает эффективный способ усреднения нейронных сетей, хотя он может работать не так хорошо, как правильный байесовский подход. Во время обучения скрытые блоки случайным образом выпадают с вероятностью 0,5, что приводит к тому, что огромное количество архитектур имеют одинаковые веса. Отсев можно рассматривать как усреднение модели, когда большинство моделей не отбираются, а каждая отобранная модель получает только один обучающий пример. Разделение веса между моделями эффективно упорядочивает их. Во время тестирования используются все скрытые единицы, но их исходящие веса уменьшаются вдвое для вычисления среднего геометрического прогнозов всех возможных моделей. Dropout можно расширить до нескольких скрытых слоев, применив отсев 0,5 в каждом слое. Эта аппроксимация быстрее, чем усреднение отдельных моделей отсева, но обеспечивает хорошую аппроксимацию.

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

Dropout — это мощная техника для обучения и объединения моделей нейронных сетей. Он решает проблему переобучения путем упорядочения моделей за счет распределения веса и случайного исключения скрытых единиц. Создавая различные архитектуры для каждого случая обучения, отсев поощряет специализацию отдельных подразделений и сокращает количество сложных совместных адаптаций. Процесс усреднения выходных вероятностей моделей или использования среднего геометрического обеспечивает ансамблевый эффект, повышая общую производительность сети. Хотя отсев может не обеспечить того же уровня производительности, что и правильный байесовский подход, он предлагает практичную и эффективную альтернативу. При применении к нескольким скрытым слоям отсев можно использовать в каждом слое с вероятностью отсева 0,5. Это приближение, известное как «средняя сеть», эффективно сочетает в себе преимущества отсева с более быстрыми вычислениями. Это особенно полезно, когда вычислительные ресурсы ограничены.

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

Dropout — это практичный и эффективный метод объединения моделей нейронных сетей. Путем случайного исключения скрытых единиц и поощрения поведения отдельных единиц отсев снижает переоснащение и улучшает обобщение. Его простота и эффективность делают его ценным инструментом для обучения глубоких нейронных сетей.

 

Лекция 11.2 — Работа с ложными минимумами



Лекция 11.2 — Работа с ложными минимумами [Нейронные сети для машинного обучения]

В этом видео я расскажу о емкости памяти сетей Хопфилда и о том, как она ограничена ложными воспоминаниями. Ложные воспоминания возникают, когда близлежащие энергетические минимумы объединяются, создавая новый минимум в неправильном месте. Усилия по устранению этих ложных минимумов привели к интересному методу обучения в более сложных системах, чем базовые сети Хопфилда.

Я также коснусь исторического повторного открытия, связанного с увеличением пропускной способности сетей Хопфилда. Физики, пытающиеся увеличить объем своей памяти, наткнулись на процедуру конвергенции персептрона, которая была первоначально разработана после того, как Хопфилд изобрел сети Хопфилда в качестве запоминающих устройств.

Емкость сети Хопфилда с использованием правила хранения Хопфилда для полностью подключенной сети составляет примерно 0,15 n памяти, где n представляет собой количество двоичных пороговых единиц. Эта емкость указывает количество воспоминаний, которые можно хранить без путаницы. Каждая память состоит из случайной конфигурации N блоков, дающих n битов информации. Таким образом, общая информация, хранящаяся в сети Хопфилда, составляет около 0,15N битов в квадрате.

Однако этот метод хранения не использует эффективно биты, необходимые для хранения весов. Если мы проанализируем количество битов, необходимых для хранения весов в компьютере, то оно превысит 0,15N битов в квадрате, демонстрируя, что распределенная память в локальных минимумах энергии неэффективна.

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

Интригующая идея, появившаяся в результате улучшения пропускной способности сетей Хопфилда, — это концепция отучения. Разучивание включает в себя разрешение сети выйти из случайного начального состояния, а затем применение правила хранения, противоположного правилу хранения, для устранения ложных минимумов. Хопфилд, Файнштейн и Палмер продемонстрировали, что разучивание эффективно увеличивает объем памяти, а Крик и Митчисон предположили, что разучивание может происходить во время быстрого сна.

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

Физики приложили усилия для увеличения возможностей сетей Хопфилда, движимые желанием найти связи между знакомыми математическими понятиями и функциями мозга. Элизабет Гарднер предложила более эффективное правило хранения, в котором использовалась бы полная вместимость гирь. Это правило включало многократное повторение обучающего набора и использование процедуры конвергенции персептрона для обучения правильному состоянию каждой единицы.

Этот метод похож на метод псевдовероятности, используемый в статистике, где вы стремитесь правильно получить одно измерение, учитывая значения всех других измерений. Процедура сходимости персептрона с некоторыми корректировками симметричных весов в сетях Хопфилда позволяет более эффективно хранить память.

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

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

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

Включение отучения, предложенное Хопфилдом, Файнштейном и Палмером, обеспечивает средство для удаления ложных минимумов и дальнейшего увеличения объема памяти. Разучивание позволяет разделить объединенные минимумы, обеспечивая лучшее запоминание отдельных воспоминаний.

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

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

Стремление улучшить пропускную способность сетей Хопфилда дало ценную информацию о хранении памяти и процессах обучения. Разработка процедуры конвергенции персептрона, наряду с исследованием отучения, приблизила нас к использованию всего потенциала сетей Хопфилда для эффективного хранения и поиска в памяти.

 

Лекция 11.3 — Сети Хопфилда со скрытыми элементами



Лекция 11.3 — Сети Хопфилда со скрытыми элементами [Нейронные сети для машинного обучения]

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

Сети Хопфилда объединяют две фундаментальные идеи: возможность находить локальные минимумы энергии с помощью симметрично связанных бинарных пороговых единиц и представление о том, что эти локальные минимумы энергии могут соответствовать воспоминаниям. Однако есть альтернативный способ использовать возможность нахождения локальных минимумов. Вместо того чтобы использовать сеть исключительно для хранения данных в памяти, мы можем использовать ее для построения интерпретаций сенсорного ввода. Чтобы проиллюстрировать эту идею, давайте углубимся в детали вывода информации из 2D-линии на изображении о трехмерном мире. Когда мы наблюдаем двухмерную линию, она может исходить из различных трехмерных границ мира. Из-за потери информации о глубине изображения несколько 3D-краев могут привести к одинаковому отображению на сетчатке. Эта двусмысленность возникает из-за того, что нам не хватает знаний о глубине на каждом конце линии.

Чтобы решить эту проблему, мы предполагаем, что прямая 3D-кромка в мире вызывает прямую 2D-линию на изображении. Однако это предположение устраняет две степени свободы, связанные с глубиной на каждом конце трехмерного ребра. Следовательно, целое семейство трехмерных ребер соответствует одной и той же двумерной линии, но мы можем воспринимать только одно из них в каждый момент времени. Теперь давайте рассмотрим пример, который демонстрирует, как мы можем использовать способность находить низкоэнергетические состояния в сети двоичных единиц, чтобы помочь в интерпретации сенсорного ввода. Предположим, у нас есть линейный рисунок, и мы хотим интерпретировать его как трехмерный объект. Для каждой потенциальной 2D-линии мы выделяем соответствующий нейрон. Только несколько нейронов будут активироваться в любом заданном изображении, представляющем существующие линии.

Для построения интерпретаций мы вводим набор трехмерных линейных единиц, по одной для каждого возможного трехмерного ребра. Поскольку каждый блок 2D-линий может соответствовать нескольким 3D-линиям, нам необходимо возбудить все соответствующие 3D-линии, обеспечив при этом конкуренцию между ними, поскольку одновременно должна быть активна только одна 3D-линия. Для этого мы устанавливаем возбуждающие связи от единицы 2D-линии со всеми 3D-линиями-кандидатами, а также тормозные связи, чтобы обеспечить конкуренцию.

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

Кроме того, мы можем использовать обычное явление соединения трехмерных краев под прямым углом. Установив более тесные связи между двумя трехмерными ребрами, которые совпадают по глубине и образуют прямой угол, мы можем указать на их связную связь. Эти соединения, представленные более толстыми зелеными линиями, предоставляют информацию о том, как грани в мире соединяются, и способствуют формированию когерентного трехмерного объекта. Теперь наша сеть содержит знания о расположении краев в мире и о том, как они проецируются для создания линий на изображении. Когда мы загружаем изображение в эту сеть, оно должно генерировать интерпретацию. В случае с изображением, которое я представляю, есть две различные интерпретации, известные как куб Неккера. Сеть будет демонстрировать два минимума энергии, каждый из которых соответствует одной из возможных интерпретаций куба Неккера.

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

Вторая задача еще более сложна: как узнать веса связей между скрытыми единицами, а также между видимыми и скрытыми единицами. Существует ли простой алгоритм обучения для корректировки этих весов, учитывая отсутствие внешнего наблюдателя, направляющего процесс обучения? Наша цель состоит в том, чтобы сеть получала входные данные и конструировала значимые паттерны активности в скрытых единицах, которые представляют разумные интерпретации. Это представляет собой серьезную проблему.

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

Однако есть проблемы, которые необходимо преодолеть. Первая проблема — это проблема поиска, которая включает в себя избегание попадания в плохие локальные энергетические минимумы. Эти минимумы представляют собой субоптимальные интерпретации, и поиск эффективного метода поиска имеет решающее значение. Второй задачей является изучение весов связей между скрытыми единицами и между видимыми и скрытыми единицами. Эта задача осложняется отсутствием руководителя или внешнего руководства. Для корректировки весов необходим подходящий алгоритм обучения, позволяющий сети строить осмысленные интерпретации сенсорного ввода. Важно отметить, что представленный пример, включающий интерпретацию двухмерного линейного рисунка как трехмерного объекта, является аналогией, иллюстрирующей концепцию использования низкоэнергетических состояний для интерпретации. Построение всеобъемлющей модели для обработки более сложных явлений восприятия потребует более сложных подходов.

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

 

Лекция 11.4 — Использование стохастических единиц для улучшения поиска



Лекция 11.4 — Использование стохастических единиц для улучшения поиска [Нейронные сети для машинного обучения]

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

Сеть Хопфилда всегда принимает решения, которые уменьшают энергию. Это затрудняет выход из локального минимума. Если мы попали в ловушку локального минимума, мы не сможем преодолеть энергетический барьер, чтобы достичь лучшего минимума.

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

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

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

Понятие теплового равновесия важно понимать в контексте машин Больцмана. При фиксированной температуре тепловое равновесие относится к установлению распределения вероятностей в стационарное распределение, определяемое функцией энергии. Вероятность конфигурации в тепловом равновесии пропорциональна e в степени минус ее энергия.

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

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

Добавление шума к системам, таким как сети Хопфилда и машины Больцмана, может помочь избежать локальных минимумов и исследовать более благоприятные области. Уровень шума контролируется температурой, и для достижения теплового равновесия доля систем в каждой конфигурации остается постоянной, в то время как отдельные системы продолжают менять свое состояние.

 

Лекция 11.5 — Как машина Больцмана моделирует данные



Лекция 11.5 — Как машина Больцмана моделирует данные [Нейронные сети для машинного обучения]

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

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

Существует несколько практических приложений для моделирования двоичных данных. Например, если у вас есть разные распределения двоичных векторов, вы можете определить, к какому распределению принадлежит новый двоичный вектор. Используя скрытые единицы для моделирования распределения для каждого типа документа, вы можете определить наиболее вероятный класс документа для данного бинарного вектора.

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

Чтобы вычислить апостериорную вероятность того, что конкретное распределение сгенерировало наблюдаемые данные, вы можете использовать теорему Байеса. Учитывая наблюдаемые данные, вероятность того, что они исходят от конкретной модели, представляет собой вероятность того, что модель сгенерирует эти данные, деленную на сумму одного и того же количества для всех моделей.

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

С другой стороны, машина Больцмана — это модель, основанная на энергии, которая не генерирует данные причинно. Вместо этого он определяет все в терминах энергий совместных конфигураций видимых и скрытых единиц. Вероятность совместной конфигурации либо определяется непосредственно в терминах энергии, либо вычисляется процедурно после обновления стохастических бинарных единиц до тех пор, пока не будет достигнуто тепловое равновесие. Энергия совместной конфигурации состоит из членов смещения, видимых и видимых взаимодействий, видимых и скрытых взаимодействий и скрытых и скрытых взаимодействий.

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

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

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

Процесс обучения на машине Больцмана включает корректировку весов и смещений, чтобы улучшить соответствие модели обучающим данным. Этот процесс обучения обычно достигается с помощью алгоритма, называемого контрастной дивергенцией.

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

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

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

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

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

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

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

 

Лекция 12.1 — Машинное обучение Больцмана



Лекция 12.1 — Машинное обучение Больцмана [Нейронные сети для машинного обучения]

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

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

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

Чтобы обучить машину Больцмана, мы повторяем процесс установления стационарного распределения несколько раз без внешнего ввода. Затем мы делаем выборку видимого вектора и повторяем этот процесс несколько раз, чтобы получить выборки из апостериорного распределения.

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

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

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

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

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

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

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

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

Следует отметить один важный аспект: алгоритм машинного обучения Больцмана является формой обучения Хебба. Он следует принципу, предложенному Дональдом Хеббом в 1940-х или 1950-х годах, предполагая, что синапсы в мозге усиливают связи между нейронами на основе их совместной активации. В машине Больцмана положительная фаза увеличивает веса пропорционально произведению единичных действий, наблюдаемых во время представления данных, что напоминает идею Хебба.

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

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

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