Анализ глубокого обучения с помощью теории информации

глубокое обучение

Автор: Лилиан Венг

Перевод: Лао Ци

Рекомендуемые книги, связанные с этой статьей: "Подготовка данных и проектирование признаков"


Недавно я слушал доклад профессора Нафтали Тишби «Теория информации в глубоком обучении» и нашел его очень интересным. В своем выступлении он объяснил, как можно использовать теорию информации для изучения роста и преобразования глубоких нейронных сетей, и он использовал метод IB (информационное узкое место) для создания новой области для глубоких нейронных сетей (DNN) из-за экспоненциального увеличение количества параметров, что делает традиционные теории обучения неработоспособными в этой области. Другое проницательное наблюдение показывает, что в обучении DNN участвуют две отдельные фазы: сначала сеть обучается адекватно представлять входные данные, сводя к минимуму ошибку обобщения, а затем, сжимая представление входных данных, она учится забывать нерелевантные детали.

Базовые концепты

Цепь Маркова

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

KL-расхождение

Дивергенция KL используется для измерения распределения вероятностейpОтклонение от другого ожидаемого распределения вероятностейqв той мере, в какой он асимметричен.

\begin{aligned}D_{KL}(p \| q) &= \sum_x p(x) \log \frac{p(x)}{q(x)} dx \\  &= - \sum_x p(x)\log q(x) + \sum_x p(x)\log p(x) \\ &= H(P, Q) - H(P)\end{aligned}

когдаp(x) == q(x)час,D_{KL}достигает минимального значения нуля.

взаимная информация

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

\begin{aligned} I(X;Y) &= D_{KL}[p(x,y) \| p(x)p(y)] \\  &= \sum_{x \in X, y \in Y} p(x, y) \log(\frac{p(x, y)}{p(x)p(y)}) \\  &= \sum_{x \in X, y \in Y} p(x, y) \log(\frac{p(x|y)}{p(x)}) \\   &= H(X) - H(X|Y) \\ \end{aligned}

Неравенство обработки данных (DPI)

Для любой цепи Маркова:X \to Y \to Z,У нас естьI(X; Y) \geq I(X; Z).

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

Репараметризационная инвариантность

для двух обратимых функций\phi,\psi, взаимная информация по-прежнему:I(X; Y) = I(\phi(X); \psi(Y)).

Например, если мы настроим веса в одном слое DNN, это не повлияет на взаимную информацию между этим слоем и другим слоем.

Глубокие нейронные сети для цепей Маркова

тренировочные данные изXиYСовместно распределенные выборочные наблюдения, входные переменныеXа веса скрытого слоя являются многомерными случайными величинами. реальная стоимостьYи прогнозируемое значение\hat{Y}является случайной величиной меньшей размерности в категориальной настройке.

Рисунок 1: Структура глубокой нейронной сети, которая содержит меткиY, входной слойX, скрытый слойh_1、…、h_mи прогнозируемое значение\hat{Y}.

Если мы пометим скрытый слой DNN какh_1,h_2,…,h_m, как показано на рисунке 1, каждый слой можно рассматривать как состояние цепи Маркова:h_i \to h_{i+1}. Согласно DPI, мы имеем:

H(X) \geq I(X; h_1) \geq I(X; h_2) \geq \dots \geq I(X; h_m) \geq I(X; \hat{Y}) \\ I(X; Y) \geq I(h_1; Y) \geq I(h_2; Y) \geq \dots \geq I(h_m; Y) \geq I(\hat{Y}; Y)

DNN предназначены для того, чтобы научиться описыватьX, чтобы предсказатьY; в конце концов,Xсжимать, чтобы содержать толькоYрелевантная информация. Тишби описывает этот процесс как «последовательное уточнение соответствующей информации».

Теорема информационной плоскости

DNN, в свою очередь, реализуетXВнутреннее представление , набор скрытых слоев{T_i}. Согласно теореме об информационной плоскости, каждый слой описывается информацией о кодировщике и декодере, кодировщик — это входные данные.Xкодирование, в то время как декодер преобразует информацию в текущем слое в целевой выводY.

Именно, в информационной плоскости:

  • Ось X: образцыT_iСложность определяется взаимной информацией энкодераI(X;T_i)Решение, сложность образца относится к тому, сколько образцов вам нужно для достижения определенного уровня точности и обобщения.
  • Ось Y: точность (ошибка обобщения) по взаимной информации декодераI(T_i;Y)Принять решение.

