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

[Перевод] От Шеннона до современного ИИ: применение теории информации в машинном обучении

Главная задача этой статьи — показать связь между теорией информации Шеннона и инструментами, которые можно встретить в современных системах машинного обучения. Здесь мы поговорим об энтропии (entropy) и о приросте информации (information gain), потом перейдём к кросс-энтропии (перекрёстная энтропия, cross-entropy), к KL-дивергенции (дивергенция или расхождение Кульбака–Лейблера, относительная энтропия, KL-divergence), рассмотрим методы, используемые в современных системах генеративного ИИ.

17ee5b683ee8c9326d1c5a478e2b3073.png

Вот наши основные темы:

  • Основополагающая идея Клода Шеннона о количественной оценке информации и о неопределённости (о битах), и о том, почему редкие событие несут больше информации.

  • Переход от энтропии к приросту информации / взаимному обмену информацией (взаимной информации, mutual information), к кросс-энтропии и к KL-дивергенции.

  • Исследование того, как эти идеи проявляются на практике: деревья решения (decision tree), отбор признаков (feature selection), функции потерь классификации (classification losses), вариационные методы (variational methods) и InfoGAN (Information Maximizing Generative Adversarial Network, генеративно-состязательная сеть с максимизацией взаимной информации).

Теория информации
Теория информации

В 1948 году Клод Шеннон опубликовал статью, которая навсегда изменила то, как человечество воспринимает понятие «информация». Созданный им математический аппарат для количественной оценки неопределённости (uncertainty) и неожиданности (surprise) событий лёг в основу решения самых разных задач — от сжатия данных до создания функций потерь, которые используются в наши дни при обучении нейросетевых моделей.

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

Что открыл Шеннон?

Исключительно важное достижение Шеннона заключается в том, что он предложил рассматривать информацию как нечто такое, что поддаётся количественному измерению. До 1948 года при работе с информацией использовался качественный подход: она либо была, либо её не было. Шеннон показал, что информации можно дать количественную оценку с использованием математических инструментов, рассматривая неопределённость и неожиданность событий.

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

Шеннон выразил это взаимоотношение в простой математической формуле: Информация(событие) = - Log(вероятность события).

Когда вероятность события равна 1,0 (полная уверенность) — оно не даёт вообще никакой информации. Когда событие чрезвычайно редко — оно обладает высоким информационным содержанием. Такое вот обратное соотношение количества информации и вероятности возникновения события лежит в основе большинства примеров применения теории информации в машинном обучении.

Связь между количеством информации и вероятностью события
Связь между количеством информации и вероятностью события

На вышеприведённой схеме приведена наглядная демонстрация связи между количеством информации и вероятностью события. Выпадение орла (heads) при подбрасывании монеты (вероятность — 50%) несёт ровно 1 бит информации. Выпадение трёх орлов подряд (вероятность — 12,5%) даёт 3 бита. Очень редкое событие, вероятность которого составляет 0,1%, содержит примерно в 10 раз больше информации, чем подбрасывание монеты. Такое вот логарифмическое отношение помогает объяснить то, почему модели машинного обучения часто испытывают сложности при работе с редкими событиями. Из-за того, что эти события несут в себе так много информации, модели необходимо обработать множество примеров для того чтобы научиться выявлять надёжные закономерности, связанные с такими событиями.

Математическая основа: энтропия

Шеннон расширил свои идеи об информации на целые распределения вероятностей посредством понятия энтропии. Энтропия измеряет ожидаемое количество информации при взятии выборок из распределения вероятностей.

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

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

Подробности об энтропии вы можете найти в материале A Gentle Introduction to Information Entropy. Там имеются полные математические выкладки, пошаговые вычисления и примеры кода на Python. В этом материале приведены рабочие примеры и примеры реализации соответствующих концепций, что называется, «с нуля».

От энтропии к приросту информации

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

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

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

Математические взаимоотношения энтропии, прироста информации и взаимного обмена информацией, а так же — рабочие примеры вычисления соответствующих показателей и Python-код, приведены в материале Information Gain and Mutual Information for Machine Learning. А именно, в этой статье показан пошаговый пример вычислений, которые демонстрируют применение понятия прироста информации при выборе разбиений в деревьях решений.