Рисунок 2: Информация о взаимодействии кодировщика и декодера для 50 скрытых слоев DNN. Разные слои имеют кодировщики разного цвета: зеленый — слой рядом с входом, оранжевый — самый дальний от входа слой. Есть три моментальных снимка: начальная стадия, стадия 400 и стадия 9000.

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

Рисунок 3. Это общий вид рисунка 2. Сжатие было выполнено после того, как ошибка обобщения стала очень малой.

Два этапа оптимизации

Своевременное отслеживание среднего значения и стандартного отклонения весов на каждом уровне также показывает два этапа оптимизации процесса обучения.

Рисунок 4: Норма среднего и стандартного отклонения градиентов веса на каждом слое как функция обучения. В разных слоях используются разные цвета.

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

теория обучения

«Старое» обобщение

Диапазон обобщения, определенный классической теорией обучения, составляет:

\epsilon^2 < \frac{\log|H_\epsilon| + \log{1/\delta}}{2m}
  • \epsilon: разница между ошибкой обучения и ошибкой обобщения. Ошибка обобщения — это мера того, насколько точно алгоритм предсказывает данные, которые ранее не публиковались.
  • H_\epsilon: Допустим, обычно мы предполагаем, что размер\vert H_\epsilon \vert \sim (1/\epsilon)^d.
  • \delta: надежность.
  • m: Количество обучающих выборок.
  • d: Гипотетическая размерность VC.

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

Однако он не подходит для глубокого обучения. Чем больше сеть, тем больше параметров необходимо изучить. При таком ограничении обобщения более крупные сети (более крупныеd) будут иметь худшие оценки. Наша интуиция подсказывает, что более крупные сети обеспечивают лучшую производительность и большую выразительность. Здесь это противоречит интуиции.

"новое" сжатие ввода

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

Сначала положимT_\epsilonкак входная переменнаяXиз\epsilonраздел. Этот раздел сжимает входные данные об однородности меток в небольшие ячейки, каждая из которых может покрывать все входное пространство. Если прогноз выводит двоичные значения, вы можете использовать2^{\vert T_\epsilon \vert}Замените предполагаемую кардинальность\vert H_\epsilon \vert.

|H_\epsilon| \sim 2^{|X|} \to 2^{|T_\epsilon|}

когдаXКогда больше,Xпримерно2^{H(X)}. Размер каждой ячейки, в которой находится ϵ, равен2^{H(X \vert T_\epsilon)}. Таким образом, у нас есть\vert T_\epsilon \vert \sim \frac{2^{H(X)}}{2^{H(X \vert T_\epsilon)}} = 2^{I(T_\epsilon; X)}. Тогда диапазон входного сжатия становится следующим:

\epsilon^2 < \frac{2^{I(T_\epsilon; X)} + \log{1/\delta}}{2m}

Рисунок 5: Черная линия – это оптимально достижимый предел IB. Красная линия соответствует верхней границе искажения IB за пределами выборки при обучении на ограниченном наборе выборок. ΔC — разрыв сложности, а ΔG — пробел обобщения.

Размер сети и обучающие данные

Преимущества большего количества скрытых слоев

Наличие большего количества слоев дает нам вычислительные преимущества и ускоряет процесс обучения для лучшего обобщения.

Рисунок 6: Чем больше скрытых слоев, тем меньше время оптимизации (меньше этапов).

Сжатие с помощью алгоритма стохастической релаксации: согласно уравнению диффузии, время релаксации слоя k связано с величиной сжатия слоя.\Delta S_k: \Delta t_k \sim \exp(\Delta S_k)пропорциональна показателю. мы можем следовать\Delta S_k = I(X; T_k) - I(X; T_{k-1})Сжатие вычислительного слоя. так как\exp(\sum_k \Delta S_k) \geq \sum_k \exp(\Delta S_k), поэтому мы рассчитываем использовать больше скрытых слоев (большиеk), чтобы сократить период обучения в геометрической прогрессии.

Преимущество большего количества обучающих выборок

Для подбора большего количества обучающих данных требуется захват большего количества информации через скрытый слой.По мере увеличения объема обучающих данных взаимная информация декодераI(T;Y)(Помните, это напрямую связано с ошибкой обобщения) поднимается выше, ближе к границам теоретического ИБ. Тишби подчеркивает, что, в отличие от стандартной теории, именно взаимная информация, а не размер слоя или измерение VC, определяет обобщение.

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

Оригинальная ссылка:Лилиан Онг.GitHub.io/theory-log/201…

Найдите общедоступный номер технических вопросов и ответов: класс Лао Ци

Ответ в публичном аккаунте:Лао Ципросмотреть все статьи, книги, курсы.

Если вы считаете, что это выглядит хорошо, ставьте лайк и вперед/сильно>