Кросс-энтропия в роли функции потерь

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

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

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

Кросс-энтропия лежит в основе стандартной функции потерь, используемой в моделях, решающих задачи классификации. Это так из-за того, что она даёт сильные градиенты в том случае, если прогнозы модели, сделанные с высоким уровнем уверенности, неверны, что помогает ускорить обучение модели. Математическая база кросс-энтропии, детали реализации соответствующих вычислений, её связь с теорией информации раскрыты в материале A Gentle Introduction to Cross-Entropy for Machine Learning.

Измерение различий между распределениями: KL-дивергенция

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

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

KL-дивергенция встречается в машинном обучении в таких сферах, как вариационное исчисление (variational inference), генеративные модели, методы регуляризации. Применение KL-дивергенции даёт теоретически обоснованный механизм назначения моделям штрафов в тех случаях, когда модели слишком далеко отклоняются от предпосылочных убеждений или от эталонных распределений.

В материале How to Calculate the KL Divergence for Machine Learning вы можете найти сведения о математических основах KL-дивергенции, о связи этого понятия с кросс-энтропией и энтропией, а так же — примеры реализации соответствующих расчётов. Там вы, кроме того, найдёте сведения о дивергенции Дженсена-Шеннона (Jensen-Shannon divergence) — о понятии, связанном с KL-дивергенцией, и о Python-реализации расчёта соответствующих показателей.

Теория информации в современном ИИ

Современные ИИ-приложения расширяют принципы Шеннона различными замысловатыми способами. Так, модели GAN (Generative Adversarial Network, генеративно-состязательная сеть) используют концепции теории информации для изучения распределений данных, а используемые в них дискриминаторы (discriminator) выполняют информационно-теоретические сравнения реальных и сгенерированных данных.

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

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

Теория информационного узкого места (Information bottleneck theory) даёт ещё один современный вариант применения теории информации. В соответствии с этой теорией нейронные сети обучаются, сжимая входные данные, но при этом сохраняя информацию, имеющую отношение к задаче. Такой взгляд на вещи помогает объяснить то, почему глубокие нейронные сети, несмотря на высокую ёмкость моделей, хорошо обобщают данные.

В материале How to Develop an Information Maximizing GAN (InfoGAN) in Keras вы найдёте пример полной реализации InfoGAN-модели, а так же — подробные разъяснения того, как взаимная информация встраивается в процесс обучения GAN.

Создание собственного набора инструментов из сферы теории информации

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

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

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

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

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

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

Приведённая здесь последовательность применения методов теории информации начинается с измерения неопределённости в данных (энтропия) и идёт к оптимизации моделей (кросс-энтропия). Использование более совершенных методов подразумевает сравнение распределений (KL-дивергенция) и изучение структурных представлений (InfoGAN).

Что дальше?

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

Начните с руководства по энтропии. Это позволит вам сформировать понимание того, что такое информационное содержание, и того, как измеряется неопределённость. Разберитесь с приростом информации и со взаимной информацией для того, чтобы понять принципы отбора признаков и создания деревьев решений. Изучите кросс-энтропию для того, чтобы понимать устройство современных функций потерь, а потом погрузитесь в тему KL-дивергенции, чтобы научиться сравнивать распределения. И наконец — исследуйте особенности применения InfoGAN, чтобы узнать о том, как принципы теории информации применяются в генеративных моделях.

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

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

О, а приходите к нам работать? 🤗 💰

Мы в wunderfund.io занимаемся высокочастотной алготорговлей с 2014 года. Высокочастотная торговля — это непрерывное соревнование лучших программистов и математиков всего мира. Присоединившись к нам, вы станете частью этой увлекательной схватки.

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

Сейчас мы ищем плюсовиков, питонистов, дата-инженеров и мл-рисерчеров.

Источник

Возможности рынка
Логотип Griffin AI
Griffin AI Курс (GAIN)
$0.004023
$0.004023$0.004023
+1.69%
USD
График цены Griffin AI (GAIN) в реальном времени
Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу [email protected] для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.